devSin Posted May 19, 2006 Share Posted May 19, 2006 #5 Charm creature - The flags here are weak bit 0 - turn hostile after duration (1); return to previous alignment (0) bit 1 - dire charm (1) text string; normal charm (0) text string bit 2 - turn undead The only requisite for not showing a string is having any other bit set. #12 Damage - The old save for half stuff is actually percentage damage in BG2. This differs from mode 2 (NI term). Mode 2 will set current HP to n% of max HP, whereas 3 will reduce current HP by n% of max HP (e.g., with 100 max HP, 85/2 will set current HP to 85, and 85/3 will set current HP to 15). #22 Luck modifier - There's nothing unknown here. This just modifies the character luck stat (vs. the non-cumulative Luck spell effect). All normal stat modifier types (increment, set, set %) work. The luck stat gives (at least) an equal amount bonus on to hit rolls (won't show up on records sheet, though). #23 Morale mod - This is simply "Cure: Horror." Nothing here will ever change the morale value (in fact, there doesn't appear to be any way at all to modify morale during runtime). This only removes magical fear (i.e., Panic), and doesn't effect non-magical (i.e., morale failure). Read on. #41 Sparkle - The list of available particle colors (why couldn't they have these in the same order as the 2DA?) 0 crash 1 black 2 blue 3 chromatic 4 gold 5 green 6 purple 7 red 8 white 9 ice 10 stone 11 magenta 12 orange 13+ crash #105 Gold bonus - This effect can only ever remove gold, regardless of the timing mode. It also appears unsigned, so negative values will take a *lot* of gold. #106 Set morale failure - This is just the morale break modifier, and works the same as other stat bonuses. Morale break is an unsigned value; the condition for morale failure is morale <= morale break (i.e., the break is the cutoff value). Morale eventually resets to 20 (since this is written to the CRE on save and can't be modified, I don't know if/how it ever resets to the default value from the CRE file). Setting this to a low value will give effective immunity to morale failure (I don't know if morale ever gets to 0; morale is unsigned). #114 Dither - I'd call this one unknown. It doesn't appear to do anything. It really is Dither. #121 VFX - I'd call this one unknown. It doesn't appear to do anything. It really is Visual animation effect. #144 Disable button - There really doesn't appear to be a way to disable bard song or guard. Is this true, or does somebody know how to do it? #147 Learn spell - The field labeled type appears to have no relevance whatsoever. The spell is always learned as the correct spell type. #173 Poison resist mod - You may want to call "Set poison resistance," just to be 100% clear. #178 THAC0 vs. type - 2 corresponds to EA.ids, not Object.ids. I didn't find a single EFF target that uses Object.ids; conveniently, they're all [EA.GENERAL.RACE.CLASS.SPECIFIC.GENDER.ALIGN(MEN?)]. #179 Damage vs. type - as above. #184 Allow impassable - thanks to Avenger, the value for param2 just sets the stat. The only requirement is that it be non-zero (this is likely true of all of the "constant value" effects). If 0, the effect does nothing. If !0, it works. #186 Destroy self - this appears to be used by MoveBetweenAreas() (and probably EscapeAreaMove()). It needs an EFF v2 struct to work; the destination area is stored in the resref, param2 holds the destination orientation, and the destination point in the EFF2 caster x.y. I don't know quite how the engine handles it, but creatures are "carried" with the party (they get inserted into every area visited) until the destination area is visited. If you just stick the effect on somebody, they're no longer drawn on the map, but they still exist in the area. #191 Casting level mod - Excepting that this effect doesn't appear to do anything to the casting level of spells, if param2 is set to 0, the CASTINGLEVELBONUSMAGE stat gets set to 1; if param2 is 1, CASTINGLEVELBONUSCLERIC gets set to 1. #194 Ignore dialogue pause - This works fine. For PCs at least, when dialogue is running, all actions are paused. When dialogue is finished, the characters will resume whatever they were doing. When the stat is > 0 (param2 must be non-zero), characters will continue performing their actions during dialogue (obviously, this only works for non-pausing dialogue). Interjections are especially fun if the target is moving, since the dialogue window will string along (each time you press continue, since it centers on the target's current location). #198 Bounce opcode - This effect actually appears to bounce an entire projectile if the effects list contains the specified opcode. Bounce blindness, if you cast Blindness on somebody, the entire spell gets reflected (not just the opcode). #215 Play 3D effect - If the param2 value is 0, the animation is played over the target but not attached. If param2 is 1, the animation is played over the target and attached. If param2 is 2, the animation is played on the point clicked. The distinction is fairly important. If an AoE spell is cast, 0 will cause the animations to run over each creature at the point of impact. The animation isn't attached, so it will only play on the point (it won't move with the actor; duration and timing mode are ignored). With 1, the effect is the same, but the animation is attached and moves with the actor (duration and timing mode are important). With 2, the animation plays where you click, and only plays once. Contrary to the description, the target doesn't have to be self, but the effects are applied relative to the target (if you allow a saving throw, the animation won't run if the save is successful). If target is self, the animation should always run, but it can fail due to spell level immunity (if the effect power eq immunity level). It's a good way to fake AoE projectiles. #219 AC vs. type - Again, 2 appears to use EA.ids. #234 Contingency - param2 appears to be 2 word values. The first word is the number of spells that can be selected. A value greater than 3 screws things up (it doesn't look like you can ever get more than three). The second word appears to be the type. 0 means chain contingency (you get all 3 target choices), 1 means contingency (only myself is available), 2 is some funky, non-functional sequencer (you don't get any conditions or targets, and the resulting sequencer gives an icon but can't be removed from the spellbook or cast). I swear there was a value here that let spells be picked without decrement (meaning you could load it up with 3 monster summoning or something, even if only one was memorized), but I can't remember what it was. #235 Wing buffet - Both 0 and 1 cause the fidget (there is no "slide north" value), but only if the target tries to move (if the target is stationary, nothing happens until they start to move). 3 didn't appear to do anything. #237 Puppet ID - param1 stores the puppet ID (the master). This value is 0-5 (corresponding to Player1-Player6) or -1. The game doesn't appear to store the master ID for images not created by a PC (if you force the game to save with a non-PC image, the value is -1 and the image will be "detached" on load (e.g., the caster is no longer held)). This effect appears to be the only thing used to determine who gets the icon and caster pause (if you change the ID to 0 in a save and then reload, Player1 will get the icon and be held for the duration). #247 Attack nearest actor - This effect sets BERSERKSTAGE2 (144) to param2. Like all these effects, the only requirement is that param2 be non-zero. #264 Drop items - The check is a bit more specific. If 0, the engine will drop any item. If 1, the engine will only drop an item equipped in a quick weapon slot. #266 Remove protect from spell - Doesn't appear to work. At all. Sorry, Avenger. Works fine. #270 Unpause target - Assuming the target is paused, this effect seems to always work. Both parameters are meaningless. #293 Enable offscreen AI - As far as I know, AI runs offscreen by default. I call this "Set persistent AI" (and call the stat NODEFERAI). #306 Main hand THAC0 bonus - This works fine. Off-hand penalties to the main hand will still be applied, so you may not get exactly +/- param1, but it functions correctly. Link to comment
This topic is now archived and is closed to further replies.