This is, first and foremost, a conversion of DAR (Demux's Alternate Races) to the newest version of letoscript, 23 beta 5. For those unfamiliar with DAR, it is the (once) widely popular subrace system, whose defining characteristic is that it allows "real", stackable stat changes, and is easily expandable. This, naturally, requires you to turn off Enforce Legal Characters in NWServer. It was, in my opinion, far and away the best subrace system out there, and really the only useful option for uber action servers (since you hit the +12 bonus cap sooner or later, other system's "bonuses" became a net wash). Since it's release, its glory has somewhat diminished, since 1.65 disallowed players from having spell-like abilities, and 1.66 took away the natural armor class field from PCs. Still, I felt it represented the best option for my PW. There was, however, a problem - it only worked if 1) you purged your servervault, or 2) you batchedited all the characters in your servervault. Neither of those was a palatable option for me at the time, so with copious amounts of help from dragonsong, letoscript's creator, I rewrote DAR to work with letoscript's new language, Unicorn. This offers the following advantages:
1) Because it uses the brand-new "Find Newest Bic" function, it is no longer necessary to purge or batch edit your servervault to get DAR to work.
2) You are able to use a more fully developed and supported version of letoscript, and one whose syntax is far more simple than that of it's predecessor.
What was changed:
1) Most of the changes occured in dar_func and dar_leto_func, the scripts containing the letoscript. I commented out the old Phoenix, and replaced it with Unicorn, the new letoscript syntax. All letoscript functions are working at 100% (my goal for this release). You can add feats, stats, etc, and you can implement character self-deletion for your players.
2) I altered the dar_list script. I commented out abilities that no longer function as a result of bioware updates, I altered the race statistics to my liking, and I disabled many subraces. These are all changes which are easy to configure to your taste.
NOTE: One important change here was the change to subrace names. Some players had already chosen subrace names like "drow" in my PW, and this caused problems for the system, so I selected name syntaxes that no one would've used, like "Elf - Drow".
3) I upgraded the SNE (supernatural effect) section. Although this is not directly related to letoscript, the sne's in dar were extremely buggy, dispelling when they shouldn't and disappearing on death. I added Extraordinary Effect to them so they would not dispell. As for them disappearing on death, you will have to reapply the effects in your ressurection/raise dead/ etc scripts if you want to have them act as realistic subrace characteristsics (you could simply delete them from dar_list instead, and be done with them). These abilities were not the reason I wanted DAR for my world, so I didn't place too much emphasis on them.
4) NOTE: I altered the way character self-deletion works, out of necessity. The old method was to have a character drink a potion. He would then be booted and his file deleted. This worked fine in empty-server playtests, but in the PW the wrong characters were getting deleted. This is because the new system uses FindNewestBic, and attempts to save the character just before deleting him to ensure that that bic is the newest. On the server, the save command wasn't completing in time, so I got rid of the potions and put the deletion functionality in a conversation, where the character is saved in step one and deleted several steps later at the conclusion. A sample mod is included with the erf to demonstrate.
5) NOTE: You will have to change the servervault path in the GetBicPath function, rather than changing it in dar_config. Just changing it in dar_config will not work as I overwrote the variable in the function in a test and forgot to replace it. It'll be fixed when I release a more polished version.
I hope that this conversion proves useful, but I do not intend to support it extensively. Experienced NWNX-Leto users should have little trrouble making the switch. For those lacking such experiece, I would direct you first to the forums for the respective programs:
NWNX: http://www.nwnx.org/phpBB2/
Letoscript: http://weathersong.infopop.cc/eve/ubb.x
Again, a great portion of the credit here is due to Demux, DAR's creator, and dragonsong, Letoscript's creator. If you want to see this version of DAR in action, head to Higher Ground under Action servers.
Guys, this system is a real mess. I've fixed at least a dozen or so bugs and exploits on my PW, but the code is complex enough that it just isn't worth the time to untangle into a public release. Granted, many of those exploits exist on other subby systems using leto, but I wouldn't knowingly release anything with so many bugs to the public. The only reason that this is still posted here is so that people can use it as a basis for converting/learning the differences between phoenix and unicoen leto syntaxes. That aside, if you decide you want to use it as a codebase yourself, I will answer limited (read: specific) questions about it. I don't check this page often, so your best bet is either to email me at [email protected], or to stop by the leto forums (weathersong) while they are still up.
FS, I was in the process of converting my old subrace system over to Unicorn and stumbled on this. Incidently I wound up using your leto function rewrite as ther was no sense reinventing the wheel. The system I wrote was originally based off of DARv0.1. Back in the day, I did a massive rewrite of most of the mechanics so that I could get racial spell abilities back I implemented some dynamic code to place the spells on a Racial Ability item (either all at once or as the character leveled). I also added the ability to password protect various sub-races (on my mod we were concerned about balance but wanted variety) and finally I implemented the ability to use templates so you could have a Drow/Half-Fiend or a Brownie/Vampire or whatever. I don't know if you've been working on this any further.. But seeing how both of these projects came from the same root (Demux and Dragonsong) I'd like to see if we could blend the two to prevent too much splintering. If your interested I can send you my demo mod... its pretty small. I'll tried to ping you on DS's forums too.
Posted by Jaysyn at 2006-11-21 20:14:34 Voted 10.00 on 11/21/06
This is just what I needed. I wish FS would come back & finish it! _________________________ -=Jaysyn=-
Posted by Jaysyn at 2006-11-21 20:11:33 Voted 10.00 on 11/21/06
This is just what I needed. I wish FS would come back & finish it! _________________________ -=Jaysyn=-
Posted by Jaysyn at 2006-11-18 09:10:22 Voted 10.00 on 11/21/06
D*mn, I just read that bit about GetBicPath, hopefully that will work. _________________________ -=Jaysyn=-
Posted by Jaysyn at 2006-11-18 09:09:27 Voted 10.00 on 11/21/06
D*mn, I just read that bit about GetBicPath, hopefully that will work. _________________________ -=Jaysyn=-
Posted by Jaysyn at 2006-11-18 09:07:48 Voted 10.00 on 11/21/06
The Demo module supplied doesn't work at all. Yes, I've changed the NWN path in DAR_config. _________________________ -=Jaysyn=-
When I use your scripts and I am logging in as a Subrace charater that was created before implementation of this system, the OnSubraceLeave runs on the last character accessed in the vault, not on the one that has just logged out. Any suggestions?
You must be Logged In to post comments in this section.