|
|
e758a5a13c
|
refactor falling_enemy to be contained in FallingEnemyMap, instead of a plain vector
|
2025-02-15 01:42:29 +00:00 |
|
|
|
e00db5d8a3
|
make enemies move per loop (calling update EnemyMap by calling EnemyBehaviour)
|
2025-02-14 10:43:27 +00:00 |
|
|
|
46a1836ae2
|
additional refactoring, moving player type into its own directory
|
2025-02-14 10:13:03 +00:00 |
|
|
|
d1e23b5455
|
refactor platform and wall type declarations out into platform.sml and wall.sml
|
2025-02-14 09:26:07 +00:00 |
|
|
|
93aebe5fa1
|
a bit of refactoring with regards to enemy's structures and files
|
2025-02-14 09:06:32 +00:00 |
|
|
|
93aae6dc1f
|
remove dead code
|
2025-02-14 08:46:28 +00:00 |
|
|
|
c5cea8dcb3
|
partial refactoring so we use EnemyMap.t for collection of enemies
|
2025-02-13 13:36:30 +00:00 |
|
|
|
265c8db88a
|
implement EnemyMap functor (todo: migrate from 'enemy vector' type to 'EnemyMap.t' type)
|
2025-02-13 12:14:50 +00:00 |
|
|
|
f1521acec1
|
refactor file order in preparation for adding GapMap for enemy
|
2025-02-13 11:24:44 +00:00 |
|
|
|
4c8b404c09
|
add code so that bat also moves vertically (in addition to previous horizontal movement) when updating enemy state
|
2025-02-12 00:25:55 +00:00 |
|
|
|
1dc3116b77
|
add fields to enemy which are relevant to bat's state
|
2025-02-11 23:54:13 +00:00 |
|
|
|
d0d93780fb
|
initial implementation of bat's update function (todo: make bat oscillate up and down while it also moves in x axis, and also code bat's collisions with player, adding to falling list if necessary, or being filtered by player's attack)
|
2025-02-11 19:38:02 +00:00 |
|
|
|
3202c67f47
|
begin adding variant for STRAIGHT_BAT enemy
|
2025-02-11 18:05:44 +00:00 |
|
|
|
534852c8bf
|
don't make 'falling' enemies come back down (fall), but lift them up instead, filtered when reaching beyond the top of the world. It's a little more fluid with current physics for enemies to be 'spirited away' rather than fall.
|
2025-02-09 13:14:38 +00:00 |
|
|
|
4301e9ae38
|
add line-of-sight, so FOLLOW_SLIME will only follow player if player is in specific range of enemy (within 199 pixels currently).
|
2025-02-09 10:05:12 +00:00 |
|
|
|
07d31119a7
|
code functionality to filter out falling enemy from list if falling enemy is colliding with player
|
2025-02-08 11:05:58 +00:00 |
|
|
|
26870816db
|
add code so that enemy gains a new projectile when attacking falling enemies, and also draw the falling enemies
|
2025-02-08 10:48:34 +00:00 |
|
|
|
51401231e1
|
update state of falling enemies per loop
|
2025-02-08 09:49:32 +00:00 |
|
|
|
38640b14a2
|
add falling_enemies type to game (these enemies can be picked up and thrown), and thread fallingEnemies through enemy.sml to set up scaffolding for them
|
2025-02-08 09:20:10 +00:00 |
|
|
|
1c105193e2
|
extract a couple of collision functions to a separate module for reuse
|
2025-02-08 08:39:04 +00:00 |
|
|
|
f9fe009d59
|
have patrol slime and follow slime also react to player's ChainEdge attack, and not only player's projectiles
|
2025-02-08 04:02:17 +00:00 |
|
|
|
23cf480dad
|
reimplement enemy-filter loop (now enemy's reaction, and decision to possibly filter, is fully under enemy's control - physics, damage reaction, whether to filter or update enemy's state, etc.)
|
2025-02-08 01:05:39 +00:00 |
|