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
|
||||
if time_at_patch > 5.0:
|
||||
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")
|
||||
else:
|
||||
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 target = get_tree().get_first_node_in_group("beehive")
|
||||
|
||||
func enter(_msg := {}):
|
||||
func enter(_msg := {}) -> void:
|
||||
Log.pr("Returning to the hive")
|
||||
bee.bee_position_animation.play("Flying")
|
||||
|
||||
|
|
|
|||
|
|
@ -56,14 +56,14 @@ func get_next_target():
|
|||
Log.pr("No previous drone")
|
||||
return null
|
||||
|
||||
func deposit_nectar():
|
||||
func deposit_nectar() -> void:
|
||||
if nectar > 0:
|
||||
GameState.add_nectar()
|
||||
GameState.add_nectar(nectar)
|
||||
nectar = 0
|
||||
latest_target_director = 0
|
||||
just_gathering = false
|
||||
|
||||
func die():
|
||||
func die() -> void:
|
||||
# Move to the death state
|
||||
fsm.force_change_state("Death")
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ level_number = 1
|
|||
level_name = "Level One"
|
||||
level_description = "Basic game introduction"
|
||||
bees_available = 40
|
||||
nectar_required = 40
|
||||
nectar_required = 400
|
||||
level_par = 2
|
||||
collector_enabled = true
|
||||
dancer_enabled = true
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ level_number = 2
|
|||
level_name = "Level Two"
|
||||
level_description = "Hazard introduction - pesticide"
|
||||
bees_available = 40
|
||||
nectar_required = 80
|
||||
nectar_required = 800
|
||||
level_par = 3
|
||||
collector_enabled = true
|
||||
dancer_enabled = true
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ level_number = 3
|
|||
level_name = "Level Three"
|
||||
level_description = "Hazard introduction - more pesticide!"
|
||||
bees_available = 60
|
||||
nectar_required = 100
|
||||
nectar_required = 1000
|
||||
level_par = 4
|
||||
collector_enabled = true
|
||||
dancer_enabled = true
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ level_number = 4
|
|||
level_name = "Level Four"
|
||||
level_description = "Hazard introduction - it's a dog!"
|
||||
bees_available = 60
|
||||
nectar_required = 100
|
||||
nectar_required = 1000
|
||||
level_par = 3
|
||||
collector_enabled = true
|
||||
dancer_enabled = true
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ level_number = 5
|
|||
level_name = "Level Five"
|
||||
level_description = "Serious Business"
|
||||
bees_available = 100
|
||||
nectar_required = 200
|
||||
nectar_required = 2000
|
||||
level_par = 5
|
||||
collector_enabled = true
|
||||
dancer_enabled = true
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ level_number = 6
|
|||
level_name = "Level Six"
|
||||
level_description = "Serious Business"
|
||||
bees_available = 120
|
||||
nectar_required = 300
|
||||
nectar_required = 3000
|
||||
level_par = 6
|
||||
collector_enabled = true
|
||||
dancer_enabled = true
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
class_name GameStateManager extends Node
|
||||
|
||||
## 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
|
||||
|
||||
|
|
@ -13,8 +13,23 @@ var level_started : bool = false
|
|||
var level_complete : 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 snail_spawn_interval : float = 10.0
|
||||
|
||||
var gathered_nectar : int = 0 :
|
||||
get:
|
||||
|
|
@ -50,26 +65,27 @@ var judge_level_par : int = 0 :
|
|||
else:
|
||||
return 0
|
||||
|
||||
func _process(delta):
|
||||
func _process(delta) -> void:
|
||||
if level_started and !level_complete and !game_over:
|
||||
level_timer += delta
|
||||
|
||||
func bee_died():
|
||||
func bee_died() -> void:
|
||||
dead_bees += 1
|
||||
|
||||
func add_nectar():
|
||||
gathered_nectar += 1
|
||||
# Add the nectar to the total gathered nectar
|
||||
func add_nectar(nectar : int) -> void:
|
||||
gathered_nectar += nectar
|
||||
|
||||
func add_drone():
|
||||
func add_drone() -> void:
|
||||
drones_used += 1
|
||||
|
||||
func remove_drone():
|
||||
func remove_drone() -> void:
|
||||
drones_used -= 1
|
||||
|
||||
func game_start():
|
||||
func game_start() -> void:
|
||||
level_started = true
|
||||
|
||||
func game_win():
|
||||
func game_win() -> void:
|
||||
Log.pr("Game win")
|
||||
level_complete = true
|
||||
HighScoreMgr.add_honey(gathered_nectar)
|
||||
|
|
@ -77,13 +93,13 @@ func game_win():
|
|||
HighScoreMgr.add_dead_bees(dead_bees)
|
||||
HighScoreMgr.save()
|
||||
|
||||
func game_lose():
|
||||
func game_lose() -> void:
|
||||
Log.pr("Game lose")
|
||||
game_over = true
|
||||
HighScoreMgr.add_dead_bees(dead_bees)
|
||||
HighScoreMgr.save()
|
||||
|
||||
func reset():
|
||||
func reset() -> void:
|
||||
level_timer = 0.0
|
||||
level_started = false
|
||||
level_complete = false
|
||||
|
|
@ -92,5 +108,5 @@ func reset():
|
|||
dead_bees = 0
|
||||
spawn_snails = false
|
||||
|
||||
func reset_cursor():
|
||||
func reset_cursor() -> void:
|
||||
Input.set_custom_mouse_cursor(default_cursor, Input.CURSOR_ARROW, Vector2(8, 8))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue