Dev de la démo
* Modification de l'apparence de l'UI des dialogues * Changement de l'ordre de déblocage des mutations * Ajout d'une confirmation pour l'abandon * Ajout de la scène de fin avec la base Boréa, en tant que fin de démo * Modification des icône de durée de vie, temps de pousse, et de mort * Ajout d'un icône au dessus du joueur quand il n'a plus d'énergie * Amélioration des dialogues du jeu * Changement du modèle du téléphone * Ajout de cellule d'énergie et de cellule de talion trouvable sur la carte * Il est à nouveau possible de se recharger après la fin d'une région * Buff des mutations ancien sociale et solide * Modification de la mutation fertile (ne donne de gain de graine qu'à la maturation) * Ajout d'une récupération automatique des graines * Ajout de deux cartons de tutoriel ainsi qu'une option pour les revoir dans l'aide de jeu * Amélioration générale du tutoriel * Ajout d'un écran titre digne de ce nom * Lors de l'arrivée à destination, ne téléporte plus le joueur sur une map vide, mais directement dans les lieux de cinématique * Ajout graphique de plus de pattern de mousse et de roche * Le talion apparait maintenant sur toute la carte * La roche peut désormais apparaitre sur la zone de départ * Ajout dud modificateur de région Canyon * Equilibrage général * Fix de bugs en tout genre
This commit is contained in:
@@ -9,10 +9,10 @@ const HARVESTED_SEED_DISPLACEMENT_FACTOR = 100
|
||||
const RANDOM_MAX_GROW_INTERVAL = Region.MIN_PASS_DAY_ANIMATION_TIME/2. - 0.1
|
||||
const PLANT_TYPE_ICON = preload("res://common/icons/seedling.svg")
|
||||
const SCORE_ICON = preload("res://common/icons/growth.svg")
|
||||
const DURATION_ICON = preload("res://common/icons/calendar-week.svg")
|
||||
const DURATION_ICON = preload("res://common/icons/clock.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/clock.svg")
|
||||
const GROWING_ICON = preload("res://common/icons/clock-up.svg")
|
||||
const LIFETIME_ICON= preload("res://common/icons/clock-death.svg")
|
||||
const SEED_ICON = preload("res://common/icons/seeds.svg")
|
||||
|
||||
const SPRITE_SCENE : PackedScene = preload("res://entities/plants/plant_sprite.tscn")
|
||||
|
||||
@@ -67,12 +67,12 @@ func get_growing_time() -> int:
|
||||
for m in mutations:
|
||||
growing_time = m.mutate_growing_time(self , growing_time)
|
||||
|
||||
return growing_time
|
||||
return max(1,growing_time)
|
||||
|
||||
func get_score(state: State = get_state()) -> int:
|
||||
var score = get_plant_info().get_base_score() if state == State.MATURE else 0
|
||||
|
||||
var mult := 1
|
||||
var mult := 1.
|
||||
|
||||
for m in mutations:
|
||||
score = m.mutate_score(self , score)
|
||||
@@ -81,7 +81,7 @@ func get_score(state: State = get_state()) -> int:
|
||||
for pd in nearby_plants:
|
||||
score += pd.get_score_buff()
|
||||
|
||||
return max(0,score) * max(0,mult)
|
||||
return ceili(max(0,score) * max(0,mult))
|
||||
|
||||
func get_state() -> State:
|
||||
if day >= get_lifetime():
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
extends Resource
|
||||
class_name PlantMutation
|
||||
|
||||
const MAX_RARITY = 6
|
||||
|
||||
@export var level: int = 1
|
||||
|
||||
var id: String: get = get_mutation_id
|
||||
@@ -29,7 +31,7 @@ func mutate_plant_data(_plant_data: PlantData):
|
||||
func mutate_score(_plant_data: PlantData, score: int) -> int:
|
||||
return score
|
||||
|
||||
func mutate_score_multiplier(_plant_data: PlantData, multiplier: int) -> int:
|
||||
func mutate_score_multiplier(_plant_data: PlantData, multiplier: float) -> float:
|
||||
return multiplier
|
||||
|
||||
func mutate_lifetime(_plant_data: PlantData, lifetime: int) -> int:
|
||||
@@ -118,10 +120,11 @@ static func get_rarity_text(rarity) -> String:
|
||||
|
||||
static func get_rarity_color(rarity: int) -> Color:
|
||||
var rarity_colors: Array[Color] = [
|
||||
Color("2364AA"),
|
||||
Color("25C147"),
|
||||
Color("8B2DFF"),
|
||||
Color("FF006E"),
|
||||
Color("25c147"),
|
||||
Color("00c6ca"),
|
||||
Color("8b2dff"),
|
||||
Color("ff006e"),
|
||||
Color("ff5427"),
|
||||
Color("FFA617"),
|
||||
]
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
extends PlantMutation
|
||||
class_name AncientMutation
|
||||
|
||||
const DEFAULT_DAY_FACTOR = 4
|
||||
const DEFAULT_DAY_FACTOR = 3
|
||||
|
||||
func get_icon() -> Texture:
|
||||
return preload("res://common/icons/wood.svg")
|
||||
|
||||
@@ -21,11 +21,15 @@ func get_mutation_description() -> String:
|
||||
"score_icon": Text.bbcode_icon(Plant.SCORE_ICON),
|
||||
})
|
||||
|
||||
func mutate_seed_buff(_plant_data: PlantData, seed_buff) -> int:
|
||||
return seed_buff + get_seed_buff()
|
||||
func mutate_seed_buff(data: PlantData, seed_buff) -> int:
|
||||
if data.get_state() == PlantData.State.MATURE:
|
||||
return seed_buff + get_seed_buff()
|
||||
return seed_buff
|
||||
|
||||
func mutate_score(_plant_data: PlantData, score: int) -> int:
|
||||
return score + get_score_change()
|
||||
func mutate_score(data: PlantData, score: int) -> int:
|
||||
if data.get_state() == PlantData.State.MATURE:
|
||||
return score + get_score_change()
|
||||
return score
|
||||
|
||||
func get_seed_buff():
|
||||
return level
|
||||
|
||||
@@ -16,8 +16,8 @@ func get_mutation_description() -> String:
|
||||
"score_icon": Text.bbcode_icon(Plant.SCORE_ICON)
|
||||
})
|
||||
|
||||
func mutate_score_multiplier(plant_data: PlantData, multiplier: int) -> int:
|
||||
return multiplier - 1
|
||||
func mutate_score_multiplier(_pd: PlantData, _m: float) -> float:
|
||||
return 0
|
||||
|
||||
func mutate_score_buff(plant_data: PlantData, score_buff : int) -> int:
|
||||
if plant_data.get_state() == PlantData.State.MATURE:
|
||||
|
||||
@@ -2,7 +2,7 @@ extends PlantMutation
|
||||
class_name ProlificMutation
|
||||
|
||||
func get_icon() -> Texture:
|
||||
return preload("res://common/icons/droplets.svg")
|
||||
return preload("res://common/icons/seeds.svg")
|
||||
|
||||
func get_mutation_id() -> String:
|
||||
return "PROLIFIC"
|
||||
|
||||
@@ -16,7 +16,7 @@ func get_mutation_description() -> String:
|
||||
"score_multiplier": get_score_multiplier() + 1,
|
||||
})
|
||||
|
||||
func mutate_score_multiplier(plant_data: PlantData, multiplier: int) -> int:
|
||||
func mutate_score_multiplier(plant_data: PlantData, multiplier: float) -> float:
|
||||
if plant_data.decontamination_area_factor == 1.0:
|
||||
return multiplier + get_score_multiplier()
|
||||
return multiplier
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
extends PlantMutation
|
||||
class_name SocialMutation
|
||||
|
||||
const DEFAULT_PLANT_BY_POINT = 4
|
||||
const DEFAULT_PLANT_BY_POINT = 3
|
||||
|
||||
func get_icon() -> Texture:
|
||||
return preload("res://common/icons/users-group.svg")
|
||||
|
||||
@@ -13,19 +13,19 @@ func get_mutation_name() -> String:
|
||||
func get_mutation_description() -> String:
|
||||
return tr("TOUGH_EFFECT_TEXT").format({
|
||||
"score_icon": Text.bbcode_icon(Plant.SCORE_ICON),
|
||||
"score_multiplier": get_score_multiplier(),
|
||||
"score_multiplier": get_score_multiplier() + 1.,
|
||||
"growing_time": get_growing_time_increase(),
|
||||
"growing_icon": Text.bbcode_icon(Plant.GROWING_ICON)
|
||||
})
|
||||
|
||||
func mutate_score_multiplier(_plant_data: PlantData, multiplier: int) -> int:
|
||||
return multiplier * get_score_multiplier()
|
||||
func mutate_score_multiplier(_plant_data: PlantData, multiplier: float) -> float:
|
||||
return multiplier + get_score_multiplier()
|
||||
|
||||
func mutate_growing_time(_plant_data: PlantData, growing_time: int) -> int:
|
||||
return maxi(0, growing_time + get_growing_time_increase())
|
||||
return growing_time + maxi(0, get_growing_time_increase())
|
||||
|
||||
func get_growing_time_increase()->int:
|
||||
return 4 - level
|
||||
|
||||
func get_score_multiplier()->int:
|
||||
return 2
|
||||
|
||||
func get_score_multiplier()->float:
|
||||
return 0.5 * level
|
||||
|
||||
Reference in New Issue
Block a user