Browse Source

Refactor isTwoHanded()

combat-2
MagicBot 8 months ago
parent
commit
56b89b7080
  1. 13
      src/engine/gameManager/CombatManager.java
  2. 7
      src/engine/objects/ItemBase.java
  3. 4
      src/engine/objects/ItemFactory.java
  4. 8
      src/engine/objects/ItemTemplate.java

13
src/engine/gameManager/CombatManager.java

@ -595,7 +595,9 @@ public enum CombatManager { @@ -595,7 +595,9 @@ public enum CombatManager {
// Apply Weapon power effect if any. don't try to apply twice if
// dual wielding. Perform after passive test for sync purposes.
if (attacker.getObjectType().equals(GameObjectType.PlayerCharacter) && (mainHand || wb.isTwoHanded())) {
ItemTemplate template = ItemTemplate.itemTemplates.get(wb.getUUID());
if (attacker.getObjectType().equals(GameObjectType.PlayerCharacter) && (mainHand || ItemTemplate.isTwoHanded(template))) {
dpj = ((PlayerCharacter) attacker).getWeaponPower();
@ -811,7 +813,8 @@ public enum CombatManager { @@ -811,7 +813,8 @@ public enum CombatManager {
// Apply Weapon power effect if any.
// don't try to apply twice if dual wielding.
if (attacker.getObjectType().equals(GameObjectType.PlayerCharacter) && (mainHand || wb.isTwoHanded())) {
ItemTemplate template = ItemTemplate.itemTemplates.get(wb.getUUID());
if (attacker.getObjectType().equals(GameObjectType.PlayerCharacter) && (mainHand || ItemTemplate.isTwoHanded(template))) {
dpj = ((PlayerCharacter) attacker).getWeaponPower();
if (dpj != null) {
@ -1046,7 +1049,7 @@ public enum CombatManager { @@ -1046,7 +1049,7 @@ public enum CombatManager {
return 75;
else if (required.equals("Sword")) {
if (wb.isTwoHanded())
if (ItemTemplate.isTwoHanded(template))
return 105;
else
return 98;
@ -1056,7 +1059,7 @@ public enum CombatManager { @@ -1056,7 +1059,7 @@ public enum CombatManager {
} else if (required.equals("Spear")) {
return 92;
} else if (required.equals("Hammer") || required.equals("Axe")) {
if (wb.isTwoHanded()) {
if (ItemTemplate.isTwoHanded(template)) {
return 105;
} else if (mastery.equals("Throwing")) {
return 115;
@ -1073,7 +1076,7 @@ public enum CombatManager { @@ -1073,7 +1076,7 @@ public enum CombatManager {
return 110;
} else if (required.equals("Bow")) {
return 109;
} else if (wb.isTwoHanded()) {
} else if (ItemTemplate.isTwoHanded(template)) {
return 105;
} else {
return 100;

7
src/engine/objects/ItemBase.java

@ -43,7 +43,6 @@ public class ItemBase { @@ -43,7 +43,6 @@ public class ItemBase {
private final short maxDamage;
private final String mastery;
private final engine.Enum.SourceType damageType;
private final boolean twoHanded;
private boolean isConsumable;
// Item stat modifiers
@ -74,8 +73,6 @@ public class ItemBase { @@ -74,8 +73,6 @@ public class ItemBase {
this.mastery = rs.getString("mastery");
damageType = Enum.SourceType.valueOf(rs.getString("damageType").toUpperCase());
this.twoHanded = (rs.getInt("twoHanded") == 1);
ItemTemplate template = ItemTemplate.itemTemplates.get(this.getUUID());
if (template == null)
@ -211,10 +208,6 @@ public class ItemBase { @@ -211,10 +208,6 @@ public class ItemBase {
public final int getUUID() {
return uuid;
}
public boolean isTwoHanded() {
return this.twoHanded;
}
public String getMastery() {
return mastery;
}

4
src/engine/objects/ItemFactory.java

@ -235,7 +235,7 @@ public class ItemFactory { @@ -235,7 +235,7 @@ public class ItemFactory {
case "Hammer":
case "Unarmed Combat":
if (ib.isTwoHanded())
if (ItemTemplate.isTwoHanded(template))
galvorAmount = 20;
else
galvorAmount = 10;
@ -829,7 +829,7 @@ public class ItemFactory { @@ -829,7 +829,7 @@ public class ItemFactory {
case "Hammer":
case "Unarmed Combat":
if (ib.isTwoHanded())
if (ItemTemplate.isTwoHanded(template))
galvorAmount = 22;
else
galvorAmount = 11;

8
src/engine/objects/ItemTemplate.java

@ -471,6 +471,14 @@ public class ItemTemplate { @@ -471,6 +471,14 @@ public class ItemTemplate {
return item.template.item_eq_slots_and.contains(EnumSet.of(Enum.EquipSlotType.LHELD, Enum.EquipSlotType.RHELD));
}
public static boolean isTwoHanded(ItemTemplate template) {
if (!template.item_type.equals(Enum.ItemType.WEAPON))
return false;
return template.item_eq_slots_and.contains(EnumSet.of(Enum.EquipSlotType.LHELD, Enum.EquipSlotType.RHELD));
}
public static boolean isShield(Item item) {
if (item.template.item_skill_required.containsKey("Block"))

Loading…
Cancel
Save