Browse Source

new spell ATR

lakebane-jobs
FatBoy-DOTC 1 day ago
parent
commit
3d199a9362
  1. 2
      src/engine/devcmd/cmds/PrintStatsCmd.java
  2. 3
      src/engine/gameManager/PowersManager.java
  3. 20
      src/engine/objects/PlayerCombatStats.java

2
src/engine/devcmd/cmds/PrintStatsCmd.java

@ -90,7 +90,7 @@ public class PrintStatsCmd extends AbstractDevCmd {
newOut += "=== POWERS ===" + newline; newOut += "=== POWERS ===" + newline;
for(CharacterPower power : pc.getPowers().values()){ for(CharacterPower power : pc.getPowers().values()){
if(power.getPower().requiresHitRoll) { if(power.getPower().requiresHitRoll) {
newOut += power.getPower().name + " ATR: " + (int) PlayerCombatStats.getSpellAtr(pc,power) + newline; newOut += power.getPower().name + " ATR: " + Math.round(PlayerCombatStats.getSpellAtr(pc,power.getPower())) + newline;
} }
} }
throwbackInfo(pc, newOut); throwbackInfo(pc, newOut);

3
src/engine/gameManager/PowersManager.java

@ -2435,7 +2435,8 @@ public enum PowersManager {
public static boolean testAttack(PlayerCharacter pc, AbstractWorldObject awo, public static boolean testAttack(PlayerCharacter pc, AbstractWorldObject awo,
PowersBase pb, PerformActionMsg msg) { PowersBase pb, PerformActionMsg msg) {
// Get defense for target // Get defense for target
float atr = CharacterSkill.getATR(pc, pb.getSkillName()); //float atr = CharacterSkill.getATR(pc, pb.getSkillName());
float atr = PlayerCombatStats.getSpellAtr(pc, pb);
float defense; float defense;
if (AbstractWorldObject.IsAbstractCharacter(awo)) { if (AbstractWorldObject.IsAbstractCharacter(awo)) {

20
src/engine/objects/PlayerCombatStats.java

@ -878,12 +878,11 @@ public class PlayerCombatStats {
return HIT_VALUE_MAP.get(key); return HIT_VALUE_MAP.get(key);
} }
public static float getSpellAtr(PlayerCharacter pc, CharacterPower power) { public static float getSpellAtr(PlayerCharacter pc, PowersBase pb) {
if (pc == null) if (pc == null)
return 0f; return 0f;
PowersBase pb = power.getPower();
if(pb == null) if(pb == null)
return 0.0f; return 0.0f;
@ -899,7 +898,10 @@ public class PlayerCombatStats {
for(Effect eff : pc.charItemManager.getEquipped(1).effects.values()){ for(Effect eff : pc.charItemManager.getEquipped(1).effects.values()){
for (AbstractEffectModifier mod : eff.getEffectModifiers()){ for (AbstractEffectModifier mod : eff.getEffectModifiers()){
if(mod.modType.equals(Enum.ModType.OCV)){ if(mod.modType.equals(Enum.ModType.OCV)){
weaponatr1 += mod.minMod + (mod.getRamp() * power.getTrains()); float base = mod.minMod;
float ramp = mod.getRamp();
int trains = eff.getTrains();
weaponatr1 = base + (ramp * trains);
} }
} }
} }
@ -910,7 +912,10 @@ public class PlayerCombatStats {
for(Effect eff : pc.charItemManager.getEquipped(2).effects.values()){ for(Effect eff : pc.charItemManager.getEquipped(2).effects.values()){
for (AbstractEffectModifier mod : eff.getEffectModifiers()){ for (AbstractEffectModifier mod : eff.getEffectModifiers()){
if(mod.modType.equals(Enum.ModType.OCV)){ if(mod.modType.equals(Enum.ModType.OCV)){
weaponatr2 += mod.minMod + (mod.getRamp() * power.getTrains()); float base = mod.minMod;
float ramp = mod.getRamp();
int trains = eff.getTrains();
weaponatr2 = base + (ramp * trains);
} }
} }
} }
@ -953,7 +958,12 @@ public class PlayerCombatStats {
} }
} }
return (float) ((7 * modifiedfocusline +0.5 * (modifieddex)+weaponatr1+weaponatr2) * precise + (ATRbuffs - (weaponatr1+weaponatr2))) * stanceMod; float atr = 7 * modifiedfocusline;
atr += (modifieddex * 0.5f) + weaponatr1 + weaponatr2;
atr *= precise;
atr += ATRbuffs;
atr *= stanceMod;
return atr;
} }
} }

Loading…
Cancel
Save