11from engine .targeting import acquire_target
22from engine .movement import move_towards
3- from engine .projectile import Projectile , resolve_projectile
3+ from engine .projectile import Projectile
44from engine .timing import can_act , apply_attack_timing
55from engine .ability import AbilityEngine
66
77
88def simulate_battle_full (teamA , teamB ):
99 time = 0
1010 dt = 0.1
11- basic_projectile_speed = 1
1211
1312 projectiles = []
1413 ability_engine = AbilityEngine ()
@@ -31,31 +30,14 @@ def simulate_battle_full(teamA, teamB):
3130 continue
3231
3332 if unit .distance (target ) <= unit .range :
34- projectiles .append (
35- Projectile (
36- source = unit ,
37- target = target ,
38- speed = basic_projectile_speed ,
39- damage = unit .dps ,
40- )
41- )
33+ projectiles .append (Projectile (unit , target , unit .dps ))
4234 apply_attack_timing (unit , time )
4335 else :
4436 move_towards (unit , target , occupied )
4537
4638 for proj in projectiles [:]:
47- if proj .update (dt ) == "hit" :
48- if proj .target in teamA :
49- enemies = teamA
50- elif proj .target in teamB :
51- enemies = teamB
52- elif proj .source in teamA :
53- enemies = teamB
54- else :
55- enemies = teamA
56-
57- resolve_projectile (proj , enemies )
58- projectiles .remove (proj )
39+ proj .update ()
40+ projectiles .remove (proj )
5941
6042 teamA = [u for u in teamA if u .hp > 0 ]
6143 teamB = [u for u in teamB if u .hp > 0 ]
0 commit comments