Zoom, nouvelles mutations et cie

* ajout d'une aide de jeu directement dans l'interface
* ajout de 8 nouvelles mutations (Productif, pressé, pur, vivace, généreux, robuste, protecteur et prolifique)
* changements d'icône pour plus de clarté
* changement de l'animation de recharge pour montrer le temps qui passe
* ajout des mutations rare et de la possibilité d'avoir des mutation niveau 2 dès le départ
* ajout d'un zoom
* correction de bugs (déplacement au dialogue, problème de score au load d'une région)
This commit is contained in:
2026-03-20 17:16:56 +01:00
parent 76707171fa
commit 4b16d52740
52 changed files with 1217 additions and 272 deletions

View File

@@ -11,8 +11,8 @@ const SCORE_ICON = preload("res://common/icons/growth.svg")
const DURATION_ICON = preload("res://common/icons/calendar-week.svg")
const SHOVEL_ICON = preload("res://common/icons/shovel.svg")
const GROWING_ICON = preload("res://common/icons/chevrons-up.svg")
const LIFETIME_ICON= preload("res://common/icons/skull.svg")
const SEED_ICON = preload("res://common/icons/droplets.svg")
const LIFETIME_ICON= preload("res://common/icons/clock.svg")
const SEED_ICON = preload("res://common/icons/seeds.svg")
const SPRITE_SCENE : PackedScene = preload("res://entities/plants/plant_sprite.tscn")
@@ -40,9 +40,11 @@ func _ready():
func (_d : RegionData):
await get_tree().create_timer(0.05).timeout
update_nearby_plant()
update_decontamination_area_factor()
)
await get_tree().create_timer(0.05).timeout
update_nearby_plant()
update_decontamination_area_factor()
func pointer_text() -> String:
return data.plant_name
@@ -151,6 +153,23 @@ func update_nearby_plant():
data.nearby_plant_updated.emit()
func update_decontamination_area_factor():
var factor = 0.
var full_decontaminated = true
var tiles = Math.get_tiles_in_circle(global_position, influence_zone.radius + Region.TILE_SIZE)
for tile : Vector2i in tiles:
if region.is_coords_decontaminated([tile]):
factor += 1./len(tiles)
else :
full_decontaminated = false
if full_decontaminated:
data.decontamination_area_factor = 1.
else:
data.decontamination_area_factor = factor
func save() -> EntityData:
return data