boss with more health and xp

master
Sascha 2025-01-05 11:50:24 +07:00
parent 1d0bbd8c93
commit d8f6c6b562
6 changed files with 12 additions and 10 deletions

@ -189,4 +189,4 @@ Game={
"hide_selection": false, "hide_selection": false,
"select_mode": 0 "select_mode": 0
} }
selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@18607/@Panel@13/@VBoxContainer@14/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@25/DockVSplitCenter/@VSplitContainer@52/@VBoxContainer@53/@EditorMainScreen@98/MainScreen/@CanvasItemEditor@10371/@VSplitContainer@10195/@HSplitContainer@10197/@HSplitContainer@10199/@Control@10200/@SubViewportContainer@10201/@SubViewport@10202/Game")]) selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@18607/@Panel@13/@VBoxContainer@14/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@25/DockVSplitCenter/@VSplitContainer@52/@VBoxContainer@53/@EditorMainScreen@98/MainScreen/@CanvasItemEditor@10371/@VSplitContainer@10195/@HSplitContainer@10197/@HSplitContainer@10199/@Control@10200/@SubViewportContainer@10201/@SubViewport@10202/Boss")])

@ -189,4 +189,4 @@ Game={
"hide_selection": false, "hide_selection": false,
"select_mode": 0 "select_mode": 0
} }
selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@18607/@Panel@13/@VBoxContainer@14/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@25/DockVSplitCenter/@VSplitContainer@52/@VBoxContainer@53/@EditorMainScreen@98/MainScreen/@CanvasItemEditor@10371/@VSplitContainer@10195/@HSplitContainer@10197/@HSplitContainer@10199/@Control@10200/@SubViewportContainer@10201/@SubViewport@10202/Game")]) selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@18607/@Panel@13/@VBoxContainer@14/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@25/DockVSplitCenter/@VSplitContainer@52/@VBoxContainer@53/@EditorMainScreen@98/MainScreen/@CanvasItemEditor@10371/@VSplitContainer@10195/@HSplitContainer@10197/@HSplitContainer@10199/@Control@10200/@SubViewportContainer@10201/@SubViewport@10202/Boss")])

@ -189,4 +189,4 @@ Game={
"hide_selection": false, "hide_selection": false,
"select_mode": 0 "select_mode": 0
} }
selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@18607/@Panel@13/@VBoxContainer@14/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@25/DockVSplitCenter/@VSplitContainer@52/@VBoxContainer@53/@EditorMainScreen@98/MainScreen/@CanvasItemEditor@10371/@VSplitContainer@10195/@HSplitContainer@10197/@HSplitContainer@10199/@Control@10200/@SubViewportContainer@10201/@SubViewport@10202/Game")]) selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@18607/@Panel@13/@VBoxContainer@14/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@25/DockVSplitCenter/@VSplitContainer@52/@VBoxContainer@53/@EditorMainScreen@98/MainScreen/@CanvasItemEditor@10371/@VSplitContainer@10195/@HSplitContainer@10197/@HSplitContainer@10199/@Control@10200/@SubViewportContainer@10201/@SubViewport@10202/Boss")])

@ -189,4 +189,4 @@ Game={
"hide_selection": false, "hide_selection": false,
"select_mode": 0 "select_mode": 0
} }
selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@18607/@Panel@13/@VBoxContainer@14/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@25/DockVSplitCenter/@VSplitContainer@52/@VBoxContainer@53/@EditorMainScreen@98/MainScreen/@CanvasItemEditor@10371/@VSplitContainer@10195/@HSplitContainer@10197/@HSplitContainer@10199/@Control@10200/@SubViewportContainer@10201/@SubViewport@10202/Game")]) selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@18607/@Panel@13/@VBoxContainer@14/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@25/DockVSplitCenter/@VSplitContainer@52/@VBoxContainer@53/@EditorMainScreen@98/MainScreen/@CanvasItemEditor@10371/@VSplitContainer@10195/@HSplitContainer@10197/@HSplitContainer@10199/@Control@10200/@SubViewportContainer@10201/@SubViewport@10202/Boss")])

@ -189,4 +189,4 @@ Game={
"hide_selection": false, "hide_selection": false,
"select_mode": 0 "select_mode": 0
} }
selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@18607/@Panel@13/@VBoxContainer@14/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@25/DockVSplitCenter/@VSplitContainer@52/@VBoxContainer@53/@EditorMainScreen@98/MainScreen/@CanvasItemEditor@10371/@VSplitContainer@10195/@HSplitContainer@10197/@HSplitContainer@10199/@Control@10200/@SubViewportContainer@10201/@SubViewport@10202/Game")]) selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@18607/@Panel@13/@VBoxContainer@14/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@25/DockVSplitCenter/@VSplitContainer@52/@VBoxContainer@53/@EditorMainScreen@98/MainScreen/@CanvasItemEditor@10371/@VSplitContainer@10195/@HSplitContainer@10197/@HSplitContainer@10199/@Control@10200/@SubViewportContainer@10201/@SubViewport@10202/Boss")])

@ -19,11 +19,12 @@ const BOSS = preload("res://scenes/boss.tscn")
@export var tree_density := 100000 @export var tree_density := 100000
# Import the GameData and UIData classes # Import the GameData and UIData classes
const GameData = preload("res://scripts/game_data.gd") const GameDataResource = preload("res://scripts/game_data.gd")
const UIData = preload("res://scripts/ui_data.gd") const UIDataResource = preload("res://scripts/ui_data.gd")
const MobDataResource = preload("res://scripts/mob_data.gd")
var game_data = GameData.new(0, 3, 1, 3, 0) var game_data = GameDataResource.new(0, 3, 1, 3, 0)
var ui_data = UIData.new(0, 3, 1, 3, 0) var ui_data = UIDataResource.new(0, 3, 1, 3, 0)
func _ready() -> void: func _ready() -> void:
background_color.size = map_size background_color.size = map_size
@ -81,11 +82,12 @@ func _on_mob_died(mob_xp: int) -> void:
func spawn_boss() -> void: func spawn_boss() -> void:
print("Spawn Boss") print("Spawn Boss")
var new_boss = BOSS.instantiate() var new_boss = BOSS.instantiate()
new_boss.mob_data = MobDataResource.new(10, 50, 20)
path_follow_2d.progress_ratio = randf() path_follow_2d.progress_ratio = randf()
new_boss.global_position = path_follow_2d.global_position new_boss.global_position = path_follow_2d.global_position
new_boss.connect("mob_died", Callable(self, "_on_mob_died")) new_boss.connect("mob_died", Callable(self, "_on_mob_died"))
add_child(new_boss) add_child(new_boss)
func _on_level_up() -> void: func _on_level_up() -> void:
spawn_mob_timer.wait_time = 1 - (game_data.level * 0.1) # spawn_mob_timer.wait_time = 1 - (game_data.level * 0.1)
level_up.emit(game_data.level) level_up.emit(game_data.level)