diff --git a/src/scenes/story/boss_fight.py b/src/scenes/story/boss_fight.py index 2d2eb47..8d05a50 100644 --- a/src/scenes/story/boss_fight.py +++ b/src/scenes/story/boss_fight.py @@ -5,7 +5,7 @@ Scene de Combat final contre edmond, inspiré du combat d'omega flowey dans unde from enum import Enum import random -from engine import Scene +from engine import CurrentScene, Scene from engine.ecs import World from engine.math import Vec2 from plugins import assets, smooth @@ -89,7 +89,7 @@ def __initialize_world(world: World): origin=Vec2(0.5), ), smooth.Target(world[ShieldPos]), - Velocity(10), + Velocity(6), ) @@ -144,6 +144,11 @@ def __check_hurt(world: World): world.new_entity().set(Coroutine(__set_hurtable_hurt(world))) +def __defeat(world: World): + if world[Life] <= 0: + world[CurrentScene] = __new_game_scene() + + def __create_zone_attack(world: World): double = random.randint(1, 10) locate = random.randint(0, 2) @@ -191,12 +196,21 @@ def __check_key_pressed(world: World): world.new_entity().set(Coroutine(__create_zone_attack(world))) -SCENE = assets.loading_scene( - Scene( - [__initialize_world], - [__move, __check_key_pressed, __check_hurt], - [], +def __new_game_scene() -> Scene: + """ + Créer une nouvelle scène + """ + return ( + Scene( + [__initialize_world], + [__move, __check_key_pressed, __check_hurt, __defeat], + [], + ) + + smooth.PLUGIN ) - + smooth.PLUGIN, + + +SCENE = assets.loading_scene( + __new_game_scene(), "story/boss_fight", )