I'd say $client->GetItemStat(), but it doesn't have augment slots according to
this. Yeah, the code confirming it doesn't have augment slots is below.
Code:
uint32 Mob::GetItemStat(uint32 itemid, const char *identifier)
{
const ItemInst* inst = database.CreateItem(itemid);
if (!inst)
return 0;
const Item_Struct* item = inst->GetItem();
if (!item)
return 0;
if (!identifier)
return 0;
uint32 stat = 0;
std::string id = identifier;
for(int i = 0; i < id.length(); ++i)
{
id[i] = tolower(id[i]);
}
if (id == "itemclass")
stat = uint32(item->ItemClass);
if (id == "id")
stat = uint32(item->ID);
if (id == "weight")
stat = uint32(item->Weight);
if (id == "norent")
stat = uint32(item->NoRent);
if (id == "nodrop")
stat = uint32(item->NoDrop);
if (id == "size")
stat = uint32(item->Size);
if (id == "slots")
stat = uint32(item->Slots);
if (id == "price")
stat = uint32(item->Price);
if (id == "icon")
stat = uint32(item->Icon);
if (id == "loregroup")
stat = uint32(item->LoreGroup);
if (id == "loreflag")
stat = uint32(item->LoreFlag);
if (id == "pendingloreflag")
stat = uint32(item->PendingLoreFlag);
if (id == "artifactflag")
stat = uint32(item->ArtifactFlag);
if (id == "summonedflag")
stat = uint32(item->SummonedFlag);
if (id == "fvnodrop")
stat = uint32(item->FVNoDrop);
if (id == "favor")
stat = uint32(item->Favor);
if (id == "guildfavor")
stat = uint32(item->GuildFavor);
if (id == "pointtype")
stat = uint32(item->PointType);
if (id == "bagtype")
stat = uint32(item->BagType);
if (id == "bagslots")
stat = uint32(item->BagSlots);
if (id == "bagsize")
stat = uint32(item->BagSize);
if (id == "bagwr")
stat = uint32(item->BagWR);
if (id == "benefitflag")
stat = uint32(item->BenefitFlag);
if (id == "tradeskills")
stat = uint32(item->Tradeskills);
if (id == "cr")
stat = uint32(item->CR);
if (id == "dr")
stat = uint32(item->DR);
if (id == "pr")
stat = uint32(item->PR);
if (id == "mr")
stat = uint32(item->MR);
if (id == "fr")
stat = uint32(item->FR);
if (id == "astr")
stat = uint32(item->AStr);
if (id == "asta")
stat = uint32(item->ASta);
if (id == "aagi")
stat = uint32(item->AAgi);
if (id == "adex")
stat = uint32(item->ADex);
if (id == "acha")
stat = uint32(item->ACha);
if (id == "aint")
stat = uint32(item->AInt);
if (id == "awis")
stat = uint32(item->AWis);
if (id == "hp")
stat = uint32(item->HP);
if (id == "mana")
stat = uint32(item->Mana);
if (id == "ac")
stat = uint32(item->AC);
if (id == "deity")
stat = uint32(item->Deity);
if (id == "skillmodvalue")
stat = uint32(item->SkillModValue);
if (id == "skillmodtype")
stat = uint32(item->SkillModType);
if (id == "banedmgrace")
stat = uint32(item->BaneDmgRace);
if (id == "banedmgamt")
stat = uint32(item->BaneDmgAmt);
if (id == "banedmgbody")
stat = uint32(item->BaneDmgBody);
if (id == "magic")
stat = uint32(item->Magic);
if (id == "casttime_")
stat = uint32(item->CastTime_);
if (id == "reqlevel")
stat = uint32(item->ReqLevel);
if (id == "bardtype")
stat = uint32(item->BardType);
if (id == "bardvalue")
stat = uint32(item->BardValue);
if (id == "light")
stat = uint32(item->Light);
if (id == "delay")
stat = uint32(item->Delay);
if (id == "reclevel")
stat = uint32(item->RecLevel);
if (id == "recskill")
stat = uint32(item->RecSkill);
if (id == "elemdmgtype")
stat = uint32(item->ElemDmgType);
if (id == "elemdmgamt")
stat = uint32(item->ElemDmgAmt);
if (id == "range")
stat = uint32(item->Range);
if (id == "damage")
stat = uint32(item->Damage);
if (id == "color")
stat = uint32(item->Color);
if (id == "classes")
stat = uint32(item->Classes);
if (id == "races")
stat = uint32(item->Races);
if (id == "maxcharges")
stat = uint32(item->MaxCharges);
if (id == "itemtype")
stat = uint32(item->ItemType);
if (id == "material")
stat = uint32(item->Material);
if (id == "casttime")
stat = uint32(item->CastTime);
if (id == "elitematerial")
stat = uint32(item->EliteMaterial);
if (id == "procrate")
stat = uint32(item->ProcRate);
if (id == "combateffects")
stat = uint32(item->CombatEffects);
if (id == "shielding")
stat = uint32(item->Shielding);
if (id == "stunresist")
stat = uint32(item->StunResist);
if (id == "strikethrough")
stat = uint32(item->StrikeThrough);
if (id == "extradmgskill")
stat = uint32(item->ExtraDmgSkill);
if (id == "extradmgamt")
stat = uint32(item->ExtraDmgAmt);
if (id == "spellshield")
stat = uint32(item->SpellShield);
if (id == "avoidance")
stat = uint32(item->Avoidance);
if (id == "accuracy")
stat = uint32(item->Accuracy);
if (id == "charmfileid")
stat = uint32(item->CharmFileID);
if (id == "factionmod1")
stat = uint32(item->FactionMod1);
if (id == "factionmod2")
stat = uint32(item->FactionMod2);
if (id == "factionmod3")
stat = uint32(item->FactionMod3);
if (id == "factionmod4")
stat = uint32(item->FactionMod4);
if (id == "factionamt1")
stat = uint32(item->FactionAmt1);
if (id == "factionamt2")
stat = uint32(item->FactionAmt2);
if (id == "factionamt3")
stat = uint32(item->FactionAmt3);
if (id == "factionamt4")
stat = uint32(item->FactionAmt4);
if (id == "augtype")
stat = uint32(item->AugType);
if (id == "ldontheme")
stat = uint32(item->LDoNTheme);
if (id == "ldonprice")
stat = uint32(item->LDoNPrice);
if (id == "ldonsold")
stat = uint32(item->LDoNSold);
if (id == "banedmgraceamt")
stat = uint32(item->BaneDmgRaceAmt);
if (id == "augrestrict")
stat = uint32(item->AugRestrict);
if (id == "endur")
stat = uint32(item->Endur);
if (id == "dotshielding")
stat = uint32(item->DotShielding);
if (id == "attack")
stat = uint32(item->Attack);
if (id == "regen")
stat = uint32(item->Regen);
if (id == "manaregen")
stat = uint32(item->ManaRegen);
if (id == "enduranceregen")
stat = uint32(item->EnduranceRegen);
if (id == "haste")
stat = uint32(item->Haste);
if (id == "damageshield")
stat = uint32(item->DamageShield);
if (id == "recastdelay")
stat = uint32(item->RecastDelay);
if (id == "recasttype")
stat = uint32(item->RecastType);
if (id == "augdistiller")
stat = uint32(item->AugDistiller);
if (id == "attuneable")
stat = uint32(item->Attuneable);
if (id == "nopet")
stat = uint32(item->NoPet);
if (id == "potionbelt")
stat = uint32(item->PotionBelt);
if (id == "stackable")
stat = uint32(item->Stackable);
if (id == "notransfer")
stat = uint32(item->NoTransfer);
if (id == "questitemflag")
stat = uint32(item->QuestItemFlag);
if (id == "stacksize")
stat = uint32(item->StackSize);
if (id == "potionbeltslots")
stat = uint32(item->PotionBeltSlots);
if (id == "book")
stat = uint32(item->Book);
if (id == "booktype")
stat = uint32(item->BookType);
if (id == "svcorruption")
stat = uint32(item->SVCorruption);
if (id == "purity")
stat = uint32(item->Purity);
if (id == "backstabdmg")
stat = uint32(item->BackstabDmg);
if (id == "dsmitigation")
stat = uint32(item->DSMitigation);
if (id == "heroicstr")
stat = uint32(item->HeroicStr);
if (id == "heroicint")
stat = uint32(item->HeroicInt);
if (id == "heroicwis")
stat = uint32(item->HeroicWis);
if (id == "heroicagi")
stat = uint32(item->HeroicAgi);
if (id == "heroicdex")
stat = uint32(item->HeroicDex);
if (id == "heroicsta")
stat = uint32(item->HeroicSta);
if (id == "heroiccha")
stat = uint32(item->HeroicCha);
if (id == "heroicmr")
stat = uint32(item->HeroicMR);
if (id == "heroicfr")
stat = uint32(item->HeroicFR);
if (id == "heroiccr")
stat = uint32(item->HeroicCR);
if (id == "heroicdr")
stat = uint32(item->HeroicDR);
if (id == "heroicpr")
stat = uint32(item->HeroicPR);
if (id == "heroicsvcorrup")
stat = uint32(item->HeroicSVCorrup);
if (id == "healamt")
stat = uint32(item->HealAmt);
if (id == "spelldmg")
stat = uint32(item->SpellDmg);
if (id == "ldonsellbackrate")
stat = uint32(item->LDoNSellBackRate);
if (id == "scriptfileid")
stat = uint32(item->ScriptFileID);
if (id == "expendablearrow")
stat = uint32(item->ExpendableArrow);
if (id == "clairvoyance")
stat = uint32(item->Clairvoyance);
// Begin Effects
if (id == "clickeffect")
stat = uint32(item->Click.Effect);
if (id == "clicktype")
stat = uint32(item->Click.Type);
if (id == "clicklevel")
stat = uint32(item->Click.Level);
if (id == "clicklevel2")
stat = uint32(item->Click.Level2);
if (id == "proceffect")
stat = uint32(item->Proc.Effect);
if (id == "proctype")
stat = uint32(item->Proc.Type);
if (id == "proclevel")
stat = uint32(item->Proc.Level);
if (id == "proclevel2")
stat = uint32(item->Proc.Level2);
if (id == "worneffect")
stat = uint32(item->Worn.Effect);
if (id == "worntype")
stat = uint32(item->Worn.Type);
if (id == "wornlevel")
stat = uint32(item->Worn.Level);
if (id == "wornlevel2")
stat = uint32(item->Worn.Level2);
if (id == "focuseffect")
stat = uint32(item->Focus.Effect);
if (id == "focustype")
stat = uint32(item->Focus.Type);
if (id == "focuslevel")
stat = uint32(item->Focus.Level);
if (id == "focuslevel2")
stat = uint32(item->Focus.Level2);
if (id == "scrolleffect")
stat = uint32(item->Scroll.Effect);
if (id == "scrolltype")
stat = uint32(item->Scroll.Type);
if (id == "scrolllevel")
stat = uint32(item->Scroll.Level);
if (id == "scrolllevel2")
stat = uint32(item->Scroll.Level2);
safe_delete(inst);
return stat;
}