PDA

View Full Version : New Spell Effect IDs


AndMetal
09-20-2008, 05:24 AM
Unfortunately, I don't have code to make all of this functional, but I did uncover some new Effect IDs with some notes about what they should do past the 339 currently in the Emu code:

zone/spdat.h (http://eqemulator.cvs.sourceforge.net/eqemulator/EQEmuCVS/Source/zone/spdat.h?view=markup#l_382)

#define SE_CreateLifeshard 340
#define SE_Unknown342 342
#define SE_Unknown343 343
#define SE_Manaburn 350 //base may be a mana limit, but should be 2x mana always + damage modifiers
#define SE_PersistentEffect 351 //for "totems" and traps
#define SE_Unknown352 352 //Test ITC (8755)?
#define SE_Unknown353 353 //Test ISC (8756)?
#define SE_Unknown354 354 //Test DAT (8757)?
#define SE_Unknown355 355 //Test LT (8758)?
#define SE_Unknown358 358 //Mana Draw (12587) & Energy Explosion (16953)
#define SE_EffectOnKill 360 //cast spell (base2) on yourself when you kill something
#define SE_Unknown361 361 //Test Proc 2 (9407), so I assume some sort of proc
#define SE_Unknown365 365 //Test Proc 3 (9427), so I assume some sort of proc. base = 50, base2 = 3329
#define SE_Unknown366 366 //Corr Test 2 (9429), so maybe Corruption DD?
#define SE_BodyTypeMod 367 //gives BodyType of base. see http://www.eqemulator.net/wiki/wikka.php?wakka=BodyTypList
#define SE_FactionMod 368 //base might be faction id (not matching to current db), base2 the modifier (how much + or -)
#define SE_CorruptionCounter 369
#define SE_ResistCorruption 370
#define SE_Unknown371 371 //Magma Burn (11673). Maybe Corruption DoT?


Thanks very little to Lucy :mad: and mad props to deductive reasoning :D

While I'm at it, I would also like to mention there are a few fields in the spells_us.txt (http://www.eqemulator.net/wiki/wikka.php?wakka=SpellsUsTxt) file that are no longer unknown. I thought I posted them somewhere else, but I think it was just npc_category & npc_usefulness. Anyways:

/* 123 */ int16 SpellAffectIndex;
/* 124 */ int spacing124[2];
/* 126 */ sint8 deities[16];
/* 142 */ int spacing142[2];
/* 144 */ uint16 new_icon;
/* 145 */ sint16 spellanim;
/* 146 */ sint8 uninterruptable;
/* 147 */ sint16 ResistDiff;
/* 148 */ int dot_stacking_exempt;
/* 149 */ int deletable;
/* 150 */ int16 RecourseLink;
/* 151 */ int spacing151[3];
/* 154 */ sint8 short_buff_box;
/* 155 */ int descnum; // eqstr of description of spell

.....

/* 185 */ int can_mgb;
/* 186 */ sint8 nodispell;
/* 187 */ uint8 npc_category;
/* 188 */ uint16 npc_usefulness;
/* 189 */ int spacing[14];
/* 203 */ // last field in Titanium is 202
/* 207 */ // uint16 spellgroup;


I tried updating this in my source, but Shared Memory didn't like it and kept crashing zone, even after I changed FileLoadSPDat() (http://eqemulator.cvs.sourceforge.net/eqemulator/EQEmuCVS/Source/zone/net.cpp?revision=1.25&view=markup#l_829) in zone/net.cpp to reflect the new fields and did a make clean & make for the entire source.