region names and types
This commit is contained in:
@@ -22,7 +22,7 @@ func is_needed_to_be_announced() -> bool:
|
|||||||
|
|
||||||
func get_scene_title() -> String:
|
func get_scene_title() -> String:
|
||||||
if region_data:
|
if region_data:
|
||||||
return region_data.region_name
|
return region_data.get_region_name()
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
func _on_generated(generated_scene : Node):
|
func _on_generated(generated_scene : Node):
|
||||||
|
|||||||
+1
-1
@@ -264,7 +264,7 @@ zoom_out={
|
|||||||
[internationalization]
|
[internationalization]
|
||||||
|
|
||||||
locale/translation_remaps={}
|
locale/translation_remaps={}
|
||||||
locale/translations=PackedStringArray("res://translation/game/gui.en.translation", "res://translation/game/gui.fr.translation", "res://translation/dialogs/dialogic_character_translations.en.translation", "res://translation/dialogs/dialogic_demeter_ship_failed_translation.en.translation", "res://translation/dialogs/dialogic_demeter_ship_failed_translation.fr.translation", "res://translation/dialogs/dialogic_1_waking_up_translation.en.translation", "res://translation/dialogs/dialogic_1_waking_up_translation.fr.translation", "res://translation/dialogs/dialogic_2_demeter_intro_translation.en.translation", "res://translation/dialogs/dialogic_2_demeter_intro_translation.fr.translation", "res://translation/dialogs/dialogic_3_demeter_ship_presentation_translation.en.translation", "res://translation/dialogs/dialogic_3_demeter_ship_presentation_translation.fr.translation", "res://translation/dialogs/dialogic_4_cave_translation.en.translation", "res://translation/dialogs/dialogic_4_cave_translation.fr.translation", "res://translation/dialogs/dialogic_5_mercury_arrival_translation.en.translation", "res://translation/dialogs/dialogic_5_mercury_arrival_translation.fr.translation", "res://translation/dialogs/dialogic_6_mercury_departure_translation.en.translation", "res://translation/dialogs/dialogic_6_mercury_departure_translation.fr.translation", "res://translation/dialogs/dialogic_7_venus_arrival_translation.en.translation", "res://translation/dialogs/dialogic_7_venus_arrival_translation.fr.translation", "res://translation/dialogs/dialogic_8_venus_departure_translation.en.translation", "res://translation/dialogs/dialogic_8_venus_departure_translation.fr.translation", "res://translation/dialogs/dialogic_9_borea_translation.en.translation", "res://translation/dialogs/dialogic_cave_translation.en.translation", "res://translation/dialogs/dialogic_cave_translation.fr.translation", "res://translation/dialogs/dialogic_character_translations.fr.translation", "res://translation/dialogs/dialogic_6_vending_machine_presentation_translation.en.translation", "res://translation/dialogs/dialogic_6_vending_machine_presentation_translation.fr.translation", "res://translation/dialogs/dialogic_1_aqua_travel_phone_call_translation.en.translation", "res://translation/dialogs/dialogic_1_astra_travel_phone_call_translation.en.translation", "res://translation/dialogs/dialogic_1_estia_travel_phone_call_translation.en.translation", "res://translation/dialogs/dialogic_1_subterra_travel_phone_call_translation.en.translation", "res://translation/dialogs/dialogic_2_aqua_arrival_translation.en.translation", "res://translation/dialogs/dialogic_2_astra_top_translation.en.translation", "res://translation/dialogs/dialogic_2_estia_arrival_translation.en.translation", "res://translation/dialogs/dialogic_2_subterra_arrival_translation.en.translation", "res://translation/dialogs/dialogic_3_astra_end_translation.en.translation", "res://translation/dialogs/dialogic_91_borea_comms_up_translation.en.translation", "res://translation/dialogs/dialogic_92_borea_later_translation.en.translation", "res://translation/dialogs/dialogic_9_borea_arrival_translation.en.translation")
|
locale/translations=PackedStringArray("res://translation/game/gui.en.translation", "res://translation/game/gui.fr.translation", "res://translation/dialogs/dialogic_character_translations.en.translation", "res://translation/dialogs/dialogic_demeter_ship_failed_translation.en.translation", "res://translation/dialogs/dialogic_demeter_ship_failed_translation.fr.translation", "res://translation/dialogs/dialogic_1_waking_up_translation.en.translation", "res://translation/dialogs/dialogic_1_waking_up_translation.fr.translation", "res://translation/dialogs/dialogic_2_demeter_intro_translation.en.translation", "res://translation/dialogs/dialogic_2_demeter_intro_translation.fr.translation", "res://translation/dialogs/dialogic_3_demeter_ship_presentation_translation.en.translation", "res://translation/dialogs/dialogic_3_demeter_ship_presentation_translation.fr.translation", "res://translation/dialogs/dialogic_4_cave_translation.en.translation", "res://translation/dialogs/dialogic_4_cave_translation.fr.translation", "res://translation/dialogs/dialogic_5_mercury_arrival_translation.en.translation", "res://translation/dialogs/dialogic_5_mercury_arrival_translation.fr.translation", "res://translation/dialogs/dialogic_6_mercury_departure_translation.en.translation", "res://translation/dialogs/dialogic_6_mercury_departure_translation.fr.translation", "res://translation/dialogs/dialogic_7_venus_arrival_translation.en.translation", "res://translation/dialogs/dialogic_7_venus_arrival_translation.fr.translation", "res://translation/dialogs/dialogic_8_venus_departure_translation.en.translation", "res://translation/dialogs/dialogic_8_venus_departure_translation.fr.translation", "res://translation/dialogs/dialogic_9_borea_translation.en.translation", "res://translation/dialogs/dialogic_cave_translation.en.translation", "res://translation/dialogs/dialogic_cave_translation.fr.translation", "res://translation/dialogs/dialogic_character_translations.fr.translation", "res://translation/dialogs/dialogic_6_vending_machine_presentation_translation.en.translation", "res://translation/dialogs/dialogic_6_vending_machine_presentation_translation.fr.translation", "res://translation/dialogs/dialogic_1_aqua_travel_phone_call_translation.en.translation", "res://translation/dialogs/dialogic_1_astra_travel_phone_call_translation.en.translation", "res://translation/dialogs/dialogic_1_estia_travel_phone_call_translation.en.translation", "res://translation/dialogs/dialogic_1_subterra_travel_phone_call_translation.en.translation", "res://translation/dialogs/dialogic_2_aqua_arrival_translation.en.translation", "res://translation/dialogs/dialogic_2_astra_top_translation.en.translation", "res://translation/dialogs/dialogic_2_estia_arrival_translation.en.translation", "res://translation/dialogs/dialogic_2_subterra_arrival_translation.en.translation", "res://translation/dialogs/dialogic_3_astra_end_translation.en.translation", "res://translation/dialogs/dialogic_91_borea_comms_up_translation.en.translation", "res://translation/dialogs/dialogic_92_borea_later_translation.en.translation", "res://translation/dialogs/dialogic_9_borea_arrival_translation.en.translation", "res://translation/names/location_types.en.translation", "res://translation/names/location_types.fr.translation")
|
||||||
locale/test="fr"
|
locale/test="fr"
|
||||||
|
|
||||||
[rendering]
|
[rendering]
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ func update_noise() -> void:
|
|||||||
|
|
||||||
var noise := FastNoiseLite.new()
|
var noise := FastNoiseLite.new()
|
||||||
noise.noise_type = FastNoiseLite.TYPE_CELLULAR
|
noise.noise_type = FastNoiseLite.TYPE_CELLULAR
|
||||||
noise.seed = region.data.region_name.hash() + region.data.charges
|
noise.seed = region.data.get_region_name().hash() + region.data.charges
|
||||||
|
|
||||||
texture.noise = noise
|
texture.noise = noise
|
||||||
|
|
||||||
|
|||||||
@@ -18,10 +18,10 @@ extends Node
|
|||||||
@export var region : Region
|
@export var region : Region
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
meteo = Meteo.new(region.data.region_name.hash() + region.data.charges)
|
meteo = Meteo.new(region.data.get_region_name().hash() + region.data.charges)
|
||||||
region.data.pass_day_proceeded.connect(
|
region.data.pass_day_proceeded.connect(
|
||||||
func(data : RegionData):
|
func(data : RegionData):
|
||||||
meteo = Meteo.new(data.region_name.hash() + data.charges)
|
meteo = Meteo.new(data.get_region_name().hash() + data.charges)
|
||||||
wind_particles.restart()
|
wind_particles.restart()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,8 @@ const START_ROCK_HOLE_RADIUS = 0
|
|||||||
const PLAYER_ROCK_HOLE_RADIUS = 5
|
const PLAYER_ROCK_HOLE_RADIUS = 5
|
||||||
|
|
||||||
@export var region_seed : int
|
@export var region_seed : int
|
||||||
@export var region_name : String
|
@export var region_first_name : String
|
||||||
|
@export var region_name_key : String
|
||||||
|
|
||||||
@export var rock_threshold : float
|
@export var rock_threshold : float
|
||||||
@export var decontamination_threshold : float
|
@export var decontamination_threshold : float
|
||||||
@@ -67,7 +68,8 @@ func _init(
|
|||||||
if parameter:
|
if parameter:
|
||||||
charges = parameter.get_charge()
|
charges = parameter.get_charge()
|
||||||
objective = parameter.get_objective()
|
objective = parameter.get_objective()
|
||||||
region_name = parameter.get_region_name()
|
region_first_name = parameter.region_first_name;
|
||||||
|
region_name_key = parameter.region_name_key;
|
||||||
region_seed = parameter.get_region_seed()
|
region_seed = parameter.get_region_seed()
|
||||||
rock_threshold = parameter.get_rock_threshold()
|
rock_threshold = parameter.get_rock_threshold()
|
||||||
decontamination_threshold = parameter.get_decontamination_threshold()
|
decontamination_threshold = parameter.get_decontamination_threshold()
|
||||||
@@ -101,7 +103,15 @@ func update():
|
|||||||
failed.emit()
|
failed.emit()
|
||||||
updated.emit(self)
|
updated.emit(self)
|
||||||
|
|
||||||
#endregion
|
func get_region_name() -> String:
|
||||||
|
var n := region_first_name
|
||||||
|
if region_name_key != "":
|
||||||
|
n = tr(region_name_key).format({"name": region_first_name})
|
||||||
|
|
||||||
|
for m in modifiers:
|
||||||
|
n = m.modify_region_name(n)
|
||||||
|
|
||||||
|
return n
|
||||||
|
|
||||||
#region ------------------ Score ------------------
|
#region ------------------ Score ------------------
|
||||||
|
|
||||||
|
|||||||
@@ -5,28 +5,60 @@ const DEFAULT_ROCK_THRESHOLD = 0.3
|
|||||||
const DEFAULT_DECONTAMINATION_THRESHOLD = 0.3
|
const DEFAULT_DECONTAMINATION_THRESHOLD = 0.3
|
||||||
const DEFAULT_CRISTAL_THRESHOLD = 0.1
|
const DEFAULT_CRISTAL_THRESHOLD = 0.1
|
||||||
const DEFAULT_CHARGE = 10
|
const DEFAULT_CHARGE = 10
|
||||||
const DEFAULT_TALION_CELL_CHANCE : Array[int] = [0,0,0,1,1]
|
const DEFAULT_TALION_CELL_CHANCE: Array[int] = [0, 0, 0, 1, 1]
|
||||||
const DEFAULT_ENERGY_CELL_CHANCE : Array[int] = [1,2,2,2,3]
|
const DEFAULT_ENERGY_CELL_CHANCE: Array[int] = [1, 2, 2, 2, 3]
|
||||||
const DEFAULT_START_DECONTAMINATION_ZONE_RADIUS = 3
|
const DEFAULT_START_DECONTAMINATION_ZONE_RADIUS = 3
|
||||||
const DEFAULT_SEED_RARITY_POOL: Array[int] = [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,1]
|
const DEFAULT_SEED_RARITY_POOL: Array[int] = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
|
||||||
|
|
||||||
@export var region_name : String
|
const JUST_NAME_PROBABILITY := 0.3
|
||||||
@export var objective : int
|
const REGION_TYPES_CSV := "res://translation/names/location_types.csv"
|
||||||
@export var charge : int
|
const REGION_NAMES_FILE := "res://translation/names/location_names.csv"
|
||||||
@export var region_seed : int
|
|
||||||
@export var modifiers : Array[RegionModifier]
|
@export var region_first_name: String
|
||||||
|
@export var region_name_key: String
|
||||||
|
@export var objective: int
|
||||||
|
@export var charge: int
|
||||||
|
@export var region_seed: int
|
||||||
|
@export var modifiers: Array[RegionModifier]
|
||||||
|
|
||||||
func _init(
|
func _init(
|
||||||
_name = Random.generate_random_word(),
|
_name = "",
|
||||||
_modifiers : Array[RegionModifier] = [],
|
_modifiers: Array[RegionModifier] = [],
|
||||||
_region_seed = randi(),
|
_region_seed = randi(),
|
||||||
):
|
):
|
||||||
region_name = _name
|
set_random_region_name()
|
||||||
modifiers = _modifiers
|
modifiers = _modifiers
|
||||||
region_seed = _region_seed
|
region_seed = _region_seed
|
||||||
|
|
||||||
|
func get_random_region_first_name() -> String:
|
||||||
|
var name_file := FileAccess.open(REGION_NAMES_FILE, FileAccess.READ)
|
||||||
|
var n_names := name_file.get_line().to_int()
|
||||||
|
var name_ind := randi_range(0, n_names)
|
||||||
|
var first_name := name_file.get_line()
|
||||||
|
for i in range(name_ind):
|
||||||
|
first_name = name_file.get_line()
|
||||||
|
return first_name
|
||||||
|
|
||||||
|
func get_random_region_name_key() -> String:
|
||||||
|
var place_file := FileAccess.open(REGION_TYPES_CSV, FileAccess.READ)
|
||||||
|
var n_places := place_file.get_line().split(",")[0].to_int()
|
||||||
|
var place_ind := randi_range(0, n_places)
|
||||||
|
var place_key := place_file.get_line().split(",")[0]
|
||||||
|
for i in range(place_ind):
|
||||||
|
place_key = place_file.get_line().split(",")[0]
|
||||||
|
return place_key
|
||||||
|
|
||||||
|
func set_random_region_name():
|
||||||
|
region_first_name = get_random_region_first_name()
|
||||||
|
if randf() > JUST_NAME_PROBABILITY:
|
||||||
|
region_name_key = get_random_region_name_key()
|
||||||
|
else:
|
||||||
|
region_name_key = ""
|
||||||
|
|
||||||
func get_region_name() -> String:
|
func get_region_name() -> String:
|
||||||
var n := region_name
|
var n := region_first_name
|
||||||
|
if region_name_key != "":
|
||||||
|
n = tr(region_name_key).format({"name": region_first_name})
|
||||||
|
|
||||||
for m in modifiers:
|
for m in modifiers:
|
||||||
n = m.modify_region_name(n)
|
n = m.modify_region_name(n)
|
||||||
|
|||||||
@@ -0,0 +1,100 @@
|
|||||||
|
49
|
||||||
|
Isitt
|
||||||
|
Pomoa
|
||||||
|
Ezeron
|
||||||
|
Ebis
|
||||||
|
Ecloya
|
||||||
|
Vlamedun
|
||||||
|
Iuqeresh
|
||||||
|
Faishostruc
|
||||||
|
Iupoqune
|
||||||
|
Slazor
|
||||||
|
Plulune
|
||||||
|
Fledu
|
||||||
|
Jiclot
|
||||||
|
Greyun
|
||||||
|
Uasland
|
||||||
|
Brisiobu
|
||||||
|
Eazeyo
|
||||||
|
Ebimeron
|
||||||
|
Fosmule
|
||||||
|
Yaglaisal
|
||||||
|
Ushium
|
||||||
|
Nesnar
|
||||||
|
Broysau
|
||||||
|
Shiesal
|
||||||
|
Eblie
|
||||||
|
Ostraria
|
||||||
|
Scev bren
|
||||||
|
Nochuedan
|
||||||
|
Woshania
|
||||||
|
Eblor
|
||||||
|
Ochil
|
||||||
|
Speles
|
||||||
|
Oscesh
|
||||||
|
Estor
|
||||||
|
Lagronus
|
||||||
|
Relmania
|
||||||
|
Bobbeon
|
||||||
|
Zigrore
|
||||||
|
Peclite
|
||||||
|
Eivis
|
||||||
|
Drugantu
|
||||||
|
Latunides
|
||||||
|
Qisos
|
||||||
|
Bosos
|
||||||
|
Sreriq
|
||||||
|
Yesta
|
||||||
|
Nodeuria
|
||||||
|
Thosone
|
||||||
|
Zinuna
|
||||||
|
Viurus
|
||||||
|
Natis
|
||||||
|
Laduphus
|
||||||
|
Cebbaphus
|
||||||
|
Gulnyke
|
||||||
|
Pungea
|
||||||
|
Vebos
|
||||||
|
Nebos
|
||||||
|
Dremili
|
||||||
|
Seganides
|
||||||
|
Icania
|
||||||
|
Aboulara
|
||||||
|
Guzadus
|
||||||
|
Dulmea
|
||||||
|
Kueli
|
||||||
|
Deothe
|
||||||
|
Gonides
|
||||||
|
Monvelib
|
||||||
|
Baccutum
|
||||||
|
Cimemia
|
||||||
|
Ricia
|
||||||
|
Nechov
|
||||||
|
Huphus
|
||||||
|
Choacurry
|
||||||
|
Maliat
|
||||||
|
Deaphus
|
||||||
|
Melutania
|
||||||
|
Cumao
|
||||||
|
Ponvuna
|
||||||
|
Thunzo
|
||||||
|
Thonides
|
||||||
|
Iulia
|
||||||
|
Choabantu
|
||||||
|
Crugacarro
|
||||||
|
Oratal
|
||||||
|
Chromia
|
||||||
|
Onglea
|
||||||
|
Dophosie
|
||||||
|
Xepra
|
||||||
|
Bonus
|
||||||
|
Neirus
|
||||||
|
Brazacury
|
||||||
|
Xilmertum
|
||||||
|
Vibraios
|
||||||
|
Gohosie
|
||||||
|
Chistrade
|
||||||
|
Zapra
|
||||||
|
Boruta
|
||||||
|
Mathor
|
||||||
|
Dirunides
|
||||||
|
@@ -0,0 +1,16 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="csv_translation"
|
||||||
|
type="Translation"
|
||||||
|
uid="uid://soi6t0mktsjj"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://translation/names/location_names.csv"
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress=1
|
||||||
|
delimiter=0
|
||||||
|
unescape_keys=false
|
||||||
|
unescape_translations=true
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
23,en,fr
|
||||||
|
VALLEY,Valley of {name},Vallée {name}
|
||||||
|
HIGHLANDS,{name} Highlands,Hautes terres de {name}
|
||||||
|
HEIGHTS,{name} Heights,Hauteurs de {name}
|
||||||
|
MOUNTAIN,Mountain of {name},Montagne {name}
|
||||||
|
PEAKS,{name} Peaks,Piques de {name}
|
||||||
|
HILLS,{name} Hills,Collines {name}
|
||||||
|
PASS,Pass of {name},Passe {name}
|
||||||
|
PLAIN,Plain of {name},Plaine {name}
|
||||||
|
CANAL,Canal of {name},Canal de {name}
|
||||||
|
FLATLANDS,Flatlands of {name},Terres plates de {name}
|
||||||
|
LABYRINTH,{name} Labyrinth,Labyrinthe {name}
|
||||||
|
REGION,Region of {name},Région de {name}
|
||||||
|
BARRIER,Barrier of {name},Barrière de {name}
|
||||||
|
CROWN,{name} Crown,Couronne {name}
|
||||||
|
SUMMIT,Summit of {name},Sommet de {name}
|
||||||
|
PANORAMA,{name} Panorama,Panorama de {name}
|
||||||
|
EXPANSE,{name} Expanse,Étendues {name}
|
||||||
|
GROUNDS,{name} Grounds,Terres de {name}
|
||||||
|
PLATEAU,Plateau of {name},Plateau de {name}
|
||||||
|
FOOTHILLS,{name} Foothills,Contreforts de {name}
|
||||||
|
CANYON,Canyon of {name},Canyon {name}
|
||||||
|
RIDGE,{name} Ridge,Crête de {name}
|
||||||
|
LANDSCAPE,{name} Landscape,Paysage de {name}
|
||||||
|
@@ -0,0 +1,19 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="csv_translation"
|
||||||
|
type="Translation"
|
||||||
|
uid="uid://po0o4bpp34vl"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
files=["res://translation/names/location_types.en.translation", "res://translation/names/location_types.fr.translation"]
|
||||||
|
|
||||||
|
source_file="res://translation/names/location_types.csv"
|
||||||
|
dest_files=["res://translation/names/location_types.en.translation", "res://translation/names/location_types.fr.translation"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress=1
|
||||||
|
delimiter=0
|
||||||
|
unescape_keys=false
|
||||||
|
unescape_translations=true
|
||||||
Reference in New Issue
Block a user