Add item equipping and stats depending on that equipment
This commit is contained in:
parent
f4d358017a
commit
2c67238209
@ -19,6 +19,10 @@ config/icon="res://icon.svg"
|
||||
|
||||
VFXManager="*res://src/scenes/autoload/vfx_manager.tscn"
|
||||
|
||||
[debug]
|
||||
|
||||
gdscript/warnings/untyped_declaration=2
|
||||
|
||||
[display]
|
||||
|
||||
window/size/viewport_width=2560
|
||||
|
||||
@ -70,53 +70,53 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
|
||||
[node name="Rig" parent="RigPivot" instance=ExtResource("3_n52bt")]
|
||||
|
||||
[node name="Skeleton3D" parent="RigPivot/Rig/CharacterRig/GameRig" index="0"]
|
||||
bones/0/position = Vector3(4.44089e-15, 0.911229, -0.0481736)
|
||||
bones/0/position = Vector3(3.37508e-15, 0.891802, -0.0481736)
|
||||
bones/0/rotation = Quaternion(0.12582, 1.18262e-07, 1.49989e-08, 0.992053)
|
||||
bones/1/rotation = Quaternion(-0.0566577, -0.00072973, -0.0117082, 0.998325)
|
||||
bones/2/position = Vector3(3.20474e-09, 0.146689, -1.95578e-08)
|
||||
bones/2/rotation = Quaternion(0.00731494, -0.000267675, 0.00321092, 0.999968)
|
||||
bones/2/rotation = Quaternion(-0.00477157, -0.000463564, 0.00321576, 0.999983)
|
||||
bones/3/position = Vector3(-2.01263e-09, 0.202058, -2.51457e-08)
|
||||
bones/3/rotation = Quaternion(-0.0881755, -0.000271906, 0.00852504, 0.996069)
|
||||
bones/3/rotation = Quaternion(-0.0995774, -0.000420182, 0.00851791, 0.994993)
|
||||
bones/4/position = Vector3(3.02934e-10, 0.0925562, 3.91155e-08)
|
||||
bones/4/rotation = Quaternion(0.269538, 1.43865e-08, 9.15835e-08, 0.96299)
|
||||
bones/4/rotation = Quaternion(0.279128, 1.42007e-08, 9.62163e-08, 0.960254)
|
||||
bones/5/rotation = Quaternion(-0.0948564, -2.80691e-14, -2.26155e-08, 0.995491)
|
||||
bones/6/rotation = Quaternion(-0.165627, -1.17563e-07, -1.97443e-08, 0.986188)
|
||||
bones/7/position = Vector3(-4.58328e-08, 0.911229, -0.0481734)
|
||||
bones/6/rotation = Quaternion(-0.15348, -1.18034e-07, -1.67592e-08, 0.988152)
|
||||
bones/7/position = Vector3(-3.58587e-08, 0.891802, -0.0481735)
|
||||
bones/7/rotation = Quaternion(-0.0863677, -0.751104, -0.383052, 0.530711)
|
||||
bones/8/position = Vector3(-3.51702e-08, 0.911229, -0.0481735)
|
||||
bones/8/position = Vector3(-4.91649e-08, 0.891802, -0.0481735)
|
||||
bones/8/rotation = Quaternion(-0.0863677, 0.751104, 0.383052, 0.530711)
|
||||
bones/9/position = Vector3(0.131144, 0.977433, -0.0351291)
|
||||
bones/9/rotation = Quaternion(0.994354, 0.0201906, -0.0312759, 0.0993672)
|
||||
bones/9/position = Vector3(0.131144, 0.958007, -0.0351291)
|
||||
bones/9/rotation = Quaternion(0.992468, 0.0211448, -0.0308219, 0.11666)
|
||||
bones/10/position = Vector3(-2.36129e-08, 0.26601, -2.14789e-08)
|
||||
bones/10/rotation = Quaternion(-3.13921e-08, -0.000695086, 1.20449e-08, 1)
|
||||
bones/11/position = Vector3(-4.6306e-08, 0.26601, 2.42145e-08)
|
||||
bones/11/rotation = Quaternion(0.392666, -0.000694321, 0.000296553, 0.919681)
|
||||
bones/11/rotation = Quaternion(0.431745, -0.000700548, 0.000335449, 0.901996)
|
||||
bones/12/position = Vector3(3.05151e-08, 0.22603, 5.03768e-08)
|
||||
bones/12/rotation = Quaternion(-8.19226e-09, -0.00710644, 4.16102e-08, 0.999975)
|
||||
bones/13/position = Vector3(-2.95495e-08, 0.22603, 2.68392e-09)
|
||||
bones/13/rotation = Quaternion(-0.739747, 0.0118417, 0.0243568, 0.67234)
|
||||
bones/13/rotation = Quaternion(-0.756488, 0.0119036, 0.024431, 0.653443)
|
||||
bones/14/position = Vector3(-3.05481e-08, 0.139877, 1.64787e-08)
|
||||
bones/14/rotation = Quaternion(-9.66743e-05, 0.967474, -0.252972, -0.000383447)
|
||||
bones/15/position = Vector3(-0.131144, 0.977433, -0.0351291)
|
||||
bones/15/rotation = Quaternion(0.976045, -0.00523292, 0.0277031, 0.215732)
|
||||
bones/15/position = Vector3(-0.131144, 0.958007, -0.0351291)
|
||||
bones/15/rotation = Quaternion(0.972077, -0.00599083, 0.0271768, 0.233005)
|
||||
bones/16/position = Vector3(-1.10042e-08, 0.265705, -3.31989e-08)
|
||||
bones/16/rotation = Quaternion(-3.43227e-08, 0.00314323, 8.33075e-10, 0.999995)
|
||||
bones/17/position = Vector3(1.83545e-08, 0.265705, 6.98543e-10)
|
||||
bones/17/rotation = Quaternion(0.419096, 0.00314277, -0.00145079, 0.907935)
|
||||
bones/17/rotation = Quaternion(0.455066, 0.00335549, -0.0017149, 0.89045)
|
||||
bones/18/position = Vector3(1.2807e-08, 0.225719, -8.28774e-09)
|
||||
bones/18/rotation = Quaternion(-2.29017e-08, -0.00785732, 3.30149e-08, 0.999969)
|
||||
bones/19/position = Vector3(-1.27748e-08, 0.225719, 1.12004e-08)
|
||||
bones/19/rotation = Quaternion(-0.677207, -0.0281333, -0.00151177, 0.735253)
|
||||
bones/19/rotation = Quaternion(-0.692381, -0.0282147, -0.000432916, 0.72098)
|
||||
bones/20/position = Vector3(-1.30142e-08, 0.139877, -2.77457e-09)
|
||||
bones/20/rotation = Quaternion(-9.96472e-05, 0.967461, -0.253021, -0.000383039)
|
||||
bones/21/position = Vector3(0.0251286, 1.44071, 0.0475463)
|
||||
bones/21/rotation = Quaternion(-0.468899, -0.267874, -0.417939, 0.730551)
|
||||
bones/22/position = Vector3(0.191647, 1.47968, -0.00896416)
|
||||
bones/22/rotation = Quaternion(0.0192298, -0.164322, 0.975527, -0.144831)
|
||||
bones/21/position = Vector3(0.0251286, 1.42287, 0.0407677)
|
||||
bones/21/rotation = Quaternion(-0.501716, -0.254442, -0.39392, 0.726889)
|
||||
bones/22/position = Vector3(0.187338, 1.45827, -0.0289832)
|
||||
bones/22/rotation = Quaternion(0.0606447, -0.158023, 0.97383, -0.151679)
|
||||
bones/23/position = Vector3(-5.41331e-09, 0.143946, -2.98023e-08)
|
||||
bones/23/rotation = Quaternion(7.11168e-08, -0.0407952, -7.42444e-08, 0.999168)
|
||||
bones/23/rotation = Quaternion(8.8908e-08, -0.0073359, 3.28813e-09, 0.999973)
|
||||
bones/24/position = Vector3(-6.33301e-08, 0.143946, 4.3873e-08)
|
||||
bones/24/rotation = Quaternion(0.355324, -0.0408126, -0.0221815, 0.933588)
|
||||
bones/24/rotation = Quaternion(0.278516, -0.00704655, -0.0166663, 0.960261)
|
||||
bones/25/position = Vector3(1.30385e-08, 0.127601, 6.51926e-09)
|
||||
bones/25/rotation = Quaternion(1.49943e-07, -1.20606e-07, 9.91859e-08, 1)
|
||||
bones/26/position = Vector3(2.06034e-08, 0.127601, 2.42761e-08)
|
||||
@ -141,14 +141,14 @@ bones/42/rotation = Quaternion(-0.120913, 0.799109, 0.0358921, 0.587807)
|
||||
bones/43/rotation = Quaternion(0.498693, -0.0202705, -0.0256953, 0.866161)
|
||||
bones/44/rotation = Quaternion(0.715385, 0.035306, 0.0573145, 0.695481)
|
||||
bones/45/rotation = Quaternion(-0.129059, 0.728936, -0.0250259, 0.67184)
|
||||
bones/46/position = Vector3(-0.0113635, 1.44071, 0.0475463)
|
||||
bones/46/rotation = Quaternion(-0.468109, 0.267414, 0.418225, 0.731062)
|
||||
bones/47/position = Vector3(-0.177878, 1.47981, -0.00889)
|
||||
bones/47/rotation = Quaternion(-0.00633264, -0.148417, 0.976093, 0.158668)
|
||||
bones/46/position = Vector3(-0.0113635, 1.42287, 0.0407677)
|
||||
bones/46/rotation = Quaternion(-0.527406, 0.202335, 0.358051, 0.743441)
|
||||
bones/47/position = Vector3(-0.162235, 1.45827, -0.0510164)
|
||||
bones/47/rotation = Quaternion(-0.100988, -0.132326, 0.970875, 0.172317)
|
||||
bones/48/position = Vector3(1.88476e-07, 0.143946, 1.02445e-08)
|
||||
bones/48/rotation = Quaternion(-1.95624e-07, 0.0600442, -1.88432e-07, 0.998196)
|
||||
bones/48/rotation = Quaternion(1.35188e-08, -0.00396547, -2.21344e-08, 0.999992)
|
||||
bones/49/position = Vector3(6.5191e-09, 0.143946, -1.95094e-08)
|
||||
bones/49/rotation = Quaternion(0.396516, 0.0600607, 0.0277118, 0.915642)
|
||||
bones/49/rotation = Quaternion(0.308264, -0.00406624, 0.028514, 0.950865)
|
||||
bones/50/position = Vector3(-1.48779e-07, 0.1276, 5.9139e-08)
|
||||
bones/50/rotation = Quaternion(-8.73115e-08, 2.7474e-08, -1.28057e-07, 1)
|
||||
bones/51/position = Vector3(1.9461e-07, 0.127601, 6.06248e-08)
|
||||
@ -174,19 +174,19 @@ bones/67/rotation = Quaternion(0.108364, -0.768224, 0.166291, 0.608635)
|
||||
bones/68/rotation = Quaternion(0.629954, 0.0295149, 0.0177509, 0.775869)
|
||||
bones/69/rotation = Quaternion(0.816678, -0.0439534, -0.0509861, 0.573155)
|
||||
bones/70/rotation = Quaternion(-0.12906, -0.728937, 0.0250258, 0.67184)
|
||||
bones/71/position = Vector3(0.127191, 1.36189, -0.0243177)
|
||||
bones/71/rotation = Quaternion(2.03758e-08, 0.597434, 0.801918, -4.58154e-08)
|
||||
bones/72/position = Vector3(-0.113426, 1.36189, -0.0243177)
|
||||
bones/72/rotation = Quaternion(2.03758e-08, 0.597434, 0.801918, -4.58153e-08)
|
||||
bones/71/position = Vector3(0.127191, 1.33983, -0.0270516)
|
||||
bones/71/rotation = Quaternion(1.89417e-08, 0.618384, 0.785876, -4.66143e-08)
|
||||
bones/72/position = Vector3(-0.113426, 1.33983, -0.0270516)
|
||||
bones/72/rotation = Quaternion(1.89418e-08, 0.618384, 0.785876, -4.66142e-08)
|
||||
|
||||
[node name="RightHandBone" parent="RigPivot/Rig" index="2"]
|
||||
transform = Transform3D(-0.962351, -0.270776, -0.0236977, 0.219798, -0.826526, 0.518212, -0.159906, 0.493493, 0.854924, -0.351688, 1.01452, 0.0336896)
|
||||
transform = Transform3D(-0.962309, -0.270911, -0.0238701, 0.247289, -0.908164, 0.337768, -0.113183, 0.319135, 0.940926, -0.336079, 0.971891, -0.0516855)
|
||||
|
||||
[node name="LeftHandBone" parent="RigPivot/Rig" index="3"]
|
||||
transform = Transform3D(-0.970512, 0.239113, 0.0305286, -0.207849, -0.894232, 0.39642, 0.122089, 0.378385, 0.917561, 0.348458, 0.996882, -0.0047055)
|
||||
transform = Transform3D(-0.970456, 0.239301, 0.030828, -0.225683, -0.94548, 0.234808, 0.0853371, 0.220914, 0.971553, 0.344198, 0.962045, -0.0639757)
|
||||
|
||||
[node name="RayAttachment" type="BoneAttachment3D" parent="RigPivot/Rig"]
|
||||
transform = Transform3D(-0.962351, -0.270776, -0.0236977, 0.219798, -0.826526, 0.518212, -0.159906, 0.493493, 0.854924, -0.351688, 1.01452, 0.0336896)
|
||||
transform = Transform3D(-0.962309, -0.270911, -0.0238701, 0.247289, -0.908164, 0.337768, -0.113183, 0.319135, 0.940926, -0.336079, 0.971891, -0.0516855)
|
||||
bone_name = "DEF-hand.R"
|
||||
bone_idx = 51
|
||||
use_external_skeleton = true
|
||||
|
||||
237
src/scenes/characters/rig.tscn83958877592.tmp
Normal file
237
src/scenes/characters/rig.tscn83958877592.tmp
Normal file
@ -0,0 +1,237 @@
|
||||
[gd_scene load_steps=22 format=3 uid="uid://ckwydalda0teo"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://ckjbqjere1jpf" path="res://src/scripts/characters/rig.gd" id="1_n80wy"]
|
||||
[ext_resource type="PackedScene" uid="uid://xivf38sp0l78" path="res://assets/models/character/character_rig.glb" id="2_ow4sk"]
|
||||
[ext_resource type="PackedScene" uid="uid://bnkhiay2id2kl" path="res://assets/models/character/gear/longsword.glb" id="3_dka8l"]
|
||||
[ext_resource type="PackedScene" uid="uid://c7ahf78h5s3kx" path="res://assets/models/character/gear/tall_shield.glb" id="4_i4vhj"]
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_isuva"]
|
||||
animation = &"Dash"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_6b80y"]
|
||||
animation = &"Defeat"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_eek7r"]
|
||||
animation = &"Run"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_gxy77"]
|
||||
animation = &"Idle"
|
||||
|
||||
[sub_resource type="AnimationNodeBlendSpace1D" id="AnimationNodeBlendSpace1D_djdpq"]
|
||||
blend_point_0/node = SubResource("AnimationNodeAnimation_eek7r")
|
||||
blend_point_0/pos = 1.0
|
||||
blend_point_1/node = SubResource("AnimationNodeAnimation_gxy77")
|
||||
blend_point_1/pos = -1.0
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_q073i"]
|
||||
animation = &"Overhead"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_bd73k"]
|
||||
animation = &"OverheadRecover"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_1br2m"]
|
||||
animation = &"Slash"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gkl4x"]
|
||||
advance_mode = 2
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_eek7r"]
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gxy77"]
|
||||
xfade_time = 0.1
|
||||
switch_mode = 2
|
||||
advance_mode = 2
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_isuva"]
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8x2vi"]
|
||||
switch_mode = 2
|
||||
advance_mode = 2
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_eqygr"]
|
||||
xfade_time = 0.1
|
||||
switch_mode = 2
|
||||
advance_mode = 2
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yvrik"]
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dnffl"]
|
||||
xfade_time = 0.2
|
||||
switch_mode = 2
|
||||
advance_mode = 2
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_mq48a"]
|
||||
states/Dash/node = SubResource("AnimationNodeAnimation_isuva")
|
||||
states/Dash/position = Vector2(434, -58)
|
||||
states/Defeat/node = SubResource("AnimationNodeAnimation_6b80y")
|
||||
states/Defeat/position = Vector2(584, -69)
|
||||
states/MoveSpace/node = SubResource("AnimationNodeBlendSpace1D_djdpq")
|
||||
states/MoveSpace/position = Vector2(434, 28)
|
||||
states/Overhead/node = SubResource("AnimationNodeAnimation_q073i")
|
||||
states/Overhead/position = Vector2(652, 28)
|
||||
states/OverheadRecover/node = SubResource("AnimationNodeAnimation_bd73k")
|
||||
states/OverheadRecover/position = Vector2(652, 123)
|
||||
states/Slash/node = SubResource("AnimationNodeAnimation_1br2m")
|
||||
states/Slash/position = Vector2(434, 243)
|
||||
states/Start/position = Vector2(239, 28)
|
||||
transitions = ["Start", "MoveSpace", SubResource("AnimationNodeStateMachineTransition_gkl4x"), "MoveSpace", "Slash", SubResource("AnimationNodeStateMachineTransition_eek7r"), "Slash", "MoveSpace", SubResource("AnimationNodeStateMachineTransition_gxy77"), "MoveSpace", "Overhead", SubResource("AnimationNodeStateMachineTransition_isuva"), "Overhead", "OverheadRecover", SubResource("AnimationNodeStateMachineTransition_8x2vi"), "OverheadRecover", "MoveSpace", SubResource("AnimationNodeStateMachineTransition_eqygr"), "MoveSpace", "Dash", SubResource("AnimationNodeStateMachineTransition_yvrik"), "Dash", "MoveSpace", SubResource("AnimationNodeStateMachineTransition_dnffl")]
|
||||
graph_offset = Vector2(-166, -157)
|
||||
|
||||
[node name="Rig" type="Node3D"]
|
||||
script = ExtResource("1_n80wy")
|
||||
|
||||
[node name="CharacterRig" parent="." instance=ExtResource("2_ow4sk")]
|
||||
|
||||
[node name="Skeleton3D" parent="CharacterRig/GameRig" index="0"]
|
||||
bones/0/position = Vector3(7.26674e-15, 0.905219, -0.0481736)
|
||||
bones/0/rotation = Quaternion(0.12582, 1.18262e-07, 1.49989e-08, 0.992053)
|
||||
bones/1/rotation = Quaternion(-0.0566577, -0.00072973, -0.0117082, 0.998325)
|
||||
bones/2/position = Vector3(3.20474e-09, 0.146689, -1.95578e-08)
|
||||
bones/2/rotation = Quaternion(0.00342428, -0.000330737, 0.00321264, 0.999989)
|
||||
bones/3/position = Vector3(-2.01263e-09, 0.202058, -2.51457e-08)
|
||||
bones/3/rotation = Quaternion(-0.0917035, -0.000317814, 0.0085231, 0.99575)
|
||||
bones/4/position = Vector3(3.02934e-10, 0.0925562, 3.91155e-08)
|
||||
bones/4/rotation = Quaternion(0.272765, 1.55048e-08, 8.8995e-08, 0.962081)
|
||||
bones/5/rotation = Quaternion(-0.0948564, -2.80691e-14, -2.26155e-08, 0.995491)
|
||||
bones/6/rotation = Quaternion(-0.161588, -1.17078e-07, -2.27072e-08, 0.986858)
|
||||
bones/7/position = Vector3(-2.80761e-08, 0.905219, -0.0481735)
|
||||
bones/7/rotation = Quaternion(-0.0863677, -0.751104, -0.383052, 0.530711)
|
||||
bones/8/position = Vector3(-3.02922e-08, 0.905219, -0.0481735)
|
||||
bones/8/rotation = Quaternion(-0.0863677, 0.751104, 0.383052, 0.530711)
|
||||
bones/9/position = Vector3(0.131144, 0.971423, -0.0351291)
|
||||
bones/9/rotation = Quaternion(0.993771, 0.0204958, -0.0311284, 0.105023)
|
||||
bones/10/position = Vector3(-2.36129e-08, 0.26601, -2.14789e-08)
|
||||
bones/10/rotation = Quaternion(-3.13921e-08, -0.000695086, 1.20449e-08, 1)
|
||||
bones/11/position = Vector3(-4.6306e-08, 0.26601, 2.42145e-08)
|
||||
bones/11/rotation = Quaternion(0.405395, -0.000698014, 0.000309707, 0.914141)
|
||||
bones/12/position = Vector3(3.05151e-08, 0.22603, 5.03768e-08)
|
||||
bones/12/rotation = Quaternion(-8.19226e-09, -0.00710644, 4.16102e-08, 0.999975)
|
||||
bones/13/position = Vector3(-2.95495e-08, 0.22603, 2.68392e-09)
|
||||
bones/13/rotation = Quaternion(-0.745208, 0.0118619, 0.024377, 0.666281)
|
||||
bones/14/position = Vector3(-3.05481e-08, 0.139877, 1.64787e-08)
|
||||
bones/14/rotation = Quaternion(-9.66743e-05, 0.967474, -0.252972, -0.000383447)
|
||||
bones/15/position = Vector3(-0.131144, 0.971423, -0.0351291)
|
||||
bones/15/rotation = Quaternion(0.974773, -0.00548165, 0.0275307, 0.221428)
|
||||
bones/16/position = Vector3(-1.10042e-08, 0.265705, -3.31989e-08)
|
||||
bones/16/rotation = Quaternion(-3.43227e-08, 0.00314323, 8.33075e-10, 0.999995)
|
||||
bones/17/position = Vector3(1.83545e-08, 0.265705, 6.98543e-10)
|
||||
bones/17/rotation = Quaternion(0.430608, 0.00321092, -0.00153208, 0.902532)
|
||||
bones/18/position = Vector3(1.2807e-08, 0.225719, -8.28774e-09)
|
||||
bones/18/rotation = Quaternion(-2.29017e-08, -0.00785732, 3.30149e-08, 0.999969)
|
||||
bones/19/position = Vector3(-1.27748e-08, 0.225719, 1.12004e-08)
|
||||
bones/19/rotation = Quaternion(-0.682229, -0.0281607, -0.00115883, 0.730596)
|
||||
bones/20/position = Vector3(-1.30142e-08, 0.139877, -2.77457e-09)
|
||||
bones/20/rotation = Quaternion(-9.96472e-05, 0.967461, -0.253021, -0.000383039)
|
||||
bones/21/position = Vector3(0.0251286, 1.43502, 0.0453797)
|
||||
bones/21/rotation = Quaternion(-0.479038, -0.263849, -0.410476, 0.729669)
|
||||
bones/22/position = Vector3(0.190386, 1.4732, -0.0152245)
|
||||
bones/22/rotation = Quaternion(0.0321166, -0.162394, 0.975188, -0.146989)
|
||||
bones/23/position = Vector3(-5.41331e-09, 0.143946, -2.98023e-08)
|
||||
bones/23/rotation = Quaternion(1.64524e-08, -0.0303919, 5.87102e-08, 0.999538)
|
||||
bones/24/position = Vector3(-6.33301e-08, 0.143946, 4.3873e-08)
|
||||
bones/24/rotation = Quaternion(0.331879, -0.0303926, -0.0206683, 0.942606)
|
||||
bones/25/position = Vector3(1.30385e-08, 0.127601, 6.51926e-09)
|
||||
bones/25/rotation = Quaternion(1.49943e-07, -1.20606e-07, 9.91859e-08, 1)
|
||||
bones/26/position = Vector3(2.06034e-08, 0.127601, 2.42761e-08)
|
||||
bones/26/rotation = Quaternion(-0.00824883, -0.00027077, -0.0328667, 0.999426)
|
||||
bones/28/rotation = Quaternion(0.702583, -0.000939743, -0.00133552, 0.7116)
|
||||
bones/29/rotation = Quaternion(0.741121, 0.00218291, 0.00265381, 0.671363)
|
||||
bones/30/rotation = Quaternion(0.32527, 0.890055, 0.295977, -0.119997)
|
||||
bones/31/rotation = Quaternion(0.514882, -0.114149, 0.114482, 0.841879)
|
||||
bones/32/rotation = Quaternion(0.592003, -0.0381348, -0.090699, 0.799907)
|
||||
bones/34/position = Vector3(-0.00316938, 0.0987206, 0.0147918)
|
||||
bones/34/rotation = Quaternion(-0.0674699, 0.718446, 0.0663966, 0.689112)
|
||||
bones/35/rotation = Quaternion(0.580803, -0.000892135, -0.0014975, 0.814042)
|
||||
bones/36/rotation = Quaternion(0.682777, 0.00174509, 0.00256596, 0.73062)
|
||||
bones/37/rotation = Quaternion(-0.00426514, 0.736714, 0.0394785, 0.675038)
|
||||
bones/38/position = Vector3(-0.00622951, 0.0926415, -0.0236344)
|
||||
bones/38/rotation = Quaternion(-0.109873, 0.743351, 0.0333507, 0.658973)
|
||||
bones/39/rotation = Quaternion(0.630039, 0.00151959, 0.00237944, 0.776559)
|
||||
bones/40/rotation = Quaternion(0.652643, -0.00308142, -0.00421108, 0.757648)
|
||||
bones/41/rotation = Quaternion(-0.0684174, 0.72411, 0.0332337, 0.685478)
|
||||
bones/42/position = Vector3(-0.00715362, 0.0679857, -0.0481983)
|
||||
bones/42/rotation = Quaternion(-0.120913, 0.799109, 0.0358921, 0.587807)
|
||||
bones/43/rotation = Quaternion(0.498693, -0.0202705, -0.0256953, 0.866161)
|
||||
bones/44/rotation = Quaternion(0.715385, 0.035306, 0.0573145, 0.695481)
|
||||
bones/45/rotation = Quaternion(-0.129059, 0.728936, -0.0250259, 0.67184)
|
||||
bones/46/position = Vector3(-0.0113635, 1.43502, 0.0453797)
|
||||
bones/46/rotation = Quaternion(-0.486493, 0.247709, 0.399802, 0.73629)
|
||||
bones/47/position = Vector3(-0.173773, 1.47366, -0.0222159)
|
||||
bones/47/rotation = Quaternion(-0.0357016, -0.143575, 0.97546, 0.163062)
|
||||
bones/48/position = Vector3(1.88476e-07, 0.143946, 1.02445e-08)
|
||||
bones/48/rotation = Quaternion(-1.30634e-07, 0.0403754, -8.65587e-08, 0.999185)
|
||||
bones/49/position = Vector3(6.5191e-09, 0.143946, -1.95094e-08)
|
||||
bones/49/rotation = Quaternion(0.369655, 0.040376, 0.0286822, 0.927848)
|
||||
bones/50/position = Vector3(-1.48779e-07, 0.1276, 5.9139e-08)
|
||||
bones/50/rotation = Quaternion(-8.73115e-08, 2.7474e-08, -1.28057e-07, 1)
|
||||
bones/51/position = Vector3(1.9461e-07, 0.127601, 6.06248e-08)
|
||||
bones/51/rotation = Quaternion(-0.00824876, 0.000270832, 0.032867, 0.999426)
|
||||
bones/52/rotation = Quaternion(-0.2563, 0.855859, 0.0299184, -0.448241)
|
||||
bones/53/rotation = Quaternion(0.694912, 0.107145, -0.103549, 0.703488)
|
||||
bones/54/rotation = Quaternion(0.74112, -0.00218237, -0.00265409, 0.671363)
|
||||
bones/55/rotation = Quaternion(-0.325269, 0.890055, 0.295977, 0.119998)
|
||||
bones/56/rotation = Quaternion(0.514882, 0.11415, -0.114483, 0.841879)
|
||||
bones/57/rotation = Quaternion(0.592004, 0.0381346, 0.0906992, 0.799907)
|
||||
bones/59/position = Vector3(0.00316943, 0.0987207, 0.0147917)
|
||||
bones/59/rotation = Quaternion(0.138771, -0.704916, 0.15571, 0.677932)
|
||||
bones/60/rotation = Quaternion(0.579984, 0.0462615, -0.0308755, 0.812727)
|
||||
bones/61/rotation = Quaternion(0.682777, -0.00174718, -0.00256448, 0.73062)
|
||||
bones/62/rotation = Quaternion(-0.00426532, -0.736714, -0.0394788, 0.675038)
|
||||
bones/63/position = Vector3(0.00622955, 0.0926417, -0.0236344)
|
||||
bones/63/rotation = Quaternion(0.104095, -0.719607, 0.186262, 0.660784)
|
||||
bones/64/rotation = Quaternion(0.670693, 0.0163391, -0.0185663, 0.741323)
|
||||
bones/65/rotation = Quaternion(0.692499, 0.00330364, 0.00403917, 0.7214)
|
||||
bones/66/rotation = Quaternion(-0.0684178, -0.72411, -0.0332339, 0.685477)
|
||||
bones/67/position = Vector3(0.00715371, 0.0679859, -0.0481984)
|
||||
bones/67/rotation = Quaternion(0.108364, -0.768224, 0.166291, 0.608635)
|
||||
bones/68/rotation = Quaternion(0.629954, 0.0295149, 0.0177509, 0.775869)
|
||||
bones/69/rotation = Quaternion(0.816678, -0.0439534, -0.0509861, 0.573155)
|
||||
bones/70/rotation = Quaternion(-0.12906, -0.728937, 0.0250258, 0.67184)
|
||||
bones/71/position = Vector3(0.127191, 1.35504, -0.025184)
|
||||
bones/71/rotation = Quaternion(1.99291e-08, 0.603985, 0.796996, -4.6074e-08)
|
||||
bones/72/position = Vector3(-0.113426, 1.35504, -0.025184)
|
||||
bones/72/rotation = Quaternion(1.99291e-08, 0.603985, 0.796996, -4.60739e-08)
|
||||
|
||||
[node name="Knight_01" parent="CharacterRig/GameRig/Skeleton3D" index="0"]
|
||||
visible = false
|
||||
|
||||
[node name="Villager_01" parent="CharacterRig/GameRig/Skeleton3D" index="2"]
|
||||
visible = false
|
||||
|
||||
[node name="Villager_02" parent="CharacterRig/GameRig/Skeleton3D" index="3"]
|
||||
visible = false
|
||||
|
||||
[node name="AnimationTree" type="AnimationTree" parent="."]
|
||||
root_node = NodePath("../CharacterRig")
|
||||
tree_root = SubResource("AnimationNodeStateMachine_mq48a")
|
||||
anim_player = NodePath("../CharacterRig/AnimationPlayer")
|
||||
parameters/MoveSpace/blend_position = -1.0
|
||||
|
||||
[node name="RightHandBone" type="BoneAttachment3D" parent="."]
|
||||
transform = Transform3D(-0.962343, -0.270803, -0.023713, 0.229265, -0.855403, 0.464461, -0.146061, 0.441534, 0.885276, -0.34759, 1.00095, 0.00749419)
|
||||
bone_name = "DEF-hand.R"
|
||||
bone_idx = 51
|
||||
use_external_skeleton = true
|
||||
external_skeleton = NodePath("../CharacterRig/GameRig/Skeleton3D")
|
||||
|
||||
[node name="WeaponSlot" type="Node3D" parent="RightHandBone"]
|
||||
transform = Transform3D(0.16656, 0.0770401, -0.983017, -0.982939, 0.0918653, -0.159347, 0.078029, 0.992787, 0.0910268, -0.0211409, 0.0798348, 0.00721136)
|
||||
|
||||
[node name="longsword" parent="RightHandBone/WeaponSlot" instance=ExtResource("3_dka8l")]
|
||||
|
||||
[node name="LeftHandBone" type="BoneAttachment3D" parent="."]
|
||||
transform = Transform3D(-0.970514, 0.239108, 0.030521, -0.213985, -0.912909, 0.347574, 0.110971, 0.330795, 0.937155, 0.347196, 0.98554, -0.0228143)
|
||||
bone_name = "DEF-hand.L"
|
||||
bone_idx = 26
|
||||
use_external_skeleton = true
|
||||
external_skeleton = NodePath("../CharacterRig/GameRig/Skeleton3D")
|
||||
|
||||
[node name="OffHandSlot" type="Node3D" parent="LeftHandBone"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(0.10564, 0.417333, -0.902592, -0.99124, 0.116542, -0.0621291, 0.0792616, 0.90125, 0.425989, -0.084208, -0.04557, -0.025934)
|
||||
|
||||
[node name="tall_shield" parent="LeftHandBone/OffHandSlot" instance=ExtResource("4_i4vhj")]
|
||||
|
||||
[connection signal="animation_finished" from="AnimationTree" to="." method="_on_animation_tree_animation_finished"]
|
||||
|
||||
[editable path="CharacterRig"]
|
||||
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=36 format=3 uid="uid://dw0lbkh31rofd"]
|
||||
[gd_scene load_steps=38 format=3 uid="uid://dw0lbkh31rofd"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bmywk4wvcp0lr" path="res://addons/sky_3d/src/Sky3D.gd" id="1_1jhfv"]
|
||||
[ext_resource type="Texture2D" uid="uid://bpamrp14tk2cp" path="res://assets/textures/terrain/sand_albedo_height.png" id="1_7iny7"]
|
||||
@ -20,7 +20,9 @@
|
||||
[ext_resource type="PackedScene" uid="uid://cyhw4ocljvikh" path="res://src/scenes/ui/currency_icon.tscn" id="10_vltgv"]
|
||||
[ext_resource type="PackedScene" uid="uid://yp4mabfdyo6h" path="res://src/scenes/ui/armor_icon.tscn" id="11_b2fxt"]
|
||||
[ext_resource type="PackedScene" uid="uid://dbypidud1gcqw" path="res://src/scenes/ui/shield_icon.tscn" id="11_tbe37"]
|
||||
[ext_resource type="PackedScene" uid="uid://dfrxtkeqmshen" path="res://assets/models/character/gear/battleaxe.glb" id="12_50gno"]
|
||||
[ext_resource type="PackedScene" uid="uid://yyxkltwrme4l" path="res://src/scenes/ui/weapon_icon.tscn" id="12_htor1"]
|
||||
[ext_resource type="PackedScene" uid="uid://csdumqcs3kutf" path="res://assets/models/character/gear/short_shield.glb" id="12_nedwn"]
|
||||
[ext_resource type="PackedScene" uid="uid://jf0abtmnencg" path="res://src/scenes/environment/water.tscn" id="15_0slur"]
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_0eo66"]
|
||||
@ -119,7 +121,7 @@ sky_material = SubResource("PhysicalSkyMaterial_dn2un")
|
||||
background_mode = 2
|
||||
sky = SubResource("Sky_7iny7")
|
||||
ambient_light_source = 3
|
||||
ambient_light_color = Color(0.539954, 0.363854, 0.27832, 1)
|
||||
ambient_light_color = Color(1, 1, 1, 1)
|
||||
reflected_light_source = 2
|
||||
tonemap_mode = 3
|
||||
tonemap_white = 6.0
|
||||
@ -183,16 +185,33 @@ transform = Transform3D(0.787989, 0, 0.615689, 0, 1, 0, -0.615689, 0, 0.787989,
|
||||
|
||||
[node name="ArmorIcon" parent="Interactible/Chest2" instance=ExtResource("11_b2fxt")]
|
||||
visible = false
|
||||
power = 10
|
||||
protection = 10
|
||||
armor = 1
|
||||
|
||||
[node name="ArmorIcon2" parent="Interactible/Chest2" instance=ExtResource("11_b2fxt")]
|
||||
visible = false
|
||||
protection = 5
|
||||
|
||||
[node name="WeaponIcon" parent="Interactible/Chest2" instance=ExtResource("12_htor1")]
|
||||
visible = false
|
||||
power = 12
|
||||
|
||||
[node name="ShieldIcon" parent="Interactible/Chest2" instance=ExtResource("11_tbe37")]
|
||||
visible = false
|
||||
protection = 25
|
||||
|
||||
[node name="WeaponIcon2" parent="Interactible/Chest2" instance=ExtResource("12_htor1")]
|
||||
visible = false
|
||||
item_name = "Battleaxe"
|
||||
power = 200
|
||||
item_model = ExtResource("12_50gno")
|
||||
|
||||
[node name="ShieldIcon2" parent="Interactible/Chest2" instance=ExtResource("11_tbe37")]
|
||||
visible = false
|
||||
item_name = "Short Shield"
|
||||
protection = 12
|
||||
item_model = ExtResource("12_nedwn")
|
||||
|
||||
[node name="NavigationRegion3D" type="NavigationRegion3D" parent="."]
|
||||
navigation_mesh = ExtResource("1_juj6f")
|
||||
|
||||
@ -207,13 +226,12 @@ metadata/_edit_lock_ = true
|
||||
environment = SubResource("Environment_cxs0p")
|
||||
camera_attributes = SubResource("CameraAttributesPractical_0slur")
|
||||
script = ExtResource("1_1jhfv")
|
||||
current_time = 6.91
|
||||
current_time = 12.0
|
||||
reflected_energy = 4.0
|
||||
metadata/_custom_type_script = "uid://bmywk4wvcp0lr"
|
||||
|
||||
[node name="SunLight" type="DirectionalLight3D" parent="Sky3D"]
|
||||
transform = Transform3D(0, -0.466727, 0.884402, 0.957378, 0.255448, 0.134808, -0.288837, 0.846707, 0.446834, 0.884402, 0.134808, 0.446834)
|
||||
light_color = Color(0.985392, 0.651607, 0.484349, 1)
|
||||
transform = Transform3D(0, -0.999334, -0.0365005, 0.630711, -0.0283251, 0.775501, -0.776018, -0.0230213, 0.63029, -0.0365004, 0.775501, 0.63029)
|
||||
shadow_enabled = true
|
||||
directional_shadow_blend_splits = true
|
||||
|
||||
@ -233,8 +251,8 @@ ground_color = Color(0.3, 0.3, 0.3, 1)
|
||||
sky_layers = 4
|
||||
sky_render_priority = -128
|
||||
horizon_level = 0.0
|
||||
sun_altitude = -82.2525
|
||||
sun_azimuth = -116.805
|
||||
sun_altitude = -39.1495
|
||||
sun_azimuth = -183.314
|
||||
sun_disk_color = Color(0.996094, 0.541334, 0.140076, 1)
|
||||
sun_disk_intensity = 2.0
|
||||
sun_disk_size = 0.015
|
||||
@ -242,8 +260,8 @@ sun_light_path = NodePath("../SunLight")
|
||||
sun_light_color = Color(1, 1, 1, 1)
|
||||
sun_horizon_light_color = Color(0.98, 0.523, 0.294, 1)
|
||||
sun_light_energy = 1.0
|
||||
moon_altitude = -84.5215
|
||||
moon_azimuth = -295.966
|
||||
moon_altitude = -136.152
|
||||
moon_azimuth = -346.24
|
||||
moon_color = Color(1, 1, 1, 1)
|
||||
moon_size = 0.07
|
||||
enable_set_moon_texture = false
|
||||
@ -251,7 +269,7 @@ moon_resolution = 2
|
||||
moon_light_path = NodePath("../MoonLight")
|
||||
moon_light_color = Color(0.572549, 0.776471, 0.956863, 1)
|
||||
moon_light_energy = 0.3
|
||||
deep_space_euler = Vector3(1.29154, 3.14159, 2.64477)
|
||||
deep_space_euler = Vector3(1.29154, 3.14159, 1.34794)
|
||||
background_color = Color(0.709804, 0.709804, 0.709804, 0.854902)
|
||||
set_background_texture = false
|
||||
stars_field_color = Color(1, 1, 1, 1)
|
||||
@ -320,7 +338,7 @@ update_in_editor = false
|
||||
dome_path = NodePath("../Skydome")
|
||||
system_sync = false
|
||||
total_cycle_in_minutes = 15.0
|
||||
total_hours = 6.91
|
||||
total_hours = 12.0
|
||||
day = 1
|
||||
month = 1
|
||||
year = 2025
|
||||
|
||||
41
src/scenes/main.tscn83819848558.tmp
Normal file
41
src/scenes/main.tscn83819848558.tmp
Normal file
@ -0,0 +1,41 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://cd3upe4xetlgl"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b2ec1cajpfusg" path="res://src/scripts/network/multiplayer.gd" id="1_rr2wm"]
|
||||
|
||||
[node name="Main" type="Node"]
|
||||
script = ExtResource("1_rr2wm")
|
||||
|
||||
[node name="Level" type="Node" parent="."]
|
||||
|
||||
[node name="LevelSpawner" type="MultiplayerSpawner" parent="."]
|
||||
_spawnable_scenes = PackedStringArray("uid://dw0lbkh31rofd")
|
||||
spawn_path = NodePath("../Level")
|
||||
spawn_limit = 1
|
||||
|
||||
[node name="UI" type="MarginContainer" parent="."]
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -22.0
|
||||
offset_top = -15.5
|
||||
offset_right = 22.0
|
||||
offset_bottom = 15.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="UI"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 16
|
||||
|
||||
[node name="Host" type="Button" parent="UI/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Host"
|
||||
|
||||
[node name="Join" type="Button" parent="UI/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Join"
|
||||
|
||||
[connection signal="pressed" from="UI/VBoxContainer/Host" to="." method="_on_host_pressed"]
|
||||
[connection signal="pressed" from="UI/VBoxContainer/Join" to="." method="_on_join_pressed"]
|
||||
41
src/scenes/main.tscn83823768669.tmp
Normal file
41
src/scenes/main.tscn83823768669.tmp
Normal file
@ -0,0 +1,41 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://cd3upe4xetlgl"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b2ec1cajpfusg" path="res://src/scripts/network/multiplayer.gd" id="1_rr2wm"]
|
||||
|
||||
[node name="Main" type="Node"]
|
||||
script = ExtResource("1_rr2wm")
|
||||
|
||||
[node name="Level" type="Node" parent="."]
|
||||
|
||||
[node name="LevelSpawner" type="MultiplayerSpawner" parent="."]
|
||||
_spawnable_scenes = PackedStringArray("uid://dw0lbkh31rofd")
|
||||
spawn_path = NodePath("../Level")
|
||||
spawn_limit = 1
|
||||
|
||||
[node name="UI" type="MarginContainer" parent="."]
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -22.0
|
||||
offset_top = -15.5
|
||||
offset_right = 22.0
|
||||
offset_bottom = 15.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="UI"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 16
|
||||
|
||||
[node name="Host" type="Button" parent="UI/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Host"
|
||||
|
||||
[node name="Join" type="Button" parent="UI/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Join"
|
||||
|
||||
[connection signal="pressed" from="UI/VBoxContainer/Host" to="." method="_on_host_pressed"]
|
||||
[connection signal="pressed" from="UI/VBoxContainer/Join" to="." method="_on_join_pressed"]
|
||||
@ -5,5 +5,5 @@
|
||||
|
||||
[node name="ArmorIcon" instance=ExtResource("1_djls0")]
|
||||
script = ExtResource("2_f0yql")
|
||||
power = 0
|
||||
protection = 0
|
||||
armor = 0
|
||||
|
||||
@ -130,7 +130,7 @@ horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="SubViewportContainer" type="SubViewportContainer" parent="MarginContainer/VBoxContainer/HBoxContainer"]
|
||||
custom_minimum_size = Vector2(512, 0)
|
||||
custom_minimum_size = Vector2(800, 0)
|
||||
layout_mode = 2
|
||||
stretch = true
|
||||
|
||||
@ -138,7 +138,7 @@ stretch = true
|
||||
world_3d = SubResource("World3D_tfrle")
|
||||
transparent_bg = true
|
||||
handle_input_locally = false
|
||||
size = Vector2i(512, 1228)
|
||||
size = Vector2i(800, 1228)
|
||||
render_target_update_mode = 4
|
||||
|
||||
[node name="Rig" parent="MarginContainer/VBoxContainer/HBoxContainer/SubViewportContainer/SubViewport" instance=ExtResource("5_dryat")]
|
||||
@ -163,6 +163,7 @@ theme_override_styles/panel = ExtResource("3_qcfrv")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 24
|
||||
|
||||
[node name="LevelLabel" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
@ -300,3 +301,53 @@ size_flags_horizontal = 3
|
||||
text = "0"
|
||||
label_settings = SubResource("LabelSettings_tfrle")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="ArmorProtectionLabel" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "Armor protection"
|
||||
label_settings = SubResource("LabelSettings_dryat")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="ArmorProtectionValue" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/HBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "0"
|
||||
label_settings = SubResource("LabelSettings_tfrle")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="HSeparator" type="HSeparator" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="EquipmentLabel" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Equipment"
|
||||
label_settings = SubResource("LabelSettings_31epi")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="EquipmentSlotGrid" type="GridContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 2
|
||||
columns = 3
|
||||
|
||||
[node name="WeaponSlot" type="CenterContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/EquipmentSlotGrid"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(100, 100)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 6
|
||||
size_flags_vertical = 6
|
||||
|
||||
[node name="ShieldSlot" type="CenterContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/EquipmentSlotGrid"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(100, 100)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 6
|
||||
size_flags_vertical = 6
|
||||
|
||||
[node name="ArmorSlot" type="CenterContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/EquipmentSlotGrid"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(100, 100)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 6
|
||||
size_flags_vertical = 6
|
||||
|
||||
353
src/scenes/ui/inventory.tscn82838248093.tmp
Normal file
353
src/scenes/ui/inventory.tscn82838248093.tmp
Normal file
@ -0,0 +1,353 @@
|
||||
[gd_scene load_steps=17 format=3 uid="uid://csadps2at3npv"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dhvatbbng4411" path="res://assets/ui/window/window_header.png" id="1_0708f"]
|
||||
[ext_resource type="Script" uid="uid://ccmiaof7tpjxn" path="res://src/scripts/ui/inventory.gd" id="1_ylnvo"]
|
||||
[ext_resource type="FontFile" uid="uid://sua821wsaeli" path="res://assets/fonts/Candara_Bold.ttf" id="2_apwy2"]
|
||||
[ext_resource type="StyleBox" uid="uid://copt367rq3lyr" path="res://src/resources/ui/ui_panel.tres" id="3_qcfrv"]
|
||||
[ext_resource type="Texture2D" uid="uid://dd48efbhydh3d" path="res://assets/ui/icons/spell_slot_empty_icon.png" id="4_16ir6"]
|
||||
[ext_resource type="PackedScene" uid="uid://ckwydalda0teo" path="res://src/scenes/characters/rig.tscn" id="5_dryat"]
|
||||
[ext_resource type="Texture2D" uid="uid://byfgyey43cxxl" path="res://assets/ui/window/NumberFrame.png" id="5_tfrle"]
|
||||
[ext_resource type="FontFile" uid="uid://d3s081dnj7ea4" path="res://assets/fonts/Candara_Italic.ttf" id="5_ylnvo"]
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_s4y2v"]
|
||||
colors = PackedColorArray(0.0941176, 0.101961, 0.133333, 1, 0.0185326, 0.0209737, 0.0325612, 1)
|
||||
|
||||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_0708f"]
|
||||
gradient = SubResource("Gradient_s4y2v")
|
||||
fill_to = Vector2(0, 1)
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_qcfrv"]
|
||||
font = ExtResource("2_apwy2")
|
||||
font_size = 48
|
||||
font_color = Color(0.835294, 0.627451, 0.356863, 1)
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_tfrle"]
|
||||
font = ExtResource("2_apwy2")
|
||||
font_size = 32
|
||||
font_color = Color(0.835294, 0.627451, 0.356863, 1)
|
||||
shadow_color = Color(0, 0, 0, 1)
|
||||
|
||||
[sub_resource type="Environment" id="Environment_dryat"]
|
||||
|
||||
[sub_resource type="World3D" id="World3D_tfrle"]
|
||||
environment = SubResource("Environment_dryat")
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_31epi"]
|
||||
font = ExtResource("2_apwy2")
|
||||
font_size = 36
|
||||
font_color = Color(0.835294, 0.627451, 0.356863, 1)
|
||||
shadow_color = Color(0, 0, 0, 1)
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_dryat"]
|
||||
font = ExtResource("5_ylnvo")
|
||||
font_size = 24
|
||||
|
||||
[node name="Inventory" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_ylnvo")
|
||||
|
||||
[node name="BackgroundGradient" type="TextureRect" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = SubResource("GradientTexture2D_0708f")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_constants/margin_left = 32
|
||||
theme_override_constants/margin_top = 32
|
||||
theme_override_constants/margin_right = 32
|
||||
theme_override_constants/margin_bottom = 32
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="HeaderRect" type="TextureRect" parent="MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
texture = ExtResource("1_0708f")
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="Label" type="Label" parent="MarginContainer/VBoxContainer/HeaderRect"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
text = "Inventory"
|
||||
label_settings = SubResource("LabelSettings_qcfrv")
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_override_constants/separation = 0
|
||||
|
||||
[node name="HeldItems" type="PanelContainer" parent="MarginContainer/VBoxContainer/HBoxContainer"]
|
||||
custom_minimum_size = Vector2(960, 0)
|
||||
layout_mode = 2
|
||||
theme_override_styles/panel = ExtResource("3_qcfrv")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/HeldItems"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="ItemsGrid" type="GridContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/HeldItems/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
columns = 7
|
||||
|
||||
[node name="GoldFrame" type="TextureRect" parent="MarginContainer/VBoxContainer/HBoxContainer/HeldItems/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 8
|
||||
texture = ExtResource("5_tfrle")
|
||||
|
||||
[node name="GoldLabel" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/HeldItems/VBoxContainer/GoldFrame"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
text = "0g"
|
||||
label_settings = SubResource("LabelSettings_tfrle")
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="SubViewportContainer" type="SubViewportContainer" parent="MarginContainer/VBoxContainer/HBoxContainer"]
|
||||
custom_minimum_size = Vector2(800, 0)
|
||||
layout_mode = 2
|
||||
stretch = true
|
||||
|
||||
[node name="SubViewport" type="SubViewport" parent="MarginContainer/VBoxContainer/HBoxContainer/SubViewportContainer"]
|
||||
world_3d = SubResource("World3D_tfrle")
|
||||
transparent_bg = true
|
||||
handle_input_locally = false
|
||||
size = Vector2i(800, 1228)
|
||||
render_target_update_mode = 4
|
||||
|
||||
[node name="Rig" parent="MarginContainer/VBoxContainer/HBoxContainer/SubViewportContainer/SubViewport" instance=ExtResource("5_dryat")]
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="MarginContainer/VBoxContainer/HBoxContainer/SubViewportContainer/SubViewport"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 3)
|
||||
fov = 50.8
|
||||
|
||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="MarginContainer/VBoxContainer/HBoxContainer/SubViewportContainer/SubViewport"]
|
||||
transform = Transform3D(-0.866023, -0.433016, 0.250001, 0.498707, -0.712081, 0.494198, -0.0359752, 0.552664, 0.832627, 0, 0, 0)
|
||||
shadow_enabled = true
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer/HBoxContainer"]
|
||||
custom_minimum_size = Vector2(384, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="CharacterSheet" type="PanelContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_override_styles/panel = ExtResource("3_qcfrv")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 24
|
||||
|
||||
[node name="LevelLabel" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "Level 1"
|
||||
label_settings = SubResource("LabelSettings_31epi")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="GridContainer" type="GridContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
columns = 2
|
||||
|
||||
[node name="Attribute1" type="TextureRect" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 6
|
||||
texture = ExtResource("4_16ir6")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer/Attribute1"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 14
|
||||
anchor_top = 0.5
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 0.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="AttributeName" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer/Attribute1/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Strength"
|
||||
label_settings = SubResource("LabelSettings_dryat")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="StrengthScore" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer/Attribute1/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "0"
|
||||
label_settings = SubResource("LabelSettings_tfrle")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Attribute2" type="TextureRect" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 6
|
||||
texture = ExtResource("4_16ir6")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer/Attribute2"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 14
|
||||
anchor_top = 0.5
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 0.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="AttributeName" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer/Attribute2/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Agility"
|
||||
label_settings = SubResource("LabelSettings_dryat")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="AgilityScore" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer/Attribute2/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "0"
|
||||
label_settings = SubResource("LabelSettings_tfrle")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Attribute3" type="TextureRect" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 6
|
||||
texture = ExtResource("4_16ir6")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer/Attribute3"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 14
|
||||
anchor_top = 0.5
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 0.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="AttributeName" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer/Attribute3/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Speed"
|
||||
label_settings = SubResource("LabelSettings_dryat")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="SpeedScore" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer/Attribute3/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "0"
|
||||
label_settings = SubResource("LabelSettings_tfrle")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Attribute4" type="TextureRect" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 6
|
||||
texture = ExtResource("4_16ir6")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer/Attribute4"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 14
|
||||
anchor_top = 0.5
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 0.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="AttributeName" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer/Attribute4/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Endurance"
|
||||
label_settings = SubResource("LabelSettings_dryat")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="EnduranceScore" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer/Attribute4/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "0"
|
||||
label_settings = SubResource("LabelSettings_tfrle")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="AttackDamageLabel" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "Attack damage"
|
||||
label_settings = SubResource("LabelSettings_dryat")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="AttackDamageValue" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/HBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "0"
|
||||
label_settings = SubResource("LabelSettings_tfrle")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="ArmorProtectionLabel" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "Armor protection"
|
||||
label_settings = SubResource("LabelSettings_dryat")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="ArmorProtectionValue" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/HBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "0"
|
||||
label_settings = SubResource("LabelSettings_tfrle")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="HSeparator" type="HSeparator" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="EquipmentLabel" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Equipment"
|
||||
label_settings = SubResource("LabelSettings_31epi")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="EquipmentSlotGrid" type="GridContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 2
|
||||
columns = 3
|
||||
|
||||
[node name="WeaponSlot" type="CenterContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/EquipmentSlotGrid"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(100, 100)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 6
|
||||
size_flags_vertical = 6
|
||||
|
||||
[node name="ShieldSlot" type="CenterContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/EquipmentSlotGrid"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(100, 100)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 6
|
||||
size_flags_vertical = 6
|
||||
|
||||
[node name="ArmorSlot" type="CenterContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/EquipmentSlotGrid"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(100, 100)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 6
|
||||
size_flags_vertical = 6
|
||||
353
src/scenes/ui/inventory.tscn83658394838.tmp
Normal file
353
src/scenes/ui/inventory.tscn83658394838.tmp
Normal file
@ -0,0 +1,353 @@
|
||||
[gd_scene load_steps=17 format=3 uid="uid://csadps2at3npv"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dhvatbbng4411" path="res://assets/ui/window/window_header.png" id="1_0708f"]
|
||||
[ext_resource type="Script" uid="uid://ccmiaof7tpjxn" path="res://src/scripts/ui/inventory.gd" id="1_ylnvo"]
|
||||
[ext_resource type="FontFile" uid="uid://sua821wsaeli" path="res://assets/fonts/Candara_Bold.ttf" id="2_apwy2"]
|
||||
[ext_resource type="StyleBox" uid="uid://copt367rq3lyr" path="res://src/resources/ui/ui_panel.tres" id="3_qcfrv"]
|
||||
[ext_resource type="Texture2D" uid="uid://dd48efbhydh3d" path="res://assets/ui/icons/spell_slot_empty_icon.png" id="4_16ir6"]
|
||||
[ext_resource type="PackedScene" uid="uid://ckwydalda0teo" path="res://src/scenes/characters/rig.tscn" id="5_dryat"]
|
||||
[ext_resource type="Texture2D" uid="uid://byfgyey43cxxl" path="res://assets/ui/window/NumberFrame.png" id="5_tfrle"]
|
||||
[ext_resource type="FontFile" uid="uid://d3s081dnj7ea4" path="res://assets/fonts/Candara_Italic.ttf" id="5_ylnvo"]
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_s4y2v"]
|
||||
colors = PackedColorArray(0.0941176, 0.101961, 0.133333, 1, 0.0185326, 0.0209737, 0.0325612, 1)
|
||||
|
||||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_0708f"]
|
||||
gradient = SubResource("Gradient_s4y2v")
|
||||
fill_to = Vector2(0, 1)
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_qcfrv"]
|
||||
font = ExtResource("2_apwy2")
|
||||
font_size = 48
|
||||
font_color = Color(0.835294, 0.627451, 0.356863, 1)
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_tfrle"]
|
||||
font = ExtResource("2_apwy2")
|
||||
font_size = 32
|
||||
font_color = Color(0.835294, 0.627451, 0.356863, 1)
|
||||
shadow_color = Color(0, 0, 0, 1)
|
||||
|
||||
[sub_resource type="Environment" id="Environment_dryat"]
|
||||
|
||||
[sub_resource type="World3D" id="World3D_tfrle"]
|
||||
environment = SubResource("Environment_dryat")
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_31epi"]
|
||||
font = ExtResource("2_apwy2")
|
||||
font_size = 36
|
||||
font_color = Color(0.835294, 0.627451, 0.356863, 1)
|
||||
shadow_color = Color(0, 0, 0, 1)
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_dryat"]
|
||||
font = ExtResource("5_ylnvo")
|
||||
font_size = 24
|
||||
|
||||
[node name="Inventory" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_ylnvo")
|
||||
|
||||
[node name="BackgroundGradient" type="TextureRect" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = SubResource("GradientTexture2D_0708f")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_constants/margin_left = 32
|
||||
theme_override_constants/margin_top = 32
|
||||
theme_override_constants/margin_right = 32
|
||||
theme_override_constants/margin_bottom = 32
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="HeaderRect" type="TextureRect" parent="MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
texture = ExtResource("1_0708f")
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="Label" type="Label" parent="MarginContainer/VBoxContainer/HeaderRect"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
text = "Inventory"
|
||||
label_settings = SubResource("LabelSettings_qcfrv")
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_override_constants/separation = 0
|
||||
|
||||
[node name="HeldItems" type="PanelContainer" parent="MarginContainer/VBoxContainer/HBoxContainer"]
|
||||
custom_minimum_size = Vector2(960, 0)
|
||||
layout_mode = 2
|
||||
theme_override_styles/panel = ExtResource("3_qcfrv")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/HeldItems"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="ItemsGrid" type="GridContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/HeldItems/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
columns = 7
|
||||
|
||||
[node name="GoldFrame" type="TextureRect" parent="MarginContainer/VBoxContainer/HBoxContainer/HeldItems/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 8
|
||||
texture = ExtResource("5_tfrle")
|
||||
|
||||
[node name="GoldLabel" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/HeldItems/VBoxContainer/GoldFrame"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
text = "0g"
|
||||
label_settings = SubResource("LabelSettings_tfrle")
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="SubViewportContainer" type="SubViewportContainer" parent="MarginContainer/VBoxContainer/HBoxContainer"]
|
||||
custom_minimum_size = Vector2(800, 0)
|
||||
layout_mode = 2
|
||||
stretch = true
|
||||
|
||||
[node name="SubViewport" type="SubViewport" parent="MarginContainer/VBoxContainer/HBoxContainer/SubViewportContainer"]
|
||||
world_3d = SubResource("World3D_tfrle")
|
||||
transparent_bg = true
|
||||
handle_input_locally = false
|
||||
size = Vector2i(800, 1228)
|
||||
render_target_update_mode = 4
|
||||
|
||||
[node name="Rig" parent="MarginContainer/VBoxContainer/HBoxContainer/SubViewportContainer/SubViewport" instance=ExtResource("5_dryat")]
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="MarginContainer/VBoxContainer/HBoxContainer/SubViewportContainer/SubViewport"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 3)
|
||||
fov = 50.8
|
||||
|
||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="MarginContainer/VBoxContainer/HBoxContainer/SubViewportContainer/SubViewport"]
|
||||
transform = Transform3D(-0.866023, -0.433016, 0.250001, 0.498707, -0.712081, 0.494198, -0.0359752, 0.552664, 0.832627, 0, 0, 0)
|
||||
shadow_enabled = true
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer/HBoxContainer"]
|
||||
custom_minimum_size = Vector2(384, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="CharacterSheet" type="PanelContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_override_styles/panel = ExtResource("3_qcfrv")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 24
|
||||
|
||||
[node name="LevelLabel" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "Level 1"
|
||||
label_settings = SubResource("LabelSettings_31epi")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="GridContainer" type="GridContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
columns = 2
|
||||
|
||||
[node name="Attribute1" type="TextureRect" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 6
|
||||
texture = ExtResource("4_16ir6")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer/Attribute1"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 14
|
||||
anchor_top = 0.5
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 0.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="AttributeName" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer/Attribute1/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Strength"
|
||||
label_settings = SubResource("LabelSettings_dryat")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="StrengthScore" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer/Attribute1/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "0"
|
||||
label_settings = SubResource("LabelSettings_tfrle")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Attribute2" type="TextureRect" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 6
|
||||
texture = ExtResource("4_16ir6")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer/Attribute2"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 14
|
||||
anchor_top = 0.5
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 0.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="AttributeName" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer/Attribute2/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Agility"
|
||||
label_settings = SubResource("LabelSettings_dryat")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="AgilityScore" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer/Attribute2/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "0"
|
||||
label_settings = SubResource("LabelSettings_tfrle")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Attribute3" type="TextureRect" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 6
|
||||
texture = ExtResource("4_16ir6")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer/Attribute3"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 14
|
||||
anchor_top = 0.5
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 0.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="AttributeName" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer/Attribute3/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Speed"
|
||||
label_settings = SubResource("LabelSettings_dryat")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="SpeedScore" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer/Attribute3/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "0"
|
||||
label_settings = SubResource("LabelSettings_tfrle")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Attribute4" type="TextureRect" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 6
|
||||
texture = ExtResource("4_16ir6")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer/Attribute4"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 14
|
||||
anchor_top = 0.5
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 0.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="AttributeName" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer/Attribute4/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Endurance"
|
||||
label_settings = SubResource("LabelSettings_dryat")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="EnduranceScore" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/GridContainer/Attribute4/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "0"
|
||||
label_settings = SubResource("LabelSettings_tfrle")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="AttackDamageLabel" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "Attack damage"
|
||||
label_settings = SubResource("LabelSettings_dryat")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="AttackDamageValue" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/HBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "0"
|
||||
label_settings = SubResource("LabelSettings_tfrle")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="ArmorProtectionLabel" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "Armor protection"
|
||||
label_settings = SubResource("LabelSettings_dryat")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="ArmorProtectionValue" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/HBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "0"
|
||||
label_settings = SubResource("LabelSettings_tfrle")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="HSeparator" type="HSeparator" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="EquipmentLabel" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Equipment"
|
||||
label_settings = SubResource("LabelSettings_31epi")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="EquipmentSlotGrid" type="GridContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 2
|
||||
columns = 3
|
||||
|
||||
[node name="WeaponSlot" type="CenterContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/EquipmentSlotGrid"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(100, 100)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 6
|
||||
size_flags_vertical = 6
|
||||
|
||||
[node name="ShieldSlot" type="CenterContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/EquipmentSlotGrid"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(100, 100)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 6
|
||||
size_flags_vertical = 6
|
||||
|
||||
[node name="ArmorSlot" type="CenterContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/CharacterSheet/VBoxContainer/EquipmentSlotGrid"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(100, 100)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 6
|
||||
size_flags_vertical = 6
|
||||
83
src/scenes/ui/loot_container_display.tscn84322285775.tmp
Normal file
83
src/scenes/ui/loot_container_display.tscn84322285775.tmp
Normal file
@ -0,0 +1,83 @@
|
||||
[gd_scene load_steps=9 format=3 uid="uid://b8r1w3tush5ue"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://depcr1bjlbfo4" path="res://src/scripts/ui/loot_container_display.gd" id="1_pfyrf"]
|
||||
[ext_resource type="StyleBox" uid="uid://copt367rq3lyr" path="res://src/resources/ui/ui_panel.tres" id="2_lvx26"]
|
||||
[ext_resource type="Texture2D" uid="uid://dhvatbbng4411" path="res://assets/ui/window/window_header.png" id="3_s2tg5"]
|
||||
[ext_resource type="FontFile" uid="uid://sua821wsaeli" path="res://assets/fonts/Candara_Bold.ttf" id="4_0a0ik"]
|
||||
[ext_resource type="Texture2D" uid="uid://bhwo6wc0xooyv" path="res://assets/ui/button/button.png" id="5_c6yad"]
|
||||
[ext_resource type="Texture2D" uid="uid://sy6pbgn2gaqq" path="res://assets/ui/button/button_press.png" id="6_07kgi"]
|
||||
[ext_resource type="Texture2D" uid="uid://xl4dmewy7fpf" path="res://assets/ui/button/button_hover.png" id="7_1ikc2"]
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_g5kcc"]
|
||||
font = ExtResource("4_0a0ik")
|
||||
font_size = 22
|
||||
shadow_color = Color(0, 0, 0, 1)
|
||||
|
||||
[node name="LootContainerDisplay" type="CenterContainer"]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_pfyrf")
|
||||
|
||||
[node name="PanelContainer" type="PanelContainer" parent="."]
|
||||
layout_mode = 2
|
||||
theme_override_styles/panel = ExtResource("2_lvx26")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="TitleTexture" type="TextureRect" parent="PanelContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
texture = ExtResource("3_s2tg5")
|
||||
expand_mode = 5
|
||||
|
||||
[node name="TitleLabel" type="Label" parent="PanelContainer/VBoxContainer/TitleTexture"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
text = "Chest"
|
||||
label_settings = SubResource("LabelSettings_g5kcc")
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="GridContainer" type="GridContainer" parent="PanelContainer/VBoxContainer"]
|
||||
custom_minimum_size = Vector2(512, 256)
|
||||
layout_mode = 2
|
||||
columns = 4
|
||||
|
||||
[node name="CloseButton" type="TextureButton" parent="PanelContainer/VBoxContainer"]
|
||||
custom_minimum_size = Vector2(200, 80)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
texture_normal = ExtResource("5_c6yad")
|
||||
texture_pressed = ExtResource("6_07kgi")
|
||||
texture_hover = ExtResource("7_1ikc2")
|
||||
ignore_texture_size = true
|
||||
stretch_mode = 4
|
||||
|
||||
[node name="Label" type="Label" parent="PanelContainer/VBoxContainer/CloseButton"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -16.5
|
||||
offset_top = -8.5
|
||||
offset_right = 16.5
|
||||
offset_bottom = 8.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
text = "Close"
|
||||
label_settings = SubResource("LabelSettings_g5kcc")
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[connection signal="pressed" from="PanelContainer/VBoxContainer/CloseButton" to="." method="close"]
|
||||
@ -2,7 +2,7 @@ extends Node3D
|
||||
|
||||
const DAMAGE_NUMBER = preload("res://src/scenes/ui/damage_number.tscn")
|
||||
|
||||
func spawn_damage_number(damage: int, position_in: Vector3, is_critical: bool) -> void:
|
||||
var number = DAMAGE_NUMBER.instantiate()
|
||||
func spawn_damage_number(damage: float, position_in: Vector3, is_critical: bool) -> void:
|
||||
var number: Node3D = DAMAGE_NUMBER.instantiate()
|
||||
number.setup(damage, position_in, is_critical)
|
||||
add_child(number)
|
||||
|
||||
@ -2,8 +2,13 @@ extends ShapeCast3D
|
||||
|
||||
func deal_damage(damage: float, crit_chance: float) -> void:
|
||||
for collision_id in get_collision_count():
|
||||
var is_critical = randf() <= crit_chance
|
||||
var collider = get_collider(collision_id)
|
||||
var is_critical: bool = randf() <= crit_chance
|
||||
var collider: Object = get_collider(collision_id)
|
||||
|
||||
if collider is Player or collider is Enemy:
|
||||
if collider is Player:
|
||||
var protection: float = collider.ui.inventory.get_armor_protection() / 100.0
|
||||
var damage_reduction: float = damage * protection
|
||||
damage -= damage_reduction
|
||||
collider.health_component.take_damage(damage, is_critical)
|
||||
elif collider is Enemy:
|
||||
collider.health_component.take_damage(damage, is_critical)
|
||||
|
||||
@ -4,8 +4,8 @@ func deal_damage(damage: float, crit_chance: float) -> void:
|
||||
if !is_colliding():
|
||||
return
|
||||
|
||||
var is_critical = randf() <= crit_chance
|
||||
var collider = get_collider()
|
||||
var is_critical: bool = randf() <= crit_chance
|
||||
var collider: Object = get_collider()
|
||||
|
||||
if collider is Enemy:
|
||||
collider.health_component.take_damage(damage, is_critical)
|
||||
|
||||
@ -7,7 +7,7 @@ enum State {
|
||||
}
|
||||
|
||||
var player: Player
|
||||
var current_state = State.IDLE
|
||||
var current_state: State = State.IDLE
|
||||
|
||||
@export var max_health: float = 20.0
|
||||
@export var xp_value: int = 30
|
||||
@ -27,7 +27,7 @@ var current_state = State.IDLE
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
var mesh = rig.villager_meshes.pick_random()
|
||||
var mesh: MeshInstance3D = rig.villager_meshes.pick_random()
|
||||
rig.set_active_mesh(mesh)
|
||||
rig.equip_offhand(off_hand_items.pick_random())
|
||||
health_component.update_max_health(max_health)
|
||||
@ -59,7 +59,7 @@ func _physics_process(delta: float) -> void:
|
||||
|
||||
func check_for_player() -> bool:
|
||||
for collision_id in player_detector_pursue.get_collision_count():
|
||||
var collider = player_detector_pursue.get_collider(collision_id)
|
||||
var collider: Object = player_detector_pursue.get_collider(collision_id)
|
||||
if collider is Player:
|
||||
timer.start(5)
|
||||
player = collider
|
||||
@ -69,7 +69,7 @@ func check_for_player() -> bool:
|
||||
|
||||
func check_for_attacks() -> void:
|
||||
for collision_id in player_detector_attack.get_collision_count():
|
||||
var collider = player_detector_attack.get_collider(collision_id)
|
||||
var collider: Object = player_detector_attack.get_collider(collision_id)
|
||||
if collider is Player:
|
||||
rig.playback.travel("Overhead")
|
||||
navigation_agent.avoidance_mask = 0
|
||||
@ -93,8 +93,8 @@ func orient_rig(target_position: Vector3) -> void:
|
||||
rig.look_at(target_position, Vector3.UP, true)
|
||||
|
||||
func get_local_navigation_direction() -> Vector3:
|
||||
var destination = navigation_agent.get_next_path_position()
|
||||
var local_destination = destination - global_position
|
||||
var destination: Vector3 = navigation_agent.get_next_path_position()
|
||||
var local_destination: Vector3 = destination - global_position
|
||||
return local_destination.normalized()
|
||||
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@ func update_max_health(max_hp_in: float) -> void:
|
||||
current_health = max_health
|
||||
|
||||
func take_damage(damage_in: float, is_critical: bool) -> void:
|
||||
var damage = damage_in
|
||||
var damage: float = damage_in
|
||||
if is_critical:
|
||||
damage *= 2.0
|
||||
current_health -= damage
|
||||
|
||||
@ -4,7 +4,7 @@ extends ShapeCast3D
|
||||
|
||||
func check_interactions() -> void:
|
||||
for collision in get_collision_count():
|
||||
var collider = get_collider(collision)
|
||||
var collider: Object = get_collider(collision)
|
||||
if collider is LootContainer:
|
||||
ui.update_interact_text("Open [E]")
|
||||
if Input.is_action_just_pressed("interact"):
|
||||
|
||||
@ -37,7 +37,7 @@ func _ready() -> void:
|
||||
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
|
||||
health_component.update_max_health(stats.get_max_hp())
|
||||
stats.level_up_notification.connect(
|
||||
func(): health_component.update_max_health(stats.get_max_hp())
|
||||
func() -> void: health_component.update_max_health(stats.get_max_hp())
|
||||
)
|
||||
stats.update_stats.connect(ui.update_stats_display)
|
||||
ui.update_stats_display()
|
||||
@ -103,7 +103,7 @@ func look_toward_direction(direction: Vector3, delta: float) -> void:
|
||||
|
||||
func slash_attack() -> void:
|
||||
rig.playback.travel("Slash")
|
||||
var movement_direction = get_movement_direction()
|
||||
var movement_direction: Vector3 = get_movement_direction()
|
||||
if movement_direction.is_zero_approx():
|
||||
_attack_direction = rig.global_basis * Vector3(0, 0, 1)
|
||||
else:
|
||||
@ -112,7 +112,7 @@ func slash_attack() -> void:
|
||||
|
||||
func heavy_attack() -> void:
|
||||
rig.playback.travel("Overhead")
|
||||
var movement_direction = get_movement_direction()
|
||||
var movement_direction: Vector3 = get_movement_direction()
|
||||
if movement_direction.is_zero_approx():
|
||||
_attack_direction = rig.global_basis * Vector3(0, 0, 1)
|
||||
else:
|
||||
@ -139,8 +139,7 @@ func handle_slashing_physics_frame(delta: float) -> void:
|
||||
velocity.x = _attack_direction.x * attack_move_speed
|
||||
velocity.z = _attack_direction.z * attack_move_speed
|
||||
look_toward_direction(_attack_direction, delta)
|
||||
var damage = 10.0 + stats.strength.get_modifier()
|
||||
attack_cast.deal_damage(damage, stats.agility.get_modifier())
|
||||
attack_cast.deal_damage(get_damage(), stats.agility.get_modifier())
|
||||
|
||||
func handle_overhead_physics_frame() -> void:
|
||||
if !rig.is_overhead():
|
||||
@ -154,5 +153,7 @@ func _on_health_component_defeat() -> void:
|
||||
set_physics_process(false)
|
||||
|
||||
func _on_rig_heavy_attack() -> void:
|
||||
var damage = 10.0 + stats.strength.get_modifier()
|
||||
area_attack.deal_damage(damage, stats.agility.get_modifier())
|
||||
area_attack.deal_damage(get_damage(), stats.agility.get_modifier())
|
||||
|
||||
func get_damage() -> int:
|
||||
return ui.inventory.get_weapon_damage() + stats.strength.get_modifier()
|
||||
|
||||
@ -50,7 +50,7 @@ func set_active_mesh(active_mesh: MeshInstance3D) -> void:
|
||||
func equip_offhand(equipment_scene: PackedScene) -> void:
|
||||
for child in off_hand_slot.get_children():
|
||||
child.queue_free()
|
||||
var new_equipment = equipment_scene.instantiate()
|
||||
var new_equipment: Node3D = equipment_scene.instantiate()
|
||||
off_hand_slot.add_child(new_equipment)
|
||||
|
||||
func _on_animation_tree_animation_finished(anim_name: StringName) -> void:
|
||||
|
||||
@ -15,20 +15,20 @@ func _ready() -> void:
|
||||
if not OS.has_feature("dedicated_server"):
|
||||
add_player(1)
|
||||
|
||||
func _exit_tree():
|
||||
func _exit_tree() -> void:
|
||||
if not multiplayer.is_server():
|
||||
return
|
||||
multiplayer.peer_connected.disconnect(add_player)
|
||||
multiplayer.peer_disconnected.disconnect(del_player)
|
||||
|
||||
|
||||
func add_player(id: int):
|
||||
var character = preload("res://src/scenes/characters/player.tscn").instantiate()
|
||||
func add_player(id: int) -> void:
|
||||
var character: Player = preload("res://src/scenes/characters/player.tscn").instantiate()
|
||||
character.name = str(id)
|
||||
$Players.add_child(character, true)
|
||||
|
||||
|
||||
func del_player(id: int):
|
||||
func del_player(id: int) -> void:
|
||||
if not $Players.has_node(str(id)):
|
||||
return
|
||||
$Players.get_node(str(id)).queue_free()
|
||||
|
||||
@ -1,16 +1,16 @@
|
||||
extends Node
|
||||
|
||||
func _on_host_pressed() -> void:
|
||||
var peer = ENetMultiplayerPeer.new()
|
||||
var error = peer.create_server(1027)
|
||||
var peer: ENetMultiplayerPeer = ENetMultiplayerPeer.new()
|
||||
var error: Error = peer.create_server(1027)
|
||||
if error:
|
||||
print(error)
|
||||
multiplayer.multiplayer_peer = peer
|
||||
start_game()
|
||||
|
||||
func _on_join_pressed() -> void:
|
||||
var peer = ENetMultiplayerPeer.new()
|
||||
var error = peer.create_client("127.0.0.1", 1027)
|
||||
var peer: ENetMultiplayerPeer = ENetMultiplayerPeer.new()
|
||||
var error: Error = peer.create_client("127.0.0.1", 1027)
|
||||
if error:
|
||||
print(error)
|
||||
multiplayer.multiplayer_peer = peer
|
||||
@ -24,7 +24,7 @@ func start_game() -> void:
|
||||
change_level.call_deferred(load("res://src/scenes/levels/level.tscn"))
|
||||
|
||||
func change_level(scene: PackedScene) -> void:
|
||||
var level = $Level
|
||||
var level: Node = $Level
|
||||
for c in level.get_children():
|
||||
level.remove_child(c)
|
||||
c.queue_free()
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
class_name LootContainer extends StaticBody3D
|
||||
|
||||
func get_items() -> Array:
|
||||
return get_children().filter(func(child): return child is ItemIcon)
|
||||
|
||||
return get_children().filter(func(child: Node) -> bool: return child is ItemIcon)
|
||||
|
||||
@ -2,10 +2,9 @@ class_name ArmorIcon extends ItemIcon
|
||||
|
||||
enum armor_type { IRON_PLATE, STEEL_PLATE }
|
||||
|
||||
@export var power: int
|
||||
@export var protection: int
|
||||
@export var armor: armor_type
|
||||
|
||||
func _ready() -> void:
|
||||
stat_label.text = "%d" % power
|
||||
stat_label.text = "%d" % protection
|
||||
item_name_label.text = armor_type.keys()[armor]
|
||||
|
||||
|
||||
@ -2,14 +2,13 @@ extends Node3D
|
||||
|
||||
@onready var label: Label3D = $Label3D
|
||||
|
||||
func setup(damage: int, position_in: Vector3, is_critical: bool) -> void:
|
||||
func setup(damage: float, position_in: Vector3, is_critical: bool) -> void:
|
||||
if not is_inside_tree():
|
||||
await ready
|
||||
|
||||
var color = Color.GOLD
|
||||
var color: Color = Color.GOLD
|
||||
if is_critical:
|
||||
color = Color.RED
|
||||
label.text = "-" + str(damage)
|
||||
label.text = "-%d" % damage
|
||||
label.modulate = color
|
||||
global_position = position_in
|
||||
|
||||
|
||||
@ -1,17 +1,24 @@
|
||||
class_name Inventory extends Control
|
||||
|
||||
const MIN_ARMOR_RATING: float = 0.0
|
||||
const MAX_ARMOR_RATING: float = 80.0
|
||||
|
||||
@onready var level_label: Label = %LevelLabel
|
||||
@onready var strength_label: Label = %StrengthScore
|
||||
@onready var agility_label: Label = %AgilityScore
|
||||
@onready var speed_label: Label = %SpeedScore
|
||||
@onready var endurance_label: Label = %EnduranceScore
|
||||
@onready var attack_damage_value: Label = %AttackDamageValue
|
||||
@onready var armor_protection_value: Label = %ArmorProtectionValue
|
||||
@onready var items_grid: GridContainer = %ItemsGrid
|
||||
@onready var gold_label: Label = %GoldLabel
|
||||
@onready var gold: int = 0:
|
||||
set(value):
|
||||
gold = value
|
||||
gold_label.text = "%dg" % gold
|
||||
@onready var weapon_slot: CenterContainer = %WeaponSlot
|
||||
@onready var shield_slot: CenterContainer = %ShieldSlot
|
||||
@onready var armor_slot: CenterContainer = %ArmorSlot
|
||||
|
||||
@export var player: Player
|
||||
|
||||
@ -20,22 +27,79 @@ func _ready() -> void:
|
||||
|
||||
func update_stats() -> void:
|
||||
level_label.text = "Level %d" % player.stats.level
|
||||
strength_label.text = str(player.stats.strength.score)
|
||||
agility_label.text = str(player.stats.agility.score)
|
||||
speed_label.text = str(player.stats.speed.score)
|
||||
endurance_label.text = str(player.stats.endurance.score)
|
||||
strength_label.text = "%d" % player.stats.strength.score
|
||||
agility_label.text = "%d" % player.stats.agility.score
|
||||
speed_label.text = "%d" % player.stats.speed.score
|
||||
endurance_label.text = "%d" % player.stats.endurance.score
|
||||
|
||||
func update_gear_stats() -> void:
|
||||
attack_damage_value.text = str(get_weapon_damage_value())
|
||||
attack_damage_value.text = "%d" % [player.stats.strength.get_modifier() + get_weapon_damage()]
|
||||
armor_protection_value.text = "%d%%" % get_armor_protection()
|
||||
|
||||
func get_weapon_damage_value() -> int:
|
||||
var damage = 10
|
||||
damage += player.stats.strength.get_modifier()
|
||||
func get_weapon_damage() -> float:
|
||||
var damage: float = 0.0
|
||||
var weapon: WeaponIcon = get_weapon()
|
||||
if weapon:
|
||||
damage += weapon.power
|
||||
return damage
|
||||
|
||||
func get_armor_protection() -> float:
|
||||
var protection: float = 0.0
|
||||
var armor: ArmorIcon = get_armor()
|
||||
if armor:
|
||||
protection += armor.protection
|
||||
var shield: ShieldIcon = get_shield()
|
||||
if shield:
|
||||
protection += shield.protection
|
||||
protection = clampf(protection, MIN_ARMOR_RATING, MAX_ARMOR_RATING)
|
||||
return protection
|
||||
|
||||
func add_item(item: ItemIcon) -> void:
|
||||
disconnect_item_connections(item)
|
||||
|
||||
if item is CurrencyIcon:
|
||||
gold += item.value
|
||||
item.queue_free()
|
||||
else:
|
||||
items_grid.add_child(item)
|
||||
item.interact.connect(equip_item)
|
||||
|
||||
func equip_item(item: ItemIcon) -> void:
|
||||
var item_slot: CenterContainer
|
||||
|
||||
if item is WeaponIcon:
|
||||
item_slot = weapon_slot
|
||||
elif item is ArmorIcon:
|
||||
item_slot = armor_slot
|
||||
elif item is ShieldIcon:
|
||||
item_slot = shield_slot
|
||||
else:
|
||||
return
|
||||
|
||||
for child in item_slot.get_children():
|
||||
child.get_parent().remove_child(child)
|
||||
add_item(child)
|
||||
|
||||
item.get_parent().remove_child(item)
|
||||
item_slot.add_child(item)
|
||||
disconnect_item_connections(item)
|
||||
update_gear_stats()
|
||||
|
||||
func disconnect_item_connections(item: ItemIcon) -> void:
|
||||
for connection: Dictionary in item.interact.get_connections():
|
||||
item.interact.disconnect(connection.callable)
|
||||
|
||||
func get_weapon() -> WeaponIcon:
|
||||
if weapon_slot.get_child_count() != 1:
|
||||
return null
|
||||
return weapon_slot.get_child(0)
|
||||
|
||||
func get_armor() -> ArmorIcon:
|
||||
if armor_slot.get_child_count() != 1:
|
||||
return null
|
||||
return armor_slot.get_child(0)
|
||||
|
||||
func get_shield() -> ShieldIcon:
|
||||
if shield_slot.get_child_count() != 1:
|
||||
return null
|
||||
return shield_slot.get_child(0)
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
class_name ItemIcon extends TextureButton
|
||||
|
||||
signal interact(item)
|
||||
signal interact(item: ItemIcon)
|
||||
|
||||
@onready var stat_label: Label = $MarginContainer/StatLabel
|
||||
@onready var item_name_label: Label = $MarginContainer/ItemNameLabel
|
||||
@ -8,4 +8,3 @@ signal interact(item)
|
||||
func _on_gui_input(event: InputEvent) -> void:
|
||||
if event.is_action("click"):
|
||||
interact.emit(self)
|
||||
|
||||
|
||||
@ -27,7 +27,7 @@ func toggle_open(container: LootContainer) -> void:
|
||||
else:
|
||||
current_container = container
|
||||
title_label.text = container.name.capitalize()
|
||||
for item in container.get_items():
|
||||
for item: ItemIcon in container.get_items():
|
||||
current_container.remove_child(item)
|
||||
grid_container.add_child(item)
|
||||
item.visible = true
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user