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:
@@ -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] = []
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user