Change for 'general' slot range light source behavior

This commit is contained in:
Uleat
2015-02-26 21:05:06 -05:00
parent 1f0b86a0d5
commit e15ee6e320
6 changed files with 37 additions and 17 deletions
+8 -4
View File
@@ -5049,6 +5049,7 @@ void Merc::UpdateEquipmentLight()
}
}
uint8 general_light_type = 0;
for (auto iter = itemlist.begin(); iter != itemlist.end(); ++iter) {
auto item = database.GetItem((*iter)->item_id);
if (item == nullptr) { continue; }
@@ -5063,11 +5064,14 @@ void Merc::UpdateEquipmentLight()
break;
}
if (m_Light.IsLevelGreater(item->Light, m_Light.Type.Equipment)) {
m_Light.Type.Equipment = item->Light;
m_Light.Level.Equipment = m_Light.TypeToLevel(m_Light.Type.Equipment);
}
if (m_Light.TypeToLevel(item->Light))
general_light_type = item->Light;
}
if (m_Light.IsLevelGreater(general_light_type, m_Light.Type.Equipment))
m_Light.Type.Equipment = general_light_type;
m_Light.Level.Equipment = m_Light.TypeToLevel(m_Light.Type.Equipment);
}
void Merc::AddItem(uint8 slot, uint32 item_id) {