Rename and clean up MapleWeaponType

This commit is contained in:
P0nk
2021-09-09 20:52:49 +02:00
parent 6ca5abd896
commit a5541c121c
5 changed files with 25 additions and 24 deletions

View File

@@ -693,16 +693,16 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
return false;
}
public int calculateMaxBaseDamage(int watk, MapleWeaponType weapon) {
public int calculateMaxBaseDamage(int watk, WeaponType weapon) {
int mainstat, secondarystat;
if (getJob().isA(MapleJob.THIEF) && weapon == MapleWeaponType.DAGGER_OTHER) {
weapon = MapleWeaponType.DAGGER_THIEVES;
if (getJob().isA(MapleJob.THIEF) && weapon == WeaponType.DAGGER_OTHER) {
weapon = WeaponType.DAGGER_THIEVES;
}
if (weapon == MapleWeaponType.BOW || weapon == MapleWeaponType.CROSSBOW || weapon == MapleWeaponType.GUN) {
if (weapon == WeaponType.BOW || weapon == WeaponType.CROSSBOW || weapon == WeaponType.GUN) {
mainstat = localdex;
secondarystat = localstr;
} else if (weapon == MapleWeaponType.CLAW || weapon == MapleWeaponType.DAGGER_THIEVES) {
} else if (weapon == WeaponType.CLAW || weapon == WeaponType.DAGGER_THIEVES) {
mainstat = localluk;
secondarystat = localdex + localstr;
} else {
@@ -7824,11 +7824,11 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
if (job.isA(MapleJob.THIEF) || job.isA(MapleJob.BOWMAN) || job.isA(MapleJob.PIRATE) || job.isA(MapleJob.NIGHTWALKER1) || job.isA(MapleJob.WINDARCHER1)) {
Item weapon_item = getInventory(InventoryType.EQUIPPED).getItem((short) -11);
if (weapon_item != null) {
MapleWeaponType weapon = ii.getWeaponType(weapon_item.getItemId());
boolean bow = weapon == MapleWeaponType.BOW;
boolean crossbow = weapon == MapleWeaponType.CROSSBOW;
boolean claw = weapon == MapleWeaponType.CLAW;
boolean gun = weapon == MapleWeaponType.GUN;
WeaponType weapon = ii.getWeaponType(weapon_item.getItemId());
boolean bow = weapon == WeaponType.BOW;
boolean crossbow = weapon == WeaponType.CROSSBOW;
boolean claw = weapon == WeaponType.CLAW;
boolean gun = weapon == WeaponType.GUN;
if (bow || crossbow || claw || gun) {
// Also calc stars into this.
Inventory inv = getInventory(InventoryType.USE);

View File

@@ -21,7 +21,7 @@
*/
package client.inventory;
public enum MapleWeaponType {
public enum WeaponType {
NOT_A_WEAPON(0),
GENERAL1H_SWING(4.4),
GENERAL1H_STAB(3.2),
@@ -42,9 +42,10 @@ public enum MapleWeaponType {
SWORD1H(4.0),
SWORD2H(4.6),
WAND(3.6);
private double damageMultiplier;
private MapleWeaponType(double maxDamageMultiplier) {
private final double damageMultiplier;
WeaponType(double maxDamageMultiplier) {
this.damageMultiplier = maxDamageMultiplier;
}

View File

@@ -25,7 +25,7 @@ import client.*;
import client.inventory.Inventory;
import client.inventory.InventoryType;
import client.inventory.Item;
import client.inventory.MapleWeaponType;
import client.inventory.WeaponType;
import client.inventory.manipulator.MapleInventoryManipulator;
import config.YamlConfig;
import constants.game.GameConstants;
@@ -90,8 +90,8 @@ public final class RangedAttackHandler extends AbstractDealDamageHandler {
}
} else {
Item weapon = chr.getInventory(InventoryType.EQUIPPED).getItem((short) -11);
MapleWeaponType type = MapleItemInformationProvider.getInstance().getWeaponType(weapon.getItemId());
if (type == MapleWeaponType.NOT_A_WEAPON) {
WeaponType type = MapleItemInformationProvider.getInstance().getWeaponType(weapon.getItemId());
if (type == WeaponType.NOT_A_WEAPON) {
return;
}
short slot = -1;
@@ -133,13 +133,13 @@ public final class RangedAttackHandler extends AbstractDealDamageHandler {
boolean bow = ItemConstants.isArrowForBow(id);
boolean cbow = ItemConstants.isArrowForCrossBow(id);
if (item.getQuantity() >= bulletCount) { //Fixes the bug where you can't use your last arrow.
if (type == MapleWeaponType.CLAW && ItemConstants.isThrowingStar(id) && weapon.getItemId() != 1472063) {
if (type == WeaponType.CLAW && ItemConstants.isThrowingStar(id) && weapon.getItemId() != 1472063) {
if (((id == 2070007 || id == 2070018) && chr.getLevel() < 70) || (id == 2070016 && chr.getLevel() < 50)) {
} else {
projectile = id;
break;
}
} else if ((type == MapleWeaponType.GUN && ItemConstants.isBullet(id))) {
} else if ((type == WeaponType.GUN && ItemConstants.isBullet(id))) {
if (id == 2331000 && id == 2332000) {
if (chr.getLevel() > 69) {
projectile = id;
@@ -149,7 +149,7 @@ public final class RangedAttackHandler extends AbstractDealDamageHandler {
projectile = id;
break;
}
} else if ((type == MapleWeaponType.BOW && bow) || (type == MapleWeaponType.CROSSBOW && cbow) || (weapon.getItemId() == 1472063 && (bow || cbow))) {
} else if ((type == WeaponType.BOW && bow) || (type == WeaponType.CROSSBOW && cbow) || (weapon.getItemId() == 1472063 && (bow || cbow))) {
projectile = id;
break;
}

View File

@@ -28,7 +28,7 @@ import client.SkillFactory;
import client.autoban.AutobanFactory;
import client.inventory.InventoryType;
import client.inventory.Item;
import client.inventory.MapleWeaponType;
import client.inventory.WeaponType;
import client.status.MonsterStatusEffect;
import constants.skills.Outlaw;
import net.packet.InPacket;
@@ -141,7 +141,7 @@ public final class SummonDamageHandler extends AbstractDealDamageHandler {
if (weapon_item != null) {
maxBaseDmg = player.calculateMaxBaseDamage(watk, MapleItemInformationProvider.getInstance().getWeaponType(weapon_item.getItemId()));
} else {
maxBaseDmg = player.calculateMaxBaseDamage(watk, MapleWeaponType.SWORD1H);
maxBaseDmg = player.calculateMaxBaseDamage(watk, WeaponType.SWORD1H);
}
float summonDmgMod = (maxBaseDmg >= 438) ? 0.054f : 0.077f;

View File

@@ -585,11 +585,11 @@ public class MapleItemInformationProvider {
return ret;
}
public MapleWeaponType getWeaponType(int itemId) {
public WeaponType getWeaponType(int itemId) {
int cat = (itemId / 10000) % 100;
MapleWeaponType[] type = {MapleWeaponType.SWORD1H, MapleWeaponType.GENERAL1H_SWING, MapleWeaponType.GENERAL1H_SWING, MapleWeaponType.DAGGER_OTHER, MapleWeaponType.NOT_A_WEAPON, MapleWeaponType.NOT_A_WEAPON, MapleWeaponType.NOT_A_WEAPON, MapleWeaponType.WAND, MapleWeaponType.STAFF, MapleWeaponType.NOT_A_WEAPON, MapleWeaponType.SWORD2H, MapleWeaponType.GENERAL2H_SWING, MapleWeaponType.GENERAL2H_SWING, MapleWeaponType.SPEAR_STAB, MapleWeaponType.POLE_ARM_SWING, MapleWeaponType.BOW, MapleWeaponType.CROSSBOW, MapleWeaponType.CLAW, MapleWeaponType.KNUCKLE, MapleWeaponType.GUN};
WeaponType[] type = {WeaponType.SWORD1H, WeaponType.GENERAL1H_SWING, WeaponType.GENERAL1H_SWING, WeaponType.DAGGER_OTHER, WeaponType.NOT_A_WEAPON, WeaponType.NOT_A_WEAPON, WeaponType.NOT_A_WEAPON, WeaponType.WAND, WeaponType.STAFF, WeaponType.NOT_A_WEAPON, WeaponType.SWORD2H, WeaponType.GENERAL2H_SWING, WeaponType.GENERAL2H_SWING, WeaponType.SPEAR_STAB, WeaponType.POLE_ARM_SWING, WeaponType.BOW, WeaponType.CROSSBOW, WeaponType.CLAW, WeaponType.KNUCKLE, WeaponType.GUN};
if (cat < 30 || cat > 49) {
return MapleWeaponType.NOT_A_WEAPON;
return WeaponType.NOT_A_WEAPON;
}
return type[cat - 30];
}