Jump to content

Andre Pang

Members
  • Posts

    3
  • Joined

  • Last visited

Everything posted by Andre Pang

  1. Getting slightly back out of binaryville, has anybody done some work on adding the Genasi races into the original campaign? I've been meaning to do some work on them (along with a couple of the other Forgotten Realms races, like Orogs and Fey'ri), but was kinda being lazy and hoping that somebody else had done the work for me ;-). If not, I'm happy to get hacking. (Oddly enough, I did hack up a half-erinyes race for NWN1; I never expected others to have the same tastes as moi. They're just so much more interesting than Succubi.)
  2. Uh, very sorry, you're correct Diamond. That was a rather embarassing mistake ). (I'd been so far in binary land that I was thinking "Hmm, 9 alignments; you can squeeze 9 into 5 bits!")
  3. Hi Maria, I think I've figured out the alignment restriction flags. Assuming your examples are correct, the breakdown I did of the alignment bits seem right to me. From high-order to low-order, the AlignRestrict bits seem to be: 0x10 = Evil 0x08 = Good 0x04 = Chaotic 0x02 = Lawful 0x01 = Neutral (affected by the AlignRestrictType flag, see below). Note: Those are alignment restrictions. i.e. If you set the AlignRestrict field to be 0x10, that means you cannot select evil characters, so you can only choose neutral or good characters. 0x01 (Neutral) is a bit more complex. That's affected by the AlignRestrictType flags. If you don't care about restricting neutrality in any way, I believe the AlignRestrictType flag serves no purpose. If the Neutral bit is set, here's how the AlignRestrictType flag affects it: 0x02 = Restricts LN, N, CN 0x01 = Restricts NG, N, NE You can also set the AlignRestrictType flag to 0x03, in which case it will affect both axes as you expect; i.e. it will restrict NG, LN, N, CN, NE. It's easiest to visualise this as the standard 3x3 alignment grid: LG NG CG LN N CN LE NE CE Setting any AlignRestrict bit will then restrict an entire horizontal or vertical row of the grid: 0x10 = Evil (invalidates bottom row) 0x08 = Good (invalidates top row) 0x04 = Chaotic (invalidates right column) 0x02 = Lawful (invalidates left column) 0x01/0x01 = Neutral/Restrict Good+Evil (invalidates middle column) 0x01/0x02 = Neutral/Restrict Lawful+Chaotic (invalidates middle row) 0x01/0x03 = Neutral/Restrict G+E+L+C (invalidates middle column and middle row) I've whipped up a Google Spreadsheets document to try to make things easier: Alignment Bits on Google Spreadsheets The sorta dumb thing is that the alignment bitfield actually uses 8 bits right now: (1) evil, (2) good, (3) chaotic, (4) lawful, (5) neutral, (6) neutral restrict LC, (7) neutral restrict GE, ( invert. Since there's only 9 possible alignments, it would be far simpler and take less space to just use 5 bits to store the information, with each bit being a boolean flag for each of the LG/NG/CG/LN/N/CN/LE/NE/CE alignments ). I'm a little puzzled as to why Obsidian/BioWare chose this 8-bit encoding for restricting alignments. Note: in four of your examples (non-evil = 0x10, any chaotic or evil = 0x14, non-good = 0x08, and non-lawful = 0x02), the AlignRestrictType shouldn't have any effect, even though they're set to different values in all four of those cases. Perhaps the game engine requires the AlignRestrictType to be non-zero, or I've interpreted it slightly wrongly. Hope that's slightly useful for someone... now, back to procrastinating to see if I can get these pesky Genasi races enabled... -- % Andre Pang : trust.in.love.to.save <http://www.algorithm.com.au/>
×
×
  • Create New...