Compare commits
24 Commits
480d149ede
...
5affc48dc5
| Author | SHA1 | Date | |
|---|---|---|---|
| 5affc48dc5 | |||
| cdb6b83124 | |||
| a4f9511892 | |||
| cc7e8c5c4b | |||
| 7a3e96d679 | |||
| e38c391e1c | |||
| c0e002f783 | |||
| e8850ca7c5 | |||
| eaedf8c396 | |||
| ffa20bbdf8 | |||
| b77b6e3a52 | |||
| 69cb63ad89 | |||
| 11790434f5 | |||
| c7d56301fc | |||
| 8bd2b09232 | |||
| c6fc400994 | |||
| 4752002caf | |||
| 0e028a2cb9 | |||
| 01a281c2aa | |||
| 2a46d363e9 | |||
| 92c3f5e054 | |||
| 6727339e9a | |||
| e3d67722de | |||
| b6fd6292e3 |
|
After Width: | Height: | Size: 1.5 MiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bexymddkb6l0o"
|
||||
path="res://.godot/imported/mavkha.png-ab393dd20d4b3f3a305dd600f518b5fe.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/characters/Mavka/mavkha.png"
|
||||
dest_files=["res://.godot/imported/mavkha.png-ab393dd20d4b3f3a305dd600f518b5fe.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
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/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
|
||||
|
After Width: | Height: | Size: 476 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bgba1uv0muxat"
|
||||
path="res://.godot/imported/chugeist_tmp.png-ff2e3a6be0ff4b186834b14d159443da.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/characters/chugeist_tmp.png"
|
||||
dest_files=["res://.godot/imported/chugeist_tmp.png-ff2e3a6be0ff4b186834b14d159443da.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
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/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
|
||||
|
After Width: | Height: | Size: 48 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b5ade1s2ijunu"
|
||||
path="res://.godot/imported/beetroot_icon.png-aef760d681bd7ef4c12802c6da8d93f5.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/farm/farming/farmobjekte/beetroot/beetroot_icon.png"
|
||||
dest_files=["res://.godot/imported/beetroot_icon.png-aef760d681bd7ef4c12802c6da8d93f5.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
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/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
|
||||
|
After Width: | Height: | Size: 123 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://xtci0n8tquc0"
|
||||
path="res://.godot/imported/beetroot_00.png-0c2234fc9109ef4b2bb1c7f568ee2fc7.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/farm/farming/farmobjekte/beetroot_00.png"
|
||||
dest_files=["res://.godot/imported/beetroot_00.png-0c2234fc9109ef4b2bb1c7f568ee2fc7.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
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/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
|
||||
|
After Width: | Height: | Size: 6.5 KiB |
@@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="font_data_dynamic"
|
||||
type="FontFile"
|
||||
uid="uid://bgmdn7uo215q2"
|
||||
path="res://.godot/imported/RuslanDisplay-Regular.ttf-b21277db87f732a1d4e67ed29c642ff3.fontdata"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/fonts/RuslanDisplay-Regular.ttf"
|
||||
dest_files=["res://.godot/imported/RuslanDisplay-Regular.ttf-b21277db87f732a1d4e67ed29c642ff3.fontdata"]
|
||||
|
||||
[params]
|
||||
|
||||
Rendering=null
|
||||
antialiasing=1
|
||||
generate_mipmaps=false
|
||||
disable_embedded_bitmaps=true
|
||||
multichannel_signed_distance_field=false
|
||||
msdf_pixel_range=8
|
||||
msdf_size=48
|
||||
allow_system_fallback=true
|
||||
force_autohinter=false
|
||||
hinting=1
|
||||
subpixel_positioning=4
|
||||
keep_rounding_remainders=true
|
||||
oversampling=0.0
|
||||
Fallbacks=null
|
||||
fallbacks=[]
|
||||
Compress=null
|
||||
compress=true
|
||||
preload=[]
|
||||
language_support={}
|
||||
script_support={}
|
||||
opentype_features={}
|
||||
@@ -0,0 +1,102 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 5687 1551" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g transform="matrix(1,0,0,1,-2967,0)">
|
||||
<g id="Cozy-Raven-Logo-breit" serif:id="Cozy Raven Logo breit" transform="matrix(2.29248,0,0,0.625226,2967.64,0)">
|
||||
<rect x="0" y="0" width="2480.32" height="2480.32" style="fill:none;"/>
|
||||
<g transform="matrix(0.436208,0,0,1.59942,166.053,-1670.67)">
|
||||
<g transform="matrix(0.206025,0,0,0.289757,-1186.1,-352.084)">
|
||||
<g id="rabe" transform="matrix(11.4916,0,0,8.17082,3293.63,-8360.45)">
|
||||
<g transform="matrix(0.44279,0,0,0.44279,-2784.62,911.446)">
|
||||
<path d="M9093.2,2236.52L9115.98,2240.43C9167.2,2253.76 9168.8,2284.95 9189.66,2329.1C9138.91,2343.37 9117.71,2368.99 9109.42,2396.97C9107.81,2402.4 9106.69,2407.91 9105.93,2413.44C9104.99,2417.49 9104.54,2421.39 9104.58,2425.14C9104.48,2429.06 9104.51,2443.26 9104.58,2462.99C9104.58,2511.29 9104.59,2574.25 9104.6,2636.4C9103.54,2634.38 9102.52,2632.31 9101.55,2630.19C9099.08,2624.78 9096.93,2619.01 9095.19,2612.78C9091.98,2600.57 9090.17,2586.65 9090.2,2573.24C9090.38,2508.74 9096.85,2433.25 8986.93,2406.91C8989.55,2405.7 8992.14,2404.43 8994.7,2403.13C9011.35,2394.63 9026.82,2384.15 9040.81,2372C9055.93,2358.87 9069.32,2343.78 9080.57,2327.14C9085.77,2319.44 9090.52,2311.41 9094.78,2303.08C9093.73,2300.03 9092.69,2296.57 9091.67,2292.52C9087.98,2277.85 9087.23,2256.61 9087.4,2239.07C9089.31,2238.28 9091.25,2237.43 9093.2,2236.52Z" style="fill:rgb(242,135,183);"/>
|
||||
</g>
|
||||
<g id="Tasse">
|
||||
<g transform="matrix(0.44279,0,0,0.44279,-1189.24,911.446)">
|
||||
<path d="M5586.66,2329.1C5613.12,2321.66 5647.62,2317.3 5692.51,2317.3C5819.54,2317.3 5874.08,2340.4 5893.03,2392.34C5897.93,2405.8 5900.45,2421.19 5901.22,2438.61L5901.25,2475.31C6048.49,2529.94 5987.72,2703.16 5901.44,2733.12L5901.48,2793.24C5901.52,2845.18 5862.12,2888.66 5810.44,2893.73C5735.82,2901.17 5659.53,2899.87 5581.53,2889.53C5568.38,2887.82 5556.18,2883.38 5545.48,2876.82C5552.57,2868.87 5558.27,2860.45 5562.81,2851.86C5586.85,2806.44 5578.83,2756.42 5576.47,2748.78C5560.49,2697.11 5522.49,2676.14 5501.59,2636.4C5501.58,2574.25 5501.57,2511.29 5501.57,2462.99L5501.57,2433.06C5501.65,2426.56 5502.03,2419.99 5502.93,2413.44C5503.69,2407.91 5504.81,2402.4 5506.41,2396.97C5514.7,2368.99 5535.91,2343.37 5586.66,2329.1ZM5692.88,2437.58C5622.87,2439.34 5553.73,2427.99 5545.97,2392.92C5538.69,2360.07 5581.36,2345.57 5628.34,2339.39L5705.61,2335.1C5721.88,2335.16 5733.77,2335.7 5737.28,2335.86C5740.73,2336.15 5860.41,2329.11 5846.43,2400.22C5842.92,2418.11 5774.35,2434.11 5703.54,2437.21C5706.38,2492.15 5706.65,2510.71 5702.06,2581.99C5726.51,2578.57 5750.55,2577.23 5762.55,2582.38C5776.99,2588.58 5776.71,2737.16 5775.69,2739.33C5775.22,2740.31 5645.24,2755.2 5636.28,2738.1C5623.36,2713.44 5628.31,2650.92 5629.36,2596.55C5634.69,2595.22 5662.12,2588.36 5691.39,2583.61C5691.33,2583.23 5691.32,2582.84 5691.34,2582.44C5695.97,2510.77 5695.71,2492.49 5692.88,2437.62C5692.88,2437.61 5692.88,2437.59 5692.88,2437.58ZM5901.3,2546.46L5901.39,2659.7C5910.03,2651.39 5917.71,2642.46 5922,2632.7C5947.15,2575.5 5919.22,2554.13 5901.3,2546.46Z" style="fill:rgb(64,41,123);"/>
|
||||
</g>
|
||||
<g transform="matrix(0.489303,0,0,0.489303,-1454.2,806.259)">
|
||||
<path d="M5693.21,2420.84C5629.85,2422.43 5567.29,2412.16 5560.26,2380.42C5553.68,2350.69 5592.29,2337.57 5634.8,2331.99L5704.73,2328.1C5719.46,2328.15 5730.22,2328.64 5733.39,2328.79C5736.51,2329.05 5844.82,2322.68 5832.17,2387.03C5828.98,2403.22 5766.94,2417.69 5702.86,2420.51C5702.85,2420.46 5702.85,2420.42 5702.85,2420.38C5702.71,2417.72 5700.44,2415.67 5697.78,2415.81C5695.13,2415.94 5693.09,2418.19 5693.21,2420.84Z" style="fill:rgb(41,39,83);"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(0.44279,0,0,0.44279,-1189.24,911.446)">
|
||||
<path d="M5545.48,2876.82C5534.85,2888.72 5521.08,2899.53 5503.3,2908.2C5360.7,2977.71 5254.29,2939.17 5207.49,2928.16C5089.61,2970.2 4942.84,2958.57 4877.96,2883.54C4743.74,2728.31 4893.53,2543.12 4902.3,2526.15C4972.1,2391.04 4822.28,2286.46 5030.99,2142.75C5024.02,2151.03 5017.67,2162.31 5022.02,2173.08C5028.66,2189.52 5045.73,2184.78 5060.02,2179.45C5063.64,2178.1 5067.08,2176.71 5070.12,2175.62C5066.04,2181.56 5062.37,2186.89 5059.3,2191.75C5046.79,2211.55 5044.04,2223.78 5062.64,2239.08C5081.51,2346.37 5175.26,2428 5287.92,2428C5313.26,2428 5337.63,2423.87 5360.41,2416.25C5368.46,2413.56 5376.3,2410.44 5383.92,2406.91C5493.84,2433.25 5487.37,2508.74 5487.2,2573.24C5487.15,2588.41 5488.99,2601.37 5492.18,2612.78C5494.59,2621.93 5497.79,2630.12 5501.59,2636.4C5522.49,2676.14 5560.49,2697.11 5576.47,2748.78C5578.83,2756.42 5586.85,2806.44 5562.81,2851.86C5558.27,2860.45 5552.57,2868.87 5545.48,2876.82Z" style="fill:rgb(247,183,211);"/>
|
||||
</g>
|
||||
<g transform="matrix(0.44279,0,0,0.44279,-1189.24,911.446)">
|
||||
<path d="M5501.59,2636.4C5497.79,2630.12 5494.59,2621.93 5492.18,2612.78C5493.93,2619.01 5496.07,2624.78 5498.55,2630.19C5499.51,2632.31 5500.53,2634.38 5501.59,2636.4Z" style="fill:rgb(247,183,211);"/>
|
||||
</g>
|
||||
<g id="Kopf">
|
||||
<g transform="matrix(0.44279,0,0,0.44279,-2784.62,911.446)">
|
||||
<path d="M8634,2142.75C8639.51,2136.21 8645.4,2131.55 8646.73,2130.51L8648.09,2128.55C8660.73,2114.49 8677.4,2100.8 8690.01,2089.88C8696.11,2084.6 8701.27,2079.96 8704.55,2076.25C8702.07,2076.59 8699.75,2076.84 8697.58,2077.02C8668.48,2079.43 8666.21,2068.32 8663.7,2063.84C8662.94,2062.49 8660.74,2050.62 8695.41,2034.55C8719.86,2023.23 8742.36,2016.15 8759.96,2011.72C8780.33,2006.6 8794.16,2005.03 8796.91,2004.52L8796.95,2003.86C8791.7,2000.81 8792.22,2000.17 8786.72,1997.9C8786.3,1997.73 8785.45,1997.38 8784.32,1996.84C8778.66,1994.17 8765.84,1986.84 8763.93,1973.78C8761.04,1954.09 8829.52,1951.68 8852.1,1954.24C8875.33,1956.87 8874.69,1960.25 8902.35,1962.91C8863.96,1922.8 8881.86,1915.36 8885.88,1915.41C8908.45,1915.73 8950.69,1953.98 8958.87,1959.54C8962.77,1962.19 8963.58,1960.59 9000.24,1980.31C9014.56,1988.02 9040.2,1995.42 9071.78,2057.28C9039.59,2060.12 8999.68,2078.14 8951.13,2124.98C8920.24,2154.79 8935.43,2160.47 8937.01,2203.49C8985,2231.95 9028.37,2263.39 9087.4,2239.07C9087.23,2256.61 9087.98,2277.85 9091.67,2292.52C9092.69,2296.57 9093.73,2300.03 9094.78,2303.08C9090.52,2311.41 9085.77,2319.44 9080.57,2327.14C9069.32,2343.78 9055.93,2358.87 9040.81,2372C9026.82,2384.15 9011.35,2394.63 8994.7,2403.13C8992.14,2404.43 8989.55,2405.7 8986.93,2406.91C8979.31,2410.44 8971.46,2413.56 8963.42,2416.25C8940.64,2423.87 8916.26,2428 8890.93,2428C8778.27,2428 8684.52,2346.37 8665.64,2239.08C8647.05,2223.78 8649.8,2211.55 8662.3,2191.75C8665.38,2186.89 8669.05,2181.56 8673.13,2175.62C8670.09,2176.71 8666.65,2178.1 8663.03,2179.45C8648.74,2184.78 8631.66,2189.52 8625.02,2173.08C8620.67,2162.31 8627.02,2151.03 8634,2142.75ZM8810.9,2143.97C8813.04,2149.66 8809.97,2157.32 8804.34,2159.62C8779.35,2169.86 8765.58,2085.96 8826.5,2071.15C8913.02,2050.11 8909.28,2172.06 8878.18,2145.57C8868.9,2137.66 8882.59,2095.39 8849.06,2093.16C8815.2,2090.91 8800.55,2116.5 8810.9,2143.97ZM8851.47,2202C8850.75,2201.13 8844.88,2195.36 8837.84,2194.64C8829.2,2193.76 8823.67,2198.88 8823.2,2199.12C8821.91,2197.88 8815.31,2191.23 8810.74,2189.4C8806.16,2187.57 8797.65,2187.93 8795.76,2188.14C8791.75,2183.81 8788.72,2181.5 8785.51,2179.95C8781.01,2177.77 8775.69,2177.22 8763.45,2176.61C8755.84,2176.23 8749.36,2182.1 8748.98,2189.71C8748.59,2197.32 8754.47,2203.8 8762.07,2204.18C8767.3,2204.45 8772.28,2204.81 8773.49,2204.9C8774.02,2205.41 8777.98,2211.27 8783.93,2213.69C8789.62,2216 8798.38,2215.66 8800.35,2215.43C8803.84,2218.87 8811.62,2227.47 8819.92,2227.62C8824.8,2227.7 8828.12,2227.36 8834.21,2224.48C8834.48,2224.8 8840.76,2233.51 8850.3,2233.41C8859.4,2233.32 8865.18,2228.58 8871.14,2221.37C8876,2215.5 8876.48,2207.22 8871.08,2201.85C8865.67,2196.48 8856.92,2196.51 8851.55,2201.91L8851.47,2202Z" style="fill:rgb(64,41,123);"/>
|
||||
</g>
|
||||
<g transform="matrix(-0.764042,-0.00207054,-0.00207054,0.764042,1545.62,1586.69)">
|
||||
<path d="M536.732,393.815C537.15,393.314 540.56,389.977 544.641,389.572C549.649,389.074 552.846,392.051 553.117,392.189C553.867,391.472 557.704,387.629 560.358,386.576C563.012,385.524 567.942,385.745 569.041,385.874C571.371,383.369 573.131,382.034 574.994,381.14C577.605,379.887 580.684,379.575 587.781,379.24C592.191,379.031 595.941,382.443 596.149,386.853C596.358,391.264 592.946,395.014 588.536,395.222C585.505,395.365 582.621,395.568 581.916,395.619C581.61,395.915 579.304,399.304 575.853,400.696C572.553,402.028 567.478,401.813 566.333,401.679C564.311,403.667 559.787,408.641 554.975,408.712C552.149,408.754 550.222,408.552 546.698,406.874C546.543,407.057 542.886,412.095 537.361,412.022C532.088,411.953 528.743,409.197 525.301,405.01C522.497,401.599 522.229,396.799 525.37,393.696C528.511,390.593 533.581,390.624 536.683,393.766L536.732,393.815Z" style="fill:rgb(242,135,183);"/>
|
||||
</g>
|
||||
<g transform="matrix(0.801288,0.0280515,-0.0280515,0.801288,291.021,326.878)">
|
||||
<path d="M1096.18,1875.91C1097.48,1879.01 1095.93,1883.3 1092.87,1884.68C1079.27,1890.81 1070.05,1844.77 1103.39,1835.42C1150.74,1822.14 1151.02,1889.52 1133.35,1875.5C1128.07,1871.31 1134.81,1847.72 1116.26,1847.14C1097.53,1846.55 1089.94,1860.95 1096.18,1875.91Z" style="fill:rgb(247,183,211);"/>
|
||||
</g>
|
||||
<g transform="matrix(0.632697,0,0,0.594867,-2235.6,594.043)">
|
||||
<g transform="matrix(0.845639,0,0,0.899416,890.266,150.218)">
|
||||
<path d="M5441.99,2268.76C5390.67,2271.13 5379.45,2270.73 5337.65,2239.18C5373.06,2221.12 5381.6,2218.77 5417.32,2185.65C5418.86,2184.22 5420.44,2182.74 5422.08,2181.2C5435.24,2168.84 5469.33,2167.8 5491.89,2168.6C5458.33,2189.75 5456.66,2203.69 5433.66,2219.17C5453.07,2237.82 5454.18,2243.09 5463.35,2267.79C5455.51,2268.12 5448.43,2268.46 5441.99,2268.76Z" style="fill:rgb(255,137,0);"/>
|
||||
</g>
|
||||
<g transform="matrix(0.845639,0,0,0.899416,890.266,150.218)">
|
||||
<path d="M5441.76,2279.26C5392.91,2299.39 5357.01,2273.37 5317.3,2249.81C5315.99,2214.21 5303.42,2209.51 5328.98,2184.84C5369.16,2146.07 5402.2,2131.16 5428.83,2128.81C5473.76,2124.85 5500.48,2156.63 5512.57,2169.96C5510.28,2169.74 5502.32,2168.97 5491.89,2168.6C5469.33,2167.8 5435.24,2168.84 5422.08,2181.2C5420.44,2182.74 5418.86,2184.22 5417.32,2185.65C5381.6,2218.77 5373.06,2221.12 5337.65,2239.18C5379.45,2270.73 5390.67,2271.13 5441.99,2268.76C5448.43,2268.46 5455.51,2268.12 5463.35,2267.79C5457.58,2271.52 5451.99,2274.62 5446.56,2277.15C5444.95,2277.91 5443.34,2278.61 5441.76,2279.26Z" style="fill:rgb(255,205,0);"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Etikett">
|
||||
<g transform="matrix(0.44279,0,0,0.44279,-1189.24,911.446)">
|
||||
<path d="M5702.06,2581.99C5726.51,2578.57 5750.55,2577.23 5762.55,2582.38C5776.99,2588.58 5776.71,2737.16 5775.69,2739.33C5775.22,2740.31 5645.24,2755.2 5636.28,2738.1C5623.36,2713.44 5628.31,2650.92 5629.36,2596.55C5634.69,2595.22 5662.12,2588.36 5691.39,2583.61C5691.77,2586.02 5693.78,2587.94 5696.32,2588.11C5699.26,2588.3 5701.8,2586.06 5701.98,2583.13C5702.01,2582.75 5702.03,2582.37 5702.06,2581.99ZM5652.42,2670.94C5641.83,2660.2 5641.95,2642.88 5652.69,2632.29C5663.43,2621.7 5680.75,2621.81 5691.34,2632.55L5697.65,2638.94L5705.75,2627.84C5714.64,2615.65 5731.76,2612.98 5743.94,2621.87C5756.13,2630.77 5758.8,2647.88 5749.91,2660.07L5707.91,2717.61C5706.91,2718.98 5705.35,2719.85 5703.65,2719.97C5701.96,2720.1 5700.29,2719.47 5699.09,2718.26L5652.42,2670.94Z" style="fill:rgb(255,205,0);"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1.11432,0,-234.945)">
|
||||
<path d="M1331.5,1997.38C1331.45,1996.22 1332.45,1995.23 1333.74,1995.17C1335.04,1995.11 1336.15,1996.01 1336.22,1997.17C1336.22,1997.19 1336.22,1997.21 1336.23,1997.23C1335.17,1997.27 1334.11,1997.31 1333.05,1997.34C1332.53,1997.35 1332.02,1997.37 1331.5,1997.38Z" style="fill:rgb(255,205,0);"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1.11432,0,-234.945)">
|
||||
<path d="M1330.85,2055.41C1331.62,2055.29 1332.4,2055.18 1333.18,2055.08C1333.98,2054.97 1334.77,2054.86 1335.57,2054.76C1335.56,2054.91 1335.55,2055.06 1335.54,2055.21C1335.45,2056.38 1334.33,2057.27 1333.03,2057.19C1331.9,2057.13 1331.02,2056.36 1330.85,2055.41Z" style="fill:rgb(255,205,0);"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1.11432,0,-234.945)">
|
||||
<path d="M1336.23,1997.23C1337.48,2019.06 1337.6,2026.44 1335.57,2054.76C1334.77,2054.86 1333.98,2054.97 1333.18,2055.08C1332.4,2055.18 1331.62,2055.29 1330.85,2055.41C1330.82,2055.25 1330.81,2055.1 1330.82,2054.94C1332.87,2026.46 1332.76,2019.2 1331.51,1997.39C1331.5,1997.39 1331.5,1997.38 1331.5,1997.38C1332.02,1997.37 1332.53,1997.35 1333.05,1997.34C1334.11,1997.31 1335.17,1997.27 1336.23,1997.23Z" style="fill:rgb(255,205,0);"/>
|
||||
</g>
|
||||
<g transform="matrix(0.44279,0,0,0.44279,-1189.72,902.025)">
|
||||
<path d="M5653.49,2692.22C5642.89,2681.48 5643.01,2664.16 5653.75,2653.56C5664.49,2642.97 5681.82,2643.09 5692.41,2653.83L5698.71,2660.22L5706.82,2649.11C5715.71,2636.93 5732.82,2634.26 5745.01,2643.15C5757.19,2652.04 5759.86,2669.16 5750.97,2681.34L5708.98,2738.88C5707.97,2740.26 5706.41,2741.12 5704.72,2741.25C5703.02,2741.38 5701.35,2740.75 5700.16,2739.54L5653.49,2692.22Z" style="fill:rgb(64,41,123);"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(1.62827,0,0,1.15775,11647.7,4084.19)">
|
||||
<path d="M4321.82,2650.17C4335.16,2589.55 4341.48,2548.68 4303.97,2512.3C4237.93,2448.23 3913.01,2168.16 3887.94,1890.96C3874.93,1747.08 3935.52,1570.85 4121.8,1440.01C4173.9,1403.4 4397.02,1274.75 4432.21,1231.5C4504.25,1142.98 4538.6,1064.83 4542.29,1048.12C4550.57,1010.66 4560.73,991.471 4569.86,988.633C4583.78,984.306 4596.96,995.036 4599.38,1002.89C4658.05,1194.08 4629.33,1500.27 4413.17,1606.53C4362.44,1631.47 4311.24,1655.48 4260.39,1680.18C4215.16,1702.15 4095.32,1765.74 4111.32,1894.08C4119.02,1955.8 4203.45,2048.47 4213.96,2060.01C4344.52,2203.31 4556.28,2384.6 4573.53,2484.21C4575.72,2496.87 4588.84,2572.62 4556.75,2643.85C4536.49,2688.84 4528.96,2683.49 4430.93,2778.62C4413.09,2795.93 4374.13,2841.24 4369.34,2846.81C4333.24,2888.8 4336.16,2896.86 4320.63,2894.32C4318.14,2893.92 4302.54,2891.37 4299.77,2870.7C4290.31,2800.04 4318.01,2667.48 4321.82,2650.17Z" style="fill:rgb(247,183,211);"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(0.614148,0,0,0.863747,-8279.46,-6589.16)">
|
||||
<g transform="matrix(1.62827,0,0,1.18976,-34044.1,-276.538)">
|
||||
<path d="M29148.3,8369.47C29311.3,8302.85 29383.5,8371.68 29414.3,8300.09C29486.9,8131.31 28924.8,8113.93 28925,8731.37C28925.1,9192.96 29452.3,9066.77 29321.6,8911.81C29263,8842.28 29111.2,8943.43 29065.4,8822.3C28982.5,8603.03 29092.4,8392.3 29148.3,8369.47Z" style="fill:rgb(64,41,123);"/>
|
||||
</g>
|
||||
<g transform="matrix(1.62827,0,0,1.12835,-34037.5,287.009)">
|
||||
<path d="M29700.5,8256.51C29734.3,8261.78 29949.3,8490.54 29838.7,8755.6C29823.3,8792.52 29586.9,9415.61 29354.9,8716.56C29330.1,8641.78 29388.2,8207.8 29700.5,8256.51ZM29622.2,8391.95C29317.7,8551.37 29551,8941.4 29616.7,8904.4C29836.1,8780.72 29720.3,8340.62 29622.2,8391.95Z" style="fill:rgb(64,41,123);"/>
|
||||
</g>
|
||||
<g transform="matrix(1.62827,0,0,1.15775,-34021.3,-14.4309)">
|
||||
<path d="M30237.4,8200.58C30126.9,8165.78 30029.7,8240.31 29857.9,8224.64C29843.2,8223.31 29754,8269 29848,8342.53C29942.4,8416.5 30205.2,8287.39 30115.1,8450.36C29912.9,8815.91 29654.4,9057.23 30069.1,9081.25C30305.2,9094.92 30441.8,8879.44 30371.9,8840.54C30317,8809.93 29993.7,9077.88 30016.1,8804.54C30022.2,8730.54 30470.4,8273.91 30237.4,8200.58Z" style="fill:rgb(64,41,123);"/>
|
||||
</g>
|
||||
<g transform="matrix(1.62827,0,0,1.19425,-34005,-317.682)">
|
||||
<path d="M30500.3,8306.84C30329.7,8264.78 30217.8,8613.62 30340.6,8650.96C30520,8705.51 30485.3,8752.93 30499.4,8938.28C30510.9,9089.91 30682.8,9082.11 30666,8972.85C30641.6,8814.77 30581.4,8757.53 30736.4,8718.88C30897.2,8678.81 30936.3,8187.72 30760.8,8345.76C30688.7,8410.72 30805.5,8581.82 30661.9,8626.45C30510.2,8673.61 30428.3,8545.86 30439.1,8505.03C30468.6,8393.92 30588.2,8328.52 30500.3,8306.84Z" style="fill:rgb(64,41,123);"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(0.614148,0,0,0.863747,-8003.93,-6589.16)">
|
||||
<g transform="matrix(1.62827,0,0,1.20505,-34005,-468.246)">
|
||||
<path d="M32086.6,8251.22C32157.8,8254.15 32477.7,8423.34 32280.7,8697.07C32247,8743.96 32313.8,8834.76 32330.4,8903.65C32354.5,9003.74 32384.1,9089.96 32325.4,9097.5C32169,9117.58 32257.3,8827.15 32127.1,8833.91C32057.1,8837.53 32080.9,9097.12 31971.3,9101.97C31856.1,9107.08 31968.4,8812.56 31967.2,8756.93C31962,8516.36 31759.6,8237.78 32086.6,8251.22ZM32098.8,8395C31958.7,8318.67 32040.2,8691.92 32114.1,8694.85C32179.8,8697.45 32325,8518.34 32098.8,8395Z" style="fill:rgb(64,41,123);"/>
|
||||
</g>
|
||||
<g transform="matrix(1.62827,0,0,1.0591,-34070.1,878.801)">
|
||||
<path d="M32631.1,8843.75C32508.8,8868.32 32692.6,9085.46 32564.6,9073.59C32244.9,9043.94 32616.9,7718.13 32868.6,8665.88C32888,8738.99 32922.5,9077.09 32869.7,9083.6C32729.5,9100.93 32802,8809.45 32631.1,8843.75ZM32582.6,8738.08C32654.9,8710.18 32716.1,8743.72 32740.1,8718.69C32798.7,8657.31 32714.5,8520.97 32664.8,8526.23C32585.3,8534.64 32511.9,8765.32 32582.6,8738.08Z" style="fill:rgb(64,41,123);"/>
|
||||
</g>
|
||||
<g transform="matrix(1.62827,0,0,1.36008,-34102.7,-1827.28)">
|
||||
<path d="M33026.4,8550.27C32977.4,8383.16 32834,8271.69 32784.7,8347.52C32758.6,8387.61 32912.6,8395.92 33035.2,8989.39C33052.3,9072.25 33179.2,9126.91 33200.4,8922.24C33252.8,8415.98 33387.5,8298.73 33235.3,8316.62C33093.4,8333.31 33160.2,8765.88 33109.9,8768.02C33065.9,8769.89 33048.9,8627.05 33026.4,8550.27Z" style="fill:rgb(64,41,123);"/>
|
||||
</g>
|
||||
<g transform="matrix(1.62827,0,0,1.24265,-34119,-832.44)">
|
||||
<path d="M33701.5,8300.06C33391.9,8265.58 33401.3,8422.23 33373.1,8623.8C33356.5,8742.87 33256.3,8991.83 33298.2,9070.23C33341.4,9151.04 33781.3,9124.86 33623.2,8985.18C33579.4,8946.47 33327.3,9081.2 33431.3,8823.7C33480.3,8702.31 33588,8786 33600.1,8674.91C33606.2,8618.56 33393.1,8653.76 33501.4,8464.6C33556.1,8368.97 33625.6,8426.08 33720.2,8422.39C33800.5,8419.26 33863.7,8318.14 33701.5,8300.06Z" style="fill:rgb(64,41,123);"/>
|
||||
</g>
|
||||
<g transform="matrix(1.62827,0,0,1.15775,-34143.4,-37.5607)">
|
||||
<path d="M33814.7,8430.06C33689.4,8510.35 33713.9,9051.12 33763.9,9081.07C33935,9183.4 33789.8,8606.13 33866,8692.8C33945.8,8783.43 34007.9,9254.38 34115.9,9016.18C34175.2,8885.4 34174.7,8324.05 34076.5,8296.13C33919.4,8251.45 34100.8,8803.81 34033.2,8737.82C33896.5,8604.46 33878.8,8389.04 33814.7,8430.06Z" style="fill:rgb(64,41,123);"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 20 KiB |
@@ -0,0 +1,37 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://blbplxfx41f8t"
|
||||
path="res://.godot/imported/Cozy Raven Logo breit.svg-f5cfe115294b9e3edf05578239074286.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/logos/Cozy Raven Logo breit.svg"
|
||||
dest_files=["res://.godot/imported/Cozy Raven Logo breit.svg-f5cfe115294b9e3edf05578239074286.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
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/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=1.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
|
After Width: | Height: | Size: 19 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cwbv2i8ntq15d"
|
||||
path="res://.godot/imported/FS_Logo_2zeilig_rot.png-d7f9780942dbf9fad2bbeca2da59457f.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/logos/FS_Logo_2zeilig_rot.png"
|
||||
dest_files=["res://.godot/imported/FS_Logo_2zeilig_rot.png-d7f9780942dbf9fad2bbeca2da59457f.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
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/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
|
||||
|
After Width: | Height: | Size: 11 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bn56p0ytuo060"
|
||||
path="res://.godot/imported/AttackButton.png-ab1949863046f66b014201d64778c962.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/ui/UI/AttackButton.png"
|
||||
dest_files=["res://.godot/imported/AttackButton.png-ab1949863046f66b014201d64778c962.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
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/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
|
||||
|
After Width: | Height: | Size: 8.4 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://crak7ton4lab0"
|
||||
path="res://.godot/imported/EmptyFightButton.png-941012f14ef5a6d6a385ea2e7599c6bb.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/ui/UI/EmptyFightButton.png"
|
||||
dest_files=["res://.godot/imported/EmptyFightButton.png-941012f14ef5a6d6a385ea2e7599c6bb.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
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/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
|
||||
|
After Width: | Height: | Size: 13 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bcs0e1bpu8wm1"
|
||||
path="res://.godot/imported/MagicButton.png-f688abbb37e617bc75b48afd1bffb745.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/ui/UI/MagicButton.png"
|
||||
dest_files=["res://.godot/imported/MagicButton.png-f688abbb37e617bc75b48afd1bffb745.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
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/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
|
||||
|
After Width: | Height: | Size: 32 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cfrhmcyhs2i53"
|
||||
path="res://.godot/imported/WhiteWashBackground.png-3d018823c98cf319bfb04b1f68d9db23.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/ui/UI/WhiteWashBackground.png"
|
||||
dest_files=["res://.godot/imported/WhiteWashBackground.png-3d018823c98cf319bfb04b1f68d9db23.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
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/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
|
||||
|
After Width: | Height: | Size: 8.7 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://qlfwuakhe57t"
|
||||
path="res://.godot/imported/attack_select_wheel.png-437439dea02962dbfc00f0c03b7b3deb.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/ui/UI/attack_select_wheel.png"
|
||||
dest_files=["res://.godot/imported/attack_select_wheel.png-437439dea02962dbfc00f0c03b7b3deb.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
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/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
|
||||
@@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://vcv1hckwpf4j"
|
||||
path="res://.godot/imported/CreepyForest_90BPM_Intro.wav-ac77ab017b924fdc37c78a363b9510f7.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://audio/Music/CreepyForest_90BPM_Intro.wav"
|
||||
dest_files=["res://.godot/imported/CreepyForest_90BPM_Intro.wav-ac77ab017b924fdc37c78a363b9510f7.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
||||
@@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://bvjy52w673clv"
|
||||
path="res://.godot/imported/CreepyForest_90BPM_Loop.wav-4a54c24ed7bd3d099be79fac1a2ee2bd.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://audio/Music/CreepyForest_90BPM_Loop.wav"
|
||||
dest_files=["res://.godot/imported/CreepyForest_90BPM_Loop.wav-4a54c24ed7bd3d099be79fac1a2ee2bd.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
||||
@@ -8,12 +8,22 @@
|
||||
"sound_moods": {},
|
||||
"style": ""
|
||||
},
|
||||
&"default_portrait": "",
|
||||
&"default_portrait": "_tmp",
|
||||
&"description": "helpful spirit forest",
|
||||
&"display_name": "Chuga",
|
||||
&"mirror": false,
|
||||
&"nicknames": [""],
|
||||
&"offset": Vector2(0, 0),
|
||||
&"portraits": {},
|
||||
&"portraits": {
|
||||
"_tmp": {
|
||||
"export_overrides": {
|
||||
"image": "\"res://art/characters/chugeist_tmp.png\""
|
||||
},
|
||||
"mirror": false,
|
||||
"offset": Vector2(0, 0),
|
||||
"scale": 1,
|
||||
"scene": ""
|
||||
}
|
||||
},
|
||||
&"scale": 1.0
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
join vesna left
|
||||
join vesna center
|
||||
That’s the last one. I should get back to Yeli.
|
||||
[end_timeline]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
join Yeli center
|
||||
join Yeli right
|
||||
join vesna left
|
||||
Yeli (_part_side): Come here, you little quacking beast!
|
||||
- What a mess!
|
||||
|
||||
@@ -8,8 +8,8 @@ Vesna2: What?
|
||||
Domovoi: Just say it!
|
||||
Vesna2: Rosty…rosty?
|
||||
# Hier wächst die rote Beete magisch. Mit einem Signal/Ereignis?
|
||||
[signal]
|
||||
[signal arg="MagicWord"]
|
||||
Vesna2: It worked! How did it work?
|
||||
Vesna2: Thank y…and he’s gone.
|
||||
Vesna2: Thank y…and he’s gone.
|
||||
What a truly quirky individual.
|
||||
[end_timeline]
|
||||
|
||||
@@ -2,4 +2,5 @@ join Chuga center
|
||||
Chuga: I believe you’ve seen enough for today.
|
||||
Chuga: And yes, you too.
|
||||
Thank you for playing!
|
||||
do SceneTransition.ChangeSceneToFileThreaded("res://scenes/Babushka_scene_credits.tscn")
|
||||
[end_timeline]
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
join vesna center
|
||||
[text_input text="What shold I say?" var="MAGICWORD" placeholder="Expelliarmus!" allow_empty="true"]
|
||||
if {MAGICWORD} == "Rosty Rosty":
|
||||
vesna: That did the trick!
|
||||
[signal arg="MagicWord"]
|
||||
else:
|
||||
vesna: Didn't seem to work...
|
||||
[end_timeline]
|
||||
@@ -0,0 +1 @@
|
||||
uid://dtcypgqal1ids
|
||||
@@ -1,7 +1,6 @@
|
||||
join Yeli center
|
||||
Yeli: Woah, what's going on here?
|
||||
Yeli: Seems like this room isn't ready for business yet.
|
||||
Yeli: Let's wait until the developers are done with it, shall we?
|
||||
Yeli: See you at {SHOW}!
|
||||
Yeli: Thank you for your help out there.
|
||||
Yeli: You must be tired. Please rest. I prepared a bed for you. It's in the room to the left.
|
||||
Yeli: There is nothing interesting to see here.
|
||||
leave Yeli
|
||||
[end_timeline]
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
[gd_scene load_steps=15 format=3 uid="uid://sbf12hin4kes"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://bylgmr0skwtrs" path="res://art/farm/farming/farmobjekte/broken tools atlas.png" id="1_k4ca3"]
|
||||
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="2_gcgfd"]
|
||||
[ext_resource type="AudioStream" uid="uid://be6g8b3v3u1ai" path="res://audio/sfx/Kitchen/SFX_Cooking_Knife_PickUp_01.wav" id="3_ktmp7"]
|
||||
[ext_resource type="AudioStream" uid="uid://cgjsajsdrrn0j" path="res://audio/sfx/Kitchen/SFX_Cooking_Knife_PutDown_01.wav" id="4_ic616"]
|
||||
[ext_resource type="AudioStream" uid="uid://br4drgupled6c" path="res://audio/sfx/Kitchen/SFX_Cooking_Pot_01.wav" id="5_dx175"]
|
||||
[ext_resource type="AudioStream" uid="uid://dd3qyaox6mx4i" path="res://audio/sfx/Kitchen/SFX_Cooking_Pot_02.wav" id="6_u7jgg"]
|
||||
[ext_resource type="AudioStream" uid="uid://b1qhh35hugoy0" path="res://audio/sfx/Kitchen/SFX_Cooking_Pot_03.wav" id="7_bu430"]
|
||||
[ext_resource type="AudioStream" uid="uid://ceob726q4obuw" path="res://audio/sfx/Kitchen/SFX_Cooking_Utensils_02.wav" id="8_gnu24"]
|
||||
[ext_resource type="AudioStream" uid="uid://tjuxapc4wuss" path="res://audio/sfx/Kitchen/SFX_Cutlery_02.wav" id="9_vmxy4"]
|
||||
[ext_resource type="AudioStream" uid="uid://duiyhe7yiyotb" path="res://audio/sfx/Kitchen/SFX_Cutlery_03.wav" id="10_aqih4"]
|
||||
[ext_resource type="AudioStream" uid="uid://bc216pfieuc8h" path="res://audio/sfx/Kitchen/SFX_Cutlery_04.wav" id="11_kb03l"]
|
||||
[ext_resource type="AudioStream" uid="uid://dp6qen84ptlvx" path="res://audio/sfx/Kitchen/SFX_Cutlery_05.wav" id="12_kka6u"]
|
||||
[ext_resource type="Script" uid="uid://cfnrd5k1k0gxw" path="res://scripts/CSharp/Common/AudioPlayer.cs" id="13_wswkg"]
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_dich4"]
|
||||
streams_count = 10
|
||||
stream_0/stream = ExtResource("3_ktmp7")
|
||||
stream_1/stream = ExtResource("4_ic616")
|
||||
stream_2/stream = ExtResource("5_dx175")
|
||||
stream_3/stream = ExtResource("6_u7jgg")
|
||||
stream_4/stream = ExtResource("7_bu430")
|
||||
stream_5/stream = ExtResource("8_gnu24")
|
||||
stream_6/stream = ExtResource("9_vmxy4")
|
||||
stream_7/stream = ExtResource("10_aqih4")
|
||||
stream_8/stream = ExtResource("11_kb03l")
|
||||
stream_9/stream = ExtResource("12_kka6u")
|
||||
|
||||
[node name="trashObject" type="Sprite2D"]
|
||||
texture = ExtResource("1_k4ca3")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(57, 493, 334, 475)
|
||||
|
||||
[node name="InteractionArea" parent="." instance=ExtResource("2_gcgfd")]
|
||||
|
||||
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."]
|
||||
stream = SubResource("AudioStreamRandomizer_dich4")
|
||||
bus = &"SFX"
|
||||
playback_type = 2
|
||||
script = ExtResource("13_wswkg")
|
||||
|
||||
[connection signal="Interacted" from="InteractionArea" to="." method="queue_free"]
|
||||
[connection signal="Interacted" from="InteractionArea" to="AudioStreamPlayer2D" method="PlayOneShot"]
|
||||
@@ -458,6 +458,7 @@ expand_mode = 1
|
||||
[node name="QuestLogRoot" parent="." instance=ExtResource("7_vvo7l")]
|
||||
|
||||
[node name="Control" type="Control" parent="."]
|
||||
visible = false
|
||||
layout_mode = 3
|
||||
anchors_preset = 2
|
||||
anchor_top = 1.0
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
[gd_scene load_steps=8 format=3 uid="uid://ddpl8cbck7e6s"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://d0kgxh4ykuv23" path="res://scripts/CSharp/Common/NPC/TalkingCharacter.cs" id="1_xix7p"]
|
||||
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="2_udjjv"]
|
||||
[ext_resource type="Texture2D" uid="uid://bgba1uv0muxat" path="res://art/characters/chugeist_tmp.png" id="3_42og6"]
|
||||
[ext_resource type="Script" uid="uid://d2486x6upmwqq" path="res://scripts/GdScript/dialogic_starter.gd" id="43_xooq4"]
|
||||
[ext_resource type="Script" path="res://scripts/GdScript/dialogic_toggle.gd" id="44_v6w16"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_at1n1"]
|
||||
resource_local_to_scene = true
|
||||
radius = 345.552
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_aqu1t"]
|
||||
radius = 84.0
|
||||
height = 168.0
|
||||
|
||||
[node name="Chuga" type="Node2D"]
|
||||
editor_description = "This Scene seems a bit Chuga coated"
|
||||
z_index = 1
|
||||
y_sort_enabled = true
|
||||
script = ExtResource("1_xix7p")
|
||||
|
||||
[node name="InteractionArea" parent="." instance=ExtResource("2_udjjv")]
|
||||
position = Vector2(0, -450)
|
||||
scale = Vector2(2.805, 2.805)
|
||||
|
||||
[node name="CollisionShape3D" parent="InteractionArea/Area2D" index="0"]
|
||||
position = Vector2(-4.99109, 63.4581)
|
||||
shape = SubResource("CircleShape2D_at1n1")
|
||||
|
||||
[node name="Label" parent="InteractionArea" index="1"]
|
||||
z_index = 5
|
||||
custom_minimum_size = Vector2(10, 10)
|
||||
offset_left = -131.194
|
||||
offset_top = -157.219
|
||||
offset_right = 115.806
|
||||
offset_bottom = -54.2193
|
||||
theme_override_font_sizes/font_size = 60
|
||||
text = "[E] talk"
|
||||
|
||||
[node name="TalkingControl" type="Node2D" parent="."]
|
||||
|
||||
[node name="Visual" type="Sprite2D" parent="TalkingControl"]
|
||||
position = Vector2(-39, -770)
|
||||
scale = Vector2(1.81875, 1.81875)
|
||||
texture = ExtResource("3_42og6")
|
||||
|
||||
[node name="Dialogic starter" type="Node2D" parent="."]
|
||||
script = ExtResource("43_xooq4")
|
||||
|
||||
[node name="DialogicToggle" type="Node2D" parent="Dialogic starter"]
|
||||
script = ExtResource("44_v6w16")
|
||||
|
||||
[node name="AnimatableBody2D" type="AnimatableBody2D" parent="."]
|
||||
position = Vector2(0, -172)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="AnimatableBody2D"]
|
||||
position = Vector2(0, 94)
|
||||
shape = SubResource("CapsuleShape2D_aqu1t")
|
||||
|
||||
[connection signal="Talking" from="." to="Dialogic starter" method="open"]
|
||||
[connection signal="Interacted" from="InteractionArea" to="." method="ToggleTalking"]
|
||||
[connection signal="timelineEnded" from="Dialogic starter/DialogicToggle" to="." method="ToggleTalking"]
|
||||
|
||||
[editable path="InteractionArea"]
|
||||
@@ -471,7 +471,7 @@
|
||||
[ext_resource type="Texture2D" uid="uid://3pj2q7wtuion" path="res://art/farm/farming/farmobjekte/hoe.png" id="815_1ia2b"]
|
||||
[ext_resource type="Texture2D" uid="uid://x8hr8287ff2n" path="res://art/farm/farming/farmobjekte/tools atlas.png" id="816_1a3c1"]
|
||||
[ext_resource type="Script" uid="uid://bcskt5ckh3rqa" path="res://scripts/CSharp/Common/Farming/FarmingControls2D.cs" id="817_6nrw3"]
|
||||
[ext_resource type="PackedScene" uid="uid://b1d2e7ely6hyw" path="res://prefabs/farm/base_field_2d.tscn" id="818_16w6h"]
|
||||
[ext_resource type="PackedScene" uid="uid://b1d2e7ely6hyw" path="res://prefabs/farm/tomato_field.tscn" id="818_16w6h"]
|
||||
[ext_resource type="Script" uid="uid://cvkw4qd2hxksi" path="res://scripts/GdScript/dialogic_toggle.gd" id="819_4na52"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_ssqtd"]
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
[gd_scene load_steps=11 format=3 uid="uid://b1d2e7ely6hyw"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="1_femni"]
|
||||
[ext_resource type="Script" uid="uid://bdffon388rkty" path="res://scripts/CSharp/Common/Farming/FieldBehaviour2D.cs" id="2_femni"]
|
||||
[ext_resource type="Texture2D" uid="uid://cgmu3qlovdr22" path="res://art/masks/field_outline_1.png" id="3_cus02"]
|
||||
[ext_resource type="Texture2D" uid="uid://eg5ej0mtuac" path="res://art/masks/field_outline_2.png" id="4_msuq8"]
|
||||
[ext_resource type="Texture2D" uid="uid://djpigvoyadvjs" path="res://art/masks/field_outline_3.png" id="5_21et0"]
|
||||
[ext_resource type="PackedScene" uid="uid://c3hwbwo423nbm" path="res://prefabs/farm/base_plant_2d.tscn" id="5_femni"]
|
||||
[ext_resource type="Texture2D" uid="uid://c2pirgay3jfnn" path="res://art/farm/tilable grounds/böden/trockene farming erde.png" id="6_4k6eh"]
|
||||
[ext_resource type="Texture2D" uid="uid://ctvdxwgmfaj5c" path="res://art/farm/tilable grounds/böden/nasse farming erde.png" id="7_rrmd3"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_yi42k"]
|
||||
resource_local_to_scene = true
|
||||
radius = 201.345
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_femni"]
|
||||
resource_local_to_scene = true
|
||||
radius = 194.926
|
||||
|
||||
[node name="BaseField" type="Node2D"]
|
||||
|
||||
[node name="InteractionArea2" parent="." instance=ExtResource("1_femni")]
|
||||
visible = false
|
||||
z_index = 1
|
||||
scale = Vector2(2.225, 2.225)
|
||||
|
||||
[node name="FieldBehaviour" type="Sprite2D" parent="." node_paths=PackedStringArray("_fieldSprite", "_maskSprite", "_growingCollider")]
|
||||
z_index = -1
|
||||
scale = Vector2(0.9, 1)
|
||||
script = ExtResource("2_femni")
|
||||
_fieldSprite = NodePath("MaskedField/FieldTexture")
|
||||
_maskSprite = NodePath("MaskedField")
|
||||
_maskTexture = Array[Texture2D]([ExtResource("3_cus02"), ExtResource("4_msuq8"), ExtResource("5_21et0")])
|
||||
Tilled = ExtResource("6_4k6eh")
|
||||
Watered = ExtResource("7_rrmd3")
|
||||
_growingCollider = NodePath("BasePlant/InteractionArea")
|
||||
|
||||
[node name="BasePlant" parent="FieldBehaviour" node_paths=PackedStringArray("_field") instance=ExtResource("5_femni")]
|
||||
_field = NodePath("..")
|
||||
|
||||
[node name="BigPlant" parent="FieldBehaviour/BasePlant" index="2"]
|
||||
position = Vector2(6, -161)
|
||||
|
||||
[node name="InteractionArea" parent="FieldBehaviour/BasePlant" index="3"]
|
||||
z_index = 3
|
||||
|
||||
[node name="CollisionShape3D" parent="FieldBehaviour/BasePlant/InteractionArea/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_yi42k")
|
||||
|
||||
[node name="CollisionShape3D" parent="FieldBehaviour/BasePlant/ReadyPlantInventoryItem/InteractionArea2/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_femni")
|
||||
|
||||
[node name="ReadyPlant" parent="FieldBehaviour/BasePlant/ReadyPlantInventoryItem" index="5"]
|
||||
position = Vector2(0, -291.3)
|
||||
|
||||
[node name="MaskedField" type="Sprite2D" parent="FieldBehaviour"]
|
||||
clip_children = 1
|
||||
scale = Vector2(1.5, 1.5)
|
||||
texture = ExtResource("4_msuq8")
|
||||
|
||||
[node name="FieldTexture" type="Sprite2D" parent="FieldBehaviour/MaskedField"]
|
||||
texture = ExtResource("6_4k6eh")
|
||||
|
||||
[connection signal="Interacted" from="InteractionArea2" to="FieldBehaviour/BasePlant" method="Grow"]
|
||||
|
||||
[editable path="FieldBehaviour/BasePlant"]
|
||||
[editable path="FieldBehaviour/BasePlant/InteractionArea"]
|
||||
[editable path="FieldBehaviour/BasePlant/ReadyPlantInventoryItem"]
|
||||
[editable path="FieldBehaviour/BasePlant/ReadyPlantInventoryItem/InteractionArea2"]
|
||||
@@ -0,0 +1,87 @@
|
||||
[gd_scene load_steps=13 format=3 uid="uid://d4m5iy5mwqpq3"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="1_tp1yj"]
|
||||
[ext_resource type="Script" uid="uid://bdffon388rkty" path="res://scripts/CSharp/Common/Farming/FieldBehaviour2D.cs" id="2_c6u1a"]
|
||||
[ext_resource type="Texture2D" uid="uid://cgmu3qlovdr22" path="res://art/masks/field_outline_1.png" id="3_b5av1"]
|
||||
[ext_resource type="Texture2D" uid="uid://eg5ej0mtuac" path="res://art/masks/field_outline_2.png" id="4_yav45"]
|
||||
[ext_resource type="Texture2D" uid="uid://djpigvoyadvjs" path="res://art/masks/field_outline_3.png" id="5_pdgar"]
|
||||
[ext_resource type="Texture2D" uid="uid://c2pirgay3jfnn" path="res://art/farm/tilable grounds/böden/trockene farming erde.png" id="6_a35l4"]
|
||||
[ext_resource type="Texture2D" uid="uid://ctvdxwgmfaj5c" path="res://art/farm/tilable grounds/böden/nasse farming erde.png" id="7_us3kg"]
|
||||
[ext_resource type="PackedScene" uid="uid://c3hwbwo423nbm" path="res://prefabs/farm/beet_plant.tscn" id="8_tgwxi"]
|
||||
[ext_resource type="Script" uid="uid://d2486x6upmwqq" path="res://scripts/GdScript/dialogic_starter.gd" id="9_b5av1"]
|
||||
[ext_resource type="Script" uid="uid://dnipeibppjirs" path="res://scripts/CSharp/Common/NPC/DialogicOverlayStarter.cs" id="10_yav45"]
|
||||
[ext_resource type="Script" uid="uid://drle5aies8ye4" path="res://scripts/GdScript/dialogic_event_forward.gd" id="11_yav45"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_tp1yj"]
|
||||
resource_local_to_scene = true
|
||||
radius = 300.0
|
||||
|
||||
[node name="BaseField" type="Node2D"]
|
||||
|
||||
[node name="InteractionArea2" parent="." instance=ExtResource("1_tp1yj")]
|
||||
visible = false
|
||||
z_index = 1
|
||||
scale = Vector2(2.225, 2.225)
|
||||
|
||||
[node name="FieldBehaviour" type="Sprite2D" parent="." node_paths=PackedStringArray("_fieldSprite", "_maskSprite", "_growingCollider")]
|
||||
z_index = -1
|
||||
scale = Vector2(0.9, 1)
|
||||
script = ExtResource("2_c6u1a")
|
||||
_fieldSprite = NodePath("MaskedField/FieldTexture")
|
||||
_maskSprite = NodePath("MaskedField")
|
||||
_maskTexture = Array[Texture2D]([ExtResource("3_b5av1"), ExtResource("4_yav45"), ExtResource("5_pdgar")])
|
||||
Tilled = ExtResource("6_a35l4")
|
||||
Watered = ExtResource("7_us3kg")
|
||||
_growingCollider = NodePath("../InteractionArea2")
|
||||
|
||||
[node name="MaskedField" type="Sprite2D" parent="FieldBehaviour"]
|
||||
clip_children = 1
|
||||
scale = Vector2(1.5, 1.5)
|
||||
texture = ExtResource("4_yav45")
|
||||
|
||||
[node name="FieldTexture" type="Sprite2D" parent="FieldBehaviour/MaskedField"]
|
||||
texture = ExtResource("6_a35l4")
|
||||
|
||||
[node name="BeetRoot" parent="FieldBehaviour" node_paths=PackedStringArray("_smallPlants", "_field") groups=["PlantGrowing"] instance=ExtResource("8_tgwxi")]
|
||||
_smallPlants = [NodePath("SmallPlant/01"), NodePath("SmallPlant/02"), null, null]
|
||||
_state = 2
|
||||
_field = NodePath("..")
|
||||
|
||||
[node name="01" parent="FieldBehaviour/BeetRoot/BigPlant" index="0"]
|
||||
visible = true
|
||||
|
||||
[node name="CollisionShape3D" parent="FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_tp1yj")
|
||||
|
||||
[node name="01" parent="FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/ReadyPlant" index="0"]
|
||||
scale = Vector2(3, 3)
|
||||
|
||||
[node name="02" parent="FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/ReadyPlant" index="1"]
|
||||
scale = Vector2(3, 3)
|
||||
|
||||
[node name="03" parent="FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/ReadyPlant" index="2"]
|
||||
scale = Vector2(3, 3)
|
||||
|
||||
[node name="04" parent="FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/ReadyPlant" index="3"]
|
||||
scale = Vector2(3, 3)
|
||||
|
||||
[node name="dialogic-starter" type="Node2D" parent="."]
|
||||
script = ExtResource("9_b5av1")
|
||||
|
||||
[node name="DialogicOverlay" type="Node2D" parent="dialogic-starter"]
|
||||
script = ExtResource("10_yav45")
|
||||
_timelinesToPlay = PackedStringArray("talk_to_plant")
|
||||
_startOnReady = false
|
||||
|
||||
[node name="DialogicEventListener" type="Node" parent="dialogic-starter"]
|
||||
script = ExtResource("11_yav45")
|
||||
eventName = "MagicWord"
|
||||
|
||||
[connection signal="Interacted" from="InteractionArea2" to="dialogic-starter/DialogicOverlay" method="ToggleDialogue"]
|
||||
[connection signal="Interacted" from="InteractionArea2" to="dialogic-starter/DialogicEventListener" method="_register"]
|
||||
[connection signal="Dialogue" from="dialogic-starter/DialogicOverlay" to="dialogic-starter" method="open"]
|
||||
[connection signal="dialogicEventTriggered" from="dialogic-starter/DialogicEventListener" to="FieldBehaviour/BeetRoot" method="SayMagicWord"]
|
||||
|
||||
[editable path="FieldBehaviour/BeetRoot"]
|
||||
[editable path="FieldBehaviour/BeetRoot/ReadyPlantInventoryItem"]
|
||||
[editable path="FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2"]
|
||||
@@ -0,0 +1,205 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://c3hwbwo423nbm"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cms357f23fmfy" path="res://scripts/CSharp/Common/Farming/PlantBehaviour2D.cs" id="1_0kfos"]
|
||||
[ext_resource type="Texture2D" uid="uid://xtci0n8tquc0" path="res://art/farm/farming/farmobjekte/beetroot_00.png" id="2_rvwu0"]
|
||||
[ext_resource type="Shader" uid="uid://braevmqauoek7" path="res://shader/swaying_plant.gdshader" id="3_up8td"]
|
||||
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="4_cfgyx"]
|
||||
[ext_resource type="PackedScene" uid="uid://dpbbroif2tnil" path="res://prefabs/interactions/generic_item_on_ground_2d.tscn" id="5_25lcb"]
|
||||
[ext_resource type="Resource" uid="uid://blr8tine5m0ma" path="res://resources/items/tomato.tres" id="6_aml5p"]
|
||||
[ext_resource type="Texture2D" uid="uid://bleimj6jr1jka" path="res://art/general/rectangle.png" id="7_rvwu0"]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_u4cty"]
|
||||
shader = ExtResource("3_up8td")
|
||||
shader_parameter/speed = 3.0
|
||||
shader_parameter/minStrength = 0.05
|
||||
shader_parameter/maxStrength = 0.36
|
||||
shader_parameter/strengthScale = 100.0
|
||||
shader_parameter/interval = 3.5
|
||||
shader_parameter/detail = 1.0
|
||||
shader_parameter/distortion = 0.0
|
||||
shader_parameter/heightOffset = 0.635
|
||||
shader_parameter/offset = 0.0
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_2tt5u"]
|
||||
resource_local_to_scene = true
|
||||
radius = 300.0
|
||||
|
||||
[node name="BeetRoot" type="Node2D" node_paths=PackedStringArray("_seeds", "_smallPlants", "_bigPlants", "_readyPlants", "_harvestablePlant", "_magicEffect")]
|
||||
z_index = 1
|
||||
y_sort_enabled = true
|
||||
script = ExtResource("1_0kfos")
|
||||
_seeds = [NodePath("Seeds/BeetSeet"), NodePath("Seeds/BeetSeet2"), NodePath("Seeds/BeetSeet3")]
|
||||
_smallPlants = [NodePath("SmallPlant/01"), NodePath("SmallPlant/02"), null, null]
|
||||
_bigPlants = [NodePath("BigPlant/01"), NodePath("BigPlant/02"), NodePath("BigPlant/03"), NodePath("BigPlant/04")]
|
||||
_readyPlants = [NodePath("ReadyPlantInventoryItem/ReadyPlant/01"), NodePath("ReadyPlantInventoryItem/ReadyPlant/02"), NodePath("ReadyPlantInventoryItem/ReadyPlant/03"), NodePath("ReadyPlantInventoryItem/ReadyPlant/04")]
|
||||
_harvestablePlant = NodePath("ReadyPlantInventoryItem")
|
||||
_magicEffect = NodePath("magic vfx")
|
||||
|
||||
[node name="Seeds" type="Node2D" parent="."]
|
||||
position = Vector2(0, 0.5)
|
||||
|
||||
[node name="BeetSeet" type="Sprite2D" parent="Seeds"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
scale = Vector2(2, 2)
|
||||
texture = ExtResource("2_rvwu0")
|
||||
flip_v = true
|
||||
region_enabled = true
|
||||
region_rect = Rect2(166, 289, 28, 38)
|
||||
|
||||
[node name="BeetSeet2" type="Sprite2D" parent="Seeds"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
scale = Vector2(2, 2)
|
||||
texture = ExtResource("2_rvwu0")
|
||||
flip_v = true
|
||||
region_enabled = true
|
||||
region_rect = Rect2(166, 289, 28, 38)
|
||||
|
||||
[node name="BeetSeet3" type="Sprite2D" parent="Seeds"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
scale = Vector2(2, 2)
|
||||
texture = ExtResource("2_rvwu0")
|
||||
flip_v = true
|
||||
region_enabled = true
|
||||
region_rect = Rect2(243, 207, 35, 69)
|
||||
|
||||
[node name="SmallPlant" type="Node2D" parent="."]
|
||||
position = Vector2(0, 0.5)
|
||||
|
||||
[node name="01" type="Sprite2D" parent="SmallPlant"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
scale = Vector2(2, 2)
|
||||
texture = ExtResource("2_rvwu0")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(37, 178, 72, 116)
|
||||
|
||||
[node name="02" type="Sprite2D" parent="SmallPlant"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
scale = Vector2(2, 2)
|
||||
texture = ExtResource("2_rvwu0")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(313, 179, 73, 115)
|
||||
|
||||
[node name="BigPlant" type="Node2D" parent="."]
|
||||
position = Vector2(0, 2)
|
||||
|
||||
[node name="01" type="Sprite2D" parent="BigPlant"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
scale = Vector2(2, 2)
|
||||
texture = ExtResource("2_rvwu0")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(6, 5, 136, 151)
|
||||
|
||||
[node name="02" type="Sprite2D" parent="BigPlant"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
scale = Vector2(2, 2)
|
||||
texture = ExtResource("2_rvwu0")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(148, 58, 111, 140)
|
||||
|
||||
[node name="03" type="Sprite2D" parent="BigPlant"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
scale = Vector2(2, 2)
|
||||
texture = ExtResource("2_rvwu0")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(264, 4, 131, 152)
|
||||
|
||||
[node name="04" type="Sprite2D" parent="BigPlant"]
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
scale = Vector2(2, 2)
|
||||
texture = ExtResource("2_rvwu0")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(18, 311, 129, 142)
|
||||
|
||||
[node name="InteractionArea" parent="." instance=ExtResource("4_cfgyx")]
|
||||
position = Vector2(0, 2.3)
|
||||
|
||||
[node name="ReadyPlantInventoryItem" parent="." instance=ExtResource("5_25lcb")]
|
||||
position = Vector2(0, 2.3)
|
||||
IsActive = false
|
||||
|
||||
[node name="SpawnWithItem" parent="ReadyPlantInventoryItem" index="0"]
|
||||
_blueprint = ExtResource("6_aml5p")
|
||||
|
||||
[node name="ItemLabel" parent="ReadyPlantInventoryItem" index="1"]
|
||||
visible = false
|
||||
|
||||
[node name="PickupErrorLabel" parent="ReadyPlantInventoryItem" index="2"]
|
||||
visible = false
|
||||
|
||||
[node name="CollisionShape3D" parent="ReadyPlantInventoryItem/InteractionArea2/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_2tt5u")
|
||||
|
||||
[node name="Icon" parent="ReadyPlantInventoryItem" index="4"]
|
||||
visible = false
|
||||
|
||||
[node name="ReadyPlant" type="Node2D" parent="ReadyPlantInventoryItem"]
|
||||
|
||||
[node name="01" type="Sprite2D" parent="ReadyPlantInventoryItem/ReadyPlant"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("2_rvwu0")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(18, 311, 129, 142)
|
||||
|
||||
[node name="02" type="Sprite2D" parent="ReadyPlantInventoryItem/ReadyPlant"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("2_rvwu0")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(6, 5, 136, 151)
|
||||
|
||||
[node name="03" type="Sprite2D" parent="ReadyPlantInventoryItem/ReadyPlant"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("2_rvwu0")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(264, 4, 131, 152)
|
||||
|
||||
[node name="04" type="Sprite2D" parent="ReadyPlantInventoryItem/ReadyPlant"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("2_rvwu0")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(148, 58, 111, 140)
|
||||
|
||||
[node name="magic vfx" type="CPUParticles2D" parent="."]
|
||||
position = Vector2(-133, -347)
|
||||
rotation = -0.333807
|
||||
emitting = false
|
||||
amount = 20
|
||||
texture = ExtResource("7_rvwu0")
|
||||
lifetime = 0.5
|
||||
randomness = 1.0
|
||||
local_coords = true
|
||||
draw_order = 1
|
||||
emission_shape = 2
|
||||
emission_sphere_radius = 128.0
|
||||
linear_accel_min = 44.07
|
||||
linear_accel_max = 78.81
|
||||
scale_amount_min = 0.01
|
||||
scale_amount_max = 0.1
|
||||
color = Color(0.400601, 0.62444, 0.791217, 1)
|
||||
hue_variation_max = 0.4
|
||||
|
||||
[connection signal="Interacted" from="InteractionArea" to="." method="Grow"]
|
||||
|
||||
[editable path="ReadyPlantInventoryItem"]
|
||||
[editable path="ReadyPlantInventoryItem/InteractionArea2"]
|
||||
@@ -0,0 +1,50 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://b1d2e7ely6hyw"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="1_jrdc4"]
|
||||
[ext_resource type="Script" uid="uid://bdffon388rkty" path="res://scripts/CSharp/Common/Farming/FieldBehaviour2D.cs" id="2_vl3uw"]
|
||||
[ext_resource type="Texture2D" uid="uid://cgmu3qlovdr22" path="res://art/masks/field_outline_1.png" id="3_uqkef"]
|
||||
[ext_resource type="Texture2D" uid="uid://eg5ej0mtuac" path="res://art/masks/field_outline_2.png" id="4_di17a"]
|
||||
[ext_resource type="Texture2D" uid="uid://djpigvoyadvjs" path="res://art/masks/field_outline_3.png" id="5_4a8nv"]
|
||||
[ext_resource type="Texture2D" uid="uid://c2pirgay3jfnn" path="res://art/farm/tilable grounds/böden/trockene farming erde.png" id="6_l7j4c"]
|
||||
[ext_resource type="Texture2D" uid="uid://ctvdxwgmfaj5c" path="res://art/farm/tilable grounds/böden/nasse farming erde.png" id="7_f504p"]
|
||||
[ext_resource type="PackedScene" uid="uid://gishbn0a8eke" path="res://prefabs/farm/tomato_plant.tscn" id="8_jrdc4"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_vl3uw"]
|
||||
resource_local_to_scene = true
|
||||
radius = 300.0
|
||||
|
||||
[node name="BaseField" type="Node2D"]
|
||||
|
||||
[node name="InteractionArea2" parent="." instance=ExtResource("1_jrdc4")]
|
||||
visible = false
|
||||
z_index = 1
|
||||
scale = Vector2(2.225, 2.225)
|
||||
|
||||
[node name="FieldBehaviour" type="Sprite2D" parent="." node_paths=PackedStringArray("_fieldSprite", "_maskSprite", "_growingCollider")]
|
||||
z_index = -1
|
||||
scale = Vector2(0.9, 1)
|
||||
script = ExtResource("2_vl3uw")
|
||||
_fieldSprite = NodePath("MaskedField/FieldTexture")
|
||||
_maskSprite = NodePath("MaskedField")
|
||||
_maskTexture = Array[Texture2D]([ExtResource("3_uqkef"), ExtResource("4_di17a"), ExtResource("5_4a8nv")])
|
||||
Tilled = ExtResource("6_l7j4c")
|
||||
Watered = ExtResource("7_f504p")
|
||||
_growingCollider = NodePath("BasePlant2/InteractionArea")
|
||||
|
||||
[node name="BasePlant2" parent="FieldBehaviour" node_paths=PackedStringArray("_field") groups=["PlantGrowing"] instance=ExtResource("8_jrdc4")]
|
||||
_field = NodePath("..")
|
||||
|
||||
[node name="CollisionShape3D" parent="FieldBehaviour/BasePlant2/ReadyPlantInventoryItem/InteractionArea2/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_vl3uw")
|
||||
|
||||
[node name="MaskedField" type="Sprite2D" parent="FieldBehaviour"]
|
||||
clip_children = 1
|
||||
scale = Vector2(1.5, 1.5)
|
||||
texture = ExtResource("4_di17a")
|
||||
|
||||
[node name="FieldTexture" type="Sprite2D" parent="FieldBehaviour/MaskedField"]
|
||||
texture = ExtResource("6_l7j4c")
|
||||
|
||||
[editable path="FieldBehaviour/BasePlant2"]
|
||||
[editable path="FieldBehaviour/BasePlant2/ReadyPlantInventoryItem"]
|
||||
[editable path="FieldBehaviour/BasePlant2/ReadyPlantInventoryItem/InteractionArea2"]
|
||||
@@ -1,16 +1,17 @@
|
||||
[gd_scene load_steps=11 format=3 uid="uid://c3hwbwo423nbm"]
|
||||
[gd_scene load_steps=12 format=3 uid="uid://gishbn0a8eke"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cms357f23fmfy" path="res://scripts/CSharp/Common/Farming/PlantBehaviour2D.cs" id="1_tikj4"]
|
||||
[ext_resource type="Shader" uid="uid://braevmqauoek7" path="res://shader/swaying_plant.gdshader" id="2_goh03"]
|
||||
[ext_resource type="Texture2D" uid="uid://dtr4uga5uspg" path="res://art/farm/farming/farmobjekte/tomaten/tomaten baby.png" id="2_rmjrk"]
|
||||
[ext_resource type="Texture2D" uid="uid://b2gu6ur2xc7s4" path="res://art/farm/farming/farmobjekte/tomaten/tomaten blume.png" id="3_goh03"]
|
||||
[ext_resource type="Texture2D" uid="uid://cnwd3mb3jnuxm" path="res://art/farm/farming/farmobjekte/tomaten/teen adulte tomaten.png" id="4_u4cty"]
|
||||
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="5_tikj4"]
|
||||
[ext_resource type="PackedScene" uid="uid://dpbbroif2tnil" path="res://prefabs/interactions/generic_item_on_ground_2d.tscn" id="6_u4cty"]
|
||||
[ext_resource type="Resource" uid="uid://blr8tine5m0ma" path="res://resources/items/tomato.tres" id="7_yntkb"]
|
||||
[ext_resource type="Script" uid="uid://cms357f23fmfy" path="res://scripts/CSharp/Common/Farming/PlantBehaviour2D.cs" id="1_66p1c"]
|
||||
[ext_resource type="Texture2D" uid="uid://dtr4uga5uspg" path="res://art/farm/farming/farmobjekte/tomaten/tomaten baby.png" id="2_vjw4j"]
|
||||
[ext_resource type="Shader" uid="uid://braevmqauoek7" path="res://shader/swaying_plant.gdshader" id="3_7hdur"]
|
||||
[ext_resource type="Texture2D" uid="uid://b2gu6ur2xc7s4" path="res://art/farm/farming/farmobjekte/tomaten/tomaten blume.png" id="4_hmj2d"]
|
||||
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="5_3j24b"]
|
||||
[ext_resource type="PackedScene" uid="uid://dpbbroif2tnil" path="res://prefabs/interactions/generic_item_on_ground_2d.tscn" id="6_gdrin"]
|
||||
[ext_resource type="Resource" uid="uid://blr8tine5m0ma" path="res://resources/items/tomato.tres" id="7_di4m0"]
|
||||
[ext_resource type="Texture2D" uid="uid://cnwd3mb3jnuxm" path="res://art/farm/farming/farmobjekte/tomaten/teen adulte tomaten.png" id="8_evgr8"]
|
||||
[ext_resource type="Texture2D" uid="uid://bleimj6jr1jka" path="res://art/general/rectangle.png" id="9_vjw4j"]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_u4cty"]
|
||||
shader = ExtResource("2_goh03")
|
||||
shader = ExtResource("3_7hdur")
|
||||
shader_parameter/speed = 3.0
|
||||
shader_parameter/minStrength = 0.05
|
||||
shader_parameter/maxStrength = 0.36
|
||||
@@ -25,15 +26,16 @@ shader_parameter/offset = 0.0
|
||||
resource_local_to_scene = true
|
||||
radius = 300.0
|
||||
|
||||
[node name="BasePlant" type="Node2D" node_paths=PackedStringArray("_seeds", "_smallPlants", "_bigPlants", "_readyPlants", "_harvestablePlant")]
|
||||
[node name="BasePlant" type="Node2D" node_paths=PackedStringArray("_seeds", "_smallPlants", "_bigPlants", "_readyPlants", "_harvestablePlant", "_magicEffect")]
|
||||
z_index = 1
|
||||
y_sort_enabled = true
|
||||
script = ExtResource("1_tikj4")
|
||||
script = ExtResource("1_66p1c")
|
||||
_seeds = [NodePath("Seeds/TomatoSeed"), NodePath("Seeds/TomatoSeed2"), NodePath("Seeds/TomatoSeed3")]
|
||||
_smallPlants = [NodePath("SmallPlant/01"), NodePath("SmallPlant/02"), NodePath("SmallPlant/03"), NodePath("SmallPlant/04")]
|
||||
_bigPlants = [NodePath("BigPlant/01"), NodePath("BigPlant/02"), NodePath("BigPlant/03"), NodePath("BigPlant/04")]
|
||||
_readyPlants = [NodePath("ReadyPlantInventoryItem/ReadyPlant/01"), NodePath("ReadyPlantInventoryItem/ReadyPlant/02"), NodePath("ReadyPlantInventoryItem/ReadyPlant/03"), NodePath("ReadyPlantInventoryItem/ReadyPlant/04")]
|
||||
_harvestablePlant = NodePath("ReadyPlantInventoryItem")
|
||||
_magicEffect = NodePath("magic vfx")
|
||||
|
||||
[node name="Seeds" type="Node2D" parent="."]
|
||||
position = Vector2(0, 0.5)
|
||||
@@ -41,7 +43,7 @@ position = Vector2(0, 0.5)
|
||||
[node name="TomatoSeed" type="Sprite2D" parent="Seeds"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
texture = ExtResource("2_rmjrk")
|
||||
texture = ExtResource("2_vjw4j")
|
||||
flip_v = true
|
||||
region_enabled = true
|
||||
region_rect = Rect2(-2, 15, 85, 81)
|
||||
@@ -49,7 +51,7 @@ region_rect = Rect2(-2, 15, 85, 81)
|
||||
[node name="TomatoSeed2" type="Sprite2D" parent="Seeds"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
texture = ExtResource("2_rmjrk")
|
||||
texture = ExtResource("2_vjw4j")
|
||||
flip_v = true
|
||||
region_enabled = true
|
||||
region_rect = Rect2(15, 177, 84, 108)
|
||||
@@ -57,7 +59,7 @@ region_rect = Rect2(15, 177, 84, 108)
|
||||
[node name="TomatoSeed3" type="Sprite2D" parent="Seeds"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
texture = ExtResource("2_rmjrk")
|
||||
texture = ExtResource("2_vjw4j")
|
||||
flip_v = true
|
||||
region_enabled = true
|
||||
region_rect = Rect2(3, 337, 85, 82)
|
||||
@@ -69,7 +71,7 @@ position = Vector2(0, 0.5)
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("2_rmjrk")
|
||||
texture = ExtResource("2_vjw4j")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(203, 1, 128, 164)
|
||||
|
||||
@@ -77,7 +79,7 @@ region_rect = Rect2(203, 1, 128, 164)
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("2_rmjrk")
|
||||
texture = ExtResource("2_vjw4j")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(218, 204, 112, 130)
|
||||
|
||||
@@ -85,7 +87,7 @@ region_rect = Rect2(218, 204, 112, 130)
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("2_rmjrk")
|
||||
texture = ExtResource("2_vjw4j")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(224, 399, 105, 105)
|
||||
|
||||
@@ -93,7 +95,7 @@ region_rect = Rect2(224, 399, 105, 105)
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("2_rmjrk")
|
||||
texture = ExtResource("2_vjw4j")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(228, 600, 85, 92)
|
||||
|
||||
@@ -104,7 +106,7 @@ position = Vector2(0, 2)
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("3_goh03")
|
||||
texture = ExtResource("4_hmj2d")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(-8, 1, 498, 682)
|
||||
|
||||
@@ -112,7 +114,7 @@ region_rect = Rect2(-8, 1, 498, 682)
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("3_goh03")
|
||||
texture = ExtResource("4_hmj2d")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(575, 82, 516, 591)
|
||||
|
||||
@@ -120,7 +122,7 @@ region_rect = Rect2(575, 82, 516, 591)
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("3_goh03")
|
||||
texture = ExtResource("4_hmj2d")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(-25, 694, 521, 687)
|
||||
|
||||
@@ -128,19 +130,19 @@ region_rect = Rect2(-25, 694, 521, 687)
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("3_goh03")
|
||||
texture = ExtResource("4_hmj2d")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(546, 697, 535, 687)
|
||||
|
||||
[node name="InteractionArea" parent="." instance=ExtResource("5_tikj4")]
|
||||
[node name="InteractionArea" parent="." instance=ExtResource("5_3j24b")]
|
||||
position = Vector2(0, 2.3)
|
||||
|
||||
[node name="ReadyPlantInventoryItem" parent="." instance=ExtResource("6_u4cty")]
|
||||
[node name="ReadyPlantInventoryItem" parent="." instance=ExtResource("6_gdrin")]
|
||||
position = Vector2(0, 2.3)
|
||||
IsActive = false
|
||||
|
||||
[node name="SpawnWithItem" parent="ReadyPlantInventoryItem" index="0"]
|
||||
_blueprint = ExtResource("7_yntkb")
|
||||
_blueprint = ExtResource("7_di4m0")
|
||||
|
||||
[node name="ItemLabel" parent="ReadyPlantInventoryItem" index="1"]
|
||||
visible = false
|
||||
@@ -160,7 +162,7 @@ visible = false
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("4_u4cty")
|
||||
texture = ExtResource("8_evgr8")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(399, 3, 679, 808)
|
||||
|
||||
@@ -168,7 +170,7 @@ region_rect = Rect2(399, 3, 679, 808)
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("4_u4cty")
|
||||
texture = ExtResource("8_evgr8")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(1077, 109, 633, 695)
|
||||
|
||||
@@ -176,7 +178,7 @@ region_rect = Rect2(1077, 109, 633, 695)
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("4_u4cty")
|
||||
texture = ExtResource("8_evgr8")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(415, 838, 639, 817)
|
||||
|
||||
@@ -184,10 +186,29 @@ region_rect = Rect2(415, 838, 639, 817)
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("4_u4cty")
|
||||
texture = ExtResource("8_evgr8")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(1167, 863, 528, 785)
|
||||
|
||||
[node name="magic vfx" type="CPUParticles2D" parent="."]
|
||||
position = Vector2(-133, -347)
|
||||
rotation = -0.333807
|
||||
emitting = false
|
||||
amount = 20
|
||||
texture = ExtResource("9_vjw4j")
|
||||
lifetime = 0.5
|
||||
randomness = 1.0
|
||||
local_coords = true
|
||||
draw_order = 1
|
||||
emission_shape = 2
|
||||
emission_sphere_radius = 128.0
|
||||
linear_accel_min = 44.07
|
||||
linear_accel_max = 78.81
|
||||
scale_amount_min = 0.01
|
||||
scale_amount_max = 0.1
|
||||
color = Color(0.400601, 0.62444, 0.791217, 1)
|
||||
hue_variation_max = 0.4
|
||||
|
||||
[connection signal="Interacted" from="InteractionArea" to="." method="Grow"]
|
||||
|
||||
[editable path="ReadyPlantInventoryItem"]
|
||||
@@ -0,0 +1,49 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://hk8ahyp6dgl6"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://c76mhhqyk4lgh" path="res://scripts/CSharp/Common/Fight/FightInstance.cs" id="1_ygesl"]
|
||||
[ext_resource type="Script" uid="uid://oe1uypehqvr7" path="res://scripts/CSharp/Common/Fight/FightStateManager.cs" id="2_b0ivm"]
|
||||
|
||||
[node name="FightBaseScene" type="Node2D" node_paths=PackedStringArray("_friendlyFightSpots", "_enemyFightSpots", "camPositionNode", "_fightStateManager", "_fightEndText")]
|
||||
script = ExtResource("1_ygesl")
|
||||
_friendlyFightSpots = [NodePath("FriendlyPositions/FriendPos1"), NodePath("FriendlyPositions/FriendPos2"), NodePath("FriendlyPositions/FriendPos3")]
|
||||
_enemyFightSpots = [NodePath("EnemyPositions/EnemyPos1"), NodePath("EnemyPositions/EnemyPos2"), NodePath("EnemyPositions/EnemyPos3")]
|
||||
camPositionNode = NodePath("CamPositionMarker")
|
||||
_fightStateManager = NodePath("FightStateManager")
|
||||
_fightEndText = NodePath("ResultText")
|
||||
|
||||
[node name="FriendlyPositions" type="Node2D" parent="."]
|
||||
position = Vector2(-625, -6)
|
||||
|
||||
[node name="FriendPos1" type="Node2D" parent="FriendlyPositions"]
|
||||
position = Vector2(0, -395)
|
||||
|
||||
[node name="FriendPos2" type="Node2D" parent="FriendlyPositions"]
|
||||
|
||||
[node name="FriendPos3" type="Node2D" parent="FriendlyPositions"]
|
||||
position = Vector2(0, 424)
|
||||
|
||||
[node name="EnemyPositions" type="Node2D" parent="."]
|
||||
position = Vector2(611, -12)
|
||||
|
||||
[node name="EnemyPos1" type="Node2D" parent="EnemyPositions"]
|
||||
position = Vector2(0, -395)
|
||||
|
||||
[node name="EnemyPos2" type="Node2D" parent="EnemyPositions"]
|
||||
|
||||
[node name="EnemyPos3" type="Node2D" parent="EnemyPositions"]
|
||||
position = Vector2(0, 424)
|
||||
|
||||
[node name="FightStateManager" type="Node" parent="."]
|
||||
script = ExtResource("2_b0ivm")
|
||||
|
||||
[node name="CamPositionMarker" type="Node2D" parent="."]
|
||||
|
||||
[node name="ResultText" type="Label" parent="."]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_font_sizes/font_size = 141
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
@@ -0,0 +1,8 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://cnjsepvaqdbyq"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://j5ge24rk25wm" path="res://scripts/CSharp/Common/Fight/FightManager.cs" id="1_8p7ev"]
|
||||
[ext_resource type="PackedScene" uid="uid://cpanatqdjjpa3" path="res://prefabs/fight/fighters/vesna_fighter.tscn" id="2_ak1vo"]
|
||||
|
||||
[node name="FightManagerAutoload" type="Node"]
|
||||
script = ExtResource("1_8p7ev")
|
||||
fightingVesnaScene = ExtResource("2_ak1vo")
|
||||
@@ -0,0 +1,104 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://bp64p6y72j71w"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://ccrnmx6bd842k" path="res://art/characters/farm fäulnis blobs.png" id="1_vem8k"]
|
||||
[ext_resource type="Script" uid="uid://by88f32fou7lh" path="res://scripts/CSharp/Common/Fight/Fighter.cs" id="2_4w1ab"]
|
||||
[ext_resource type="Texture2D" uid="uid://qlfwuakhe57t" path="res://art/ui/UI/attack_select_wheel.png" id="3_v4f83"]
|
||||
[ext_resource type="AudioStream" uid="uid://x7cc5woop5ec" path="res://audio/sfx/Battle/Enemies/SFX_Slime_Hit_V2_03.wav" id="5_v4f83"]
|
||||
[ext_resource type="Texture2D" uid="uid://bn56p0ytuo060" path="res://art/ui/UI/AttackButton.png" id="5_vbkts"]
|
||||
[ext_resource type="AudioStream" uid="uid://d1v012odga8pu" path="res://audio/sfx/Battle/Enemies/SFX_Water_Attack_Slimes.wav" id="6_oykh8"]
|
||||
[ext_resource type="AudioStream" uid="uid://xxa3rvsal5m6" path="res://audio/sfx/Battle/Enemies/SFX_Slime_Hit_V2_06.wav" id="6_vbkts"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_284vk"]
|
||||
radius = 291.58
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_s74nc"]
|
||||
radius = 173.44
|
||||
|
||||
[node name="EnemyBlobFighter" type="Node2D" node_paths=PackedStringArray("_attackButtons", "_targetButtons", "_targetMarker", "_healthText", "_visualSprite")]
|
||||
script = ExtResource("2_4w1ab")
|
||||
name = "Blob"
|
||||
maxHealth = 20
|
||||
attackStrength = 10
|
||||
_attackButtons = NodePath("FightButtons")
|
||||
_targetButtons = NodePath("TargetButtons")
|
||||
_targetMarker = NodePath("TargetButtons/TargetMarker")
|
||||
_healthText = NodePath("HealthShow")
|
||||
_visualSprite = NodePath("Sprite2D")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
texture = ExtResource("1_vem8k")
|
||||
offset = Vector2(-8, -130)
|
||||
region_enabled = true
|
||||
region_rect = Rect2(1735.63, 108.423, 320.374, 333.577)
|
||||
|
||||
[node name="TargetButtons" type="Node2D" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="TargetMarker" type="Sprite2D" parent="TargetButtons"]
|
||||
visible = false
|
||||
z_index = 200
|
||||
position = Vector2(8, -122)
|
||||
scale = Vector2(4.245, 4.245)
|
||||
texture = ExtResource("3_v4f83")
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="TargetButtons"]
|
||||
position = Vector2(3, -76)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="TargetButtons/Area2D"]
|
||||
shape = SubResource("CircleShape2D_284vk")
|
||||
|
||||
[node name="FightButtons" type="Node2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2(3, -588)
|
||||
|
||||
[node name="CircleBackground" type="Sprite2D" parent="FightButtons"]
|
||||
z_index = 200
|
||||
scale = Vector2(4.245, 4.245)
|
||||
texture = ExtResource("3_v4f83")
|
||||
|
||||
[node name="AttackButton" type="Node2D" parent="FightButtons"]
|
||||
position = Vector2(0, -536)
|
||||
|
||||
[node name="ButtonBackground" type="Sprite2D" parent="FightButtons/AttackButton"]
|
||||
z_index = 200
|
||||
scale = Vector2(2.48, 2.48)
|
||||
texture = ExtResource("5_vbkts")
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="FightButtons/AttackButton"]
|
||||
collision_layer = 16
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="FightButtons/AttackButton/Area2D"]
|
||||
shape = SubResource("CircleShape2D_s74nc")
|
||||
|
||||
[node name="HealthShow" type="Label" parent="."]
|
||||
z_index = 200
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -197.0
|
||||
offset_top = -451.0
|
||||
offset_right = 207.0
|
||||
offset_bottom = -305.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_font_sizes/font_size = 106
|
||||
text = "100/100"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="HitAudio" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("5_v4f83")
|
||||
|
||||
[node name="DieAudio" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("6_vbkts")
|
||||
|
||||
[node name="AttackAudio" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("6_oykh8")
|
||||
|
||||
[connection signal="Attacking" from="." to="AttackAudio" method="play" binds= [0.0]]
|
||||
[connection signal="DamageTaken" from="." to="HitAudio" method="play" binds= [0.0]]
|
||||
[connection signal="Dying" from="." to="DieAudio" method="play" binds= [0.0]]
|
||||
[connection signal="input_event" from="TargetButtons/Area2D" to="." method="TargetMouseEvent"]
|
||||
[connection signal="mouse_entered" from="TargetButtons/Area2D" to="." method="StartHoverTarget"]
|
||||
[connection signal="mouse_exited" from="TargetButtons/Area2D" to="." method="EndHoverTarget"]
|
||||
[connection signal="input_event" from="FightButtons/AttackButton/Area2D" to="." method="AttackMouseEvent"]
|
||||
@@ -0,0 +1,109 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://cr66tpdr5rma5"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://by88f32fou7lh" path="res://scripts/CSharp/Common/Fight/Fighter.cs" id="1_t6th8"]
|
||||
[ext_resource type="Texture2D" uid="uid://bexymddkb6l0o" path="res://art/characters/Mavka/mavkha.png" id="2_shg7p"]
|
||||
[ext_resource type="Texture2D" uid="uid://qlfwuakhe57t" path="res://art/ui/UI/attack_select_wheel.png" id="3_nkuei"]
|
||||
[ext_resource type="Texture2D" uid="uid://bn56p0ytuo060" path="res://art/ui/UI/AttackButton.png" id="4_u3hw3"]
|
||||
[ext_resource type="AudioStream" uid="uid://x7cc5woop5ec" path="res://audio/sfx/Battle/Enemies/SFX_Slime_Hit_V2_03.wav" id="5_so2ks"]
|
||||
[ext_resource type="AudioStream" uid="uid://xxa3rvsal5m6" path="res://audio/sfx/Battle/Enemies/SFX_Slime_Hit_V2_06.wav" id="6_v175g"]
|
||||
[ext_resource type="AudioStream" uid="uid://d1v012odga8pu" path="res://audio/sfx/Battle/Enemies/SFX_Water_Attack_Slimes.wav" id="7_g7k7o"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_284vk"]
|
||||
radius = 388.063
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_s74nc"]
|
||||
radius = 173.44
|
||||
|
||||
[node name="EnemyMavkhaFighter" type="Node2D" node_paths=PackedStringArray("_attackButtons", "_targetButtons", "_targetMarker", "_healthText", "_visualSprite")]
|
||||
script = ExtResource("1_t6th8")
|
||||
name = "Mavkha"
|
||||
maxHealth = 40
|
||||
attackStrength = 10
|
||||
_attackButtons = NodePath("FightButtons")
|
||||
_targetButtons = NodePath("TargetButtons")
|
||||
_targetMarker = NodePath("TargetButtons/TargetMarker")
|
||||
_healthText = NodePath("HealthShow")
|
||||
_visualSprite = NodePath("Visual")
|
||||
|
||||
[node name="Visual" type="Node2D" parent="."]
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Visual"]
|
||||
position = Vector2(3, -200)
|
||||
scale = Vector2(0.5, 0.5)
|
||||
texture = ExtResource("2_shg7p")
|
||||
offset = Vector2(-8, -130)
|
||||
region_enabled = true
|
||||
region_rect = Rect2(816.677, 286.398, 1089.01, 1249.83)
|
||||
|
||||
[node name="TargetButtons" type="Node2D" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="TargetMarker" type="Sprite2D" parent="TargetButtons"]
|
||||
visible = false
|
||||
z_index = 200
|
||||
position = Vector2(8, -270)
|
||||
scale = Vector2(4.245, 4.245)
|
||||
texture = ExtResource("3_nkuei")
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="TargetButtons"]
|
||||
position = Vector2(3, -76)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="TargetButtons/Area2D"]
|
||||
position = Vector2(-3, -207)
|
||||
shape = SubResource("CircleShape2D_284vk")
|
||||
|
||||
[node name="FightButtons" type="Node2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2(3, -588)
|
||||
|
||||
[node name="CircleBackground" type="Sprite2D" parent="FightButtons"]
|
||||
z_index = 200
|
||||
scale = Vector2(4.245, 4.245)
|
||||
texture = ExtResource("3_nkuei")
|
||||
|
||||
[node name="AttackButton" type="Node2D" parent="FightButtons"]
|
||||
position = Vector2(0, -536)
|
||||
|
||||
[node name="ButtonBackground" type="Sprite2D" parent="FightButtons/AttackButton"]
|
||||
z_index = 200
|
||||
scale = Vector2(2.48, 2.48)
|
||||
texture = ExtResource("4_u3hw3")
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="FightButtons/AttackButton"]
|
||||
collision_layer = 16
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="FightButtons/AttackButton/Area2D"]
|
||||
shape = SubResource("CircleShape2D_s74nc")
|
||||
|
||||
[node name="HealthShow" type="Label" parent="."]
|
||||
z_index = 200
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -204.0
|
||||
offset_top = -731.0
|
||||
offset_right = 200.0
|
||||
offset_bottom = -585.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_font_sizes/font_size = 106
|
||||
text = "100/100"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="HitAudio" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("5_so2ks")
|
||||
|
||||
[node name="DieAudio" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("6_v175g")
|
||||
|
||||
[node name="AttackAudio" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("7_g7k7o")
|
||||
|
||||
[connection signal="Attacking" from="." to="AttackAudio" method="play" binds= [0.0]]
|
||||
[connection signal="DamageTaken" from="." to="HitAudio" method="play" binds= [0.0]]
|
||||
[connection signal="Dying" from="." to="DieAudio" method="play" binds= [0.0]]
|
||||
[connection signal="input_event" from="TargetButtons/Area2D" to="." method="TargetMouseEvent"]
|
||||
[connection signal="mouse_entered" from="TargetButtons/Area2D" to="." method="StartHoverTarget"]
|
||||
[connection signal="mouse_exited" from="TargetButtons/Area2D" to="." method="EndHoverTarget"]
|
||||
[connection signal="input_event" from="FightButtons/AttackButton/Area2D" to="." method="AttackMouseEvent"]
|
||||
@@ -0,0 +1,123 @@
|
||||
[gd_scene load_steps=11 format=3 uid="uid://cpanatqdjjpa3"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://by88f32fou7lh" path="res://scripts/CSharp/Common/Fight/Fighter.cs" id="1_f3j2x"]
|
||||
[ext_resource type="Texture2D" uid="uid://om2axn1vfa5o" path="res://art/animation/Vesna2D/Vesna Anims Sequences/S01-Idle/0001.png" id="2_2ud32"]
|
||||
[ext_resource type="Texture2D" uid="uid://qlfwuakhe57t" path="res://art/ui/UI/attack_select_wheel.png" id="3_80knd"]
|
||||
[ext_resource type="AudioStream" uid="uid://ch4c1wh4ghxyo" path="res://audio/sfx/Battle/Vesna/SFX_Battle_Vesna_Defense_08.wav" id="5_4r2vf"]
|
||||
[ext_resource type="Texture2D" uid="uid://6h85o7fj7gmu" path="res://art/animation/Vesna3D/vesna-more-tools.png" id="5_l04qi"]
|
||||
[ext_resource type="Texture2D" uid="uid://crak7ton4lab0" path="res://art/ui/UI/EmptyFightButton.png" id="5_rjjub"]
|
||||
[ext_resource type="Texture2D" uid="uid://c3wht0nakaki1" path="res://art/ui/UI/icons/icon-fruit-tomatoe.png" id="6_l04qi"]
|
||||
[ext_resource type="AudioStream" uid="uid://ccionrfr6e3lb" path="res://audio/sfx/Battle/Vesna/SFX_Battle_Vesna_Attack_04.wav" id="6_u1ayv"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_0tqnl"]
|
||||
radius = 291.58
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_4r2vf"]
|
||||
radius = 173.44
|
||||
|
||||
[node name="VesnaFighter" type="Node2D" node_paths=PackedStringArray("_attackButtons", "_targetButtons", "_targetMarker", "_healthText", "_visualSprite")]
|
||||
script = ExtResource("1_f3j2x")
|
||||
name = "Vesna"
|
||||
maxHealth = 100
|
||||
attackStrength = 10
|
||||
_attackButtons = NodePath("FightButtons")
|
||||
_targetButtons = NodePath("TargetButtons")
|
||||
_targetMarker = NodePath("TargetButtons/TargetMarker")
|
||||
_healthText = NodePath("HealthShow")
|
||||
_visualSprite = NodePath("Sprite2D")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
texture = ExtResource("2_2ud32")
|
||||
offset = Vector2(43, -379)
|
||||
|
||||
[node name="TargetButtons" type="Node2D" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="TargetMarker" type="Sprite2D" parent="TargetButtons"]
|
||||
visible = false
|
||||
z_index = 200
|
||||
position = Vector2(8, -122)
|
||||
scale = Vector2(4.245, 4.245)
|
||||
texture = ExtResource("3_80knd")
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="TargetButtons"]
|
||||
position = Vector2(3, -76)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="TargetButtons/Area2D"]
|
||||
shape = SubResource("CircleShape2D_0tqnl")
|
||||
|
||||
[node name="FightButtons" type="Node2D" parent="."]
|
||||
position = Vector2(3, -714)
|
||||
|
||||
[node name="CircleBackground" type="Sprite2D" parent="FightButtons"]
|
||||
z_index = 200
|
||||
scale = Vector2(4.245, 4.245)
|
||||
texture = ExtResource("3_80knd")
|
||||
|
||||
[node name="AttackButton" type="Node2D" parent="FightButtons"]
|
||||
position = Vector2(0, -536)
|
||||
|
||||
[node name="ButtonBackground" type="Sprite2D" parent="FightButtons/AttackButton"]
|
||||
z_index = 200
|
||||
scale = Vector2(2.48, 2.48)
|
||||
texture = ExtResource("5_rjjub")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="FightButtons/AttackButton/ButtonBackground"]
|
||||
position = Vector2(6.04839, -10.0806)
|
||||
rotation = -1.0088
|
||||
scale = Vector2(0.249373, 0.25079)
|
||||
texture = ExtResource("5_l04qi")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(291.897, 15.8974, 272.82, 479.385)
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="FightButtons/AttackButton"]
|
||||
collision_layer = 16
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="FightButtons/AttackButton/Area2D"]
|
||||
shape = SubResource("CircleShape2D_4r2vf")
|
||||
|
||||
[node name="HealButton" type="Node2D" parent="FightButtons"]
|
||||
position = Vector2(427, -334)
|
||||
|
||||
[node name="ButtonBackground" type="Sprite2D" parent="FightButtons/HealButton"]
|
||||
z_index = 200
|
||||
scale = Vector2(2.48, 2.48)
|
||||
texture = ExtResource("5_rjjub")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="FightButtons/HealButton/ButtonBackground"]
|
||||
position = Vector2(4.83871, 0)
|
||||
scale = Vector2(0.279343, 0.279343)
|
||||
texture = ExtResource("6_l04qi")
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="FightButtons/HealButton"]
|
||||
collision_layer = 16
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="FightButtons/HealButton/Area2D"]
|
||||
shape = SubResource("CircleShape2D_4r2vf")
|
||||
|
||||
[node name="HealthShow" type="Label" parent="."]
|
||||
z_index = 200
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -197.0
|
||||
offset_top = -947.0
|
||||
offset_right = 207.0
|
||||
offset_bottom = -801.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_font_sizes/font_size = 106
|
||||
text = "100/100"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="HitAudio" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("5_4r2vf")
|
||||
|
||||
[node name="AttackAudio" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("6_u1ayv")
|
||||
|
||||
[connection signal="Attacking" from="." to="AttackAudio" method="play" binds= [0.0]]
|
||||
[connection signal="DamageTaken" from="." to="HitAudio" method="play" binds= [0.0]]
|
||||
[connection signal="input_event" from="FightButtons/AttackButton/Area2D" to="." method="AttackMouseEvent"]
|
||||
[connection signal="input_event" from="FightButtons/HealButton/Area2D" to="." method="HealMouseEvent"]
|
||||
@@ -29,6 +29,7 @@ Dialogic="*res://addons/dialogic/Core/DialogicGameHandler.gd"
|
||||
InventoryManager="*res://scripts/CSharp/Common/Inventory/InventoryManager.cs"
|
||||
Signal_Debugger="*res://addons/SignalVisualizer/Debugger/SignalDebugger.gd"
|
||||
QuestManager="*res://scripts/CSharp/Common/Quest/QuestManager.cs"
|
||||
FightManagerAutoload="*res://prefabs/fight/fight_manager_autoload.tscn"
|
||||
|
||||
[dialogic]
|
||||
|
||||
@@ -56,6 +57,7 @@ directories/dtl_directory={
|
||||
"quest5_forest_end": "res://dialog/quest5_forest_end.dtl",
|
||||
"quest5_forest_start": "res://dialog/quest5_forest_start.dtl",
|
||||
"semi_cat": "res://dialog/semi_cat.dtl",
|
||||
"talk_to_plant": "res://dialog/talk_to_plant.dtl",
|
||||
"test_time_line": "res://dialog/test_time_line.dtl",
|
||||
"yeli_intro_01": "res://dialog/yeli_intro_01.dtl",
|
||||
"yeli_intro_02": "res://dialog/yeli_intro_02.dtl",
|
||||
@@ -64,6 +66,7 @@ directories/dtl_directory={
|
||||
"yeli_intro_05": "res://dialog/yeli_intro_05.dtl"
|
||||
}
|
||||
variables={
|
||||
"MAGICWORD": "Hokus Pokus!s",
|
||||
"PLAYERMOOD": "Good",
|
||||
"SHOW": "IGF"
|
||||
}
|
||||
@@ -231,6 +234,7 @@ locale/translations=PackedStringArray("res://dialog/translations/dialogic_charac
|
||||
3d_physics/layer_1="General"
|
||||
2d_physics/layer_2="Background elements"
|
||||
2d_physics/layer_3="player"
|
||||
2d_physics/layer_5="fight ui"
|
||||
3d_physics/layer_5="Player"
|
||||
|
||||
[rendering]
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
[gd_resource type="Resource" script_class="ItemResource" load_steps=3 format=3 uid="uid://0mnsr4anoaiq"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://b5ade1s2ijunu" path="res://art/farm/farming/farmobjekte/beetroot/beetroot_icon.png" id="1_wddc8"]
|
||||
[ext_resource type="Script" uid="uid://cbskymrxs6ksu" path="res://scripts/CSharp/Common/Inventory/ItemResource.cs" id="2_5t85d"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("2_5t85d")
|
||||
name = "Tomato"
|
||||
color = Color(0.451671, 0.0462732, 0.396459, 1)
|
||||
icon = ExtResource("1_wddc8")
|
||||
maxStack = 20
|
||||
metadata/_custom_type_script = "uid://cbskymrxs6ksu"
|
||||
@@ -0,0 +1,445 @@
|
||||
[gd_scene load_steps=9 format=3 uid="uid://cmpw8lhwnwuo6"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cssdu8viimwm6" path="res://scripts/CSharp/Common/SceneTransition.cs" id="1_f5860"]
|
||||
[ext_resource type="Texture2D" uid="uid://c7atj6ohlmir3" path="res://art/ui/StartScreen/titlescreen.png" id="1_kesja"]
|
||||
[ext_resource type="Texture2D" uid="uid://du612t3xytly3" path="res://art/ui/StartScreen/babushkalog_white.png" id="2_f5860"]
|
||||
[ext_resource type="Texture2D" uid="uid://cfrhmcyhs2i53" path="res://art/ui/UI/WhiteWashBackground.png" id="3_dvwtm"]
|
||||
[ext_resource type="Texture2D" uid="uid://deitc84w2byyh" path="res://art/ui/nametag.png" id="4_a8kc7"]
|
||||
[ext_resource type="FontFile" uid="uid://bgmdn7uo215q2" path="res://art/fonts/RuslanDisplay-Regular.ttf" id="5_gsl3s"]
|
||||
[ext_resource type="Texture2D" uid="uid://blbplxfx41f8t" path="res://art/logos/Cozy Raven Logo breit.svg" id="6_l0rmr"]
|
||||
[ext_resource type="Texture2D" uid="uid://cwbv2i8ntq15d" path="res://art/logos/FS_Logo_2zeilig_rot.png" id="7_03xwf"]
|
||||
|
||||
[node name="BabushkaSceneCredits" type="Node2D"]
|
||||
script = ExtResource("1_f5860")
|
||||
_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_startMenu.tscn")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
position = Vector2(1030, 483)
|
||||
scale = Vector2(0.535648, 0.535648)
|
||||
texture = ExtResource("1_kesja")
|
||||
|
||||
[node name="BabushkaText" type="Sprite2D" parent="."]
|
||||
position = Vector2(1387, 129)
|
||||
scale = Vector2(0.349074, 0.349074)
|
||||
texture = ExtResource("2_f5860")
|
||||
|
||||
[node name="WhiteWash" type="Sprite2D" parent="."]
|
||||
modulate = Color(1, 1, 1, 0.0509804)
|
||||
position = Vector2(1019, 930)
|
||||
scale = Vector2(13.1172, 4.47852)
|
||||
texture = ExtResource("3_dvwtm")
|
||||
|
||||
[node name="Node2D10" type="Node2D" parent="."]
|
||||
position = Vector2(-18, 4)
|
||||
scale = Vector2(0.93, 0.93)
|
||||
|
||||
[node name="Node2D2" type="Node2D" parent="Node2D10"]
|
||||
position = Vector2(39, -100)
|
||||
scale = Vector2(0.5, 0.5)
|
||||
|
||||
[node name="Nametag2" type="Sprite2D" parent="Node2D10/Node2D2"]
|
||||
position = Vector2(596.045, 303)
|
||||
scale = Vector2(0.636364, 0.636364)
|
||||
texture = ExtResource("4_a8kc7")
|
||||
|
||||
[node name="Label2" type="Label" parent="Node2D10/Node2D2"]
|
||||
offset_left = 296.0
|
||||
offset_top = 250.0
|
||||
offset_right = 898.0
|
||||
offset_bottom = 377.0
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_constants/shadow_offset_x = 0
|
||||
theme_override_constants/shadow_offset_y = 0
|
||||
theme_override_fonts/font = ExtResource("5_gsl3s")
|
||||
theme_override_font_sizes/font_size = 56
|
||||
text = "Producer"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Nametag" type="Sprite2D" parent="Node2D10/Node2D2"]
|
||||
position = Vector2(595, 408)
|
||||
texture = ExtResource("4_a8kc7")
|
||||
|
||||
[node name="Label" type="Label" parent="Node2D10/Node2D2"]
|
||||
offset_left = 124.0
|
||||
offset_top = 359.0
|
||||
offset_right = 1072.0
|
||||
offset_bottom = 486.0
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_constants/shadow_offset_x = 0
|
||||
theme_override_constants/shadow_offset_y = 0
|
||||
theme_override_fonts/font = ExtResource("5_gsl3s")
|
||||
theme_override_font_sizes/font_size = 80
|
||||
text = "Kathi"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Node2D" type="Node2D" parent="Node2D10"]
|
||||
position = Vector2(39, 15)
|
||||
scale = Vector2(0.5, 0.5)
|
||||
|
||||
[node name="Nametag2" type="Sprite2D" parent="Node2D10/Node2D"]
|
||||
position = Vector2(596.045, 303)
|
||||
scale = Vector2(0.636364, 0.636364)
|
||||
texture = ExtResource("4_a8kc7")
|
||||
|
||||
[node name="Label2" type="Label" parent="Node2D10/Node2D"]
|
||||
offset_left = 295.0
|
||||
offset_top = 250.0
|
||||
offset_right = 897.0
|
||||
offset_bottom = 377.0
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_constants/shadow_offset_x = 0
|
||||
theme_override_constants/shadow_offset_y = 0
|
||||
theme_override_fonts/font = ExtResource("5_gsl3s")
|
||||
theme_override_font_sizes/font_size = 56
|
||||
text = "Programming"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Nametag" type="Sprite2D" parent="Node2D10/Node2D"]
|
||||
position = Vector2(595, 408)
|
||||
texture = ExtResource("4_a8kc7")
|
||||
|
||||
[node name="Label" type="Label" parent="Node2D10/Node2D"]
|
||||
offset_left = 124.0
|
||||
offset_top = 359.0
|
||||
offset_right = 1072.0
|
||||
offset_bottom = 486.0
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_constants/shadow_offset_x = 0
|
||||
theme_override_constants/shadow_offset_y = 0
|
||||
theme_override_fonts/font = ExtResource("5_gsl3s")
|
||||
theme_override_font_sizes/font_size = 80
|
||||
text = "Jonathan"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Node2D3" type="Node2D" parent="Node2D10"]
|
||||
position = Vector2(35, 130)
|
||||
scale = Vector2(0.5, 0.5)
|
||||
|
||||
[node name="Nametag2" type="Sprite2D" parent="Node2D10/Node2D3"]
|
||||
position = Vector2(596.045, 303)
|
||||
scale = Vector2(0.636364, 0.636364)
|
||||
texture = ExtResource("4_a8kc7")
|
||||
|
||||
[node name="Label2" type="Label" parent="Node2D10/Node2D3"]
|
||||
offset_left = 295.0
|
||||
offset_top = 250.0
|
||||
offset_right = 897.0
|
||||
offset_bottom = 377.0
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_constants/shadow_offset_x = 0
|
||||
theme_override_constants/shadow_offset_y = 0
|
||||
theme_override_fonts/font = ExtResource("5_gsl3s")
|
||||
theme_override_font_sizes/font_size = 56
|
||||
text = "Sound Design"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Nametag" type="Sprite2D" parent="Node2D10/Node2D3"]
|
||||
position = Vector2(595, 408)
|
||||
texture = ExtResource("4_a8kc7")
|
||||
|
||||
[node name="Label" type="Label" parent="Node2D10/Node2D3"]
|
||||
offset_left = 124.0
|
||||
offset_top = 359.0
|
||||
offset_right = 1072.0
|
||||
offset_bottom = 486.0
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_constants/shadow_offset_x = 0
|
||||
theme_override_constants/shadow_offset_y = 0
|
||||
theme_override_fonts/font = ExtResource("5_gsl3s")
|
||||
theme_override_font_sizes/font_size = 80
|
||||
text = "Laura"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Node2D4" type="Node2D" parent="Node2D10"]
|
||||
position = Vector2(35, 244)
|
||||
scale = Vector2(0.5, 0.5)
|
||||
|
||||
[node name="Nametag2" type="Sprite2D" parent="Node2D10/Node2D4"]
|
||||
position = Vector2(596.045, 303)
|
||||
scale = Vector2(0.636364, 0.636364)
|
||||
texture = ExtResource("4_a8kc7")
|
||||
|
||||
[node name="Label2" type="Label" parent="Node2D10/Node2D4"]
|
||||
offset_left = 295.0
|
||||
offset_top = 250.0
|
||||
offset_right = 897.0
|
||||
offset_bottom = 377.0
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_constants/shadow_offset_x = 0
|
||||
theme_override_constants/shadow_offset_y = 0
|
||||
theme_override_fonts/font = ExtResource("5_gsl3s")
|
||||
theme_override_font_sizes/font_size = 56
|
||||
text = "Project Manager"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Nametag" type="Sprite2D" parent="Node2D10/Node2D4"]
|
||||
position = Vector2(595, 408)
|
||||
texture = ExtResource("4_a8kc7")
|
||||
|
||||
[node name="Label" type="Label" parent="Node2D10/Node2D4"]
|
||||
offset_left = 124.0
|
||||
offset_top = 359.0
|
||||
offset_right = 1072.0
|
||||
offset_bottom = 486.0
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_constants/shadow_offset_x = 0
|
||||
theme_override_constants/shadow_offset_y = 0
|
||||
theme_override_fonts/font = ExtResource("5_gsl3s")
|
||||
theme_override_font_sizes/font_size = 80
|
||||
text = "Anna"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Node2D5" type="Node2D" parent="Node2D10"]
|
||||
position = Vector2(35, 356)
|
||||
scale = Vector2(0.5, 0.5)
|
||||
|
||||
[node name="Nametag2" type="Sprite2D" parent="Node2D10/Node2D5"]
|
||||
position = Vector2(596.045, 303)
|
||||
scale = Vector2(0.636364, 0.636364)
|
||||
texture = ExtResource("4_a8kc7")
|
||||
|
||||
[node name="Label2" type="Label" parent="Node2D10/Node2D5"]
|
||||
offset_left = 295.0
|
||||
offset_top = 250.0
|
||||
offset_right = 897.0
|
||||
offset_bottom = 377.0
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_constants/shadow_offset_x = 0
|
||||
theme_override_constants/shadow_offset_y = 0
|
||||
theme_override_fonts/font = ExtResource("5_gsl3s")
|
||||
theme_override_font_sizes/font_size = 56
|
||||
text = "Art"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Nametag" type="Sprite2D" parent="Node2D10/Node2D5"]
|
||||
position = Vector2(595, 408)
|
||||
texture = ExtResource("4_a8kc7")
|
||||
|
||||
[node name="Label" type="Label" parent="Node2D10/Node2D5"]
|
||||
offset_left = 124.0
|
||||
offset_top = 359.0
|
||||
offset_right = 1072.0
|
||||
offset_bottom = 486.0
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_constants/shadow_offset_x = 0
|
||||
theme_override_constants/shadow_offset_y = 0
|
||||
theme_override_fonts/font = ExtResource("5_gsl3s")
|
||||
theme_override_font_sizes/font_size = 80
|
||||
text = "Alphawolfin"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Node2D6" type="Node2D" parent="Node2D10"]
|
||||
position = Vector2(35, 581)
|
||||
scale = Vector2(0.5, 0.5)
|
||||
|
||||
[node name="Nametag2" type="Sprite2D" parent="Node2D10/Node2D6"]
|
||||
position = Vector2(596.045, 303)
|
||||
scale = Vector2(0.636364, 0.636364)
|
||||
texture = ExtResource("4_a8kc7")
|
||||
|
||||
[node name="Label2" type="Label" parent="Node2D10/Node2D6"]
|
||||
offset_left = 295.0
|
||||
offset_top = 250.0
|
||||
offset_right = 897.0
|
||||
offset_bottom = 377.0
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_constants/shadow_offset_x = 0
|
||||
theme_override_constants/shadow_offset_y = 0
|
||||
theme_override_fonts/font = ExtResource("5_gsl3s")
|
||||
theme_override_font_sizes/font_size = 56
|
||||
text = "Game Design"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Nametag" type="Sprite2D" parent="Node2D10/Node2D6"]
|
||||
position = Vector2(595, 408)
|
||||
texture = ExtResource("4_a8kc7")
|
||||
|
||||
[node name="Label" type="Label" parent="Node2D10/Node2D6"]
|
||||
offset_left = 124.0
|
||||
offset_top = 359.0
|
||||
offset_right = 1072.0
|
||||
offset_bottom = 486.0
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_constants/shadow_offset_x = 0
|
||||
theme_override_constants/shadow_offset_y = 0
|
||||
theme_override_fonts/font = ExtResource("5_gsl3s")
|
||||
theme_override_font_sizes/font_size = 80
|
||||
text = "Max"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Node2D7" type="Node2D" parent="Node2D10"]
|
||||
position = Vector2(35, 695)
|
||||
scale = Vector2(0.5, 0.5)
|
||||
|
||||
[node name="Nametag2" type="Sprite2D" parent="Node2D10/Node2D7"]
|
||||
position = Vector2(596.045, 303)
|
||||
scale = Vector2(0.636364, 0.636364)
|
||||
texture = ExtResource("4_a8kc7")
|
||||
|
||||
[node name="Label2" type="Label" parent="Node2D10/Node2D7"]
|
||||
offset_left = 295.0
|
||||
offset_top = 250.0
|
||||
offset_right = 897.0
|
||||
offset_bottom = 377.0
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_constants/shadow_offset_x = 0
|
||||
theme_override_constants/shadow_offset_y = 0
|
||||
theme_override_fonts/font = ExtResource("5_gsl3s")
|
||||
theme_override_font_sizes/font_size = 56
|
||||
text = "Writer"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Nametag" type="Sprite2D" parent="Node2D10/Node2D7"]
|
||||
position = Vector2(595, 408)
|
||||
texture = ExtResource("4_a8kc7")
|
||||
|
||||
[node name="Label" type="Label" parent="Node2D10/Node2D7"]
|
||||
offset_left = 124.0
|
||||
offset_top = 359.0
|
||||
offset_right = 1072.0
|
||||
offset_bottom = 486.0
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_constants/shadow_offset_x = 0
|
||||
theme_override_constants/shadow_offset_y = 0
|
||||
theme_override_fonts/font = ExtResource("5_gsl3s")
|
||||
theme_override_font_sizes/font_size = 80
|
||||
text = "Sanel"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Node2D8" type="Node2D" parent="Node2D10"]
|
||||
position = Vector2(35, 469)
|
||||
scale = Vector2(0.5, 0.5)
|
||||
|
||||
[node name="Nametag2" type="Sprite2D" parent="Node2D10/Node2D8"]
|
||||
position = Vector2(596.045, 303)
|
||||
scale = Vector2(0.636364, 0.636364)
|
||||
texture = ExtResource("4_a8kc7")
|
||||
|
||||
[node name="Label2" type="Label" parent="Node2D10/Node2D8"]
|
||||
offset_left = 295.0
|
||||
offset_top = 250.0
|
||||
offset_right = 897.0
|
||||
offset_bottom = 377.0
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_constants/shadow_offset_x = 0
|
||||
theme_override_constants/shadow_offset_y = 0
|
||||
theme_override_fonts/font = ExtResource("5_gsl3s")
|
||||
theme_override_font_sizes/font_size = 56
|
||||
text = "Animation"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Nametag" type="Sprite2D" parent="Node2D10/Node2D8"]
|
||||
position = Vector2(595, 408)
|
||||
texture = ExtResource("4_a8kc7")
|
||||
|
||||
[node name="Label" type="Label" parent="Node2D10/Node2D8"]
|
||||
offset_left = 124.0
|
||||
offset_top = 359.0
|
||||
offset_right = 1072.0
|
||||
offset_bottom = 486.0
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_constants/shadow_offset_x = 0
|
||||
theme_override_constants/shadow_offset_y = 0
|
||||
theme_override_fonts/font = ExtResource("5_gsl3s")
|
||||
theme_override_font_sizes/font_size = 80
|
||||
text = "Felix"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Node2D9" type="Node2D" parent="Node2D10"]
|
||||
position = Vector2(35, 807)
|
||||
scale = Vector2(0.5, 0.5)
|
||||
|
||||
[node name="Nametag2" type="Sprite2D" parent="Node2D10/Node2D9"]
|
||||
position = Vector2(596.045, 303)
|
||||
scale = Vector2(0.636364, 0.636364)
|
||||
texture = ExtResource("4_a8kc7")
|
||||
|
||||
[node name="Label2" type="Label" parent="Node2D10/Node2D9"]
|
||||
offset_left = 295.0
|
||||
offset_top = 250.0
|
||||
offset_right = 897.0
|
||||
offset_bottom = 377.0
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_constants/shadow_offset_x = 0
|
||||
theme_override_constants/shadow_offset_y = 0
|
||||
theme_override_fonts/font = ExtResource("5_gsl3s")
|
||||
theme_override_font_sizes/font_size = 56
|
||||
text = "Music"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Nametag3" type="Sprite2D" parent="Node2D10/Node2D9"]
|
||||
position = Vector2(3726.91, 187.387)
|
||||
scale = Vector2(0.636364, 0.636364)
|
||||
texture = ExtResource("4_a8kc7")
|
||||
|
||||
[node name="Label3" type="Label" parent="Node2D10/Node2D9"]
|
||||
offset_left = 3425.86
|
||||
offset_top = 134.387
|
||||
offset_right = 4027.86
|
||||
offset_bottom = 261.387
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_constants/shadow_offset_x = 0
|
||||
theme_override_constants/shadow_offset_y = 0
|
||||
theme_override_fonts/font = ExtResource("5_gsl3s")
|
||||
theme_override_font_sizes/font_size = 56
|
||||
text = "Gefördert durch"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Nametag" type="Sprite2D" parent="Node2D10/Node2D9"]
|
||||
position = Vector2(595, 408)
|
||||
texture = ExtResource("4_a8kc7")
|
||||
|
||||
[node name="Label" type="Label" parent="Node2D10/Node2D9"]
|
||||
offset_left = 124.0
|
||||
offset_top = 359.0
|
||||
offset_right = 1072.0
|
||||
offset_bottom = 486.0
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_constants/shadow_offset_x = 0
|
||||
theme_override_constants/shadow_offset_y = 0
|
||||
theme_override_fonts/font = ExtResource("5_gsl3s")
|
||||
theme_override_font_sizes/font_size = 80
|
||||
text = "Felix"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="CozyRavenLogoBreit" type="Sprite2D" parent="."]
|
||||
position = Vector2(1044.13, 876.875)
|
||||
scale = Vector2(0.150709, 0.150709)
|
||||
texture = ExtResource("6_l0rmr")
|
||||
|
||||
[node name="fums Logo" type="Sprite2D" parent="."]
|
||||
position = Vector2(1751, 917)
|
||||
scale = Vector2(0.496692, 0.496693)
|
||||
texture = ExtResource("7_03xwf")
|
||||
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||
|
||||
[node name="Button" type="Button" parent="CanvasLayer"]
|
||||
anchors_preset = 1
|
||||
anchor_left = 1.0
|
||||
anchor_right = 1.0
|
||||
offset_left = -75.0
|
||||
offset_bottom = 71.0
|
||||
grow_horizontal = 0
|
||||
alignment = 2
|
||||
|
||||
[connection signal="pressed" from="CanvasLayer/Button" to="." method="LoadScene"]
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=98 format=3 uid="uid://gigb28qk8t12"]
|
||||
[gd_scene load_steps=102 format=3 uid="uid://gigb28qk8t12"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://c25udixd5m6l0" path="res://prefabs/characters/Player2D.tscn" id="1_7wfwe"]
|
||||
[ext_resource type="Texture2D" uid="uid://8sr11ex30n0m" path="res://art/mockups/Kenney_Backgrounds/Samples/uncolored_hills.png" id="2_7b2ri"]
|
||||
@@ -60,6 +60,10 @@
|
||||
[ext_resource type="Texture2D" uid="uid://lvhbicmwqab5" path="res://art/farm/tilable grounds/böden/fruchtbarer wilder trockender boden.png" id="47_loeum"]
|
||||
[ext_resource type="AudioStream" uid="uid://c43a6x43jkikl" path="res://audio/sfx/Farming/SFX_GettingWater_Well_01_Reverb.wav" id="49_d77e7"]
|
||||
[ext_resource type="Texture2D" uid="uid://blb3agipyxnal" path="res://art/farm/farming/farmobjekte/zaun/fence_door.png" id="49_i36hd"]
|
||||
[ext_resource type="Script" uid="uid://l6iq8rpym5io" path="res://scripts/CSharp/Common/Util/Counter.cs" id="49_uxa2m"]
|
||||
[ext_resource type="Script" uid="uid://dnipeibppjirs" path="res://scripts/CSharp/Common/NPC/DialogicOverlayStarter.cs" id="51_uxa2m"]
|
||||
[ext_resource type="Script" uid="uid://d2486x6upmwqq" path="res://scripts/GdScript/dialogic_starter.gd" id="52_lwk6t"]
|
||||
[ext_resource type="PackedScene" uid="uid://sbf12hin4kes" path="res://prefabs/Interactables/trash_object.tscn" id="53_ycj14"]
|
||||
[ext_resource type="PackedScene" uid="uid://muuxxgvx33fp" path="res://prefabs/farm/duck.tscn" id="62_i36hd"]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_wtdui"]
|
||||
@@ -1003,7 +1007,7 @@ y_sort_enabled = true
|
||||
|
||||
[node name="Yeli" parent="YSorted" instance=ExtResource("24_wtdui")]
|
||||
position = Vector2(6403, 3362)
|
||||
_timelinesToPlay = PackedStringArray("quest1_ducks_start", "quest1_ducks_end", "quest2_tomatoes_start", "quest2_tomatoes_interim", "quest2_tomatoes_end")
|
||||
_timelinesToPlay = PackedStringArray("quest1_ducks_start", "quest2_tomatoes_start", "quest2_tomatoes_interim", "quest2_tomatoes_end")
|
||||
|
||||
[node name="Vesna" parent="YSorted" node_paths=PackedStringArray("_fieldParent") instance=ExtResource("1_7wfwe")]
|
||||
z_index = 1
|
||||
@@ -2119,6 +2123,8 @@ position = Vector2(-106.663, 182.891)
|
||||
shape = SubResource("RectangleShape2D_ycj14")
|
||||
|
||||
[node name="ducks" type="Node2D" parent="YSorted"]
|
||||
script = ExtResource("49_uxa2m")
|
||||
_goal = 6
|
||||
|
||||
[node name="Duck2" parent="YSorted/ducks" node_paths=PackedStringArray("_penTarget") instance=ExtResource("62_i36hd")]
|
||||
position = Vector2(4374, 2652)
|
||||
@@ -2150,6 +2156,14 @@ rotation = 3.14159
|
||||
scale = Vector2(1, -1)
|
||||
_penTarget = NodePath("../../pen/penSlot6")
|
||||
|
||||
[node name="DialogicToggle" type="Node2D" parent="YSorted/ducks"]
|
||||
script = ExtResource("51_uxa2m")
|
||||
_timelinesToPlay = PackedStringArray("quest1_ducks_end")
|
||||
_startOnReady = false
|
||||
|
||||
[node name="dialogic starter" type="Node2D" parent="YSorted/ducks"]
|
||||
script = ExtResource("52_lwk6t")
|
||||
|
||||
[node name="pen" type="Node2D" parent="YSorted"]
|
||||
|
||||
[node name="penSlot1" type="Node2D" parent="YSorted/pen"]
|
||||
@@ -2170,6 +2184,44 @@ position = Vector2(-4659, 2897)
|
||||
[node name="penSlot6" type="Node2D" parent="YSorted/pen"]
|
||||
position = Vector2(-5016, 3361)
|
||||
|
||||
[node name="trash" type="Node2D" parent="YSorted"]
|
||||
|
||||
[node name="trashObject" parent="YSorted/trash" instance=ExtResource("53_ycj14")]
|
||||
position = Vector2(1269, 3170)
|
||||
|
||||
[node name="trashObject2" parent="YSorted/trash" instance=ExtResource("53_ycj14")]
|
||||
position = Vector2(3183, 2369)
|
||||
region_rect = Rect2(207, 1184, 149, 142)
|
||||
|
||||
[node name="trashObject3" parent="YSorted/trash" instance=ExtResource("53_ycj14")]
|
||||
position = Vector2(4724, 3519)
|
||||
region_rect = Rect2(400, 1053, 163, 141)
|
||||
|
||||
[node name="trashObject4" parent="YSorted/trash" instance=ExtResource("53_ycj14")]
|
||||
position = Vector2(5385, 3391)
|
||||
region_rect = Rect2(1048, 1092, 348, 106)
|
||||
|
||||
[node name="trashObject5" parent="YSorted/trash" instance=ExtResource("53_ycj14")]
|
||||
position = Vector2(8051, 2541)
|
||||
region_rect = Rect2(531, 1207, 176, 167)
|
||||
|
||||
[node name="trashObject6" parent="YSorted/trash" instance=ExtResource("53_ycj14")]
|
||||
position = Vector2(9629, 3312)
|
||||
region_rect = Rect2(207, 1184, 149, 142)
|
||||
|
||||
[node name="trashObject7" parent="YSorted/trash" instance=ExtResource("53_ycj14")]
|
||||
position = Vector2(12050, 3391)
|
||||
|
||||
[node name="trashObject8" parent="YSorted/trash" instance=ExtResource("53_ycj14")]
|
||||
position = Vector2(14589, 2505)
|
||||
rotation = 1.77025
|
||||
region_rect = Rect2(629, 81, 227, 829)
|
||||
|
||||
[node name="trashObject9" parent="YSorted/trash" instance=ExtResource("53_ycj14")]
|
||||
position = Vector2(15197, 3447)
|
||||
rotation = 1.77025
|
||||
region_rect = Rect2(1048, 1092, 348, 106)
|
||||
|
||||
[node name="CanvasLayer" parent="." instance=ExtResource("32_2nee2")]
|
||||
|
||||
[node name="Inventory" parent="CanvasLayer" index="1"]
|
||||
@@ -2191,9 +2243,6 @@ offset_top = 0.228533
|
||||
offset_right = -456.339
|
||||
offset_bottom = 30.2285
|
||||
|
||||
[node name="Control" parent="CanvasLayer" index="3"]
|
||||
visible = false
|
||||
|
||||
[node name="Audio" type="Node" parent="."]
|
||||
|
||||
[node name="Background Music Ramp up" type="AudioStreamPlayer2D" parent="Audio"]
|
||||
@@ -2243,6 +2292,14 @@ script = ExtResource("40_w3jkj")
|
||||
[connection signal="InteractedTool" from="YSorted/Farm visuals/Static/EnterHouseInteraction" to="." method="LoadSceneAtIndex"]
|
||||
[connection signal="FieldCreated" from="YSorted/Farm visuals/FieldParent" to="Audio/SFX/Farming SFX" method="PlayOneShot"]
|
||||
[connection signal="input_event" from="YSorted/Farm visuals/FieldParent/Area2D" to="YSorted/Vesna/FarmingControls" method="InputEventPressedOn"]
|
||||
[connection signal="GoalReached" from="YSorted/ducks" to="YSorted/ducks/DialogicToggle" method="ToggleDialogue"]
|
||||
[connection signal="DuckCollected" from="YSorted/ducks/Duck2" to="YSorted/ducks" method="Increment"]
|
||||
[connection signal="DuckCollected" from="YSorted/ducks/Duck3" to="YSorted/ducks" method="Increment"]
|
||||
[connection signal="DuckCollected" from="YSorted/ducks/Duck4" to="YSorted/ducks" method="Increment"]
|
||||
[connection signal="DuckCollected" from="YSorted/ducks/Duck5" to="YSorted/ducks" method="Increment"]
|
||||
[connection signal="DuckCollected" from="YSorted/ducks/Duck6" to="YSorted/ducks" method="Increment"]
|
||||
[connection signal="DuckCollected" from="YSorted/ducks/Duck7" to="YSorted/ducks" method="Increment"]
|
||||
[connection signal="Dialogue" from="YSorted/ducks/DialogicToggle" to="YSorted/ducks/dialogic starter" method="open"]
|
||||
[connection signal="finished" from="Audio/Background Music Ramp up" to="Audio/Background Music loop" method="PlayFromOffset"]
|
||||
|
||||
[editable path="YSorted/Vesna"]
|
||||
@@ -2257,4 +2314,5 @@ script = ExtResource("40_w3jkj")
|
||||
[editable path="YSorted/ScytheGenericPickup/InteractionArea2"]
|
||||
[editable path="YSorted/ShovelGenericPickup"]
|
||||
[editable path="YSorted/ShovelGenericPickup/InteractionArea2"]
|
||||
[editable path="YSorted/trash/trashObject"]
|
||||
[editable path="CanvasLayer"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=32 format=3 uid="uid://bm21nqepnwaik"]
|
||||
[gd_scene load_steps=40 format=3 uid="uid://bm21nqepnwaik"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cssdu8viimwm6" path="res://scripts/CSharp/Common/SceneTransition.cs" id="1_3vr4f"]
|
||||
[ext_resource type="Texture2D" uid="uid://cnhsxxps2cw5" path="res://art/indoor/room export/Room_01_table.png" id="2_ubg3a"]
|
||||
@@ -18,10 +18,17 @@
|
||||
[ext_resource type="PackedScene" uid="uid://c25udixd5m6l0" path="res://prefabs/characters/Player2D.tscn" id="15_7a68a"]
|
||||
[ext_resource type="Script" uid="uid://31p67cdowuw4" path="res://scripts/CSharp/Common/Animation/AnimationStarter.cs" id="15_27bwy"]
|
||||
[ext_resource type="Texture2D" uid="uid://c4q12jiligcl7" path="res://art/animals/katze.png" id="15_sndxu"]
|
||||
[ext_resource type="AudioStream" uid="uid://cohyenfo1rtxh" path="res://audio/sfx/Animals/SFX_Cat_Meow_01.wav" id="16_d7yky"]
|
||||
[ext_resource type="PackedScene" uid="uid://dfvgp1my5rydh" path="res://prefabs/characters/Yeli.tscn" id="16_dhsxs"]
|
||||
[ext_resource type="AudioStream" uid="uid://b2cmf5ie7cwka" path="res://audio/sfx/Animals/SFX_Cat_Meow_02.wav" id="17_7a68a"]
|
||||
[ext_resource type="Script" uid="uid://cvkw4qd2hxksi" path="res://scripts/GdScript/dialogic_toggle.gd" id="17_k0k8c"]
|
||||
[ext_resource type="AudioStream" uid="uid://cttisejnt2l8f" path="res://audio/sfx/Animals/SFX_Cat_Meow_03.wav" id="18_dhsxs"]
|
||||
[ext_resource type="Script" uid="uid://bqomwxclsbhd3" path="res://scripts/CSharp/Common/Camera/CameraController.cs" id="18_dw4nn"]
|
||||
[ext_resource type="AudioStream" uid="uid://cbmagiou0n0t3" path="res://audio/sfx/Animals/SFX_Cat_Meow_04.wav" id="19_k0k8c"]
|
||||
[ext_resource type="AudioStream" uid="uid://bk1bj01fokjp7" path="res://audio/sfx/Animals/SFX_Cat_Meow_05.wav" id="20_dw4nn"]
|
||||
[ext_resource type="Script" uid="uid://cldtt4atgymm5" path="res://scripts/CSharp/Common/Quest/QuestTrigger.cs" id="21_blyw3"]
|
||||
[ext_resource type="AudioStream" uid="uid://r2f6xmjvyyjv" path="res://audio/sfx/Animals/SFX_Cat_Purr_01.wav" id="21_ytap8"]
|
||||
[ext_resource type="Script" uid="uid://cfnrd5k1k0gxw" path="res://scripts/CSharp/Common/AudioPlayer.cs" id="22_tggq2"]
|
||||
[ext_resource type="Resource" uid="uid://cbpurnewhyefa" path="res://resources/quests/beetRoot.tres" id="22_yd2gv"]
|
||||
[ext_resource type="PackedScene" uid="uid://cgjc4wurbgimy" path="res://prefabs/UI/Inventory/Inventory.tscn" id="24_yd2gv"]
|
||||
|
||||
@@ -33,6 +40,15 @@ size = Vector2(3836, 1086)
|
||||
resource_local_to_scene = true
|
||||
radius = 300.0
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_b6vf7"]
|
||||
streams_count = 6
|
||||
stream_0/stream = ExtResource("16_d7yky")
|
||||
stream_1/stream = ExtResource("17_7a68a")
|
||||
stream_2/stream = ExtResource("18_dhsxs")
|
||||
stream_3/stream = ExtResource("19_k0k8c")
|
||||
stream_4/stream = ExtResource("20_dw4nn")
|
||||
stream_5/stream = ExtResource("21_ytap8")
|
||||
|
||||
[sub_resource type="Animation" id="Animation_j5d18"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
@@ -192,7 +208,7 @@ _data = {
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_wuntg"]
|
||||
resource_local_to_scene = true
|
||||
radius = 300.0
|
||||
radius = 209.703
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_yd2gv"]
|
||||
resource_local_to_scene = true
|
||||
@@ -201,7 +217,7 @@ radius = 472.086
|
||||
[node name="IndoorTest" type="Node2D"]
|
||||
y_sort_enabled = true
|
||||
script = ExtResource("1_3vr4f")
|
||||
_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_indoor_vesnas_room.tscn", "res://scenes/Babushka_scene_farm_outside_2d.tscn")
|
||||
_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_indoor_vesnas_room.tscn", "res://scenes/Babushka_scene_farm_outside_2d_ducksCollected.tscn")
|
||||
|
||||
[node name="Foreground" type="Node" parent="."]
|
||||
|
||||
@@ -370,6 +386,11 @@ scale = Vector2(2, 2)
|
||||
texture = ExtResource("15_sndxu")
|
||||
offset = Vector2(-8, -126)
|
||||
|
||||
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="BackWall/Katze"]
|
||||
stream = SubResource("AudioStreamRandomizer_b6vf7")
|
||||
bus = &"SFX"
|
||||
script = ExtResource("22_tggq2")
|
||||
|
||||
[node name="Room assets" type="Node" parent="BackWall"]
|
||||
|
||||
[node name="wood" type="Sprite2D" parent="BackWall/Room assets"]
|
||||
@@ -490,15 +511,18 @@ offset = Vector2(0, -296)
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2576, 802, 219, 64)
|
||||
|
||||
[node name="InteractionArea" parent="BackWall" instance=ExtResource("11_gpagp")]
|
||||
position = Vector2(-4064, 244)
|
||||
|
||||
[node name="Vesna" parent="." instance=ExtResource("15_7a68a")]
|
||||
position = Vector2(-1464, 136)
|
||||
position = Vector2(-920, 319)
|
||||
|
||||
[node name="Yeli" parent="." instance=ExtResource("16_dhsxs")]
|
||||
position = Vector2(-2912, 432)
|
||||
_timelinesToPlay = PackedStringArray("quest3_beets_start")
|
||||
position = Vector2(-1395, 16)
|
||||
_timelinesToPlay = PackedStringArray("yeli_intro_05")
|
||||
|
||||
[node name="CollisionShape3D" parent="Yeli/InteractionArea/Area2D" index="0"]
|
||||
position = Vector2(-205.348, 131.907)
|
||||
position = Vector2(-207.487, 136.185)
|
||||
shape = SubResource("CircleShape2D_wuntg")
|
||||
|
||||
[node name="Label" parent="Yeli/InteractionArea" index="1"]
|
||||
@@ -550,6 +574,7 @@ _id = 1
|
||||
|
||||
[connection signal="Interacted" from="BackWall/Room01PechkaDoor/InteractionArea" to="BackWall/Room01PechkaDoor/InteractionArea" method="ToggleActive"]
|
||||
[connection signal="Interacted" from="BackWall/Room01PechkaDoor/InteractionArea" to="BackWall/Room assets/hand" method="PlayAnimation"]
|
||||
[connection signal="Interacted" from="BackWall/InteractionArea" to="BackWall/Katze/AudioStreamPlayer2D" method="PlayOneShot"]
|
||||
[connection signal="timelineEnded" from="Yeli/dialogic_toggle" to="Yeli/Beetroot Quest trigger" method="Trigger"]
|
||||
[connection signal="InteractedTool" from="VesnasRoomDoor" to="." method="LoadSceneAtIndex"]
|
||||
[connection signal="InteractedTool" from="OutsideDoor" to="." method="LoadSceneAtIndex"]
|
||||
|
||||
@@ -22,7 +22,7 @@ radius = 509.071
|
||||
[node name="VesnasRoom" type="Node2D"]
|
||||
y_sort_enabled = true
|
||||
script = ExtResource("1_c6eln")
|
||||
_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_indoor_common_room.tscn")
|
||||
_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_indoor_common_room.tscn", "res://scenes/Babushka_scene_forest_fight_1_2d.tscn")
|
||||
|
||||
[node name="Colliders" type="Node2D" parent="."]
|
||||
position = Vector2(1297, 5292)
|
||||
@@ -96,6 +96,7 @@ _followNode = NodePath("../Vesna/CharacterBody2D")
|
||||
|
||||
[node name="BedInteraction" parent="." instance=ExtResource("8_phqdf")]
|
||||
position = Vector2(-1429, 487)
|
||||
_id = 1
|
||||
|
||||
[node name="DoorInteraction" parent="." instance=ExtResource("8_phqdf")]
|
||||
position = Vector2(777, 201)
|
||||
@@ -104,6 +105,7 @@ _id = 0
|
||||
[node name="CollisionShape3D" parent="DoorInteraction/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_2spkc")
|
||||
|
||||
[connection signal="InteractedTool" from="BedInteraction" to="." method="LoadSceneAtIndex"]
|
||||
[connection signal="Interacted" from="DoorInteraction" to="." method="LoadScene"]
|
||||
|
||||
[editable path="Vesna"]
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
[node name="BabushkaSceneStartMenu" type="Node2D"]
|
||||
script = ExtResource("1_fj2fh")
|
||||
_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_disclaimer.tscn")
|
||||
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||
|
||||
|
||||
@@ -1,13 +1,27 @@
|
||||
using Babushka.scripts.CSharp.Common.Fight;
|
||||
using Godot;
|
||||
|
||||
namespace Babushka.scripts.CSharp.Common.Camera;
|
||||
|
||||
public partial class CameraController : Camera2D
|
||||
{
|
||||
[Export] private Node2D _followNode;
|
||||
|
||||
public override void _Process(double delta)
|
||||
{
|
||||
this.GlobalPosition = _followNode.GlobalPosition;
|
||||
}
|
||||
}
|
||||
#region Singleton ( Contains _EnterTree() ) // TODO: use autoload or other solution
|
||||
|
||||
public static CameraController Instance { get; private set; } = null!;
|
||||
|
||||
public override void _EnterTree()
|
||||
{
|
||||
Instance = this;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
[Export] private Node2D _followNode;
|
||||
|
||||
public FightInstance? fightToShow;
|
||||
|
||||
public override void _Process(double delta)
|
||||
{
|
||||
this.GlobalPosition = fightToShow?.camPositionNode.GlobalPosition ?? _followNode.GlobalPosition;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,22 +40,27 @@ public partial class FieldBehaviour2D : Sprite2D
|
||||
{
|
||||
case FieldState.Empty:
|
||||
FieldState = FieldState.Empty;
|
||||
GD.Print("FieldState is Empty.");
|
||||
break;
|
||||
case FieldState.Tilled:
|
||||
FieldState = FieldState.Tilled;
|
||||
_fieldSprite.Texture = Tilled;
|
||||
_growingCollider.Visible = false;
|
||||
GD.Print("FieldState is Tilled.");
|
||||
break;
|
||||
case FieldState.Watered:
|
||||
FieldState = FieldState.Watered;
|
||||
_fieldSprite.Texture = Watered;
|
||||
_growingCollider.Visible = true;
|
||||
GD.Print("FieldState is Watered.");
|
||||
break;
|
||||
case FieldState.Planted:
|
||||
FieldState = FieldState.Planted;
|
||||
GD.Print("FieldState is Planted.");
|
||||
break;
|
||||
default:
|
||||
FieldState = FieldState.NotFound;
|
||||
GD.Print("FieldState is NotFound.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -63,8 +68,7 @@ public partial class FieldBehaviour2D : Sprite2D
|
||||
|
||||
public void Water()
|
||||
{
|
||||
FieldState = FieldState.Watered;
|
||||
_fieldSprite.Texture = Watered;
|
||||
UpdateFieldState(FieldState.Watered);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -26,8 +26,11 @@ public partial class PlantBehaviour2D : Node2D
|
||||
[Export] private PlantState _state = PlantState.None;
|
||||
[Export] private FieldBehaviour2D _field;
|
||||
[Export] private ItemOnGround2D _harvestablePlant;
|
||||
[Export] private CpuParticles2D _magicEffect;
|
||||
|
||||
private string _magicWordDialogicEventName = "MagicWord";
|
||||
private Sprite2D _currentPlantSprite = null;
|
||||
private bool _magicWordSaid;
|
||||
|
||||
|
||||
/// <summary>
|
||||
@@ -35,9 +38,10 @@ public partial class PlantBehaviour2D : Node2D
|
||||
/// </summary>
|
||||
public void Grow()
|
||||
{
|
||||
if (_field.FieldState != FieldState.Watered)
|
||||
if (_field.FieldState != FieldState.Watered || !_magicWordSaid)
|
||||
return;
|
||||
|
||||
GD.Print("Trying to grow something here.");
|
||||
GetTree().CallGroup("PlantGrowing", Player2D.MethodName.PlayFarmingAnimation);
|
||||
|
||||
switch (_state)
|
||||
@@ -46,18 +50,21 @@ public partial class PlantBehaviour2D : Node2D
|
||||
_state = PlantState.Planted;
|
||||
_currentPlantSprite = GetRandomSprite(_seeds);
|
||||
_currentPlantSprite.Visible = true;
|
||||
GD.Print("PlantState is none.");
|
||||
break;
|
||||
case PlantState.Planted:
|
||||
_state = PlantState.SmallPlant;
|
||||
_currentPlantSprite.Visible = false;
|
||||
_currentPlantSprite = GetRandomSprite(_smallPlants);
|
||||
_currentPlantSprite.Visible = true;
|
||||
GD.Print("PlantState is planted.");
|
||||
break;
|
||||
case PlantState.SmallPlant:
|
||||
_state = PlantState.BigPlant;
|
||||
_currentPlantSprite.Visible = false;
|
||||
_currentPlantSprite = GetRandomSprite(_bigPlants);
|
||||
_currentPlantSprite.Visible = true;
|
||||
GD.Print("PlantState is Smallplant.");
|
||||
break;
|
||||
case PlantState.BigPlant:
|
||||
_state = PlantState.Ready;
|
||||
@@ -65,6 +72,7 @@ public partial class PlantBehaviour2D : Node2D
|
||||
_currentPlantSprite = GetRandomSprite(_readyPlants);
|
||||
_harvestablePlant.IsActive = true;
|
||||
_currentPlantSprite.Visible = true;
|
||||
GD.Print("PlantState is BigPlant.");
|
||||
break;
|
||||
case PlantState.Ready:
|
||||
_state = PlantState.None;
|
||||
@@ -76,6 +84,7 @@ public partial class PlantBehaviour2D : Node2D
|
||||
}
|
||||
|
||||
_field.UpdateFieldState(FieldState.Tilled);
|
||||
_magicWordSaid = false;
|
||||
}
|
||||
|
||||
private Sprite2D GetRandomSprite(Sprite2D[] sprites)
|
||||
@@ -83,4 +92,16 @@ public partial class PlantBehaviour2D : Node2D
|
||||
Random rand = new Random();
|
||||
return sprites[rand.Next(sprites.Length)];
|
||||
}
|
||||
|
||||
public void SayMagicWord(string wordEvent)
|
||||
{
|
||||
GD.Print("Calling Dialogic event: " + wordEvent);
|
||||
if (_magicWordDialogicEventName != wordEvent)
|
||||
return;
|
||||
|
||||
_magicEffect.Emitting = true;
|
||||
_magicEffect.OneShot = true;
|
||||
_magicWordSaid = true;
|
||||
Grow();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,357 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Babushka.scripts.CSharp.Common.Camera;
|
||||
using Babushka.scripts.CSharp.Common.Util;
|
||||
using Godot;
|
||||
namespace Babushka.scripts.CSharp.Common.Fight;
|
||||
|
||||
public partial class FightInstance : Node2D //TODO: remake
|
||||
{
|
||||
[Export(PropertyHint.ArrayType)] private Node2D[] _friendlyFightSpots;
|
||||
[Export(PropertyHint.ArrayType)] private Node2D[] _enemyFightSpots;
|
||||
[Export] public Node2D camPositionNode;
|
||||
[Export] private FightStateManager _fightStateManager;
|
||||
[Export] private Label _fightEndText;
|
||||
|
||||
|
||||
[Signal]
|
||||
public delegate void FightStartedEventHandler();
|
||||
|
||||
[Signal]
|
||||
public delegate void FightEndedEventHandler();
|
||||
|
||||
private List<Fighter> _friendlyFighters = new();
|
||||
private List<Fighter> _enemyFighters = new();
|
||||
|
||||
private FightAttack? _stagedAttack = null;
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
//_fightStateManager.CurrentFightState = FightStateManager.FightState.FightStartAnim;
|
||||
_fightStateManager.ExitingTransition += from =>
|
||||
{
|
||||
switch (from)
|
||||
{
|
||||
case FightStateManager.FightState.None:
|
||||
CaptureCamera();
|
||||
Show();
|
||||
EmitSignalFightStarted();
|
||||
break;
|
||||
case FightStateManager.FightState.Input:
|
||||
HideAttackButtons();
|
||||
break;
|
||||
case FightStateManager.FightState.InputTargetSelect:
|
||||
HideTargetButtons();
|
||||
break;
|
||||
case FightStateManager.FightState.FriendAttackAnim:
|
||||
_stagedAttack = null;
|
||||
break;
|
||||
case FightStateManager.FightState.PlayerWinAnim:
|
||||
case FightStateManager.FightState.EnemyWinAnim:
|
||||
_fightEndText.Text = "";
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
_fightStateManager.EnteringTransition += to =>
|
||||
{
|
||||
switch (to)
|
||||
{
|
||||
case FightStateManager.FightState.None:
|
||||
EmitSignalFightEnded();
|
||||
CleanUp();
|
||||
Hide();
|
||||
ReleaseCamera();
|
||||
break;
|
||||
case FightStateManager.FightState.Input:
|
||||
if (CheckWinAndSetState())
|
||||
break;
|
||||
if (CheckFriendlyActionsLeftAndSetState())
|
||||
break;
|
||||
ShowAttackButtons();
|
||||
break;
|
||||
case FightStateManager.FightState.InputTargetSelect:
|
||||
ShowTargetButtons();
|
||||
break;
|
||||
case FightStateManager.FightState.FriendAttackAnim:
|
||||
ExecuteAttack();
|
||||
GetTree().CreateTimer(1).Timeout += () => _fightStateManager.CurrentFightState = FightStateManager.FightState.Input;
|
||||
break;
|
||||
case FightStateManager.FightState.Enemy:
|
||||
if (CheckWinAndSetState())
|
||||
break;
|
||||
if (CheckEnemyActionsLeftAndSetState())
|
||||
break;
|
||||
DecideEnemyAttack();
|
||||
_fightStateManager.CurrentFightState = FightStateManager.FightState.EnemyAttackAnim;
|
||||
break;
|
||||
case FightStateManager.FightState.EnemyAttackAnim:
|
||||
ExecuteAttack();
|
||||
GetTree().CreateTimer(1).Timeout += () => _fightStateManager.CurrentFightState = FightStateManager.FightState.Enemy;
|
||||
break;
|
||||
case FightStateManager.FightState.PlayerWinAnim:
|
||||
_fightEndText.Text = "You Win!";
|
||||
GetTree().CreateTimer(1.5).Timeout += () => _fightStateManager.CurrentFightState = FightStateManager.FightState.None;
|
||||
break;
|
||||
case FightStateManager.FightState.EnemyWinAnim:
|
||||
_fightEndText.Text = "You Died :(";
|
||||
GetTree().CreateTimer(3).Timeout += () => _fightStateManager.CurrentFightState = FightStateManager.FightState.None;
|
||||
break;
|
||||
case FightStateManager.FightState.ChangeSideToEnemy:
|
||||
ResetEnemyActions();
|
||||
_fightStateManager.CurrentFightState = FightStateManager.FightState.Enemy;
|
||||
break;
|
||||
case FightStateManager.FightState.ChangeSideToFriendly:
|
||||
ResetFriendlyActions();
|
||||
_fightStateManager.CurrentFightState = FightStateManager.FightState.Input;
|
||||
break;
|
||||
case FightStateManager.FightState.Heal:
|
||||
Heal();
|
||||
GetTree().CreateTimer(1).Timeout += () => _fightStateManager.CurrentFightState = FightStateManager.FightState.Input;
|
||||
break;
|
||||
}
|
||||
};
|
||||
}
|
||||
private void Heal()
|
||||
{
|
||||
// TODO: make heal staging system
|
||||
_friendlyFighters.Where(f => !f.IsDead()).ForEach(f =>
|
||||
{
|
||||
f.Health += 50;
|
||||
f.HealAnimation();
|
||||
f.DecrementActions();
|
||||
});
|
||||
UpdateHealthVisual();
|
||||
}
|
||||
private void ResetEnemyActions()
|
||||
{
|
||||
_enemyFighters.ForEach(f => f.ResetActions());
|
||||
}
|
||||
|
||||
private void ResetFriendlyActions()
|
||||
{
|
||||
_friendlyFighters.ForEach(f => f.ResetActions());
|
||||
}
|
||||
|
||||
/**
|
||||
* <returns>
|
||||
* <c>true</c> if the state was changed
|
||||
* </returns>
|
||||
*/
|
||||
private bool CheckFriendlyActionsLeftAndSetState()
|
||||
{
|
||||
var hasActionsLeft = _friendlyFighters.Where(f => !f.IsDead()).Any(f => f.HasActionsLeft());
|
||||
if (hasActionsLeft)
|
||||
{
|
||||
return false;
|
||||
} // else
|
||||
_fightStateManager.CurrentFightState = FightStateManager.FightState.ChangeSideToEnemy;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* <returns>
|
||||
* <c>true</c> if the state was changed
|
||||
* </returns>
|
||||
*/
|
||||
private bool CheckEnemyActionsLeftAndSetState()
|
||||
{
|
||||
var hasActionsLeft = _enemyFighters.Where(f => !f.IsDead()).Any(f => f.HasActionsLeft());
|
||||
if (hasActionsLeft)
|
||||
{
|
||||
return false;
|
||||
} // else
|
||||
_fightStateManager.CurrentFightState = FightStateManager.FightState.ChangeSideToFriendly;
|
||||
return true;
|
||||
}
|
||||
|
||||
private void CleanUp()
|
||||
{
|
||||
_enemyFighters.ForEach(f => f.QueueFree());
|
||||
_friendlyFighters.ForEach(f => f.QueueFree());
|
||||
_enemyFighters = new();
|
||||
_friendlyFighters = new();
|
||||
}
|
||||
private void DecideEnemyAttack()
|
||||
{
|
||||
var availableEnemyFighters =
|
||||
_enemyFighters
|
||||
.Where(f => !f.IsDead())
|
||||
.Where(f=>f.HasActionsLeft())
|
||||
.ToList();
|
||||
var aliveFriendlyFighters =
|
||||
_friendlyFighters
|
||||
.Where(f => !f.IsDead())
|
||||
.ToList();
|
||||
|
||||
if (availableEnemyFighters.Count <= 0)
|
||||
throw new InvalidOperationException("No enemy fighters available for attack.");
|
||||
|
||||
if (aliveFriendlyFighters.Count <= 0)
|
||||
throw new InvalidOperationException("No friendly fighters available to target.");
|
||||
|
||||
var fighter = availableEnemyFighters.Random();
|
||||
var target = aliveFriendlyFighters.Random();
|
||||
|
||||
_stagedAttack = new FightAttack
|
||||
{
|
||||
attacker = fighter!,
|
||||
needsSelectedTarget = true,
|
||||
damage = fighter!.attackStrength,
|
||||
target = target!
|
||||
};
|
||||
}
|
||||
|
||||
private void ExecuteAttack()
|
||||
{
|
||||
if (_stagedAttack == null)
|
||||
throw new InvalidOperationException("No staged attack to execute.");
|
||||
|
||||
if (!_stagedAttack.needsSelectedTarget)
|
||||
throw new NotImplementedException("Non-targeted attacks are not implemented yet.");
|
||||
|
||||
if (_stagedAttack.needsSelectedTarget && _stagedAttack.target == null)
|
||||
throw new InvalidOperationException("No target selected for the staged attack.");
|
||||
|
||||
_stagedAttack.target!.Health -= _stagedAttack.damage;
|
||||
_stagedAttack.attacker.DecrementActions();
|
||||
_stagedAttack.attacker.AttackAnimation(_stagedAttack);
|
||||
|
||||
UpdateHealthVisual();
|
||||
}
|
||||
|
||||
private void UpdateHealthVisual()
|
||||
{
|
||||
_friendlyFighters
|
||||
.Concat(_enemyFighters)
|
||||
.ForEach(f => f.UpdateHealthVisual());
|
||||
}
|
||||
|
||||
private void ReleaseCamera()
|
||||
{
|
||||
CameraController.Instance.fightToShow = null;
|
||||
}
|
||||
|
||||
private void CaptureCamera()
|
||||
{
|
||||
CameraController.Instance.fightToShow = this;
|
||||
}
|
||||
|
||||
public void Start(FightParty fightParty, PackedScene?[] enemies)
|
||||
{
|
||||
if (_fightStateManager.IsRunning())
|
||||
{
|
||||
GD.PushWarning("Can not start a running fight");
|
||||
return;
|
||||
}
|
||||
|
||||
if (fightParty.vesna)
|
||||
{
|
||||
InstantiateFighter(_friendlyFightSpots[1], FightManager.Instance.fightingVesnaScene);
|
||||
}
|
||||
|
||||
for (var i = 0; i < Math.Min(_enemyFightSpots.Length, enemies.Length); i++)
|
||||
{
|
||||
var enemy = enemies[i];
|
||||
if (enemy == null)
|
||||
continue;
|
||||
|
||||
InstantiateFighter(_enemyFightSpots[i], enemy, true);
|
||||
}
|
||||
|
||||
_fightStateManager.ToStartAnim();
|
||||
}
|
||||
|
||||
private void InstantiateFighter(Node2D parent, PackedScene fighterScene, bool isEnemy = false)
|
||||
{
|
||||
var fighter = fighterScene.Instantiate<Fighter>();
|
||||
fighter.fightInstance = this;
|
||||
parent.AddChild(fighter);
|
||||
|
||||
if (isEnemy)
|
||||
{
|
||||
_enemyFighters.Add(fighter);
|
||||
}
|
||||
else
|
||||
{
|
||||
_friendlyFighters.Add(fighter);
|
||||
}
|
||||
}
|
||||
|
||||
public void SelectAttack(Fighter fighter)
|
||||
{
|
||||
_stagedAttack = new FightAttack
|
||||
{
|
||||
attacker = fighter,
|
||||
damage = fighter.attackStrength,
|
||||
needsSelectedTarget = true
|
||||
};
|
||||
|
||||
if (_stagedAttack.needsSelectedTarget)
|
||||
{
|
||||
_fightStateManager.CurrentFightState = FightStateManager.FightState.InputTargetSelect;
|
||||
}
|
||||
else
|
||||
{
|
||||
_fightStateManager.CurrentFightState = FightStateManager.FightState.FriendAttackAnim;
|
||||
}
|
||||
}
|
||||
|
||||
private void HideAttackButtons()
|
||||
{
|
||||
_friendlyFighters.ForEach(f => f.HideAttackButton());
|
||||
}
|
||||
|
||||
private void ShowAttackButtons()
|
||||
{
|
||||
_friendlyFighters.ForEach(f => f.ShowAttackButton());
|
||||
}
|
||||
|
||||
private void HideTargetButtons()
|
||||
{
|
||||
_enemyFighters.ForEach(f => f.HideTargetButtons());
|
||||
}
|
||||
|
||||
private void ShowTargetButtons()
|
||||
{
|
||||
_enemyFighters.Where(f => !f.IsDead()).ForEach(f => f.ShowTargetButtons());
|
||||
}
|
||||
|
||||
public void SelectTargetAndAttack(Fighter fighter)
|
||||
{
|
||||
if (_stagedAttack == null)
|
||||
throw new InvalidOperationException("No staged attack to select target for.");
|
||||
|
||||
_stagedAttack.target = fighter;
|
||||
|
||||
_fightStateManager.CurrentFightState = FightStateManager.FightState.FriendAttackAnim;
|
||||
}
|
||||
|
||||
public void SelectHeal(Fighter fighter)
|
||||
{
|
||||
_fightStateManager.CurrentFightState = FightStateManager.FightState.Heal;
|
||||
}
|
||||
|
||||
public bool CheckWinAndSetState()
|
||||
{
|
||||
if (_enemyFighters.All(f => f.IsDead()))
|
||||
{
|
||||
_fightStateManager.CurrentFightState = FightStateManager.FightState.PlayerWinAnim;
|
||||
return true;
|
||||
}
|
||||
if (_friendlyFighters.All(f => f.IsDead()))
|
||||
{
|
||||
_fightStateManager.CurrentFightState = FightStateManager.FightState.EnemyWinAnim;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
public class FightAttack
|
||||
{
|
||||
public int damage;
|
||||
public bool needsSelectedTarget;
|
||||
public Fighter? target;
|
||||
public Fighter attacker;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://c76mhhqyk4lgh
|
||||
@@ -0,0 +1,28 @@
|
||||
using Godot;
|
||||
namespace Babushka.scripts.CSharp.Common.Fight;
|
||||
|
||||
public partial class FightManager : Node
|
||||
{
|
||||
#region AutoLoad ( Contains _EnterTree() )
|
||||
|
||||
public static FightManager Instance { get; private set; } = null!;
|
||||
|
||||
public override void _EnterTree()
|
||||
{
|
||||
Instance = this;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
[Export]
|
||||
public PackedScene fightingVesnaScene;
|
||||
|
||||
public FightParty fightParty = new();
|
||||
|
||||
public void StartFight(PackedScene[] enemies, FightInstance instance)
|
||||
{
|
||||
GD.Print("Starting Fight");
|
||||
instance.Start(fightParty, enemies);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://j5ge24rk25wm
|
||||
@@ -0,0 +1,6 @@
|
||||
namespace Babushka.scripts.CSharp.Common.Fight;
|
||||
|
||||
public class FightParty
|
||||
{
|
||||
public bool vesna = true;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://cvhgnboybc4cm
|
||||
@@ -0,0 +1,19 @@
|
||||
using Godot;
|
||||
namespace Babushka.scripts.CSharp.Common.Fight;
|
||||
|
||||
public partial class FightStarter : Node
|
||||
{
|
||||
[Export(PropertyHint.ArrayType)] private PackedScene[] enemies;
|
||||
[Export] private FightInstance _fightInstance;
|
||||
[Export] private bool _once = true;
|
||||
private bool hasBeenStarted = false;
|
||||
|
||||
public void Start(Node2D _)
|
||||
{
|
||||
if (_once && hasBeenStarted)
|
||||
return;
|
||||
|
||||
hasBeenStarted = true;
|
||||
FightManager.Instance.StartFight(enemies, _fightInstance);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://di0xxwfw43m0i
|
||||
@@ -0,0 +1,76 @@
|
||||
using Godot;
|
||||
namespace Babushka.scripts.CSharp.Common.Fight;
|
||||
|
||||
public partial class FightStateManager : Node
|
||||
{
|
||||
[Signal]
|
||||
public delegate void ExitingTransitionEventHandler(FightState exitingState);
|
||||
|
||||
[Signal]
|
||||
public delegate void EnteringTransitionEventHandler(FightState enteringState);
|
||||
|
||||
public enum FightState
|
||||
{
|
||||
None,
|
||||
FightStartAnim,
|
||||
Input,
|
||||
InputTargetSelect,
|
||||
FriendAttackAnim,
|
||||
Enemy,
|
||||
EnemyAttackAnim,
|
||||
PlayerWinAnim,
|
||||
EnemyWinAnim,
|
||||
ChangeSideToEnemy,
|
||||
ChangeSideToFriendly,
|
||||
Heal,
|
||||
}
|
||||
|
||||
private FightState _fightStateBacking = FightState.None;
|
||||
|
||||
public FightState CurrentFightState
|
||||
{
|
||||
set => Transition(_fightStateBacking, value);
|
||||
get => _fightStateBacking;
|
||||
}
|
||||
|
||||
private void Transition(FightState from, FightState to)
|
||||
{
|
||||
if(from == to)
|
||||
return;
|
||||
|
||||
GD.Print($"Transitioning from {from} to {to}");
|
||||
ExitTransition(from);
|
||||
_fightStateBacking = to;
|
||||
EnterTransition(to);
|
||||
}
|
||||
|
||||
private void ExitTransition(FightState from)
|
||||
{
|
||||
EmitSignalExitingTransition(from);
|
||||
}
|
||||
|
||||
private void EnterTransition(FightState to)
|
||||
{
|
||||
EmitSignalEnteringTransition(to);
|
||||
switch (to)
|
||||
{
|
||||
case FightState.FightStartAnim:
|
||||
EnterFightStartAnim();
|
||||
break;
|
||||
}
|
||||
}
|
||||
private void EnterFightStartAnim()
|
||||
{
|
||||
GetTree().CreateTimer(1).Timeout += () => CurrentFightState = FightState.Input;
|
||||
}
|
||||
|
||||
public void ToStartAnim()
|
||||
{
|
||||
CurrentFightState = FightState.FightStartAnim;
|
||||
}
|
||||
|
||||
public bool IsRunning()
|
||||
{
|
||||
return CurrentFightState != FightState.None;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://oe1uypehqvr7
|
||||
@@ -0,0 +1,181 @@
|
||||
using Godot;
|
||||
namespace Babushka.scripts.CSharp.Common.Fight;
|
||||
|
||||
public partial class Fighter : Node2D
|
||||
{
|
||||
[Export] public string name;
|
||||
[Export] public int maxHealth;
|
||||
[Export] public int attackStrength;
|
||||
[Export] public int maxActions = 1;
|
||||
|
||||
[ExportCategory("References")]
|
||||
[Export] private Node2D _attackButtons;
|
||||
[Export] private Node2D _targetButtons;
|
||||
[Export] private Node2D _targetMarker;
|
||||
[Export] private Label _healthText;
|
||||
[Export] private Node2D _visualSprite;
|
||||
|
||||
[Signal] public delegate void DamageTakenEventHandler();
|
||||
[Signal] public delegate void AttackingEventHandler();
|
||||
[Signal] public delegate void DyingEventHandler();
|
||||
[Signal] public delegate void HealedEventHandler();
|
||||
|
||||
|
||||
private int _health;
|
||||
private int _actions;
|
||||
|
||||
|
||||
public FightInstance fightInstance;
|
||||
public int Health
|
||||
{
|
||||
get => _health;
|
||||
set
|
||||
{
|
||||
_health = value;
|
||||
if (_health <= 0)
|
||||
{
|
||||
_health = 0;
|
||||
Die();
|
||||
}
|
||||
if (_health > maxHealth)
|
||||
{
|
||||
_health = maxHealth;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void Die()
|
||||
{
|
||||
_visualSprite.Scale = new Vector2(1, 0.3f);
|
||||
EmitSignalDying();
|
||||
}
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
Health = maxHealth;
|
||||
UpdateHealthVisual();
|
||||
ResetActions();
|
||||
}
|
||||
|
||||
public void Attack()
|
||||
{
|
||||
fightInstance.SelectAttack(this);
|
||||
}
|
||||
|
||||
public void HideAttackButton()
|
||||
{
|
||||
_attackButtons.Hide();
|
||||
}
|
||||
|
||||
public void ShowAttackButton()
|
||||
{
|
||||
_attackButtons.Show();
|
||||
}
|
||||
|
||||
public void HideTargetButtons()
|
||||
{
|
||||
_targetButtons.Hide();
|
||||
}
|
||||
|
||||
public void ShowTargetButtons()
|
||||
{
|
||||
_targetButtons.Show();
|
||||
}
|
||||
|
||||
public void TargetMouseEvent(Node viewport, InputEvent inputEvent, int shapeIdx)
|
||||
{
|
||||
if (inputEvent.IsPressed())
|
||||
ClickedTarget();
|
||||
}
|
||||
|
||||
public void AttackMouseEvent(Node viewport, InputEvent inputEvent, int shapeIdx)
|
||||
{
|
||||
if (inputEvent.IsPressed())
|
||||
ClickedAttack();
|
||||
}
|
||||
|
||||
public void HealMouseEvent(Node viewport, InputEvent inputEvent, int shapeIdx)
|
||||
{
|
||||
if (inputEvent.IsPressed())
|
||||
ClickedHeal();
|
||||
}
|
||||
|
||||
private void ClickedAttack()
|
||||
{
|
||||
fightInstance.SelectAttack(this);
|
||||
}
|
||||
|
||||
private void ClickedHeal()
|
||||
{
|
||||
fightInstance.SelectHeal(this);
|
||||
}
|
||||
|
||||
private void ClickedTarget()
|
||||
{
|
||||
fightInstance.SelectTargetAndAttack(this);
|
||||
}
|
||||
|
||||
public void StartHoverTarget()
|
||||
{
|
||||
_targetMarker.Visible = true;
|
||||
}
|
||||
|
||||
public void EndHoverTarget()
|
||||
{
|
||||
_targetMarker.Visible = false;
|
||||
}
|
||||
|
||||
public void UpdateHealthVisual()
|
||||
{
|
||||
_healthText.Text = $"{Health}/{maxHealth}";
|
||||
}
|
||||
|
||||
public void AttackAnimation(FightAttack attack)
|
||||
{
|
||||
EmitSignalAttacking();
|
||||
var tween = GetTree().CreateTween();
|
||||
tween.TweenProperty(this, "global_position", attack.target.GlobalPosition, 0.15);
|
||||
tween.TweenCallback(Callable.From(() => attack.target?.HitAnimation(attack)));
|
||||
tween.TweenProperty(this, "position", new Vector2(0, 0), 0.7)
|
||||
.SetTrans(Tween.TransitionType.Cubic).SetEase(Tween.EaseType.Out);
|
||||
|
||||
}
|
||||
|
||||
private void HitAnimation(FightAttack attack)
|
||||
{
|
||||
EmitSignalDamageTaken();
|
||||
var tween = GetTree().CreateTween();
|
||||
tween.TweenProperty(this, "scale", new Vector2(1.4f, 0.6f), 0.15);
|
||||
tween.TweenProperty(this, "scale", new Vector2(1, 1), 0.4)
|
||||
.SetTrans(Tween.TransitionType.Cubic).SetEase(Tween.EaseType.Out);
|
||||
}
|
||||
|
||||
public bool IsDead()
|
||||
{
|
||||
return Health <= 0;
|
||||
}
|
||||
|
||||
public void ResetActions()
|
||||
{
|
||||
_actions = maxActions;
|
||||
}
|
||||
|
||||
public bool HasActionsLeft()
|
||||
{
|
||||
return _actions > 0;
|
||||
}
|
||||
|
||||
public void DecrementActions()
|
||||
{
|
||||
_actions--;
|
||||
}
|
||||
|
||||
public void HealAnimation()
|
||||
{
|
||||
EmitSignalHealed();
|
||||
var tween = GetTree().CreateTween();
|
||||
tween.TweenProperty(this, "scale", new Vector2(0.6f, 1.4f), 0.15);
|
||||
tween.TweenProperty(this, "scale", new Vector2(1, 1), 0.4)
|
||||
.SetTrans(Tween.TransitionType.Cubic).SetEase(Tween.EaseType.Out);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://by88f32fou7lh
|
||||
@@ -19,6 +19,7 @@ public partial class DialogicOverlayStarter : Node2D
|
||||
public void ToggleDialogue()
|
||||
{
|
||||
ToggleDialogue(_timelinesToPlay[_timelineIndex]);
|
||||
GD.Print("Toggling Dialogue");
|
||||
}
|
||||
|
||||
public void ToggleDialogue(int index)
|
||||
|
||||
@@ -4,13 +4,13 @@ namespace Babushka.scripts.CSharp.Common.NPC;
|
||||
|
||||
public partial class TalkingCharacter : Node2D
|
||||
{
|
||||
[Export] private AnimatedSprite2D _sprite;
|
||||
[Export] private AnimatedSprite2D? _sprite;
|
||||
[Export] private string[] _timelinesToPlay;
|
||||
|
||||
|
||||
|
||||
|
||||
private bool _isTalking = true;
|
||||
private int _timelineIndex = 0;
|
||||
|
||||
|
||||
[Signal] public delegate void TalkingEventHandler(string timelineName);
|
||||
|
||||
public override void _Ready()
|
||||
@@ -22,16 +22,19 @@ public partial class TalkingCharacter : Node2D
|
||||
{
|
||||
if (_isTalking || _timelineIndex >= _timelinesToPlay.Length)
|
||||
{
|
||||
_sprite.Animation = "idle";
|
||||
if (_sprite != null)
|
||||
_sprite.Animation = "idle";
|
||||
_isTalking = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
_sprite.Animation = "talk";
|
||||
if (_sprite != null)
|
||||
_sprite.Animation = "talk";
|
||||
_isTalking = true;
|
||||
EmitSignal(SignalName.Talking, _timelinesToPlay[_timelineIndex]);
|
||||
_timelineIndex++;
|
||||
}
|
||||
_sprite.Play();
|
||||
if (_sprite != null)
|
||||
_sprite.Play();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ public partial class MVPDuck : Node2D
|
||||
[Export] private AnimationPlayer _animationPlayer;
|
||||
[Export] private string _flapAnimationName = "flapFlap";
|
||||
|
||||
[Signal] public delegate void DuckCollectedEventHandler();
|
||||
|
||||
public void TransferToTargetAfterDelay()
|
||||
{
|
||||
@@ -28,8 +29,10 @@ public partial class MVPDuck : Node2D
|
||||
|
||||
public async void MoveAfterDelay()
|
||||
{
|
||||
await ToSignal(GetTree().CreateTimer(1.0f), "timeout"); // 1.0f seconds
|
||||
Position = _penTarget.GlobalPosition; // Now this works!
|
||||
await ToSignal(GetTree().CreateTimer(1.0f), "timeout");
|
||||
if(!_penTarget.Equals(null))
|
||||
Position = _penTarget.GlobalPosition;
|
||||
EmitSignal(SignalName.DuckCollected);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
using Godot;
|
||||
|
||||
namespace Babushka.scripts.CSharp.Common.Util;
|
||||
|
||||
public partial class Counter : Node2D
|
||||
{
|
||||
[Export] private int _startFrom = 0;
|
||||
[Export] private int _goal = 0;
|
||||
|
||||
private int _counter;
|
||||
|
||||
[Signal] public delegate void CounterChangedEventHandler(int amount);
|
||||
[Signal] public delegate void GoalReachedEventHandler();
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
_counter = _startFrom;
|
||||
}
|
||||
|
||||
public void Increment()
|
||||
{
|
||||
_counter++;
|
||||
EmitSignal(SignalName.CounterChanged, _counter);
|
||||
|
||||
GD.Print(_counter);
|
||||
if (_counter == _goal)
|
||||
{
|
||||
GD.Print("Emitting goal reached signal");
|
||||
EmitSignal(SignalName.GoalReached);
|
||||
}
|
||||
}
|
||||
|
||||
public void Decrement()
|
||||
{
|
||||
_counter--;
|
||||
EmitSignal(SignalName.CounterChanged, _counter);
|
||||
|
||||
if (_counter == _goal)
|
||||
{
|
||||
EmitSignal(SignalName.GoalReached);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://l6iq8rpym5io
|
||||
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.SqlTypes;
|
||||
using System.Linq;
|
||||
using System.Xml.Schema;
|
||||
namespace Babushka.scripts.CSharp.Common.Util;
|
||||
|
||||
public static class LinqExtras
|
||||
{
|
||||
public static void ForEach<T>(this IEnumerable<T> self, Action<T> action)
|
||||
{
|
||||
foreach (var t in self)
|
||||
{
|
||||
action.Invoke(t);
|
||||
}
|
||||
}
|
||||
|
||||
public static T? Random<T>(this IEnumerable<T> self)
|
||||
{
|
||||
var selfList = self.ToList();
|
||||
if (selfList.Count == 0) return default;
|
||||
if (selfList.Count == 1) return selfList[0];
|
||||
var randomIndex = new Random().Next(0, selfList.Count);
|
||||
return selfList[randomIndex];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://clcirtaf47g5p
|
||||
@@ -0,0 +1,12 @@
|
||||
extends Node
|
||||
|
||||
@export var eventName : String
|
||||
|
||||
signal dialogicEventTriggered(name)
|
||||
|
||||
func _ready():
|
||||
Dialogic.signal_event.connect(_on_dialogic_signal)
|
||||
|
||||
func _on_dialogic_signal(argument:String):
|
||||
if argument == eventName:
|
||||
dialogicEventTriggered.emit(argument)
|
||||
@@ -0,0 +1 @@
|
||||
uid://drle5aies8ye4
|
||||