scenario.cpp: check item types before adding a default description,
party.cpp: minor cleaninggs...
This commit is contained in:
@@ -429,8 +429,90 @@ void cScenario::import_legacy(legacy::scen_item_data_type const &old){
|
||||
|
||||
scen_items.resize(400);
|
||||
StringList strings = *ResMgr::strings.get("legacy-items-desc");
|
||||
static eItemType const legacyTypes[399]={
|
||||
eItemType::GOLD, eItemType::FOOD, eItemType::FOOD, eItemType::FOOD, eItemType::PANTS,
|
||||
eItemType::PANTS, eItemType::ARMOR, eItemType::ARMOR, eItemType::ARMOR, eItemType::THROWN_MISSILE,
|
||||
eItemType::THROWN_MISSILE, eItemType::ONE_HANDED, eItemType::ONE_HANDED, eItemType::NON_USE_OBJECT, eItemType::NON_USE_OBJECT,
|
||||
eItemType::NON_USE_OBJECT, eItemType::NON_USE_OBJECT, eItemType::TOOL, eItemType::TOOL, eItemType::NON_USE_OBJECT,
|
||||
eItemType::NON_USE_OBJECT, eItemType::NON_USE_OBJECT, eItemType::NON_USE_OBJECT, eItemType::NON_USE_OBJECT, eItemType::NON_USE_OBJECT,
|
||||
eItemType::TOOL, eItemType::TOOL, eItemType::SCROLL, eItemType::NON_USE_OBJECT, eItemType::NON_USE_OBJECT,
|
||||
eItemType::ARMOR, eItemType::ONE_HANDED, eItemType::ONE_HANDED, eItemType::ONE_HANDED, eItemType::ONE_HANDED,
|
||||
eItemType::ONE_HANDED, eItemType::TWO_HANDED, eItemType::ONE_HANDED, eItemType::ONE_HANDED, eItemType::ONE_HANDED,
|
||||
eItemType::ONE_HANDED, eItemType::ONE_HANDED, eItemType::TWO_HANDED, eItemType::ONE_HANDED, eItemType::ONE_HANDED,
|
||||
eItemType::ONE_HANDED, eItemType::ONE_HANDED, eItemType::TWO_HANDED, eItemType::TWO_HANDED, eItemType::TWO_HANDED,
|
||||
eItemType::TWO_HANDED, eItemType::ONE_HANDED, eItemType::ONE_HANDED, eItemType::ONE_HANDED, eItemType::ONE_HANDED,
|
||||
eItemType::TWO_HANDED, eItemType::ONE_HANDED, eItemType::ONE_HANDED, eItemType::ONE_HANDED, eItemType::ONE_HANDED,
|
||||
eItemType::TWO_HANDED, eItemType::TWO_HANDED, eItemType::TWO_HANDED, eItemType::TWO_HANDED, eItemType::ONE_HANDED,
|
||||
eItemType::ONE_HANDED, eItemType::ONE_HANDED, eItemType::ONE_HANDED, eItemType::TWO_HANDED, eItemType::ONE_HANDED,
|
||||
eItemType::ONE_HANDED, eItemType::ONE_HANDED, eItemType::ONE_HANDED, eItemType::TWO_HANDED, eItemType::TWO_HANDED,
|
||||
eItemType::TWO_HANDED, eItemType::TWO_HANDED, eItemType::ONE_HANDED, eItemType::ONE_HANDED, eItemType::ONE_HANDED,
|
||||
eItemType::ONE_HANDED, eItemType::TWO_HANDED, eItemType::ONE_HANDED, eItemType::ONE_HANDED, eItemType::ONE_HANDED,
|
||||
eItemType::ONE_HANDED, eItemType::TWO_HANDED, eItemType::TWO_HANDED, eItemType::TWO_HANDED, eItemType::TWO_HANDED,
|
||||
eItemType::TWO_HANDED, eItemType::TWO_HANDED, eItemType::ONE_HANDED, eItemType::ONE_HANDED, eItemType::ONE_HANDED,
|
||||
eItemType::ONE_HANDED, eItemType::THROWN_MISSILE, eItemType::THROWN_MISSILE, eItemType::THROWN_MISSILE, eItemType::THROWN_MISSILE,
|
||||
eItemType::THROWN_MISSILE, eItemType::THROWN_MISSILE, eItemType::THROWN_MISSILE, eItemType::ARROW, eItemType::ARROW,
|
||||
eItemType::ARROW, eItemType::THROWN_MISSILE, eItemType::THROWN_MISSILE, eItemType::BOW, eItemType::BOW,
|
||||
eItemType::BOW, eItemType::BOW, eItemType::CROSSBOW, eItemType::CROSSBOW, eItemType::CROSSBOW,
|
||||
eItemType::BOLTS, eItemType::BOLTS, eItemType::BOLTS, eItemType::MISSILE_NO_AMMO, eItemType::MISSILE_NO_AMMO,
|
||||
eItemType::ARMOR, eItemType::ARMOR, eItemType::ARMOR, eItemType::ARMOR, eItemType::ARMOR,
|
||||
eItemType::ARMOR, eItemType::ARMOR, eItemType::ARMOR, eItemType::ARMOR, eItemType::ARMOR,
|
||||
eItemType::ARMOR, eItemType::ARMOR, eItemType::ARMOR, eItemType::ARMOR, eItemType::ARMOR,
|
||||
eItemType::ARMOR, eItemType::ARMOR, eItemType::ARMOR, eItemType::ARMOR, eItemType::SHIELD,
|
||||
eItemType::SHIELD, eItemType::SHIELD, eItemType::SHIELD, eItemType::SHIELD, eItemType::SHIELD,
|
||||
eItemType::SHIELD, eItemType::SHIELD, eItemType::SHIELD, eItemType::SHIELD, eItemType::SHIELD,
|
||||
eItemType::SHIELD, eItemType::SHIELD, eItemType::SHIELD, eItemType::SHIELD, eItemType::HELM,
|
||||
eItemType::HELM, eItemType::HELM, eItemType::HELM, eItemType::HELM, eItemType::HELM,
|
||||
eItemType::HELM, eItemType::HELM, eItemType::HELM, eItemType::HELM, eItemType::GLOVES,
|
||||
eItemType::GLOVES, eItemType::GLOVES, eItemType::GLOVES, eItemType::GLOVES, eItemType::BOOTS,
|
||||
eItemType::BOOTS, eItemType::TOOL, eItemType::WEAPON_POISON, eItemType::WEAPON_POISON, eItemType::WEAPON_POISON,
|
||||
eItemType::WEAPON_POISON, eItemType::NON_USE_OBJECT, eItemType::NON_USE_OBJECT, eItemType::TOOL, eItemType::TOOL,
|
||||
eItemType::SCROLL, eItemType::NON_USE_OBJECT, eItemType::POTION, eItemType::SCROLL, eItemType::SCROLL,
|
||||
eItemType::SCROLL, eItemType::POTION, eItemType::SCROLL, eItemType::SCROLL, eItemType::POTION,
|
||||
eItemType::POTION, eItemType::POTION, eItemType::SCROLL, eItemType::SCROLL, eItemType::SCROLL,
|
||||
eItemType::POTION, eItemType::SCROLL, eItemType::SCROLL, eItemType::SCROLL, eItemType::SCROLL,
|
||||
eItemType::SCROLL, eItemType::SCROLL, eItemType::SCROLL, eItemType::SCROLL, eItemType::SCROLL,
|
||||
eItemType::SCROLL, eItemType::SCROLL, eItemType::SCROLL, eItemType::SCROLL, eItemType::WAND,
|
||||
eItemType::WAND, eItemType::POTION, eItemType::POTION, eItemType::POTION, eItemType::POTION,
|
||||
eItemType::NON_USE_OBJECT, eItemType::NON_USE_OBJECT, eItemType::HELM, eItemType::HELM, eItemType::HELM,
|
||||
eItemType::HELM, eItemType::HELM, eItemType::NON_USE_OBJECT, eItemType::NON_USE_OBJECT, eItemType::NON_USE_OBJECT,
|
||||
eItemType::NON_USE_OBJECT, eItemType::GLOVES, eItemType::GLOVES, eItemType::GLOVES, eItemType::GLOVES,
|
||||
eItemType::GLOVES, eItemType::GLOVES, eItemType::BOOTS, eItemType::BOOTS, eItemType::BOOTS,
|
||||
eItemType::BOOTS, eItemType::BOOTS, eItemType::SHIELD, eItemType::SHIELD, eItemType::SHIELD,
|
||||
eItemType::SHIELD, eItemType::SHIELD, eItemType::SHIELD, eItemType::SHIELD, eItemType::SHIELD,
|
||||
eItemType::SHIELD, eItemType::POTION, eItemType::POTION, eItemType::POTION, eItemType::POTION,
|
||||
eItemType::POTION, eItemType::POTION, eItemType::POTION, eItemType::POTION, eItemType::POTION,
|
||||
eItemType::POTION, eItemType::POTION, eItemType::POTION, eItemType::POTION, eItemType::POTION,
|
||||
eItemType::POTION, eItemType::POTION, eItemType::POTION, eItemType::POTION, eItemType::POTION,
|
||||
eItemType::POTION, eItemType::POTION, eItemType::POTION, eItemType::POTION, eItemType::POTION,
|
||||
eItemType::POTION, eItemType::POTION, eItemType::POTION, eItemType::THROWN_MISSILE, eItemType::THROWN_MISSILE,
|
||||
eItemType::ARROW, eItemType::ARROW, eItemType::ARROW, eItemType::ARROW, eItemType::ARROW,
|
||||
eItemType::BOW, eItemType::BOW, eItemType::THROWN_MISSILE, eItemType::WAND, eItemType::WAND,
|
||||
eItemType::WAND, eItemType::WAND, eItemType::WAND, eItemType::WAND, eItemType::WAND,
|
||||
eItemType::WAND, eItemType::WAND, eItemType::WAND, eItemType::RING, eItemType::RING,
|
||||
eItemType::RING, eItemType::RING, eItemType::RING, eItemType::RING, eItemType::RING,
|
||||
eItemType::RING, eItemType::RING, eItemType::RING, eItemType::RING, eItemType::RING,
|
||||
eItemType::RING, eItemType::RING, eItemType::RING, eItemType::RING, eItemType::RING,
|
||||
eItemType::RING, eItemType::RING, eItemType::RING, eItemType::RING, eItemType::RING,
|
||||
eItemType::RING, eItemType::RING, eItemType::RING, eItemType::RING, eItemType::NECKLACE,
|
||||
eItemType::NECKLACE, eItemType::NECKLACE, eItemType::NECKLACE, eItemType::NECKLACE, eItemType::NECKLACE,
|
||||
eItemType::NECKLACE, eItemType::NECKLACE, eItemType::NECKLACE, eItemType::NECKLACE, eItemType::NECKLACE,
|
||||
eItemType::NECKLACE, eItemType::NECKLACE, eItemType::NECKLACE, eItemType::NON_USE_OBJECT, eItemType::NON_USE_OBJECT,
|
||||
eItemType::POTION, eItemType::NON_USE_OBJECT, eItemType::NON_USE_OBJECT, eItemType::SCROLL, eItemType::SCROLL,
|
||||
eItemType::ONE_HANDED, eItemType::ONE_HANDED, eItemType::ONE_HANDED, eItemType::TWO_HANDED, eItemType::ONE_HANDED,
|
||||
eItemType::ONE_HANDED, eItemType::ONE_HANDED, eItemType::ONE_HANDED, eItemType::NON_USE_OBJECT, eItemType::NON_USE_OBJECT,
|
||||
eItemType::SCROLL, eItemType::SCROLL, eItemType::POTION, eItemType::RING, eItemType::RING,
|
||||
eItemType::NECKLACE, eItemType::WAND, eItemType::WAND, eItemType::HELM, eItemType::SHIELD,
|
||||
eItemType::ONE_HANDED, eItemType::SHIELD, eItemType::RING, eItemType::NON_USE_OBJECT, eItemType::NON_USE_OBJECT,
|
||||
eItemType::NON_USE_OBJECT, eItemType::NON_USE_OBJECT, eItemType::NON_USE_OBJECT, eItemType::NON_USE_OBJECT, eItemType::NON_USE_OBJECT,
|
||||
eItemType::NON_USE_OBJECT, eItemType::NON_USE_OBJECT, eItemType::ONE_HANDED, eItemType::ONE_HANDED, eItemType::TWO_HANDED,
|
||||
eItemType::ONE_HANDED, eItemType::SHIELD, eItemType::ONE_HANDED, eItemType::RING, eItemType::TWO_HANDED,
|
||||
eItemType::NON_USE_OBJECT, eItemType::NON_USE_OBJECT, eItemType::ONE_HANDED, eItemType::ARMOR, eItemType::PANTS,
|
||||
eItemType::FOOD, eItemType::FOOD, eItemType::SCROLL, eItemType::NON_USE_OBJECT,
|
||||
};
|
||||
for(size_t i = 0; i < 400; i++) {
|
||||
scen_items[i].import_legacy(old.scen_items[i]);
|
||||
if (i>=399 || scen_items[i].variety!=legacyTypes[i]) // check with legacy type
|
||||
continue;
|
||||
if (i>=strings.size())
|
||||
continue;
|
||||
if (!scen_items[i].desc.empty())
|
||||
|
@@ -649,10 +649,10 @@ bool cParty::forced_give(cItem item,eItemAbil abil,short dat) {
|
||||
item.abil_data[0] = dat / 1000;
|
||||
item.abil_data[1] = dat % 1000;
|
||||
}
|
||||
// TODO: It's strange to check main_status in the inner loop here rather than the outer loop
|
||||
for(cPlayer& pc : *this)
|
||||
for(cPlayer& pc : *this) {
|
||||
if(pc.main_status != eMainStatus::ALIVE) continue;
|
||||
for(cItem& slot : pc.items)
|
||||
if(pc.main_status == eMainStatus::ALIVE && slot.variety == eItemType::NO_ITEM) {
|
||||
if(slot.variety == eItemType::NO_ITEM) {
|
||||
slot = item;
|
||||
|
||||
if(print_result) {
|
||||
@@ -668,6 +668,7 @@ bool cParty::forced_give(cItem item,eItemAbil abil,short dat) {
|
||||
pc.sort_items();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user