Read item skill requirements from the cache template
validForSkills, isShield, the guard attack rating and the NPC vendor skill filter read getItemSkillReq. Offline parity (p15d.py, 7586 rows): 0 differences. No template lists "Cloth" in item_skill_req and none has more than one entry, so file order vs HashMap order is moot. Value changes: none. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
5b3c511b55
commit
7abc63ffc3
3 files changed
+9
-9
No files matched your search
@@ -71,12 +71,12 @@ public enum ItemManager {
|
||||
|
||||
CharacterSkill characterSkill;
|
||||
|
||||
if (item.template.item_skill_required.isEmpty())
|
||||
if (item.template.cacheTemplate.getItemSkillReq().isEmpty())
|
||||
return true;
|
||||
|
||||
for (String skillRequired : item.template.item_skill_required.keySet()) {
|
||||
for (String skillRequired : item.template.cacheTemplate.getItemSkillReq().keySet()) {
|
||||
|
||||
int required_value = item.template.item_skill_required.get(skillRequired);
|
||||
int required_value = item.template.cacheTemplate.getItemSkillReq().get(skillRequired);
|
||||
characterSkill = skills.get(skillRequired);
|
||||
|
||||
if (characterSkill == null)
|
||||
@@ -108,7 +108,7 @@ public enum ItemManager {
|
||||
|
||||
public static boolean isShield(Item item) {
|
||||
|
||||
if (item.template.item_skill_required.containsKey("Block"))
|
||||
if (item.template.cacheTemplate.getItemSkillReq().containsKey("Block"))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
@@ -116,7 +116,7 @@ public enum ItemManager {
|
||||
|
||||
public static boolean isShield(ItemTemplate template) {
|
||||
|
||||
if (template.item_skill_required.containsKey("Block"))
|
||||
if (template.cacheTemplate.getItemSkillReq().containsKey("Block"))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
|
||||
@@ -362,9 +362,9 @@ public enum NPCManager {
|
||||
int strength = guard.getStatStrCurrent();
|
||||
int baseAtr = guard.mobBase.getAttackRating();
|
||||
if (guard.charItemManager.equipped.get(mbEnums.EquipSlotType.RHELD) != null)
|
||||
guard.atrHandOne = baseAtr + (int) ((strength * 0.5f) + ((int) guard.charItemManager.equipped.get(mbEnums.EquipSlotType.RHELD).template.item_skill_required.values().toArray()[0] * 4) + ((int) guard.charItemManager.equipped.get(mbEnums.EquipSlotType.RHELD).template.item_skill_required.values().toArray()[0] * 3));
|
||||
guard.atrHandOne = baseAtr + (int) ((strength * 0.5f) + ((int) guard.charItemManager.equipped.get(mbEnums.EquipSlotType.RHELD).template.cacheTemplate.getItemSkillReq().values().toArray()[0] * 4) + ((int) guard.charItemManager.equipped.get(mbEnums.EquipSlotType.RHELD).template.cacheTemplate.getItemSkillReq().values().toArray()[0] * 3));
|
||||
else if (guard.charItemManager.equipped.get(mbEnums.EquipSlotType.LHELD) != null && !ItemManager.isShield(guard.charItemManager.equipped.get(mbEnums.EquipSlotType.LHELD).template))
|
||||
guard.atrHandTwo = baseAtr + (int) ((strength * 0.5f) + ((int) guard.charItemManager.equipped.get(mbEnums.EquipSlotType.LHELD).template.item_skill_required.values().toArray()[0] * 4) + ((int) guard.charItemManager.equipped.get(mbEnums.EquipSlotType.LHELD).template.item_skill_required.values().toArray()[0] * 3));
|
||||
guard.atrHandTwo = baseAtr + (int) ((strength * 0.5f) + ((int) guard.charItemManager.equipped.get(mbEnums.EquipSlotType.LHELD).template.cacheTemplate.getItemSkillReq().values().toArray()[0] * 4) + ((int) guard.charItemManager.equipped.get(mbEnums.EquipSlotType.LHELD).template.cacheTemplate.getItemSkillReq().values().toArray()[0] * 3));
|
||||
else
|
||||
guard.atrHandOne = baseAtr;
|
||||
}
|
||||
|
||||
@@ -966,8 +966,8 @@ public class NPC extends AbstractCharacter {
|
||||
for (Integer itemID : fullItemList) {
|
||||
itemTemplate = ItemTemplate.templates.get(itemID);
|
||||
|
||||
if (itemTemplate.item_skill_required.values().iterator().hasNext())
|
||||
skillRequired = itemTemplate.item_skill_required.values().iterator().next();
|
||||
if (itemTemplate.cacheTemplate.getItemSkillReq().values().iterator().hasNext())
|
||||
skillRequired = itemTemplate.cacheTemplate.getItemSkillReq().values().iterator().next();
|
||||
|
||||
boolean exclude = skillRequired == 0 && ItemTemplate.templates.get(itemID).cacheTemplate.getItemType().equals(ItemType.WEAPON);
|
||||
if (skillRequired <= maxSkill && !exclude)
|
||||
|
||||
Reference in new issue
Block a user