Go Back   EQEmulator Home > EQEmulator Forums > Archives > Archive::Development > Archive::Development

Archive::Development Archive area for Development's posts that were moved here after an inactivity period of 90 days.

Reply
 
Thread Tools Display Modes
  #1  
Old 03-16-2003, 12:29 PM
mytopie
Fire Beetle
 
Join Date: Mar 2003
Location: Dallas, TX
Posts: 19
Default Item_Struct changes ?

Hey guys,

did the item structure changed since 4.1 ? i'm asking because i've found few ithings that aren't where i expected them to be, specifically the skillModPercent and skillModId are shifted by 4 bytes i think.

I've created test item with the admin tool (v4.2), in items -> stats2 tab i have set the values from top to bottom to be consecutive from 24 to 35, so the skillModPercent should be 24 and skillModId should be 25.
Instead it is 26 and 27 which should be bane race and bane race modifier.

Anybody go any insight into this ?

Thanks Dingo :juggle:
Reply With Quote
  #2  
Old 03-16-2003, 02:25 PM
mytopie
Fire Beetle
 
Join Date: Mar 2003
Location: Dallas, TX
Posts: 19
Default

I've also noticed that defined ITEM_STRUCT_SIZE is 360 but sizeof(Item_Struct) in gdb returns 364

atm i'm working on syncing the Item_Struct with the one used in the admin tool v4.2 i'm not sure if that is a good thing or not, but since i don't run a server and i have no other way to get Item_Struct with known data and there is a 4 byte difference .. well you get the idea ..

I will post the differences here once i'm done so you can see them ...

Dingo :juggle:
Reply With Quote
  #3  
Old 03-16-2003, 03:26 PM
mytopie
Fire Beetle
 
Join Date: Mar 2003
Location: Dallas, TX
Posts: 19
Default

Here are the promised changes:

the original piece of the structure:

Code:
/*0279*/ sint8    effecttype;      // 0=combat, 1=click anywhere w/o class check, 2=latent/worn, 3=click anywhere EXPENDABLE, 4=click worn, 5=click anywhere w/ class check, -1=no effect
/*0280*/ uint16   spellId;         // spellId of special effect
/*0282*/ uint8    unknown0282[10]; // ***Placeholder 0288
/*0292*/ uint32   casttime;        // Cast time of clicky item in miliseconds
/*0296*/ uint8    unknown0296[16]; // ***Placeholder
/*0312*/ uint16   skillModPercent; // Skill mod value in % (Sept 25, 2002)
/*0314*/ sint16   skillModId;      // Skill mod index (Sept 25, 2002)
/*0316*/ sint16   BaneDMGRace;
/*0318*/ sint16   BaneDMGBody;
/*0321*/ uint8    unknown0321[4];   // placeholder ?
/*0324*/ uint8    RecLevel;         // max should be 65
/*0325*/ uint8    RecSkill;         // Max should be 252
/*0326*/ uint8    unknown0325[2];
/*0328*/ uint8    ElemDmgType;
/*0329*/ uint8    ElemDmg;
/*0330*/ uint8    unknown0330[28];  // Bane and Elemental dmg struct (writing it now, hopefully will be up soon)
/*0358*/ int16    focusspellId;
And here is the modified code:

Code:
/*0279*/ sint8    effecttype;      // 0=combat, 1=click anywhere w/o class check, 2=latent/worn, 3=click anywhere EXPENDABLE, 4=click worn, 5=click anywhere w/ class check, -1=no effect
/*0280*/ uint16   spellId;         // spellId of special effect
/*0282*/ uint8    unknown0282[10]; // ***Placeholder 0288
/*0292*/ uint32   casttime;        // Cast time of clicky item in miliseconds
/*0296*/ uint8    unknown0296[12]; // ***Placeholder
/*0308*/ sint16   skillModId;      // Skill mod index (Sept 25, 2002)
/*0310*/ uint16   skillModPercent; // Skill mod value in % (Sept 25, 2002)
/*0312*/ sint16   BaneDMGRace;     // Bane Damage Race
/*0314*/ sint16   BaneDMGMod;      // Bane Damage Modifier
/*0316*/ sint16   BaneDMG;         // Bane Damage
/*0318*/ uint8    unknown0322[2];  // placeholder ?
/*0320*/ uint8    RecLevel;        // max should be 65
/*0321*/ uint8    RecSkill;        // Max should be 252
/*0322*/ uint8    unknown0326[1];  // placeholder ?
/*0323*/ uint8    ResistDmgType;   // Resist Damage Type
/*0324*/ sint16   ResistDmg;       // Resist Damage
/*0326*/ uint8    unknown0325[2];  // placeholder ?
/*0328*/ uint8    ElemDmgType;     
/*0329*/ uint8    ElemDmg;
/*0330*/ uint8    unknown0330[28];  // Bane and Elemental dmg struct (writing it now, hopefully will be up soon)
/*0358*/ int16    focusspellId;
the modified code works with admin tool v4.2, not sure if it would work with the client prog since i have no way to test it.

:*EDIT> - I just checked the changes against hack server and they appear to be correct, atleast the bane damage and skill mods for sure. <EDIT*

Dingo :juggle:
Reply With Quote
  #4  
Old 03-16-2003, 11:48 PM
killspree
Dragon
 
Join Date: Jun 2002
Posts: 776
Default

I'm thinking either 318 or 322 are the required levels that are listed on a lot of PoP items.
__________________
Xeldan
Lead Content Designer
Shards of Dalaya
Reply With Quote
  #5  
Old 03-17-2003, 01:47 AM
Trumpcard
Demi-God
 
Join Date: Jan 2002
Location: Charlotte, NC
Posts: 2,614
Default

I'll try using this struct when I get in this afternoon and see if it works clientside.
__________________
Quitters never win, and winners never quit, but those who never win and never quit are idiots.
Reply With Quote
  #6  
Old 03-17-2003, 02:01 AM
mytopie
Fire Beetle
 
Join Date: Mar 2003
Location: Dallas, TX
Posts: 19
Default

give me couple of hours before you do, i think the modifers are only 8 bits instead 16 since some of the things that i compared didn't match up the way i expected them to, but i don't have any items that i would be 100% positive about that they were collected from live server ...

ID 28941 - 0x00710D
Name Great Sword of Slaughter
Size Medium - 0x000002
Type Normal - 0x000000
Weapon Skill 2 Hand Slash - 0x000001
Damage 10 - 0x00000A
Delay 40 - 0x000028
Bane Damage 15415% vs Werewolf - 0x3C37 - 0x000E
Weight 1.00 - 0x00000A
Price 1p - 0x0003E8
Flags Nodrop - [GM:0][LR:0][ND:0][NS:-1]
Mods AC: +50, Str: +30, Sta: +30, Agi: +30, Dex: +30, Hp: +125, Mana: +125, Magic Resist: +25, Fire Resist: +25, Cold Resist: +25, Poison Resist: +25, Disease Resist: +25
Classes Paladin, Ranger, Shadow Knight, Warrior - 0x00001D
Races Barbarian, Dark Elf, Dwarf, Erudite, Gnome, Half Elf, Halfling, High Elf, Human, Iksar, Ogre, Troll, Vah Shir, Wood Elf - 0x003FFF
Inventory Slots Primary - 0x002000

check out the bane damage percentage

Dingo :juggle:
Reply With Quote
  #7  
Old 03-17-2003, 04:07 AM
mytopie
Fire Beetle
 
Join Date: Mar 2003
Location: Dallas, TX
Posts: 19
Default

hmm i need to get some sleep, so far it looks like this:

Code:
/*0279*/ sint8    effecttype;      // 0=combat, 1=click anywhere w/o class check, 2=latent/worn, 3=click anywhere EXPENDABLE, 4=click worn, 5=click anywhere w/ class check, -1=no effect
/*0280*/ uint16   spellId;         // spellId of special effect
/*0282*/ uint8    unknown0282[10]; // ***Placeholder 0288
/*0292*/ uint32   casttime;        // Cast time of clicky item in miliseconds
/*0296*/ uint8    unknown0296[12]; // ***Placeholder
/*0308*/ sint16   skillModId;      // Skill mod index (Sept 25, 2002)
/*0310*/ uint16   skillModPercent; // Skill mod value in % (Sept 25, 2002)
/*0312*/ sint16   BaneDMGRace;     // Bane Damage Race
/*0313*/ uint8    BaneDMGMod;      // Bane Damage Modifier
/*0314*/ uint8    unknown0314;
/*0316*/ sint16   BaneDMG;         // Bane Damage
/*0318*/ uint8    unknown0318[2];
/*0320*/ uint8    RecLevel;        // max should be 65
/*0321*/ uint8    RecSkill;        // Max should be 252
/*0322*/ uint8    unknown0322;     // placeholder ?
/*0323*/ uint8    ResistDmgType;   // Resist Damage Type
/*0324*/ sint16   ResistDmg;       // Resist Damage
/*0326*/ uint8    unknown0326[2];
/*0328*/ uint8    ElemDmgType;     
/*0329*/ uint8    ElemDmg;
/*0330*/ uint8    unknown0330[28];  // Bane and Elemental dmg struct (writing it now, hopefully will be up soon)
/*0358*/ int16    focusspellId;
snip from p/d item.common:

Quote:
effecttype = 125,
spellId = 65535,
unknown0282 = {0, 0, 0, 0, 0, 0, 160, 65, 0, 0},
casttime = 0,
unknown0296 = {0 <repeats 12 times>},
skillModId = 0,
skillModPercent = 0,
BaneDMGRace = 3,
BaneDMGMod = 10,
unknown0314 = 0,
BaneDMG = 0,
unknown0318 = {0, 0},
RecLevel = 69,
RecSkill = 1,
unknown0322 = 0,
ResistDmgType = 0,
ResistDmg = 0,
unknown0326 = {0, 0},
ElemDmgType = 0,
ElemDmg = 0,
unknown0330 = {0 <repeats 28 times>},
focusspellId = 0
it seems that some of the variables are also used for different purpose, i've found out that current client doesn't show bane damage (?) but i compared item 15996 - Hammer of divination with my database, allakhazam data on the item, admin tool and client item stats on hack server.

allthough it doesn't show in the client, allakhazam shows +10 vs undead, the admin tool shows the same, and with the struct snip above i got the same from my database which is v4.2.

i'm not sure about the RecLevel and RecSkill, it lines up with admin tool v4.2 but it doesn't show in the client and atleast the RecLevel should.

Dingo :juggle:
Reply With Quote
  #8  
Old 03-17-2003, 04:29 AM
killspree
Dragon
 
Join Date: Jun 2002
Posts: 776
Default

Erm, it doesnt? RecLevel shows fine on my client...how old is the eq you're trying to view the item with?
__________________
Xeldan
Lead Content Designer
Shards of Dalaya
Reply With Quote
  #9  
Old 03-17-2003, 10:35 AM
mytopie
Fire Beetle
 
Join Date: Mar 2003
Location: Dallas, TX
Posts: 19
Default

its from the eqemu patch server last time patched umm 2-3 days ago
if i could find one item with bane damage that i was sure about that it was collected by packet sniffer instead of created from scratch, it would be much easier

what i ment was some items show rec levels so i can figure out where it is stored given some time, but the bane damage doesn't show ...

Dingo :juggle:
Reply With Quote
  #10  
Old 03-17-2003, 10:40 AM
killspree
Dragon
 
Join Date: Jun 2002
Posts: 776
Default

Oh, try any vex thal items for recommended levels. A bane weapon off the top of my head would be The Sword of Ssraeshza.
__________________
Xeldan
Lead Content Designer
Shards of Dalaya
Reply With Quote
  #11  
Old 03-17-2003, 10:47 AM
mytopie
Fire Beetle
 
Join Date: Mar 2003
Location: Dallas, TX
Posts: 19
Default

Thanks, the rec level items work but ssra sword shows magic dam: 2 instead of bane damage .. i think we both, the eqemu and the admin tool little offset on that data, i'm gonna try to see if i can find something on hack that shows bane ...

Dingo :juggle:
Reply With Quote
  #12  
Old 03-17-2003, 11:56 AM
killspree
Dragon
 
Join Date: Jun 2002
Posts: 776
Default

Ah extra planar isnt "bane"? Because it has either 7 or 9 damage to extra planar on top of the 2 magic damage.
__________________
Xeldan
Lead Content Designer
Shards of Dalaya
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 09:29 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3