ajout du déblocage/évolutions des plantes (#89) et fix divers

This commit is contained in:
2025-11-07 13:26:04 +01:00
parent 11ae967845
commit ed675ed532
54 changed files with 901 additions and 483 deletions

View File

@@ -4,28 +4,11 @@ class_name UndergroundLoot
const AREA_WIDTH = 20
const LOOTED_ITEM_RANDOM_RANGE = 50
const SPRITE_SCENE : PackedScene = preload("res://entities/underground_loot/underground_loot_sprite.tscn")
@export var loot : Array[Item]
@onready var sprite_object: Node2D = generate_sprite()
@onready var collision_shape: CollisionShape2D = generate_collision_shape()
func _init(_loot : Array[Item] = []):
loot = _loot
default_info_desc = "Contain some random seeds. [b]Dig it with a shovel.[/b]"
@export var item_number : int = 1
func pointer_text() -> String:
return "Buried Loot"
func generate_sprite() -> Node2D:
var object = SPRITE_SCENE.instantiate()
add_child(object)
return object
func generate_collision_shape() -> CollisionShape2D:
var collision = CollisionShape2D.new()
var shape = CircleShape2D.new()
@@ -36,8 +19,19 @@ func generate_collision_shape() -> CollisionShape2D:
return collision
func generate_loot() -> Array[Item]:
var seeds : Array[Item] = []
if len(GameInfo.game_data.unlocked_plant_types):
seeds.append(
Seed.new(
GameInfo.game_data.unlocked_plant_types.pick_random()
)
)
return seeds
func dig():
for item in loot:
for item in generate_loot():
planet.drop_item(item, global_position, LOOTED_ITEM_RANDOM_RANGE)
queue_free()

View File

@@ -1,11 +1,15 @@
extends EntityData
class_name UndergroundLootData
@export var loot : Array[Item]
const SCENE = preload("res://entities/underground_loot/underground_loot.tscn")
@export var item_number : int
func _init(e : UndergroundLoot):
position = e.global_position
loot = e.loot
position = e.global_position
item_number = e.item_number
func load() -> Entity:
return UndergroundLoot.new(loot)
var loot : UndergroundLoot = (SCENE.instantiate() as UndergroundLoot)
loot.item_number = item_number
return loot