From 3df9e2dd85f9ddaeea63837cbd2c059aec4ffc4d Mon Sep 17 00:00:00 2001 From: Marco Date: Mon, 25 Aug 2025 15:03:10 +0200 Subject: [PATCH] Mapping fixes and new tanks --- .../Tank/Tank_3D_Standalone.tscn | 14 + 3D/MapModels/actor_alarmbox.glb | Bin 5420 -> 5420 bytes 3D/MapModels/actor_capacitor_mini.glb | Bin 19696 -> 19696 bytes 3D/MapModels/actor_chest_1.glb | Bin 9240 -> 9240 bytes 3D/MapModels/actor_controlpad.glb | Bin 4568 -> 4568 bytes 3D/MapModels/actor_door_1.glb | Bin 11152 -> 11152 bytes 3D/MapModels/actor_emitter_tube.glb | Bin 26992 -> 26992 bytes 3D/MapModels/actor_emitter_wall.glb | Bin 15480 -> 15480 bytes 3D/MapModels/actor_forcefield_1.glb | Bin 2860 -> 2860 bytes 3D/MapModels/actor_furniture_box.glb | Bin 4200 -> 4200 bytes 3D/MapModels/actor_furniture_can.glb | Bin 8908 -> 8908 bytes .../actor_furniture_computertower.glb | Bin 4556 -> 4556 bytes 3D/MapModels/actor_furniture_shelf.glb | Bin 3968 -> 3968 bytes 3D/MapModels/actor_furniture_triangle.glb | Bin 4376 -> 4376 bytes 3D/MapModels/actor_keypad.glb | Bin 4168 -> 4168 bytes 3D/MapModels/actor_mainframe.glb | Bin 6088 -> 6088 bytes 3D/MapModels/actor_securitycamera.glb | Bin 22184 -> 22184 bytes 3D/MapModels/actor_stairs_mini.glb | Bin 22812 -> 22812 bytes 3D/MapModels/actor_tank_large.glb | Bin 77584 -> 77584 bytes 3D/MapModels/actor_tank_standalone.glb | Bin 0 -> 42520 bytes 3D/MapModels/actor_teleporter.glb | Bin 4836 -> 4836 bytes 3D/MapModels/actor_terminal_big.glb | Bin 8400 -> 8400 bytes 3D/MapModels/actor_tube_corner.glb | Bin 30792 -> 30792 bytes 3D/MapModels/actor_tube_junction.glb | Bin 18144 -> 18144 bytes 3D/MapModels/actor_tube_straight.glb | Bin 32952 -> 32952 bytes 3D/MapModels/actor_tube_straight_long.glb | Bin 32960 -> 32960 bytes 3D/MapModels/actor_valve.glb | Bin 61108 -> 61108 bytes 3D/MapModels/actor_vendingmachine.glb | Bin 4108 -> 4108 bytes 3D/MapModels/actor_wallfan.glb | Bin 34480 -> 34480 bytes 3D/MapScenes/TestLevel2.tscn | 2357 +++++++++-------- 3D/MapScenes/Tutorial_3D.tscn | 225 +- 3D/Maps/Factory2.map | 203 +- 3D/Maps/Tutorial.map | 6 + .../point/actors/actor_tank_standalone.tres | 20 + 3D/TrenchBroom/fgd_point.tres | 5 +- Cirno.csproj | 3 + Cirno.sln.DotSettings.user | 1 + IsoTest/IsoMapTest2.tscn | 2 +- IsoTest/Tutorial_Gameplay.tscn | 4 +- Resources/Debug/DebugLevels.tres | 15 +- Resources/Enemies/Crystal_Purple_3D.tres | 70 + .../Enemies/Crystal_Purple_Animations.tres | 59 + Resources/Maps/{ => 3D}/IsoMapTest2.tres | 0 Resources/Maps/3D/Tutorial_3D.tres | 19 + Scenes/Actors/Generic_Enemy_FSM_3D.tscn | 1 + Scripts/Components/FSM/Enemy/3D/Idle.cs | 6 +- 46 files changed, 1715 insertions(+), 1295 deletions(-) create mode 100644 3D/BlockbenchModels/Tank/Tank_3D_Standalone.tscn create mode 100644 3D/MapModels/actor_tank_standalone.glb create mode 100644 3D/TrenchBroom/EntityDefinitions/point/actors/actor_tank_standalone.tres create mode 100644 Resources/Enemies/Crystal_Purple_3D.tres create mode 100644 Resources/Enemies/Crystal_Purple_Animations.tres rename Resources/Maps/{ => 3D}/IsoMapTest2.tres (100%) create mode 100644 Resources/Maps/3D/Tutorial_3D.tres diff --git a/3D/BlockbenchModels/Tank/Tank_3D_Standalone.tscn b/3D/BlockbenchModels/Tank/Tank_3D_Standalone.tscn new file mode 100644 index 00000000..ca89c982 --- /dev/null +++ b/3D/BlockbenchModels/Tank/Tank_3D_Standalone.tscn @@ -0,0 +1,14 @@ +[gd_scene load_steps=3 format=3 uid="uid://byyrqmraqy0ns"] + +[ext_resource type="PackedScene" uid="uid://q4pr60yjt0ld" path="res://3D/BlockbenchModels/Tank/Tank_Mini.gltf" id="1_g3gx6"] + +[sub_resource type="BoxShape3D" id="BoxShape3D_5dodm"] +size = Vector3(0.7694095, 0.89630145, 0.77337646) + +[node name="Tank3dStandalone" type="StaticBody3D"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0004274398, 0.0014950633, 0.00088500977) +shape = SubResource("BoxShape3D_5dodm") + +[node name="blockbench_export" parent="." instance=ExtResource("1_g3gx6")] diff --git a/3D/MapModels/actor_alarmbox.glb b/3D/MapModels/actor_alarmbox.glb index 28fdaebe1ac2fe84be1859c6acc1c45f69698b90..e72d6e9651fea5156d7c06dc8dd4de9f24d71513 100644 GIT binary patch delta 69 zcmZ3ZwMJ_LBfEu}UT%I~zFvM>T4r))Vva+KX<~|jsi|3_QL=$avZ;ZYrAd-0keQNf Xm}H!kW?-C}oMLWhXuR2y{WC8B0KpYm delta 69 zcmZ3ZwMJ_LBfEvMUT%I~zFvM>T4r))Vvd7JieZ|OS*l?gkWMr)OEWSuGEPf1NHR-I XHa0LYH!(>{Gq+5#u-I(L{+Sm52K^Oq diff --git a/3D/MapModels/actor_capacitor_mini.glb b/3D/MapModels/actor_capacitor_mini.glb index 3c9b97af372f75f2b1bbc8d805205de233a9cc3b..244b3b6998eeab532759aa45c26fad9db6abf210 100644 GIT binary patch delta 71 zcmew`lkvk$#tp2@7G`?6`FZ(z`DtmH$(e~c4k@OIDF&vdW{F101}4d-24+aZ;LracXjkxuK!)W?SaXo&aOx7QFxf delta 71 zcmew`lkvk$#tp2@7RGwH`FZ(z`DtmH$(e~c4kjsvX+~zLhG{@L(Znpx$jHbzE!7~& ZEHT;Gz`)$ZBq`0@GReYXvn}&xPXKBk7SsR$ diff --git a/3D/MapModels/actor_chest_1.glb b/3D/MapModels/actor_chest_1.glb index 92245ec0bc36993424a25e579759b372df1804ac..770d987e357c7b60daab268923a67a329e324bd0 100644 GIT binary patch delta 69 zcmbQ?F~eiSR}Kp^z1;k~e7*d%w9Mqp#2kkd)5H`5Q&Y1P{ImO)2(0H>h=W8hdLgyA; delta 69 zcmbQ?F~eiSR}Kqfz1;k~e7*d%w9Mqp#2g2c6vH$lvsA-0Af0GpmS$vRWSo|2kYtva XY;0g)Zeo&@W^S2eVX;}4^R*NJNh20? diff --git a/3D/MapModels/actor_controlpad.glb b/3D/MapModels/actor_controlpad.glb index 3b24b302652aaba944174cb1959e659be2a80040..5d73c4157fedbe2a13120265a7be9b85f7930e95 100644 GIT binary patch delta 69 zcmcbid_#Ey6SIYxUT%I~zFvM>T4r))Vva+KX<~|jsi|3_QL=$avZ;ZYrAd-0keQNf Xm}H!kW?-C}oMLWhXuR2qc^)4C6ABec delta 69 zcmcbid_#Ey6SIY}UT%I~zFvM>T4r))Vvd7JieZ|OS*l?gkWMr)OEWSuGEPf1NHR-I XHa0LYH!(>{Gq+5#u-I(HJdY0m8AcUg diff --git a/3D/MapModels/actor_door_1.glb b/3D/MapModels/actor_door_1.glb index 3b100d2e538ec1a6e86c6cf7ce29c2def388d9f4..b74c376573bf0c727c676629d5e11c81c8b9ace9 100644 GIT binary patch delta 69 zcmbObJ|TPqhoFU-UT%I~zFvM>T4r))Vva+KX<~|jsi|3_QL=$avZ;ZYrAd-0keQNf Xm}H!kW?-C}oMLWhXuR1$FhB|b45k$a delta 69 zcmbObJ|TPqhoFVAUT%I~zFvM>T4r))Vvd7JieZ|OS*l?gkWMr)OEWSuGEPf1NHR-I XHa0LYH!(>{Gq+5#u-NP%7$5}z65k ZSz@xWfq}V+Nm81*Ws-%(W>L22WB|SK7rg)g diff --git a/3D/MapModels/actor_emitter_wall.glb b/3D/MapModels/actor_emitter_wall.glb index ebdd3c8a8f37fa3232645ff931496d4b6b10dbf9..96a9e106b31cfb9ec8caf90ee14dd2b8a83f6919 100644 GIT binary patch delta 69 zcmexS@uOnHQC15xz1;k~e7*d%w9Mqp#2kkd)5H`5Q&Y1P{ImO)2(0KD-)@m~Vgt`~P delta 69 zcmexS@uOnHQC16Mz1;k~e7*d%w9Mqp#2g2c6vH$lvsA-0Af0GpmS$vRWSo|2kYtva XY;0g)Zeo&@W^S2eVX^ryYqc2wiuM=T diff --git a/3D/MapModels/actor_forcefield_1.glb b/3D/MapModels/actor_forcefield_1.glb index 2c6a0215427ac6041bca5ce7ee99fc85c55c341a..a9487bd677ee22fb1848452a61f35b5304f6d86c 100644 GIT binary patch delta 69 zcmZ1@wnl7&5VM7uUT%I~zFvM>T4r))Vva+KX<~|jsi|3_QL=$avZ;ZYrAd-0keQNf Xm}H!kW?-C}oMLWhXuR2r`4Kw+`HmGd delta 69 zcmZ1@wnl7&5VM7`UT%I~zFvM>T4r))Vvd7JieZ|OS*l?gkWMr)OEWSuGEPf1NHR-I XHa0LYH!(>{Gq+5#u-NRy{D>U@|H>6h diff --git a/3D/MapModels/actor_furniture_box.glb b/3D/MapModels/actor_furniture_box.glb index 29497c3f2e2809c41e75bf4def556687eb6ee333..2fb70f3a5da770c4c40ed6dc1090e64602eff8dd 100644 GIT binary patch delta 68 zcmaE%@Iqk$vxS*nZhl_AUVd6yW^!g?jzfxRVv2#Osac{?vVlpmsezfLNs=j$nUZXn WWSo>{V4RwqVs2T4r))Vva+KX<~|jsi|3_QL=$avZ;ZYrAd-0keQNf Xm}H!kW?-C}oMLWhXuR2zxmg|nB25*E delta 69 zcmX@(dd78wAhU(BUT%I~zFvM>T4r))Vvd7JieZ|OS*l?gkWMr)OEWSuGEPf1NHR-I XHa0LYH!(>{Gq+5#u-NR$+$;|OD2WxI diff --git a/3D/MapModels/actor_furniture_computertower.glb b/3D/MapModels/actor_furniture_computertower.glb index 701048366010413ea7f88b41c6606701287b2967..7cf9963bef5d6c14319d7440c28da0aec0f9a624 100644 GIT binary patch delta 69 zcmX@3d`5Z0UnUDPz1;k~e7*d%w9Mqp#2kkd)5H`5Q&Y1P{ImO)2(0H>c^K?D{O9>Vq delta 69 zcmX@3d`5Z0UnUDcgUP~7FE>9gUoSr`Ei*YYF~=drG%>}%)YL4|DA~Xy+0?+y(j>_g$V^E# XOfpVNGcZm~PBAw$G~R5$9KZtr9<3ED delta 69 zcmZpWZ;;>cgUP~JFE>9gUoSr`Ei*YYF~`9q#W2mtEY&a#NGF<@r5PC+8KT4r))Vva+KX<~|jsi|3_QL=$avZ;ZYrAd-0keQNf Xm}H!kW?-C}oMLWhXuNqYb2Tpj3W*hI delta 69 zcmbQCG(%}aDzk;LUT%I~zFvM>T4r))Vvd7JieZ|OS*l?gkWMr)OEWSuGEPf1NHR-I XHa0LYH!(>{Gq+5#u-H78xtbRM5XBXM diff --git a/3D/MapModels/actor_keypad.glb b/3D/MapModels/actor_keypad.glb index dcbbce251147c4dfcff805acab91cf3746a5a8b0..6a56aca7ebba3398ba3494e1b840a2ebe8b91086 100644 GIT binary patch delta 69 zcmX@1a6(}N6SIYxUT%I~zFvM>T4r))Vva+KX<~|jsi|3_QL=$avZ;ZYrAd-0keQNf Xm}H!kW?-C}oMLWhXuR2qnU5C$2iFvm delta 69 zcmX@1a6(}N6SIY}UT%I~zFvM>T4r))Vvd7JieZ|OS*l?gkWMr)OEWSuGEPf1NHR-I XHa0LYH!(>{Gq+5#u-I(H%*P7=4iglq diff --git a/3D/MapModels/actor_mainframe.glb b/3D/MapModels/actor_mainframe.glb index 51901ce116570924b618a4d04ac217c4083e7e4f..0d6ed258b6c62bd233ab22bc2ee857203447cb09 100644 GIT binary patch delta 69 zcmX@1e?ou54<-vUz1;k~e7*d%w9Mqp#2kkd)5H`5Q&Y1P{ImO)2(0H=}^9&IHP30CW delta 69 zcmX@1e?ou54<-v^z1;k~e7*d%w9Mqp#2g2c6vH$lvsA-0Af0GpmS$vRWSo|2kYtva XY;0g)Zeo&@W^S2eVX@hOd4>o8R3R2a diff --git a/3D/MapModels/actor_securitycamera.glb b/3D/MapModels/actor_securitycamera.glb index 101f412817495fa050a6d205d501c4922b452245..206c161172de8c1e9b859c3bdf88304bb476ec6c 100644 GIT binary patch delta 71 zcmZ3nmT|>e#tr%c7G`?6`FZ(z`DtmH$(e~c4k@OIDF&vdW{F101}4d-24+aZ;LracXjkxuK!)=5zr^Hvm-{7ES;F delta 71 zcmZ3nmT|>e#tr%c7RGwH`FZ(z`DtmH$(e~c4kjsvX+~zLhG{@L(Znpx$jHbzE!7~& ZEHT;Gz`)$ZBq`0@GReYXbGm?|8vt8Y7G(ec diff --git a/3D/MapModels/actor_stairs_mini.glb b/3D/MapModels/actor_stairs_mini.glb index 992f7c5e2cad2df9ad8848c36d3cf9fdd09fd44c..0b899f9c55e103fa34a67040af4ccebfa6498781 100644 GIT binary patch delta 71 zcmbQUiE+**#tpBk ZSz@xWfq}V+Nm81*Ws-%(W@U+=4giR%7mxq| diff --git a/3D/MapModels/actor_tank_large.glb b/3D/MapModels/actor_tank_large.glb index cb985dd983aacdab4f68db9df60172c098199771..3b8b4d0f16f11d8ba77f6e8c703ca5c6a9383eb7 100644 GIT binary patch delta 75 zcmbPmk7dF=mJMd|7G`?6`FZ(z`DtmH$(e~c4k@OIDF&vdW{F101}4d-24+aZ;LracXjkxuKzPbDsS6JbA`N`~b)h7x4f9 delta 75 zcmbPmk7dF=mJMd|7RGwH`FZ(z`DtmH$(e~c4kjsvX+~zLhG{@L(Znpx$jHbzE!7~& dEHT;Gz`)$ZBq`0@GReZCIZu9jo;>3segMv>7zh9W diff --git a/3D/MapModels/actor_tank_standalone.glb b/3D/MapModels/actor_tank_standalone.glb new file mode 100644 index 0000000000000000000000000000000000000000..23d5ea24e44fc4853199eddaa9fba4782c362770 GIT binary patch literal 42520 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 CqQNr& literal 0 HcmV?d00001 diff --git a/3D/MapModels/actor_teleporter.glb b/3D/MapModels/actor_teleporter.glb index 25fdd585497779e06810c4486439df9ef999a513..be1dacb23fe510d5c13dc44db77e9de98a945d90 100644 GIT binary patch delta 69 zcmaE&`b2euFSCW2UT%I~zFvM>T4r))Vva+KX<~|jsi|3_QL=$avZ;ZYrAd-0keQNf Xm}H!kW?-C}oMLWhXuP?VIi4Q?E#(!x delta 69 zcmaE&`b2euFSCWQUT%I~zFvM>T4r))Vvd7JieZ|OS*l?gkWMr)OEWSuGEPf1NHR-I XHa0LYH!(>{Gq+5#u-M$n9M2B`G$9q# diff --git a/3D/MapModels/actor_terminal_big.glb b/3D/MapModels/actor_terminal_big.glb index de3802d4cb45ce9a5bfdd0ac791e9f685bcabf7e..3cc3c9dfca219e09eff152bbcbbdc040e9f52923 100644 GIT binary patch delta 69 zcmccMc)@YQZzc;fz1;k~e7*d%w9Mqp#2kkd)5H`5Q&Y1P{ImO)2(0H>k^ITZ~TyPe2 delta 69 zcmccMc)@YQZzc<4z1;k~e7*d%w9Mqp#2g2c6vH$lvsA-0Af0GpmS$vRWSo|2kYtva XY;0g)Zeo&@W^S2eVX@hmd9Ew~VyqU6 diff --git a/3D/MapModels/actor_tube_corner.glb b/3D/MapModels/actor_tube_corner.glb index be75eb7a0f831bda8e183d17b9d02f1199f86d44..8516063089b02cd3c08938289bf9f4fe2b5ace9e 100644 GIT binary patch delta 71 zcmX@{f$_u##tlr&7G`?6`FZ(z`DtmH$(e~c4k@OIDF&vdW{F101}4d-24+aZ;LracXjkxuK!)W-DgCQUH3;7MuV8 delta 71 zcmX@{f$_u##tlr&7RGwH`FZ(z`DtmH$(e~c4kjsvX+~zLhG{@L(Znpx$jHbzE!7~& ZEHT;Gz`)$ZBq`0@GReYXvlTO6DFA^C7P9~V diff --git a/3D/MapModels/actor_tube_junction.glb b/3D/MapModels/actor_tube_junction.glb index 507b7b71557759b08531fba86925c6d5a295dbf4..6903842565b965cbf9f4f68fca87c412a4ba6d49 100644 GIT binary patch delta 71 zcmaFR%lM#|al?OB3p2gk{Jea<{Is;p ZmY8g8U|?=yl9Xm{nPg$H*_>^q0|1%T7lHr) diff --git a/3D/MapModels/actor_tube_straight.glb b/3D/MapModels/actor_tube_straight.glb index 1b530e352b7e4cd5af3f8dddfdef97c930640e94..91a0bab339746c475e17798e908cbab61b13fe7c 100644 GIT binary patch delta 71 zcmdnd$h4!8X~T353p2gk{Jea<{Is;p ZmY8g8U|?=yl9Xm{nPg$H`8>zVasX%&7svnr diff --git a/3D/MapModels/actor_tube_straight_long.glb b/3D/MapModels/actor_tube_straight_long.glb index 93e81bea8ca7f702fec2a4df1fc01786cc120cd4..84df38c2d8e342fde3746a508d462b0eee2d42a0 100644 GIT binary patch delta 71 zcmX@m$aJ8QX~PT-3p2gk{Jea<{Is;pzt delta 71 zcmX@m$aJ8QX~PT-3uC?9{Jea<{Is;p ZmY8g8U|?=yl9Xm{nPg$H`2xp>asX_+7vTT^ diff --git a/3D/MapModels/actor_valve.glb b/3D/MapModels/actor_valve.glb index dd30cd13a5cffcdcafde84077bf8d23560309d7f..9ad9153f8d94c6c4204b571b9ae99e56dc35b726 100644 GIT binary patch delta 71 zcmdmTmwC%w<_#<4EzIftQ delta 71 zcmdmTmwC%w<_#<4EsXVY^Yilc^3&2XlQR=@986LS(~Qhg4by;hqKR3Wk&%&cTB<>k aSz@xWfq}V+Nm81*Ws-%(<_Gdu&H(_TNEr+O diff --git a/3D/MapModels/actor_vendingmachine.glb b/3D/MapModels/actor_vendingmachine.glb index 2f42008cf85f221a4e7d2fd74ede5e56723d6cfe..0896f368d918bfdcb756c01d01972c33a782df63 100644 GIT binary patch delta 69 zcmeBC=uy~kpUJ{ZFE>9gUoSr`Ei*YYF~=drG%>}%)YL4|DA~Xy+0?+y(j>_g$V^E# XOfpVNGcZm~PBAw$G~O)E{FMg)AUPGe delta 69 zcmeBC=uy~kpUJ{lFE>9gUoSr`Ei*YYF~`9q#W2mtEY&a#NGF<@r5PC+8KlRYCUq6i diff --git a/3D/MapModels/actor_wallfan.glb b/3D/MapModels/actor_wallfan.glb index 892987a10933cc546cea7544fead29447c8be3d4..af48caafd16c7c6023af3198cfd5fc9679abaf5d 100644 GIT binary patch delta 71 zcmdnc%d`QAo+?_H>E-6<OV delta 71 zcmdnc%d`QAo+?@x>*eO> GODOT;GODOT_WINDOWS;GODOT_PC;GODOT4;GODOT4_5;GODOT4_5_0;GODOT4_OR_GREATER;GODOT4_0_OR_GREATER;GODOT4_1_OR_GREATER;GODOT4_2_OR_GREATER;GODOT4_3_OR_GREATER;GODOT4_4_OR_GREATER;GODOT4_5_OR_GREATER;GODOT4_5_0_OR_GREATER;GODOT;GODOT_WINDOWS;GODOT_PC;GODOT4;GODOT4_5;GODOT4_5_0;GODOT4_OR_GREATER;GODOT4_0_OR_GREATER;GODOT4_1_OR_GREATER;GODOT4_2_OR_GREATER;GODOT4_3_OR_GREATER;GODOT4_4_OR_GREATER;GODOT4_5_OR_GREATER;GODOT4_5_0_OR_GREATER;TRACE;DISABLE_DD3D + + GODOT;GODOT_WINDOWS;GODOT_PC;GODOT4;GODOT4_5;GODOT4_5_0;GODOT4_OR_GREATER;GODOT4_0_OR_GREATER;GODOT4_1_OR_GREATER;GODOT4_2_OR_GREATER;GODOT4_3_OR_GREATER;GODOT4_4_OR_GREATER;GODOT4_5_OR_GREATER;GODOT4_5_0_OR_GREATER;TRACE;TOOLS + diff --git a/Cirno.sln.DotSettings.user b/Cirno.sln.DotSettings.user index 2361dae1..ced46b99 100644 --- a/Cirno.sln.DotSettings.user +++ b/Cirno.sln.DotSettings.user @@ -8,6 +8,7 @@ ForceIncluded ForceIncluded ForceIncluded + ForceIncluded ForceIncluded ForceIncluded ForceIncluded diff --git a/IsoTest/IsoMapTest2.tscn b/IsoTest/IsoMapTest2.tscn index df056cc7..6c344994 100644 --- a/IsoTest/IsoMapTest2.tscn +++ b/IsoTest/IsoMapTest2.tscn @@ -3,7 +3,7 @@ [ext_resource type="Script" uid="uid://ba0tf7ihw4hpp" path="res://Scripts/Misc/CameraController3D.cs" id="1_g4gcm"] [ext_resource type="Script" uid="uid://b8g8mflgsr5dc" path="res://Scripts/GameController.cs" id="1_joeuf"] [ext_resource type="PackedScene" uid="uid://dkwi1hu1bixoe" path="res://Scenes/HUD/HUD.tscn" id="2_itd0i"] -[ext_resource type="Resource" uid="uid://bq2o78engsuyt" path="res://Resources/Maps/IsoMapTest2.tres" id="2_l7bgk"] +[ext_resource type="Resource" uid="uid://bq2o78engsuyt" path="res://Resources/Maps/3D/IsoMapTest2.tres" id="2_l7bgk"] [ext_resource type="Script" uid="uid://c5nxsq3tyxcx6" path="res://Scripts/InventoryManager.cs" id="3_itd0i"] [ext_resource type="Script" uid="uid://cnkipcolyj61w" path="res://Scripts/AlarmManager.cs" id="6_w4wji"] [ext_resource type="AudioStream" uid="uid://blohh20jktoyo" path="res://SFX/270641__phantastonia__alarm2.wav" id="7_5vm3d"] diff --git a/IsoTest/Tutorial_Gameplay.tscn b/IsoTest/Tutorial_Gameplay.tscn index 3263b3d8..4ccd1019 100644 --- a/IsoTest/Tutorial_Gameplay.tscn +++ b/IsoTest/Tutorial_Gameplay.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=16 format=3 uid="uid://dorx2l3svs58g"] [ext_resource type="Script" uid="uid://b8g8mflgsr5dc" path="res://Scripts/GameController.cs" id="1_jexas"] -[ext_resource type="Resource" uid="uid://bq2o78engsuyt" path="res://Resources/Maps/IsoMapTest2.tres" id="2_21h4j"] +[ext_resource type="Resource" uid="uid://b32mqmglcdo64" path="res://Resources/Maps/3D/Tutorial_3D.tres" id="2_b1fwp"] [ext_resource type="PackedScene" uid="uid://rimplblbptcd" path="res://Scenes/Actors/IsoPlayer_FSM.tscn" id="3_gvqvx"] [ext_resource type="PackedScene" uid="uid://dkwi1hu1bixoe" path="res://Scenes/HUD/HUD.tscn" id="4_dhiwy"] [ext_resource type="Script" uid="uid://c5nxsq3tyxcx6" path="res://Scripts/InventoryManager.cs" id="5_nv8if"] @@ -29,7 +29,7 @@ sky = SubResource("Sky_yt8i6") [node name="GameController" type="Node" parent="." node_paths=PackedStringArray("_cameraTarget", "PlayerParentNode")] script = ExtResource("1_jexas") _cameraTarget = NodePath("../CameraTarget") -MapResource = ExtResource("2_21h4j") +MapResource = ExtResource("2_b1fwp") PlayerTemplate = ExtResource("3_gvqvx") SpawnMarkers = Dictionary[int, NodePath]({ 0: NodePath("../StartPosition") diff --git a/Resources/Debug/DebugLevels.tres b/Resources/Debug/DebugLevels.tres index ee749e91..8077e60a 100644 --- a/Resources/Debug/DebugLevels.tres +++ b/Resources/Debug/DebugLevels.tres @@ -1,4 +1,4 @@ -[gd_resource type="Resource" script_class="DebugMapSelectData" load_steps=44 format=3 uid="uid://d1lc8lhq1b05p"] +[gd_resource type="Resource" script_class="DebugMapSelectData" load_steps=46 format=3 uid="uid://d1lc8lhq1b05p"] [ext_resource type="Script" uid="uid://durmwwyw3dnm6" path="res://Scripts/Resources/DebugMenu/DebugMapSelectData.cs" id="1_6kwth"] [ext_resource type="Script" uid="uid://mja0rk7n2kln" path="res://Scripts/Resources/MapStartDataResource.cs" id="1_ov731"] @@ -12,7 +12,8 @@ [ext_resource type="Resource" uid="uid://6ek4lmtuij4t" path="res://Resources/Maps/Roguelite.tres" id="9_ognca"] [ext_resource type="Resource" uid="uid://cn8tu4jct04rp" path="res://Resources/StartData/Pistol_Start.tres" id="10_olpjo"] [ext_resource type="Resource" uid="uid://d1rd3eep3b0jj" path="res://Resources/Maps/ReimuTest.tres" id="11_olpjo"] -[ext_resource type="Resource" uid="uid://bq2o78engsuyt" path="res://Resources/Maps/IsoMapTest2.tres" id="12_nbnej"] +[ext_resource type="Resource" uid="uid://bq2o78engsuyt" path="res://Resources/Maps/3D/IsoMapTest2.tres" id="12_w7lsm"] +[ext_resource type="Resource" uid="uid://b32mqmglcdo64" path="res://Resources/Maps/3D/Tutorial_3D.tres" id="13_vq1um"] [sub_resource type="Resource" id="Resource_qnbi6"] script = ExtResource("2_tnajf") @@ -190,10 +191,16 @@ metadata/_custom_type_script = "uid://dnthdjrx78u6m" [sub_resource type="Resource" id="Resource_rmbs0"] script = ExtResource("2_tnajf") -Map = ExtResource("12_nbnej") +Map = ExtResource("12_w7lsm") _name = "Isometric Test" metadata/_custom_type_script = "uid://dnthdjrx78u6m" +[sub_resource type="Resource" id="Resource_uqr0b"] +script = ExtResource("2_tnajf") +Map = ExtResource("13_vq1um") +_name = "Tutorial 3D" +metadata/_custom_type_script = "uid://dnthdjrx78u6m" + [resource] script = ExtResource("1_6kwth") -Maps = Array[Object]([SubResource("Resource_qnbi6"), SubResource("Resource_0k62o"), SubResource("Resource_edoov"), SubResource("Resource_47bot"), SubResource("Resource_mgdm6"), SubResource("Resource_v2as6"), SubResource("Resource_pein5"), SubResource("Resource_6wrc7"), SubResource("Resource_x3w7w"), SubResource("Resource_ajht5"), SubResource("Resource_7vmdn"), SubResource("Resource_6ijnv"), SubResource("Resource_bkci5"), SubResource("Resource_ognca"), SubResource("Resource_nbnej"), SubResource("Resource_w7lsm"), SubResource("Resource_vq1um"), SubResource("Resource_hougo"), SubResource("Resource_xhgge"), SubResource("Resource_gkp3t"), SubResource("Resource_c3ldk"), SubResource("Resource_rmbs0")]) +Maps = Array[Object]([SubResource("Resource_qnbi6"), SubResource("Resource_0k62o"), SubResource("Resource_edoov"), SubResource("Resource_47bot"), SubResource("Resource_mgdm6"), SubResource("Resource_v2as6"), SubResource("Resource_pein5"), SubResource("Resource_6wrc7"), SubResource("Resource_x3w7w"), SubResource("Resource_ajht5"), SubResource("Resource_7vmdn"), SubResource("Resource_6ijnv"), SubResource("Resource_bkci5"), SubResource("Resource_ognca"), SubResource("Resource_nbnej"), SubResource("Resource_w7lsm"), SubResource("Resource_vq1um"), SubResource("Resource_hougo"), SubResource("Resource_xhgge"), SubResource("Resource_gkp3t"), SubResource("Resource_c3ldk"), SubResource("Resource_rmbs0"), SubResource("Resource_uqr0b")]) diff --git a/Resources/Enemies/Crystal_Purple_3D.tres b/Resources/Enemies/Crystal_Purple_3D.tres new file mode 100644 index 00000000..10e8b8fb --- /dev/null +++ b/Resources/Enemies/Crystal_Purple_3D.tres @@ -0,0 +1,70 @@ +[gd_resource type="Resource" script_class="EnemyResource" load_steps=19 format=3 uid="uid://bc860i6u1lsjb"] + +[ext_resource type="SpriteFrames" uid="uid://df5mrk1pvnjvi" path="res://Resources/Enemies/Crystal_Purple_Animations.tres" id="1_1rnpq"] +[ext_resource type="SpriteFrames" uid="uid://xiirmmgfsya6" path="res://Resources/Sprites/Fairy_Guard_Dead.tres" id="2_11hho"] +[ext_resource type="PackedScene" uid="uid://l7a5p3vfsbn0" path="res://Scenes/Actors/Generic_Enemy_Debris_3D.tscn" id="3_0dkpk"] +[ext_resource type="Texture2D" uid="uid://d2uwmixqx8yr7" path="res://ExternalMaterial/CrystalEnemies/Crystal_Enemy.png.png" id="4_i3x07"] +[ext_resource type="Script" uid="uid://cq65aed620ijo" path="res://Scripts/Resources/Loot/LootDrop.cs" id="5_msuon"] +[ext_resource type="Resource" uid="uid://ct1fa2huvy34n" path="res://Resources/Items/Ammo1.tres" id="6_ysawo"] +[ext_resource type="Resource" uid="uid://dy53gia1tmkah" path="res://Resources/Items/Points_Pickup.tres" id="7_tkvwd"] +[ext_resource type="Resource" uid="uid://bhbufxodybsw4" path="res://Resources/Items/Shield_Pickup.tres" id="8_vvxx8"] +[ext_resource type="Resource" uid="uid://dodwpect0ldjf" path="res://Resources/Items/Heart_Pickup.tres" id="9_wdxee"] +[ext_resource type="Resource" uid="uid://clr1gln7nxa1o" path="res://Resources/Items/Power_Pickup.tres" id="10_016nb"] +[ext_resource type="Resource" uid="uid://c6ywv08e6is5o" path="res://Resources/Weapons/EnemyWeapon_Big_3D.tres" id="11_tshuv"] +[ext_resource type="Script" uid="uid://cd5o0ceb50jki" path="res://Scripts/Resources/EnemyResource.cs" id="12_0syc4"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_n54y5"] +atlas = ExtResource("4_i3x07") +region = Rect2(0, 0, 32, 32) + +[sub_resource type="Resource" id="Resource_c8nix"] +script = ExtResource("5_msuon") +Item = ExtResource("6_ysawo") +Chance = 40.0 +metadata/_custom_type_script = "uid://cq65aed620ijo" + +[sub_resource type="Resource" id="Resource_gs2l3"] +script = ExtResource("5_msuon") +Item = ExtResource("7_tkvwd") +Chance = 10.0 +metadata/_custom_type_script = "uid://cq65aed620ijo" + +[sub_resource type="Resource" id="Resource_sqnvg"] +script = ExtResource("5_msuon") +Item = ExtResource("8_vvxx8") +Chance = 5.0 +metadata/_custom_type_script = "uid://cq65aed620ijo" + +[sub_resource type="Resource" id="Resource_5tyar"] +script = ExtResource("5_msuon") +Item = ExtResource("9_wdxee") +Chance = 5.0 +metadata/_custom_type_script = "uid://cq65aed620ijo" + +[sub_resource type="Resource" id="Resource_48xq6"] +script = ExtResource("5_msuon") +Item = ExtResource("10_016nb") +Chance = 6.0 +metadata/_custom_type_script = "uid://cq65aed620ijo" + +[resource] +script = ExtResource("12_0syc4") +EnemyName = &"Purple Crystal" +EnemyKey = &"CRYSTAL_PURPLE" +PrefabPath = &"uid://bh3vxmqflijgj" +MaxHealth = 10.0 +MovementSpeed = 2.0 +Weapon = ExtResource("11_tshuv") +LootDrops = Array[ExtResource("5_msuon")]([SubResource("Resource_c8nix"), SubResource("Resource_gs2l3"), SubResource("Resource_sqnvg"), SubResource("Resource_5tyar"), SubResource("Resource_48xq6")]) +PlayerDetectionRange = 4.0 +ViewRange = 5.0 +AlarmReactRange = 8.0 +PlayerDisengageRange = 10.0 +StrafeSpeed = 1.5 +MaxStrafeDistance = 1.0 +MinStrafeDistance = 0.2 +IconSprite = SubResource("AtlasTexture_n54y5") +AnimationFrames = ExtResource("1_1rnpq") +DebrisScene = ExtResource("3_0dkpk") +DeathAnimation = ExtResource("2_11hho") +metadata/_custom_type_script = "uid://cd5o0ceb50jki" diff --git a/Resources/Enemies/Crystal_Purple_Animations.tres b/Resources/Enemies/Crystal_Purple_Animations.tres new file mode 100644 index 00000000..c49c9f01 --- /dev/null +++ b/Resources/Enemies/Crystal_Purple_Animations.tres @@ -0,0 +1,59 @@ +[gd_resource type="SpriteFrames" load_steps=6 format=3 uid="uid://df5mrk1pvnjvi"] + +[ext_resource type="Texture2D" uid="uid://d2uwmixqx8yr7" path="res://ExternalMaterial/CrystalEnemies/Crystal_Enemy.png.png" id="1_bwygt"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_70ir1"] +atlas = ExtResource("1_bwygt") +region = Rect2(0, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nltpy"] +atlas = ExtResource("1_bwygt") +region = Rect2(0, 32, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_a502u"] +atlas = ExtResource("1_bwygt") +region = Rect2(0, 64, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rabkd"] +atlas = ExtResource("1_bwygt") +region = Rect2(0, 96, 32, 32) + +[resource] +animations = [{ +"frames": [], +"loop": true, +"name": &"dead", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_70ir1") +}], +"loop": true, +"name": &"down", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_nltpy") +}], +"loop": true, +"name": &"left", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_a502u") +}], +"loop": true, +"name": &"right", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_rabkd") +}], +"loop": true, +"name": &"up", +"speed": 5.0 +}] diff --git a/Resources/Maps/IsoMapTest2.tres b/Resources/Maps/3D/IsoMapTest2.tres similarity index 100% rename from Resources/Maps/IsoMapTest2.tres rename to Resources/Maps/3D/IsoMapTest2.tres diff --git a/Resources/Maps/3D/Tutorial_3D.tres b/Resources/Maps/3D/Tutorial_3D.tres new file mode 100644 index 00000000..e298c9b1 --- /dev/null +++ b/Resources/Maps/3D/Tutorial_3D.tres @@ -0,0 +1,19 @@ +[gd_resource type="Resource" script_class="MapResource" load_steps=4 format=3 uid="uid://b32mqmglcdo64"] + +[ext_resource type="Script" uid="uid://mja0rk7n2kln" path="res://Scripts/Resources/MapStartDataResource.cs" id="1_ilxsg"] +[ext_resource type="Script" uid="uid://quy4d4tgvqfy" path="res://Scripts/Resources/MapResource.cs" id="2_kgbmv"] + +[sub_resource type="Resource" id="Resource_kgbmv"] +script = ExtResource("1_ilxsg") +StartingEquipment = null +RemoveEquipment = null +metadata/_custom_type_script = "uid://mja0rk7n2kln" + +[resource] +script = ExtResource("2_kgbmv") +MapName = &"Tutorial" +MapDescription = null +ScenePath = &"uid://dorx2l3svs58g" +WeaponsAllowed = true +StartData = SubResource("Resource_kgbmv") +metadata/_custom_type_script = "uid://quy4d4tgvqfy" diff --git a/Scenes/Actors/Generic_Enemy_FSM_3D.tscn b/Scenes/Actors/Generic_Enemy_FSM_3D.tscn index 5c90cf82..31d2886d 100644 --- a/Scenes/Actors/Generic_Enemy_FSM_3D.tscn +++ b/Scenes/Actors/Generic_Enemy_FSM_3D.tscn @@ -195,6 +195,7 @@ ResourceName = "Health" transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, -0.29, 0) mesh = SubResource("QuadMesh_05pdu") script = ExtResource("19_4fnoq") +AutoEnable = false CollisionMask = 1 [node name="GravityProvider" type="Node" parent="."] diff --git a/Scripts/Components/FSM/Enemy/3D/Idle.cs b/Scripts/Components/FSM/Enemy/3D/Idle.cs index 2fc3e446..cd692532 100644 --- a/Scripts/Components/FSM/Enemy/3D/Idle.cs +++ b/Scripts/Components/FSM/Enemy/3D/Idle.cs @@ -82,9 +82,9 @@ public partial class Idle : EnemyStateBase3D if (DebugEnabled) { -#if !DISABLE_DD3D - DebugDraw3D.DrawText(MainObject.GlobalPosition - new Vector3(0, 16, 0), "Idle"); -#endif +// #if !DISABLE_DD3D +// DebugDraw3D.DrawText(MainObject.GlobalPosition - new Vector3(0, 16, 0), "Idle"); +// #endif } MainObject.Velocity = new Vector3(MainObject.Velocity.X,