devSin Posted May 24, 2006 Share Posted May 24, 2006 There are no more unknowns. The exact functionality (if any) may not be precisely determined, but the list makes clear what they are all supposed to do. The gaps are either copied effects (hold creature 2, movement rate mod 2, etc.), effects that don't exist (crash), or effect 317. Note that, despite the way I've chosen to represent the items, each effect is its own class (e.g., CGameEffectDamage()), which implements standard methods (beyond the constructor and destructor) as necessary (like ApplyEffect() and Copy(), and also removal methods and additional support methods for complex effects). Some effects are actually CPersistantEffect* (like regeneration, poison, etc.), but I think most also have generic CGameEffect* definitions. 000: CGameEffect->AC 001: CGameEffect->AttackNo 002: CGameEffect->Awaken 003: CGameEffect->Berserk 004: CGameEffect->Calm 005: CGameEffect->Charm 006: CGameEffect->CHR 007: CGameEffect->ColorChange 008: CGameEffect->ColorGlowSolid 009: CGameEffect->ColorGlowPulse 010: CGameEffect->CON 011: CGameEffect->CurePoison 012: CGameEffect->Damage 013: CGameEffect->Death 014: CGameEffect->Defrost 015: CGameEffect->DEX 016: CGameEffect->Haste 017: CGameEffect->Heal 018: CGameEffect->HitPoints 019: CGameEffect->INT 020: CGameEffect->Invisible 021: CGameEffect->Lore 022: CGameEffect->Luck 023: CGameEffect->Morale 024: CGameEffect->Panic 025: CGameEffect->Poison 026: CGameEffect->RemoveCurse 027: CGameEffect->ResistAcid 028: CGameEffect->ResistCold 029: CGameEffect->ResistElectricity 030: CGameEffect->ResistFire 031: CGameEffect->ResistMagic 032: CGameEffect->Resurrect 033: CGameEffect->SaveVsDeath 034: CGameEffect->SaveVsWands 035: CGameEffect->SaveVsPoly 036: CGameEffect->SaveVsBreath 037: CGameEffect->SaveVsSpell 038: CGameEffect->Silence 039: CGameEffect->Sleep 040: CGameEffect->Slow 041: CGameEffect->Sparkle 042: CGameEffect->SpellMemorizationMage 043: CGameEffect->StoneToFlesh 044: CGameEffect->STR 045: CGameEffect->Stun 046: CGameEffect->Unstun 047: CGameEffect->Visible 048: CGameEffect->Vocalize 049: CGameEffect->WIS 050: CGameEffect->SingleColorPulseAll 051: CGameEffect->ColorTintSolid 052: CGameEffect->ColorLightSolid 053: CGameEffect->AnimationChange 054: CGameEffect->Thac0 055: CGameEffect->Slay 056: CGameEffect->AlignmentReversal 057: CGameEffect->AlignmentChange 058: CGameEffect->DispelEffects 059: CGameEffect->SkillStealth 060: CGameEffect->CastingFailure 061: 062: CGameEffect->SpellMemorizationCleric 063: CGameEffect->Infravision 064: CGameEffect->InfravisionOff 065: CGameEffect->Blur 066: CGameEffect->Translucent 067: CGameEffect->Summon 068: CGameEffect->Unsummon 069: CGameEffect->NonDetection 070: CGameEffect->EndNonDetection 071: CGameEffect->SexChange 072: CGameEffect->AIChange 073: CGameEffect->DamageMod 074: CGameEffect->Blindness 075: CGameEffect->CureBlindness 076: CGameEffect->FeebleMindedness 077: CGameEffect->CureFeebleMindedness 078: CGameEffect->Disease 079: CGameEffect->CureDisease 080: CGameEffect->Deafness 081: CGameEffect->CureDeafness 082: CGameEffect->SetAIScript 083: CGameEffect->ImmunityToProjectile 084: CGameEffect->ResistMagicFire 085: CGameEffect->ResistMagicCold 086: CGameEffect->ResistSlashing 087: CGameEffect->ResistCrushing 088: CGameEffect->ResistPiercing 089: CGameEffect->ResistMissile 090: CGameEffect->SkillLockPicking 091: CGameEffect->SkillTraps 092: CGameEffect->SkillPickPocket 093: CGameEffect->Fatigue 094: CGameEffect->Intoxication 095: CGameEffect->SkillTracking 096: CGameEffect->Level 097: CGameEffect->STRExtra 098: CGameEffect->Regeneration 099: CGameEffect->DurationCasting 100: CGameEffect->ProtectionFromCreature 101: CGameEffect->ImmunityToEffect 102: CGameEffect->ImmunityToSpellLevel 103: CGameEffect->Name 104: CGameEffect->XP 105: CGameEffect->Gold 106: CGameEffect->MoraleBreak 107: CGameEffect->Portrait 108: CGameEffect->Reputation 109: CGameEffect->HoldCreature 110: CGameEffect->RetreatFrom 111: CGameEffect->CreateWeapon 112: CGameEffect->DestroyWeapon 113: CGameEffect->EquipWeapon 114: CGameEffect->Dither 115: CGameEffect->DetectAlignment 116: CGameEffect->DispelInvisible 117: CGameEffect->ShowArea 118: CGameEffect->ShowCreatures 119: CGameEffect->MirrorImage 120: CGameEffect->ImmuneToWeapon 121: CGameEffect->VisualAnimationEffect 122: CGameEffect->CreateItem 123: CGameEffect->DestroyItem 124: CGameEffect->Teleport 125: CGameEffect->Knock 126: CGameEffect->MovementRate 127: CGameEffect->RandomSummon 128: CGameEffect->Confusion 129: CGameEffect->Non_CumulativeAid 130: CGameEffect->Non_CumulativeBless 131: CGameEffect->Non_CumulativeChant 132: CGameEffect->Non_CumulativeDrawUponHolyMight 133: CGameEffect->Non_CumulativeLuck 134: CGameEffect->Petrification 135: CGameEffect->Polymorph 136: CGameEffect->ForceVisible 137: CGameEffect->Non_CumulativeChantBad 138: CGameEffect->SetSequence 139: CGameEffect->DisplayString 140: CGameEffect->CastingGlow 141: CGameEffect->VisualSpellHit 142: CGameEffect->PortraitIcon 143: CGameEffect->ReplaceItem 144: CGameEffect->DisableButton 145: CGameEffect->DisableSpellType 146: CGameEffect->CastSpell 147: CGameEffect->LearnSpell 148: CGameEffect->CastSpellPoint 149: CGameEffect->Identify 150: CGameEffect->DetectTraps 151: CGameEffect->ReplaceSelf 152: CGameEffect->PlayMovie 153: CGameEffect->Sanctuary 154: CGameEffect->Entangle 155: CGameEffect->MinorGlobe 156: CGameEffect->ShieldGlobe 157: CGameEffect->WebHold 158: CGameEffect->GreasePool 159: CGameEffect->MirrorImageRun 160: CGameEffect->DispelSanctuary 161: CGameEffect->RemovePanic 162: CGameEffect->RemoveHold 163: CGameEffect->RestoreMovementRate 164: CGameEffect->RemoveIntoxication 165: CGameEffect->PauseCaster 166: CGameEffect->ResistanceToMagic 167: CGameEffect->MissileTHAC0Bonus 168: CGameEffect->DestroySelf 169: CGameEffect->ImmunityToPortraitIcon 170: CGameEffect->DamageVisualEffect 171: CGameEffect->AddInnateAbility 172: CGameEffect->RemoveInnateAbility 173: CGameEffect->ResistanceToPoison 174: CGameEffect->PlaySound 175: CGameEffect->HoldCreatureSpell /* END BG */ 176: 177: CGameEffect->ApplyEffect 178: CGameEffect->SelectiveToHitBonus 179: CGameEffect->SelectiveDamageBonus 180: CGameEffect->RestrictEquipItem 181: CGameEffect->RestrictEquipItemType 182: CGameEffect->ApplyEffectEquipItem 183: CGameEffect->ApplyEffectEquipItemType 184: CGameEffect->SetDoNotJump 185: 186: CGameEffect->JumpToArea 187: CGameEffect->SetLocalVariable 188: CGameEffect->AuraCleansing 189: CGameEffect->MentalSpeed 190: CGameEffect->PhysicalSpeed 191: CGameEffect->CastingLevelBonus /* END TotSC */ 192: CGameEffect->FindFamiliar 193: CGameEffect->SeeInvisible 194: CGameEffect->IgnoreDialogPause 195: CGameEffect->HitPointsOnDeath 196: CGameEffect->FamiliarBlock 197: CGameEffect->BounceProjectile 198: CGameEffect->BounceEffect 199: CGameEffect->BounceLevel 200: CGameEffect->BounceLevelDecrement 201: CGameEffect->ImmunityLevelDecrement 202: CGameEffect->BounceSchool 203: CGameEffect->BounceSecondaryType 204: CGameEffect->ImmunitySchool 205: CGameEffect->ImmunitySecondaryType 206: CGameEffect->ImmunitySpell 207: CGameEffect->BounceSpell 208: CGameEffect->MinHitPoints 209: CGameEffect->PowerWordKill 210: CGameEffect->PowerWordStun 211: CGameEffect->Imprisonment 212: CGameEffect->Freedom 213: CGameEffect->Maze 214: CGameEffect->SecondaryCastList 215: CGameEffect->VisualEffect 216: CGameEffect->LevelDrain 217: CGameEffect->PowerWordSleep 218: CGameEffect->StoneSkins 219: CGameEffect->ProtectionCircle 220: CGameEffect->DispelSchool 221: CGameEffect->DispelSecondaryType 222: CGameEffect->RandomTeleport 223: CGameEffect->ImmunitySchoolDecrement 224: CGameEffect->LevelRestoration 225: CGameEffect->RevealMagic 226: CGameEffect->ImmunitySecondaryTypeDecrement 227: CGameEffect->BounceSchoolDecrement 228: CGameEffect->BounceSecondaryTypeDecrement 229: CGameEffect->DispelSchoolOne 230: CGameEffect->DispelSecondaryTypeOne 231: CGameEffect->TimeStop 232: CGameEffect->ContingencyInstance 233: CGameEffect->Proficiency 234: CGameEffect->ContingencyStart 235: CGameEffect->PushPull 236: CGameEffect->CopySelf 237: CGameEffect->PuppetMaster 238: CGameEffect->Disintegrate 239: CGameEffect->Clairvoyance 240: CGameEffect->RemovePortraitIcon 241: 242: CGameEffect->RemoveConfusion 243: CGameEffect->DrainChargeFromAllItems 244: CGameEffect->RemoveRandomSpell 245: CGameEffect->CheckForBerserk 246: CGameEffect->BerserkStage1 247: CGameEffect->BerserkStage2 248: CGameEffect->MeleeEffect 249: CGameEffect->RangeEffect 250: CGameEffect->DamageLuck 251: CGameEffect->BardSong 252: CGameEffect->SetSnare 253: CGame->AddMapNote 254: CGame->RemoveMapNote 255: 256: CGameEffect->SequencerInstance 257: CGameEffect->SequencerStart 258: CGameEffect->SequencerFire 259: CGameEffect->SpellTrapLevelDecrement 260: 261: CGameEffect->RememorizeSpell 262: CGameEffect->VisualRange 263: CGameEffect->BackStabMod 264: CGameEffect->RandomDrop 265: CGameEffect->SetGlobal 266: CGameEffect->RemoveSpellImmunity 267: CGameEffect->ImmunityToDisplayString 268: CGameEffect->Explore 269: CGameEffect->ScreenShake 270: CGameEffect->UnpauseCaster 271: CGameEffect->SummonDisable 272: CGameEffect->RepeatingApplyEffect 273: CGameEffect->CleanAir 274: CGameEffect->RandomPhase 275: CGameEffect->HideInShadows 276: CGameEffect->DetectIllusion 277: CGameEffect->SetTrap 278: CGameEffect->HitMod 279: CGameEffect->EnableButton 280: CGameEffect->ForceSurge 281: CGameEffect->SurgeMod 282: CGameEffect->ScriptingState 283: CGameEffect->CurseApplyEffect 284: CGameEffect->MeleeTHAC0Bonus 285: CGameEffect->MeleeDamageBonus 286: CGameEffect->MissileDamageBonus 287: CGameEffect->DisableCircle 288: CGameEffect->FistTHAC0Bonus 289: CGameEffect->FistDamageBonus 290: CGameEffect->ClassStringOverride 291: CGameEffect->PreventSpellProtectionEffects 292: CGameEffect->ImmunityToBackstab 293: CGameEffect->PreventAISlowDown 294: CGameEffect->ExistanceDelayOverride 295: CGameEffect->NoPermanentDeath 296: CGameEffect->ImmunityToVisualEffect 297: CGameEffect->ImmunityToTurnUndead /* END SoA */ 298: CGameEffect->JumpToPocketPlane 299: CGameEffect->ChaosShield 300: CGameEffect->NPCBump 301: CGameEffect->CriticalHitBonus 302: CGameEffect->UseAnyItem 303: CGameEffect->Assassination 304: CGameEffect->ResurrectParty 305: CGameEffect->Thac0Left 306: CGameEffect->Thac0Right 307: CGameEffect->Tracking 308: CGameEffect->ImmuneToTracking 309: CGameEffect->SetLocalExternal 310: CGameEffect->ImmunityToTimeStop 311: CGameEffect->Wish 312: CGameEffect->ImmunityToSequester 313: CGameEffect->HighLevelAbility 314: CGameEffect->StoneSkinsGolem 315: CGameEffect->DoNotDraw 316: CGameEffect->Rest 317: CGameEffect->Haste2 /* END ToB */ Creature uninterruptible, indeed! Link to comment
BigRob Posted May 24, 2006 Share Posted May 24, 2006 Congratulations. Now when I come to use all these things I'll know what the hell I'm doing. Link to comment
devSin Posted May 24, 2006 Author Share Posted May 24, 2006 I just want to know how somebody got "creature uninterruptible" from "Immunity to turn undead." C'mon, people, let's just make shit up! It's already known which ones do and don't work for the majority of effects; the rest are ToB or stat modifiers that don't have an immediately apparent effect. I'm hoping that "ExistanceDelayOverride" or "NPCBump" will help people figure out these effects better than "Sound MN" or "formerly thought to remove creature on death." List dedicated to Avenger. EDIT: Yes, I'll likely test at least some of them, now that it's known what they're supposed to do. Link to comment
Avenger Posted May 24, 2006 Share Posted May 24, 2006 Yeah, this list is helpful, i guess you got it from the debug headers of the exe It was a good idea to look for them. Ok, Dither remained Dither, but what is it To separate the oat from the chaff, here is the list of the crashing effects (the rest are duplicate effects) CGameEffect->Crash: 61 (alchemy in iwd2), 260, 312 Hmm you got name for 312, but i think it crashes, always. Link to comment
devSin Posted May 24, 2006 Author Share Posted May 24, 2006 Both dither and visual animation effect are legit, but they have no noticeable effect in-game. It doesn't enable persistent dithering (I though maybe if dithering was disabled and they always wanted an actor dithered), and doesn't change the appearance of anything that I can tell. Visual animation effect is similarly useless. They may be left over from BG or merged in from ID, or just ended up being not worth maintaining (or it's just a low-level effect not really meant to be run from ApplyEffect()). I thought 312 was pretty cool (it should always crash); I have no idea what they could be referring to by "sequester" (maybe something cut from ToB, or immunity to effects that would remove the creature from the map like maze or imprisonment or something). Names for the ToB stat modifiers is the best bit of information; since everything in that list is spot on with what is already known, I imagine the unknowns do exactly what they say (and, if not, likely don't work at all). It's also fun to see how BioWare referred to all the various effects, I guess. Link to comment
Avenger Posted May 24, 2006 Share Posted May 24, 2006 300 NPCBump instead of 'Deactivate Dead Creature' is pretty big difference. And it sounded so 'official'. I have some idea what this could be: sometimes npcs are moving when you bump into them sometimes they don't. Maybe this effect controls it? Link to comment
devSin Posted May 24, 2006 Author Share Posted May 24, 2006 That's what I'm thinking. PCs can push each other out of the way, but NPCs can't do this. So it may allow PCs to push them out of the way, or allow them to push PCs out of the way, or allow them to push other NPCs out of the way. I plan to check this with MoveToObject() (since they'll want to move to the exact object location, they usually just bump together and fidget for awhile as the calling object tries to get to the exact point). Link to comment
Avenger Posted May 24, 2006 Share Posted May 24, 2006 You missed 317, isn't it ImprovedHaste? Hmm, looking into the exe i did not find these strings, so where exactly you got them from? Link to comment
Avenger Posted May 24, 2006 Share Posted May 24, 2006 omg: http://www.ugcs.caltech.edu/~jedwin This stuff seems to be the mirror of the ancestor of iesdp, and this one mentions #186 as AddToArea with correctly decyphered parameters. How this knowledge could get lost? Link to comment
Echon Posted May 24, 2006 Share Posted May 24, 2006 omg: http://www.ugcs.caltech.edu/~jedwin This stuff seems to be the mirror of the ancestor of iesdp, and this one mentions #186 as AddToArea with correctly decyphered parameters. How this knowledge could get lost? <{POST_SNAPBACK}> Heh, I thought this site was common knowledge. I have had it bookmarked for a long time. -Echon Link to comment
devSin Posted May 24, 2006 Author Share Posted May 24, 2006 You missed 317, isn't it ImprovedHaste?Yeah, there was a "Haste2" effect that I dropped (I assumed it was just a special case for Haste type 2), so that may have been it (it wasn't in order, though, so I don't know). Hmm, looking into the exe i did not find these strings, so where exactly you got them from?PEF, the old Mac object file format, is quite a bit different, and eminently readable. This stuff seems to be the mirror of the ancestor of iesdp, and this one mentions #186 as AddToArea with correctly decyphered parameters.I've had a few things from there to check for ages now. Of course, I haven't yet checked any of them. Link to comment
Avenger Posted May 25, 2006 Share Posted May 25, 2006 Is there a similar list available for pst/iwd/iwd2 ? It would be highly educational. Link to comment
devSin Posted May 25, 2006 Author Share Posted May 25, 2006 There's only a Mac version of ID (no HoW, P:T, or ID2). I can get the opcode list eventually, but I'll have to install ID, so it may be awhile. I've updated the list to show the cutoff for TotSC (the list is identical; TotSC ends with 191). I'll try to get the cutoff for BG and SoA when I get around to it. Link to comment
Galactygon Posted May 25, 2006 Share Posted May 25, 2006 From what I recall, opcode 101 doesn't protect from opcodes embedded in .eff files. Could someone confirm this to be (un)true? -Galactygon Link to comment
devSin Posted May 25, 2006 Author Share Posted May 25, 2006 From what I recall, opcode 101 doesn't protect from opcodes embedded in .eff files.This is false. There's only a Mac version of ID (no HoW, P:T, or ID2). I can get the opcode list eventually, but I'll have to install ID, so it may be awhile.Unfortunately, ID stores this data differently, so there will be no list (either that or they rewrote large chunks of IE in C). Sorry. I went ahead and updated the list for BG and SoA. BG may actually contain #176; I'd have to test to see, and I won't be doing that. Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.