Unified Combat System

This commit is contained in:
2024-03-17 15:56:47 -05:00
parent 836c076884
commit 9d7f2f39fe
10 changed files with 481 additions and 1759 deletions
+2 -2
View File
@@ -9,7 +9,7 @@
package engine.jobs;
import engine.gameManager.CombatManager;
import engine.gameManager.FinalCombatManager;
import engine.job.AbstractJob;
import engine.objects.AbstractCharacter;
@@ -28,7 +28,7 @@ public class AttackJob extends AbstractJob {
@Override
protected void doJob() {
CombatManager.doCombat(this.source, slot);
FinalCombatManager.combatCycle(this.source,this.source.combatTarget);
}
public boolean success() {
+5 -4
View File
@@ -9,7 +9,6 @@
package engine.jobs;
import engine.gameManager.CombatManager;
import engine.gameManager.PowersManager;
import engine.math.Vector3fImmutable;
import engine.objects.AbstractCharacter;
@@ -77,10 +76,12 @@ public class DeferredPowerJob extends AbstractEffectJob {
// Wtf? Method returns TRUE if rage test fails? Seriously?
//DO valid range check ONLY for weapon powers with range less than attack range.
if (attackRange > powerRange)
if (CombatManager.NotInRange((AbstractCharacter) this.source, tar, powerRange))
if (attackRange > powerRange) {
float rangeSquared = this.source.loc.distanceSquared(tar.loc);
if (rangeSquared > powerRange * powerRange) {
return;
}
}
//Range check passed, apply power and clear weapon power.
((PlayerCharacter) this.source).setWeaponPower(null);