fix post-proto

* ajout d'un fondu de musique au changement de phase
* résolution de bugs en tout genre
This commit is contained in:
2025-11-14 16:43:52 +01:00
parent d3ea21e212
commit dbe8f03531
37 changed files with 411 additions and 147 deletions

View File

@@ -64,14 +64,11 @@ func plant(
type,
plant_mutations
)
plants.append(new_plant)
planet_data.score_by_plant.append(0)
new_plant.harvested.connect(_on_plant_harvested)
new_plant.state_changed.connect(_on_plant_state_changed)
new_plant.ready.connect(
func(): update_garden_score()
)
get_tree().create_timer(0.05).timeout.connect(update_garden_score)
return new_plant
func _on_plant_state_changed(_p: Plant):
@@ -85,7 +82,8 @@ func remove_plant(p: Plant):
if id >= 0:
plants.remove_at(id)
planet_data.score_by_plant.remove_at(id)
update_garden_score()
get_tree().create_timer(0.05).timeout.connect(update_garden_score)
func update_garden_score():

View File

@@ -116,7 +116,6 @@ func plant(
if garden.is_in_garden(plant_position):
var new_plant = garden.plant(type, plant_mutations)
add_entity(new_plant, plant_position)
garden.update_garden_score()
return true
return false
@@ -142,8 +141,7 @@ func pass_day():
if data.garden_score >= data.get_quota_score():
reach_quota()
if data.quota_days <= 0:
elif data.quota_days <= 0:
day_limit_exceed.emit(self)
save()

View File

@@ -1,7 +1,8 @@
extends Resource
class_name TruckData
@export var rewards_given : Array[Reward] = []
@export var rewards : Array[Reward] = []
@export var rewarded_times : int = 0
@export var compost_containing_seeds : Array[int] = []
@export var entities_saved_data : Array[EntityData] = []
@export var entities_saved_data : Array[EntityData] = []

View File

@@ -21,7 +21,10 @@ func _ready():
for i in range(len(composts)):
var compost = composts[i]
compost.containing_seed = data.compost_containing_seeds[i]
compost.filled.connect(func (c: Compost): data.compost_containing_seeds[i] = c.containing_seed)
compost.filled.connect(
func (c: Compost):
data.compost_containing_seeds[i] = c.containing_seed
)
if i < len(data.rewards):
compost.reward = data.rewards[i]
@@ -35,6 +38,7 @@ func _ready():
func _on_compost_rewarded(c: Compost):
data.rewarded_times += 1
data.rewards_given.append(c.reward)
c.reward = generate_reward()
func get_compost_rewards() -> Array[Reward]:
@@ -45,26 +49,41 @@ func get_compost_rewards() -> Array[Reward]:
return rewards
func get_random_reward_cost() -> int:
return randi_range(1 + data.rewarded_times * 2, 2 + data.rewarded_times * 2)
return randi_range(data.rewarded_times + 1, data.rewarded_times + 2)
func get_possible_rewards() -> Array[Reward]:
return [
var possible_rewards : Array[Reward] = [
UpgradeMaxEnergyReward.new(get_random_reward_cost() + 2),
UpgradeMaxInventoryReward.new(get_random_reward_cost()),
GiveItemReward.new(
get_random_reward_cost(),
Blueprint.new(preload("res://entities/interactables/machines/solar_pannel/solar_pannel.tres"))
),
GiveItemReward.new(
get_random_reward_cost(),
Knife.new()
),
GiveItemReward.new(
get_random_reward_cost(),
Trowel.new()
)
]
if data.rewards_given.find_custom(
func(r : Reward):
return r is GiveItemReward and r.item is Trowel
) == -1:
possible_rewards.append(
GiveItemReward.new(
get_random_reward_cost(),
Knife.new()
)
)
if data.rewards_given.find_custom(
func(r : Reward):
return r is GiveItemReward and r.item is Knife
) == -1:
possible_rewards.append(
GiveItemReward.new(
get_random_reward_cost(),
Trowel.new()
)
)
return possible_rewards
func generate_reward() -> Reward:
var max_tries = 3
var reward = get_possible_rewards().pick_random()