Updated bee nectar gathering and game levels
The bee's nectar gathering now depends on the current flower nectar level. The return, deposit_nectar, die, and other functions have been updated to return void. Nectar requirements for each game level have been increased tenfold. A new variable 'flower_nectar_level' has been added to manage the amount of nectar in flowers. Also, several functions in GameStateManager were updated to include specific input parameters or return void.
This commit is contained in:
parent
513b0c92a7
commit
a62cd6018e
10 changed files with 40 additions and 24 deletions
|
|
@ -23,7 +23,7 @@ func update(_delta : float):
|
||||||
time_at_patch += _delta
|
time_at_patch += _delta
|
||||||
if time_at_patch > 5.0:
|
if time_at_patch > 5.0:
|
||||||
Log.pr("Gathered nectar!")
|
Log.pr("Gathered nectar!")
|
||||||
bee.nectar += 1
|
bee.nectar += GameState.flower_nectar_level # Add nectar to the bee based on current flower nectar level
|
||||||
state_transition.emit(self, "Idle")
|
state_transition.emit(self, "Idle")
|
||||||
else:
|
else:
|
||||||
state_transition.emit(self, "Idle")
|
state_transition.emit(self, "Idle")
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ class_name BeeReturning
|
||||||
@onready var bee = get_parent().get_parent() as Bee # I think this is bad but I dont care it works
|
@onready var bee = get_parent().get_parent() as Bee # I think this is bad but I dont care it works
|
||||||
@onready var target = get_tree().get_first_node_in_group("beehive")
|
@onready var target = get_tree().get_first_node_in_group("beehive")
|
||||||
|
|
||||||
func enter(_msg := {}):
|
func enter(_msg := {}) -> void:
|
||||||
Log.pr("Returning to the hive")
|
Log.pr("Returning to the hive")
|
||||||
bee.bee_position_animation.play("Flying")
|
bee.bee_position_animation.play("Flying")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,14 +56,14 @@ func get_next_target():
|
||||||
Log.pr("No previous drone")
|
Log.pr("No previous drone")
|
||||||
return null
|
return null
|
||||||
|
|
||||||
func deposit_nectar():
|
func deposit_nectar() -> void:
|
||||||
if nectar > 0:
|
if nectar > 0:
|
||||||
GameState.add_nectar()
|
GameState.add_nectar(nectar)
|
||||||
nectar = 0
|
nectar = 0
|
||||||
latest_target_director = 0
|
latest_target_director = 0
|
||||||
just_gathering = false
|
just_gathering = false
|
||||||
|
|
||||||
func die():
|
func die() -> void:
|
||||||
# Move to the death state
|
# Move to the death state
|
||||||
fsm.force_change_state("Death")
|
fsm.force_change_state("Death")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ level_number = 1
|
||||||
level_name = "Level One"
|
level_name = "Level One"
|
||||||
level_description = "Basic game introduction"
|
level_description = "Basic game introduction"
|
||||||
bees_available = 40
|
bees_available = 40
|
||||||
nectar_required = 40
|
nectar_required = 400
|
||||||
level_par = 2
|
level_par = 2
|
||||||
collector_enabled = true
|
collector_enabled = true
|
||||||
dancer_enabled = true
|
dancer_enabled = true
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ level_number = 2
|
||||||
level_name = "Level Two"
|
level_name = "Level Two"
|
||||||
level_description = "Hazard introduction - pesticide"
|
level_description = "Hazard introduction - pesticide"
|
||||||
bees_available = 40
|
bees_available = 40
|
||||||
nectar_required = 80
|
nectar_required = 800
|
||||||
level_par = 3
|
level_par = 3
|
||||||
collector_enabled = true
|
collector_enabled = true
|
||||||
dancer_enabled = true
|
dancer_enabled = true
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ level_number = 3
|
||||||
level_name = "Level Three"
|
level_name = "Level Three"
|
||||||
level_description = "Hazard introduction - more pesticide!"
|
level_description = "Hazard introduction - more pesticide!"
|
||||||
bees_available = 60
|
bees_available = 60
|
||||||
nectar_required = 100
|
nectar_required = 1000
|
||||||
level_par = 4
|
level_par = 4
|
||||||
collector_enabled = true
|
collector_enabled = true
|
||||||
dancer_enabled = true
|
dancer_enabled = true
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ level_number = 4
|
||||||
level_name = "Level Four"
|
level_name = "Level Four"
|
||||||
level_description = "Hazard introduction - it's a dog!"
|
level_description = "Hazard introduction - it's a dog!"
|
||||||
bees_available = 60
|
bees_available = 60
|
||||||
nectar_required = 100
|
nectar_required = 1000
|
||||||
level_par = 3
|
level_par = 3
|
||||||
collector_enabled = true
|
collector_enabled = true
|
||||||
dancer_enabled = true
|
dancer_enabled = true
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ level_number = 5
|
||||||
level_name = "Level Five"
|
level_name = "Level Five"
|
||||||
level_description = "Serious Business"
|
level_description = "Serious Business"
|
||||||
bees_available = 100
|
bees_available = 100
|
||||||
nectar_required = 200
|
nectar_required = 2000
|
||||||
level_par = 5
|
level_par = 5
|
||||||
collector_enabled = true
|
collector_enabled = true
|
||||||
dancer_enabled = true
|
dancer_enabled = true
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ level_number = 6
|
||||||
level_name = "Level Six"
|
level_name = "Level Six"
|
||||||
level_description = "Serious Business"
|
level_description = "Serious Business"
|
||||||
bees_available = 120
|
bees_available = 120
|
||||||
nectar_required = 300
|
nectar_required = 3000
|
||||||
level_par = 6
|
level_par = 6
|
||||||
collector_enabled = true
|
collector_enabled = true
|
||||||
dancer_enabled = true
|
dancer_enabled = true
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
class_name GameStateManager extends Node
|
class_name GameStateManager extends Node
|
||||||
|
|
||||||
## THIS SHOULD NOT EXIST HERE BUT I AM NOT GOING TO MAKE A NEW CLASS FOR IT RIGHT NOW
|
## THIS SHOULD NOT EXIST HERE BUT I AM NOT GOING TO MAKE A NEW CLASS FOR IT RIGHT NOW
|
||||||
@onready var default_cursor = preload("res://resources/cursors/pointer_a.png")
|
@onready var default_cursor := preload("res://resources/cursors/pointer_a.png")
|
||||||
|
|
||||||
var placing_drone : bool = false
|
var placing_drone : bool = false
|
||||||
|
|
||||||
|
|
@ -13,8 +13,23 @@ var level_started : bool = false
|
||||||
var level_complete : bool = false
|
var level_complete : bool = false
|
||||||
var game_over : bool = false
|
var game_over : bool = false
|
||||||
|
|
||||||
## Game Rules
|
## Game Rules ##############################################################
|
||||||
|
|
||||||
|
# Nectar levels - Depleted by snails, increased by bee visits?? Or time, TBD
|
||||||
|
# TODO: Decide how to renew the nectar levels
|
||||||
|
# This is capped out at 10... Seems like a good amount
|
||||||
|
var flower_nectar_level : int = 10 :
|
||||||
|
get:
|
||||||
|
return flower_nectar_level
|
||||||
|
set(value):
|
||||||
|
if value > 10:
|
||||||
|
flower_nectar_level = 10
|
||||||
|
else:
|
||||||
|
flower_nectar_level = value
|
||||||
|
|
||||||
|
# Snails
|
||||||
var spawn_snails : bool = false
|
var spawn_snails : bool = false
|
||||||
|
var snail_spawn_interval : float = 10.0
|
||||||
|
|
||||||
var gathered_nectar : int = 0 :
|
var gathered_nectar : int = 0 :
|
||||||
get:
|
get:
|
||||||
|
|
@ -50,26 +65,27 @@ var judge_level_par : int = 0 :
|
||||||
else:
|
else:
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
func _process(delta):
|
func _process(delta) -> void:
|
||||||
if level_started and !level_complete and !game_over:
|
if level_started and !level_complete and !game_over:
|
||||||
level_timer += delta
|
level_timer += delta
|
||||||
|
|
||||||
func bee_died():
|
func bee_died() -> void:
|
||||||
dead_bees += 1
|
dead_bees += 1
|
||||||
|
|
||||||
func add_nectar():
|
# Add the nectar to the total gathered nectar
|
||||||
gathered_nectar += 1
|
func add_nectar(nectar : int) -> void:
|
||||||
|
gathered_nectar += nectar
|
||||||
|
|
||||||
func add_drone():
|
func add_drone() -> void:
|
||||||
drones_used += 1
|
drones_used += 1
|
||||||
|
|
||||||
func remove_drone():
|
func remove_drone() -> void:
|
||||||
drones_used -= 1
|
drones_used -= 1
|
||||||
|
|
||||||
func game_start():
|
func game_start() -> void:
|
||||||
level_started = true
|
level_started = true
|
||||||
|
|
||||||
func game_win():
|
func game_win() -> void:
|
||||||
Log.pr("Game win")
|
Log.pr("Game win")
|
||||||
level_complete = true
|
level_complete = true
|
||||||
HighScoreMgr.add_honey(gathered_nectar)
|
HighScoreMgr.add_honey(gathered_nectar)
|
||||||
|
|
@ -77,13 +93,13 @@ func game_win():
|
||||||
HighScoreMgr.add_dead_bees(dead_bees)
|
HighScoreMgr.add_dead_bees(dead_bees)
|
||||||
HighScoreMgr.save()
|
HighScoreMgr.save()
|
||||||
|
|
||||||
func game_lose():
|
func game_lose() -> void:
|
||||||
Log.pr("Game lose")
|
Log.pr("Game lose")
|
||||||
game_over = true
|
game_over = true
|
||||||
HighScoreMgr.add_dead_bees(dead_bees)
|
HighScoreMgr.add_dead_bees(dead_bees)
|
||||||
HighScoreMgr.save()
|
HighScoreMgr.save()
|
||||||
|
|
||||||
func reset():
|
func reset() -> void:
|
||||||
level_timer = 0.0
|
level_timer = 0.0
|
||||||
level_started = false
|
level_started = false
|
||||||
level_complete = false
|
level_complete = false
|
||||||
|
|
@ -92,5 +108,5 @@ func reset():
|
||||||
dead_bees = 0
|
dead_bees = 0
|
||||||
spawn_snails = false
|
spawn_snails = false
|
||||||
|
|
||||||
func reset_cursor():
|
func reset_cursor() -> void:
|
||||||
Input.set_custom_mouse_cursor(default_cursor, Input.CURSOR_ARROW, Vector2(8, 8))
|
Input.set_custom_mouse_cursor(default_cursor, Input.CURSOR_ARROW, Vector2(8, 8))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue