tune(enemy): big_pentagon orb circular, firework petit per hit, sense wounded chain

This commit is contained in:
2026-05-25 22:28:36 +02:00
parent f64c72f9a6
commit 14b10c663e
9 changed files with 99 additions and 77 deletions
+24 -21
View File
@@ -1,15 +1,17 @@
name: big_pentagon
ai_type: big_pentagon # Validat contra el directori; mapeja a EnemyType::BIG_PENTAGON.
# Reusa la shape de pentagon pe a escala 2.0 — primer enemic gegant del joc.
# Shape circular pròpia (anell exterior + anell interior + 6 radis + nucli),
# pensada per llegir-se com a "reactor / orb" amb més detall que els enemics
# petits.
shape:
path: enemy_pentagon.shp
scale: 2.0
path: enemy_big_orb.shp
scale: 1.5
collision_factor: 1.0
physics:
mass: 20.0 # Massa gran: la bala el frena poc, els trossos volen amb la força de la bala.
speed: 30.0 # Avanç lent, com a "tanc carregant".
mass: 50.0 # Molt pesat: una bala el frena un poc però no el "envia a passejar".
speed: 50.0 # Avança decidit cap al ship (no és lent passiu, és amenaça constant).
rotation_delta_min: 0.3
rotation_delta_max: 1.5
restitution: 1.0
@@ -17,11 +19,12 @@ physics:
angular_damping: 0.0
ai:
# Persecució lenta del ship més proper: amb chase_strength baix la inèrcia
# és molt notable, fa el comportament del "boss lent" característic.
# Persecució contínua del ship més proper. chase_strength alt (1.0 = ~1s
# per realinear-se) perquè, encara que una bala l'empentja lateralment,
# ràpidament torna a posar la seua proa cap al jugador.
movement:
type: chase
chase_strength: 0.3
chase_strength: 1.0
animation:
pulse:
@@ -49,31 +52,31 @@ spawn:
invulnerability_brightness_end: 0.7
invulnerability_scale_start: 0.0
invulnerability_scale_end: 1.0
safety_distance: 72.0 # Doble del normal — és el doble de gran.
safety_distance: 54.0 # 1.5× del normal (alineat amb scale 1.5).
colors:
normal: [0, 180, 255] # Blau elèctric per distingir-lo del pentagon cyan.
normal: [66, 195, 208] # #42C3D0 — turquesa-cyan distintiu per al boss.
wounded: [255, 220, 60]
score: 500 # 5x un enemic normal: aguanta 10x més.
# Estrenant el sistema HP: 10 unitats. Cada bala fa decrease_health + flash
# + create_debris_partial (xip a 0.3x). En el 10è hit, on_no_health
# encadena set_hurt (entra wounded). Wound expira → destroy → on_destroy
# fa l'explosió completa.
# + create_debris_partial (xip a 0.3x) + create_fireworks_small (espurna).
# Al 10è hit (HP=0), on_no_health encadena destroy directe — sense passar
# per wounded (com Star). 10 HP ja és prou dificultat sense afegir un hit
# extra.
health: 10
events:
on_hit:
- action: decrease_health # primer: si arriba a 0 dispara on_no_health
- action: flash # feedback visual de damage parcial
- action: create_debris_partial # xip a 0.3x mida (sense ser letal)
- action: apply_impulse # empenta el cos (sense will_die és segur en hit no-letal)
- action: decrease_health # primer: si arriba a 0 dispara on_no_health
- action: flash # feedback visual de damage parcial
- action: create_debris_partial # xip a 0.3x mida (sense ser letal)
- action: create_fireworks_small # espurna a cada hit (12 punts, lent)
- action: apply_impulse # empenta el cos (skip si will_die)
on_no_health:
- action: set_hurt # entra wounded; segon hit durant wounded matarà
on_hurt_end:
- action: destroy
- action: destroy # mort directa, sense wounded
on_destroy:
- action: add_score
- action: create_debris # explosió completa
- action: create_debris # explosió completa
- action: create_fireworks