Skip to content

Commit b7f63f9

Browse files
author
Bytekeeper
committed
Moved damage dealing/distribution code to AgentUtil
1 parent e76499b commit b7f63f9

File tree

2 files changed

+27
-22
lines changed

2 files changed

+27
-22
lines changed

src/main/java/org/bk/ass/sim/AgentUtil.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,4 +194,28 @@ public static int reduceDamageByTargetSizeAndDamageType(
194194
}
195195
return damageShifted;
196196
}
197+
198+
public static void attack(Agent agent, Weapon selectedWeapon, Agent selectedEnemy, UnorderedCollection<Agent> allies, UnorderedCollection<Agent> enemies) {
199+
dealDamage(agent, selectedWeapon, selectedEnemy);
200+
switch (selectedWeapon.splashType) {
201+
case BOUNCE:
202+
dealBounceDamage(selectedWeapon, selectedEnemy, enemies);
203+
break;
204+
case RADIAL_SPLASH:
205+
dealRadialSplashDamage(selectedWeapon, selectedEnemy, allies, enemies);
206+
break;
207+
case RADIAL_ENEMY_SPLASH:
208+
dealRadialSplashDamage(selectedWeapon, selectedEnemy, enemies);
209+
break;
210+
case LINE_SPLASH:
211+
dealLineSplashDamage(agent, selectedWeapon, selectedEnemy, enemies);
212+
break;
213+
default:
214+
// No splash
215+
}
216+
agent.cooldown = agent.maxCooldown;
217+
if (agent.remainingStimFrames > 0) {
218+
agent.cooldown /= 2;
219+
}
220+
}
197221
}

src/main/java/org/bk/ass/sim/AttackerBehavior.java

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -95,27 +95,8 @@ private void simAttack(
9595
&& agent.healthShifted >= agent.maxHealthShifted / 2) {
9696
agent.stim();
9797
}
98-
dealDamage(agent, selectedWeapon, selectedEnemy);
99-
switch (selectedWeapon.splashType) {
100-
case BOUNCE:
101-
dealBounceDamage(selectedWeapon, selectedEnemy, enemies);
102-
break;
103-
case RADIAL_SPLASH:
104-
dealRadialSplashDamage(selectedWeapon, selectedEnemy, allies, enemies);
105-
break;
106-
case RADIAL_ENEMY_SPLASH:
107-
dealRadialSplashDamage(selectedWeapon, selectedEnemy, enemies);
108-
break;
109-
case LINE_SPLASH:
110-
dealLineSplashDamage(agent, selectedWeapon, selectedEnemy, enemies);
111-
break;
112-
default:
113-
// No splash
114-
}
115-
agent.cooldown = agent.maxCooldown;
116-
if (agent.remainingStimFrames > 0) {
117-
agent.cooldown /= 2;
118-
}
98+
99+
AgentUtil.attack(agent, selectedWeapon, selectedEnemy, allies, enemies);
119100
}
120101

121102
private void simCombatMove(
@@ -131,7 +112,7 @@ private void simCombatMove(
131112
&& selectedEnemy.speed < agent.speed;
132113
float distance = (float) sqrt(selectedDistanceSquared);
133114
if (shouldKite) {
134-
if (distance + agent.speed < selectedWeapon.maxRange) {
115+
if (distance + agent.speed <= selectedWeapon.maxRange) {
135116
moveAwayFrom(frameSkip, agent, selectedEnemy, distance);
136117
}
137118
} else {

0 commit comments

Comments
 (0)