* Structure de l'histoire principale * Line sur le perso principal * Agrandissement de la zone de détection des cellules * Ajout du spray de Talion (+1 points de plante de base) * Ajout de feedback sur l'usage des cellules d'énergie
46 lines
950 B
GDScript
46 lines
950 B
GDScript
@tool
|
|
extends Interactable
|
|
class_name TalionCell
|
|
|
|
const SEED_RARITY = 2
|
|
|
|
@export var used = false : set = set_used
|
|
|
|
func _ready():
|
|
set_used()
|
|
|
|
func set_used(v = used):
|
|
used = v
|
|
available = not used
|
|
if is_node_ready():
|
|
%AnimationPlayer.play("squeeze")
|
|
await get_tree().create_timer(0.2).timeout
|
|
%SpriteOff.visible = used
|
|
%SpriteOn.visible = not used
|
|
|
|
func pointer_text() -> String:
|
|
if used:
|
|
return tr("%s_USED") % tr(default_info_title)
|
|
return default_info_title
|
|
|
|
func interact(p : Player) -> bool:
|
|
if not used and region:
|
|
used = true
|
|
available = false
|
|
var new_seed = Seed.generate_random(SEED_RARITY)
|
|
|
|
p.region.drop_item(
|
|
new_seed,
|
|
global_position,
|
|
10
|
|
)
|
|
|
|
interacted.emit(p)
|
|
|
|
region.data.used_objects.append(name)
|
|
|
|
AudioManager.play_sfx("Drop")
|
|
|
|
return true
|
|
return false
|