mirror of
https://github.com/EQEmu/Server.git
synced 2026-06-21 02:18:26 +00:00
converted spell id's to integers and made the internal representation 322-bit
This commit is contained in:
@@ -466,7 +466,7 @@ namespace RoF
|
||||
for (int i = 0; i < emu->count; ++i)
|
||||
{
|
||||
__packet->WriteUInt32(emu->type == 0 ? ServerToRoFBuffSlot(emu->entries[i].buff_slot) : emu->entries[i].buff_slot);
|
||||
__packet->WriteUInt32(emu->entries[i].spell_id);
|
||||
__packet->WriteSInt32 (emu->entries[i].spell_id);
|
||||
__packet->WriteUInt32(emu->entries[i].tics_remaining);
|
||||
__packet->WriteUInt32(emu->entries[i].num_hits); // Unknown
|
||||
__packet->WriteString(emu->entries[i].caster);
|
||||
@@ -1879,7 +1879,7 @@ namespace RoF
|
||||
if (emu->spellid[i])
|
||||
{
|
||||
__packet->WriteUInt32(i);
|
||||
__packet->WriteUInt32(emu->spellid[i]);
|
||||
__packet->WriteSInt32 (emu->spellid[i]);
|
||||
__packet->WriteUInt32(emu->ticsremaining[i]);
|
||||
__packet->WriteUInt32(0); // numhits
|
||||
__packet->WriteString("");
|
||||
@@ -2179,7 +2179,7 @@ namespace RoF
|
||||
outapp->WriteUInt32(emu->buffs[r].counters);
|
||||
outapp->WriteUInt32(emu->buffs[r].duration);
|
||||
outapp->WriteUInt8(emu->buffs[r].level);
|
||||
outapp->WriteUInt32(emu->buffs[r].spellid);
|
||||
outapp->WriteSInt32 (emu->buffs[r].spellid);
|
||||
outapp->WriteUInt8(effect_type); // Only ever seen 2
|
||||
outapp->WriteUInt32(emu->buffs[r].num_hits);
|
||||
outapp->WriteUInt32(0);
|
||||
|
||||
@@ -724,7 +724,7 @@ namespace RoF2
|
||||
for (int i = 0; i < emu->count; ++i)
|
||||
{
|
||||
__packet->WriteUInt32(emu->type == 0 ? ServerToRoF2BuffSlot(emu->entries[i].buff_slot) : emu->entries[i].buff_slot);
|
||||
__packet->WriteUInt32(emu->entries[i].spell_id);
|
||||
__packet->WriteSInt32 (emu->entries[i].spell_id);
|
||||
__packet->WriteUInt32(emu->entries[i].tics_remaining);
|
||||
__packet->WriteUInt32(emu->entries[i].num_hits); // Unknown
|
||||
__packet->WriteString(emu->entries[i].caster);
|
||||
@@ -2485,7 +2485,7 @@ namespace RoF2
|
||||
if (emu->spellid[i])
|
||||
{
|
||||
__packet->WriteUInt32(i);
|
||||
__packet->WriteUInt32(emu->spellid[i]);
|
||||
__packet->WriteSInt32 (emu->spellid[i]);
|
||||
__packet->WriteUInt32(emu->ticsremaining[i]);
|
||||
__packet->WriteUInt32(0); // num hits
|
||||
__packet->WriteString("");
|
||||
@@ -2786,7 +2786,7 @@ namespace RoF2
|
||||
outapp->WriteUInt32(emu->buffs[r].counters);
|
||||
outapp->WriteUInt32(emu->buffs[r].duration);
|
||||
outapp->WriteUInt8(emu->buffs[r].level);
|
||||
outapp->WriteUInt32(emu->buffs[r].spellid);
|
||||
outapp->WriteSInt32 (emu->buffs[r].spellid);
|
||||
outapp->WriteUInt8(effect_type); // Only ever seen 2
|
||||
outapp->WriteUInt32(emu->buffs[r].num_hits);
|
||||
outapp->WriteUInt32(0);
|
||||
|
||||
@@ -668,7 +668,7 @@ struct NewZone_Struct {
|
||||
*/
|
||||
struct MemorizeSpell_Struct {
|
||||
uint32 slot; // Spot in the spell book/memorized slot
|
||||
uint32 spell_id; // Spell id (200 or c8 is minor healing, etc)
|
||||
int32 spell_id; // Spell id (200 or c8 is minor healing, etc)
|
||||
uint32 scribing; // 1 if memorizing a spell, set to 0 if scribing to book, 2 if un-memming
|
||||
uint32 reduction; // lowers reuse
|
||||
};
|
||||
@@ -705,7 +705,7 @@ struct ManaChange_Struct
|
||||
{
|
||||
/*00*/ uint32 new_mana; // New Mana AMount
|
||||
/*04*/ uint32 stamina;
|
||||
/*08*/ uint32 spell_id;
|
||||
/*08*/ int32 spell_id;
|
||||
/*12*/ uint8 keepcasting; // won't stop the cast. Change mana while casting?
|
||||
/*13*/ uint8 padding[3]; // client doesn't read it, garbage data seems like
|
||||
/*16*/ int32 slot; // -1 for normal usage slot for when we want silent interrupt? I think it does timer stuff or something. Linked Spell Reuse interrupt uses it
|
||||
@@ -719,7 +719,7 @@ struct SwapSpell_Struct
|
||||
|
||||
struct BeginCast_Struct
|
||||
{
|
||||
/*000*/ uint32 spell_id;
|
||||
/*000*/ int32 spell_id;
|
||||
/*004*/ uint16 caster_id;
|
||||
/*006*/ uint32 cast_time; // in miliseconds
|
||||
/*010*/
|
||||
@@ -728,7 +728,7 @@ struct BeginCast_Struct
|
||||
struct CastSpell_Struct
|
||||
{
|
||||
/*00*/ uint32 slot;
|
||||
/*04*/ uint32 spell_id;
|
||||
/*04*/ int32 spell_id;
|
||||
/*08*/ InventorySlot_Struct inventory_slot; // slot for clicky item, Seen unknown of 131 = normal cast
|
||||
/*20*/ uint32 target_id;
|
||||
/*24*/ uint32 cs_unknown[2];
|
||||
@@ -760,7 +760,7 @@ struct SpellBuff_Struct
|
||||
/*002*/ uint8 unknown002; //pretty sure padding now
|
||||
/*003*/ uint8 unknown003; // MQ2 used to call this "damage shield" -- don't see client referencing it, so maybe server side DS type tracking?
|
||||
/*004*/ float bard_modifier;
|
||||
/*008*/ uint32 spellid;
|
||||
/*008*/ int32 spellid;
|
||||
/*012*/ uint32 duration;
|
||||
/*016*/ uint32 player_id; // caster ID, pretty sure just zone ID
|
||||
/*020*/ uint32 num_hits;
|
||||
@@ -791,7 +791,7 @@ struct BuffRemoveRequest_Struct
|
||||
// not in use
|
||||
struct BuffIconEntry_Struct {
|
||||
/*000*/ uint32 buff_slot;
|
||||
/*004*/ uint32 spell_id;
|
||||
/*004*/ int32 spell_id;
|
||||
/*008*/ uint32 tics_remaining;
|
||||
/*012*/ uint32 num_hits;
|
||||
// char name[0]; caster name is also here sometimes
|
||||
@@ -1513,7 +1513,7 @@ struct CombatDamage_Struct
|
||||
/* 00 */ uint16 target;
|
||||
/* 02 */ uint16 source;
|
||||
/* 04 */ uint8 type; //slashing, etc. 231 (0xE7) for spells
|
||||
/* 05 */ uint32 spellid;
|
||||
/* 05 */ int32 spellid;
|
||||
/* 09 */ int32 damage;
|
||||
/* 13 */ float force; // cd cc cc 3d
|
||||
/* 17 */ float hit_heading; // see above notes in Action_Struct
|
||||
@@ -1549,7 +1549,7 @@ struct Death_Struct
|
||||
/*004*/ uint32 killer_id;
|
||||
/*008*/ uint32 corpseid; // was corpseid
|
||||
/*012*/ uint32 attack_skill; // was type
|
||||
/*016*/ uint32 spell_id;
|
||||
/*016*/ int32 spell_id;
|
||||
/*020*/ uint32 bindzoneid; //bindzoneid?
|
||||
/*024*/ uint32 damage;
|
||||
/*028*/ uint32 unknown028;
|
||||
@@ -2658,7 +2658,7 @@ struct GroupFollow_Struct { // Live Follow Struct
|
||||
};
|
||||
|
||||
struct InspectBuffs_Struct {
|
||||
/*000*/ uint32 spell_id[BUFF_COUNT];
|
||||
/*000*/ int32 spell_id[BUFF_COUNT];
|
||||
/*168*/ int32 tics_remaining[BUFF_COUNT];
|
||||
};
|
||||
|
||||
@@ -3077,7 +3077,7 @@ struct Resurrect_Struct
|
||||
/*024*/ char your_name[64];
|
||||
/*088*/ uint32 unknown088;
|
||||
/*092*/ char rezzer_name[64];
|
||||
/*156*/ uint32 spellid;
|
||||
/*156*/ int32 spellid;
|
||||
/*160*/ char corpse_name[64];
|
||||
/*224*/ uint32 action;
|
||||
/*228*/ uint32 unknown228;
|
||||
@@ -4581,7 +4581,7 @@ struct SendAA_Struct {
|
||||
/*0045*/ uint32 prereq_minpoints_count; // mutliple prereqs at least 1, even no prereqs
|
||||
/*0049*/ uint32 prereq_minpoints; //min points in the prereq
|
||||
/*0053*/ uint32 type;
|
||||
/*0057*/ uint32 spellid;
|
||||
/*0057*/ int32 spellid;
|
||||
/*0061*/ uint32 unknown057; // Introduced during HoT - Seen 1 - Maybe account status or enable/disable AA?
|
||||
/*0065*/ uint32 spell_type;
|
||||
/*0069*/ uint32 spell_refresh;
|
||||
|
||||
@@ -614,7 +614,7 @@ struct NewZone_Struct {
|
||||
*/
|
||||
struct MemorizeSpell_Struct {
|
||||
uint32 slot; // Spot in the spell book/memorized slot
|
||||
uint32 spell_id; // Spell id (200 or c8 is minor healing, etc)
|
||||
int32 spell_id; // Spell id (200 or c8 is minor healing, etc)
|
||||
uint32 scribing; // 1 if memorizing a spell, set to 0 if scribing to book, 2 if un-memming
|
||||
uint32 reduction; // lowers reuse
|
||||
};
|
||||
@@ -651,7 +651,7 @@ struct ManaChange_Struct
|
||||
{
|
||||
/*00*/ uint32 new_mana; // New Mana AMount
|
||||
/*04*/ uint32 stamina;
|
||||
/*08*/ uint32 spell_id;
|
||||
/*08*/ int32 spell_id;
|
||||
/*12*/ uint8 keepcasting; // won't stop the cast. Change mana while casting?
|
||||
/*13*/ uint8 padding[3]; // client doesn't read it, garbage data seems like
|
||||
/*16*/ int32 slot; // -1 for normal usage slot for when we want silent interrupt? I think it does timer stuff or something. Linked Spell Reuse interrupt uses it
|
||||
@@ -665,7 +665,7 @@ struct SwapSpell_Struct
|
||||
|
||||
struct BeginCast_Struct
|
||||
{
|
||||
/*000*/ uint32 spell_id;
|
||||
/*000*/ int32 spell_id;
|
||||
/*004*/ uint16 caster_id;
|
||||
/*006*/ uint32 cast_time; // in miliseconds
|
||||
/*010*/
|
||||
@@ -674,7 +674,7 @@ struct BeginCast_Struct
|
||||
struct CastSpell_Struct
|
||||
{
|
||||
/*00*/ uint32 slot;
|
||||
/*04*/ uint32 spell_id;
|
||||
/*04*/ int32 spell_id;
|
||||
/*08*/ InventorySlot_Struct inventory_slot; // slot for clicky item, Seen unknown of 131 = normal cast
|
||||
/*20*/ uint32 target_id;
|
||||
/*24*/ uint32 cs_unknown[2];
|
||||
@@ -706,7 +706,7 @@ struct SpellBuff_Struct
|
||||
/*002*/ uint8 unknown002; //pretty sure padding now
|
||||
/*003*/ uint8 unknown003; // MQ2 used to call this "damage shield" -- don't see client referencing it, so maybe server side DS type tracking?
|
||||
/*004*/ float bard_modifier;
|
||||
/*008*/ uint32 spellid;
|
||||
/*008*/ int32 spellid;
|
||||
/*012*/ uint32 duration;
|
||||
/*016*/ uint32 player_id; // caster ID, pretty sure just zone ID
|
||||
/*020*/ uint32 num_hits;
|
||||
@@ -737,7 +737,7 @@ struct BuffRemoveRequest_Struct
|
||||
// not in use
|
||||
struct BuffIconEntry_Struct {
|
||||
/*000*/ uint32 buff_slot;
|
||||
/*004*/ uint32 spell_id;
|
||||
/*004*/ int32 spell_id;
|
||||
/*008*/ uint32 tics_remaining;
|
||||
/*012*/ uint32 num_hits;
|
||||
// char name[0]; caster name is also here sometimes
|
||||
@@ -1500,7 +1500,7 @@ struct CombatDamage_Struct
|
||||
/* 00 */ uint16 target;
|
||||
/* 02 */ uint16 source;
|
||||
/* 04 */ uint8 type; //slashing, etc. 231 (0xE7) for spells
|
||||
/* 05 */ uint32 spellid;
|
||||
/* 05 */ int32 spellid;
|
||||
/* 09 */ int32 damage;
|
||||
/* 13 */ float force; // cd cc cc 3d
|
||||
/* 17 */ float hit_heading; // see above notes in Action_Struct
|
||||
@@ -1536,7 +1536,7 @@ struct Death_Struct
|
||||
/*004*/ uint32 killer_id;
|
||||
/*008*/ uint32 corpseid; // was corpseid
|
||||
/*012*/ uint32 attack_skill; // was type
|
||||
/*016*/ uint32 spell_id;
|
||||
/*016*/ int32 spell_id;
|
||||
/*020*/ uint32 bindzoneid; //bindzoneid?
|
||||
/*024*/ uint32 damage;
|
||||
/*028*/ uint32 unknown028;
|
||||
@@ -2603,7 +2603,7 @@ struct GroupFollow_Struct { // Live Follow Struct
|
||||
};
|
||||
|
||||
struct InspectBuffs_Struct {
|
||||
/*000*/ uint32 spell_id[BUFF_COUNT];
|
||||
/*000*/ int32 spell_id[BUFF_COUNT];
|
||||
/*168*/ int32 tics_remaining[BUFF_COUNT];
|
||||
};
|
||||
|
||||
@@ -3013,7 +3013,7 @@ struct Resurrect_Struct
|
||||
/*024*/ char your_name[64];
|
||||
/*088*/ uint32 unknown088;
|
||||
/*092*/ char rezzer_name[64];
|
||||
/*156*/ uint32 spellid;
|
||||
/*156*/ int32 spellid;
|
||||
/*160*/ char corpse_name[64];
|
||||
/*224*/ uint32 action;
|
||||
/*228*/ uint32 unknown228;
|
||||
@@ -4333,7 +4333,7 @@ struct SendAA_Struct {
|
||||
/*0045*/ uint32 prereq_minpoints_count; // mutliple prereqs at least 1, even no prereqs
|
||||
/*0049*/ uint32 prereq_minpoints; //min points in the prereq
|
||||
/*0053*/ uint32 type;
|
||||
/*0057*/ uint32 spellid;
|
||||
/*0057*/ int32 spellid;
|
||||
/*0061*/ uint32 unknown057; // Introduced during HoT - Seen 1 - Maybe account status or enable/disable AA?
|
||||
/*0065*/ uint32 spell_type;
|
||||
/*0069*/ uint32 spell_refresh;
|
||||
|
||||
@@ -480,7 +480,7 @@ struct NewZone_Struct {
|
||||
*/
|
||||
struct MemorizeSpell_Struct {
|
||||
uint32 slot; // Spot in the spell book/memorized slot
|
||||
uint32 spell_id; // Spell id (200 or c8 is minor healing, etc)
|
||||
int32 spell_id; // Spell id (200 or c8 is minor healing, etc)
|
||||
uint32 scribing; // 1 if memorizing a spell, set to 0 if scribing to book, 2 if un-memming
|
||||
uint32 reduction; // lowers reuse
|
||||
};
|
||||
@@ -517,7 +517,7 @@ struct ManaChange_Struct
|
||||
{
|
||||
/*00*/ uint32 new_mana; // New Mana AMount
|
||||
/*04*/ uint32 stamina;
|
||||
/*08*/ uint32 spell_id;
|
||||
/*08*/ int32 spell_id;
|
||||
/*12*/ uint8 keepcasting; // won't stop the cast. Change mana while casting?
|
||||
/*13*/ uint8 padding[3]; // client doesn't read it, garbage data seems like
|
||||
/*16*/ int32 slot; // -1 for normal usage slot for when we want silent interrupt? I think it does timer stuff or something. Linked Spell Reuse interrupt uses it
|
||||
@@ -535,14 +535,14 @@ struct BeginCast_Struct
|
||||
{
|
||||
// len = 8
|
||||
/*004*/ uint16 caster_id;
|
||||
/*006*/ uint16 spell_id;
|
||||
/*006*/ int16 spell_id;
|
||||
/*016*/ uint32 cast_time; // in miliseconds
|
||||
};
|
||||
|
||||
struct CastSpell_Struct
|
||||
{
|
||||
uint32 slot;
|
||||
uint32 spell_id;
|
||||
int32 spell_id;
|
||||
uint32 inventoryslot; // slot for clicky item, 0xFFFF = normal cast
|
||||
uint32 target_id;
|
||||
uint8 cs_unknown[4];
|
||||
@@ -571,7 +571,7 @@ struct SpellBuff_Struct
|
||||
/*001*/ uint8 level; // Seen 1 for no buff
|
||||
/*002*/ uint8 bard_modifier;
|
||||
/*003*/ uint8 unknown003; // MQ2 used to call this "damage shield" -- don't see client referencing it, so maybe server side DS type tracking?
|
||||
/*004*/ uint32 spellid;
|
||||
/*004*/ int32 spellid;
|
||||
/*008*/ uint32 duration;
|
||||
/*012*/ uint32 counters;
|
||||
/*016*/ uint32 unknown016;
|
||||
@@ -1266,7 +1266,7 @@ struct CombatDamage_Struct
|
||||
/* 00 */ uint16 target;
|
||||
/* 02 */ uint16 source;
|
||||
/* 04 */ uint8 type; //slashing, etc. 231 (0xE7) for spells
|
||||
/* 05 */ uint16 spellid;
|
||||
/* 05 */ int16 spellid;
|
||||
/* 07 */ int32 damage;
|
||||
/* 11 */ float force; // cd cc cc 3d
|
||||
/* 15 */ float hit_heading; // see above notes in Action_Struct
|
||||
@@ -1301,7 +1301,7 @@ struct Death_Struct
|
||||
/*004*/ uint32 killer_id;
|
||||
/*008*/ uint32 corpseid; // was corpseid
|
||||
/*012*/ uint32 attack_skill; // was type
|
||||
/*016*/ uint32 spell_id;
|
||||
/*016*/ int32 spell_id;
|
||||
/*020*/ uint32 bindzoneid; //bindzoneid?
|
||||
/*024*/ uint32 damage;
|
||||
/*028*/ uint32 unknown028;
|
||||
@@ -2534,7 +2534,7 @@ struct Resurrect_Struct {
|
||||
char your_name[64];
|
||||
uint32 unknown88;
|
||||
char rezzer_name[64];
|
||||
uint32 spellid;
|
||||
int32 spellid;
|
||||
char corpse_name[64];
|
||||
uint32 action;
|
||||
/* 228 */
|
||||
@@ -3787,7 +3787,7 @@ struct SendAA_Struct {
|
||||
/*0037*/ uint32 prereq_skill; //is < 0, abs() is category #
|
||||
/*0041*/ uint32 prereq_minpoints; //min points in the prereq
|
||||
/*0045*/ uint32 type;
|
||||
/*0049*/ uint32 spellid;
|
||||
/*0049*/ int32 spellid;
|
||||
/*0053*/ uint32 spell_type;
|
||||
/*0057*/ uint32 spell_refresh;
|
||||
/*0061*/ uint32 classes;
|
||||
|
||||
@@ -480,7 +480,7 @@ struct NewZone_Struct {
|
||||
*/
|
||||
struct MemorizeSpell_Struct {
|
||||
uint32 slot; // Spot in the spell book/memorized slot
|
||||
uint32 spell_id; // Spell id (200 or c8 is minor healing, etc)
|
||||
int32 spell_id; // Spell id (200 or c8 is minor healing, etc)
|
||||
uint32 scribing; // 1 if memorizing a spell, set to 0 if scribing to book, 2 if un-memming
|
||||
uint32 reduction; // lowers reuse
|
||||
};
|
||||
@@ -517,7 +517,7 @@ struct ManaChange_Struct
|
||||
{
|
||||
/*00*/ uint32 new_mana; // New Mana AMount
|
||||
/*04*/ uint32 stamina;
|
||||
/*08*/ uint32 spell_id;
|
||||
/*08*/ int32 spell_id;
|
||||
/*12*/ uint8 keepcasting; // won't stop the cast. Change mana while casting?
|
||||
/*13*/ uint8 padding[3]; // client doesn't read it, garbage data seems like
|
||||
/*16*/ int32 slot; // -1 for normal usage slot for when we want silent interrupt? I think it does timer stuff or something. Linked Spell Reuse interrupt uses it
|
||||
@@ -535,14 +535,14 @@ struct BeginCast_Struct
|
||||
{
|
||||
// len = 8
|
||||
/*004*/ uint16 caster_id;
|
||||
/*006*/ uint16 spell_id;
|
||||
/*006*/ int16 spell_id;
|
||||
/*016*/ uint32 cast_time; // in miliseconds
|
||||
};
|
||||
|
||||
struct CastSpell_Struct
|
||||
{
|
||||
uint32 slot;
|
||||
uint32 spell_id;
|
||||
int32 spell_id;
|
||||
uint32 inventoryslot; // slot for clicky item, 0xFFFF = normal cast
|
||||
uint32 target_id;
|
||||
uint8 cs_unknown[4];
|
||||
@@ -571,7 +571,7 @@ struct SpellBuff_Struct
|
||||
/*001*/ uint8 level; // Seen 1 for no buff
|
||||
/*002*/ uint8 bard_modifier;
|
||||
/*003*/ uint8 unknown003; // MQ2 used to call this "damage shield" -- don't see client referencing it, so maybe server side DS type tracking?
|
||||
/*004*/ uint32 spellid;
|
||||
/*004*/ int32 spellid;
|
||||
/*008*/ uint32 duration;
|
||||
/*012*/ uint32 counters;
|
||||
/*016*/ uint32 unknown016;
|
||||
@@ -1266,7 +1266,7 @@ struct CombatDamage_Struct
|
||||
/* 00 */ uint16 target;
|
||||
/* 02 */ uint16 source;
|
||||
/* 04 */ uint8 type; //slashing, etc. 231 (0xE7) for spells
|
||||
/* 05 */ uint16 spellid;
|
||||
/* 05 */ int16 spellid;
|
||||
/* 07 */ int32 damage;
|
||||
/* 11 */ float force; // cd cc cc 3d
|
||||
/* 15 */ float hit_heading; // see above notes in Action_Struct
|
||||
@@ -1301,7 +1301,7 @@ struct Death_Struct
|
||||
/*004*/ uint32 killer_id;
|
||||
/*008*/ uint32 corpseid; // was corpseid
|
||||
/*012*/ uint32 attack_skill; // was type
|
||||
/*016*/ uint32 spell_id;
|
||||
/*016*/ int32 spell_id;
|
||||
/*020*/ uint32 bindzoneid; //bindzoneid?
|
||||
/*024*/ uint32 damage;
|
||||
/*028*/ uint32 unknown028;
|
||||
@@ -2504,7 +2504,7 @@ struct Resurrect_Struct {
|
||||
char your_name[64];
|
||||
uint32 unknown88;
|
||||
char rezzer_name[64];
|
||||
uint32 spellid;
|
||||
int32 spellid;
|
||||
char corpse_name[64];
|
||||
uint32 action;
|
||||
/* 228 */
|
||||
@@ -3711,7 +3711,7 @@ struct SendAA_Struct {
|
||||
/*0037*/ uint32 prereq_skill; //is < 0, abs() is category #
|
||||
/*0041*/ uint32 prereq_minpoints; //min points in the prereq
|
||||
/*0045*/ uint32 type;
|
||||
/*0049*/ uint32 spellid;
|
||||
/*0049*/ int32 spellid;
|
||||
/*0053*/ uint32 spell_type;
|
||||
/*0057*/ uint32 spell_refresh;
|
||||
/*0061*/ uint32 classes;
|
||||
|
||||
@@ -406,7 +406,7 @@ struct NewZone_Struct {
|
||||
*/
|
||||
struct MemorizeSpell_Struct {
|
||||
uint32 slot; // Spot in the spell book/memorized slot
|
||||
uint32 spell_id; // Spell id (200 or c8 is minor healing, etc)
|
||||
int32 spell_id; // Spell id (200 or c8 is minor healing, etc)
|
||||
uint32 scribing; // 1 if memorizing a spell, set to 0 if scribing to book, 2 if un-memming
|
||||
uint32 reduction; // lowers reuse
|
||||
};
|
||||
@@ -442,7 +442,7 @@ struct ManaChange_Struct
|
||||
{
|
||||
/*00*/ uint32 new_mana; // New Mana AMount
|
||||
/*04*/ uint32 stamina;
|
||||
/*08*/ uint32 spell_id;
|
||||
/*08*/ int32 spell_id;
|
||||
/*12*/ uint8 keepcasting; // won't stop the cast. Change mana while casting?
|
||||
/*13*/ uint8 padding[3]; // client doesn't read it, garbage data seems like
|
||||
};
|
||||
@@ -459,14 +459,14 @@ struct BeginCast_Struct
|
||||
{
|
||||
// len = 8
|
||||
/*000*/ uint16 caster_id;
|
||||
/*002*/ uint16 spell_id;
|
||||
/*002*/ int16 spell_id;
|
||||
/*004*/ uint32 cast_time; // in miliseconds
|
||||
};
|
||||
|
||||
struct CastSpell_Struct
|
||||
{
|
||||
uint32 slot;
|
||||
uint32 spell_id;
|
||||
int32 spell_id;
|
||||
uint32 inventoryslot; // slot for clicky item, 0xFFFF = normal cast
|
||||
uint32 target_id;
|
||||
uint8 cs_unknown[4];
|
||||
@@ -495,7 +495,7 @@ struct SpellBuff_Struct
|
||||
/*001*/ uint8 level;
|
||||
/*002*/ uint8 bard_modifier;
|
||||
/*003*/ uint8 unknown003; // MQ2 used to call this "damage shield" -- don't see client referencing it, so maybe server side DS type tracking?
|
||||
/*004*/ uint32 spellid;
|
||||
/*004*/ int32 spellid;
|
||||
/*008*/ int32 duration;
|
||||
/*012*/ uint32 counters; // single book keeping value (counters, rune/vie)
|
||||
/*016*/ uint32 player_id; // caster ID, pretty sure just zone ID
|
||||
@@ -1142,7 +1142,7 @@ struct CombatDamage_Struct
|
||||
/* 00 */ uint16 target;
|
||||
/* 02 */ uint16 source;
|
||||
/* 04 */ uint8 type; //slashing, etc. 231 (0xE7) for spells, skill
|
||||
/* 05 */ uint16 spellid;
|
||||
/* 05 */ int16 spellid;
|
||||
/* 07 */ uint32 damage;
|
||||
/* 11 */ float force;
|
||||
/* 15 */ float hit_heading; // see above notes in Action_Struct
|
||||
@@ -1177,7 +1177,7 @@ struct Death_Struct
|
||||
/*004*/ uint32 killer_id;
|
||||
/*008*/ uint32 corpseid; // was corpseid
|
||||
/*012*/ uint32 attack_skill; // was type
|
||||
/*016*/ uint32 spell_id;
|
||||
/*016*/ int32 spell_id;
|
||||
/*020*/ uint32 bindzoneid; //bindzoneid?
|
||||
/*024*/ uint32 damage;
|
||||
/*028*/ uint32 unknown028;
|
||||
@@ -2233,7 +2233,7 @@ struct Resurrect_Struct {
|
||||
char your_name[64];
|
||||
uint32 unknown88;
|
||||
char rezzer_name[64];
|
||||
uint32 spellid;
|
||||
int32 spellid;
|
||||
char corpse_name[64];
|
||||
uint32 action;
|
||||
/* 228 */
|
||||
@@ -3247,7 +3247,7 @@ struct SendAA_Struct {
|
||||
/*0040*/ uint32 prereq_skill; //is < 0, abs() is category #
|
||||
/*0044*/ uint32 prereq_minpoints; //min points in the prereq
|
||||
/*0048*/ uint32 type;
|
||||
/*0052*/ uint32 spellid;
|
||||
/*0052*/ int32 spellid;
|
||||
/*0056*/ uint32 spell_type;
|
||||
/*0060*/ uint32 spell_refresh;
|
||||
/*0064*/ uint32 classes;
|
||||
|
||||
@@ -627,7 +627,7 @@ namespace TOB {
|
||||
/*004*/ uint32 killer_id;
|
||||
/*008*/ uint32 corpseid; //not read by client
|
||||
/*012*/ uint32 unknown1; //not read by client
|
||||
/*016*/ uint32 spell_id;
|
||||
/*016*/ int32 spell_id;
|
||||
/*020*/ uint32 attack_skill;
|
||||
/*024*/ uint64 damage;
|
||||
/*032*/ uint32 unknown2; //not read by client
|
||||
@@ -672,7 +672,7 @@ namespace TOB {
|
||||
|
||||
struct BeginCast_Struct
|
||||
{
|
||||
/*000*/ uint32 spell_id;
|
||||
/*000*/ int32 spell_id;
|
||||
/*004*/ uint16 caster_id;
|
||||
/*006*/ uint32 cast_time; // in miliseconds
|
||||
/*010*/ uint32 unknown0a; // I think this is caster effective level but im not sure. live always sends 0. The client uses this for the spell link
|
||||
@@ -682,7 +682,7 @@ namespace TOB {
|
||||
|
||||
struct MemorizeSpell_Struct {
|
||||
uint32 slot; // Spot in the spell book/memorized slot
|
||||
uint32 spell_id; // Spell id (200 or c8 is minor healing, etc)
|
||||
int32 spell_id; // Spell id (200 or c8 is minor healing, etc)
|
||||
uint32 scribing; // -1 refreshes book, 0 scribe to book, 2 end mem, 1 start mem, 3 unmem, 4 set activated item keyring -- client will send back 2 if a 0 operation updated a memorized spell of the same group + subgroup
|
||||
uint32 reduction; // lower reuse (only used if scribing is 4)
|
||||
};
|
||||
@@ -702,7 +702,7 @@ namespace TOB {
|
||||
struct CastSpell_Struct
|
||||
{
|
||||
/*00*/ uint32 slot;
|
||||
/*04*/ uint32 spell_id;
|
||||
/*04*/ int32 spell_id;
|
||||
/*08*/ CastSpellInventorySlot_Struct inventory_slot;
|
||||
/*18*/ uint32 target_id;
|
||||
/*22*/ uint32 spell_crc;
|
||||
@@ -732,7 +732,7 @@ namespace TOB {
|
||||
/*000*/ EQAffectSlot_Struct slots[6];
|
||||
/*096*/ EqGuid caster_id;
|
||||
/*104*/ uint32 flags;
|
||||
/*108*/ uint32 spell_id;
|
||||
/*108*/ int32 spell_id;
|
||||
/*112*/ uint32 duration;
|
||||
/*116*/ uint32 initial_duration;
|
||||
/*120*/ uint32 hit_count;
|
||||
@@ -762,7 +762,7 @@ namespace TOB {
|
||||
{
|
||||
uint32 new_mana;
|
||||
uint32 stamina; // endurance
|
||||
uint32 spell_id;
|
||||
int32 spell_id;
|
||||
uint32 keepcasting;
|
||||
int32 slot; // gem slot
|
||||
};
|
||||
@@ -775,7 +775,7 @@ namespace TOB {
|
||||
{
|
||||
uint16 target;
|
||||
uint16 source;
|
||||
uint32 spell_id;
|
||||
int32 spell_id;
|
||||
//4 leaves a buff
|
||||
uint32 effect_type;
|
||||
uint32 effective_casting_level;
|
||||
|
||||
@@ -473,7 +473,7 @@ namespace UF
|
||||
for (int i = 0; i < emu->count; ++i)
|
||||
{
|
||||
__packet->WriteUInt32(emu->type == 0 ? ServerToUFBuffSlot(emu->entries[i].buff_slot) : emu->entries[i].buff_slot);
|
||||
__packet->WriteUInt32(emu->entries[i].spell_id);
|
||||
__packet->WriteSInt32 (emu->entries[i].spell_id);
|
||||
__packet->WriteUInt32(emu->entries[i].tics_remaining);
|
||||
__packet->WriteUInt32(emu->entries[i].num_hits);
|
||||
__packet->WriteString(emu->entries[i].caster);
|
||||
|
||||
+11
-11
@@ -480,7 +480,7 @@ struct NewZone_Struct {
|
||||
*/
|
||||
struct MemorizeSpell_Struct {
|
||||
uint32 slot; // Spot in the spell book/memorized slot
|
||||
uint32 spell_id; // Spell id (200 or c8 is minor healing, etc)
|
||||
int32 spell_id; // Spell id (200 or c8 is minor healing, etc)
|
||||
uint32 scribing; // 1 if memorizing a spell, set to 0 if scribing to book, 2 if un-memming
|
||||
uint32 reduction; // lowers reuse
|
||||
};
|
||||
@@ -517,7 +517,7 @@ struct ManaChange_Struct
|
||||
{
|
||||
/*00*/ uint32 new_mana; // New Mana AMount
|
||||
/*04*/ uint32 stamina;
|
||||
/*08*/ uint32 spell_id;
|
||||
/*08*/ int32 spell_id;
|
||||
/*12*/ uint8 keepcasting; // won't stop the cast. Change mana while casting?
|
||||
/*13*/ uint8 padding[3]; // client doesn't read it, garbage data seems like
|
||||
/*16*/ int32 slot; // -1 for normal usage slot for when we want silent interrupt? I think it does timer stuff or something. Linked Spell Reuse interrupt uses it
|
||||
@@ -535,14 +535,14 @@ struct BeginCast_Struct
|
||||
{
|
||||
// len = 8
|
||||
/*004*/ uint16 caster_id;
|
||||
/*006*/ uint16 spell_id;
|
||||
/*006*/ int16 spell_id;
|
||||
/*016*/ uint32 cast_time; // in miliseconds
|
||||
};
|
||||
|
||||
struct CastSpell_Struct
|
||||
{
|
||||
uint32 slot;
|
||||
uint32 spell_id;
|
||||
int32 spell_id;
|
||||
uint32 inventoryslot; // slot for clicky item, 0xFFFF = normal cast
|
||||
uint32 target_id;
|
||||
uint32 cs_unknown1;
|
||||
@@ -575,7 +575,7 @@ struct SpellBuff_Struct
|
||||
/*002*/ uint8 unknown002; //pretty sure padding now
|
||||
/*003*/ uint8 unknown003; // MQ2 used to call this "damage shield" -- don't see client referencing it, so maybe server side DS type tracking?
|
||||
/*004*/ float bard_modifier;
|
||||
/*008*/ uint32 spellid;
|
||||
/*008*/ int32 spellid;
|
||||
/*012*/ uint32 duration;
|
||||
/*016*/ uint32 num_hits;
|
||||
/*020*/ uint32 player_id; // caster ID, pretty sure just zone ID
|
||||
@@ -595,7 +595,7 @@ struct SpellBuffPacket_Struct {
|
||||
#if 0
|
||||
struct BuffIconEntry_Struct {
|
||||
/*000*/ uint32 buff_slot;
|
||||
/*004*/ uint32 spell_id;
|
||||
/*004*/ int32 spell_id;
|
||||
/*008*/ uint32 tics_remaining;
|
||||
/*012*/ uint32 num_hits;
|
||||
// char name[0]; caster name is also here sometimes
|
||||
@@ -1306,7 +1306,7 @@ struct CombatDamage_Struct
|
||||
/* 00 */ uint16 target;
|
||||
/* 02 */ uint16 source;
|
||||
/* 04 */ uint8 type; //slashing, etc. 231 (0xE7) for spells
|
||||
/* 05 */ uint16 spellid;
|
||||
/* 05 */ int16 spellid;
|
||||
/* 07 */ int32 damage;
|
||||
/* 11 */ float force; // cd cc cc 3d
|
||||
/* 15 */ float hit_heading; // see above notes in Action_Struct
|
||||
@@ -1342,7 +1342,7 @@ struct Death_Struct
|
||||
/*004*/ uint32 killer_id;
|
||||
/*008*/ uint32 corpseid; // was corpseid
|
||||
/*012*/ uint32 attack_skill; // was type
|
||||
/*016*/ uint32 spell_id;
|
||||
/*016*/ int32 spell_id;
|
||||
/*020*/ uint32 bindzoneid; //bindzoneid?
|
||||
/*024*/ uint32 damage;
|
||||
/*028*/ uint32 unknown028;
|
||||
@@ -2194,7 +2194,7 @@ struct GroupFollow_Struct { // Underfoot Follow Struct
|
||||
};
|
||||
|
||||
struct InspectBuffs_Struct {
|
||||
/*000*/ uint32 spell_id[BUFF_COUNT];
|
||||
/*000*/ int32 spell_id[BUFF_COUNT];
|
||||
/*120*/ int32 tics_remaining[BUFF_COUNT];
|
||||
};
|
||||
|
||||
@@ -2610,7 +2610,7 @@ struct Resurrect_Struct {
|
||||
char your_name[64];
|
||||
uint32 unknown88;
|
||||
char rezzer_name[64];
|
||||
uint32 spellid;
|
||||
int32 spellid;
|
||||
char corpse_name[64];
|
||||
uint32 action;
|
||||
/* 228 */
|
||||
@@ -3896,7 +3896,7 @@ struct SendAA_Struct {
|
||||
/*0037*/ uint32 prereq_skill; //is < 0, abs() is category #
|
||||
/*0041*/ uint32 prereq_minpoints; //min points in the prereq
|
||||
/*0045*/ uint32 type;
|
||||
/*0049*/ uint32 spellid;
|
||||
/*0049*/ int32 spellid;
|
||||
/*0053*/ uint32 spell_type;
|
||||
/*0057*/ uint32 spell_refresh;
|
||||
/*0061*/ uint32 classes;
|
||||
|
||||
Reference in New Issue
Block a user