* Ajout d'un déblocage des mutations, dans une scène 3D trouvable dans les runs, ainsi qu'un dialogue d'annonce de ces scènes * Augmentation des charges par map à 10 et augmentation des objectifs de points de plantes en conséquence * Modification du loot des graines : les plantes donnent désormais un nombre fixe de graine et les graines issues de veine de Talion n'obtiennent pas automatiquement de mutations * Les portes ne seront désormais plus sur de la pierre * Amélioration du tutoriel pour inclure une section d'explication des mutations * Ajout du modificateur de région Magnétique qui divise l'objectif et les recharges par 2 *
35 lines
949 B
GDScript
35 lines
949 B
GDScript
@tool
|
|
extends PlantMutation
|
|
class_name AncientMutation
|
|
|
|
const DEFAULT_DAY_FACTOR = 4
|
|
|
|
func get_icon() -> Texture:
|
|
return preload("res://common/icons/wood.svg")
|
|
|
|
func get_mutation_id() -> String:
|
|
return "ANCIENT"
|
|
|
|
func get_mutation_name() -> String:
|
|
return tr("ANCIENT")
|
|
|
|
func get_mutation_description() -> String:
|
|
return tr("ANCIENT_EFFECT_TEXT").format(
|
|
{
|
|
"score_increase": get_score_increase(),
|
|
"score_icon": Text.bbcode_icon(Plant.SCORE_ICON),
|
|
"day_factor": get_day_factor(),
|
|
"duration_icon": Text.bbcode_icon(Plant.DURATION_ICON),
|
|
}
|
|
)
|
|
|
|
func get_day_factor():
|
|
return max(1, DEFAULT_DAY_FACTOR - level)
|
|
|
|
func get_score_increase():
|
|
return max(1, level - DEFAULT_DAY_FACTOR + 1)
|
|
|
|
func mutate_score(data : PlantData, score) -> int:
|
|
if data.get_state() != PlantData.State.MATURE:
|
|
return score
|
|
return score + floori(data.day / get_day_factor()) |