- Rééquilibrage du mode histoire (vers le haut, le jeu sera un poil plus dur)
- Ajout d'effet pour dissuader le joueur d'aller hors map (avec peut être un easter egg ???)
- Réparation des noms de régions avec le mode twitch et ajout de nombreux noms de régions de la communauté
- Buff de la mutation solide (plus qu'un jour de maturation en plus)
- Quelques coquilles dans les textes (il doit en rester)
- Ajout de la mention de la région choisie dans le dashboard du cockpit
- Distributeurs plus clairs (surtout la notion de choix d'artefact)
This commit is contained in:
2026-07-22 00:14:46 +02:00
parent d103cd22f2
commit bb0424d67e
49 changed files with 513 additions and 165 deletions
@@ -83,6 +83,8 @@ static func basic_objective_for_region(level : int) -> int:
3: return 20
4: return 30
5: return 45
6: return 65
7: return 90
_: return basic_objective_for_region(level-1) + (level-2) * 5
static func difficult_objective_for_region(level : int) -> int:
@@ -32,7 +32,7 @@ func get_region_sequence_length(_difficulty_setting : int) -> int:
return 5
func get_objective_multiplier() -> float:
return 0.6
return 0.8
func is_run_point_dangerous(_level : int, _difficulty_setting : int) -> bool:
return false
@@ -47,7 +47,7 @@ func get_challenge_chance(_level : int, _difficulty_setting : int) -> float:
return 0.
func get_ship_dialog_path(level : int, difficulty_setting : int ,ship_in_space := true) -> String:
if ship_in_space and level + 1 == get_cave_occurence(level, difficulty_setting):
if ship_in_space and level == get_cave_occurence(level, difficulty_setting):
return CAVE_DIALOG_PATH
if ship_in_space and is_run_finished(level + 1, difficulty_setting):
return MERCURY_ARRIVAL_DIALOG_PATH
@@ -36,7 +36,7 @@ func get_region_sequence_length(_difficulty_setting : int) -> int:
return 6
func get_objective_multiplier() -> float:
return 0.8
return 1
func get_ship_dialog_path(level : int, difficulty_setting : int, ship_in_space := true) -> String:
if level == 0:
@@ -25,6 +25,9 @@ func get_destination_text() -> String:
func get_destination_scene() -> Scene:
return BoreaScene.new()
func get_objective_multiplier() -> float:
return 1.2
func get_player_max_energy(difficulty_setting := 1) -> int:
if difficulty_setting == 0:
return 4 + COSY_ENERGY_ADDITION
@@ -34,7 +34,7 @@ func get_player_max_inventory(_difficulty_setting) -> int:
return 4
func get_objective_multiplier() -> float:
return 1.2
return 1.4
func get_ship_dialog_path(level : int, _difficulty_setting : int, _ship_in_space := true) -> String:
if level == 5:
@@ -35,7 +35,7 @@ func get_player_max_inventory(_difficulty_setting : int) -> int:
return 5
func get_objective_multiplier() -> float:
return 1.4
return 1.6
func get_ship_dialog_path(level : int, _difficulty_setting : int, _ship_in_space := true) -> String:
if level == 5:
@@ -35,7 +35,7 @@ func get_player_max_inventory(_difficulty_setting : int) -> int:
return 5
func get_objective_multiplier() -> float:
return 1.6
return 1.8
func get_ship_dialog_path(level : int, _difficulty_setting : int, _ship_in_space := true) -> String:
if level == 5:
@@ -0,0 +1,17 @@
extends Scene
class_name BackroomsScene
func get_scene_id() -> String:
return "BACKROOMS"
func get_scene_path() -> String:
return "res://stages/3d_scenes/backrooms/backrooms.tscn"
func get_scene_title() -> String:
return "???"
func is_mouse_captured() -> bool:
return true
func is_needed_to_be_saved() -> bool:
return false
@@ -0,0 +1 @@
uid://dvfjj4bhdy55b
@@ -16,6 +16,7 @@ const ACH_STW_HIT_10_INFINITE="STW_HIT_10_INFINITE"
const ACH_STW_HIT_20_INFINITE="STW_HIT_20_INFINITE"
const ACH_STW_HIT_30_INFINITE="STW_HIT_30_INFINITE"
const ACH_STW_ALL_CASES="STW_ALL_CASES"
const ACH_STW_TOO_FAR="STW_TOO_FAR"
func unlock_achievement(achivement_name : String):
if Steam.isSteamRunning():
+133
View File
@@ -6,6 +6,7 @@ const MAX_WORD_LEN = 8
const VOWEL = ["a","e","i","o","u","y"]
const CONSONANTS = ["b", "c", "d", "f", "g", "h", "j", "k", "l", "m", "n", "p", "q", "r", "s", "t", "v", "w", "x", "z"]
#region ------------------ Plant Name ------------------
static func generate_random_word(_random_seed = randi()) -> String:
if (
@@ -64,3 +65,135 @@ static func replace_character(word : String):
word[character_id] = character
return word
#region ------------------ Region Name ------------------
const RANDOM_REGION_NAME_POOL = [
"Pinouille",
"Hyugo",
"Dedana",
"Snowy",
"Eros",
"Snoop",
"Warmfuzzy",
"Sheepish",
"Nebula",
"Luna",
"Catapult",
"Kepler",
"Fabricius",
"Sagan",
"Lovelace",
"Torvalds",
"Turing",
"Asimov",
"Herbert",
"Wells",
"Pesquet",
"Tereshkova",
"Poiro",
"O'Malley",
"Dream",
"Cumulus",
"Pyrka",
"Pacho",
"Birdopia",
"Obsaya",
"Looping",
"Jarvis",
"Orion",
"Isitt",
"Pomoa",
"Ezeron",
"Ebis",
"Ecloya",
"Vlamedun",
"Faishostruc",
"Slazor",
"Plulune",
"Fledu",
"Jiclot",
"Greyun",
"Uasland",
"Ebimeron",
"Fosmule",
"Ushium",
"Nesnar",
"Broysau",
"Shiesal",
"Eblie",
"Ostraria",
"Scev",
"Nochuedan",
"Woshania",
"Eblor",
"Ochil",
"Speles",
"Oscesh",
"Estor",
"Lagronus",
"Relmania",
"Bobbeon",
"Peclite",
"Eivis",
"Drugantu",
"Latunides",
"Qisos",
"Bosos",
"Yesta",
"Nodeuria",
"Thosone",
"Zinuna",
"Viurus",
"Natis",
"Laduphus",
"Cebbaphus",
"Pungea",
"Vebos",
"Nebos",
"Dremili",
"Seganides",
"Icania",
"Aboulara",
"Guzadus",
"Dulmea",
"Kueli",
"Deothe",
"Gonides",
"Monvelib",
"Baccutum",
"Cimemia",
"Ricia",
"Nechov",
"Huphus",
"Maliat",
"Deaphus",
]
const RANDOM_REGION_TYPE_POOL = [
"REGION_TYPE_VALLEY",
"REGION_TYPE_HIGHLANDS",
"REGION_TYPE_HEIGHTS",
"REGION_TYPE_MOUNTAIN",
"REGION_TYPE_PEAKS",
"REGION_TYPE_HILLS",
"REGION_TYPE_PASS",
"REGION_TYPE_PLAIN",
"REGION_TYPE_CANAL",
"REGION_TYPE_FLATLANDS",
"REGION_TYPE_LABYRINTH",
"REGION_TYPE_REGION",
"REGION_TYPE_BARRIER",
"REGION_TYPE_CROWN",
"REGION_TYPE_SUMMIT",
"REGION_TYPE_PANORAMA",
"REGION_TYPE_EXPANSE",
"REGION_TYPE_GROUNDS",
"REGION_TYPE_PLATEAU",
"REGION_TYPE_FOOTHILLS",
"REGION_TYPE_CANYON",
"REGION_TYPE_RIDGE",
"REGION_TYPE_LANDSCAPE",
]
@@ -0,0 +1,38 @@
// Stolent here : https://godotshaders.com/shader/glitch-double-vision/
shader_type canvas_item;
uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_nearest;
uniform float pixel_size : hint_range(1.0, 10.0) = 3.0;
uniform float vhs_intensity : hint_range(0.0, 10.0) = 3.0;
uniform float opacity : hint_range(0.0, 1.0) = 0.5;
uniform float double_vision_split : hint_range(0.0, 0.05) = 0.01;
float random(vec2 uv) {
return fract(sin(dot(uv, vec2(12.9898, 78.233))) * 43758.5453123);
}
void fragment() {
vec4 original_color = texture(SCREEN_TEXTURE, SCREEN_UV);
vec2 screen_res = vec2(textureSize(SCREEN_TEXTURE, 0));
vec2 grid_uv = round(SCREEN_UV * (screen_res / pixel_size)) / (screen_res / pixel_size);
float time_step = floor(TIME * 15.0);
float glitch = (random(vec2(time_step, floor(grid_uv.y * 30.0))) - 0.5) * 0.005 * vhs_intensity;
vec2 uv = grid_uv;
uv.x += glitch;
vec2 uv_red = uv + vec2(double_vision_split, 0.0);
vec2 uv_blue = uv - vec2(double_vision_split, 0.0);
vec4 tex_red = texture(SCREEN_TEXTURE, uv_red);
vec4 tex_blue = texture(SCREEN_TEXTURE, uv_blue);
vec3 red_vision = vec3(tex_red.r, 0.0, 0.0);
vec3 blue_vision = vec3(0.0, tex_blue.g, tex_blue.b);
vec3 vhs_color = red_vision + blue_vision;
vec3 final_color = mix(original_color.rgb, vhs_color, opacity);
COLOR = vec4(final_color, 1.0);
}
@@ -0,0 +1 @@
uid://ckowuw2qsgrks