Compare commits
2 Commits
7254ca1ce3
...
e767e776f2
| Author | SHA1 | Date | |
|---|---|---|---|
| e767e776f2 | |||
| eb48a095de |
@@ -12,7 +12,7 @@ dest_files=["res://.godot/imported/ambiance_phase_1.ogg-3c486442fa41b06071c54c0c
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop=true
|
||||
loop_offset=0.0
|
||||
bpm=0.0
|
||||
beat_count=0
|
||||
|
||||
@@ -12,7 +12,7 @@ dest_files=["res://.godot/imported/ambiance_phase_2.ogg-a28969a5c2d756a0073623a6
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop=true
|
||||
loop_offset=0.0
|
||||
bpm=0.0
|
||||
beat_count=0
|
||||
|
||||
@@ -13,7 +13,7 @@ dest_files=["res://.godot/imported/ambiance_phase_3.ogg-66c917f6ee1dc2ac31474ae7
|
||||
[params]
|
||||
|
||||
loop=true
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
loop_offset=0.0
|
||||
bpm=0.0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://dadg6o6dl2k6t"
|
||||
uid="uid://bmwaw1yb8hucf"
|
||||
path="res://.godot/imported/ship_music.ogg-a35a322e3a6a4adafae0f2adcaf21247.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
@@ -12,14 +12,8 @@ dest_files=["res://.godot/imported/ship_music.ogg-a35a322e3a6a4adafae0f2adcaf212
|
||||
|
||||
[params]
|
||||
|
||||
<<<<<<< HEAD
|
||||
loop=true
|
||||
loop_offset=0.0
|
||||
bpm=0.0
|
||||
=======
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
>>>>>>> 65645d976a98b5bfd030770764e72893cb8d9ccd
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
|
||||
@@ -12,7 +12,7 @@ dest_files=["res://.godot/imported/forest_phase_1.ogg-6fd2e255642e47e98a5560b5a2
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop=true
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
|
||||
@@ -12,7 +12,7 @@ dest_files=["res://.godot/imported/forest_phase_2.ogg-1497e4a80f7f2adb0670888710
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop=true
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
|
||||
@@ -12,7 +12,7 @@ dest_files=["res://.godot/imported/mines_phase_1.ogg-992232f16d175421a148ea48885
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop=true
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
|
||||
@@ -12,7 +12,7 @@ dest_files=["res://.godot/imported/mines_phase_2.ogg-f9104b757c31bcfc711d0517d98
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop=true
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
|
||||
@@ -5,41 +5,28 @@
|
||||
[ext_resource type="AudioStream" uid="uid://bm0tdi6bd2e65" path="res://common/audio_manager/assets/ambiance/niveau/ambiance_phase_2.ogg" id="3_7uv4r"]
|
||||
[ext_resource type="AudioStream" uid="uid://b1hut6lc1jevh" path="res://common/audio_manager/assets/morceaux/niveau/mines_phase_2.ogg" id="4_2fduo"]
|
||||
[ext_resource type="AudioStream" uid="uid://dftxjfdqgsbd3" path="res://common/audio_manager/assets/ambiance/niveau/ambiance_phase_3.ogg" id="4_tuvql"]
|
||||
<<<<<<< HEAD
|
||||
[ext_resource type="AudioStream" uid="uid://dyv128cll6e15" path="res://common/audio_manager/assets/ambiance/astra/ambiance_astra.ogg" id="5_8204s"]
|
||||
[ext_resource type="AudioStream" uid="uid://dcbuhtc085q2x" path="res://common/audio_manager/assets/morceaux/niveau/mines_phase_1.ogg" id="5_ajci6"]
|
||||
[ext_resource type="AudioStream" uid="uid://cwu71o0sl2vto" path="res://common/audio_manager/assets/ambiance/dialogues/ambiance_Demeter.ogg" id="6_8204s"]
|
||||
[ext_resource type="AudioStream" uid="uid://ca8n3mvauex0w" path="res://common/audio_manager/assets/ambiance/borea/ambiance_borea.ogg" id="7_spekb"]
|
||||
[ext_resource type="AudioStream" uid="uid://bpf6witukorka" path="res://common/audio_manager/assets/morceaux/menu/main_menu.ogg" id="7_tuvql"]
|
||||
[ext_resource type="AudioStream" uid="uid://dadg6o6dl2k6t" path="res://common/audio_manager/assets/ambiance/vaisseau/ship_music.ogg" id="8_tuvql"]
|
||||
[ext_resource type="AudioStream" uid="uid://bmwaw1yb8hucf" path="res://common/audio_manager/assets/ambiance/vaisseau/ship_music.ogg" id="8_tuvql"]
|
||||
[ext_resource type="AudioStream" uid="uid://dsphn6dbbd55a" path="res://common/audio_manager/assets/morceaux/niveau/forest_phase_1.ogg" id="9_am7i4"]
|
||||
=======
|
||||
[ext_resource type="AudioStream" uid="uid://dcbuhtc085q2x" path="res://common/audio_manager/assets/morceaux/niveau/mines_phase_1.ogg" id="5_ajci6"]
|
||||
[ext_resource type="AudioStream" uid="uid://bpf6witukorka" path="res://common/audio_manager/assets/morceaux/menu/main_menu.ogg" id="7_tuvql"]
|
||||
[ext_resource type="AudioStream" uid="uid://dadg6o6dl2k6t" path="res://common/audio_manager/assets/ambiance/vaisseau/ship_music.ogg" id="8_tuvql"]
|
||||
>>>>>>> 65645d976a98b5bfd030770764e72893cb8d9ccd
|
||||
[ext_resource type="AudioStream" uid="uid://dfrp66a4isnt6" path="res://common/audio_manager/assets/sfx/dig/dig_1.wav" id="9_gv65y"]
|
||||
[ext_resource type="AudioStream" uid="uid://bdxkvaciw4mb3" path="res://common/audio_manager/assets/sfx/dig/dig_2.wav" id="10_n7o7n"]
|
||||
[ext_resource type="AudioStream" uid="uid://ccimypx71o4g6" path="res://common/audio_manager/assets/morceaux/niveau/forest_phase_2.ogg" id="10_tq535"]
|
||||
[ext_resource type="AudioStream" uid="uid://kqbqhwhkv7o3" path="res://common/audio_manager/assets/morceaux/niveau/mines_waiting.ogg" id="11_ngi21"]
|
||||
[ext_resource type="AudioStream" uid="uid://llxrlwfccywb" path="res://common/audio_manager/assets/sfx/dig/dig_3.wav" id="11_wtvls"]
|
||||
[ext_resource type="AudioStream" uid="uid://b8inedx4yjslw" path="res://common/audio_manager/assets/sfx/drop/drop_1.wav" id="12_4hp8f"]
|
||||
<<<<<<< HEAD
|
||||
[ext_resource type="AudioStream" uid="uid://cjbpfnlwcpjh0" path="res://common/audio_manager/assets/morceaux/niveau/forest_waiting.ogg" id="12_xmumj"]
|
||||
=======
|
||||
[ext_resource type="AudioStream" uid="uid://c5y70k3codtn" path="res://common/audio_manager/assets/sfx/signal/signal.mp3" id="12_ajci6"]
|
||||
>>>>>>> 65645d976a98b5bfd030770764e72893cb8d9ccd
|
||||
[ext_resource type="AudioStream" uid="uid://8nmr5vifkt1f" path="res://common/audio_manager/assets/sfx/harvest/harvest_1.wav" id="13_xoaox"]
|
||||
[ext_resource type="AudioStream" uid="uid://dgkdcq4j6fe3o" path="res://common/audio_manager/assets/sfx/harvest/harvest_2.wav" id="14_b5bgj"]
|
||||
[ext_resource type="AudioStream" uid="uid://eh3dbuxu5qtw" path="res://common/audio_manager/assets/sfx/harvest/harvest_3.wav" id="15_ynvb4"]
|
||||
[ext_resource type="AudioStream" uid="uid://bown4yipeef8l" path="res://common/audio_manager/assets/sfx/harvest/harvest_4.wav" id="16_obeji"]
|
||||
[ext_resource type="AudioStream" uid="uid://delq7gsdeqjq2" path="res://common/audio_manager/assets/sfx/respawn/respawn.wav" id="16_xmumj"]
|
||||
[ext_resource type="AudioStream" uid="uid://cbo4ld2yypmte" path="res://common/audio_manager/assets/sfx/harvest/harvest_5.wav" id="17_6w0re"]
|
||||
[ext_resource type="AudioStream" uid="uid://c5nfoa6v3r5f7" path="res://common/audio_manager/assets/sfx/harvest/harvest_6.wav" id="18_o4guq"]
|
||||
[ext_resource type="AudioStream" uid="uid://bjind1iji0gt7" path="res://common/audio_manager/assets/sfx/pick_up/pick_up_1.wav" id="20_pu6t4"]
|
||||
[ext_resource type="AudioStream" uid="uid://cqa0gvgpoa7pd" path="res://common/audio_manager/assets/sfx/pick_up/pick_up_2.wav" id="21_dk5s6"]
|
||||
[ext_resource type="AudioStream" uid="uid://d1cpi438ep0ys" path="res://common/audio_manager/assets/sfx/announce/annnounce.wav" id="22_btfwx"]
|
||||
[ext_resource type="AudioStream" uid="uid://ccq04ahrwr3bv" path="res://common/audio_manager/assets/sfx/alarm/alarm.wav" id="23_fwu3w"]
|
||||
<<<<<<< HEAD
|
||||
[ext_resource type="AudioStream" uid="uid://b4jx8rflw7dss" path="res://common/audio_manager/assets/sfx/phone/phone_ringing_Astra.wav" id="27_0rjel"]
|
||||
[ext_resource type="AudioStream" uid="uid://ocm1dkkhv7ls" path="res://common/audio_manager/assets/sfx/phone/phone_ringing.wav" id="28_3dfjn"]
|
||||
[ext_resource type="AudioStream" uid="uid://8juy5ev3rdfh" path="res://common/audio_manager/assets/sfx/plant_points/plant_point_1.wav" id="29_ngi21"]
|
||||
@@ -50,13 +37,8 @@
|
||||
[ext_resource type="AudioStream" uid="uid://b8etbfvikq7pm" path="res://common/audio_manager/assets/sfx/plant_points/plant_point_6.wav" id="34_em3o8"]
|
||||
[ext_resource type="AudioStream" uid="uid://cad0erjq0us08" path="res://common/audio_manager/assets/sfx/plant_points/plant_point_7.wav" id="35_rk2e0"]
|
||||
[ext_resource type="AudioStream" uid="uid://c6pl2fjg558j3" path="res://common/audio_manager/assets/sfx/plant_points/plant_point_8.wav" id="36_4sa2t"]
|
||||
[ext_resource type="AudioStream" uid="uid://b6lb4kwk7vmr" path="res://common/audio_manager/assets/sfx/ship_reveal/jingle_vaisseau.ogg" id="37_3dfjn"]
|
||||
=======
|
||||
[ext_resource type="AudioStream" uid="uid://ctfaxvblcg5lc" path="res://common/audio_manager/assets/sfx/pickaxe/pickaxe_1.wav" id="24_tq535"]
|
||||
[ext_resource type="AudioStream" uid="uid://c1dnklmka2ccn" path="res://common/audio_manager/assets/sfx/pickaxe/pickaxe_2.wav" id="25_ywn7s"]
|
||||
[ext_resource type="AudioStream" uid="uid://dd1uu6dd6sloe" path="res://common/audio_manager/assets/sfx/pickaxe/pickaxe_3.wav" id="26_xhon7"]
|
||||
[ext_resource type="AudioStream" uid="uid://eq7wufwnolto" path="res://common/audio_manager/assets/sfx/pickaxe/pickaxe_4.wav" id="27_3jg6d"]
|
||||
>>>>>>> 65645d976a98b5bfd030770764e72893cb8d9ccd
|
||||
[ext_resource type="AudioStream" uid="uid://6id31r7o6trc" path="res://common/audio_manager/assets/sfx/ship_reveal/jingle_vaisseau.wav" id="37_3dfjn"]
|
||||
[ext_resource type="AudioStream" uid="uid://c5y70k3codtn" path="res://common/audio_manager/assets/sfx/signal/signal.mp3" id="41_iaiio"]
|
||||
|
||||
[sub_resource type="AudioStreamPlaylist" id="AudioStreamPlaylist_8204s"]
|
||||
stream_count = 3
|
||||
@@ -68,24 +50,12 @@ stream_2 = ExtResource("4_tuvql")
|
||||
stream_count = 6
|
||||
stream_0 = ExtResource("5_ajci6")
|
||||
stream_1 = ExtResource("4_2fduo")
|
||||
<<<<<<< HEAD
|
||||
stream_2 = ExtResource("11_ngi21")
|
||||
stream_3 = ExtResource("9_am7i4")
|
||||
stream_4 = ExtResource("10_tq535")
|
||||
stream_5 = ExtResource("12_xmumj")
|
||||
=======
|
||||
>>>>>>> 65645d976a98b5bfd030770764e72893cb8d9ccd
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_kfbah"]
|
||||
streams_count = 3
|
||||
stream_0/stream = ExtResource("9_gv65y")
|
||||
stream_1/stream = ExtResource("10_n7o7n")
|
||||
stream_2/stream = ExtResource("11_wtvls")
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_8204s"]
|
||||
random_pitch = 1.0594631
|
||||
streams_count = 1
|
||||
stream_0/stream = ExtResource("12_ajci6")
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_1w04j"]
|
||||
random_pitch = 1.2
|
||||
@@ -107,7 +77,6 @@ streams_count = 2
|
||||
stream_0/stream = ExtResource("20_pu6t4")
|
||||
stream_1/stream = ExtResource("21_dk5s6")
|
||||
|
||||
<<<<<<< HEAD
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_qog4c"]
|
||||
random_pitch = 1.2599211
|
||||
streams_count = 8
|
||||
@@ -119,15 +88,6 @@ stream_4/stream = ExtResource("33_w2elg")
|
||||
stream_5/stream = ExtResource("34_em3o8")
|
||||
stream_6/stream = ExtResource("35_rk2e0")
|
||||
stream_7/stream = ExtResource("36_4sa2t")
|
||||
=======
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_dhq5t"]
|
||||
random_pitch = 1.0594631
|
||||
streams_count = 4
|
||||
stream_0/stream = ExtResource("24_tq535")
|
||||
stream_1/stream = ExtResource("25_ywn7s")
|
||||
stream_2/stream = ExtResource("26_xhon7")
|
||||
stream_3/stream = ExtResource("27_3jg6d")
|
||||
>>>>>>> 65645d976a98b5bfd030770764e72893cb8d9ccd
|
||||
|
||||
[node name="AudioManager" type="Node" unique_id=1871137180]
|
||||
process_mode = 3
|
||||
@@ -139,7 +99,6 @@ unique_name_in_owner = true
|
||||
[node name="Exterior" type="AudioStreamPlayer" parent="Ambiance" unique_id=1405716780]
|
||||
unique_name_in_owner = true
|
||||
stream = SubResource("AudioStreamPlaylist_8204s")
|
||||
<<<<<<< HEAD
|
||||
|
||||
[node name="Astra" type="AudioStreamPlayer" parent="Ambiance" unique_id=1244577212]
|
||||
unique_name_in_owner = true
|
||||
@@ -152,8 +111,6 @@ stream = ExtResource("6_8204s")
|
||||
[node name="Borea" type="AudioStreamPlayer" parent="Ambiance" unique_id=1857904648]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("7_spekb")
|
||||
=======
|
||||
>>>>>>> 65645d976a98b5bfd030770764e72893cb8d9ccd
|
||||
|
||||
[node name="Musics" type="Node" parent="." unique_id=1450527710]
|
||||
unique_name_in_owner = true
|
||||
@@ -178,8 +135,8 @@ unique_name_in_owner = true
|
||||
[node name="Dig" type="AudioStreamPlayer" parent="Sfx" unique_id=486042600]
|
||||
stream = SubResource("AudioStreamRandomizer_kfbah")
|
||||
|
||||
[node name="Signal" type="AudioStreamPlayer" parent="Sfx" unique_id=641246368]
|
||||
stream = SubResource("AudioStreamRandomizer_8204s")
|
||||
[node name="Respawn" type="AudioStreamPlayer" parent="Sfx" unique_id=1902559716]
|
||||
stream = ExtResource("16_xmumj")
|
||||
|
||||
[node name="Drop" type="AudioStreamPlayer" parent="Sfx" unique_id=1391500830]
|
||||
stream = SubResource("AudioStreamRandomizer_1w04j")
|
||||
@@ -198,20 +155,19 @@ volume_db = 8.627
|
||||
[node name="Alarm" type="AudioStreamPlayer" parent="Sfx" unique_id=689347925]
|
||||
stream = ExtResource("23_fwu3w")
|
||||
|
||||
<<<<<<< HEAD
|
||||
[node name="Astra_phone_call" type="AudioStreamPlayer" parent="Sfx" unique_id=721344636]
|
||||
stream = ExtResource("27_0rjel")
|
||||
|
||||
[node name="Phone_call" type="AudioStreamPlayer" parent="Sfx" unique_id=1668278453]
|
||||
stream = ExtResource("28_3dfjn")
|
||||
|
||||
[node name="Plant_point" type="AudioStreamPlayer" parent="Sfx" unique_id=2044025024]
|
||||
[node name="PlantPoint" type="AudioStreamPlayer" parent="Sfx" unique_id=2044025024]
|
||||
stream = SubResource("AudioStreamRandomizer_qog4c")
|
||||
|
||||
[node name="Ship_reveal" type="AudioStreamPlayer" parent="Sfx" unique_id=1121632306]
|
||||
stream = ExtResource("37_3dfjn")
|
||||
volume_db = -10.0
|
||||
=======
|
||||
[node name="Pickaxe" type="AudioStreamPlayer" parent="Sfx" unique_id=996309145]
|
||||
stream = SubResource("AudioStreamRandomizer_dhq5t")
|
||||
>>>>>>> 65645d976a98b5bfd030770764e72893cb8d9ccd
|
||||
|
||||
[node name="Signal" type="AudioStreamPlayer" parent="Sfx" unique_id=335682989]
|
||||
stream = ExtResource("41_iaiio")
|
||||
volume_db = -10.0
|
||||
|
||||
@@ -79,24 +79,34 @@ func _on_change_scene(scene : Scene):
|
||||
match scene.scene_id:
|
||||
"TITLE":
|
||||
play_music("Title", false, 0.0)
|
||||
"INTRO":
|
||||
stop_music()
|
||||
"REGION":
|
||||
play_music("Region", true)
|
||||
play_ambiance("Exterior", true)
|
||||
play_ambiance("Exterior")
|
||||
"COCKPIT":
|
||||
play_music("Ship")
|
||||
"ASTRA":
|
||||
stop_music()
|
||||
play_ambiance("Astra")
|
||||
"GARAGE":
|
||||
stop_music()
|
||||
"BOREA":
|
||||
stop_music()
|
||||
play_ambiance("Borea")
|
||||
|
||||
func _on_timeline_started():
|
||||
var timeline_name = Dialogic.current_timeline.resource_path.split("/")[-1].trim_suffix(".dtl")
|
||||
play_ambiance()
|
||||
stop_ambiance()
|
||||
|
||||
match timeline_name:
|
||||
"demeter_astra_failed":
|
||||
play_ambiance("Demeter")
|
||||
"demeter_ship_presentation":
|
||||
play_ambiance("Demeter")
|
||||
"demeter_intro":
|
||||
play_ambiance("Demeter")
|
||||
"demeter_introV2":
|
||||
play_ambiance("Demeter")
|
||||
"demeter_midrun":
|
||||
play_ambiance("Demeter")
|
||||
"demeter_outro":
|
||||
"demeter_post_tutorial":
|
||||
play_ambiance("Demeter")
|
||||
"failure":
|
||||
play_ambiance("Demeter")
|
||||
@@ -187,6 +197,7 @@ func reset_volume(player : AudioStreamPlayer):
|
||||
player.volume_db = get_volume(player)
|
||||
|
||||
func play_sfx(sfx_name : String):
|
||||
print(sfx_name)
|
||||
var player := %Sfx.find_child(sfx_name) as AudioStreamPlayer
|
||||
if player:
|
||||
player.play()
|
||||
|
||||
@@ -48,11 +48,10 @@ func give_up():
|
||||
func start_tutorial():
|
||||
current_region_data = RegionData.new(
|
||||
RegionParameter.new(
|
||||
10,
|
||||
3,
|
||||
0,
|
||||
tr("TUTORIAL"),
|
||||
["tutorial"],
|
||||
0,
|
||||
[],
|
||||
randi()
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -5,13 +5,13 @@ enum State {STARTED, IN_PROGRESS, FINISHED}
|
||||
|
||||
const RUN_POINT_POSITION_DERIVATION = 100
|
||||
const DIFFICULTY_INCREASE_BY_LEVEL = 3
|
||||
const RUN_POINTS_NEXT_NUMBER :Array[int] = [2]
|
||||
const RUN_POINT_MAX_LEVEL = 0 # TODO
|
||||
const RUN_POINTS_NEXT_NUMBER : int = 2
|
||||
const RUN_POINT_MAX_LEVEL = 2 # TODO
|
||||
|
||||
signal current_run_point_changed
|
||||
|
||||
var run_seed = randi()
|
||||
@export var next_run_points : Array[RunPoint] = [generate_first_run_point()]
|
||||
@export var next_run_points : Array[RunPoint] = generate_next_run_points()
|
||||
@export var current_run_point : RunPoint = null :
|
||||
set(v):
|
||||
current_run_point = v
|
||||
@@ -20,65 +20,28 @@ var run_seed = randi()
|
||||
|
||||
#region ------------------ Generation ------------------
|
||||
|
||||
func generate_first_run_point() -> RunPoint:
|
||||
return RunPoint.new(0, RegionParameter.new())
|
||||
|
||||
func generate_next_run_points(run_point : RunPoint) -> Array[RunPoint]:
|
||||
var nb_next_run_points = RUN_POINTS_NEXT_NUMBER.pick_random()
|
||||
if run_point.level == RUN_POINT_MAX_LEVEL - 1 or run_point.level == -1:
|
||||
nb_next_run_points = 1
|
||||
elif run_point.level == RUN_POINT_MAX_LEVEL:
|
||||
nb_next_run_points = 0
|
||||
func generate_next_run_points(level = 0) -> Array[RunPoint]:
|
||||
|
||||
next_run_points = []
|
||||
|
||||
for i in range(nb_next_run_points):
|
||||
for i in range(RUN_POINTS_NEXT_NUMBER):
|
||||
next_run_points.append(
|
||||
generate_next_run_point(run_point)
|
||||
generate_next_run_point(level)
|
||||
)
|
||||
|
||||
return next_run_points
|
||||
|
||||
|
||||
func generate_next_run_point(run_point : RunPoint) -> RunPoint:
|
||||
var level = run_point.level + 1
|
||||
func generate_next_run_point(level = 0) -> RunPoint:
|
||||
var region_parameter = RegionParameter.new()
|
||||
region_parameter.level = level
|
||||
region_parameter.flags = get_region_flags(region_parameter)
|
||||
region_parameter.region_flags = get_region_flags(region_parameter)
|
||||
|
||||
return RunPoint.new(
|
||||
level,
|
||||
generate_difficulty_increased_region_parameter(region_parameter, DIFFICULTY_INCREASE_BY_LEVEL * level),
|
||||
(run_point.position + randi_range(-RUN_POINT_POSITION_DERIVATION, RUN_POINT_POSITION_DERIVATION)) % 360
|
||||
region_parameter
|
||||
)
|
||||
|
||||
func generate_difficulty_increased_region_parameter(
|
||||
region_parameter : RegionParameter,
|
||||
difficulty : int = 1
|
||||
) -> RegionParameter:
|
||||
var i_diff := difficulty
|
||||
var new_region_parameter = RegionParameter.new(
|
||||
region_parameter.charges,
|
||||
region_parameter.objective
|
||||
)
|
||||
|
||||
while i_diff > 0:
|
||||
|
||||
var available_difficulty_modifier = [
|
||||
DifficultyDecreaseCharge.new(),
|
||||
DifficultyIncreaseObjective.new()
|
||||
].filter(
|
||||
func (mod : DifficultyModifier):
|
||||
return mod.get_difficulty_cost() <= i_diff and mod.can_modifiy(new_region_parameter)
|
||||
)
|
||||
|
||||
var selected_difficulty_modifier = available_difficulty_modifier.pick_random()
|
||||
|
||||
selected_difficulty_modifier.modify(new_region_parameter)
|
||||
|
||||
i_diff -= max(1,selected_difficulty_modifier.get_difficulty_cost())
|
||||
return new_region_parameter
|
||||
|
||||
#endregion
|
||||
|
||||
func get_state() -> State:
|
||||
@@ -99,13 +62,12 @@ func choose_next_run_point(run_point : RunPoint) -> RunPoint:
|
||||
visited_run_points.append(current_run_point)
|
||||
current_run_point = run_point
|
||||
GameInfo.game_data.start_region(run_point.region_parameter)
|
||||
next_run_points = generate_next_run_points(current_run_point)
|
||||
next_run_points = generate_next_run_points(current_run_point.level + 1)
|
||||
return current_run_point
|
||||
|
||||
func get_region_flags(region_parameter : RegionParameter) -> Array[String]:
|
||||
var flags : Array[String] = []
|
||||
|
||||
print(region_parameter.level)
|
||||
if region_parameter.level == RUN_POINT_MAX_LEVEL:
|
||||
flags.append("borea")
|
||||
|
||||
@@ -130,4 +92,4 @@ class DifficultyDecreaseCharge extends DifficultyModifier:
|
||||
region_parameter.charges -= 1
|
||||
|
||||
func can_modifiy(region_parameter : RegionParameter) -> bool:
|
||||
return region_parameter.charges >= 3
|
||||
return region_parameter.charges >= 3
|
||||
|
||||
@@ -11,12 +11,12 @@ const CHARGE_ICON = preload("res://common/icons/bolt.svg")
|
||||
@export var region_parameter : RegionParameter = RegionParameter.new() :
|
||||
set(v):
|
||||
region_parameter = v
|
||||
@export var position : int = 0 # Y pos along the planet, 0 to 360
|
||||
@export var position : float = 0
|
||||
|
||||
func _init(
|
||||
_level : int = 0,
|
||||
_region_parameter : RegionParameter = RegionParameter.new(),
|
||||
_position : int = randi_range(0,360),
|
||||
_position : float = randf_range(0.,1.),
|
||||
):
|
||||
level = _level
|
||||
region_parameter = _region_parameter
|
||||
@@ -24,7 +24,7 @@ func _init(
|
||||
position = _position
|
||||
|
||||
func card_info() -> CardInfo:
|
||||
var info = CardInfo.new(region_parameter.name)
|
||||
var info = CardInfo.new(region_parameter.region_name)
|
||||
info.important_stat_icon = DANGER_ICON
|
||||
info.important_stat_text = "%d" % level
|
||||
|
||||
|
||||
@@ -1,38 +1,38 @@
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/incoming_transmission.wav"
|
||||
[wait time="1.5"]
|
||||
join demeter center [animation="Bounce In" length="1.0"]
|
||||
demeter: Hi ![pause=0.5] Phew, I thought no one would reply...[pause=0.5] Is this [b][color=#FFA617]Orchid[/color][/b] ?[pause=0.5] You may not be familiar with this name, but if you look in your memory you should see it... #id:30
|
||||
- Uh... Who is this ? #id:31
|
||||
demeter: Oh sorry ! Your memory is quite new, you might be lost... Unfortunately, I cannot see you for now, I'm very far on this planet. #id:32
|
||||
- Where am I ? #id:33
|
||||
demeter: Don't worry, you are in a subterranean base, but soon you will join the surface. #id:34
|
||||
- Wait... Who am I ? #id:35
|
||||
demeter: Mmmh great question. I rebuilt your system but I do not know the details of your hardware... Maybe we'll find out ! #id:36
|
||||
demeter: I'm happy that you're finally awake ! To be honest I wasn't sure to make you work, your body is quite old... #id:37
|
||||
- So you are my creator ? #id:38
|
||||
demeter: Sort of ! I mean I didn't build your body, I just borrowed it, but I build your intelligence ! But please be forgiving, if it's not perfect, I'm not good in that field ! #id:39
|
||||
- Why did you awaken me ? #id:3a
|
||||
demeter: To be honest, I don't really know exactly... I mean there are a lot of reasons, but I'll tell you more later. #id:3b
|
||||
- What are you ? #id:3c
|
||||
demeter: I'm like you... I mean like all the remaining moving things on this planet, robots, artificial intelligences, machines... My creators had many names to call us. #id:3d
|
||||
demeter: Ok, no more question for now, listen to me carefully. #id:3e
|
||||
demeter: Long time ago, this planet was full of life. Plants where thriving on mountains, seas and plains. #id:3f
|
||||
demeter: Now, this world is a wasteland. You'll see it quickly outside this building. I won't dwell on this subject; you'll soon know enough about it. #id:40
|
||||
demeter: The thing is something happened, a year ago... The [b][color=#FFA617]Talion[/color][/b], a special material that give birth to new forms of life when shattered, reappeared. Now we can start all over again and create a planet full of life. #id:41
|
||||
demeter: But first things first, for your mission, you'll have to understand how this is working, and how to use the [b][color=#FFA617]Talion[/color][/b] to plant seeds. #id:42
|
||||
demeter: [b]Just remember the following[/b] #id:43
|
||||
label explanations #id:44
|
||||
demeter: When you emerge from this building, you'll arrive in a little yellow zone. Its a [b][color=#FFA617]fertile zone[/color][/b], created by the return of the Talion. This is in this zone and only there where you can plant. #id:45
|
||||
demeter: Then you'll have to get seeds. For that, nothing more simple, you take your shovel, and you smash some stones ! Preferably those with yellow cristals on it, it's the [b][color=#FFA617]Talion veins[/color][/b] . #id:46
|
||||
demeter: Each time you use a tool or plant a seed, you'll spend an [b][color=#FFA617]energy[/color][/b]. When your out of it, you can just go recharge on the [b][color=#FFA617]recharge station[/color][/b] you'll find near the entrance. #id:47
|
||||
demeter: [b]Each time you recharge, time will pass[/b]. One day in fact (yes, you don't have a good battery), and the plants will grow ! #id:48
|
||||
demeter: To complete your first training, obtain enough [b][color=#FFA617]plant points[/color][/b]. Each plant give one or more [b][color=#FFA617]plant points[/color][/b] when mature. #id:49
|
||||
demeter: And yes, I almost forgot ! Some plants gain [b][color=#FFA617]mutations[/color][/b] that can affect their points or behavior. You can get these mutations on new seeds by harvesting existing plants, and gain better ones ! #id:4a
|
||||
- Ok, thats' a lot of info, can you repeat ? #id:4b
|
||||
Ok, listen carefully. #id:4c
|
||||
demeter: Hi ![pause=0.3] Phew,[pause=0.2] I thought no one would reply.[pause=0.3] Are you [color=#FFA617]Orchid[/color] ?[pause=0.3] You may not be familiar with this name but you must have seen it in your memory. #id:1f
|
||||
- Uh... Who are you ? #id:20
|
||||
demeter: Oh sorry ![pause=0.3] I cannot send you my IDs for now,[pause=0.2] you are too far away from me. #id:21
|
||||
- Where am I ? #id:22
|
||||
demeter: Don't worry,[pause=0.2] you are in a subterranean base,[pause=0.2] but you will get to the surface very soon. #id:23
|
||||
- Wait ! Who am I ? #id:24
|
||||
demeter: Hmmm.[pause=0.4].[pause=0.4].[pause=0.4] Interesting question.[pause=0.3] I elaborated your system but I don't know in which frame you are currently in.[pause=0.3] We'll find out ! #id:25
|
||||
demeter: I'm glad you are finally awake ![pause=0.3] To be honest,[pause=0.2] I wasn't sure I would be able to make you function normally.[pause=0.5] Your frame has remained here for millennia without any maintenance. #id:26
|
||||
- Did you create me ? #id:27
|
||||
demeter: Sort of ![pause=0.3] I didn't manufactured your body,[pause=0.2] I borrowed it,[pause=0.2] but I designed your cognitive system.[pause=0.3] Be forgiving,[pause=0.2] it won't be perfect,[pause=0.2] I was designed to manage,[pause=0.2] not to create. #id:28
|
||||
- Why did you awake me ? #id:29
|
||||
demeter: To be honest,[pause=0.2] I don't really know.[pause=0.3].[pause=0.3].[pause=0.3] I mean,[pause=0.2] there are a lot of reasons,[pause=0.2] but I'll tell you more about it later. #id:2a
|
||||
- What are you ? #id:2b
|
||||
demeter: I'm the same as you.[pause=0.3] The same as all the sentient beings remaining on this planet.[pause=0.3] Robot,[pause=0.2] artificial intelligence,[pause=0.2] machine.[pause=0.2].[pause=0.2].[pause=0.2] Our creators gave us many titles. #id:2c
|
||||
demeter: Ok,[pause=0.2] no more questions for now,[pause=0.2] listen to me carefully. #id:2d
|
||||
demeter: A long time ago,[pause=0.2] this planet was full of life.[pause=0.3] Plants were thriving on mountains,[pause=0.2] under seas and across plains. #id:2e
|
||||
demeter: Now,[pause=0.2] this world is a wasteland.[pause=0.3] You'll see it as soon as you leave this base. #id:2f
|
||||
demeter: Something happened a year ago.[pause=0.3].[pause=0.3].[pause=0.3]. The [color=#119758][b]Talion[/b][/color],[pause=0.2] a unique element giving birth to new life forms when shattered,[pause=0.2] reappeared. #id:30
|
||||
demeter: With the [color=#119758][b]Talion[/b][/color] back on the surface,[pause=0.2] we can bring this planet back to life. #id:31
|
||||
demeter: But first things first,[pause=0.2] you have to learn how everything is working up here,[pause=0.2] and how to use the [color=#119758][b]Talion[/b][/color] to plant seeds. #id:32
|
||||
demeter: [b]Just remember the following[/b] #id:33
|
||||
label explanations #id:34
|
||||
demeter: When you'll emerge from this building,[pause=0.2] you will reach a little yellowish zone.[pause=0.3] It's a [b]fertile zone[/b],[pause=0.2] brought back by the [color=#119758][b]Talion's[/b][/color] power.[pause=0.3] You can only plant [b]seeds[/b] in this zone. #id:35
|
||||
demeter: Then,[pause=0.2] you have to get [b]seeds[/b].[pause=0.3] To do so,[pause=0.2] just take your shovel and smash some stones ![pause=0.3] Focus on those having yellow crystals on it,[pause=0.2] these are [color=#119758][b]Talion veins[/b][/color]. #id:36
|
||||
demeter: Each time you use a tool like the shovel or plant a seed,[pause=0.2] you will spend one [b]energy[/b] charge.[pause=0.3] When you are out of it,[pause=0.2] just go recharge it at the [b]recharge station[/b].[pause=0.3] You will find it near the entrance of the base. #id:37
|
||||
demeter: Each time you recharge,[pause=0.2] a day will pass,[pause=0.2] your batteries are very inefficient.[pause=0.3] While the day is passing,[pause=0.2] plants will grow ! #id:38
|
||||
demeter: To complete you training,[pause=0.2] obtain enough [b]plant points[/b].[pause=0.3] Each plant give one or more [b]plant points[/b] when mature. #id:39
|
||||
demeter: Oh ! [pause=0.3] I almost forgot,[pause=0.2] some plants can [b]mutate[/b].[pause=0.3] These [b]mutations[/b] affect points and behavior of the plant affected.[pause=0.3] [b]Mutations[/b] can appear while [b]harvesting[/b] mature plants and even become more powerful if you [b]harvest[/b] an already mutated one. #id:3a
|
||||
- That's a lot of informations, can you repeat ? #id:3b
|
||||
demeter: Ok,[pause=0.2] listen carefully. #id:3c
|
||||
jump explanations
|
||||
- And I have to go now ? #id:4d
|
||||
- Ok but wait I have more questions ! #id:4e
|
||||
demeter: Sorry, we'll speak after this ! I'll send you an elevator ! #id:4f
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/closing_transmission.wav"
|
||||
[wait time="2.0"]
|
||||
- Ok, now I have more questions ! #id:3d
|
||||
demeter: Sorry,[pause=0.2] we'll speak more after this.[pause=0.3] I send you an elevator,[pause=0.2] good luck [color=#FFA617]Orchid[/color] ! #id:3e
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/closing_transmission.wav"
|
||||
[wait time="2.0"]
|
||||
[end_timeline]
|
||||
@@ -1 +1 @@
|
||||
uid://bx75vjharvxvf
|
||||
uid://cirxf28unnjlg
|
||||
|
||||
@@ -1 +1,3 @@
|
||||
demeter: Welcome to the [color=#E30022]Borea Base[/color] [color=#FFA617]{orchidName}[/color],[pause=0.2] it is the first step of your journey on this planet. #id:50
|
||||
[wait time="1.5"]
|
||||
join demeter center [animation="Bounce In" length="1.0"]
|
||||
demeter: Welcome to the [color=#E30022]Borea Base[/color] [color=#FFA617]{orchidName}[/color],[pause=0.2] it is the first step of your journey on this planet. #id:50
|
||||
@@ -1,40 +1,18 @@
|
||||
<<<<<<< HEAD
|
||||
[i]Void.[/i]
|
||||
[i]Void again.[/i]
|
||||
[i]Suddenly, a [rainbow]spark[/rainbow].[pause=0.5] A thousand of connections blow up as a fireworks scene.[pause=0.3] A massive amount of data to treat.
|
||||
label suite_dialogue
|
||||
- Check components | [if {frame} == "false"] [else="hide"]
|
||||
Exploring available drivers.[pause=0.5].[pause=0.5].[pause=0.5] New actions available.[pause=0.5] Three propellers,[pause=0.3] small models,[pause=0.3] only suitable for low altitude movement.[pause=0.5] Robotic arm,[pause=0.3] multipurpose,[pause=0.3] retractable.
|
||||
set {components} = "true"
|
||||
[i]Void.[/i] #id:3f
|
||||
[i]Void again.[/i] #id:40
|
||||
[i]Suddenly, a [rainbow]spark[/rainbow].[pause=0.5] A thousand of connections blow up as a fireworks scene.[pause=0.3] A massive amount of data to treat. #id:41
|
||||
label suite_dialogue #id:42
|
||||
- Check components #id:43
|
||||
Exploring available drivers.[pause=0.5].[pause=0.5].[pause=0.5] New actions available.[pause=0.5] Three propellers,[pause=0.3] small models,[pause=0.3] only suitable for low altitude movement.[pause=0.5] Robotic arm,[pause=0.3] multipurpose,[pause=0.3] retractable. #id:44
|
||||
jump suite_dialogue
|
||||
- Check streams | [if {streams} == "false"] [else="hide"]
|
||||
A continuous stream of data flow,[pause=0.3] unchecked.[pause=0.5] A video,[pause=0.5] dark colored pixels only.[pause=0.5] Another stream,[pause=0.3] flat signal.[pause=0.5] No radio emission detected.
|
||||
set {streams} = "true"
|
||||
- Check streams #id:45
|
||||
A continuous stream of data flow,[pause=0.3] unchecked.[pause=0.5] A video,[pause=0.5] dark colored pixels only.[pause=0.5] Another stream,[pause=0.3] flat signal.[pause=0.5] No radio emission detected. #id:46
|
||||
jump suite_dialogue
|
||||
- Check memory | [if {memory} == "false"] [else="hide"]
|
||||
Several disks available,[pause=0.3] most are empty.[pause=0.5] Some seems to contain the system currently analyzing the code of the system analyzing the code of the system analyzing the code of the system analyzing.[pause=0.5].[pause=0.5].[pause=0.5] Infinite recursion,[pause=0.3] better avoid that.
|
||||
set {memory} = "true"
|
||||
- Check memory #id:47
|
||||
Several disks available,[pause=0.3] most are empty.[pause=0.5] Some seems to contain the system currently analyzing the code of the system analyzing the code of the system analyzing the code of the system analyzing.[pause=0.5].[pause=0.5].[pause=0.5] Infinite recursion,[pause=0.3] better avoid that. #id:48
|
||||
jump suite_dialogue
|
||||
- Wake up
|
||||
Overseeing \\: serial number and system name.[pause=0.5].[pause=0.5].[pause=0.5] Strange.[pause=0.5] Serial number is empty.[pause=0.5] Must be an error.[pause=0.5] System name is,[pause=0.5] [color=#FFA617]Orchid[/color].[pause=0.5] That is enough for now.
|
||||
audio "res://common/audio_manager/assets/sfx/respawn/respawn.wav"
|
||||
Starting engines,[pause=0.3] fans and daemons,[pause=0.3] let's see what is to see.
|
||||
[end_timeline]
|
||||
=======
|
||||
[i]Black.[/i] #id:7a
|
||||
[i]Black Again.[/i] #id:7b
|
||||
[i]Suddenly, [rainbow]a spark[/rainbow]. [pause=0.5]A thousand of connections blows up as a firework scene. A massive amount of data to treat. #id:7c
|
||||
label discover #id:7d
|
||||
- Discover actions #id:7e
|
||||
While exploring available drivers, new possibility become available.[pause=0.5] Three propellers. Small models, only suitable for low altitude movement.[pause=0.5] A robotic arm. Multipurpose, and retractable. #id:7f
|
||||
jump discover
|
||||
- Discover streams #id:80
|
||||
A continuous stream of data flow, unwatched. This stream look like... [pause=0.5] a video.[pause=0.5] Dark colored pixels pass.[pause=0.5] An other stream show a flat wave.[pause=0.5] No sound or radio signals detected. #id:81
|
||||
jump discover
|
||||
- Discover memory #id:82
|
||||
Several disks are available, and the most part are empty.[pause=0.5] The full ones seems to contain the system that is currently analyzing the code of the system that is currently analyzing the code of[pause=0.5].[pause=0.5].[pause=0.5]. Mmmh, infinite recursion...[pause=0.5] Better avoid that. #id:83
|
||||
jump discover
|
||||
- Wake up #id:84
|
||||
One last info is to oversee \: serial number and system name.[pause=0.5] Strange...[pause=0.5] Serial number is empty.[pause=0.5] Must be an error.[pause=0.5]System name is... [pause=0.5] [b]Orchid[/b]. That will be enough for now... #id:85
|
||||
Starting engines, fans, and daemons, let's see what is to see. #id:86
|
||||
>>>>>>> 65645d976a98b5bfd030770764e72893cb8d9ccd
|
||||
- Wake up #id:49
|
||||
Overseeing \\: serial number and system name.[pause=0.5].[pause=0.5].[pause=0.5] Strange.[pause=0.5] Serial number is empty.[pause=0.5] Must be an error.[pause=0.5] System name is,[pause=0.5] [color=#FFA617]Orchid[/color].[pause=0.5] That is enough for now. #id:4a
|
||||
|
||||
Starting engines,[pause=0.3] fans and daemons,[pause=0.3] let's see what is to see. #id:4b
|
||||
[end_timeline]
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://bfyafiewcrjln"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_enq8o"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_enq8o"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_10bgv"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://d2vdf2sth2xjm"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_p8ox4"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_p8ox4"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_3h2vf"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://clruuysx80pnn"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_03in3"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_03in3"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_108r1"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://brmd6d3l8trqs"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_mvsqc"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_mvsqc"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_oqbgr"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://cfr33014u7ig5"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_14sjf"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_14sjf"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_ud5ex"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://cf70m1us8mfqp"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_xplyn"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_xplyn"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_uj75q"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://ctlmah4ohqp25"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_tv8sf"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_tv8sf"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_srnvv"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://b8o4q0hsm84ov"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_5lgql"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_5lgql"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_0b6yj"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://bb33v756anesy"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_gcphf"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_gcphf"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_tnhr7"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://cbqrl72y0d1yg"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_k38pp"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_k38pp"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_cwsfe"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://dwppani7gyjl5"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_2m37y"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_2m37y"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_pyvr6"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://dkta1u1u0efxk"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_2r1e2"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_2r1e2"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_tv2v3"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://7hrdkl6bf3o4"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_peh48"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_peh48"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_o5tro"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://d2y7o2hc6ffei"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_wnxgs"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_wnxgs"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_smg8i"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://civ4gr1c2pq7g"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_1cr0i"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_1cr0i"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_h0d20"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://bqfocs6f0iypo"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_p4qfr"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_p4qfr"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_iibe2"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://drml5dm8i3j3a"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_5xrel"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_5xrel"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_0v6u4"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://b1t5nfwcln5vo"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_0mgvf"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_0mgvf"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_k1p2k"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://b4s58a600q2rn"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_l4nmf"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_l4nmf"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_ifu40"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://dspugxsjw2aea"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_gpxi3"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_gpxi3"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_e0an0"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://cnt38l2fmg8d7"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_wmuv5"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_wmuv5"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_4klgd"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://ceisi5yyie7to"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_1eil5"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_1eil5"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_h27ow"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://cxiu8frk04b5i"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_qrhlr"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_qrhlr"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_4au1t"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://53p5g07e3pb4"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_tu2er"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_tu2er"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_2wu38"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://crmvc77bqax1y"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_3u7fo"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_3u7fo"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_23bbh"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://c0hr7icfkjkoi"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_bcreq"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_bcreq"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_af12b"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://clkoc1iccts2w"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_vlome"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_vlome"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_157wb"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://bd8yapi1pokj6"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_0uwmh"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_0uwmh"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_h3coc"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://cxgw1vgket0fw"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_ajsfl"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_ajsfl"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_nif4i"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://c5gqwck2p5h5n"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_205mu"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_205mu"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_nlpf8"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://c5fj1cw0f4mu6"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_nyyxg"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_nyyxg"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_y2fie"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://dce788f0adauv"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_eaujg"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_eaujg"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_lsafj"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://dd34dikqoynp3"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_faxmp"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_faxmp"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_0me46"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://bynje6g2wvuvl"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_55x88"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_55x88"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_dmctu"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://bd2op6q1masjt"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_uhia7"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_uhia7"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_atmi3"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://bvajuw0r47edw"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_761dd"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_761dd"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_3rcv4"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://qb6bftgq0n6y"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_b4uc1"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_b4uc1"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_dc8tr"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://ft112n57di0e"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_sabo0"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_sabo0"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_uvvih"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://dwjj6qmcjhn68"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_fvj4t"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_fvj4t"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_akiip"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://bkr70mstyf8pp"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_07tkv"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_07tkv"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_uotjj"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://dcuwupmqt34ju"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_m3t4k"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_m3t4k"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_qfabu"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://djmidq7yq452i"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_jg4cg"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_jg4cg"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_chdp7"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://wxqxm6d5twdh"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_1f2ok"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_1f2ok"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_pu3mc"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="Resource" script_class="PlantPart" format=3 uid="uid://uoikjpno37bi"]
|
||||
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_g38jy"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_g38jy"]
|
||||
[ext_resource type="Texture2D" uid="uid://doo2cxxa2p70a" path="res://entities/plants/assets/sprites/plante-teste.png" id="2_unpmr"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mypt2"]
|
||||
|
||||
@@ -33,7 +33,7 @@ func can_use(_player : Player, zone : Player.ActionZone) -> bool:
|
||||
return false
|
||||
|
||||
func use(player : Player, zone : Player.ActionZone) -> bool:
|
||||
AudioManager.play_sfx("Pickaxe")
|
||||
AudioManager.play_sfx("Dig")
|
||||
for area in zone.get_affected_areas():
|
||||
if area and area is Plant:
|
||||
harvest(area, player)
|
||||
|
||||
@@ -15,6 +15,7 @@ var signals : Array[DetectorSignalIndividual] = []
|
||||
|
||||
func _init(region : Region, pos : Vector2):
|
||||
for e in region.entity_container.get_children():
|
||||
if e.visible:
|
||||
if e is TruckRecharge:
|
||||
signals.append(
|
||||
DetectorSignalIndividual.new(
|
||||
@@ -22,7 +23,7 @@ func _init(region : Region, pos : Vector2):
|
||||
ENERGY_ICON
|
||||
)
|
||||
)
|
||||
if e is Door and e.available and e.visible:
|
||||
if e is Door and e.available:
|
||||
signals.append(
|
||||
DetectorSignalIndividual.new(
|
||||
(pos - e.global_position).normalized().angle(),
|
||||
|
||||
@@ -4,8 +4,10 @@
|
||||
[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/ressources/hud.tres" id="2_nq5i2"]
|
||||
[ext_resource type="PackedScene" uid="uid://brfsapvj2quxm" path="res://gui/game/energy_info/energy_info.tscn" id="4_2wykm"]
|
||||
[ext_resource type="PackedScene" uid="uid://fnv0qhkh40mv" path="res://gui/game/announce/announce.tscn" id="4_h6540"]
|
||||
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="6_2wykm"]
|
||||
[ext_resource type="PackedScene" uid="uid://df0eop555wfj5" path="res://gui/game/objective_progress_bar/objective_progress_bar.tscn" id="6_dr1y2"]
|
||||
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="6_h6540"]
|
||||
[ext_resource type="Texture2D" uid="uid://bt3g5bmar0icf" path="res://common/icons/growth.svg" id="6_id0t5"]
|
||||
[ext_resource type="Texture2D" uid="uid://b43thuq8piv18" path="res://common/icons/skull.svg" id="7_dr1y2"]
|
||||
[ext_resource type="PackedScene" uid="uid://clicjf8ts51h8" path="res://gui/game/inventory_gui/inventory_gui.tscn" id="9_id0t5"]
|
||||
|
||||
@@ -19,6 +21,10 @@ gradient = SubResource("Gradient_id0t5")
|
||||
fill_to = Vector2(1, 1)
|
||||
repeat = 1
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_id0t5"]
|
||||
font = ExtResource("6_2wykm")
|
||||
font_size = 40
|
||||
|
||||
[sub_resource type="Animation" id="Animation_2wykm"]
|
||||
resource_name = "NoRechargeAppear"
|
||||
length = 0.5
|
||||
@@ -155,7 +161,24 @@ layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
|
||||
[node name="RechargesLeftLabel" type="Label" parent="MarginContainer/VBoxContainer" unique_id=1961035876]
|
||||
[node name="SimplePlantPointScore" type="HBoxContainer" parent="MarginContainer/VBoxContainer" unique_id=973032799]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 0
|
||||
alignment = 1
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="MarginContainer/VBoxContainer/SimplePlantPointScore" unique_id=534916675]
|
||||
layout_mode = 2
|
||||
texture = ExtResource("6_id0t5")
|
||||
|
||||
[node name="SimplePlantPointScoreLabel" type="Label" parent="MarginContainer/VBoxContainer/SimplePlantPointScore" unique_id=1961035876]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "0 Plant Point"
|
||||
label_settings = SubResource("LabelSettings_id0t5")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="RechargesLeftLabel" type="Label" parent="MarginContainer/VBoxContainer" unique_id=1254074923]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "9 charges left"
|
||||
|
||||
@@ -15,6 +15,9 @@ func _ready():
|
||||
GameInfo.game_data.player_data.updated.connect(_on_player_updated)
|
||||
GameInfo.game_data.current_region_data.pass_day_ended.connect(_on_region_pass_day_ended)
|
||||
|
||||
|
||||
%ObjectiveProgressBar.visible = not "tutorial" in GameInfo.game_data.current_region_data.flags
|
||||
%SimplePlantPointScore.visible = "tutorial" in GameInfo.game_data.current_region_data.flags
|
||||
|
||||
charge_update(GameInfo.game_data.current_region_data)
|
||||
player_update(GameInfo.game_data.player_data, false)
|
||||
@@ -22,7 +25,6 @@ func _ready():
|
||||
%GiveUpButton.pressed.connect(_on_give_up_pressed)
|
||||
|
||||
score_mirror = GameInfo.game_data.current_region_data.get_score()
|
||||
print(score_mirror)
|
||||
for p : PlantData in GameInfo.game_data.current_region_data.plants:
|
||||
score_by_plant[str(p.random_seed)] = p.get_score()
|
||||
|
||||
@@ -44,10 +46,8 @@ func _on_region_updated(region_data : RegionData):
|
||||
if not str(p.random_seed) in score_by_plant:
|
||||
score_by_plant[str(p.random_seed)] = 0
|
||||
if score > score_by_plant[str(p.random_seed)]:
|
||||
print("emit particles for %s" % p.plant_name)
|
||||
plant_changing_score(p, score - score_by_plant[str(p.random_seed)])
|
||||
elif score < score_by_plant[str(p.random_seed)]:
|
||||
print("reduce score for %s" % p.plant_name)
|
||||
score_mirror -= score_by_plant[str(p.random_seed)] - score
|
||||
score_by_plant[str(p.random_seed)] = score
|
||||
# Check for removed plants
|
||||
@@ -55,7 +55,6 @@ func _on_region_updated(region_data : RegionData):
|
||||
if region_data.plants.find_custom(
|
||||
func (p): return str(p.random_seed) == key
|
||||
) == -1:
|
||||
print("remove plant")
|
||||
score_mirror -= score_by_plant[key]
|
||||
score_by_plant.erase(key)
|
||||
|
||||
@@ -93,6 +92,11 @@ func score_update(with_animation = true):
|
||||
)
|
||||
else:
|
||||
%ObjectiveProgressBar.set_progress(objective_progression)
|
||||
|
||||
if score_mirror > 1:
|
||||
%SimplePlantPointScoreLabel.text = tr("%d_PLANT_POINTS") % score_mirror
|
||||
else :
|
||||
%SimplePlantPointScoreLabel.text = tr("%d_PLANT_POINT") % score_mirror
|
||||
|
||||
func plant_changing_score(plant_data: PlantData, amount : int):
|
||||
if GameInfo.game_data.current_region_data.in_passing_day_animation:
|
||||
@@ -136,6 +140,7 @@ func spawn_score_particle(
|
||||
|
||||
await tween.finished
|
||||
score_mirror += 1
|
||||
AudioManager.play_sfx("PlantPoint")
|
||||
|
||||
sprite_particle.queue_free()
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ class_name Tutorial
|
||||
|
||||
const STEP_SCENE = preload("res://gui/game/tutorial/step_gui/step_gui.tscn")
|
||||
|
||||
signal succeded
|
||||
|
||||
var indicators : Array[InGameIndicator]
|
||||
@export var player : Player
|
||||
@@ -48,13 +49,29 @@ var indicators : Array[InGameIndicator]
|
||||
return region.data.get_score() != 0)
|
||||
),
|
||||
Step.new(
|
||||
"HARVEST_MATURE_PLANTS_WITH_SHOVEL",
|
||||
"DISCOVER_A_SEED_WITH_A_MUTATION",
|
||||
(func ():
|
||||
for e in region.entity_container.get_children():
|
||||
if e is Plant and e.harvested:
|
||||
if e is ItemObject and e.item is Seed and len(e.item.plant_mutations):
|
||||
return true
|
||||
return false)
|
||||
)
|
||||
),
|
||||
Step.new(
|
||||
"PLANT_A_SEED_WITH_A_MUTATION",
|
||||
(func ():
|
||||
for e in region.entity_container.get_children():
|
||||
if e is Plant and len(e.data.mutations):
|
||||
return true
|
||||
return false)
|
||||
),
|
||||
Step.new(
|
||||
"HARVEST_A_MATURE_PLANT_WITH_A_MUTATION",
|
||||
(func ():
|
||||
for e in region.entity_container.get_children():
|
||||
if e is Plant and e.harvested and len(e.data.mutations):
|
||||
return true
|
||||
return false)
|
||||
),
|
||||
]
|
||||
|
||||
func _ready():
|
||||
@@ -76,13 +93,23 @@ func setup_gui():
|
||||
|
||||
|
||||
func _process(_d):
|
||||
if region and region.data and "tutorial" in region.data.flags:
|
||||
if region and region.data and "tutorial" in region.data.flags and not GameInfo.game_data.tutorial_done:
|
||||
var success = true
|
||||
for i in len(steps):
|
||||
var step := steps[i]
|
||||
var step_gui := %Steps.get_children()[i] as TutorialStepGui
|
||||
step.update_succeeded()
|
||||
step_gui.suceeded = step.succeeded
|
||||
|
||||
if not step.succeeded:
|
||||
success = false
|
||||
if success:
|
||||
finish_tutorial()
|
||||
|
||||
func finish_tutorial():
|
||||
GameInfo.game_data.tutorial_done = true
|
||||
succeded.emit()
|
||||
|
||||
|
||||
class Step:
|
||||
|
||||
var text : String : get = get_text
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
[ext_resource type="Script" uid="uid://c2w7h0x2blimk" path="res://gui/game/tutorial/step_gui/scripts/step_gui.gd" id="1_8qp12"]
|
||||
[ext_resource type="Texture2D" uid="uid://dk7j4cmn2avor" path="res://common/icons/circle-check.svg" id="2_8qp12"]
|
||||
[ext_resource type="FontFile" uid="uid://cc4xli25271fd" path="res://addons/dialogic/Example Assets/Fonts/Roboto-Bold.ttf" id="3_kbfp3"]
|
||||
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="4_i138t"]
|
||||
|
||||
[node name="Step" type="HBoxContainer" unique_id=595946430]
|
||||
modulate = Color(1, 1, 1, 0.5)
|
||||
@@ -30,11 +32,13 @@ unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 0
|
||||
theme_override_fonts/normal_font = ExtResource("3_kbfp3")
|
||||
theme_override_fonts/bold_font = ExtResource("4_i138t")
|
||||
theme_override_font_sizes/normal_font_size = 15
|
||||
theme_override_font_sizes/bold_font_size = 15
|
||||
theme_override_font_sizes/bold_italics_font_size = 15
|
||||
theme_override_font_sizes/italics_font_size = 15
|
||||
theme_override_font_sizes/mono_font_size = 15
|
||||
bbcode_enabled = true
|
||||
text = "Lorem Ipsum dolor sit amet and again and again and again and again"
|
||||
text = "Hello"
|
||||
fit_content = true
|
||||
|
||||
@@ -293,12 +293,10 @@ vertical_alignment = 1
|
||||
|
||||
[node name="Settings" parent="." unique_id=758381952 instance=ExtResource("4_58dya")]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
mouse_filter = 2
|
||||
|
||||
[node name="Controls" parent="." unique_id=358658336 instance=ExtResource("11_urlqn")]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
mouse_filter = 2
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1779993260]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_resource type="LabelSettings" load_steps=2 format=3 uid="uid://dqwayi8yjwau2"]
|
||||
[gd_resource type="LabelSettings" format=3 uid="uid://dqwayi8yjwau2"]
|
||||
|
||||
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="1_lsdoq"]
|
||||
|
||||
|
||||
@@ -105,7 +105,7 @@ variables={
|
||||
"whoareyou": "false",
|
||||
"whynorth": "false"
|
||||
}
|
||||
translation/id_counter=30
|
||||
translation/id_counter=76
|
||||
translation/locales=[]
|
||||
translation/intern/save_mode=0
|
||||
translation/intern/file_mode=1
|
||||
|
||||
@@ -35,7 +35,7 @@ func _ready():
|
||||
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
|
||||
set_room_part_number()
|
||||
|
||||
chosen_incubator_id = randi_range(0, len(%Incubators.get_children()))
|
||||
chosen_incubator_id = randi_range(0, len(%Incubators.get_children()) - 1)
|
||||
var new_player_incubator := %Incubators.get_children()[chosen_incubator_id] as Incubator
|
||||
new_player_incubator.used = true
|
||||
%Player3D.position = new_player_incubator.global_position + Vector3.UP
|
||||
@@ -52,6 +52,7 @@ func _ready():
|
||||
|
||||
|
||||
func story():
|
||||
AudioManager.play_sfx("Respawn")
|
||||
if not INTRO_DIALOG in GameInfo.game_data.dialogs_done:
|
||||
await get_tree().create_timer(TIME_WITHOUT_PHONE).timeout
|
||||
%Phone.play_audio()
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -184,6 +184,9 @@ volumetric_fog_sky_affect = 0.0
|
||||
adjustment_enabled = true
|
||||
adjustment_saturation = 1.3
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_c8vcx"]
|
||||
size = Vector3(0.001, 7.6933594, 7.697876)
|
||||
|
||||
[node name="BoreaBase" type="Node3D" unique_id=442220603]
|
||||
script = ExtResource("1_fevne")
|
||||
|
||||
@@ -910,6 +913,13 @@ autoplay = &"blink"
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=1121246225]
|
||||
environment = SubResource("Environment_fevne")
|
||||
|
||||
[node name="AmbianceChangeDetector" type="Area3D" parent="." unique_id=1401161313]
|
||||
transform = Transform3D(0.25881904, 0, 0.96592593, 0, 1, 0, -0.96592593, 0, 0.25881904, 2.7012572, -5.600957, -42.815655)
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="AmbianceChangeDetector" unique_id=1969356725]
|
||||
transform = Transform3D(0.9999994, 0, 0, 0, 1, 0, 0, 0, 0.9999994, -9.359516, 0.82910156, 2.9935746)
|
||||
shape = SubResource("BoxShape3D_c8vcx")
|
||||
|
||||
[node name="Player3D" parent="." unique_id=549819967 instance=ExtResource("3_c8vcx")]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(0.25881904, 0, 0.96592593, 0, 1, 0, -0.96592593, 0, 0.25881904, 29.244379, 41.40791, 8.823577)
|
||||
@@ -924,3 +934,5 @@ transform = Transform3D(-0.93482566, 0, 0.35510686, 0, 1, 0, -0.35510686, 0, -0.
|
||||
[node name="Credits" parent="." unique_id=180964898 instance=ExtResource("6_c8vcx")]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
|
||||
[connection signal="body_entered" from="AmbianceChangeDetector" to="." method="_on_ambiance_change_detector_body_entered"]
|
||||
|
||||
@@ -12,4 +12,11 @@ func _ready():
|
||||
await Dialogic.timeline_ended
|
||||
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
|
||||
%Credits.show()
|
||||
AudioManager.play_music("Title")
|
||||
AudioManager.stop_ambiance()
|
||||
|
||||
func _on_ambiance_change_detector_body_entered(body: Node3D):
|
||||
if body is Player3D:
|
||||
AudioManager.stop_ambiance()
|
||||
AudioManager.play_music("Title")
|
||||
|
||||
|
||||
@@ -42,6 +42,7 @@ func _ready():
|
||||
|
||||
func handle_dialogs():
|
||||
if not POST_TUTORIAL_DIALOG_PATH in GameInfo.game_data.dialogs_done:
|
||||
await get_tree().create_timer(5).timeout
|
||||
await ring_phone(POST_TUTORIAL_DIALOG_PATH)
|
||||
|
||||
func ring_phone(dialog_path : String):
|
||||
@@ -108,7 +109,7 @@ func update_dashboard():
|
||||
if choosen_run_point:
|
||||
dashboard.destination_title_label = tr("DESTINATION")
|
||||
dashboard.destination_longitude = float(choosen_run_point.level) / RunData.RUN_POINT_MAX_LEVEL
|
||||
dashboard.destination_label = choosen_run_point.region_parameter.name
|
||||
dashboard.destination_label = choosen_run_point.region_parameter.region_name
|
||||
dashboard.status_text = ""
|
||||
else:
|
||||
dashboard.status_text = tr("CHOOSE_DESTINATION")
|
||||
|
||||
@@ -95,13 +95,13 @@ func set_left_destination(v := left_destination):
|
||||
%LeftScreenStats.visible = left_destination != null
|
||||
if left_destination:
|
||||
%LeftScreenActionIcon.texture = LAND_ICON
|
||||
%LeftScreenActionLabel.text = left_destination.region_parameter.name
|
||||
%LeftScreenActionLabel.text = left_destination.region_parameter.get_region_name()
|
||||
|
||||
%LeftScreenStat1Icon.texture = GROWTH_ICON
|
||||
%LeftScreenStat1Label.text = str(left_destination.region_parameter.objective)
|
||||
%LeftScreenStat1Label.text = str(left_destination.region_parameter.get_objective())
|
||||
|
||||
%LeftScreenStat2Icon.texture = CHARGE_ICON
|
||||
%LeftScreenStat2Label.text = str(left_destination.region_parameter.charges)
|
||||
%LeftScreenStat2Label.text = str(left_destination.region_parameter.get_charge())
|
||||
|
||||
func set_right_destination(v := right_destination):
|
||||
right_destination = v
|
||||
@@ -111,10 +111,10 @@ func set_right_destination(v := right_destination):
|
||||
%RightScreenStats.visible = right_destination != null
|
||||
if right_destination:
|
||||
%RightScreenActionIcon.texture = LAND_ICON
|
||||
%RightScreenActionLabel.text = right_destination.region_parameter.name
|
||||
%RightScreenActionLabel.text = right_destination.region_parameter.get_region_name()
|
||||
|
||||
%RightScreenStat1Icon.texture = GROWTH_ICON
|
||||
%RightScreenStat1Label.text = str(right_destination.region_parameter.objective)
|
||||
%RightScreenStat1Label.text = str(right_destination.region_parameter.get_objective())
|
||||
|
||||
%RightScreenStat2Icon.texture = CHARGE_ICON
|
||||
%RightScreenStat2Label.text = str(right_destination.region_parameter.charges)
|
||||
%RightScreenStat2Label.text = str(right_destination.region_parameter.get_charge())
|
||||
|
||||
@@ -17,11 +17,14 @@ func _input(_e):
|
||||
func _ready():
|
||||
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
|
||||
|
||||
GameInfo.game_data.tutorial_done = true
|
||||
|
||||
%Phone.play_audio()
|
||||
await %Phone.clicked
|
||||
%Phone.stop_audio()
|
||||
Dialogic.start(DIALOG_PATH)
|
||||
await Dialogic.timeline_ended
|
||||
SceneManager.change_to_scene_id("COCKPIT")
|
||||
|
||||
|
||||
func _on_jingle_area_body_entered(body: Node3D):
|
||||
if body is Player3D:
|
||||
AudioManager.play_sfx("Ship_reveal")
|
||||
|
||||
@@ -58,6 +58,9 @@ shading_mode = 0
|
||||
albedo_color = Color(0.5882353, 0.7019608, 0.85882354, 1)
|
||||
albedo_texture = ExtResource("2_yl6nj")
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_dkh4e"]
|
||||
size = Vector3(20.170532, 9.8758545, 1)
|
||||
|
||||
[node name="ShipGarage" type="Node3D" unique_id=707746738]
|
||||
script = ExtResource("1_43lym")
|
||||
|
||||
@@ -150,3 +153,12 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.37195766, 2.8968668, -0.44
|
||||
[node name="Phone" parent="." unique_id=429299908 instance=ExtResource("7_dkh4e")]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(-0.83126587, 0, -0.555875, 0, 1, 0, 0.555875, 0, -0.83126587, -4.110002, 1.6397171, 6.610814)
|
||||
|
||||
[node name="JingleArea" type="Area3D" parent="." unique_id=731941135]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22.818235, 0, 22.5019)
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="JingleArea" unique_id=1026275057]
|
||||
transform = Transform3D(0.70710677, 0, 0.70710677, 0, 1, 0, -0.70710677, 0, 0.70710677, 0.009346008, 4.4379272, 0.18450356)
|
||||
shape = SubResource("BoxShape3D_dkh4e")
|
||||
|
||||
[connection signal="body_entered" from="JingleArea" to="." method="_on_jingle_area_body_entered"]
|
||||
|
||||
@@ -107,7 +107,7 @@ func update_region_points():
|
||||
|
||||
func _on_camera_3d_region_point_clicked(rp : RunPoint):
|
||||
selected_run_point = rp
|
||||
%TravelValidationLabel.text = tr("TRAVEL_TO_REGION_%s") % rp.region_parameter.name
|
||||
%TravelValidationLabel.text = tr("TRAVEL_TO_REGION_%s") % rp.region_parameter.region_name
|
||||
%TravelValidation.show()
|
||||
|
||||
func _on_travel_validation_go_button_button_down():
|
||||
|
||||
@@ -20,6 +20,7 @@ unique_name_in_owner = true
|
||||
layer = 2
|
||||
|
||||
[node name="Tutorial" parent="RegionGui" unique_id=762436685 node_paths=PackedStringArray("player", "region") instance=ExtResource("2_2f6js")]
|
||||
unique_name_in_owner = true
|
||||
player = NodePath("../../Entities/Player")
|
||||
region = NodePath("../..")
|
||||
|
||||
@@ -31,8 +32,9 @@ y_sort_enabled = true
|
||||
[node name="Player" parent="Entities" unique_id=75851644 instance=ExtResource("5_ovqi1")]
|
||||
z_index = 1
|
||||
|
||||
[node name="TruckRecharge" parent="Entities" unique_id=2068738444 instance=ExtResource("7_6d8m3")]
|
||||
position = Vector2(-1, -169)
|
||||
[node name="RechargeStation" parent="Entities" unique_id=2068738444 instance=ExtResource("7_6d8m3")]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(-405, -151)
|
||||
|
||||
[node name="AstraDoor" parent="Entities" unique_id=2053096538 instance=ExtResource("8_2f6js")]
|
||||
unique_name_in_owner = true
|
||||
@@ -45,15 +47,17 @@ default_info_desc = "ASTRA_FACTORY_TEXT"
|
||||
[node name="BoreaDoor" parent="Entities" unique_id=135926916 instance=ExtResource("8_2f6js")]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
position = Vector2(91, -177)
|
||||
to_scene_id = "BOREA"
|
||||
default_interact_text = "ENTER"
|
||||
default_info_title = "BOREA_BASE"
|
||||
default_info_desc = "ASTRA_FACTORY_TEXT"
|
||||
default_info_desc = "BOREA_BASE_DESC_TEXT"
|
||||
|
||||
[node name="ShipGarageDoor" parent="Entities" unique_id=1073871193 instance=ExtResource("8_2f6js")]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
modulate = Color(1, 0, 0, 1)
|
||||
position = Vector2(91, -177)
|
||||
to_scene_id = "GARAGE"
|
||||
default_interact_text = "ENTER"
|
||||
available = false
|
||||
|
||||
@@ -6,9 +6,6 @@ signal generated
|
||||
|
||||
var region : Region
|
||||
var region_seed : int
|
||||
var wall_threshold = 0.3
|
||||
var decontamination_threshold = 0.
|
||||
var cristal_threshold = 0.08
|
||||
var rock_noise_image : Noise = null
|
||||
var decontamination_noise_image : Noise = null
|
||||
|
||||
@@ -23,6 +20,8 @@ const GENERATION_NUMBER = 4
|
||||
|
||||
const NOISE_IMAGE_SIZE := 150
|
||||
|
||||
const MAX_DECONTAMINATION_DISTANCE=2
|
||||
|
||||
const ROCK_NOISE_FREQUENCY := 0.01
|
||||
const DECONTAMINATION_NOISE_FREQUENCY := 0.01
|
||||
|
||||
@@ -34,9 +33,9 @@ var data : ChunkData
|
||||
|
||||
func _init(
|
||||
_data : ChunkData,
|
||||
_planet : Region = null,
|
||||
_region : Region = null,
|
||||
):
|
||||
region = _planet
|
||||
region = _region
|
||||
if region:
|
||||
region_seed = region.data.region_seed
|
||||
data = _data
|
||||
@@ -129,10 +128,10 @@ func get_generated_rock_type(coord : Vector2i) -> RockLayer.TileType:
|
||||
var saved_diff := data.get_rock_tile_diff(coord)
|
||||
|
||||
if (
|
||||
(saved_diff == ChunkData.TileDiff.PRESENT or tile_value < wall_threshold)
|
||||
(saved_diff == ChunkData.TileDiff.PRESENT or tile_value < region.data.rock_threshold)
|
||||
and saved_diff != ChunkData.TileDiff.ABSENT
|
||||
):
|
||||
return RockLayer.TileType.CRISTAL if tile_value < cristal_threshold else RockLayer.TileType.ROCK
|
||||
return RockLayer.TileType.CRISTAL if tile_value < region.data.cristal_threshold else RockLayer.TileType.ROCK
|
||||
return RockLayer.TileType.EMPTY
|
||||
|
||||
func generate_ground():
|
||||
@@ -148,10 +147,16 @@ func generate_decontamination():
|
||||
for x in range(Region.CHUNK_TILE_SIZE):
|
||||
for y in range(Region.CHUNK_TILE_SIZE):
|
||||
var coord = Vector2i(x,y)
|
||||
var tile_value : float = get_tile_value_from_noise(coord, decontamination_noise_image)
|
||||
var tile_value : float = (
|
||||
1. if data.chunk_coord.distance_to(Vector2i.ZERO) > MAX_DECONTAMINATION_DISTANCE
|
||||
else get_tile_value_from_noise(coord, decontamination_noise_image)
|
||||
)
|
||||
var saved_diff := data.get_decontamination_tile_diff(coord)
|
||||
if (
|
||||
(saved_diff == ChunkData.TileDiff.PRESENT or tile_value < decontamination_threshold)
|
||||
(
|
||||
saved_diff == ChunkData.TileDiff.PRESENT
|
||||
or (tile_value < region.data.decontamination_threshold)
|
||||
)
|
||||
and saved_diff != ChunkData.TileDiff.ABSENT
|
||||
):
|
||||
decontamination_tiles.append(Vector2i(x,y) + Region.CHUNK_TILE_SIZE * data.chunk_coord)
|
||||
|
||||
14
stages/terrain/region/scripts/modifiers/arid_modifier.gd
Normal file
14
stages/terrain/region/scripts/modifiers/arid_modifier.gd
Normal file
@@ -0,0 +1,14 @@
|
||||
extends RegionModifier
|
||||
class_name AridModifier
|
||||
|
||||
func get_modifier_name() -> String:
|
||||
return tr("ARID")
|
||||
|
||||
func get_description() -> String:
|
||||
return tr("ARID_MODIFIER_DESC_TEXT")
|
||||
|
||||
func modify_decontamination_threshold(decontamination_threshold : float) -> float:
|
||||
return decontamination_threshold
|
||||
|
||||
func modify_start_decontamination_zone_radius(start_decontamination_zone_radius : int) -> int:
|
||||
return start_decontamination_zone_radius
|
||||
@@ -0,0 +1 @@
|
||||
uid://3o33x8mesgrn
|
||||
35
stages/terrain/region/scripts/modifiers/region_modifier.gd
Normal file
35
stages/terrain/region/scripts/modifiers/region_modifier.gd
Normal file
@@ -0,0 +1,35 @@
|
||||
@abstract
|
||||
extends Resource
|
||||
class_name RegionModifier
|
||||
|
||||
var level : int = 1
|
||||
var modifier_name : String : get = get_modifier_name
|
||||
var description : String : get = get_description
|
||||
|
||||
func _init(_level : int = 1):
|
||||
level = _level
|
||||
|
||||
@abstract func get_modifier_name() -> String
|
||||
|
||||
@abstract func get_description() -> String
|
||||
|
||||
func get_difficulty_score() -> float:
|
||||
return float(level)
|
||||
|
||||
func modify_charge(charge : int) -> int:
|
||||
return charge
|
||||
|
||||
func modify_objective(objective : int) -> int:
|
||||
return objective
|
||||
|
||||
func modify_rock_threshold(rock_threshold : float) -> float:
|
||||
return rock_threshold
|
||||
|
||||
func modify_decontamination_threshold(decontamination_threshold : float) -> float:
|
||||
return decontamination_threshold
|
||||
|
||||
func modify_cristal_threshold(cristal_threshold : float) -> float:
|
||||
return cristal_threshold
|
||||
|
||||
func modify_start_decontamination_zone_radius(start_decontamination_zone_radius : int) -> int:
|
||||
return start_decontamination_zone_radius
|
||||
@@ -0,0 +1 @@
|
||||
uid://ccb06rayqowp3
|
||||
@@ -10,7 +10,8 @@ const TILE_SCALE = 1
|
||||
const TILE_SIZE : int = roundi(TILE_SET.tile_size.x * TILE_SCALE)
|
||||
const START_ROCK_HOLE_RADIUS = 5
|
||||
const PLAYER_ROCK_HOLE_RADIUS = 5
|
||||
const START_DECONTAMINATION_HOLE_RADIUS = 3
|
||||
const SPAWN_OBJECT_RANDOM_MOVEMENT = 200
|
||||
|
||||
const CHUNK_TILE_SIZE : int = 20
|
||||
const CHUNK_SIZE = CHUNK_TILE_SIZE * TILE_SIZE
|
||||
const CHUNK_LOAD_DISTANCE : int = 1
|
||||
@@ -46,6 +47,7 @@ func _input(_e):
|
||||
and Input.is_action_pressed("move_left")
|
||||
and Input.is_action_just_pressed("action")
|
||||
):
|
||||
%Tutorial.finish_tutorial()
|
||||
data.succeded.emit()
|
||||
data.state = RegionData.State.SUCCEEDED
|
||||
data.update()
|
||||
@@ -89,6 +91,10 @@ func _ready():
|
||||
|
||||
edit_map_origin()
|
||||
|
||||
spawn_object_random_move(%RechargeStation)
|
||||
spawn_object_random_move(%BoreaDoor)
|
||||
spawn_object_random_move(%ShipGarageDoor)
|
||||
|
||||
func _process(_d):
|
||||
if player:
|
||||
generate_near_chunks(player)
|
||||
@@ -144,17 +150,17 @@ func edit_map_origin():
|
||||
var coord = Vector2i(x,y)
|
||||
if coord.distance_to(chunk_center) < START_ROCK_HOLE_RADIUS:
|
||||
hole_tiles.append(coord)
|
||||
if coord.distance_to(chunk_center) < START_DECONTAMINATION_HOLE_RADIUS:
|
||||
if coord.distance_to(chunk_center) < data.start_decontamination_hole_radius:
|
||||
decontamination_tiles.append(coord)
|
||||
|
||||
rock_layer.remove_rocks(hole_tiles, true)
|
||||
decontamination_layer.place_decontaminations(decontamination_tiles, true)
|
||||
|
||||
# Dig a hole in player position
|
||||
# Dig a hole in player spawn
|
||||
var player_hole_tiles : Array[Vector2i] = []
|
||||
var player_tile_position := Vector2i(
|
||||
roundi(data.player_position.x/float(TILE_SIZE)),
|
||||
roundi(data.player_position.y/float(TILE_SIZE))
|
||||
roundi(data.player_spawn.x/float(TILE_SIZE)),
|
||||
roundi(data.player_spawn.y/float(TILE_SIZE))
|
||||
)
|
||||
for x in range(-PLAYER_ROCK_HOLE_RADIUS, PLAYER_ROCK_HOLE_RADIUS):
|
||||
for y in range(-PLAYER_ROCK_HOLE_RADIUS, PLAYER_ROCK_HOLE_RADIUS):
|
||||
@@ -192,6 +198,15 @@ func save():
|
||||
data.player_position = player.global_position
|
||||
GameInfo.save_game_data()
|
||||
|
||||
func spawn_object_random_move(object : Node2D):
|
||||
var rng := RandomNumberGenerator.new()
|
||||
rng.seed = data.region_seed + object.name.hash()
|
||||
|
||||
object.position = Vector2(
|
||||
rng.randf_range(-SPAWN_OBJECT_RANDOM_MOVEMENT,+SPAWN_OBJECT_RANDOM_MOVEMENT),
|
||||
rng.randf_range(-SPAWN_OBJECT_RANDOM_MOVEMENT,SPAWN_OBJECT_RANDOM_MOVEMENT)
|
||||
)
|
||||
|
||||
func setup_flagged_properties():
|
||||
|
||||
%AstraDoor.visible = false
|
||||
@@ -205,12 +220,13 @@ func setup_flagged_properties():
|
||||
%ShipGarageDoor.visible = true
|
||||
%AstraDoor.available = false
|
||||
%ShipGarageDoor.available = data.state == RegionData.State.SUCCEEDED
|
||||
data.succeded.connect(
|
||||
%Tutorial.succeded.connect(
|
||||
func ():
|
||||
%ShipGarageDoor.available = true
|
||||
)
|
||||
"borea":
|
||||
%BoreaDoor.visible = true
|
||||
%RechargeStation.visible = false
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -18,10 +18,15 @@ const MAX_RANDOM_SPAWN_DISTANCE = 3000
|
||||
@export var region_seed : int
|
||||
@export var region_name : String
|
||||
@export var region_level : int = 0
|
||||
|
||||
@export var rock_threshold : float
|
||||
@export var decontamination_threshold : float
|
||||
@export var cristal_threshold : float
|
||||
@export var start_decontamination_hole_radius = 3
|
||||
|
||||
@export var day : int = 1
|
||||
@export var entities_saved_data : Array[EntityData] = []
|
||||
@export var generated_chunk_entities : Array[Vector2i]
|
||||
@export var tutorial_step : int = 0
|
||||
@export var flags : Array[String] = []
|
||||
@export var plants : Array[PlantData]
|
||||
|
||||
@@ -50,13 +55,17 @@ var in_passing_day_animation := false
|
||||
func _init(
|
||||
parameter : RegionParameter = RegionParameter.new()
|
||||
):
|
||||
charges = parameter.charges
|
||||
objective = parameter.objective
|
||||
region_name = parameter.name
|
||||
region_level = parameter.level
|
||||
region_seed = parameter.region_seed
|
||||
charges = parameter.get_charge()
|
||||
objective = parameter.get_objective()
|
||||
region_name = parameter.get_region_name()
|
||||
region_level = parameter.get_region_level()
|
||||
region_seed = parameter.get_region_seed()
|
||||
rock_threshold = parameter.get_rock_threshold()
|
||||
decontamination_threshold = parameter.get_decontamination_threshold()
|
||||
cristal_threshold = parameter.get_cristal_threshold()
|
||||
start_decontamination_hole_radius = parameter.get_start_decontamination_zone_radius()
|
||||
flags = parameter.get_region_flags()
|
||||
|
||||
flags = parameter.flags
|
||||
player_spawn = get_random_spawn_position()
|
||||
player_position = player_spawn
|
||||
|
||||
@@ -137,7 +146,6 @@ func add_plant_data(plant_data : PlantData, with_update = true):
|
||||
update()
|
||||
|
||||
func _on_plant_disappeared(plant_data : PlantData):
|
||||
print("disappeared")
|
||||
plants = plants.filter(func (p) : return p.random_seed != plant_data.random_seed)
|
||||
update()
|
||||
|
||||
@@ -151,3 +159,5 @@ func get_random_spawn_position():
|
||||
) + Region.CHUNK_SIZE/2. * Vector2.ONE
|
||||
|
||||
return rand_pos
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -1,24 +1,92 @@
|
||||
extends Resource
|
||||
class_name RegionParameter
|
||||
|
||||
@export var charges : int
|
||||
@export var objective : int
|
||||
@export var name : String
|
||||
@export var flags : Array[String]
|
||||
const DEFAULT_ROCK_THRESHOLD = 0.3
|
||||
const DEFAULT_DECONTAMINATION_THRESHOLD = 0.15
|
||||
const DEFAULT_CRISTAL_THRESHOLD = 0.06
|
||||
const DEFAULT_CHARGE = 10
|
||||
const DEFAULT_START_DECONTAMINATION_ZONE_RADIUS = 3
|
||||
|
||||
@export var region_name : String
|
||||
@export var region_flags : Array[String]
|
||||
@export var level : int
|
||||
@export var region_seed : int
|
||||
@export var modifiers : Array[RegionModifier]
|
||||
|
||||
static func get_objective_by_level(l : int) -> int:
|
||||
return 10 + 5 * l
|
||||
|
||||
func _init(
|
||||
_charges : int = 10,
|
||||
_objective : int = 10,
|
||||
_level = 0,
|
||||
_name = Random.generate_random_word(),
|
||||
_flags : Array[String] = [],
|
||||
_level = 0,
|
||||
_modifiers : Array[RegionModifier] = [],
|
||||
_region_seed = randi(),
|
||||
):
|
||||
charges = _charges
|
||||
objective = _objective
|
||||
name = _name
|
||||
flags = _flags
|
||||
region_name = _name
|
||||
region_flags = _flags
|
||||
level = _level
|
||||
modifiers = _modifiers
|
||||
region_seed = _region_seed
|
||||
|
||||
func get_region_name() -> String:
|
||||
return region_name
|
||||
|
||||
func get_region_flags() -> Array[String]:
|
||||
return region_flags
|
||||
|
||||
func get_region_level() -> int:
|
||||
return level
|
||||
|
||||
func get_region_seed() -> int:
|
||||
return region_seed
|
||||
|
||||
func get_objective() -> int:
|
||||
if "tutorial" in region_flags:
|
||||
return 1
|
||||
var o = get_objective_by_level(get_region_level())
|
||||
|
||||
for m in modifiers:
|
||||
o = m.modify_objective(o)
|
||||
|
||||
return o
|
||||
|
||||
func get_charge() -> int:
|
||||
var c = DEFAULT_CHARGE
|
||||
|
||||
for m in modifiers:
|
||||
c = m.modify_charge(c)
|
||||
|
||||
return c
|
||||
|
||||
func get_rock_threshold() -> float:
|
||||
var threshold = DEFAULT_ROCK_THRESHOLD
|
||||
|
||||
for m in modifiers:
|
||||
threshold = m.modify_rock_threshold(threshold)
|
||||
|
||||
return threshold
|
||||
|
||||
func get_decontamination_threshold() -> float:
|
||||
var threshold = DEFAULT_DECONTAMINATION_THRESHOLD
|
||||
|
||||
for m in modifiers:
|
||||
threshold = m.modify_decontamination_threshold(threshold)
|
||||
|
||||
return threshold
|
||||
|
||||
func get_cristal_threshold() -> float:
|
||||
var threshold = DEFAULT_CRISTAL_THRESHOLD
|
||||
|
||||
for m in modifiers:
|
||||
threshold = m.modify_cristal_threshold(threshold)
|
||||
|
||||
return threshold
|
||||
|
||||
func get_start_decontamination_zone_radius() -> int:
|
||||
var zone_radius := DEFAULT_START_DECONTAMINATION_ZONE_RADIUS
|
||||
|
||||
for m in modifiers:
|
||||
zone_radius = m.modify_start_decontamination_zone_radius(zone_radius)
|
||||
|
||||
return zone_radius
|
||||
@@ -1,42 +1,41 @@
|
||||
keys,fr
|
||||
Text/30/text,"Hi ![pause=0.5] Phew, I thought no one would reply...[pause=0.5] Is this [b][color=#FFA617]Orchid[/color][/b] ?[pause=0.5] You may not be familiar with this name, but if you look in your memory you should see it..."
|
||||
Choice/31/text,Uh... Who is this ?
|
||||
Choice/31/disabled_text,
|
||||
Text/32/text,"Oh sorry ! Your memory is quite new, you might be lost... Unfortunately, I cannot see you for now, I'm very far on this planet."
|
||||
Choice/33/text,Where am I ?
|
||||
Choice/33/disabled_text,
|
||||
Text/34/text,"Don't worry, you are in a subterranean base, but soon you will join the surface."
|
||||
Choice/35/text,Wait... Who am I ?
|
||||
Choice/35/disabled_text,
|
||||
Text/36/text,Mmmh great question. I rebuilt your system but I do not know the details of your hardware... Maybe we'll find out !
|
||||
Text/37/text,"I'm happy that you're finally awake ! To be honest I wasn't sure to make you work, your body is quite old..."
|
||||
Choice/38/text,So you are my creator ?
|
||||
Choice/38/disabled_text,
|
||||
Text/39/text,"Sort of ! I mean I didn't build your body, I just borrowed it, but I build your intelligence ! But please be forgiving, if it's not perfect, I'm not good in that field !"
|
||||
Choice/3a/text,Why did you awaken me ?
|
||||
Choice/3a/disabled_text,
|
||||
Text/3b/text,"To be honest, I don't really know exactly... I mean there are a lot of reasons, but I'll tell you more later."
|
||||
Choice/3c/text,What are you ?
|
||||
Choice/3c/disabled_text,
|
||||
Text/3d/text,"I'm like you... I mean like all the remaining moving things on this planet, robots, artificial intelligences, machines... My creators had many names to call us."
|
||||
Text/3e/text,"Ok, no more question for now, listen to me carefully."
|
||||
Text/3f/text,"Long time ago, this planet was full of life. Plants where thriving on mountains, seas and plains."
|
||||
Text/40/text,"Now, this world is a wasteland. You'll see it quickly outside this building. I won't dwell on this subject; you'll soon know enough about it."
|
||||
Text/41/text,"The thing is something happened, a year ago... The [b][color=#FFA617]Talion[/color][/b], a special material that give birth to new forms of life when shattered, reappeared. Now we can start all over again and create a planet full of life."
|
||||
Text/42/text,"But first things first, for your mission, you'll have to understand how this is working, and how to use the [b][color=#FFA617]Talion[/color][/b] to plant seeds."
|
||||
Text/43/text,[b]Just remember the following[/b]
|
||||
Label/44/display_name,
|
||||
Text/45/text,"When you emerge from this building, you'll arrive in a little yellow zone. Its a [b][color=#FFA617]fertile zone[/color][/b], created by the return of the Talion. This is in this zone and only there where you can plant."
|
||||
Text/46/text,"Then you'll have to get seeds. For that, nothing more simple, you take your shovel, and you smash some stones ! Preferably those with yellow cristals on it, it's the [b][color=#FFA617]Talion veins[/color][/b] ."
|
||||
Text/47/text,"Each time you use a tool or plant a seed, you'll spend an [b][color=#FFA617]energy[/color][/b]. When your out of it, you can just go recharge on the [b][color=#FFA617]recharge station[/color][/b] you'll find near the entrance."
|
||||
Text/48/text,"[b]Each time you recharge, time will pass[/b]. One day in fact (yes, you don't have a good battery), and the plants will grow !"
|
||||
Text/49/text,"To complete your first training, obtain enough [b][color=#FFA617]plant points[/color][/b]. Each plant give one or more [b][color=#FFA617]plant points[/color][/b] when mature."
|
||||
Text/4a/text,"And yes, I almost forgot ! Some plants gain [b][color=#FFA617]mutations[/color][/b] that can affect their points or behavior. You can get these mutations on new seeds by harvesting existing plants, and gain better ones !"
|
||||
Choice/4b/text,"Ok, thats' a lot of info, can you repeat ?"
|
||||
Choice/4b/disabled_text,
|
||||
Text/4c/text,"Ok, listen carefully."
|
||||
Choice/4d/text,And I have to go now ?
|
||||
Choice/4d/disabled_text,
|
||||
Choice/4e/text,Ok but wait I have more questions !
|
||||
Choice/4e/disabled_text,
|
||||
Text/4f/text,"Sorry, we'll speak after this ! I'll send you an elevator !"
|
||||
Text/1f/text,"Hi ![pause=0.3] Phew,[pause=0.2] I thought no one would reply.[pause=0.3] Are you [color=#FFA617]Orchid[/color] ?[pause=0.3] You may not be familiar with this name but you must have seen it in your memory."
|
||||
Choice/20/text,Uh... Who are you ?
|
||||
Choice/20/disabled_text,
|
||||
Text/21/text,"Oh sorry ![pause=0.3] I cannot send you my IDs for now,[pause=0.2] you are too far away from me."
|
||||
Choice/22/text,Where am I ?
|
||||
Choice/22/disabled_text,
|
||||
Text/23/text,"Don't worry,[pause=0.2] you are in a subterranean base,[pause=0.2] but you will get to the surface very soon."
|
||||
Choice/24/text,Wait ! Who am I ?
|
||||
Choice/24/disabled_text,
|
||||
Text/25/text,Hmmm.[pause=0.4].[pause=0.4].[pause=0.4] Interesting question.[pause=0.3] I elaborated your system but I don't know in which frame you are currently in.[pause=0.3] We'll find out !
|
||||
Text/26/text,"I'm glad you are finally awake ![pause=0.3] To be honest,[pause=0.2] I wasn't sure I would be able to make you function normally.[pause=0.5] Your frame has remained here for millennia without any maintenance."
|
||||
Choice/27/text,Did you create me ?
|
||||
Choice/27/disabled_text,
|
||||
Text/28/text,"Sort of ![pause=0.3] I didn't manufactured your body,[pause=0.2] I borrowed it,[pause=0.2] but I designed your cognitive system.[pause=0.3] Be forgiving,[pause=0.2] it won't be perfect,[pause=0.2] I was designed to manage,[pause=0.2] not to create."
|
||||
Choice/29/text,Why did you awake me ?
|
||||
Choice/29/disabled_text,
|
||||
Text/2a/text,"To be honest,[pause=0.2] I don't really know.[pause=0.3].[pause=0.3].[pause=0.3] I mean,[pause=0.2] there are a lot of reasons,[pause=0.2] but I'll tell you more about it later."
|
||||
Choice/2b/text,What are you ?
|
||||
Choice/2b/disabled_text,
|
||||
Text/2c/text,"I'm the same as you.[pause=0.3] The same as all the sentient beings remaining on this planet.[pause=0.3] Robot,[pause=0.2] artificial intelligence,[pause=0.2] machine.[pause=0.2].[pause=0.2].[pause=0.2] Our creators gave us many titles."
|
||||
Text/2d/text,"Ok,[pause=0.2] no more questions for now,[pause=0.2] listen to me carefully."
|
||||
Text/2e/text,"A long time ago,[pause=0.2] this planet was full of life.[pause=0.3] Plants were thriving on mountains,[pause=0.2] under seas and across plains."
|
||||
Text/2f/text,"Now,[pause=0.2] this world is a wasteland.[pause=0.3] You'll see it as soon as you leave this base."
|
||||
Text/30/text,"Something happened a year ago.[pause=0.3].[pause=0.3].[pause=0.3]. The [color=#119758][b]Talion[/b][/color],[pause=0.2] a unique element giving birth to new life forms when shattered,[pause=0.2] reappeared."
|
||||
Text/31/text,"With the [color=#119758][b]Talion[/b][/color] back on the surface,[pause=0.2] we can bring this planet back to life."
|
||||
Text/32/text,"But first things first,[pause=0.2] you have to learn how everything is working up here,[pause=0.2] and how to use the [color=#119758][b]Talion[/b][/color] to plant seeds."
|
||||
Text/33/text,[b]Just remember the following[/b]
|
||||
Label/34/display_name,
|
||||
Text/35/text,"When you'll emerge from this building,[pause=0.2] you will reach a little yellowish zone.[pause=0.3] It's a [b]fertile zone[/b],[pause=0.2] brought back by the [color=#119758][b]Talion's[/b][/color] power.[pause=0.3] You can only plant [b]seeds[/b] in this zone."
|
||||
Text/36/text,"Then,[pause=0.2] you have to get [b]seeds[/b].[pause=0.3] To do so,[pause=0.2] just take your shovel and smash some stones ![pause=0.3] Focus on those having yellow crystals on it,[pause=0.2] these are [color=#119758][b]Talion veins[/b][/color]."
|
||||
Text/37/text,"Each time you use a tool like the shovel or plant a seed,[pause=0.2] you will spend one [b]energy[/b] charge.[pause=0.3] When you are out of it,[pause=0.2] just go recharge it at the [b]recharge station[/b].[pause=0.3] You will find it near the entrance of the base."
|
||||
Text/38/text,"Each time you recharge,[pause=0.2] a day will pass,[pause=0.2] your batteries are very inefficient.[pause=0.3] While the day is passing,[pause=0.2] plants will grow !"
|
||||
Text/39/text,"To complete you training,[pause=0.2] obtain enough [b]plant points[/b].[pause=0.3] Each plant give one or more [b]plant points[/b] when mature."
|
||||
Text/3a/text,"Oh ! [pause=0.3] I almost forgot,[pause=0.2] some plants can [b]mutate[/b].[pause=0.3] These [b]mutations[/b] affect points and behavior of the plant affected.[pause=0.3] [b]Mutations[/b] can appear while [b]harvesting[/b] mature plants and even become more powerful if you [b]harvest[/b] an already mutated one."
|
||||
Choice/3b/text,"That's a lot of informations, can you repeat ?"
|
||||
Choice/3b/disabled_text,
|
||||
Text/3c/text,"Ok,[pause=0.2] listen carefully."
|
||||
Choice/3d/text,"Ok, now I have more questions !"
|
||||
Choice/3d/disabled_text,
|
||||
Text/3e/text,"Sorry,[pause=0.2] we'll speak more after this.[pause=0.3] I send you an elevator,[pause=0.2] good luck [color=#FFA617]Orchid[/color] !"
|
||||
|
||||
|
@@ -1,18 +1,18 @@
|
||||
keys,fr
|
||||
Text/7a/text,[i]Black.[/i]
|
||||
Text/7b/text,[i]Black Again.[/i]
|
||||
Text/7c/text,"[i]Suddenly, [rainbow]a spark[/rainbow]. [pause=0.5]A thousand of connections blows up as a firework scene. A massive amount of data to treat."
|
||||
Label/7d/display_name,
|
||||
Choice/7e/text,Discover actions
|
||||
Choice/7e/disabled_text,
|
||||
Text/7f/text,"While exploring available drivers, new possibility become available.[pause=0.5] Three propellers. Small models, only suitable for low altitude movement.[pause=0.5] A robotic arm. Multipurpose, and retractable."
|
||||
Choice/80/text,Discover streams
|
||||
Choice/80/disabled_text,
|
||||
Text/81/text,"A continuous stream of data flow, unwatched. This stream look like... [pause=0.5] a video.[pause=0.5] Dark colored pixels pass.[pause=0.5] An other stream show a flat wave.[pause=0.5] No sound or radio signals detected."
|
||||
Choice/82/text,Discover memory
|
||||
Choice/82/disabled_text,
|
||||
Text/83/text,"Several disks are available, and the most part are empty.[pause=0.5] The full ones seems to contain the system that is currently analyzing the code of the system that is currently analyzing the code of[pause=0.5].[pause=0.5].[pause=0.5]. Mmmh, infinite recursion...[pause=0.5] Better avoid that."
|
||||
Choice/84/text,Wake up
|
||||
Choice/84/disabled_text,
|
||||
Text/85/text,One last info is to oversee : serial number and system name.[pause=0.5] Strange...[pause=0.5] Serial number is empty.[pause=0.5] Must be an error.[pause=0.5]System name is... [pause=0.5] [b]Orchid[/b]. That will be enough for now...
|
||||
Text/86/text,"Starting engines, fans, and daemons, let's see what is to see."
|
||||
Text/3f/text,[i]Void.[/i]
|
||||
Text/40/text,[i]Void again.[/i]
|
||||
Text/41/text,"[i]Suddenly, a [rainbow]spark[/rainbow].[pause=0.5] A thousand of connections blow up as a fireworks scene.[pause=0.3] A massive amount of data to treat."
|
||||
Label/42/display_name,
|
||||
Choice/43/text,Check components
|
||||
Choice/43/disabled_text,
|
||||
Text/44/text,"Exploring available drivers.[pause=0.5].[pause=0.5].[pause=0.5] New actions available.[pause=0.5] Three propellers,[pause=0.3] small models,[pause=0.3] only suitable for low altitude movement.[pause=0.5] Robotic arm,[pause=0.3] multipurpose,[pause=0.3] retractable."
|
||||
Choice/45/text,Check streams
|
||||
Choice/45/disabled_text,
|
||||
Text/46/text,"A continuous stream of data flow,[pause=0.3] unchecked.[pause=0.5] A video,[pause=0.5] dark colored pixels only.[pause=0.5] Another stream,[pause=0.3] flat signal.[pause=0.5] No radio emission detected."
|
||||
Choice/47/text,Check memory
|
||||
Choice/47/disabled_text,
|
||||
Text/48/text,"Several disks available,[pause=0.3] most are empty.[pause=0.5] Some seems to contain the system currently analyzing the code of the system analyzing the code of the system analyzing the code of the system analyzing.[pause=0.5].[pause=0.5].[pause=0.5] Infinite recursion,[pause=0.3] better avoid that."
|
||||
Choice/49/text,Wake up
|
||||
Choice/49/disabled_text,
|
||||
Text/4a/text,"Overseeing \: serial number and system name.[pause=0.5].[pause=0.5].[pause=0.5] Strange.[pause=0.5] Serial number is empty.[pause=0.5] Must be an error.[pause=0.5] System name is,[pause=0.5] [color=#FFA617]Orchid[/color].[pause=0.5] That is enough for now."
|
||||
Text/4b/text,"Starting engines,[pause=0.3] fans and daemons,[pause=0.3] let's see what is to see."
|
||||
|
||||
|
@@ -14,8 +14,8 @@ PLANT_INFO_TEXT,"[b]1[/b] Name
|
||||
[b]6[/b] Durée de vie"
|
||||
TERRAINS,Terrains,Terrains
|
||||
FERTILE_LAND_TEXT,[b]Fertile Land[/b] Seeds can only be planted on this zone,[b]Terre fertile[/b] Des graines peuvent être plantées dans cette zone
|
||||
ROCK_TEXT,[b]Rock[/b] Can be dug with a pickaxe,[b]Roche[/b] Peut être creusée avec une pioche
|
||||
TALION_VEIN_TEXT,"[b]Talion Vein[/b] Can be dug with a pickaxe, contains random seeds","[b]Veine de Talion[/b] Peut être creusée avec une pioche, contient des graines aléatoire"
|
||||
ROCK_TEXT,[b]Rock[/b] Can be dug with a shovel,[b]Roche[/b] Peut être creusée avec une pelle
|
||||
TALION_VEIN_TEXT,"[b]Talion Vein[/b] Can be dug with a shovel, contains random seeds","[b]Veine de Talion[/b] Peut être creusée avec une pelle, contient des graines aléatoire"
|
||||
OK,Ok,Ok
|
||||
GARDEN,Garden,Jardin
|
||||
COMMA,", ",","
|
||||
@@ -109,18 +109,18 @@ OPEN,Open,Ouvrir
|
||||
%s_SEED,%s Seed,Graine de %s
|
||||
PLANT_%s_MUST_BE_USED_IN_DECONTAMINATED_ZONE,Plant [b]%s[/b]. Must be used in the decontamined zone.,Plante [b]%s[/b]. Doit être utilisée dans la zone décontaminée.
|
||||
PLANT_%s,Plant [b]%s[/b],Planter [b]%s[/b]
|
||||
USE_YOUR_DETECTOR_TO_FIND_THE_BATTERY,Use your detector to find the recharge station,Utiliser votre détecteur pour trouver la station de recharge
|
||||
TAKE_A_SEED,Take a seed,Prend une graine
|
||||
DIG_A_TALION_VEIN_WITH_SHOVEL,Dig a talion Vein with the shovel,Creuser un filon de Talion avec la pelle
|
||||
PLANT_SEED_IN_FERTILE_ZONE,Plant a seed in the fertile zone,Planter une graine dans la zone fertile
|
||||
PLANT_THE_SEED_IN_DECONTAMINED_ZONE,Plant the seed in the decontamined zone,Plante la graine dans la zone décontaminée
|
||||
RECHARGE_TO_PASS_DAYS,Recharge to pass the day,Se recharger pour passer la journée
|
||||
GAIN_FIRST_PLANT_POINT,Gain first plant point,Gagnez votre premier point de jardin
|
||||
HARVEST_MATURE_PLANTS_WITH_SHOVEL,Harvest mature plants with the shovel,Récolte les plantes matures avec la pelle
|
||||
USE_YOUR_DETECTOR_TO_FIND_THE_BATTERY,Use your [b]Detector[/b] to find the [b]Recharge station[/b],Utiliser votre [b]Détecteur[/b] pour trouver la [b]Station de recharge[/b]
|
||||
TAKE_A_SEED,Take a [b]Seed[/b],Prend une [b]Graine[/b]
|
||||
DIG_A_TALION_VEIN_WITH_SHOVEL,Dig a [b]Talion Vein[/b] with the [b]Shovel[/b],Creuser un [b]Filon de Talion[/b] avec la [b]Pelle[/b]
|
||||
PLANT_SEED_IN_FERTILE_ZONE,Plant a [b]Seed[/b] in the [b]Fertile Zone[/b],Planter une [b]Graine[/b] dans la [b]Zone Fertile[/b]
|
||||
RECHARGE_TO_PASS_DAYS,Recharge on the [b]Recharge station[/b] to pass the day,Se recharger sur la [b]Station de recharge[/b] pour passer la journée
|
||||
GAIN_FIRST_PLANT_POINT,Earn your first [b]Plant Point[/b] while waiting for a plant to [b]Mature[/b],Gagnez votre premier [b]Point de Plante[/b] en attendant qu'une plante soit [b]Mature[/b]
|
||||
DISCOVER_A_SEED_WITH_A_MUTATION,Discover a [b]Seed[/b] with a [b]Mutation[/b],Découvrez une [b]Graine[/b] avec une [b]Mutation[/b]
|
||||
PLANT_A_SEED_WITH_A_MUTATION,Plant a [b]Seed[/b] with a [b]Mutation[/b],Plantez une [b]Graine[/b] avec une [b]Mutation[/b]
|
||||
HARVEST_A_MATURE_PLANT_WITH_A_MUTATION,Harvest a [b]Mature Plant[/b] with a [b]Mutation[/b] using your [b]Shovel[/b],Récoltez une [b]Plante Mature[/b] avec une [b]Mutation[/b] en utilisant votre [b]Pelle[/b]
|
||||
%d_PLANT_POINT,%d Plant Point,%d Point de plante
|
||||
%d_PLANT_POINTS,%d Plant Points,%d Points de plante
|
||||
SCORE_%d,Score %d,Score %d
|
||||
SOLAR_PANNEL,Solar panel,Panneau solaire
|
||||
SOLAR_PANNEL_DESCRIPTION_TEXT,Grants energy when charged. Take several days to recharge,Donne de l’énergie quand chargé. Prend plusieurs jours à se recharger
|
||||
TRUCK_ENTRANCE,Truck entrance,Entrée du camion
|
||||
ENTER,Enter,Entrer
|
||||
EXIT,Exit,Sortie
|
||||
EXIT_TRUCK,Exit truck,Sortir du camion
|
||||
@@ -129,10 +129,6 @@ RECHARGE_STATION,Recharge station,Station de recharge
|
||||
RECHARGE,Recharge,Recharger
|
||||
RECHARGE_STATION_DESC_TEXT,"[b]You can recharge yourself here.[/b] When recharging, time pass and plants grow.","[b]Tu peux te recharger ici.[/b] Pendant la recharge, le temps passe et les plantes grandissent."
|
||||
COMPOST,Compost,Compost
|
||||
PLACE_SEED,Place seed,Placer la graine
|
||||
COMPOST_DESC_TEXT,This research station can provide some bonuses when filled with seeds,Cette station de recherche peut offrir certains avantages une fois remplie de graines
|
||||
CHOOSE_A_REWARD,Choose a reward,Choisis une récompense
|
||||
REWARD_SCREEN_TEXT,Discover new plants or upgrade already discovered ones,Découvre de nouvelles plantes ou améliore celles déjà découvertes
|
||||
START,Start,Commencer
|
||||
CONTINUE,Continue,Continuer
|
||||
CHOOSE_A_LANGUAGE,Choose a language,Choisissez une langue
|
||||
|
||||
|
Reference in New Issue
Block a user