Mercurial > mm7
diff Items.cpp @ 1709:8251e59fd7c1
ITEM_ENCHANTED to ITEM_HARDENED, created helper functions to get params from itemtable for ItemGens
author | Grumpy7 |
---|---|
date | Tue, 24 Sep 2013 07:29:55 +0200 |
parents | 2a309997c42f |
children | bdac32c645c5 |
line wrap: on
line diff
--- a/Items.cpp Mon Sep 23 07:07:06 2013 +0200 +++ b/Items.cpp Tue Sep 24 07:29:55 2013 +0200 @@ -1479,7 +1479,7 @@ const char *nameModificator; const char *format_str; - equip_type = pItemsTable->pItems[uItemID].uEquipType; + equip_type = GetItemEquipType(); if ( (equip_type == EQUIP_REAGENT) || (equip_type == EQUIP_POTION) || (equip_type == EQUIP_GOLD) ) { sprintf(item__getname_buffer.data(), "%s", pItemsTable->pItems[uItemID].pName); @@ -1699,7 +1699,7 @@ while ( tmp_chance < current_chance ); } - if (pItems[out_item->uItemID].uEquipType == EQUIP_POTION && out_item->uItemID != ITEM_POTION_BOTTLE ) + if (out_item->GetItemEquipType() == EQUIP_POTION && out_item->uItemID != ITEM_POTION_BOTTLE ) {// if it potion set potion spec out_item->uEnchantmentType = 0; for (int i=0; i<2; ++i) @@ -1742,7 +1742,7 @@ out_item->uItemID = 1; if ( !out_item->uItemID ) out_item->uItemID = 1; - if (pItems[out_item->uItemID].uEquipType == EQUIP_POTION && out_item->uItemID != ITEM_POTION_BOTTLE ) + if (out_item->GetItemEquipType() == EQUIP_POTION && out_item->uItemID != ITEM_POTION_BOTTLE ) {// if it potion set potion spec out_item->uEnchantmentType = 0; for (int i=0; i<2; ++i) @@ -1760,13 +1760,13 @@ else out_item->uAttributes = 1; - if ( pItems[out_item->uItemID].uEquipType != EQUIP_POTION ) + if ( out_item->GetItemEquipType() != EQUIP_POTION ) { out_item->uSpecEnchantmentType = 0; out_item->uEnchantmentType = 0; } //try get special enhansment - switch (pItems[out_item->uItemID].uEquipType) + switch (out_item->GetItemEquipType()) { case EQUIP_OFF_HAND: case EQUIP_MAIN_HAND : @@ -1790,15 +1790,15 @@ special_chance = rand() % 100; if ( special_chance < uBonusChanceStandart[v6]) { - v26 = rand() %pEnchantmentsSumm[pItems[out_item->uItemID].uEquipType-3]; + v26 = rand() %pEnchantmentsSumm[out_item->GetItemEquipType()-3]; out_item->uEnchantmentType = 0; - v27=pEnchantments[out_item->uEnchantmentType].to_item[pItems[out_item->uItemID].uEquipType-3]; + v27=pEnchantments[out_item->uEnchantmentType].to_item[out_item->GetItemEquipType()-3]; if (v26>v27 ) { do { ++out_item->uEnchantmentType; - v27+=pEnchantments[out_item->uEnchantmentType].to_item[pItems[out_item->uItemID].uEquipType-3]; + v27+=pEnchantments[out_item->uEnchantmentType].to_item[out_item->GetItemEquipType()-3]; } while (v26>v27); } ++out_item->uEnchantmentType; @@ -1820,7 +1820,7 @@ return; break; case EQUIP_WAND: - out_item->uNumCharges = rand() % 6 + pItemsTable->pItems[out_item->uItemID].uDamageMod + 1; + out_item->uNumCharges = rand() % 6 + out_item->GetDamageMod() + 1; out_item->uMaxCharges = out_item->uNumCharges; default: return; @@ -1838,7 +1838,7 @@ case 2: if ((tr_lv==1)||(tr_lv==0)) { - spc=pSpecialEnchantments[i].to_item_apply[pItems[out_item->uItemID].uEquipType]; + spc=pSpecialEnchantments[i].to_item_apply[out_item->GetItemEquipType()]; spc_sum+=spc; if(spc) { @@ -1849,7 +1849,7 @@ case 3: if ((tr_lv==2)||(tr_lv==1)||(tr_lv==0)) { - spc=pSpecialEnchantments[i].to_item_apply[pItems[out_item->uItemID].uEquipType]; + spc=pSpecialEnchantments[i].to_item_apply[out_item->GetItemEquipType()]; spc_sum+=spc; if(spc) { @@ -1860,7 +1860,7 @@ case 4: if ((tr_lv==3)||(tr_lv==2)||(tr_lv==1)) { - spc=pSpecialEnchantments[i].to_item_apply[pItems[out_item->uItemID].uEquipType]; + spc=pSpecialEnchantments[i].to_item_apply[out_item->GetItemEquipType()]; spc_sum+=spc; if(spc) { @@ -1871,7 +1871,7 @@ case 5: if (tr_lv==3) { - spc=pSpecialEnchantments[i].to_item_apply[pItems[out_item->uItemID].uEquipType]; + spc=pSpecialEnchantments[i].to_item_apply[out_item->GetItemEquipType()]; spc_sum+=spc; if(spc) { @@ -1885,14 +1885,14 @@ v46 = rand()%spc_sum+1; j=0; out_item->uSpecEnchantmentType =val_list[j]; - v45=pSpecialEnchantments[val_list[j]].to_item_apply[pItems[out_item->uItemID].uEquipType]; + v45=pSpecialEnchantments[val_list[j]].to_item_apply[out_item->GetItemEquipType()]; if (v45<v46) { do { ++j; out_item->uSpecEnchantmentType=val_list[j]; - v45+=pSpecialEnchantments[val_list[j]].to_item_apply[pItems[out_item->uItemID].uEquipType]; + v45+=pSpecialEnchantments[val_list[j]].to_item_apply[out_item->GetItemEquipType()]; } while (v45<v46); } ++out_item->uSpecEnchantmentType; @@ -2398,6 +2398,35 @@ return false; } +ITEM_EQUIP_TYPE ItemGen::GetItemEquipType() +{ + return pItemsTable->pItems[this->uItemID].uEquipType; +} + +unsigned char ItemGen::GetPlayerSkillType() +{ + return pItemsTable->pItems[this->uItemID].uSkillType; +} + +char* ItemGen::GetIconName() +{ + return pItemsTable->pItems[this->uItemID].pIconName; +} + +unsigned __int8 ItemGen::GetDamageDice() +{ + return pItemsTable->pItems[this->uItemID].uDamageDice; +} + +unsigned __int8 ItemGen::GetDamageRoll() +{ + return pItemsTable->pItems[this->uItemID].uDamageRoll; +} + +unsigned __int8 ItemGen::GetDamageMod() +{ + return pItemsTable->pItems[this->uItemID].uDamageMod; +} //----- (004B8E3D) -------------------------------------------------------- void GenerateStandartShopItems() {