Feature pour l'alpha 1.3
* Ajout d'un mode infini (pour nos hard core gamers) * Ajout d'un message de découverte d'un nouvel outil * Séparation de la pelle en deux outils : la pioche et la fourche * Amélioration de la lisibilité des capsules d'énergies * Changement léger des texture du sol et de la pierre * Correction d'un bug lors du clic frénétique sur le porte de sortie du vaisseau * Ajout d'un icône de recharge * Fix de la mutation Ancien qui ne s'améliorait pas au niveau 4 + début de dev des artefacts avec un distributeur
@@ -1,6 +1,8 @@
|
||||
extends Resource
|
||||
class_name GameData
|
||||
|
||||
enum GameMode {STORY,INFINITE}
|
||||
|
||||
signal current_region_data_updated(p : RegionData)
|
||||
|
||||
@export var current_run : RunData = null
|
||||
@@ -19,6 +21,8 @@ signal current_region_data_updated(p : RegionData)
|
||||
|
||||
@export var incubator_used = []
|
||||
|
||||
@export var game_mode : GameMode = GameMode.STORY
|
||||
|
||||
@export var dialogs_done : Array[String] = [] #Chemin des dialogues démarrés
|
||||
|
||||
func start_run():
|
||||
|
||||
@@ -24,7 +24,7 @@ func generate_next_run_points(level = 0) -> Array[RunPoint]:
|
||||
|
||||
next_run_points = []
|
||||
|
||||
if level == RUN_POINT_MAX_LEVEL:
|
||||
if level == RUN_POINT_MAX_LEVEL and GameInfo.game_data.game_mode == GameData.GameMode.STORY:
|
||||
return [
|
||||
generate_borea_base_run_point()
|
||||
]
|
||||
@@ -87,7 +87,7 @@ func choose_next_run_point(run_point : RunPoint) -> RunPoint:
|
||||
func get_region_flags(region_parameter : RegionParameter) -> Array[String]:
|
||||
var flags : Array[String] = []
|
||||
|
||||
if region_parameter.level == RUN_POINT_MAX_LEVEL:
|
||||
if region_parameter.level == RUN_POINT_MAX_LEVEL and GameInfo.game_data.game_mode == GameData.GameMode.STORY:
|
||||
flags.append("borea")
|
||||
|
||||
return flags
|
||||
|
||||
1
common/icons/book-2.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-book-2"><path stroke="none" d="M0 0h24v24H0z" fill="none" /><path d="M19 4v16h-12a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h12" /><path d="M19 16h-12a2 2 0 0 0 -2 2" /><path d="M9 8h6" /></svg>
|
||||
|
After Width: | Height: | Size: 419 B |
@@ -2,16 +2,16 @@
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://beqx4rmgthkql"
|
||||
path="res://.godot/imported/rock_background_texture.png-79a8569ff49f7d85f8b64d55ac1ce62d.ctex"
|
||||
uid="uid://b75k12a4wc5t4"
|
||||
path="res://.godot/imported/book-2.svg-546eaea0c5e445cb4b685ffef3a57787.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://stages/terrain/region/assets/textures/rock_background_texture.png"
|
||||
dest_files=["res://.godot/imported/rock_background_texture.png-79a8569ff49f7d85f8b64d55ac1ce62d.ctex"]
|
||||
source_file="res://common/icons/book-2.svg"
|
||||
dest_files=["res://.godot/imported/book-2.svg-546eaea0c5e445cb4b685ffef3a57787.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
@@ -38,3 +38,6 @@ process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=2.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
1
common/icons/building-store.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-building-store"><path stroke="none" d="M0 0h24v24H0z" fill="none" /><path d="M3 21l18 0" /><path d="M3 7v1a3 3 0 0 0 6 0v-1m0 1a3 3 0 0 0 6 0v-1m0 1a3 3 0 0 0 6 0v-1h-18l2 -4h14l2 4" /><path d="M5 21l0 -10.15" /><path d="M19 21l0 -10.15" /><path d="M9 21v-4a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v4" /></svg>
|
||||
|
After Width: | Height: | Size: 533 B |
@@ -2,16 +2,16 @@
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bseoyd8mqjo7y"
|
||||
path="res://.godot/imported/garden_decontamined_background_texture.png-d2e9b3111739dbe0f3e878510238390a.ctex"
|
||||
uid="uid://bmersnaoira20"
|
||||
path="res://.godot/imported/building-store.svg-abd618fb337e10bf0dc4662f37b351cb.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://stages/terrain/region/assets/textures/garden_decontamined_background_texture.png"
|
||||
dest_files=["res://.godot/imported/garden_decontamined_background_texture.png-d2e9b3111739dbe0f3e878510238390a.ctex"]
|
||||
source_file="res://common/icons/building-store.svg"
|
||||
dest_files=["res://.godot/imported/building-store.svg-abd618fb337e10bf0dc4662f37b351cb.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
@@ -38,3 +38,6 @@ process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=2.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
1
common/icons/hand-grab.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-hand-grab"><path stroke="none" d="M0 0h24v24H0z" fill="none" /><path d="M8 11v-3.5a1.5 1.5 0 0 1 3 0v2.5" /><path d="M11 9.5v-3a1.5 1.5 0 0 1 3 0v3.5" /><path d="M14 7.5a1.5 1.5 0 0 1 3 0v2.5" /><path d="M17 9.5a1.5 1.5 0 0 1 3 0v4.5a6 6 0 0 1 -6 6h-2h.208a6 6 0 0 1 -5.012 -2.7l-.196 -.3c-.312 -.479 -1.407 -2.388 -3.286 -5.728a1.5 1.5 0 0 1 .536 -2.022a1.867 1.867 0 0 1 2.28 .28l1.47 1.47" /></svg>
|
||||
|
After Width: | Height: | Size: 634 B |
@@ -2,16 +2,16 @@
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cquonnydto387"
|
||||
path="res://.godot/imported/moss_contamination_atlas_texture_2.png-d3b17c123dfe73058f82ef745ed7ae76.ctex"
|
||||
uid="uid://4dwxhvjo0yye"
|
||||
path="res://.godot/imported/hand-grab.svg-aedc27673ee0414dc711257574ee9c66.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://stages/terrain/region/assets/textures/moss_biome/moss_contamination_atlas_texture_2.png"
|
||||
dest_files=["res://.godot/imported/moss_contamination_atlas_texture_2.png-d3b17c123dfe73058f82ef745ed7ae76.ctex"]
|
||||
source_file="res://common/icons/hand-grab.svg"
|
||||
dest_files=["res://.godot/imported/hand-grab.svg-aedc27673ee0414dc711257574ee9c66.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
@@ -38,3 +38,6 @@ process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=2.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
1
common/icons/infinity.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-infinity"><path stroke="none" d="M0 0h24v24H0z" fill="none" /><path d="M9.828 9.172a4 4 0 1 0 0 5.656a10 10 0 0 0 2.172 -2.828a10 10 0 0 1 2.172 -2.828a4 4 0 1 1 0 5.656a10 10 0 0 1 -2.172 -2.828a10 10 0 0 0 -2.172 -2.828" /></svg>
|
||||
|
After Width: | Height: | Size: 464 B |
@@ -2,16 +2,16 @@
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bmdb63witojeg"
|
||||
path="res://.godot/imported/round_red_tiles.png-c254569faa1f0323275dcc266f2b4c86.ctex"
|
||||
uid="uid://dbv5hm7lyi1f6"
|
||||
path="res://.godot/imported/infinity.svg-942e6ffb356637e9d103947d1048dac3.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://stages/terrain/region/assets/textures/round_red_tiles.png"
|
||||
dest_files=["res://.godot/imported/round_red_tiles.png-c254569faa1f0323275dcc266f2b4c86.ctex"]
|
||||
source_file="res://common/icons/infinity.svg"
|
||||
dest_files=["res://.godot/imported/infinity.svg-942e6ffb356637e9d103947d1048dac3.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
@@ -38,3 +38,6 @@ process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=2.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
57
common/icons/recharge.svg
Normal file
@@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="#ffffff"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
class="icon icon-tabler icons-tabler-outline icon-tabler-rotate-rectangle"
|
||||
version="1.1"
|
||||
id="svg3"
|
||||
sodipodi:docname="recharge.svg"
|
||||
inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs3" />
|
||||
<sodipodi:namedview
|
||||
id="namedview3"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#ffffff"
|
||||
borderopacity="1"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="1"
|
||||
inkscape:deskcolor="#505050"
|
||||
inkscape:zoom="6.5407377"
|
||||
inkscape:cx="-15.365239"
|
||||
inkscape:cy="14.677243"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1009"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg3" />
|
||||
<path
|
||||
stroke="none"
|
||||
d="M0 0h24v24H0z"
|
||||
fill="none"
|
||||
id="path1" />
|
||||
<path
|
||||
d="M 9.9048972,3.2356181 10.448966,2.6926462 a 2.193825,2.193826 0 0 1 3.102068,0 l 7.756269,7.7551748 a 2.193825,2.193826 0 0 1 0,3.104264 l -7.755172,7.755175 a 2.193825,2.193826 0 0 1 -3.104262,0 L 2.6926975,13.552085 a 2.193825,2.193826 0 0 1 0,-3.104264 L 6.5702832,6.5702337 h -4.374487"
|
||||
id="path2"
|
||||
style="stroke-width:2" />
|
||||
<path
|
||||
d="M 6.5702832,10.944723 V 6.5702337"
|
||||
id="path3"
|
||||
style="stroke-width:2" />
|
||||
<path
|
||||
d="m 12.381332,8.136663 0.0068,3.867e-4 0.0061,3.867e-4 0.03166,0.00193 0.0042,7.738e-4 h 0.0042 l 0.01449,0.00348 0.01984,0.0031 0.0061,0.00233 0.0042,3.868e-4 0.01106,0.00425 0.01983,0.00541 0.0073,0.00348 0.0058,0.00155 0.01067,0.00541 0.01526,0.00658 0.008,0.00464 0.0084,0.00387 0.0087,0.00581 0.01182,0.00658 0.01296,0.00928 0.0068,0.00425 0.005,0.00464 0.0092,0.00658 0.01449,0.013147 0.0084,0.00658 0.0031,0.00387 0.0053,0.00464 0.01372,0.015854 0.0099,0.010441 0.0022,0.00348 c 0.04576,0.056842 0.07474,0.1245115 0.08313,0.1983677 l 3.8e-4,0.00464 7.33e-4,0.015854 0.0015,0.024747 v 2.3200403 h 1.906481 a 0.38129857,0.38668182 0 0 1 0.330967,0.578863 l -0.02288,0.03519 -3.050388,4.253499 c -0.216578,0.302772 -0.689386,0.14694 -0.689386,-0.227369 V 13.163549 H 9.3309462 A 0.38129857,0.38668182 0 0 1 8.9999788,12.584664 l 0.022875,-0.03519 3.0503892,-4.2535002 0.0037,-0.00503 0.0068,-0.00928 0.01259,-0.014694 0.0068,-0.00851 0.0035,-0.0031 0.005,-0.00541 0.01526,-0.013921 0.01067,-0.010058 0.0031,-0.00233 a 0.38129857,0.38668182 0 0 1 0.153282,-0.07695 l 0.0042,-3.867e-4 0.01035,-0.00194 0.02822,-0.00503 0.0042,-3.867e-4 0.01564,-7.738e-4 z"
|
||||
id="path2-6"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke-width:2" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
43
common/icons/recharge.svg.import
Normal file
@@ -0,0 +1,43 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cymrmhsihkj44"
|
||||
path="res://.godot/imported/recharge.svg-309dcfdff58b592a40538debd042f5c5.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://common/icons/recharge.svg"
|
||||
dest_files=["res://.godot/imported/recharge.svg-309dcfdff58b592a40538debd042f5c5.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=2.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
@@ -3,19 +3,20 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bf6nw4onkhavr"
|
||||
path="res://.godot/imported/shovel.svg-094c34e330000cc8ea425d6acf7556bd.ctex"
|
||||
path.s3tc="res://.godot/imported/shovel.svg-094c34e330000cc8ea425d6acf7556bd.s3tc.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://common/icons/shovel.svg"
|
||||
dest_files=["res://.godot/imported/shovel.svg-094c34e330000cc8ea425d6acf7556bd.ctex"]
|
||||
dest_files=["res://.godot/imported/shovel.svg-094c34e330000cc8ea425d6acf7556bd.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +24,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,7 +38,7 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
svg/scale=2.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
|
||||
@@ -28,7 +28,8 @@ func change_to_scene_id(scene_id : String, with_loading = true):
|
||||
printerr("Scene %s not found" % scene_id)
|
||||
return
|
||||
|
||||
change_to_scene(scene, with_loading)
|
||||
if not loading_scene:
|
||||
change_to_scene(scene, with_loading)
|
||||
|
||||
func change_to_scene(scene : Scene, with_loading = true):
|
||||
if loading_scene or generating_node:
|
||||
|
||||
@@ -123,32 +123,34 @@ available = false
|
||||
metadata/_custom_type_script = "uid://dyprcd68fjstf"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1809395872]
|
||||
scale = Vector2(1.3906125, 1.3906125)
|
||||
shape = SubResource("RectangleShape2D_y51rk")
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." unique_id=879120806]
|
||||
unique_name_in_owner = true
|
||||
scale = Vector2(0.33, 0.33)
|
||||
scale = Vector2(0.45890215, 0.45890215)
|
||||
sprite_frames = SubResource("SpriteFrames_4aafg")
|
||||
animation = &"closed"
|
||||
frame_progress = 0.78603315
|
||||
frame_progress = 0.69717133
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1875435966]
|
||||
position = Vector2(0.99999994, -41)
|
||||
scale = Vector2(0.2833334, 0.28333336)
|
||||
position = Vector2(0.6254329, -56.177567)
|
||||
scale = Vector2(0.39400694, 0.3940069)
|
||||
texture = SubResource("GradientTexture2D_wnnbj")
|
||||
|
||||
[node name="Icon" type="Sprite2D" parent="." unique_id=874210487]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(1, -42)
|
||||
scale = Vector2(0.4583333, 0.4583333)
|
||||
position = Vector2(0.62543297, -57.177567)
|
||||
scale = Vector2(0.63736403, 0.63736403)
|
||||
texture = ExtResource("2_6w4e0")
|
||||
|
||||
[node name="DoorScreen" type="Sprite2D" parent="." unique_id=236947304]
|
||||
position = Vector2(5.684342e-14, 2.2737368e-13)
|
||||
scale = Vector2(0.33, 0.33)
|
||||
scale = Vector2(0.45890215, 0.45890215)
|
||||
texture = ExtResource("12_6w4e0")
|
||||
|
||||
[node name="StaticBody2D" type="StaticBody2D" parent="." unique_id=521638741]
|
||||
scale = Vector2(1.3906125, 1.3906125)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D" unique_id=676936346]
|
||||
position = Vector2(0, 12)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
[ext_resource type="Script" uid="uid://bsrn3gd2a532q" path="res://entities/interactables/truck/recharge/scripts/truck_recharge.gd" id="1_ipgcv"]
|
||||
[ext_resource type="Texture2D" uid="uid://btd145u4gsl6e" path="res://entities/interactables/truck/recharge/STW_Props_Batterie_Batterie.png" id="2_ot7vv"]
|
||||
[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://common/icons/bolt.svg" id="3_jcfmm"]
|
||||
[ext_resource type="Texture2D" uid="uid://cymrmhsihkj44" path="res://common/icons/recharge.svg" id="3_ot7vv"]
|
||||
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="4_ot7vv"]
|
||||
[ext_resource type="Texture2D" uid="uid://bhi3mwl23flwp" path="res://entities/interactables/truck/recharge/STW_Props_Batterie_Glass_V2.png" id="5_2okh4"]
|
||||
[ext_resource type="Texture2D" uid="uid://c01f6ja6btsep" path="res://entities/interactables/truck/recharge/STW_Props_Batterie_TERRE.png" id="6_2okh4"]
|
||||
@@ -44,7 +44,7 @@ alignment = 1
|
||||
[node name="TextureRect" type="TextureRect" parent="EnergyTextContainer" unique_id=2088496808]
|
||||
custom_minimum_size = Vector2(30, 0)
|
||||
layout_mode = 2
|
||||
texture = ExtResource("3_jcfmm")
|
||||
texture = ExtResource("3_ot7vv")
|
||||
expand_mode = 1
|
||||
stretch_mode = 5
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ func get_day_factor():
|
||||
return max(1, DEFAULT_DAY_FACTOR - level)
|
||||
|
||||
func get_score_increase():
|
||||
return max(1, level - DEFAULT_DAY_FACTOR)
|
||||
return max(1, level - DEFAULT_DAY_FACTOR + 1)
|
||||
|
||||
func mutate_score(data : PlantData, score) -> int:
|
||||
if data.get_state() != PlantData.State.MATURE:
|
||||
|
||||
@@ -2,6 +2,7 @@ extends Resource
|
||||
class_name Inventory
|
||||
|
||||
signal updated(inventory: Inventory)
|
||||
signal tool_added(item: Item)
|
||||
|
||||
@export var items: Array[Item] = []
|
||||
@export var current_item_ind: int = 0 # over both tools and items
|
||||
@@ -9,8 +10,6 @@ signal updated(inventory: Inventory)
|
||||
|
||||
func _init(inventory_size: int = 1):
|
||||
set_size(inventory_size)
|
||||
add_item(Detector.new())
|
||||
add_item(Shovel.new())
|
||||
|
||||
func get_n_item_slots() -> int:
|
||||
return items.size() - n_tools
|
||||
@@ -60,11 +59,12 @@ func add_item(item: Item) -> bool:
|
||||
if item.type != Item.ItemType.TOOL_ITEM:
|
||||
var best_ind = get_best_available_slot_ind()
|
||||
return set_item(item, best_ind)
|
||||
elif item.type == Item.ItemType.TOOL_ITEM && !items.has(item):
|
||||
elif item.type == Item.ItemType.TOOL_ITEM and not has_item_with_name(item.get_item_name()):
|
||||
items.insert(n_tools, item)
|
||||
if current_item_ind >= n_tools:
|
||||
current_item_ind += 1
|
||||
n_tools += 1
|
||||
tool_added.emit(item)
|
||||
updated.emit(self )
|
||||
return true
|
||||
else:
|
||||
@@ -85,6 +85,13 @@ func get_item(ind: int = current_item_ind) -> Item:
|
||||
func has_item(item: Item) -> bool:
|
||||
return items.has(item)
|
||||
|
||||
func has_item_with_name(name: String) -> bool:
|
||||
var id = items.find_custom(
|
||||
(func (i : Item):
|
||||
return i and i.get_item_name() == name)
|
||||
)
|
||||
return id != -1
|
||||
|
||||
func remove_item(item: Item):
|
||||
if item.type == Item.ItemType.TOOL_ITEM:
|
||||
printerr("trying to remove a tool")
|
||||
|
||||
@@ -4,44 +4,45 @@ class_name Fork
|
||||
const USE_INTERVAL = 0.15
|
||||
|
||||
func get_item_name() -> String:
|
||||
return tr("FORK")
|
||||
return tr("FORK")
|
||||
|
||||
func get_description() -> String:
|
||||
return tr("FORK_DESC_TEXT")
|
||||
return tr("FORK_DESC_TEXT")
|
||||
|
||||
func get_icon() -> Texture2D:
|
||||
return preload("res://common/icons/fork.svg")
|
||||
return preload("res://common/icons/fork.svg")
|
||||
|
||||
func get_item_type() -> ItemType:
|
||||
return Item.ItemType.TOOL_ITEM
|
||||
return Item.ItemType.TOOL_ITEM
|
||||
|
||||
func get_energy_used() -> int:
|
||||
return 1
|
||||
return 1
|
||||
|
||||
func get_usage_zone_radius() -> int:
|
||||
return 50
|
||||
return 10
|
||||
|
||||
func get_usage_object_affected(i : InspectableEntity) -> bool:
|
||||
return i is Plant
|
||||
return i is Plant
|
||||
|
||||
func use_text() -> String:
|
||||
return tr("HARVEST")
|
||||
return tr("HARVEST")
|
||||
|
||||
func can_use(_player : Player, zone : Player.ActionZone) -> bool:
|
||||
var areas = zone.get_affected_areas()
|
||||
for area in areas :
|
||||
if area is Plant:
|
||||
return true
|
||||
return false
|
||||
var areas = zone.get_affected_areas()
|
||||
for area in areas :
|
||||
if area is Plant:
|
||||
return true
|
||||
return false
|
||||
|
||||
func use(player : Player, zone : Player.ActionZone) -> bool:
|
||||
for area in zone.get_affected_areas():
|
||||
if area and area is Plant:
|
||||
harvest(area, player)
|
||||
await player.get_tree().create_timer(USE_INTERVAL).timeout
|
||||
|
||||
return true
|
||||
var has_plant = false
|
||||
for area in zone.get_affected_areas():
|
||||
if area and area is Plant:
|
||||
harvest(area, player)
|
||||
await player.get_tree().create_timer(USE_INTERVAL).timeout
|
||||
has_plant = true
|
||||
return has_plant
|
||||
|
||||
func harvest(p : Plant, _player: Player):
|
||||
AudioManager.play_sfx("Harvest")
|
||||
p.harvest()
|
||||
AudioManager.play_sfx("Harvest")
|
||||
p.harvest()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
extends Item
|
||||
class_name Pickaxe
|
||||
|
||||
const USE_INTERVAL = 0.15
|
||||
const DIG_PARTICLES := preload("res://entities/player/inventory/scripts/items/utils/dig_particles.tscn")
|
||||
|
||||
func get_item_name() -> String:
|
||||
return tr("PICKAXE")
|
||||
@@ -29,13 +29,17 @@ func can_use(_player : Player, zone : Player.ActionZone) -> bool:
|
||||
return true
|
||||
return false
|
||||
|
||||
func use(_player : Player, zone : Player.ActionZone) -> bool:
|
||||
func use(player : Player, zone : Player.ActionZone) -> bool:
|
||||
|
||||
var bodies = zone.area.get_overlapping_bodies()
|
||||
var rock_layer_id = bodies.find_custom(func (b) : return b is RockLayer)
|
||||
if rock_layer_id != -1:
|
||||
var rock_layer : RockLayer = bodies[rock_layer_id]
|
||||
var rock_layers = bodies.filter(func (b) : return b is RockLayer)
|
||||
if len(rock_layers):
|
||||
player.region.dig_rocks(zone.get_tiles())
|
||||
|
||||
return rock_layer.dig_rocks(zone.get_tiles())
|
||||
var particles := (DIG_PARTICLES.instantiate() as DigParticleEmmitter)
|
||||
player.region.add_child(particles)
|
||||
particles.global_position = zone.get_global_position()
|
||||
particles.emit()
|
||||
AudioManager.play_sfx("Mining")
|
||||
|
||||
return false
|
||||
return true
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
@tool
|
||||
extends Fork
|
||||
class_name Shovel
|
||||
|
||||
|
||||
10
gui/artefacts/artefact.gd
Normal file
@@ -0,0 +1,10 @@
|
||||
@abstract
|
||||
extends Resource
|
||||
class_name Artefact
|
||||
|
||||
@abstract func get_artefact_name() -> String
|
||||
|
||||
@abstract func get_3d_scene() -> PackedScene
|
||||
|
||||
# @abstract func card_info() -> CardInfo
|
||||
|
||||
1
gui/artefacts/artefact.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://d2nheldbqquy1
|
||||
BIN
gui/artefacts/pile/pile.blend
Normal file
68
gui/artefacts/pile/pile.blend.import
Normal file
@@ -0,0 +1,68 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://dolv2637emdbw"
|
||||
path="res://.godot/imported/pile.blend-30b48bcbeddf39d9b6df3c289ba33608.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://gui/artefacts/pile/pile.blend"
|
||||
dest_files=["res://.godot/imported/pile.blend-30b48bcbeddf39d9b6df3c289ba33608.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/root_script=null
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
nodes/use_name_suffixes=true
|
||||
nodes/use_node_type_suffixes=true
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
materials/extract=0
|
||||
materials/extract_format=0
|
||||
materials/extract_path=""
|
||||
_subresources={
|
||||
"materials": {
|
||||
"Material": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",
|
||||
"use_external/path": "uid://dvvi1k5c5iowc"
|
||||
}
|
||||
}
|
||||
}
|
||||
blender/nodes/visible=0
|
||||
blender/nodes/active_collection_only=false
|
||||
blender/nodes/punctual_lights=true
|
||||
blender/nodes/cameras=true
|
||||
blender/nodes/custom_properties=true
|
||||
blender/nodes/modifiers=1
|
||||
blender/meshes/colors=false
|
||||
blender/meshes/uvs=true
|
||||
blender/meshes/normals=true
|
||||
blender/meshes/export_geometry_nodes_instances=false
|
||||
blender/meshes/gpu_instances=false
|
||||
blender/meshes/tangents=true
|
||||
blender/meshes/skins=2
|
||||
blender/meshes/export_bones_deforming_mesh_only=false
|
||||
blender/materials/unpack_enabled=true
|
||||
blender/materials/export_materials=1
|
||||
blender/animation/limit_playback=true
|
||||
blender/animation/always_sample=true
|
||||
blender/animation/group_tracks=true
|
||||
gltf/naming_version=2
|
||||
BIN
gui/artefacts/pile/pile.blend1
Normal file
9
gui/artefacts/pile/pile.gd
Normal file
@@ -0,0 +1,9 @@
|
||||
@tool
|
||||
extends Artefact
|
||||
class_name PileArtefact
|
||||
|
||||
func get_artefact_name() -> String:
|
||||
return "PILE"
|
||||
|
||||
func get_3d_scene() -> PackedScene:
|
||||
return preload("res://gui/artefacts/pile/pile.blend")
|
||||
1
gui/artefacts/pile/pile.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://c6lr0fucklsto
|
||||
BIN
gui/artefacts/seed_case/seed_case.blend
Normal file
68
gui/artefacts/seed_case/seed_case.blend.import
Normal file
@@ -0,0 +1,68 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://cclvb8o3vofff"
|
||||
path="res://.godot/imported/seed_case.blend-123afc7672467c4885837d27f75f5e08.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://gui/artefacts/seed_case/seed_case.blend"
|
||||
dest_files=["res://.godot/imported/seed_case.blend-123afc7672467c4885837d27f75f5e08.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/root_script=null
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
nodes/use_name_suffixes=true
|
||||
nodes/use_node_type_suffixes=true
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
materials/extract=0
|
||||
materials/extract_format=0
|
||||
materials/extract_path=""
|
||||
_subresources={
|
||||
"materials": {
|
||||
"Material": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",
|
||||
"use_external/path": "uid://dvvi1k5c5iowc"
|
||||
}
|
||||
}
|
||||
}
|
||||
blender/nodes/visible=0
|
||||
blender/nodes/active_collection_only=false
|
||||
blender/nodes/punctual_lights=true
|
||||
blender/nodes/cameras=true
|
||||
blender/nodes/custom_properties=true
|
||||
blender/nodes/modifiers=1
|
||||
blender/meshes/colors=false
|
||||
blender/meshes/uvs=true
|
||||
blender/meshes/normals=true
|
||||
blender/meshes/export_geometry_nodes_instances=false
|
||||
blender/meshes/gpu_instances=false
|
||||
blender/meshes/tangents=true
|
||||
blender/meshes/skins=2
|
||||
blender/meshes/export_bones_deforming_mesh_only=false
|
||||
blender/materials/unpack_enabled=true
|
||||
blender/materials/export_materials=1
|
||||
blender/animation/limit_playback=true
|
||||
blender/animation/always_sample=true
|
||||
blender/animation/group_tracks=true
|
||||
gltf/naming_version=2
|
||||
9
gui/artefacts/seed_case/seed_case.gd
Normal file
@@ -0,0 +1,9 @@
|
||||
@tool
|
||||
extends Artefact
|
||||
class_name SeedCaseArtefact
|
||||
|
||||
func get_artefact_name() -> String:
|
||||
return "SEED_CASE"
|
||||
|
||||
func get_3d_scene() -> PackedScene:
|
||||
return preload("res://gui/artefacts/seed_case/seed_case.blend")
|
||||
1
gui/artefacts/seed_case/seed_case.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://c7o5p4uk556v6
|
||||
@@ -2,24 +2,40 @@
|
||||
|
||||
[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/ressources/hud.tres" id="1_0ssee"]
|
||||
[ext_resource type="Script" uid="uid://bvb4v66bqteuc" path="res://gui/game/announce/scripts/announce.gd" id="1_4evne"]
|
||||
[ext_resource type="FontFile" uid="uid://cpnsnrqhfkj3k" path="res://gui/ressources/fonts/spincycle_ot.otf" id="2_yrhd4"]
|
||||
[ext_resource type="Shader" uid="uid://cuni3ggtw2uuy" path="res://common/vfx/materials/shaders/blur.gdshader" id="2_b6hac"]
|
||||
[ext_resource type="Texture2D" uid="uid://bi5jo6pf0acjb" path="res://common/icons/carambola.svg" id="2_iwcrn"]
|
||||
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="3_7nrno"]
|
||||
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="4_aao0q"]
|
||||
[ext_resource type="Environment" uid="uid://bxyp24f85p0xf" path="res://gui/game/assets/gui_3d_environment.tres" id="4_yjj5u"]
|
||||
[ext_resource type="Script" uid="uid://bqisp5hjs06rj" path="res://gui/game/announce/scripts/announce_inspectable.gd" id="6_aao0q"]
|
||||
[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://common/icons/bolt.svg" id="9_b6hac"]
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_vbart"]
|
||||
font = ExtResource("2_yrhd4")
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_f0v68"]
|
||||
shader = ExtResource("2_b6hac")
|
||||
shader_parameter/strength = 5.00000023424012
|
||||
shader_parameter/mix_percentage = 0.3
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_huxc5"]
|
||||
viewport_path = NodePath("Particles/SubViewport")
|
||||
|
||||
[sub_resource type="Curve" id="Curve_iwcrn"]
|
||||
_limits = [-200.0, 200.0, 0.0, 1.0]
|
||||
_data = [Vector2(0, -200), 0.0, 560.0, 0, 0, Vector2(0.08235294, 92.384125), 1336.3082, 1336.3082, 0, 0, Vector2(0.34901965, 200), 0.0, 0.0, 0, 0, Vector2(0.854902, -200), 0.0, 0.0, 0, 0]
|
||||
point_count = 4
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_oh30d"]
|
||||
offsets = PackedFloat32Array(0, 0.8689956, 0.98253274)
|
||||
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0)
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_6qyp1"]
|
||||
font = ExtResource("4_aao0q")
|
||||
font_size = 50
|
||||
font_color = Color(1, 0.6509804, 0.09019608, 1)
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_id0t5"]
|
||||
interpolation_mode = 1
|
||||
offsets = PackedFloat32Array(0, 0.115169, 0.41573, 0.620786, 0.924157)
|
||||
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1)
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_aao0q"]
|
||||
viewport_path = NodePath("AnnounceContainer/ObjectVisualiser/SubViewport")
|
||||
|
||||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_mnweq"]
|
||||
gradient = SubResource("Gradient_id0t5")
|
||||
fill_to = Vector2(1, 1)
|
||||
repeat = 1
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ok3ge"]
|
||||
[sub_resource type="Animation" id="Animation_aao0q"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
@@ -31,36 +47,48 @@ tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
"values": [true]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("VBoxContainer/AnnounceTexture:custom_minimum_size")
|
||||
tracks/1/path = NodePath("AnnounceContainer:theme_override_constants/separation")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, 0)]
|
||||
"update": 1,
|
||||
"values": [4]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("VBoxContainer:modulate")
|
||||
tracks/2/path = NodePath("Particles:modulate")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 0)]
|
||||
"values": [Color(1, 1, 1, 1)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("AnnounceContainer:modulate")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_871vo"]
|
||||
resource_name = "pass"
|
||||
length = 4.0
|
||||
[sub_resource type="Animation" id="Animation_b6hac"]
|
||||
resource_name = "appear"
|
||||
length = 0.8
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
@@ -68,93 +96,159 @@ tracks/0/path = NodePath(".:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.0333333, 3.96667, 4),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||
"times": PackedFloat32Array(0.03333333, 0.16666669),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true, true, false]
|
||||
"values": [false, true]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("VBoxContainer/AnnounceTexture:custom_minimum_size")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/path = NodePath("AnnounceContainer:theme_override_constants/separation")
|
||||
tracks/1/interp = 2
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0.0666667, 0.433333, 3.5, 3.96667),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||
"times": PackedFloat32Array(0.23333333, 0.8),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, 0), Vector2(0, 65), Vector2(0, 65), Vector2(0, 0)]
|
||||
"values": [480, 4]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("VBoxContainer:modulate")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/path = NodePath("Particles:modulate")
|
||||
tracks/2/interp = 2
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0.0666667, 0.133333, 3.86667, 3.96667),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||
"times": PackedFloat32Array(0.5, 0.8),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
||||
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("AnnounceContainer:modulate")
|
||||
tracks/3/interp = 2
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0.2, 0.8),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_dvva5"]
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_6qyp1"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_ok3ge"),
|
||||
&"pass": SubResource("Animation_871vo")
|
||||
&"RESET": SubResource("Animation_aao0q"),
|
||||
&"appear": SubResource("Animation_b6hac")
|
||||
}
|
||||
|
||||
[node name="Announce" type="Control" unique_id=509404832]
|
||||
visible = false
|
||||
clip_contents = true
|
||||
layout_mode = 3
|
||||
[node name="Announce" type="CanvasLayer" unique_id=1659074958]
|
||||
script = ExtResource("1_4evne")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="." unique_id=1463847780]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
script = ExtResource("1_4evne")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="." unique_id=1385456888]
|
||||
modulate = Color(1, 1, 1, 0)
|
||||
clip_contents = true
|
||||
layout_mode = 1
|
||||
anchors_preset = 14
|
||||
[node name="BlurRect" type="ColorRect" parent="MarginContainer" unique_id=1271832904]
|
||||
material = SubResource("ShaderMaterial_f0v68")
|
||||
layout_mode = 2
|
||||
color = Color(0.0352941, 0.0196078, 0.12549, 0.705882)
|
||||
|
||||
[node name="Particles" type="TextureRect" parent="." unique_id=691167186]
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 1.0
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_top = -73.5
|
||||
offset_bottom = 73.5
|
||||
offset_left = -500.0
|
||||
offset_top = -500.0
|
||||
offset_right = 500.0
|
||||
offset_bottom = 500.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
theme = ExtResource("1_0ssee")
|
||||
texture = SubResource("ViewportTexture_huxc5")
|
||||
|
||||
[node name="SubViewport" type="SubViewport" parent="Particles" unique_id=1750661995]
|
||||
transparent_bg = true
|
||||
size = Vector2i(1000, 1000)
|
||||
|
||||
[node name="GPUParticles2D" type="CPUParticles2D" parent="Particles/SubViewport" unique_id=486255573]
|
||||
position = Vector2(500, 500)
|
||||
amount = 20
|
||||
texture = ExtResource("2_iwcrn")
|
||||
preprocess = 1.0
|
||||
spread = 180.0
|
||||
gravity = Vector2(0, 0)
|
||||
initial_velocity_min = 2.0
|
||||
initial_velocity_max = 2.0
|
||||
linear_accel_min = 5.0
|
||||
linear_accel_max = 5.0
|
||||
linear_accel_curve = SubResource("Curve_iwcrn")
|
||||
color_ramp = SubResource("Gradient_oh30d")
|
||||
|
||||
[node name="AnnounceContainer" type="VBoxContainer" parent="." unique_id=2136389163]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_constants/separation = 4
|
||||
alignment = 1
|
||||
|
||||
[node name="AnnounceTitle" type="Label" parent="VBoxContainer" unique_id=2048669092]
|
||||
[node name="AnnounceTitle" type="Label" parent="AnnounceContainer" unique_id=988493009]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "New Quota"
|
||||
label_settings = SubResource("LabelSettings_vbart")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="AnnounceTexture" type="TextureRect" parent="VBoxContainer" unique_id=1523197516]
|
||||
unique_name_in_owner = true
|
||||
modulate = Color(0.886275, 0.623529, 0.196078, 1)
|
||||
layout_mode = 2
|
||||
mouse_filter = 2
|
||||
texture = SubResource("GradientTexture2D_mnweq")
|
||||
expand_mode = 1
|
||||
stretch_mode = 1
|
||||
|
||||
[node name="AnnounceText" type="Label" parent="VBoxContainer" unique_id=147253395]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "Decontaminate 50 unit in 10 days"
|
||||
text = "NEW_TOOL"
|
||||
label_settings = ExtResource("3_7nrno")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=357490739]
|
||||
[node name="AnnounceText" type="Label" parent="AnnounceContainer" unique_id=1537255164]
|
||||
unique_name_in_owner = true
|
||||
libraries/ = SubResource("AnimationLibrary_dvva5")
|
||||
layout_mode = 2
|
||||
text = "Pelle"
|
||||
label_settings = SubResource("LabelSettings_6qyp1")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="ObjectVisualiser" type="TextureRect" parent="AnnounceContainer" unique_id=1529068201]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
mouse_filter = 0
|
||||
texture = SubResource("ViewportTexture_aao0q")
|
||||
stretch_mode = 5
|
||||
script = ExtResource("6_aao0q")
|
||||
|
||||
[node name="SubViewport" type="SubViewport" parent="AnnounceContainer/ObjectVisualiser" unique_id=403959884]
|
||||
own_world_3d = true
|
||||
transparent_bg = true
|
||||
size = Vector2i(300, 300)
|
||||
|
||||
[node name="AnnouceObject" type="Node3D" parent="AnnounceContainer/ObjectVisualiser/SubViewport" unique_id=986671004]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(0.8788874, 0.4667406, 0.09817754, -0.45027143, 0.74415994, 0.4933552, 0.15722138, -0.47777224, 0.8642758, 0, 0, 0)
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="AnnounceContainer/ObjectVisualiser/SubViewport" unique_id=1788331074]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1)
|
||||
keep_aspect = 0
|
||||
current = true
|
||||
fov = 20.0
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="AnnounceContainer/ObjectVisualiser/SubViewport" unique_id=296795988]
|
||||
environment = ExtResource("4_yjj5u")
|
||||
|
||||
[node name="OkButton" type="Button" parent="AnnounceContainer" unique_id=56162930]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
theme = ExtResource("1_0ssee")
|
||||
text = "OK"
|
||||
icon = ExtResource("9_b6hac")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=878057487]
|
||||
unique_name_in_owner = true
|
||||
libraries/ = SubResource("AnimationLibrary_6qyp1")
|
||||
|
||||
13
gui/game/announce/scripts/annouce_object.gd
Normal file
@@ -0,0 +1,13 @@
|
||||
@abstract
|
||||
extends Resource
|
||||
class_name AnnouceObject
|
||||
|
||||
@abstract func get_3d_object() -> Node3D
|
||||
|
||||
@abstract func get_title() -> String
|
||||
|
||||
@abstract func get_text() -> String
|
||||
|
||||
@abstract func get_card_info() -> CardInfo
|
||||
|
||||
@abstract func _on_dismiss()
|
||||
1
gui/game/announce/scripts/annouce_object.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://yprrjw1yrcx6
|
||||
30
gui/game/announce/scripts/annouce_tool.gd
Normal file
@@ -0,0 +1,30 @@
|
||||
@tool
|
||||
extends AnnouceObject
|
||||
class_name AnnounceTool
|
||||
|
||||
const ITEM_3D_SCENE = preload("res://gui/game/inventory_gui/inventory_item/inventory_item_3d.tscn")
|
||||
|
||||
@export var tool_item : Item
|
||||
|
||||
func _init(_tool_item : Item):
|
||||
tool_item = _tool_item
|
||||
|
||||
func get_3d_object() -> Node3D:
|
||||
var new_object = ITEM_3D_SCENE.instantiate() as InventoryItem3D
|
||||
new_object.item = tool_item
|
||||
new_object.state = InventoryItem3D.State.TOOL
|
||||
|
||||
return new_object
|
||||
|
||||
func get_title() -> String:
|
||||
return "NEW_TOOL"
|
||||
|
||||
func get_text() -> String:
|
||||
return tool_item.get_item_name()
|
||||
|
||||
func get_card_info() -> CardInfo:
|
||||
return tool_item.card_info()
|
||||
|
||||
func _on_dismiss():
|
||||
pass
|
||||
# GameInfo.game_data.player_data.tool_discovered.append(tool_item.get_item_name())
|
||||
1
gui/game/announce/scripts/annouce_tool.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://cp40tddq85p6o
|
||||
@@ -1,12 +1,89 @@
|
||||
extends Control
|
||||
@tool
|
||||
extends CanvasLayer
|
||||
class_name Announce
|
||||
|
||||
const DEFAULT_OBJECT_ACCELERATION = Vector2(3,0)
|
||||
|
||||
@export var announce_object : AnnouceObject = null : set = set_announce_object
|
||||
|
||||
@export_tool_button("Update", "Callable") var update_action = set_announce_object
|
||||
|
||||
var announce_objects : Array[AnnouceObject] = []
|
||||
|
||||
var object_acceleration := Vector2(0,0)
|
||||
|
||||
var rotating := false
|
||||
|
||||
var prev_mouse_pos : Vector2
|
||||
var next_mouse_pos : Vector2
|
||||
|
||||
const YELLOW_COLOR = Color("e29f32")
|
||||
const RED_COLOR = Color("f20058")
|
||||
|
||||
func announce(title : String, text : String, band_color : Color = YELLOW_COLOR):
|
||||
%AnnounceTitle.text = title
|
||||
%AnnounceText.text = text
|
||||
%AnnounceTexture.modulate = band_color
|
||||
%AnimationPlayer.play("pass")
|
||||
AudioManager.play_sfx("Announce")
|
||||
func _ready():
|
||||
set_announce_object()
|
||||
%OkButton.button_down.connect(_on_ok_button_down)
|
||||
hide()
|
||||
|
||||
|
||||
GameInfo.game_data.player_data.inventory.tool_added.connect(
|
||||
func (i : Item):
|
||||
announce_objects.append(AnnounceTool.new(i))
|
||||
)
|
||||
|
||||
func _process(delta):
|
||||
if announce_object == null and not visible and len(announce_objects) > 0:
|
||||
announce_object = announce_objects.pop_front()
|
||||
update_rotation(delta)
|
||||
|
||||
func update_rotation(delta):
|
||||
if visible:
|
||||
next_mouse_pos = get_viewport().get_mouse_position()
|
||||
if Input.is_action_just_pressed("action"):
|
||||
rotating = true
|
||||
prev_mouse_pos = get_viewport().get_mouse_position()
|
||||
if Input.is_action_just_released("action"):
|
||||
rotating = false
|
||||
object_acceleration = Vector2(
|
||||
float(next_mouse_pos.x - prev_mouse_pos.x),
|
||||
float(next_mouse_pos.y - prev_mouse_pos.y)
|
||||
)
|
||||
|
||||
var object_rotation = object_acceleration
|
||||
|
||||
if rotating:
|
||||
object_rotation = Vector2(
|
||||
float(next_mouse_pos.x - prev_mouse_pos.x),
|
||||
float(next_mouse_pos.y - prev_mouse_pos.y)
|
||||
)
|
||||
prev_mouse_pos = next_mouse_pos
|
||||
else :
|
||||
object_acceleration = object_acceleration.lerp(DEFAULT_OBJECT_ACCELERATION, 0.1)
|
||||
|
||||
%AnnouceObject.rotate(Vector3.UP, object_rotation.x * delta)
|
||||
%AnnouceObject.rotate(Vector3.RIGHT, object_rotation.y * delta)
|
||||
|
||||
|
||||
func set_announce_object(object := announce_object):
|
||||
if is_node_ready() and object:
|
||||
for children in %AnnouceObject.get_children():
|
||||
children.queue_free()
|
||||
|
||||
%AnnouceObject.add_child(object.get_3d_object())
|
||||
%AnnouceObject.rotation = Vector3.ZERO
|
||||
%AnnounceTitle.text = object.get_title()
|
||||
%AnnounceText.text = object.get_text()
|
||||
%ObjectVisualiser.info = object.get_card_info()
|
||||
|
||||
if not visible:
|
||||
%AnimationPlayer.play("appear")
|
||||
AudioManager.play_sfx("Ship_reveal")
|
||||
elif object == null and visible:
|
||||
%AnimationPlayer.play_backwards("appear")
|
||||
|
||||
announce_object = object
|
||||
|
||||
func _on_ok_button_down():
|
||||
if announce_object:
|
||||
announce_object._on_dismiss()
|
||||
announce_object = null
|
||||
|
||||
14
gui/game/announce/scripts/announce_inspectable.gd
Normal file
@@ -0,0 +1,14 @@
|
||||
extends TextureRect
|
||||
|
||||
@export var info: CardInfo = null
|
||||
|
||||
func _ready():
|
||||
mouse_entered.connect(
|
||||
func(): Pointer.inspect(self)
|
||||
)
|
||||
mouse_exited.connect(
|
||||
func(): Pointer.stop_inspect(self)
|
||||
)
|
||||
|
||||
func card_info() -> CardInfo:
|
||||
return info
|
||||
1
gui/game/announce/scripts/announce_inspectable.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://bqisp5hjs06rj
|
||||
@@ -18,6 +18,6 @@ transform = Transform3D(0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994, 0, 0, 0)
|
||||
|
||||
[node name="NonPoweredBatteryGauge" type="Sprite3D" parent="." unique_id=419634974]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(-9.0001855e-08, -0.008180644, 0.9999901, -1.1066229, -1.3152051, -0.003110032, 1.1066215, -1.3152068, -0.003109955, 0.28073934, 0.18676496, -0.05360138)
|
||||
transform = Transform3D(-3.00128e-07, -0.011105444, 0.99999034, -3.705242, -1.7854263, -0.0031100323, 3.7052372, -1.7854285, -0.0031099557, 0.24117891, 0.37186503, -0.052738685)
|
||||
centered = false
|
||||
texture = SubResource("AtlasTexture_0785j")
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
extends Node3D
|
||||
class_name Battery3d
|
||||
|
||||
const MAX_BATTERY_GAUGE_SPRITE_SCALE = 1.86
|
||||
const MAX_BATTERY_GAUGE_SPRITE_SCALE = 2.525
|
||||
|
||||
@export var powered : bool = true : set = set_powered
|
||||
|
||||
|
||||
@@ -9,16 +9,7 @@
|
||||
[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"]
|
||||
[ext_resource type="Texture2D" uid="uid://cwewx7cdy085h" path="res://common/icons/help-hexagon.svg" id="12_negho"]
|
||||
[ext_resource type="Theme" uid="uid://5au2k3vf2po3" path="res://gui/ressources/menu.tres" id="12_nhqnj"]
|
||||
[ext_resource type="Texture2D" uid="uid://bgcymkgxk7mpp" path="res://gui/pause/assets/textures/moss_tutorial_image.png" id="12_p0xoq"]
|
||||
[ext_resource type="Script" uid="uid://c65cf2ksbsxwg" path="res://gui/game/help/scripts/help_container.gd" id="13_rcm5b"]
|
||||
[ext_resource type="Texture2D" uid="uid://d3ksdxepcjoot" path="res://common/icons/calendar-week.svg" id="13_w16yr"]
|
||||
[ext_resource type="Texture2D" uid="uid://cgmxjom200bej" path="res://common/icons/chevrons-up.svg" id="14_mbdxg"]
|
||||
[ext_resource type="Texture2D" uid="uid://bhogi5kkltx51" path="res://gui/pause/assets/textures/rock_tutorial_image.png" id="14_negho"]
|
||||
[ext_resource type="Texture2D" uid="uid://3fwhxkd0ycga" path="res://gui/pause/assets/textures/talion_tutorial_image.png" id="15_rcm5b"]
|
||||
[ext_resource type="Texture2D" uid="uid://dhy4ewvqvlxyi" path="res://common/icons/clock.svg" id="20_ajf5p"]
|
||||
[ext_resource type="Texture2D" uid="uid://c2qg7ikkylfv4" path="res://common/icons/seeds.svg" id="21_jomh8"]
|
||||
[ext_resource type="PackedScene" uid="uid://cgbjmw75alfeo" path="res://gui/game/help/help.tscn" id="10_id0t5"]
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_ykapk"]
|
||||
offsets = PackedFloat32Array(0.47639486, 1)
|
||||
@@ -71,10 +62,6 @@ _data = {
|
||||
&"bump": SubResource("Animation_ajf5p")
|
||||
}
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_rcm5b"]
|
||||
font = ExtResource("6_2wykm")
|
||||
font_size = 20
|
||||
|
||||
[node name="GameGui" type="CanvasLayer" unique_id=274698556]
|
||||
script = ExtResource("1_udau0")
|
||||
|
||||
@@ -196,227 +183,5 @@ layout_mode = 2
|
||||
size_flags_horizontal = 1
|
||||
size_flags_vertical = 8
|
||||
|
||||
[node name="Help" type="VBoxContainer" parent="MarginContainer" unique_id=645268912]
|
||||
[node name="Help" parent="MarginContainer" unique_id=152252336 instance=ExtResource("10_id0t5")]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 8
|
||||
size_flags_vertical = 0
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/Help" unique_id=58561073]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 5
|
||||
alignment = 2
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="MarginContainer/Help/HBoxContainer" unique_id=147740513]
|
||||
layout_mode = 2
|
||||
texture = ExtResource("12_negho")
|
||||
expand_mode = 3
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="Label" type="Label" parent="MarginContainer/Help/HBoxContainer" unique_id=245455638]
|
||||
layout_mode = 2
|
||||
text = "HELP"
|
||||
label_settings = SubResource("LabelSettings_rcm5b")
|
||||
|
||||
[node name="TerrainHelp" type="FoldableContainer" parent="MarginContainer/Help" unique_id=765624548]
|
||||
custom_minimum_size = Vector2(300, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 8
|
||||
size_flags_vertical = 0
|
||||
title = "TERRAINS"
|
||||
script = ExtResource("13_rcm5b")
|
||||
help_container_name = "terrain"
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="MarginContainer/Help/TerrainHelp" unique_id=276300201]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 8
|
||||
theme_override_constants/margin_top = 8
|
||||
theme_override_constants/margin_right = 8
|
||||
theme_override_constants/margin_bottom = 8
|
||||
|
||||
[node name="Zones" type="VBoxContainer" parent="MarginContainer/Help/TerrainHelp/MarginContainer" unique_id=897827374]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Moss" type="HBoxContainer" parent="MarginContainer/Help/TerrainHelp/MarginContainer/Zones" unique_id=1245369351]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="MarginContainer/Help/TerrainHelp/MarginContainer/Zones/Moss" unique_id=590490498]
|
||||
custom_minimum_size = Vector2(0, 60)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
texture = ExtResource("12_p0xoq")
|
||||
expand_mode = 3
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="RichText" type="RichTextLabel" parent="MarginContainer/Help/TerrainHelp/MarginContainer/Zones/Moss" unique_id=1908542695]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme = ExtResource("12_nhqnj")
|
||||
theme_override_fonts/bold_font = ExtResource("6_2wykm")
|
||||
theme_override_font_sizes/normal_font_size = 15
|
||||
theme_override_font_sizes/bold_font_size = 18
|
||||
bbcode_enabled = true
|
||||
text = "FERTILE_LAND_TEXT"
|
||||
fit_content = true
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Rock" type="HBoxContainer" parent="MarginContainer/Help/TerrainHelp/MarginContainer/Zones" unique_id=1388177815]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="MarginContainer/Help/TerrainHelp/MarginContainer/Zones/Rock" unique_id=84789195]
|
||||
custom_minimum_size = Vector2(0, 60)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
texture = ExtResource("14_negho")
|
||||
expand_mode = 3
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="RichText" type="RichTextLabel" parent="MarginContainer/Help/TerrainHelp/MarginContainer/Zones/Rock" unique_id=584054118]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme = ExtResource("12_nhqnj")
|
||||
theme_override_fonts/bold_font = ExtResource("6_2wykm")
|
||||
theme_override_font_sizes/normal_font_size = 15
|
||||
theme_override_font_sizes/bold_font_size = 18
|
||||
bbcode_enabled = true
|
||||
text = "ROCK_TEXT"
|
||||
fit_content = true
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Talion" type="HBoxContainer" parent="MarginContainer/Help/TerrainHelp/MarginContainer/Zones" unique_id=786946987]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="MarginContainer/Help/TerrainHelp/MarginContainer/Zones/Talion" unique_id=1949577473]
|
||||
custom_minimum_size = Vector2(0, 60)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
texture = ExtResource("15_rcm5b")
|
||||
expand_mode = 3
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="RichText" type="RichTextLabel" parent="MarginContainer/Help/TerrainHelp/MarginContainer/Zones/Talion" unique_id=813195094]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme = ExtResource("12_nhqnj")
|
||||
theme_override_fonts/bold_font = ExtResource("6_2wykm")
|
||||
theme_override_font_sizes/normal_font_size = 15
|
||||
theme_override_font_sizes/bold_font_size = 18
|
||||
bbcode_enabled = true
|
||||
text = "TALION_VEIN_TEXT"
|
||||
fit_content = true
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="IconHelp" type="FoldableContainer" parent="MarginContainer/Help" unique_id=506997372]
|
||||
custom_minimum_size = Vector2(300, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 8
|
||||
size_flags_vertical = 0
|
||||
title = "ICONS_MEANINGS"
|
||||
script = ExtResource("13_rcm5b")
|
||||
help_container_name = "icon"
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="MarginContainer/Help/IconHelp" unique_id=2076413829]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 8
|
||||
theme_override_constants/margin_top = 8
|
||||
theme_override_constants/margin_right = 8
|
||||
theme_override_constants/margin_bottom = 8
|
||||
|
||||
[node name="IconsGrid" type="VBoxContainer" parent="MarginContainer/Help/IconHelp/MarginContainer" unique_id=443451416]
|
||||
layout_mode = 2
|
||||
alignment = 1
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid" unique_id=1230753118]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 4
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid/HBoxContainer" unique_id=582458449]
|
||||
custom_minimum_size = Vector2(25, 25)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
texture = ExtResource("6_id0t5")
|
||||
expand_mode = 1
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="RichTextLabel" type="Label" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid/HBoxContainer" unique_id=452890750]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("12_nhqnj")
|
||||
text = "PLANT_POINTS"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="HBoxContainer2" type="HBoxContainer" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid" unique_id=1347045145]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 4
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid/HBoxContainer2" unique_id=157378534]
|
||||
custom_minimum_size = Vector2(25, 25)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
texture = ExtResource("13_w16yr")
|
||||
expand_mode = 1
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="RichTextLabel" type="Label" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid/HBoxContainer2" unique_id=787250244]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("12_nhqnj")
|
||||
text = "DAYS"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="HBoxContainer3" type="HBoxContainer" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid" unique_id=209714175]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 4
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid/HBoxContainer3" unique_id=1390720076]
|
||||
custom_minimum_size = Vector2(25, 25)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
texture = ExtResource("14_mbdxg")
|
||||
expand_mode = 1
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="RichTextLabel" type="Label" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid/HBoxContainer3" unique_id=1494799300]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("12_nhqnj")
|
||||
text = "GROWING_TIME"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="HBoxContainer4" type="HBoxContainer" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid" unique_id=2039812090]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 4
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid/HBoxContainer4" unique_id=353853877]
|
||||
custom_minimum_size = Vector2(25, 25)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
texture = ExtResource("20_ajf5p")
|
||||
expand_mode = 1
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="RichTextLabel" type="Label" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid/HBoxContainer4" unique_id=2071201389]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("12_nhqnj")
|
||||
text = "LIFETIME"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="HBoxContainer5" type="HBoxContainer" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid" unique_id=1706837358]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 4
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid/HBoxContainer5" unique_id=298500502]
|
||||
custom_minimum_size = Vector2(25, 25)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
texture = ExtResource("21_jomh8")
|
||||
expand_mode = 1
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="RichTextLabel" type="Label" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid/HBoxContainer5" unique_id=1100044131]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("12_nhqnj")
|
||||
text = "SEEDS"
|
||||
vertical_alignment = 1
|
||||
|
||||
280
gui/game/help/help.tscn
Normal file
@@ -0,0 +1,280 @@
|
||||
[gd_scene format=3 uid="uid://cgbjmw75alfeo"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://cwewx7cdy085h" path="res://common/icons/help-hexagon.svg" id="1_fajau"]
|
||||
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="2_l61dv"]
|
||||
[ext_resource type="Script" uid="uid://c65cf2ksbsxwg" path="res://gui/game/help/scripts/help_container.gd" id="3_syp3u"]
|
||||
[ext_resource type="Texture2D" uid="uid://bgcymkgxk7mpp" path="res://gui/pause/assets/textures/moss_tutorial_image.png" id="4_liwse"]
|
||||
[ext_resource type="Theme" uid="uid://5au2k3vf2po3" path="res://gui/ressources/menu.tres" id="5_mao3x"]
|
||||
[ext_resource type="Texture2D" uid="uid://bhogi5kkltx51" path="res://gui/pause/assets/textures/rock_tutorial_image.png" id="6_bt3y5"]
|
||||
[ext_resource type="Texture2D" uid="uid://3fwhxkd0ycga" path="res://gui/pause/assets/textures/talion_tutorial_image.png" id="7_jx4fu"]
|
||||
[ext_resource type="Texture2D" uid="uid://bt3g5bmar0icf" path="res://common/icons/growth.svg" id="8_ajtcc"]
|
||||
[ext_resource type="Texture2D" uid="uid://d3ksdxepcjoot" path="res://common/icons/calendar-week.svg" id="9_i5c4s"]
|
||||
[ext_resource type="Texture2D" uid="uid://cgmxjom200bej" path="res://common/icons/chevrons-up.svg" id="10_0a2af"]
|
||||
[ext_resource type="Texture2D" uid="uid://dhy4ewvqvlxyi" path="res://common/icons/clock.svg" id="11_tiice"]
|
||||
[ext_resource type="Texture2D" uid="uid://c2qg7ikkylfv4" path="res://common/icons/seeds.svg" id="12_vb6ry"]
|
||||
[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://common/icons/bolt.svg" id="13_r8wgh"]
|
||||
[ext_resource type="Texture2D" uid="uid://cymrmhsihkj44" path="res://common/icons/recharge.svg" id="14_ccxsv"]
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_rcm5b"]
|
||||
font = ExtResource("2_l61dv")
|
||||
font_size = 20
|
||||
|
||||
[node name="Help" type="VBoxContainer" unique_id=152252336]
|
||||
size_flags_horizontal = 8
|
||||
size_flags_vertical = 0
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="." unique_id=541877405]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 5
|
||||
alignment = 2
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="HBoxContainer" unique_id=629672827]
|
||||
layout_mode = 2
|
||||
texture = ExtResource("1_fajau")
|
||||
expand_mode = 3
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="Label" type="Label" parent="HBoxContainer" unique_id=2069982782]
|
||||
layout_mode = 2
|
||||
text = "HELP"
|
||||
label_settings = SubResource("LabelSettings_rcm5b")
|
||||
|
||||
[node name="TerrainHelp" type="FoldableContainer" parent="." unique_id=221139748]
|
||||
custom_minimum_size = Vector2(300, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 8
|
||||
size_flags_vertical = 0
|
||||
title = "TERRAINS"
|
||||
script = ExtResource("3_syp3u")
|
||||
help_container_name = "terrain"
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="TerrainHelp" unique_id=937055110]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 8
|
||||
theme_override_constants/margin_top = 8
|
||||
theme_override_constants/margin_right = 8
|
||||
theme_override_constants/margin_bottom = 8
|
||||
|
||||
[node name="Zones" type="VBoxContainer" parent="TerrainHelp/MarginContainer" unique_id=83983981]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Moss" type="HBoxContainer" parent="TerrainHelp/MarginContainer/Zones" unique_id=116883301]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="TerrainHelp/MarginContainer/Zones/Moss" unique_id=2127894722]
|
||||
custom_minimum_size = Vector2(0, 60)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
texture = ExtResource("4_liwse")
|
||||
expand_mode = 3
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="RichText" type="RichTextLabel" parent="TerrainHelp/MarginContainer/Zones/Moss" unique_id=941957004]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme = ExtResource("5_mao3x")
|
||||
theme_override_fonts/bold_font = ExtResource("2_l61dv")
|
||||
theme_override_font_sizes/normal_font_size = 15
|
||||
theme_override_font_sizes/bold_font_size = 18
|
||||
bbcode_enabled = true
|
||||
text = "FERTILE_LAND_TEXT"
|
||||
fit_content = true
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Rock" type="HBoxContainer" parent="TerrainHelp/MarginContainer/Zones" unique_id=1546734905]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="TerrainHelp/MarginContainer/Zones/Rock" unique_id=20628007]
|
||||
custom_minimum_size = Vector2(0, 60)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
texture = ExtResource("6_bt3y5")
|
||||
expand_mode = 3
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="RichText" type="RichTextLabel" parent="TerrainHelp/MarginContainer/Zones/Rock" unique_id=782682665]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme = ExtResource("5_mao3x")
|
||||
theme_override_fonts/bold_font = ExtResource("2_l61dv")
|
||||
theme_override_font_sizes/normal_font_size = 15
|
||||
theme_override_font_sizes/bold_font_size = 18
|
||||
bbcode_enabled = true
|
||||
text = "ROCK_TEXT"
|
||||
fit_content = true
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Talion" type="HBoxContainer" parent="TerrainHelp/MarginContainer/Zones" unique_id=1594298218]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="TerrainHelp/MarginContainer/Zones/Talion" unique_id=247200209]
|
||||
custom_minimum_size = Vector2(0, 60)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
texture = ExtResource("7_jx4fu")
|
||||
expand_mode = 3
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="RichText" type="RichTextLabel" parent="TerrainHelp/MarginContainer/Zones/Talion" unique_id=1292601454]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme = ExtResource("5_mao3x")
|
||||
theme_override_fonts/bold_font = ExtResource("2_l61dv")
|
||||
theme_override_font_sizes/normal_font_size = 15
|
||||
theme_override_font_sizes/bold_font_size = 18
|
||||
bbcode_enabled = true
|
||||
text = "TALION_VEIN_TEXT"
|
||||
fit_content = true
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="IconHelp" type="FoldableContainer" parent="." unique_id=931940053]
|
||||
custom_minimum_size = Vector2(300, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 8
|
||||
size_flags_vertical = 0
|
||||
title = "ICONS_MEANINGS"
|
||||
script = ExtResource("3_syp3u")
|
||||
help_container_name = "icon"
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="IconHelp" unique_id=627387657]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 8
|
||||
theme_override_constants/margin_top = 8
|
||||
theme_override_constants/margin_right = 8
|
||||
theme_override_constants/margin_bottom = 8
|
||||
|
||||
[node name="IconsGrid" type="VBoxContainer" parent="IconHelp/MarginContainer" unique_id=1344975233]
|
||||
layout_mode = 2
|
||||
alignment = 1
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="IconHelp/MarginContainer/IconsGrid" unique_id=1388308447]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 4
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="IconHelp/MarginContainer/IconsGrid/HBoxContainer" unique_id=848501211]
|
||||
custom_minimum_size = Vector2(25, 25)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
texture = ExtResource("8_ajtcc")
|
||||
expand_mode = 1
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="RichTextLabel" type="Label" parent="IconHelp/MarginContainer/IconsGrid/HBoxContainer" unique_id=913881976]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("5_mao3x")
|
||||
text = "PLANT_POINTS"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="HBoxContainer2" type="HBoxContainer" parent="IconHelp/MarginContainer/IconsGrid" unique_id=1039110967]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 4
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="IconHelp/MarginContainer/IconsGrid/HBoxContainer2" unique_id=1533385173]
|
||||
custom_minimum_size = Vector2(25, 25)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
texture = ExtResource("9_i5c4s")
|
||||
expand_mode = 1
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="RichTextLabel" type="Label" parent="IconHelp/MarginContainer/IconsGrid/HBoxContainer2" unique_id=1539873337]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("5_mao3x")
|
||||
text = "DAYS"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="HBoxContainer3" type="HBoxContainer" parent="IconHelp/MarginContainer/IconsGrid" unique_id=1009856551]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 4
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="IconHelp/MarginContainer/IconsGrid/HBoxContainer3" unique_id=483862285]
|
||||
custom_minimum_size = Vector2(25, 25)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
texture = ExtResource("10_0a2af")
|
||||
expand_mode = 1
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="RichTextLabel" type="Label" parent="IconHelp/MarginContainer/IconsGrid/HBoxContainer3" unique_id=1118498780]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("5_mao3x")
|
||||
text = "GROWING_TIME"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="HBoxContainer4" type="HBoxContainer" parent="IconHelp/MarginContainer/IconsGrid" unique_id=1195759820]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 4
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="IconHelp/MarginContainer/IconsGrid/HBoxContainer4" unique_id=617759410]
|
||||
custom_minimum_size = Vector2(25, 25)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
texture = ExtResource("11_tiice")
|
||||
expand_mode = 1
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="RichTextLabel" type="Label" parent="IconHelp/MarginContainer/IconsGrid/HBoxContainer4" unique_id=44288020]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("5_mao3x")
|
||||
text = "LIFETIME"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="HBoxContainer5" type="HBoxContainer" parent="IconHelp/MarginContainer/IconsGrid" unique_id=1749624633]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 4
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="IconHelp/MarginContainer/IconsGrid/HBoxContainer5" unique_id=1970160966]
|
||||
custom_minimum_size = Vector2(25, 25)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
texture = ExtResource("12_vb6ry")
|
||||
expand_mode = 1
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="RichTextLabel" type="Label" parent="IconHelp/MarginContainer/IconsGrid/HBoxContainer5" unique_id=1667196444]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("5_mao3x")
|
||||
text = "SEEDS"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="HBoxContainer6" type="HBoxContainer" parent="IconHelp/MarginContainer/IconsGrid" unique_id=65069381]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 4
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="IconHelp/MarginContainer/IconsGrid/HBoxContainer6" unique_id=302101280]
|
||||
custom_minimum_size = Vector2(25, 25)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
texture = ExtResource("13_r8wgh")
|
||||
expand_mode = 1
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="RichTextLabel" type="Label" parent="IconHelp/MarginContainer/IconsGrid/HBoxContainer6" unique_id=1371041548]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("5_mao3x")
|
||||
text = "ORCHID_ENERGY"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="HBoxContainer7" type="HBoxContainer" parent="IconHelp/MarginContainer/IconsGrid" unique_id=1616445361]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 4
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="IconHelp/MarginContainer/IconsGrid/HBoxContainer7" unique_id=1012780398]
|
||||
custom_minimum_size = Vector2(25, 25)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
texture = ExtResource("14_ccxsv")
|
||||
expand_mode = 1
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="RichTextLabel" type="Label" parent="IconHelp/MarginContainer/IconsGrid/HBoxContainer7" unique_id=537891031]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("5_mao3x")
|
||||
text = "RECHARGE_NUMBER"
|
||||
vertical_alignment = 1
|
||||
@@ -59,6 +59,7 @@ expand_mode = 1
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="ProgressBarViewPort" type="SubViewport" parent="." unique_id=459282221]
|
||||
own_world_3d = true
|
||||
transparent_bg = true
|
||||
size = Vector2i(479, 117)
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
[ext_resource type="Theme" uid="uid://5au2k3vf2po3" path="res://gui/ressources/menu.tres" id="4_0pm4g"]
|
||||
[ext_resource type="Script" uid="uid://0dhj8sdpil7q" path="res://gui/tools/control_animation_player.gd" id="5_dqmg8"]
|
||||
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="6_dqmg8"]
|
||||
[ext_resource type="Texture2D" uid="uid://cymrmhsihkj44" path="res://common/icons/recharge.svg" id="6_h2bel"]
|
||||
[ext_resource type="Texture2D" uid="uid://cihiibon53147" path="res://gui/game/pass_day/assets/day_night_sprite.svg" id="7_m84xg"]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_27lg1"]
|
||||
@@ -55,7 +56,6 @@ _data = {
|
||||
|
||||
[node name="PassDay" type="CanvasLayer" unique_id=335255544]
|
||||
layer = 3
|
||||
visible = false
|
||||
script = ExtResource("1_0pm4g")
|
||||
|
||||
[node name="Blur" type="ColorRect" parent="." unique_id=546890405]
|
||||
@@ -72,7 +72,6 @@ script = ExtResource("2_bhfpo")
|
||||
|
||||
[node name="PassDayInfo" type="VBoxContainer" parent="." unique_id=833110506]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
@@ -86,6 +85,11 @@ unique_name_in_owner = true
|
||||
script = ExtResource("5_dqmg8")
|
||||
metadata/_custom_type_script = "uid://0dhj8sdpil7q"
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="PassDayInfo" unique_id=1350962162]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
texture = ExtResource("6_h2bel")
|
||||
|
||||
[node name="ChargeCount" type="Label" parent="PassDayInfo" unique_id=1326590358]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
|
||||
@@ -19,7 +19,8 @@ var indicators : Array[InGameIndicator]
|
||||
Step.new(
|
||||
"CHANGE_ZOOM_WITH_Z_X",
|
||||
(func ():
|
||||
return GameInfo.settings_data.zoom != 1.)
|
||||
return GameInfo.settings_data.zoom != 1.),
|
||||
(func (): GameInfo.game_data.player_data.inventory.add_item(Detector.new()))
|
||||
),
|
||||
Step.new(
|
||||
"SELECT_ITEM_WITH_SCROLL_CLICK_OR_NUMBER",
|
||||
@@ -39,7 +40,8 @@ var indicators : Array[InGameIndicator]
|
||||
Step.new(
|
||||
"RECHARGE_IN_THE_RECHARGE_STATION",
|
||||
(func ():
|
||||
return region and region.data and region.data.charges != 10)
|
||||
return region and region.data and not region.data.in_passing_day_animation and region.data.charges != RegionParameter.DEFAULT_CHARGE),
|
||||
(func (): GameInfo.game_data.player_data.inventory.add_item(Pickaxe.new()))
|
||||
),
|
||||
Step.new(
|
||||
"DIG_A_TALION_VEIN_WITH_SHOVEL",
|
||||
@@ -74,7 +76,8 @@ var indicators : Array[InGameIndicator]
|
||||
Step.new(
|
||||
"GAIN_FIRST_PLANT_POINT",
|
||||
(func ():
|
||||
return region.data.get_score() != 0)
|
||||
return region and region.data and not region.data.in_passing_day_animation and region.data.get_score() != 0),
|
||||
(func (): GameInfo.game_data.player_data.inventory.add_item(Fork.new()))
|
||||
),
|
||||
Step.new(
|
||||
"HARVEST_A_MATURE_PLANT",
|
||||
@@ -83,7 +86,7 @@ var indicators : Array[InGameIndicator]
|
||||
if e is Plant and e.harvested:
|
||||
return true
|
||||
return false)
|
||||
),
|
||||
)
|
||||
]
|
||||
|
||||
func _ready():
|
||||
@@ -133,19 +136,24 @@ class Step:
|
||||
|
||||
var text : String : get = get_text
|
||||
var is_step_over_callable : Callable
|
||||
var on_succeeded : Callable
|
||||
var succeeded = false
|
||||
|
||||
func _init(
|
||||
_text : String = "",
|
||||
_is_step_over_callable : Callable = (func():return false)
|
||||
_is_step_over_callable : Callable = (func():return false),
|
||||
_on_succeeded : Callable = (func():return false)
|
||||
):
|
||||
text = _text
|
||||
is_step_over_callable = _is_step_over_callable
|
||||
on_succeeded = _on_succeeded
|
||||
|
||||
func get_text() -> String:
|
||||
return text
|
||||
|
||||
|
||||
func update_succeeded() -> bool:
|
||||
if not succeeded:
|
||||
succeeded = is_step_over_callable.call()
|
||||
if succeeded:
|
||||
on_succeeded.call()
|
||||
return succeeded
|
||||
|
||||
@@ -165,12 +165,10 @@ icon = ExtResource("7_yj6f1")
|
||||
|
||||
[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]
|
||||
|
||||
@@ -153,7 +153,7 @@ opacity = 0.4
|
||||
metadata/_custom_type_script = "uid://c60a1bjcuj4hd"
|
||||
|
||||
[node name="CardCanvasLayer" type="CanvasLayer" parent="." unique_id=391042380]
|
||||
layer = 2
|
||||
layer = 10
|
||||
|
||||
[node name="CardPosition" type="Control" parent="CardCanvasLayer" unique_id=466738082]
|
||||
unique_name_in_owner = true
|
||||
|
||||
@@ -125,11 +125,7 @@ func inspect(node: Node):
|
||||
current_inspect.inspect(false)
|
||||
current_inspect = node
|
||||
inspected = node
|
||||
if inspected is InspectableEntity:
|
||||
inspected_card_info = inspected.card_info()
|
||||
elif inspected is InventoryGuiItemMouseDetector:
|
||||
inspected_card_info = inspected.card_info()
|
||||
elif inspected is RegionPoint:
|
||||
if inspected.has_method("card_info"):
|
||||
inspected_card_info = inspected.card_info()
|
||||
else:
|
||||
inspected_card_info = null
|
||||
|
||||
BIN
gui/vending_machine/assets/3d/vending_machine.blend
Normal file
68
gui/vending_machine/assets/3d/vending_machine.blend.import
Normal file
@@ -0,0 +1,68 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://5l3wve81irlc"
|
||||
path="res://.godot/imported/vending_machine.blend-07b605eb32be6fa48a7c007c48e05515.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://gui/vending_machine/assets/3d/vending_machine.blend"
|
||||
dest_files=["res://.godot/imported/vending_machine.blend-07b605eb32be6fa48a7c007c48e05515.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/root_script=null
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
nodes/use_name_suffixes=true
|
||||
nodes/use_node_type_suffixes=true
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
materials/extract=0
|
||||
materials/extract_format=0
|
||||
materials/extract_path=""
|
||||
_subresources={
|
||||
"materials": {
|
||||
"Material": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",
|
||||
"use_external/path": "uid://dvvi1k5c5iowc"
|
||||
}
|
||||
}
|
||||
}
|
||||
blender/nodes/visible=0
|
||||
blender/nodes/active_collection_only=false
|
||||
blender/nodes/punctual_lights=true
|
||||
blender/nodes/cameras=true
|
||||
blender/nodes/custom_properties=true
|
||||
blender/nodes/modifiers=1
|
||||
blender/meshes/colors=false
|
||||
blender/meshes/uvs=true
|
||||
blender/meshes/normals=true
|
||||
blender/meshes/export_geometry_nodes_instances=false
|
||||
blender/meshes/gpu_instances=false
|
||||
blender/meshes/tangents=true
|
||||
blender/meshes/skins=2
|
||||
blender/meshes/export_bones_deforming_mesh_only=false
|
||||
blender/materials/unpack_enabled=true
|
||||
blender/materials/export_materials=1
|
||||
blender/animation/limit_playback=true
|
||||
blender/animation/always_sample=true
|
||||
blender/animation/group_tracks=true
|
||||
gltf/naming_version=2
|
||||
BIN
gui/vending_machine/assets/3d/vending_machine.blend1
Normal file
88
gui/vending_machine/scripts/vending_machine.gd
Normal file
@@ -0,0 +1,88 @@
|
||||
@tool
|
||||
extends CanvasLayer
|
||||
class_name VendingMachine
|
||||
|
||||
enum State {CHOOSE,PAY,FETCH}
|
||||
enum ChooseState {NONE,FIRST,SECOND}
|
||||
|
||||
@export_tool_button("Update", "Callable") var update_action = update
|
||||
|
||||
@export var state : State = State.CHOOSE : set = set_state
|
||||
@export var choose_state : ChooseState = ChooseState.NONE : set = set_choose_state
|
||||
@export var artefact_1 : Artefact = null : set = set_artifact_1
|
||||
@export var artefact_2 : Artefact = null : set = set_artifact_2
|
||||
|
||||
func _ready():
|
||||
update()
|
||||
|
||||
func update():
|
||||
set_artifact_1()
|
||||
set_artifact_2()
|
||||
set_state()
|
||||
|
||||
func set_state(s := state):
|
||||
state = s
|
||||
if is_node_ready():
|
||||
%PayButton.visible = state == State.PAY
|
||||
%FetchButton.visible = state == State.FETCH
|
||||
|
||||
match state:
|
||||
State.CHOOSE:
|
||||
%IndicationLabel.text = "CHOOSE_AN_ITEM"
|
||||
State.PAY:
|
||||
%IndicationLabel.text = "PAY_THE_PRICE"
|
||||
State.FETCH:
|
||||
%IndicationLabel.text = "GET_YOUR_ITEM"
|
||||
|
||||
func set_choose_state(s := choose_state):
|
||||
choose_state = s
|
||||
if is_node_ready():
|
||||
%VendingMachine3d.screen_1_hide = s != ChooseState.FIRST
|
||||
%VendingMachine3d.screen_2_hide = s != ChooseState.SECOND
|
||||
|
||||
func set_artifact_1(a := artefact_1):
|
||||
artefact_1 = a
|
||||
if is_node_ready() and a:
|
||||
%SelectButton1.text = a.get_artefact_name()
|
||||
%VendingMachine3d.object_1_scene = a.get_3d_scene()
|
||||
|
||||
func set_artifact_2(a := artefact_2):
|
||||
artefact_2 = a
|
||||
if is_node_ready() and a:
|
||||
%SelectButton2.text = a.get_artefact_name()
|
||||
%VendingMachine3d.object_2_scene = a.get_3d_scene()
|
||||
|
||||
|
||||
func _on_fetch_button_button_down():
|
||||
pass # TODO : Adding the artifacts
|
||||
|
||||
|
||||
func _on_pay_button_button_down():
|
||||
# TODO : The payment
|
||||
if state == State.PAY and choose_state != ChooseState.NONE:
|
||||
state = State.FETCH
|
||||
|
||||
if choose_state == ChooseState.FIRST:
|
||||
%VendingMachine3d.fall_object_1()
|
||||
else :
|
||||
%VendingMachine3d.fall_object_2()
|
||||
|
||||
func _on_select_button_1_button_down():
|
||||
choose_state = ChooseState.FIRST
|
||||
if state == State.CHOOSE:
|
||||
state = State.PAY
|
||||
|
||||
func _on_select_button_2_button_down():
|
||||
choose_state = ChooseState.SECOND
|
||||
if state == State.CHOOSE:
|
||||
state = State.PAY
|
||||
|
||||
func _on_select_button_bis_1_button_down():
|
||||
choose_state = ChooseState.FIRST
|
||||
if state == State.CHOOSE:
|
||||
state = State.PAY
|
||||
|
||||
func _on_select_button_bis_2_button_down():
|
||||
choose_state = ChooseState.SECOND
|
||||
if state == State.CHOOSE:
|
||||
state = State.PAY
|
||||
1
gui/vending_machine/scripts/vending_machine.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://d4jf1hruxqe6f
|
||||
109
gui/vending_machine/scripts/vending_machine_3d.gd
Normal file
@@ -0,0 +1,109 @@
|
||||
@tool
|
||||
extends Node3D
|
||||
class_name VendingMachine3d
|
||||
|
||||
const LINE_OBJECT_NUMBER = 5
|
||||
const LINE_OBJECT_SEPARATION = Vector3.LEFT * 0.2
|
||||
const FALLING_OBJECT_LINE_SHIFT = Vector3.FORWARD * 0.3
|
||||
|
||||
@export_tool_button("Update", "Callable") var update_action = update
|
||||
|
||||
@export_tool_button("Fall Object 1", "Callable") var fall_object_1_action = fall_object_1
|
||||
@export_tool_button("Fall Object 1", "Callable") var fall_object_2_action = fall_object_2
|
||||
|
||||
@export var object_1_scene : PackedScene = null : set = set_object_1_scene
|
||||
@export var object_2_scene : PackedScene = null : set = set_object_2_scene
|
||||
@export var screen_1_hide : bool = true : set = set_screen_1_hide
|
||||
@export var screen_2_hide : bool = true : set = set_screen_2_hide
|
||||
|
||||
# func _input(_e):
|
||||
# if Input.is_action_just_pressed("action"):
|
||||
# fall_object([
|
||||
# %Line1,
|
||||
# %Line2,
|
||||
# %Line3,
|
||||
# %Line4
|
||||
# ].pick_random())
|
||||
|
||||
func _ready():
|
||||
update()
|
||||
|
||||
func update():
|
||||
set_object_1_scene()
|
||||
set_object_2_scene()
|
||||
set_screen_1_hide()
|
||||
set_screen_2_hide()
|
||||
|
||||
func set_object_1_scene(scene := object_1_scene):
|
||||
if scene and is_node_ready():
|
||||
fill_lines(%Line1, scene.instantiate())
|
||||
fill_lines(%Line2, scene.instantiate())
|
||||
object_1_scene = scene
|
||||
|
||||
func set_object_2_scene(scene := object_2_scene):
|
||||
if scene and is_node_ready():
|
||||
fill_lines(%Line3, scene.instantiate())
|
||||
fill_lines(%Line4, scene.instantiate())
|
||||
object_2_scene = scene
|
||||
|
||||
func set_screen_1_hide(v := screen_1_hide):
|
||||
screen_1_hide = v
|
||||
if is_node_ready():
|
||||
%HideScreen1.visible = v
|
||||
|
||||
func set_screen_2_hide(v := screen_2_hide):
|
||||
screen_2_hide = v
|
||||
if is_node_ready():
|
||||
%HideScreen2.visible = v
|
||||
|
||||
func fall_object_1():
|
||||
fall_object([
|
||||
%Line1,
|
||||
%Line2
|
||||
].pick_random())
|
||||
|
||||
func fall_object_2():
|
||||
fall_object([
|
||||
%Line3,
|
||||
%Line4
|
||||
].pick_random())
|
||||
|
||||
func fall_object(from_line : Node3D):
|
||||
if len(from_line.get_children()):
|
||||
var falling_object = create_falling_object()
|
||||
|
||||
var object = from_line.get_children().pick_random() as Node3D
|
||||
falling_object.global_position = object.global_position + FALLING_OBJECT_LINE_SHIFT
|
||||
|
||||
var falling_model = object.duplicate()
|
||||
falling_model.position = Vector3.ZERO
|
||||
falling_object.add_child(falling_model)
|
||||
falling_object.freeze = false
|
||||
object.queue_free()
|
||||
|
||||
%FallingObjects.add_child(falling_object)
|
||||
|
||||
func clear_falling_objects():
|
||||
for c in %FallingObjects.get_children():
|
||||
c.queue_free()
|
||||
|
||||
func create_falling_object() -> RigidBody3D:
|
||||
var falling_object = RigidBody3D.new()
|
||||
var falling_collider = CollisionShape3D.new()
|
||||
var falling_shape = SphereShape3D.new()
|
||||
falling_shape.radius = 0.08
|
||||
falling_collider.shape = falling_shape
|
||||
falling_object.add_child(falling_collider)
|
||||
falling_object.gravity_scale = 0.2
|
||||
|
||||
return falling_object
|
||||
|
||||
func fill_lines(line : Node3D, object : Node3D):
|
||||
for c in line.get_children():
|
||||
c.queue_free()
|
||||
|
||||
for i in range(LINE_OBJECT_NUMBER):
|
||||
var new_object = object.duplicate()
|
||||
line.add_child(new_object)
|
||||
new_object.position = i * LINE_OBJECT_SEPARATION
|
||||
|
||||
1
gui/vending_machine/scripts/vending_machine_3d.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://d1prpiulsaqhn
|
||||
399
gui/vending_machine/vending_machine.tscn
Normal file
@@ -0,0 +1,399 @@
|
||||
[gd_scene format=3 uid="uid://du308iardw46"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://d4jf1hruxqe6f" path="res://gui/vending_machine/scripts/vending_machine.gd" id="1_7iup0"]
|
||||
[ext_resource type="Texture2D" uid="uid://bi5jo6pf0acjb" path="res://common/icons/carambola.svg" id="1_y06tm"]
|
||||
[ext_resource type="PackedScene" uid="uid://blva21dapmm68" path="res://gui/vending_machine/vending_machine_3d.tscn" id="2_54ak6"]
|
||||
[ext_resource type="Script" uid="uid://c6lr0fucklsto" path="res://gui/artefacts/pile/pile.gd" id="2_dvtve"]
|
||||
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="3_54ak6"]
|
||||
[ext_resource type="Script" uid="uid://c7o5p4uk556v6" path="res://gui/artefacts/seed_case/seed_case.gd" id="3_fy3vt"]
|
||||
[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/ressources/hud.tres" id="4_se5lc"]
|
||||
[ext_resource type="Texture2D" uid="uid://bmersnaoira20" path="res://common/icons/building-store.svg" id="4_yho0h"]
|
||||
[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://common/icons/bolt.svg" id="5_rrfqi"]
|
||||
[ext_resource type="PackedScene" uid="uid://dolv2637emdbw" path="res://gui/artefacts/pile/pile.blend" id="6_dhfph"]
|
||||
[ext_resource type="PackedScene" uid="uid://cclvb8o3vofff" path="res://gui/artefacts/seed_case/seed_case.blend" id="7_lv3q6"]
|
||||
[ext_resource type="Texture2D" uid="uid://3slhocr5wy3w" path="res://common/icons/hand-stop.svg" id="12_bfufr"]
|
||||
[ext_resource type="Texture2D" uid="uid://4dwxhvjo0yye" path="res://common/icons/hand-grab.svg" id="13_ub0g7"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_dhfph"]
|
||||
script = ExtResource("3_fy3vt")
|
||||
metadata/_custom_type_script = "uid://c7o5p4uk556v6"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_lv3q6"]
|
||||
script = ExtResource("2_dvtve")
|
||||
metadata/_custom_type_script = "uid://c6lr0fucklsto"
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_54ak6"]
|
||||
viewport_path = NodePath("CenterContainer/Particles/SubViewport")
|
||||
|
||||
[sub_resource type="Curve" id="Curve_yho0h"]
|
||||
_limits = [-200.0, 200.0, 0.0, 1.0]
|
||||
_data = [Vector2(0, -200), 0.0, 560.0, 0, 0, Vector2(0.08235294, 92.384125), 1336.3082, 1336.3082, 0, 0, Vector2(0.34901965, 200), 0.0, 0.0, 0, 0, Vector2(0.854902, -200), 0.0, 0.0, 0, 0]
|
||||
point_count = 4
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_rrfqi"]
|
||||
offsets = PackedFloat32Array(0, 0.8689956, 0.98253274)
|
||||
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0)
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_yho0h"]
|
||||
viewport_path = NodePath("CenterContainer/VendingMachin/VendingMachineVP")
|
||||
|
||||
[sub_resource type="Environment" id="Environment_y06tm"]
|
||||
ambient_light_source = 2
|
||||
ambient_light_color = Color(1, 1, 1, 1)
|
||||
ambient_light_energy = 2.29
|
||||
tonemap_exposure = 0.62
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_rrfqi"]
|
||||
font = ExtResource("3_54ak6")
|
||||
font_size = 20
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_se5lc"]
|
||||
font = ExtResource("3_54ak6")
|
||||
font_size = 14
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_7iup0"]
|
||||
font = ExtResource("3_54ak6")
|
||||
font_size = 40
|
||||
|
||||
[sub_resource type="Animation" id="Animation_fy3vt"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("CenterContainer/VendingMachin/IndicationLabel:modulate")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("CenterContainer/VendingMachin/FetchButton:modulate")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("CenterContainer/VendingMachin/PayButton:modulate")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_41u7u"]
|
||||
resource_name = "blink"
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("CenterContainer/VendingMachin/IndicationLabel:modulate")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.4666667, 1.0666666),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0.5294118), Color(1, 1, 1, 1)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("CenterContainer/VendingMachin/FetchButton:modulate")
|
||||
tracks/1/interp = 2
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5, 1),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0.5294118), Color(1, 1, 1, 1)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("CenterContainer/VendingMachin/PayButton:modulate")
|
||||
tracks/2/interp = 2
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0, 0.53333336, 1),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0.5294118), Color(1, 1, 1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_dhfph"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_fy3vt"),
|
||||
&"blink": SubResource("Animation_41u7u")
|
||||
}
|
||||
|
||||
[node name="VendingMachine" type="CanvasLayer" unique_id=287282444]
|
||||
script = ExtResource("1_7iup0")
|
||||
artefact_1 = SubResource("Resource_dhfph")
|
||||
artefact_2 = SubResource("Resource_lv3q6")
|
||||
|
||||
[node name="CenterContainer" type="Control" parent="." unique_id=317195558]
|
||||
layout_mode = 3
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -288.0
|
||||
offset_top = -324.0
|
||||
offset_right = 288.0
|
||||
offset_bottom = 324.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="Particles" type="TextureRect" parent="CenterContainer" unique_id=378633537]
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -450.0
|
||||
offset_top = -450.0
|
||||
offset_right = 450.0
|
||||
offset_bottom = 450.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = SubResource("ViewportTexture_54ak6")
|
||||
expand_mode = 1
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="SubViewport" type="SubViewport" parent="CenterContainer/Particles" unique_id=1096007664]
|
||||
transparent_bg = true
|
||||
size = Vector2i(900, 900)
|
||||
|
||||
[node name="GPUParticles2D" type="CPUParticles2D" parent="CenterContainer/Particles/SubViewport" unique_id=1560379094]
|
||||
position = Vector2(500, 500)
|
||||
amount = 20
|
||||
texture = ExtResource("1_y06tm")
|
||||
lifetime = 1.2
|
||||
preprocess = 1.0
|
||||
spread = 180.0
|
||||
gravity = Vector2(0, 0)
|
||||
initial_velocity_min = 2.0
|
||||
initial_velocity_max = 2.0
|
||||
linear_accel_min = 5.0
|
||||
linear_accel_max = 5.0
|
||||
linear_accel_curve = SubResource("Curve_yho0h")
|
||||
color_ramp = SubResource("Gradient_rrfqi")
|
||||
|
||||
[node name="VendingMachin" type="TextureRect" parent="CenterContainer" unique_id=2108096957]
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -322.25
|
||||
offset_top = -322.25
|
||||
offset_right = 322.25
|
||||
offset_bottom = 322.25
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = SubResource("ViewportTexture_yho0h")
|
||||
expand_mode = 2
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="VendingMachineVP" type="SubViewport" parent="CenterContainer/VendingMachin" unique_id=824295205]
|
||||
transparent_bg = true
|
||||
size = Vector2i(568, 543)
|
||||
|
||||
[node name="VendingMachine3d" parent="CenterContainer/VendingMachin/VendingMachineVP" unique_id=92614917 instance=ExtResource("2_54ak6")]
|
||||
unique_name_in_owner = true
|
||||
object_1_scene = ExtResource("7_lv3q6")
|
||||
object_2_scene = ExtResource("6_dhfph")
|
||||
screen_1_hide = true
|
||||
screen_2_hide = true
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="CenterContainer/VendingMachin/VendingMachineVP" unique_id=1303604896]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0, 0.375, -3)
|
||||
keep_aspect = 0
|
||||
current = true
|
||||
fov = 58.9
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="CenterContainer/VendingMachin/VendingMachineVP" unique_id=1731409341]
|
||||
environment = SubResource("Environment_y06tm")
|
||||
|
||||
[node name="MachineNameLabel" type="Label" parent="CenterContainer/VendingMachin" unique_id=1373981633]
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -66.0
|
||||
offset_top = -245.0
|
||||
offset_right = 126.0
|
||||
offset_bottom = -189.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
text = "ARTEFACTS_VENDING_MACHINE"
|
||||
label_settings = SubResource("LabelSettings_rrfqi")
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
autowrap_mode = 3
|
||||
|
||||
[node name="IndicationLabel" type="Label" parent="CenterContainer/VendingMachin" unique_id=1388081478]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = 169.0
|
||||
offset_top = -160.0
|
||||
offset_right = 266.0
|
||||
offset_bottom = -37.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
text = "CHOOSE_AN_ITEM"
|
||||
label_settings = SubResource("LabelSettings_se5lc")
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
autowrap_mode = 3
|
||||
|
||||
[node name="SelectButton1" type="Button" parent="CenterContainer/VendingMachin" unique_id=2142322105]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 0
|
||||
offset_left = 39.25
|
||||
offset_top = 159.25
|
||||
offset_right = 176.25
|
||||
offset_bottom = 250.25
|
||||
theme = ExtResource("4_se5lc")
|
||||
theme_override_font_sizes/font_size = 14
|
||||
text = "SEED_CASE"
|
||||
flat = true
|
||||
autowrap_mode = 3
|
||||
|
||||
[node name="SelectButton2" type="Button" parent="CenterContainer/VendingMachin" unique_id=65989609]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 0
|
||||
offset_left = 41.25
|
||||
offset_top = 273.0
|
||||
offset_right = 179.25
|
||||
offset_bottom = 372.25
|
||||
theme = ExtResource("4_se5lc")
|
||||
theme_override_font_sizes/font_size = 14
|
||||
text = "PILE"
|
||||
flat = true
|
||||
autowrap_mode = 3
|
||||
|
||||
[node name="SelectButtonBis1" type="Button" parent="CenterContainer/VendingMachin" unique_id=741069555]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 0
|
||||
offset_left = 232.25
|
||||
offset_top = 161.25
|
||||
offset_right = 466.25
|
||||
offset_bottom = 254.25
|
||||
theme = ExtResource("4_se5lc")
|
||||
theme_override_font_sizes/font_size = 14
|
||||
flat = true
|
||||
autowrap_mode = 3
|
||||
|
||||
[node name="SelectButtonBis2" type="Button" parent="CenterContainer/VendingMachin" unique_id=1526377722]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 0
|
||||
offset_left = 221.25
|
||||
offset_top = 273.25
|
||||
offset_right = 465.5
|
||||
offset_bottom = 377.25
|
||||
theme = ExtResource("4_se5lc")
|
||||
theme_override_font_sizes/font_size = 14
|
||||
flat = true
|
||||
autowrap_mode = 3
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="CenterContainer/VendingMachin" unique_id=190465213]
|
||||
layout_mode = 0
|
||||
offset_left = 508.25
|
||||
offset_top = 320.25
|
||||
offset_right = 570.25
|
||||
offset_bottom = 366.25
|
||||
theme_override_constants/separation = 0
|
||||
alignment = 1
|
||||
|
||||
[node name="PriceLabel" type="Label" parent="CenterContainer/VendingMachin/HBoxContainer" unique_id=1448579465]
|
||||
layout_mode = 2
|
||||
text = "3"
|
||||
label_settings = SubResource("LabelSettings_7iup0")
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="PriceIcon" type="TextureRect" parent="CenterContainer/VendingMachin/HBoxContainer" unique_id=253690587]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
texture = ExtResource("5_rrfqi")
|
||||
expand_mode = 1
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="CenterContainer/VendingMachin" unique_id=174895788]
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = 3.0
|
||||
offset_top = -298.0
|
||||
offset_right = 42.0
|
||||
offset_bottom = -259.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("4_yho0h")
|
||||
expand_mode = 1
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="FetchButton" type="TextureButton" parent="CenterContainer/VendingMachin" unique_id=986015945]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 0
|
||||
offset_left = 265.25
|
||||
offset_top = 478.25
|
||||
offset_right = 459.25
|
||||
offset_bottom = 567.25
|
||||
texture_normal = ExtResource("12_bfufr")
|
||||
texture_pressed = ExtResource("13_ub0g7")
|
||||
texture_hover = ExtResource("12_bfufr")
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="PayButton" type="TextureButton" parent="CenterContainer/VendingMachin" unique_id=1470524600]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 0
|
||||
offset_left = 491.25
|
||||
offset_top = 400.25
|
||||
offset_right = 599.25
|
||||
offset_bottom = 484.25
|
||||
texture_normal = ExtResource("12_bfufr")
|
||||
texture_pressed = ExtResource("13_ub0g7")
|
||||
texture_hover = ExtResource("12_bfufr")
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1440649675]
|
||||
libraries/ = SubResource("AnimationLibrary_dhfph")
|
||||
autoplay = &"blink"
|
||||
|
||||
[connection signal="button_down" from="CenterContainer/VendingMachin/SelectButton1" to="." method="_on_select_button_1_button_down"]
|
||||
[connection signal="button_down" from="CenterContainer/VendingMachin/SelectButton2" to="." method="_on_select_button_2_button_down"]
|
||||
[connection signal="button_down" from="CenterContainer/VendingMachin/SelectButtonBis1" to="." method="_on_select_button_bis_1_button_down"]
|
||||
[connection signal="button_down" from="CenterContainer/VendingMachin/SelectButtonBis2" to="." method="_on_select_button_bis_2_button_down"]
|
||||
[connection signal="button_down" from="CenterContainer/VendingMachin/FetchButton" to="." method="_on_fetch_button_button_down"]
|
||||
[connection signal="button_down" from="CenterContainer/VendingMachin/PayButton" to="." method="_on_pay_button_button_down"]
|
||||
62
gui/vending_machine/vending_machine_3d.tscn
Normal file
@@ -0,0 +1,62 @@
|
||||
[gd_scene format=3 uid="uid://blva21dapmm68"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://5l3wve81irlc" path="res://gui/vending_machine/assets/3d/vending_machine.blend" id="1_28vvr"]
|
||||
[ext_resource type="Script" uid="uid://d1prpiulsaqhn" path="res://gui/vending_machine/scripts/vending_machine_3d.gd" id="1_awnyh"]
|
||||
[ext_resource type="PackedScene" uid="uid://cclvb8o3vofff" path="res://gui/artefacts/seed_case/seed_case.blend" id="2_7ycki"]
|
||||
[ext_resource type="PackedScene" uid="uid://dolv2637emdbw" path="res://gui/artefacts/pile/pile.blend" id="3_fue4l"]
|
||||
|
||||
[sub_resource type="Environment" id="Environment_28vvr"]
|
||||
ambient_light_source = 2
|
||||
ambient_light_color = Color(1, 1, 1, 1)
|
||||
ambient_light_energy = 2.29
|
||||
tonemap_exposure = 0.62
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_7ycki"]
|
||||
colors = PackedColorArray(0.06318334, 0.059500005, 0.17, 1, 0.06318334, 0.059500005, 0.17, 1)
|
||||
|
||||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_vo550"]
|
||||
gradient = SubResource("Gradient_7ycki")
|
||||
height = 42
|
||||
|
||||
[node name="VendingMachine3d" type="Node3D" unique_id=92614917]
|
||||
script = ExtResource("1_awnyh")
|
||||
object_1_scene = ExtResource("3_fue4l")
|
||||
object_2_scene = ExtResource("2_7ycki")
|
||||
screen_1_hide = false
|
||||
screen_2_hide = false
|
||||
|
||||
[node name="Model" parent="." unique_id=2067475525 instance=ExtResource("1_28vvr")]
|
||||
|
||||
[node name="Line1" type="Node3D" parent="." unique_id=1631780989]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.30948043, 0.971, 0)
|
||||
|
||||
[node name="Line2" type="Node3D" parent="." unique_id=29729480]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.30941665, 0.74758303, 0)
|
||||
|
||||
[node name="Line3" type="Node3D" parent="." unique_id=532403895]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.30941665, 0.5122718, 0)
|
||||
|
||||
[node name="Line4" type="Node3D" parent="." unique_id=290175423]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.30941665, 0.26622266, 0)
|
||||
|
||||
[node name="FallingObjects" type="Node3D" parent="." unique_id=1744524061]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=1595767490]
|
||||
environment = SubResource("Environment_28vvr")
|
||||
|
||||
[node name="HideScreen1" type="Sprite3D" parent="." unique_id=1626145809]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.89098024, 0.88590515, -0.55653703)
|
||||
visible = false
|
||||
texture = SubResource("GradientTexture2D_vo550")
|
||||
|
||||
[node name="HideScreen2" type="Sprite3D" parent="." unique_id=121839387]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.89098024, 0.34462702, -0.55653703)
|
||||
visible = false
|
||||
texture = SubResource("GradientTexture2D_vo550")
|
||||
@@ -16,7 +16,7 @@ compatibility/default_parent_skeleton_in_mesh_instance_3d=true
|
||||
|
||||
config/name="Seeding The Wasteland"
|
||||
config/description="Seeding planets is a survival, managment and cosy game in which you play a little gardener robot."
|
||||
config/version="alpha-1.2"
|
||||
config/version="alpha-1.3"
|
||||
run/main_scene="uid://c5bruelvqbm1k"
|
||||
config/features=PackedStringArray("4.6", "Forward Plus")
|
||||
config/icon="uid://df0y0s666ui4h"
|
||||
|
||||
@@ -53,7 +53,7 @@ func _ready():
|
||||
|
||||
func story():
|
||||
AudioManager.play_sfx("Respawn")
|
||||
if not INTRO_DIALOG in GameInfo.game_data.dialogs_done:
|
||||
if not INTRO_DIALOG in GameInfo.game_data.dialogs_done and GameInfo.game_data.game_mode == GameData.GameMode.STORY:
|
||||
await get_tree().create_timer(TIME_WITHOUT_PHONE).timeout
|
||||
%Phone.play_audio()
|
||||
await %Phone.clicked
|
||||
@@ -84,7 +84,7 @@ func story():
|
||||
|
||||
func finish_scene():
|
||||
GameInfo.game_data.start_run()
|
||||
if GameInfo.game_data.tutorial_done:
|
||||
if GameInfo.game_data.tutorial_done or GameInfo.game_data.game_mode == GameData.GameMode.INFINITE:
|
||||
GameInfo.game_data.ship_in_space = false
|
||||
SceneManager.change_to_scene_id('COCKPIT')
|
||||
else:
|
||||
|
||||
@@ -11,6 +11,7 @@ signal land
|
||||
|
||||
@onready var dashboard : Dashboard = %Dashboard
|
||||
var choosen_run_point : RunPoint = null
|
||||
var exiting = false
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
@@ -32,14 +33,8 @@ func _ready():
|
||||
%Exit.clicked.connect(_on_exit_clicked)
|
||||
%Exit.interactable = can_exit()
|
||||
|
||||
handle_dialogs()
|
||||
|
||||
var player_has_teleporter : bool = GameInfo.game_data.player_data.inventory.items.find_custom(
|
||||
func (i : Item): return i is ShipPortal
|
||||
) != -1
|
||||
|
||||
if not player_has_teleporter:
|
||||
GameInfo.game_data.player_data.inventory.add_item(ShipPortal.new())
|
||||
if GameInfo.game_data.game_mode == GameData.GameMode.STORY:
|
||||
handle_dialogs()
|
||||
|
||||
func handle_dialogs():
|
||||
if not POST_TUTORIAL_DIALOG_PATH in GameInfo.game_data.dialogs_done:
|
||||
@@ -94,19 +89,24 @@ func _on_right_screen_activated():
|
||||
update_dashboard()
|
||||
|
||||
func _on_exit_clicked():
|
||||
AudioManager.play_sfx("Ship_exit")
|
||||
if (can_exit()):
|
||||
if (can_exit() and not exiting):
|
||||
AudioManager.play_sfx("Ship_exit")
|
||||
exiting = true
|
||||
SceneManager.change_to_scene_id('REGION')
|
||||
|
||||
func update_dashboard():
|
||||
|
||||
var current_region_data = GameInfo.game_data.current_region_data
|
||||
|
||||
if current_region_data and not "tutorial" in current_region_data.flags:
|
||||
dashboard.destination_distance = RunData.RUN_POINT_MAX_LEVEL * 1000 - current_region_data.region_level * 1000
|
||||
else :
|
||||
dashboard.destination_distance = (RunData.RUN_POINT_MAX_LEVEL + 1) * 1000
|
||||
dashboard.destination_title = "TO_BOREA_BASE"
|
||||
if GameInfo.game_data.game_mode == GameData.GameMode.STORY:
|
||||
if current_region_data and not "tutorial" in current_region_data.flags:
|
||||
dashboard.destination_distance = RunData.RUN_POINT_MAX_LEVEL * 1000 - current_region_data.region_level * 1000
|
||||
else :
|
||||
dashboard.destination_distance = (RunData.RUN_POINT_MAX_LEVEL + 1) * 1000
|
||||
dashboard.destination_title = "TO_BOREA_BASE"
|
||||
elif GameInfo.game_data.game_mode == GameData.GameMode.INFINITE:
|
||||
dashboard.destination_distance = 0 if current_region_data == null else current_region_data.region_level * 1000
|
||||
dashboard.destination_title = "TRAVELED_DISTANCE"
|
||||
|
||||
var current_run = GameInfo.game_data.current_run
|
||||
|
||||
|
||||
@@ -1,36 +1,35 @@
|
||||
[gd_scene load_steps=8 format=3 uid="uid://gxbqe5rtqi58"]
|
||||
[gd_scene format=3 uid="uid://gxbqe5rtqi58"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://j8cd0qbk4bma" path="res://stages/region_selection/region_point/scripts/region_point.gd" id="1_65ijn"]
|
||||
[ext_resource type="Script" uid="uid://b4eimt3v08jhc" path="res://common/game_data/scripts/run/run_point.gd" id="2_34ylp"]
|
||||
[ext_resource type="Script" uid="uid://ccb06rayqowp3" path="res://stages/terrain/region/scripts/modifiers/region_modifier.gd" id="2_lr77n"]
|
||||
[ext_resource type="Script" uid="uid://ddk7j5b8p51dk" path="res://stages/terrain/region/scripts/region_parameter.gd" id="3_dm7jk"]
|
||||
[ext_resource type="Texture2D" uid="uid://dqsx56wc73wry" path="res://common/icons/map-pin-check.svg" id="4_ndccb"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_ndccb"]
|
||||
[sub_resource type="Resource" id="Resource_8kf6p"]
|
||||
script = ExtResource("3_dm7jk")
|
||||
charges = 10
|
||||
objective = 10
|
||||
planet_seed = 4074963764
|
||||
region_name = "Obaj"
|
||||
region_seed = 3836569679
|
||||
|
||||
[sub_resource type="Resource" id="Resource_txxa3"]
|
||||
script = ExtResource("2_34ylp")
|
||||
level = 1
|
||||
planet_parameter = SubResource("Resource_ndccb")
|
||||
region_name = "Usaf"
|
||||
position = 61
|
||||
region_parameter = SubResource("Resource_8kf6p")
|
||||
position = 61.0
|
||||
metadata/_custom_type_script = "uid://b4eimt3v08jhc"
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_ys0ma"]
|
||||
radius = 1.0629065
|
||||
|
||||
[node name="RegionPoint" type="Area3D"]
|
||||
[node name="RegionPoint" type="Area3D" unique_id=1680498278]
|
||||
script = ExtResource("1_65ijn")
|
||||
run_point = SubResource("Resource_txxa3")
|
||||
state = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=791907494]
|
||||
shape = SubResource("SphereShape3D_ys0ma")
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="."]
|
||||
[node name="Sprite3D" type="Sprite3D" parent="." unique_id=567852602]
|
||||
unique_name_in_owner = true
|
||||
modulate = Color(1, 1, 1, 0.5)
|
||||
pixel_size = 0.04
|
||||
|
||||
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 105 KiB |
@@ -1,40 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ex35g5nvtsy0"
|
||||
path="res://.godot/imported/garden_decontamined_background_texture_old.png-951b3e125e8b7083a60c2b7435bce68a.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://stages/terrain/region/assets/textures/garden_decontamined_background_texture_old.png"
|
||||
dest_files=["res://.godot/imported/garden_decontamined_background_texture_old.png-951b3e125e8b7083a60c2b7435bce68a.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
Before Width: | Height: | Size: 142 KiB After Width: | Height: | Size: 144 KiB |
|
Before Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 581 KiB After Width: | Height: | Size: 348 KiB |
|
Before Width: | Height: | Size: 212 KiB After Width: | Height: | Size: 207 KiB |
|
Before Width: | Height: | Size: 243 KiB After Width: | Height: | Size: 234 KiB |
|
Before Width: | Height: | Size: 190 KiB |
|
Before Width: | Height: | Size: 204 KiB |
@@ -1,41 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://02nuoqleo4yu"
|
||||
path.s3tc="res://.godot/imported/rock_cristal_texture.png-c34612644dbfa24e49296bfe43df46c6.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://stages/terrain/region/assets/textures/rock_cristal_texture.png"
|
||||
dest_files=["res://.godot/imported/rock_cristal_texture.png-c34612644dbfa24e49296bfe43df46c6.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
|
Before Width: | Height: | Size: 5.2 KiB |
@@ -11,6 +11,7 @@
|
||||
[ext_resource type="PackedScene" uid="uid://d324mlmgls4fs" path="res://entities/interactables/truck/recharge/truck_recharge.tscn" id="7_6d8m3"]
|
||||
[ext_resource type="PackedScene" uid="uid://b8m537op75gib" path="res://entities/interactables/door/door.tscn" id="8_2f6js"]
|
||||
[ext_resource type="PackedScene" uid="uid://dj7gp3crtg2yt" path="res://entities/camera/camera.tscn" id="8_fwgig"]
|
||||
[ext_resource type="PackedScene" uid="uid://fnv0qhkh40mv" path="res://gui/game/announce/announce.tscn" id="8_mlppq"]
|
||||
[ext_resource type="Texture2D" uid="uid://rdrhi3r11ey6" path="res://common/icons/square-rounded.svg" id="10_ktnx3"]
|
||||
[ext_resource type="Texture2D" uid="uid://b752eqq4cm7ve" path="res://common/icons/building-factory-2.svg" id="11_fwgig"]
|
||||
[ext_resource type="Texture2D" uid="uid://dg00xnpp6ixls" path="res://common/icons/server-2.svg" id="12_mlppq"]
|
||||
@@ -115,7 +116,6 @@ camera = NodePath("../../Camera")
|
||||
|
||||
[node name="PassDay" parent="." unique_id=1144772570 instance=ExtResource("3_ktnx3")]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
|
||||
[node name="RegionGui" type="CanvasLayer" parent="." unique_id=2024485651]
|
||||
layer = 2
|
||||
@@ -128,6 +128,9 @@ game_gui = NodePath("../../GameGui")
|
||||
|
||||
[node name="GameGui" parent="." unique_id=1970837239 instance=ExtResource("4_qdnee")]
|
||||
|
||||
[node name="Announce" parent="." unique_id=1659074958 instance=ExtResource("8_mlppq")]
|
||||
layer = 3
|
||||
|
||||
[node name="Entities" type="Node2D" parent="." unique_id=2132324579]
|
||||
y_sort_enabled = true
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
[gd_resource type="ShaderMaterial" load_steps=6 format=3 uid="uid://bq3dmwkej5gmx"]
|
||||
[gd_resource type="ShaderMaterial" format=3 uid="uid://bq3dmwkej5gmx"]
|
||||
|
||||
[ext_resource type="Shader" uid="uid://bglep64ppn74p" path="res://common/vfx/materials/shaders/textures_data_filter.gdshader" id="1_kujx0"]
|
||||
[ext_resource type="Texture2D" uid="uid://beqx4rmgthkql" path="res://stages/terrain/region/assets/textures/rock_background_texture.png" id="2_6cs2h"]
|
||||
[ext_resource type="Texture2D" uid="uid://bnrjnvceprxfn" path="res://stages/terrain/region/assets/textures/garden_background_texture.png" id="2_ydx6d"]
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_kujx0"]
|
||||
@@ -13,11 +12,14 @@ width = 20
|
||||
height = 20
|
||||
noise = SubResource("FastNoiseLite_kujx0")
|
||||
|
||||
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_cmstg"]
|
||||
load_path = "res://.godot/imported/rock_background_texture.png-79a8569ff49f7d85f8b64d55ac1ce62d.ctex"
|
||||
|
||||
[resource]
|
||||
shader = ExtResource("1_kujx0")
|
||||
shader_parameter/data_texture = SubResource("NoiseTexture2D_ydx6d")
|
||||
shader_parameter/data_texture_size = Vector2(200, 200)
|
||||
shader_parameter/data_texture_threshold = 0.5
|
||||
shader_parameter/texture_0 = ExtResource("2_6cs2h")
|
||||
shader_parameter/texture_0 = SubResource("CompressedTexture2D_cmstg")
|
||||
shader_parameter/texture_1 = ExtResource("2_ydx6d")
|
||||
shader_parameter/texture_scale = 5.0
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
[gd_resource type="ShaderMaterial" load_steps=6 format=3 uid="uid://ljvaj1vab53a"]
|
||||
[gd_resource type="ShaderMaterial" format=3 uid="uid://ljvaj1vab53a"]
|
||||
|
||||
[ext_resource type="Shader" uid="uid://bglep64ppn74p" path="res://common/vfx/materials/shaders/textures_data_filter.gdshader" id="1_ye8oh"]
|
||||
[ext_resource type="Texture2D" uid="uid://bnrjnvceprxfn" path="res://stages/terrain/region/assets/textures/garden_background_texture.png" id="2_6hswu"]
|
||||
[ext_resource type="Texture2D" uid="uid://ex35g5nvtsy0" path="res://stages/terrain/region/assets/textures/garden_decontamined_background_texture_old.png" id="2_r7pv0"]
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_6hswu"]
|
||||
frequency = 0.0109
|
||||
@@ -10,11 +9,14 @@ frequency = 0.0109
|
||||
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_j3avn"]
|
||||
noise = SubResource("FastNoiseLite_6hswu")
|
||||
|
||||
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_nntr3"]
|
||||
load_path = "res://.godot/imported/garden_decontamined_background_texture_old.png-951b3e125e8b7083a60c2b7435bce68a.ctex"
|
||||
|
||||
[resource]
|
||||
shader = ExtResource("1_ye8oh")
|
||||
shader_parameter/data_texture = SubResource("NoiseTexture2D_j3avn")
|
||||
shader_parameter/data_texture_size = Vector2(1000, 1000)
|
||||
shader_parameter/data_texture_threshold = 0.5
|
||||
shader_parameter/texture_0 = ExtResource("2_6hswu")
|
||||
shader_parameter/texture_1 = ExtResource("2_r7pv0")
|
||||
shader_parameter/texture_1 = SubResource("CompressedTexture2D_nntr3")
|
||||
shader_parameter/texture_scale = 5.0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_resource type="ShaderMaterial" load_steps=3 format=3 uid="uid://dpxu8yeee4qi1"]
|
||||
[gd_resource type="ShaderMaterial" format=3 uid="uid://dpxu8yeee4qi1"]
|
||||
|
||||
[ext_resource type="Shader" uid="uid://q5isn3rwrir8" path="res://common/vfx/materials/shaders/texture_color_filter.gdshader" id="1_k4e5t"]
|
||||
[ext_resource type="Texture2D" uid="uid://bnrjnvceprxfn" path="res://stages/terrain/region/assets/textures/garden_background_texture.png" id="2_k4e5t"]
|
||||
|
||||
@@ -178,13 +178,11 @@ texture_region_size = Vector2i(64, 64)
|
||||
9:1/0 = 0
|
||||
9:1/0/terrain_set = 0
|
||||
9:1/0/terrain = 1
|
||||
9:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-32, -32, 32, -32, 32, 32, -32, 32)
|
||||
9:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-32, -16, -16, -32, 32, -32, 32, 16, 16, 32, -32, 32)
|
||||
9:1/0/terrains_peering_bit/right_side = 1
|
||||
9:1/0/terrains_peering_bit/bottom_right_corner = 1
|
||||
9:1/0/terrains_peering_bit/bottom_side = 1
|
||||
9:1/0/terrains_peering_bit/bottom_left_corner = 1
|
||||
9:1/0/terrains_peering_bit/left_side = 1
|
||||
9:1/0/terrains_peering_bit/top_left_corner = 1
|
||||
9:1/0/terrains_peering_bit/top_side = 1
|
||||
9:1/0/terrains_peering_bit/top_right_corner = 1
|
||||
11:1/0 = 0
|
||||
@@ -284,15 +282,13 @@ texture_region_size = Vector2i(64, 64)
|
||||
10:2/0 = 0
|
||||
10:2/0/terrain_set = 0
|
||||
10:2/0/terrain = 1
|
||||
10:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-32, -32, 32, -32, 32, 32, -32, 32)
|
||||
10:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-32, -32, 16, -32, 32, -16, 32, 32, -16, 32, -32, 16)
|
||||
10:2/0/terrains_peering_bit/right_side = 1
|
||||
10:2/0/terrains_peering_bit/bottom_right_corner = 1
|
||||
10:2/0/terrains_peering_bit/bottom_side = 1
|
||||
10:2/0/terrains_peering_bit/bottom_left_corner = 1
|
||||
10:2/0/terrains_peering_bit/left_side = 1
|
||||
10:2/0/terrains_peering_bit/top_left_corner = 1
|
||||
10:2/0/terrains_peering_bit/top_side = 1
|
||||
10:2/0/terrains_peering_bit/top_right_corner = 1
|
||||
11:2/0 = 0
|
||||
11:2/0/terrain_set = 0
|
||||
11:2/0/terrain = 1
|
||||
@@ -675,13 +671,11 @@ texture_region_size = Vector2i(64, 64)
|
||||
9:1/0 = 0
|
||||
9:1/0/terrain_set = 0
|
||||
9:1/0/terrain = 2
|
||||
9:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-32, -32, 32, -32, 32, 32, -32, 32)
|
||||
9:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-32, -16, -16, -32, 32, -32, 32, 16, 16, 32, -32, 32)
|
||||
9:1/0/terrains_peering_bit/right_side = 2
|
||||
9:1/0/terrains_peering_bit/bottom_right_corner = 2
|
||||
9:1/0/terrains_peering_bit/bottom_side = 2
|
||||
9:1/0/terrains_peering_bit/bottom_left_corner = 2
|
||||
9:1/0/terrains_peering_bit/left_side = 2
|
||||
9:1/0/terrains_peering_bit/top_left_corner = 2
|
||||
9:1/0/terrains_peering_bit/top_side = 2
|
||||
9:1/0/terrains_peering_bit/top_right_corner = 2
|
||||
9:2/0 = 0
|
||||
@@ -746,15 +740,13 @@ texture_region_size = Vector2i(64, 64)
|
||||
10:2/0 = 0
|
||||
10:2/0/terrain_set = 0
|
||||
10:2/0/terrain = 2
|
||||
10:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-32, -32, 32, -32, 32, 32, -32, 32)
|
||||
10:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-32, -32, 16, -32, 32, -16, 32, 32, -16, 32, -32, 16)
|
||||
10:2/0/terrains_peering_bit/right_side = 2
|
||||
10:2/0/terrains_peering_bit/bottom_right_corner = 2
|
||||
10:2/0/terrains_peering_bit/bottom_side = 2
|
||||
10:2/0/terrains_peering_bit/bottom_left_corner = 2
|
||||
10:2/0/terrains_peering_bit/left_side = 2
|
||||
10:2/0/terrains_peering_bit/top_left_corner = 2
|
||||
10:2/0/terrains_peering_bit/top_side = 2
|
||||
10:2/0/terrains_peering_bit/top_right_corner = 2
|
||||
10:3/0 = 0
|
||||
10:3/0/terrain_set = 0
|
||||
10:3/0/terrain = 2
|
||||
@@ -952,11 +944,9 @@ texture_region_size = Vector2i(64, 64)
|
||||
9:1/0/terrain_set = 0
|
||||
9:1/0/terrain = 0
|
||||
9:1/0/terrains_peering_bit/right_side = 0
|
||||
9:1/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
9:1/0/terrains_peering_bit/bottom_side = 0
|
||||
9:1/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
9:1/0/terrains_peering_bit/left_side = 0
|
||||
9:1/0/terrains_peering_bit/top_left_corner = 0
|
||||
9:1/0/terrains_peering_bit/top_side = 0
|
||||
9:1/0/terrains_peering_bit/top_right_corner = 0
|
||||
10:1/0 = 0
|
||||
@@ -1059,11 +1049,9 @@ texture_region_size = Vector2i(64, 64)
|
||||
10:2/0/terrains_peering_bit/right_side = 0
|
||||
10:2/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
10:2/0/terrains_peering_bit/bottom_side = 0
|
||||
10:2/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
10:2/0/terrains_peering_bit/left_side = 0
|
||||
10:2/0/terrains_peering_bit/top_left_corner = 0
|
||||
10:2/0/terrains_peering_bit/top_side = 0
|
||||
10:2/0/terrains_peering_bit/top_right_corner = 0
|
||||
11:2/0 = 0
|
||||
11:2/0/terrain_set = 0
|
||||
11:2/0/terrain = 0
|
||||
|
||||
@@ -84,6 +84,12 @@ func _ready():
|
||||
spawn_object_random_move(%BoreaDoor)
|
||||
spawn_object_random_move(%ShipGarageDoor)
|
||||
|
||||
if not "tutorial" in data.flags:
|
||||
GameInfo.game_data.player_data.inventory.add_item(Detector.new())
|
||||
GameInfo.game_data.player_data.inventory.add_item(Pickaxe.new())
|
||||
GameInfo.game_data.player_data.inventory.add_item(Fork.new())
|
||||
GameInfo.game_data.player_data.inventory.add_item(ShipPortal.new())
|
||||
|
||||
func _process(_d):
|
||||
if player:
|
||||
generate_near_chunks(player)
|
||||
|
||||
@@ -11,43 +11,52 @@ var prev_mouse_pos : Vector2
|
||||
var next_mouse_pos : Vector2
|
||||
|
||||
func _ready():
|
||||
%Version.text = ProjectSettings.get_setting("application/config/version")
|
||||
%Start.text = tr("CONTINUE") if GameInfo.game_loaded else tr("START")
|
||||
%Restart.visible = GameInfo.game_loaded
|
||||
%Version.text = ProjectSettings.get_setting("application/config/version")
|
||||
%Start.text = tr("CONTINUE") if GameInfo.game_loaded else tr("START")
|
||||
%Restart.visible = GameInfo.game_loaded
|
||||
%ModeChoose.hide()
|
||||
|
||||
func _on_start_pressed():
|
||||
if GameInfo.game_data and GameInfo.game_data.last_game_scene:
|
||||
SceneManager.change_to_scene(GameInfo.game_data.last_game_scene)
|
||||
else:
|
||||
SceneManager.change_to_scene_id("INTRO")
|
||||
if GameInfo.game_data and GameInfo.game_data.last_game_scene:
|
||||
SceneManager.change_to_scene(GameInfo.game_data.last_game_scene)
|
||||
else:
|
||||
%ModeChoose.show()
|
||||
|
||||
func _process(delta):
|
||||
next_mouse_pos = get_viewport().get_mouse_position()
|
||||
if Input.is_action_just_pressed("action"):
|
||||
rotating = true
|
||||
prev_mouse_pos = get_viewport().get_mouse_position()
|
||||
if Input.is_action_just_released("action"):
|
||||
rotating = false
|
||||
planet_acceleration = Vector2(
|
||||
float(next_mouse_pos.x - prev_mouse_pos.x),
|
||||
float(next_mouse_pos.y - prev_mouse_pos.y)
|
||||
)
|
||||
|
||||
var planet_rotation = planet_acceleration
|
||||
next_mouse_pos = get_viewport().get_mouse_position()
|
||||
if Input.is_action_just_pressed("action"):
|
||||
rotating = true
|
||||
prev_mouse_pos = get_viewport().get_mouse_position()
|
||||
if Input.is_action_just_released("action"):
|
||||
rotating = false
|
||||
planet_acceleration = Vector2(
|
||||
float(next_mouse_pos.x - prev_mouse_pos.x),
|
||||
float(next_mouse_pos.y - prev_mouse_pos.y)
|
||||
)
|
||||
|
||||
var planet_rotation = planet_acceleration
|
||||
|
||||
if rotating:
|
||||
planet_rotation = Vector2(
|
||||
float(next_mouse_pos.x - prev_mouse_pos.x),
|
||||
float(next_mouse_pos.y - prev_mouse_pos.y)
|
||||
)
|
||||
prev_mouse_pos = next_mouse_pos
|
||||
else :
|
||||
planet_acceleration = planet_acceleration.lerp(DEFAULT_PLANET_ACCELERATION, 0.1)
|
||||
if rotating:
|
||||
planet_rotation = Vector2(
|
||||
float(next_mouse_pos.x - prev_mouse_pos.x),
|
||||
float(next_mouse_pos.y - prev_mouse_pos.y)
|
||||
)
|
||||
prev_mouse_pos = next_mouse_pos
|
||||
else :
|
||||
planet_acceleration = planet_acceleration.lerp(DEFAULT_PLANET_ACCELERATION, 0.1)
|
||||
|
||||
%Planet3d.rotate(Vector3.UP, planet_rotation.x * delta)
|
||||
%Planet3d.rotate(Vector3.RIGHT, planet_rotation.y * delta)
|
||||
%Planet3d.rotate(Vector3.UP, planet_rotation.x * delta)
|
||||
%Planet3d.rotate(Vector3.RIGHT, planet_rotation.y * delta)
|
||||
|
||||
|
||||
func _on_restart_button_down():
|
||||
GameInfo.restart_game_data()
|
||||
_on_start_pressed()
|
||||
GameInfo.restart_game_data()
|
||||
%ModeChoose.show()
|
||||
|
||||
|
||||
func _on_story_mode_start_button_down():
|
||||
SceneManager.change_to_scene_id("INTRO")
|
||||
|
||||
func _on_infinite_mode_start_button_down():
|
||||
GameInfo.game_data.game_mode = GameData.GameMode.INFINITE
|
||||
SceneManager.change_to_scene_id("COCKPIT")
|
||||
|
||||
@@ -9,11 +9,21 @@
|
||||
[ext_resource type="PackedScene" uid="uid://c8flevrkelpvy" path="res://gui/credits/socials/instagram.tscn" id="6_7a1qq"]
|
||||
[ext_resource type="PackedScene" uid="uid://bc3byq8e45ejj" path="res://gui/credits/socials/steam.tscn" id="7_nmsah"]
|
||||
[ext_resource type="Shader" uid="uid://bv2rghn44mrrf" path="res://stages/title_screen/resources/shaders/stars.gdshader" id="7_y6tw6"]
|
||||
[ext_resource type="Shader" uid="uid://cuni3ggtw2uuy" path="res://common/vfx/materials/shaders/blur.gdshader" id="8_pjo5j"]
|
||||
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="9_5mxqx"]
|
||||
[ext_resource type="Theme" uid="uid://5au2k3vf2po3" path="res://gui/ressources/menu.tres" id="10_tsp1v"]
|
||||
[ext_resource type="Texture2D" uid="uid://b75k12a4wc5t4" path="res://common/icons/book-2.svg" id="11_3aitq"]
|
||||
[ext_resource type="Texture2D" uid="uid://dbv5hm7lyi1f6" path="res://common/icons/infinity.svg" id="12_igvpv"]
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_6yuhi"]
|
||||
viewport_path = NodePath("SubViewport")
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_yctb5"]
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_lwj2x"]
|
||||
shader = ExtResource("8_pjo5j")
|
||||
shader_parameter/strength = 5.00000023424012
|
||||
shader_parameter/mix_percentage = 0.3
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_rf16a"]
|
||||
frequency = 1.0
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_7a1qq"]
|
||||
@@ -130,7 +140,6 @@ size_flags_horizontal = 3
|
||||
size_flags_vertical = 4
|
||||
|
||||
[node name="Socials" type="VBoxContainer" parent="MarginContainer" unique_id=1306915726]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 8
|
||||
size_flags_vertical = 8
|
||||
@@ -140,14 +149,66 @@ layout_mode = 2
|
||||
size_flags_horizontal = 8
|
||||
|
||||
[node name="SteamButton" parent="MarginContainer/Socials" unique_id=1181450581 instance=ExtResource("7_nmsah")]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="ModeChoose" type="Control" parent="." unique_id=1527342716]
|
||||
unique_name_in_owner = true
|
||||
z_index = 2
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="ModeChoose" unique_id=301172574]
|
||||
material = SubResource("ShaderMaterial_lwj2x")
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
color = Color(0.0352941, 0.0196078, 0.12549, 0.705882)
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="ModeChoose" unique_id=2135671035]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
alignment = 1
|
||||
|
||||
[node name="Label" type="Label" parent="ModeChoose/VBoxContainer" unique_id=513644546]
|
||||
layout_mode = 2
|
||||
text = "CHOOSE_GAME_MODE"
|
||||
label_settings = ExtResource("9_5mxqx")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="StoryModeStart" type="Button" parent="ModeChoose/VBoxContainer" unique_id=1236564484]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
theme = ExtResource("10_tsp1v")
|
||||
text = "STORY_MODE"
|
||||
icon = ExtResource("11_3aitq")
|
||||
flat = true
|
||||
|
||||
[node name="InfiniteModeStart" type="Button" parent="ModeChoose/VBoxContainer" unique_id=516318256]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
theme = ExtResource("10_tsp1v")
|
||||
text = "INFINITE_MODE"
|
||||
icon = ExtResource("12_igvpv")
|
||||
flat = true
|
||||
|
||||
[node name="SubViewport" type="SubViewport" parent="." unique_id=1703203942]
|
||||
size = Vector2i(1980, 1080)
|
||||
|
||||
[node name="Planet3d" parent="SubViewport" unique_id=926789923 instance=ExtResource("5_7a1qq")]
|
||||
unique_name_in_owner = true
|
||||
noise = SubResource("FastNoiseLite_yctb5")
|
||||
noise = SubResource("FastNoiseLite_rf16a")
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="SubViewport" unique_id=806252928]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.369979, 0, 64.323425)
|
||||
@@ -168,3 +229,5 @@ shadow_blur = 3.055
|
||||
|
||||
[connection signal="pressed" from="MarginContainer/GridContainer/VBoxContainer/VBoxContainer/Start" to="." method="_on_start_pressed"]
|
||||
[connection signal="button_down" from="MarginContainer/GridContainer/VBoxContainer/VBoxContainer/Restart" to="." method="_on_restart_button_down"]
|
||||
[connection signal="button_down" from="ModeChoose/VBoxContainer/StoryModeStart" to="." method="_on_story_mode_start_button_down"]
|
||||
[connection signal="button_down" from="ModeChoose/VBoxContainer/InfiniteModeStart" to="." method="_on_infinite_mode_start_button_down"]
|
||||
|
||||
@@ -15,7 +15,7 @@ Choice/19/disabled_text,,
|
||||
Choice/1a/text,Can I have some explanations on how all of this works again ?,Vous pouvez me réexpliquer comment remplir mes objectifs ?
|
||||
Choice/1a/disabled_text,,
|
||||
Text/9c/text,"When you start a region,[pause=0.2] search for the [b]Recharge Station[/b], there is always one near.","Quand tu arrives quelque part,[pause=0.2] cherche la [b]Station de Recharge[/b], il y en a toujours une pas très loin."
|
||||
Text/9d/text,"Then,[pause=0.3] you'll have to find seeds by smashing some [b]Talion Veins[/b] in the stones with your shovel.","Puis,[pause=0.3] tu dois récupérer des graines en brisant des [b]Veines de Talion[/b] dans la pierre avec ta pelle."
|
||||
Text/9d/text,"Then,[pause=0.3] you'll have to find seeds by smashing some [b]Talion Veins[/b] in the stones with your pickaxe.","Puis,[pause=0.3] tu dois récupérer des graines en brisant des [b]Veines de Talion[/b] dans la pierre avec ta pioche."
|
||||
Text/9e/text,"You can then plant seeds in the yellow moss you'll find on the ground, it's the only [b]Fertile Zones[/b].","Tu pourras planter ces graines dans la mousse jaune que tu trouvera par terre, ce sont les seules [b]Zones Fertiles[/b]."
|
||||
Text/9f/text,"When you are out of [b]Energy[/b], you can recharge on the [b]Recharge Station[/b], time will pass and plants will grow.","Tu pourras planter ces graines dans la mousse jaune que tu trouveras par terre, ce sont les seules [b]Zones Fertiles[/b]."
|
||||
Text/a0/text,"Each seed is different by their [b]Mutations[/b], and you can get same or better seed from a plant by destroying it when mature, or waiting the end of their lifetime.","Chaque graine est unique par ses [b]Mutations[/b], et tu pourras récupérer de meilleure graines en détruisant une plante mature, ou en attendant qu'elle meurt."
|
||||
|
||||
|
@@ -28,7 +28,7 @@ Text/36/text,"But first things first,[pause=0.3] you have to learn how everythin
|
||||
Text/37/text,[b]Just remember the following[/b],[b]Ecoute bien[/b]
|
||||
Label/38/display_name,,
|
||||
Text/a2/text,"When you emerge from this building,[pause=0.2] search for the [b]Recharge Station[/b], I think there is one near the entrance.","Quand tu sortiras d'ici,[pause=0.2] cherche la [b]Station de Recharge[/b], il devrait y en avoir une pas très loin de la sortie."
|
||||
Text/a3/text,"Then,[pause=0.3] you'll have to find seeds by smashing some [b]Talion Veins[/b] in the stones with your shovel.","Puis,[pause=0.3] tu devras récupérer des graines en brisant des [b]Veines de Talion[/b] dans la pierre avec ta pelle."
|
||||
Text/a3/text,"Then,[pause=0.3] you'll have to find seeds by smashing some [b]Talion Veins[/b] in the stones with your pickaxe.","Puis,[pause=0.3] tu devras récupérer des graines en brisant des [b]Veines de Talion[/b] dans la pierre avec ta pioche."
|
||||
Text/a4/text,"You can then plant seeds in the yellow moss you'll find on the ground, it's the only [b]Fertile Zones[/b].","Tu pourras planter ces graines dans la mousse jaune que tu trouvera par terre, ce sont les seules [b]Zones Fertiles[/b]."
|
||||
Text/a5/text,"When you are out of [b]Energy[/b], you can recharge on the [b]Recharge Station[/b], time will pass and plants will grow.","Tu pourras planter ces graines dans la mousse jaune que tu trouvera par terre, ce sont les seules [b]Zones Fertiles[/b]."
|
||||
Text/a6/text,"Each seed is different by their [b]Mutations[/b], and you can get same or better seed from a plant by destroying it when mature, or waiting the end of their lifetime.","Chaque graine est unique par ses [b]Mutations[/b], et tu pourras récupérer de meilleure graines en détruisant une plante mature, ou en attendant qu'elle meurt."
|
||||
|
||||
|
@@ -8,8 +8,8 @@ LIFETIME,Lifetime (in days),Durée de vie (en jour)
|
||||
SEEDS,Seeds,Graines
|
||||
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 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"
|
||||
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 pickaxe, contient des graines aléatoire"
|
||||
OK,Ok,Ok
|
||||
GARDEN,Garden,Jardin
|
||||
COMMA,", ",","
|
||||
@@ -19,6 +19,9 @@ CONTROLS,Controls,Contrôles
|
||||
RESUME_GAME,Resume,Reprendre
|
||||
RESTART,Restart,Recommencer
|
||||
QUIT,Quit,Quitter
|
||||
CHOOSE_GAME_MODE,Choose game mode,Choisissez le mode de jeu
|
||||
STORY_MODE,Story Mode,Mode Histoire
|
||||
INFINITE_MODE,Infinite Mode,Mode Infini
|
||||
SEED,Seed,Graine
|
||||
TAKE,Take,Prendre
|
||||
PACKAGE,Crate,Caisse de matériel
|
||||
@@ -118,10 +121,10 @@ DROP_SEED_WITH_KEY,"Drop current item with Q","Lâche l'item sélectionné avec
|
||||
USE_YOUR_DETECTOR_TO_FIND_THE_BATTERY,Use your [b]Detector[/b] to find the [b]Recharge station[/b],Utilise ton [b]Détecteur[/b] pour trouver la [b]Station de recharge[/b]
|
||||
RECHARGE_IN_THE_RECHARGE_STATION,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
|
||||
TAKE_A_SEED_BY_CLICKING_ON_IT,Take a [b]Seed[/b] by clicking on it,Prend une [b]Graine[/b] en cliquant dessus
|
||||
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]
|
||||
DIG_A_TALION_VEIN_WITH_SHOVEL,Dig a [b]Talion Vein[/b] with the [b]Pickaxe[/b],Creuser un [b]Filon de Talion[/b] avec la [b]Pioche[/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]
|
||||
GAIN_FIRST_PLANT_POINT,Earn your first [b]Plant Point[/b] while waiting for a plant to [b]Mature[/b] (recharging will pass days),Gagnez votre premier [b]Point de Plante[/b] en attendant qu'une plante soit [b]Mature[/b] (se recharger fera passer les jours)
|
||||
HARVEST_A_MATURE_PLANT,Harvest a [b]Mature Plant[/b] using your [b]Shovel[/b],Récoltez une [b]Plante Mature[/b] en utilisant votre [b]Pelle[/b]
|
||||
HARVEST_A_MATURE_PLANT,Harvest a [b]Mature Plant[/b] using your [b]Fork[/b],Récoltez une [b]Plante Mature[/b] en utilisant votre [b]Fourche[/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
|
||||
@@ -216,6 +219,7 @@ MYSTERIOUS_DOOR_TEXT,"This door has a space ship logo on it... What could it be
|
||||
ASTRA_BASE,Astra Base,Base Astra
|
||||
BOREA_BASE,Borea Base,Base Boréa
|
||||
TO_BOREA_BASE,To Borea Base,Jusqu'à la Base Boréa
|
||||
TRAVELED_DISTANCE,Traveled Distance,Distance parcourue
|
||||
BOREA_BASE_DESC_TEXT,Base where demeter is located,La base où se trouve Demeter
|
||||
ARID,Arid,Aride
|
||||
ARID_MODIFIER_DESC_TEXT,Reduce base [b]Fertile Zone[/b] in this region,Réduit la [b]Zone Fertile[/b] de base de la région
|
||||
@@ -227,4 +231,13 @@ POOR,Poor,Pauvre
|
||||
POOR_MODIFIER_DESC_TEXT,Reduce the number of [b]Talion Veins[/b],Réduit le nombre de [b]Veine de Talion[/b]
|
||||
PASS_THE_MYSTERIOUS_DOOR,Go through the mysterious door,Franchissez la porte mystérieuse
|
||||
NEXT_STOP,Next Stop,Prochain arrêt
|
||||
ORBIT,Orbit,Orbite
|
||||
ORBIT,Orbit,Orbite
|
||||
RECHARGE_NUMBER,Recharge Number,Nombre de recharge
|
||||
ORCHID_ENERGY,Orchid's energy,Énergie d'Orchid
|
||||
NEW_TOOL,New tool,Nouvel Outil
|
||||
PILE,Pile,Pile,
|
||||
SEED_CASE,Seed Case,Emplacement de graine
|
||||
ARTEFACTS_VENDING_MACHINE,Artefacts Vending Machine,Distributeur d'Artefacts
|
||||
CHOOSE_AN_ITEM,Choose an item,Choisissez un objet
|
||||
PAY_THE_PRICE,Pay the price,Payez le prix
|
||||
GET_YOUR_ITEM,Get your item,Récupérez votre objet
|
||||
|