name: orb ai_type: orb # Validat contra el directori; mapeja a EnemyType::ORB. # 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/orb.shp scale: 1.0 collision_factor: 1.0 physics: 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 linear_damping: 0.0 angular_damping: 0.0 ai: # 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: 1.0 animation: pulse: trigger_prob_per_second: 0.01 duration_min: 1.0 duration_max: 3.0 amplitude_min: 0.08 amplitude_max: 0.20 frequency_min: 1.5 frequency_max: 3.0 rotation_accel: trigger_prob_per_second: 0.02 duration_min: 3.0 duration_max: 8.0 multiplier_min: 0.3 multiplier_max: 4.0 wounded: duration: 1.5 # Una mica més llarg que els altres (és un boss). blink_hz: 10.0 spawn: invulnerability_duration: 3.0 invulnerability_brightness_start: 0.3 invulnerability_brightness_end: 0.7 invulnerability_scale_start: 0.0 invulnerability_scale_end: 1.0 safety_distance: 54.0 # 1.5× del normal (alineat amb scale 1.5). colors: normal: [255, 140, 110] # taronja rosat (coral) — distintiu del boss orb. 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) + 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: fire_bullet # contra-atac: dispara bullet_double dirigida al jugador bullet: bullet_double bullet_speed: 200.0 aim_mode: aimed - 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: destroy # mort directa, sense wounded on_destroy: - action: add_score - action: create_debris # explosió completa - action: create_fireworks