I spent most of the day working on this, but this should be the item field list order that is currently used on live according to 13th floor collects:
Code:
/* 000 */ //I(ItemClass) Leave this one off on purpose
/* 001 */ S(Name)
/* 002 */ S(Lore)
/* 003 */ S("")//lorefile - Newly Added - Field is Null
/* 003 */ S(IDFile)
/* 004 */ I(ID)
/* 005 */ I(Weight)
/* 006 */ I(NoRent)
/* 007 */ I(NoDrop)
/* 008 */ I(Size)
/* 009 */ I(Slots)
/* 010 */ I(Price)
/* 011 */ I(Icon)
/* 012 */ I(0)
/* 013 */ I(0)
/* 014 */ I(BenefitFlag)
/* 015 */ I(Tradeskills)
/* 016 */ I(CR)
/* 017 */ I(DR)
/* 018 */ I(PR)
/* 019 */ I(MR)
/* 020 */ I(FR)
/* 020 */ I(0)//svcorruption - Newly Added
/* 021 */ I(AStr)
/* 022 */ I(ASta)
/* 023 */ I(AAgi)
/* 024 */ I(ADex)
/* 025 */ I(ACha)
/* 026 */ I(AInt)
/* 027 */ I(AWis)
/* 028 */ I(HP)
/* 029 */ I(Mana)
/* 111 */ I(Endur) //endur - Relocated
/* 030 */ I(AC)
/* 052 */ I(Classes)//classes - Relocated
/* 053 */ I(Races)//races - Relocated
/* 031 */ I(Deity)
/* 032 */ I(SkillModValue)
/* 033 */ I(0)//UNK038 - Default is 0
/* 034 */ I(SkillModType)
/* 035 */ I(BaneDmgRace)
/* 037 */ I(BaneDmgBody)//banedmgbody - Relocated
/* 103 */ I(BaneDmgRaceAmt)//banedmgraceamt - Relocated
/* 036 */ I(BaneDmgAmt)//banedmgamt - Relocated
/* 038 */ I(Magic)
/* 039 */ I(CastTime_)
/* 040 */ I(ReqLevel)
/* 045 */ I(RecLevel)//reclevel - Relocated
/* 046 */ I(RecSkill)//recskill - Relocated
/* 041 */ I(BardType)
/* 042 */ I(BardValue)
/* 043 */ I(Light)
/* 044 */ I(Delay)
/* 047 */ I(ElemDmgType)
/* 048 */ I(ElemDmgAmt)
/* 049 */ I(Range)
/* 050 */ I(Damage)
/* 051 */ I(Color)
/* 056 */ I(ItemType)
/* 057 */ I(Material)
/* 054 */ I(0)//UNK060 - Default is 0
/* 054 */ I(0)//UNK061 - Default is 0
/* 058 */ F(SellRate)
/* 063 */ I(CombatEffects)
/* 064 */ I(Shielding)
/* 065 */ I(StunResist)
/* 066 */ I(StrikeThrough)
/* 067 */ I(ExtraDmgSkill)
/* 068 */ I(ExtraDmgAmt)
/* 069 */ I(SpellShield)
/* 070 */ I(Avoidance)
/* 071 */ I(Accuracy)
/* 072 */ I(CharmFileID)
/* 073 */ I(FactionMod1)//Swapped these so Faction Amt comes after each Faction Mod
/* 077 */ I(FactionAmt1)//Swapped these so Faction Amt comes after each Faction Mod
/* 074 */ I(FactionMod2)//Swapped these so Faction Amt comes after each Faction Mod
/* 078 */ I(FactionAmt2)//Swapped these so Faction Amt comes after each Faction Mod
/* 075 */ I(FactionMod3)//Swapped these so Faction Amt comes after each Faction Mod
/* 079 */ I(FactionAmt3)//Swapped these so Faction Amt comes after each Faction Mod
/* 076 */ I(FactionMod4)//Swapped these so Faction Amt comes after each Faction Mod
/* 080 */ I(FactionAmt4)//Swapped these so Faction Amt comes after each Faction Mod
/* 081 */ S(CharmFile)
/* 082 */ I(AugType)
/* 104 */ I(AugRestrict)//augrestrict - Relocated
/* 122 */ I(AugDistiller)//augdistiller - Relocated
/* 083 */ I(AugSlotType[0])
/* 084 */ I(AugSlotUnk[0])//augslot1visible - Default 1
/* 084 */ I(0)//augslot1unk2 - Newly Added - Default 0
/* 085 */ I(AugSlotType[1])
/* 086 */ I(AugSlotUnk[1])
/* 084 */ I(0)//augslot2unk2 - Newly Added
/* 087 */ I(AugSlotType[2])
/* 088 */ I(AugSlotUnk[2])
/* 084 */ I(0)//augslot3unk2 - Newly Added
/* 089 */ I(AugSlotType[3])
/* 090 */ I(AugSlotUnk[3])
/* 084 */ I(0)//augslot4unk2 - Newly Added
/* 091 */ I(AugSlotType[4])
/* 092 */ I(AugSlotUnk[4])
/* 084 */ I(0)//augslot5unk2 - Newly Added
/* 128 */ I(PointType)//pointtype - Relocated
/* 093 */ I(LDoNTheme)
/* 094 */ I(LDoNPrice)
/* 084 */ I(70)//UNK098 - Newly Added - Default 70, but some are set to 0
/* 095 */ I(LDoNSold)
/* 096 */ I(BagType)
/* 097 */ I(BagSlots)
/* 098 */ I(BagSize)
/* 099 */ I(BagWR)
/* 100 */ I(Book)
/* 101 */ I(BookType)
/* 102 */ S(Filename)
/* 105 */ I(LoreGroup)
/* 107 */ I(ArtifactFlag)
/* 106 */ I(PendingLoreFlag)//UNK109 - Default 0, but a few are 1
/* 109 */ I(Favor)
/* 121 */ I(GuildFavor)//guildfavor - Relocated
/* 110 */ I(FVNoDrop)
/* 112 */ I(DotShielding)
/* 113 */ I(Attack)
/* 114 */ I(Regen)
/* 115 */ I(ManaRegen)
/* 116 */ I(EnduranceRegen)
/* 117 */ I(Haste)
/* 118 */ I(DamageShield)
/* 123 */ I(-1) //UNK120 - Default is -1
/* 124 */ I(0) //UNK121 - Default is 0
/* 125 */ I(Attuneable)
/* 126 */ I(NoPet)
/* 127 */ I(0) //UNK124 - Default 0, but a few are 1
/* 129 */ I(PotionBelt)
/* 130 */ I(0) //potionbeltslots - Default 0, but a few are 1
/* 131 */ I(StackSize)
/* 132 */ I(NoTransfer)
/* 133 */ I(Stackable)//UNK129 - Default is 0, but some are much higher
/* 133 */ I(0)//questitemflag - Default is 0 (off), flag on = 1
/* 133 */ I(0)//UNK131 - Default is 0, but there is an item set to 1
/* 133 */ I(0)//UNK132 - Default is 0
/* 134 */ I(Click.Effect)
/* 135 */ I(Click.Type)
/* 136 */ I(Click.Level2)
/* 137 */ I(Click.Level)
/* 055 */ I(MaxCharges)//maxcharges - Relocated
/* 060 */ I(CastTime_)//casttime - Relocated - Note Duplicate Entries for CastTime_ and none for CastTime
/* 119 */ I(RecastDelay)//recastdelay - Relocated
/* 120 */ I(RecastType)//recasttype - Relocated
/* 133 */ I(0)//clickunk5 - Newly Added - Default is 0
/* 138 */ S("")//clickname - Newly Added - Default is Null
/* 133 */ I(-1)//clickunk7 - Newly Added - Default is -1, but some set to 0 and some much higher
/* 139 */ I(Proc.Effect)
/* 140 */ I(Proc.Type)
/* 141 */ I(Proc.Level2)
/* 142 */ I(Proc.Level)
/* 133 */ I(0)//procunk1 - Newly Added - Default is 0, but some set to -1 and 1
/* 133 */ I(0)//procunk2 - Newly Added - Default is 0
/* 133 */ I(0)//procunk3 - Newly Added - Default is 0
/* 133 */ I(0)//procunk4 - Newly Added - Default is 0
/* 062 */ I(ProcRate)procrate - Relocated
/* 138 */ S("")//procname - Newly Added - Default is Null
/* 133 */ I(-1)//procunk7 - Newly Added - Default is -1, but some set to 0
/* 144 */ I(Worn.Effect)
/* 145 */ I(Worn.Type)
/* 146 */ I(Worn.Level2)
/* 147 */ I(Worn.Level)
/* 133 */ I(0)//wornunk1 - Newly Added - Default is 0
/* 133 */ I(0)//wornunk2 - Newly Added - Default is 0
/* 133 */ I(0)//wornunk3 - Newly Added - Default is 0
/* 133 */ I(0)//wornunk4 - Newly Added - Default is 0
/* 133 */ I(0)//wornunk5 - Newly Added - Default is 0
/* 138 */ S("")//wornname - Newly Added - Default is Null
/* 133 */ I(-1)//wornunk7 - Newly Added - Default is -1, but some set to 0
/* 149 */ I(Focus.Effect)
/* 150 */ I(Focus.Type)
/* 151 */ I(Focus.Level2)
/* 152 */ I(Focus.Level)
/* 133 */ I(0)//focusunk1 - Newly Added - Default is 0
/* 133 */ I(0)//focusunk2 - Newly Added - Default is 0
/* 133 */ I(0)//focusunk3 - Newly Added - Default is 0
/* 133 */ I(0)//focusunk4 - Newly Added - Default is 0
/* 133 */ I(0)//focusunk5 - Newly Added - Default is 0
/* 138 */ S("")//focusname - Newly Added - Default is Null
/* 133 */ I(-1)//focusunk7 - Newly Added - Default is -1, but some set to 0
/* 154 */ I(Scroll.Effect)
/* 155 */ I(Scroll.Type)
/* 156 */ I(Scroll.Level2)
/* 157 */ I(Scroll.Level)scrollunk1
/* 133 */ I(0)//scrollunk2 - Newly Added - Default is 0
/* 133 */ I(0)//scrollunk3 - Newly Added - Default is 0
/* 133 */ I(0)//scrollunk4 - Newly Added - Default is 0
/* 133 */ I(0)//scrollunk5 - Newly Added - Default is 0
/* 138 */ S("")//scrollname - Newly Added - Default is Null
/* 133 */ I(-1)//scrollunk7 - Newly Added - Default is -1, but some set to 0
/* 158 */ I(0)//UNK193 - Default is 0
/* 133 */ I(0)//purity - Newly Added - Default is 0, but some go up to 75
/* 133 */ I(0)//dsmitigation - Newly Added - Default is 0, but some are up to 2
/* 133 */ I(0)//heroic_str - Newly Added - Default is 0
/* 133 */ I(0)//heroic_int - Newly Added - Default is 0
/* 133 */ I(0)//heroic_wis - Newly Added - Default is 0
/* 133 */ I(0)//heroic_agi - Newly Added - Default is 0
/* 133 */ I(0)//heroic_dex - Newly Added - Default is 0
/* 133 */ I(0)//heroic_sta - Newly Added - Default is 0
/* 133 */ I(0)//heroic_cha - Newly Added - Default is 0
/* 133 */ I(0)//healamt - Newly Added - Default is 0, but some are up to 9
/* 133 */ I(0)//spelldmg - Newly Added - Default is 0, but some are up to 9
/* 133 */ I(0)//clairvoyance - Newly Added - Default is 0, but some are up to 10
/* 133 */ I(0)//backstabdmg - Newly Added - Default is 0, but some are up to 65
/* 133 */ I(0)//evolvinglevel - Newly Added - Default is 0, but some are up to 7
//This doesn't appear to be used /* 102 */ S(verified)//verified
//This doesn't appear to be used /* 102 */ S(serialized)//created
//Unsure where this goes right now (or if it is even used) /* 108 */ I(SummonedFlag)
#undef I
#undef C
#undef S
#undef F
I will try this as soon as I get home tonight. I am guessing that the following fields were added after SoF, so I will comment them out for now and try adding them 1 at a time until it works (hopefully):
Code:
/* 133 */ I(0)//healamt - Newly Added - Default is 0, but some are up to 9
/* 133 */ I(0)//spelldmg - Newly Added - Default is 0, but some are up to 9
/* 133 */ I(0)//clairvoyance - Newly Added - Default is 0, but some are up to 10
/* 133 */ I(0)//backstabdmg - Newly Added - Default is 0, but some are up to 65
/* 133 */ I(0)//evolvinglevel - Newly Added - Default is 0, but some are up to 7
Note that the item field numbers are not correct, but once I have the list working, I will renumber it all manually.
Also, the only thing I am not quite sure about here is the use of quotes on ints and nulls. Does anyone know if I(0) is the same as I("0"), and if S("") is the same as NULL, or if there is a better way to put NULL there? Maybe something like S(NULL)?