This commit is contained in:
Rendo 2025-12-09 12:27:04 +05:00
commit cd20f952ce
6 changed files with 116 additions and 68 deletions

View file

@ -7,9 +7,10 @@ func _ready() -> void:
text = str(weapon.cost)
func _pressed() -> void:
var player_data = Session.get_player_data()
if player_data["money"] >= weapon.cost:
var player: Player = Session.player_nodes[multiplayer.get_unique_id()]
try_server_buy.rpc_id(1)
player_data["money"] -= weapon.cost
player.get_node("WeaponSystem").add(weapon.weapon_system_scene.instantiate(),"ability_first")
@rpc("any_peer","call_local","reliable")
func try_server_buy() -> void:
if not multiplayer.is_server():
return
Shop.buy(multiplayer.get_remote_sender_id(),weapon)

29
gui/buy_menu/shop.gd Normal file
View file

@ -0,0 +1,29 @@
extends Node
func can_buy(player_id: int,weapon: WeaponResource) -> bool:
return Session.player_data[player_id]["money"] >= weapon.cost
func buy(player_id: int, weapon: WeaponResource) -> void:
if not multiplayer.is_server() or can_buy(player_id,weapon) == false:
return
var player: Player = Session.player_nodes[player_id]
if player.hp == 0:
return
var weapon_system: WeaponSystem = player.get_node("%WeaponSystem")
var slot: StringName = ""
match weapon.slot:
"ability":
slot = weapon_system.get_empty_ability_slot()
var anything:
slot = anything
if not weapon_system.can_add(slot):
return
var player_data = Session.player_data[player_id]
player_data["money"] -= weapon.cost
weapon_system.add(weapon.weapon_system_scene.instantiate(),slot)

1
gui/buy_menu/shop.gd.uid Normal file
View file

@ -0,0 +1 @@
uid://hyldsai23dh4

View file

@ -26,12 +26,19 @@ Session="*res://multiplayer/session.gd"
ClientSettings="*res://gui/client_settings/client_settings.gd"
ClientSettingsMenu="res://gui/client_settings/client_settings.tscn"
Registry="*res://systems/registry.gd"
Shop="*res://gui/buy_menu/shop.gd"
[display]
window/size/viewport_width=1280
window/size/viewport_height=720
[file_customization]
folder_colors={
"res://gui/": "green"
}
[input]
plr_forward={

View file

@ -8140,365 +8140,365 @@ bones/1/name = "Arm.L"
bones/1/parent = 0
bones/1/rest = Transform3D(-0.967654, 0.25016752, 0.0325744, -0.25158498, -0.96648616, -0.05108291, 0.018703416, -0.057625845, 0.998163, 0.26421797, 0.773799, 4.559311e-08)
bones/1/enabled = true
bones/1/position = Vector3(0.264218, 0.773799, 7.5726156e-08)
bones/1/rotation = Quaternion(-0.11607456, -0.007566696, 0.95669395, -0.26684496)
bones/1/position = Vector3(0.264218, 0.7737991, 8.241175e-08)
bones/1/rotation = Quaternion(0.012689503, -0.12897189, 0.9333643, -0.33471844)
bones/1/scale = Vector3(0.9999995, 1, 0.99999994)
bones/2/name = "Forearm.L"
bones/2/parent = 1
bones/2/rest = Transform3D(0.9995757, 0.013401157, 0.025863314, -0.011816048, 0.9980985, -0.060496498, -0.026624857, 0.060165223, 0.9978333, -1.3533281e-08, 0.4103367, 9.313226e-10)
bones/2/enabled = true
bones/2/position = Vector3(-1.3533281e-08, 0.4103367, 9.313226e-10)
bones/2/rotation = Quaternion(0.35293797, 0.012252082, -0.073760726, 0.9326543)
bones/2/rotation = Quaternion(0.6806289, 0.009440267, -0.14224508, 0.71862483)
bones/2/scale = Vector3(1, 1, 1)
bones/3/name = "Wrist.L"
bones/3/parent = 2
bones/3/rest = Transform3D(-0.9710889, 0.23862918, 0.0065318705, 0.2375265, 0.96860886, -0.07333562, -0.023826849, -0.069663905, -0.9972859, 1.2121745e-08, 0.40612826, -7.421477e-10)
bones/3/enabled = true
bones/3/position = Vector3(1.2121745e-08, 0.40612826, -7.421477e-10)
bones/3/rotation = Quaternion(0.1121526, 0.9382349, -0.23010647, 0.23278317)
bones/3/rotation = Quaternion(0.08838514, 0.85444033, -0.45975256, 0.22527176)
bones/3/scale = Vector3(1, 1, 1)
bones/4/name = "ThumbU.L"
bones/4/parent = 3
bones/4/rest = Transform3D(0.9771098, -0.21273556, 7.7299774e-08, 0.2122333, 0.97480285, 0.068675034, -0.014609697, -0.06710303, 0.99763906, -0.0045400136, 0.06477452, -0.046769787)
bones/4/enabled = true
bones/4/position = Vector3(-0.0045400136, 0.06477452, -0.046769787)
bones/4/rotation = Quaternion(-0.18413022, 0.109042466, -0.01852451, 0.97665894)
bones/4/rotation = Quaternion(-0.18413022, 0.10904248, -0.018524533, 0.97665894)
bones/4/scale = Vector3(1, 0.99999994, 1)
bones/5/name = "ThumbM.L"
bones/5/parent = 4
bones/5/rest = Transform3D(0.96273476, -0.2702871, -0.009302501, 0.270358, 0.96273106, 0.0074529527, 0.0069413693, -0.009690224, 0.9999289, -9.109499e-09, 0.050440647, -1.0863523e-09)
bones/5/enabled = true
bones/5/position = Vector3(-9.109499e-09, 0.050440647, -1.0863523e-09)
bones/5/rotation = Quaternion(-0.003382863, -0.0049069775, -0.07181848, 0.9973999)
bones/5/rotation = Quaternion(-0.0028532161, -0.0052326904, -0.17534292, 0.98448944)
bones/5/scale = Vector3(0.9999999, 1, 0.99999994)
bones/6/name = "ThumbD.L"
bones/6/parent = 5
bones/6/rest = Transform3D(0.9935268, -0.11359587, 0.00059893046, 0.11359593, 0.99347246, -0.01041187, 0.0005877246, 0.010412509, 0.9999456, -7.9744495e-09, 0.031673077, -2.8667273e-09)
bones/6/enabled = true
bones/6/position = Vector3(-7.9744495e-09, 0.031673077, -2.8667273e-09)
bones/6/rotation = Quaternion(0.004960197, 0.0016089659, -0.25340638, 0.96734595)
bones/6/rotation = Quaternion(0.0042233877, 0.0030586084, -0.5390605, 0.84225094)
bones/6/scale = Vector3(0.99999994, 1, 0.99999994)
bones/7/name = "IndexU.L"
bones/7/parent = 3
bones/7/rest = Transform3D(0.9800801, -0.19626929, -0.030354138, 0.19836761, 0.95998544, 0.19768214, -0.009659407, -0.19976562, 0.97979605, 0.04529645, 0.07181831, -0.03615555)
bones/7/enabled = true
bones/7/position = Vector3(0.04529645, 0.07181831, -0.03615555)
bones/7/rotation = Quaternion(-0.100372516, -0.0052263015, 0.09966263, 0.98993206)
bones/7/rotation = Quaternion(-0.1003725, -0.0052263043, 0.09966264, 0.98993206)
bones/7/scale = Vector3(1, 1, 0.99999994)
bones/8/name = "IndexM.L"
bones/8/parent = 7
bones/8/rest = Transform3D(0.9323135, -0.3615566, -0.008257606, 0.36068276, 0.9312451, -0.05187074, 0.026444064, 0.045381427, 0.99861956, 2.4359906e-08, 0.078790486, 4.656613e-10)
bones/8/enabled = true
bones/8/position = Vector3(2.4359906e-08, 0.078790486, 4.656613e-10)
bones/8/rotation = Quaternion(0.02378056, -0.011164779, 0.27729166, 0.96042657)
bones/8/rotation = Quaternion(0.023780614, -0.011164798, 0.27729172, 0.9604266)
bones/8/scale = Vector3(0.9999999, 1, 0.9999999)
bones/9/name = "IndexD.L"
bones/9/parent = 8
bones/9/rest = Transform3D(0.99988145, 0.015218651, -0.0023559656, -0.015326478, 0.99832255, -0.055830937, 0.001502342, 0.055860423, 0.99843746, -1.967419e-08, 0.060257126, -9.313226e-10)
bones/9/enabled = true
bones/9/position = Vector3(-1.967419e-08, 0.060257126, -9.313226e-10)
bones/9/rotation = Quaternion(0.024683425, -0.013114907, 0.43138972, 0.9017327)
bones/9/rotation = Quaternion(0.023309475, -0.015425297, 0.5160131, 0.8561246)
bones/9/scale = Vector3(1, 0.99999994, 1)
bones/10/name = "MiddleU.L"
bones/10/parent = 3
bones/10/rest = Transform3D(0.995789, -0.058257025, -0.070783034, 0.065396525, 0.9925152, 0.10313419, 0.064244956, -0.10732886, 0.99214566, 0.0423781, 0.07765784, -0.01126304)
bones/10/enabled = true
bones/10/position = Vector3(0.0423781, 0.07765784, -0.01126304)
bones/10/rotation = Quaternion(-0.052744843, -0.033839792, 0.030989215, 0.9975533)
bones/10/rotation = Quaternion(-0.05274482, -0.033839792, 0.030989213, 0.9975533)
bones/10/scale = Vector3(0.99999994, 0.9999999, 0.99999994)
bones/11/name = "MiddleM.L"
bones/11/parent = 10
bones/11/rest = Transform3D(0.86401427, -0.5034334, 0.005847616, 0.50168175, 0.85991454, -0.09414042, 0.042364985, 0.0842723, 0.99554175, -6.426126e-08, 0.07325909, 8.731149e-10)
bones/11/enabled = true
bones/11/position = Vector3(-6.426126e-08, 0.07325909, 8.731149e-10)
bones/11/rotation = Quaternion(0.045131322, -0.013866683, 0.35200542, 0.9348064)
bones/11/rotation = Quaternion(0.045131326, -0.013866695, 0.35200542, 0.9348064)
bones/11/scale = Vector3(1, 1, 0.99999994)
bones/12/name = "MiddleD.L"
bones/12/parent = 11
bones/12/rest = Transform3D(0.9998987, -0.014212552, -0.00084086665, 0.014225133, 0.99974453, 0.017563164, 0.0005910344, -0.017573344, 0.99984545, -3.655441e-08, 0.064242914, -3.259629e-09)
bones/12/enabled = true
bones/12/position = Vector3(-3.655441e-08, 0.064242914, -3.259629e-09)
bones/12/rotation = Quaternion(-0.008052284, 0.0035297836, 0.44480184, 0.89558583)
bones/12/rotation = Quaternion(-0.007675979, 0.004286906, 0.52877283, 0.8487179)
bones/12/scale = Vector3(1, 0.99999994, 1)
bones/13/name = "RingU.L"
bones/13/parent = 3
bones/13/rest = Transform3D(0.9704054, 0.03888444, -0.23833017, -0.02366867, 0.9975139, 0.06637663, 0.2403187, -0.05877129, 0.9689131, 0.033461113, 0.07149333, 0.017992377)
bones/13/enabled = true
bones/13/position = Vector3(0.033461113, 0.07149333, 0.017992377)
bones/13/rotation = Quaternion(-0.03153701, -0.12061846, -0.015763242, 0.9920727)
bones/13/rotation = Quaternion(-0.031536993, -0.12061843, -0.015763246, 0.9920727)
bones/13/scale = Vector3(0.99999994, 1, 0.9999998)
bones/14/name = "RingM.L"
bones/14/parent = 13
bones/14/rest = Transform3D(0.8251062, -0.5639382, -0.034260202, 0.5524452, 0.81802005, -0.16014954, 0.11833996, 0.11321349, 0.9864982, 1.6880222e-08, 0.07553467, 6.165976e-09)
bones/14/enabled = true
bones/14/position = Vector3(1.6880222e-08, 0.07553467, 6.165976e-09)
bones/14/rotation = Quaternion(0.067564145, -0.04675546, 0.38313726, 0.9200298)
bones/14/rotation = Quaternion(0.06756415, -0.04675546, 0.38313717, 0.9200299)
bones/14/scale = Vector3(1.0000001, 1.0000001, 1.0000001)
bones/15/name = "RingD.L"
bones/15/parent = 14
bones/15/rest = Transform3D(0.99991727, -0.012864361, 0.00015441107, 0.012864626, 0.999672, -0.022144126, 0.00013050961, 0.022144279, 0.9997547, 1.8626451e-08, 0.064691424, -4.656613e-09)
bones/15/enabled = true
bones/15/position = Vector3(1.8626451e-08, 0.064691424, -4.656613e-09)
bones/15/rotation = Quaternion(0.009954605, -0.0048495512, 0.44418532, 0.89586663)
bones/15/rotation = Quaternion(0.009442741, -0.00578338, 0.528186, 0.84905654)
bones/15/scale = Vector3(1, 0.99999994, 0.99999994)
bones/16/name = "LittleU.L"
bones/16/parent = 3
bones/16/rest = Transform3D(0.9178412, -0.18039086, -0.35359105, 0.15868124, 0.98324484, -0.089720085, 0.3638513, 0.026240522, 0.93108726, 0.03628368, 0.082845636, 0.04032454)
bones/16/enabled = true
bones/16/position = Vector3(0.03628368, 0.082845636, 0.04032454)
bones/16/rotation = Quaternion(0.029618153, -0.18324603, 0.0866043, 0.9787969)
bones/16/rotation = Quaternion(0.029618166, -0.18324599, 0.08660434, 0.9787969)
bones/16/scale = Vector3(0.99999994, 0.9999999, 0.9999999)
bones/17/name = "LittleM.L"
bones/17/parent = 16
bones/17/rest = Transform3D(0.92672586, -0.36745474, -0.07846127, 0.35205162, 0.9221317, -0.16041435, 0.13129665, 0.12103772, 0.9839263, -2.0954758e-09, 0.061574344, -4.1909516e-09)
bones/17/enabled = true
bones/17/position = Vector3(-2.0954758e-09, 0.061574344, -4.1909516e-09)
bones/17/rotation = Quaternion(0.066403255, -0.06022823, 0.27693692, 0.95669705)
bones/17/rotation = Quaternion(0.06640326, -0.06022825, 0.27693692, 0.95669705)
bones/17/scale = Vector3(1, 1, 0.99999994)
bones/18/name = "LittleD.L"
bones/18/parent = 17
bones/18/rest = Transform3D(0.9951905, -0.09795637, -0.0007189751, 0.09795622, 0.99507964, 0.014866696, -0.00074085005, -0.014865619, 0.9998894, 1.4901161e-08, 0.035935525, -1.7695129e-08)
bones/18/enabled = true
bones/18/position = Vector3(1.4901161e-08, 0.035935525, -1.7695129e-08)
bones/18/rotation = Quaternion(-0.0073038945, 0.0014285325, 0.2391246, 0.9709604)
bones/18/rotation = Quaternion(-0.0071328855, 0.0021234925, 0.33128664, 0.9435009)
bones/18/scale = Vector3(1, 0.99999994, 1.0000001)
bones/19/name = "ThumbCtrl.L"
bones/19/parent = 3
bones/19/rest = Transform3D(0.9771098, -0.21273556, 9.247858e-08, 0.2122333, 0.97480285, 0.06867504, -0.014609714, -0.06710303, 0.99763906, -0.0045400136, 0.06477452, -0.046769787)
bones/19/enabled = true
bones/19/position = Vector3(-0.0045400136, 0.06477452, -0.046769787)
bones/19/rotation = Quaternion(-0.18413022, 0.10904248, -0.018524526, 0.97665894)
bones/19/rotation = Quaternion(-0.18413022, 0.109042495, -0.018524526, 0.97665894)
bones/19/scale = Vector3(1, 0.99999994, 1)
bones/20/name = "IndexCtrl.L"
bones/20/parent = 3
bones/20/rest = Transform3D(0.9800801, -0.19626929, -0.030354116, 0.19836757, 0.9599856, 0.19768208, -0.009659403, -0.19976556, 0.9797962, 0.04529645, 0.07181834, -0.036155563)
bones/20/enabled = true
bones/20/position = Vector3(0.04529645, 0.07181834, -0.036155563)
bones/20/rotation = Quaternion(-0.10037247, -0.0052262973, 0.09966262, 0.98993206)
bones/20/rotation = Quaternion(-0.10037244, -0.0052262982, 0.09966263, 0.98993206)
bones/20/scale = Vector3(1, 1.0000001, 1)
bones/21/name = "MiddleCtrl.L"
bones/21/parent = 3
bones/21/rest = Transform3D(0.995789, -0.058257017, -0.07078303, 0.06539652, 0.9925152, 0.1031342, 0.06424495, -0.10732886, 0.99214566, 0.0423781, 0.07765784, -0.011263036)
bones/21/enabled = true
bones/21/position = Vector3(0.0423781, 0.07765784, -0.011263036)
bones/21/rotation = Quaternion(-0.052744843, -0.033839785, 0.030989211, 0.9975533)
bones/21/rotation = Quaternion(-0.05274482, -0.033839785, 0.03098921, 0.9975533)
bones/21/scale = Vector3(0.99999994, 0.9999999, 0.99999994)
bones/22/name = "RingCtrl.L"
bones/22/parent = 3
bones/22/rest = Transform3D(0.9704054, 0.03888438, -0.23833017, -0.023668619, 0.9975138, 0.0663766, 0.2403187, -0.05877127, 0.9689131, 0.033461053, 0.07149334, 0.017992355)
bones/22/enabled = true
bones/22/position = Vector3(0.033461053, 0.07149334, 0.017992355)
bones/22/rotation = Quaternion(-0.031537004, -0.12061846, -0.015763216, 0.9920727)
bones/22/rotation = Quaternion(-0.03153699, -0.12061845, -0.01576322, 0.9920727)
bones/22/scale = Vector3(0.99999994, 0.9999999, 0.9999998)
bones/23/name = "LittleCtrl.L"
bones/23/parent = 3
bones/23/rest = Transform3D(0.91784114, -0.18039091, -0.35359108, 0.15868126, 0.9832449, -0.08972012, 0.3638513, 0.026240537, 0.9310873, 0.03628368, 0.08284565, 0.04032453)
bones/23/enabled = true
bones/23/position = Vector3(0.03628368, 0.08284565, 0.04032453)
bones/23/rotation = Quaternion(0.029618153, -0.18324603, 0.08660434, 0.9787969)
bones/23/rotation = Quaternion(0.029618178, -0.183246, 0.08660434, 0.9787969)
bones/23/scale = Vector3(0.99999994, 0.99999994, 0.99999994)
bones/24/name = "ArmPole.L"
bones/24/parent = 0
bones/24/rest = Transform3D(-1, 0, 1.509958e-07, 0, 1, 0, -1.509958e-07, 0, -1, 0.35926056, 0.3746208, -0.29998538)
bones/24/enabled = true
bones/24/position = Vector3(0.6056142, 0.20785579, -0.19235319)
bones/24/position = Vector3(0.6056142, 0.20785579, -0.19235316)
bones/24/rotation = Quaternion(0, 1, 0, 7.54979e-08)
bones/24/scale = Vector3(1, 1, 1)
bones/25/name = "ArmCtrl.L"
bones/25/parent = 0
bones/25/rest = Transform3D(0.94635725, 0.23162141, 0.22532214, 0.22532395, -0.97280645, 0.0536483, 0.23162217, 1.747915e-08, -0.9728062, 0.26421803, 0.77379894, 5.6864977e-08)
bones/25/enabled = true
bones/25/position = Vector3(0.26421806, 0.773799, 8.248862e-08)
bones/25/rotation = Quaternion(0.98640305, 0.115810655, 0.1158104, -0.013596949)
bones/25/position = Vector3(0.26421806, 0.77379906, 8.9564054e-08)
bones/25/rotation = Quaternion(0.98640305, 0.115810655, 0.11581039, -0.013596952)
bones/25/scale = Vector3(1.0000058, 1.0000005, 1)
bones/26/name = "WristCtrl.L"
bones/26/parent = 0
bones/26/rest = Transform3D(0.99986863, 1.6880067e-09, -0.016210483, 0.0011133, -0.9976389, 0.06866942, -0.016172118, -0.06867806, -0.9975134, 0.4638072, -0.017174125, -0.022513157)
bones/26/enabled = true
bones/26/position = Vector3(0.5209434, 0.11365941, 0.27973163)
bones/26/rotation = Quaternion(0.99525756, 0.0013011391, -0.008000332, 0.096937135)
bones/26/position = Vector3(0.5027311, 0.31168783, 0.27170432)
bones/26/rotation = Quaternion(0.9950302, 0.0014013369, -0.008027737, 0.09923961)
bones/26/scale = Vector3(1, 1, 1.0000056)
bones/27/name = "Arm.R"
bones/27/parent = 0
bones/27/rest = Transform3D(-0.9676544, -0.25016746, -0.032574747, 0.25158504, -0.96648616, -0.051082943, -0.018703751, -0.057625957, 0.99816304, -0.26421797, 0.773799, -8.039582e-08)
bones/27/enabled = true
bones/27/position = Vector3(-0.2642181, 0.773799, -7.244679e-08)
bones/27/rotation = Quaternion(-0.004606466, 0.043080933, 0.98210853, 0.18326412)
bones/27/position = Vector3(-0.2642181, 0.77379906, -6.238784e-08)
bones/27/rotation = Quaternion(-0.13862602, -0.08580463, 0.9588067, 0.23261577)
bones/27/scale = Vector3(0.99999994, 1, 1)
bones/28/name = "Forearm.R"
bones/28/parent = 27
bones/28/rest = Transform3D(0.99957556, -0.013401167, -0.025863245, 0.011816061, 0.9980984, -0.060496498, 0.026624788, 0.060165223, 0.99783325, 1.17579475e-08, 0.4103366, 3.7252903e-09)
bones/28/enabled = true
bones/28/position = Vector3(1.17579475e-08, 0.4103366, 3.7252903e-09)
bones/28/rotation = Quaternion(0.24371684, -0.012721976, 0.050934598, 0.96842444)
bones/28/rotation = Quaternion(0.5881924, -0.010499675, 0.12292688, 0.799255)
bones/28/scale = Vector3(0.9999999, 0.9999999, 0.99999994)
bones/29/name = "Wrist.R"
bones/29/parent = 28
bones/29/rest = Transform3D(-0.9710889, -0.23862909, -0.0065321154, -0.23752637, 0.968609, -0.073335625, 0.02382708, -0.06966387, -0.9972859, -2.158049e-08, 0.4061282, -2.1100277e-09)
bones/29/enabled = true
bones/29/position = Vector3(-2.158049e-08, 0.4061282, -2.1100277e-09)
bones/29/rotation = Quaternion(-0.105007105, 0.9899002, -0.015528794, -0.09396898)
bones/29/rotation = Quaternion(-0.13033676, 0.95264983, -0.26576123, -0.06958225)
bones/29/scale = Vector3(1, 1.0000001, 1)
bones/30/name = "ThumbU.R"
bones/30/parent = 29
bones/30/rest = Transform3D(0.97710997, 0.21273556, -2.9711325e-07, -0.21223329, 0.9748031, 0.06867511, 0.014609926, -0.067103066, 0.9976392, 0.0045400467, 0.06477455, -0.046769787)
bones/30/enabled = true
bones/30/position = Vector3(0.0045400467, 0.06477455, -0.046769787)
bones/30/rotation = Quaternion(-0.03416064, -0.0036758184, -0.10691859, 0.993674)
bones/30/rotation = Quaternion(-0.03416064, -0.0036758096, -0.1069186, 0.993674)
bones/30/scale = Vector3(1.0000001, 1.0000001, 1.0000001)
bones/31/name = "ThumbM.R"
bones/31/parent = 30
bones/31/rest = Transform3D(0.9627348, 0.270287, 0.009302534, -0.27035788, 0.9627312, 0.0074529545, -0.006941402, -0.009690234, 0.99992895, 1.0739313e-08, 0.05044063, 6.8161654e-10)
bones/31/enabled = true
bones/31/position = Vector3(1.0739313e-08, 0.05044063, 6.8161654e-10)
bones/31/rotation = Quaternion(-0.0043263347, 0.0040993956, -0.13643965, 0.9906305)
bones/31/rotation = Quaternion(-0.004326243, 0.0040993905, -0.13643962, 0.9906305)
bones/31/scale = Vector3(0.99999994, 1.0000001, 1)
bones/32/name = "ThumbD.R"
bones/32/parent = 31
bones/32/rest = Transform3D(0.99352676, 0.113595836, -0.0005989222, -0.113595866, 0.99347264, -0.010411862, -0.00058773125, 0.010412501, 0.99994564, 1.717126e-08, 0.031673037, 2.6193447e-09)
bones/32/enabled = true
bones/32/position = Vector3(1.717126e-08, 0.031673037, 2.6193447e-09)
bones/32/rotation = Quaternion(0.0052146167, -2.8286527e-06, -0.056890868, 0.99836683)
bones/32/rotation = Quaternion(0.005214617, -2.822548e-06, -0.056890875, 0.99836683)
bones/32/scale = Vector3(0.9999999, 1.0000001, 1)
bones/33/name = "IndexU.R"
bones/33/parent = 29
bones/33/rest = Transform3D(0.9800801, 0.19626924, 0.030353922, -0.1983675, 0.95998544, 0.19768226, 0.00965963, -0.19976568, 0.97979605, -0.04529639, 0.07181834, -0.03615556)
bones/33/enabled = true
bones/33/position = Vector3(-0.04529639, 0.07181834, -0.03615556)
bones/33/rotation = Quaternion(-0.100372545, 0.005226185, -0.0996626, 0.98993206)
bones/33/rotation = Quaternion(-0.10037253, 0.0052261916, -0.0996626, 0.98993206)
bones/33/scale = Vector3(1, 0.99999994, 0.99999994)
bones/34/name = "IndexM.R"
bones/34/parent = 33
bones/34/rest = Transform3D(0.9323134, 0.3615565, 0.008257622, -0.3606826, 0.9312451, -0.051870808, -0.026444094, 0.04538148, 0.9986197, 1.2980308e-08, 0.07879048, -2.3283064e-09)
bones/34/enabled = true
bones/34/position = Vector3(1.2980308e-08, 0.07879048, -2.3283064e-09)
bones/34/rotation = Quaternion(0.024743041, 0.008828865, -0.18375322, 0.9826214)
bones/34/rotation = Quaternion(0.024743002, 0.008828901, -0.1837532, 0.9826214)
bones/34/scale = Vector3(0.9999997, 1, 1)
bones/35/name = "IndexD.R"
bones/35/parent = 34
bones/35/rest = Transform3D(0.99988145, -0.015218617, 0.0023559635, 0.015326444, 0.99832255, -0.05583094, -0.0015023419, 0.05586043, 0.9984374, -9.895302e-09, 0.060257077, 1.3969839e-09)
bones/35/enabled = true
bones/35/position = Vector3(-9.895302e-09, 0.060257077, 1.3969839e-09)
bones/35/rotation = Quaternion(0.023770574, 0.014704669, -0.48956946, 0.8715162)
bones/35/rotation = Quaternion(0.023770606, 0.014704762, -0.48956946, 0.8715162)
bones/35/scale = Vector3(1, 0.99999994, 0.99999994)
bones/36/name = "MiddleU.R"
bones/36/parent = 29
bones/36/rest = Transform3D(0.9957891, 0.05825713, 0.07078279, -0.06539661, 0.9925152, 0.103134215, -0.064244695, -0.10732887, 0.9921457, -0.04237805, 0.07765788, -0.011263045)
bones/36/enabled = true
bones/36/position = Vector3(-0.04237805, 0.07765788, -0.011263045)
bones/36/rotation = Quaternion(-0.05274485, 0.03383966, -0.03098926, 0.9975533)
bones/36/rotation = Quaternion(-0.052744858, 0.03383967, -0.030989254, 0.9975533)
bones/36/scale = Vector3(1, 0.9999999, 1)
bones/37/name = "MiddleM.R"
bones/37/parent = 36
bones/37/rest = Transform3D(0.8640145, 0.50343317, -0.0058475533, -0.5016816, 0.8599146, -0.09414036, -0.04236499, 0.08427222, 0.99554175, 3.4226105e-08, 0.073259085, -2.910383e-10)
bones/37/enabled = true
bones/37/position = Vector3(3.4226105e-08, 0.073259085, -2.910383e-10)
bones/37/rotation = Quaternion(0.044503566, 0.015765553, -0.39127773, 0.9190607)
bones/37/rotation = Quaternion(0.044503525, 0.01576555, -0.3912778, 0.91906077)
bones/37/scale = Vector3(1.0000001, 0.99999994, 0.99999994)
bones/38/name = "MiddleD.R"
bones/38/parent = 37
bones/38/rest = Transform3D(0.9998987, 0.01421252, 0.00084087194, -0.014225099, 0.9997446, 0.017563174, -0.0005910403, -0.017573357, 0.9998453, 6.9849193e-09, 0.06424289, 3.259629e-09)
bones/38/enabled = true
bones/38/position = Vector3(6.9849193e-09, 0.06424289, 3.259629e-09)
bones/38/rotation = Quaternion(-0.0068607684, -0.0054980787, -0.661929, 0.749515)
bones/38/rotation = Quaternion(-0.006035667, -0.0063930084, -0.7591109, 0.650902)
bones/38/scale = Vector3(1, 1, 0.9999999)
bones/39/name = "RingU.R"
bones/39/parent = 29
bones/39/rest = Transform3D(0.97040546, -0.03888434, 0.23833002, 0.023668591, 0.9975139, 0.0663766, -0.24031854, -0.05877128, 0.9689132, -0.033461094, 0.07149336, 0.017992368)
bones/39/enabled = true
bones/39/position = Vector3(-0.033461094, 0.07149336, 0.017992368)
bones/39/rotation = Quaternion(-0.031536996, 0.12061837, 0.015763192, 0.99207276)
bones/39/rotation = Quaternion(-0.03153701, 0.120618366, 0.015763192, 0.99207276)
bones/39/scale = Vector3(1, 1, 0.9999999)
bones/40/name = "RingM.R"
bones/40/parent = 39
bones/40/rest = Transform3D(0.8251063, 0.56393784, 0.034260213, -0.55244493, 0.81802005, -0.16014935, -0.11833983, 0.11321335, 0.98649806, -1.9383151e-08, 0.07553466, 5.743118e-09)
bones/40/enabled = true
bones/40/position = Vector3(-1.9383151e-08, 0.07553466, 5.743118e-09)
bones/40/rotation = Quaternion(0.055570774, 0.06052161, -0.5768524, 0.81270564)
bones/40/rotation = Quaternion(0.055570778, 0.060521662, -0.57685244, 0.8127056)
bones/40/scale = Vector3(1, 0.99999994, 1)
bones/41/name = "RingD.R"
bones/41/parent = 40
bones/41/rest = Transform3D(0.99991727, 0.012864309, -0.00015439918, -0.012864574, 0.999672, -0.022144107, -0.00013052007, 0.02214426, 0.9997548, 6.519258e-09, 0.06469142, 1.8626451e-08)
bones/41/enabled = true
bones/41/position = Vector3(6.519258e-09, 0.06469142, 1.8626451e-08)
bones/41/rotation = Quaternion(0.008899972, 0.0065879845, -0.6005104, 0.7995404)
bones/41/rotation = Quaternion(0.006386018, 0.009045998, -0.8208931, 0.57097465)
bones/41/scale = Vector3(1, 0.99999994, 1)
bones/42/name = "LittleU.R"
bones/42/parent = 29
bones/42/rest = Transform3D(0.91784126, 0.18039082, 0.35359094, -0.15868118, 0.9832451, -0.08972006, -0.36385116, 0.026240546, 0.93108743, -0.036283698, 0.08284566, 0.04032454)
bones/42/enabled = true
bones/42/position = Vector3(-0.036283698, 0.08284566, 0.04032454)
bones/42/rotation = Quaternion(0.029618138, 0.18324591, -0.08660426, 0.978797)
bones/42/rotation = Quaternion(0.029618185, 0.18324591, -0.08660428, 0.978797)
bones/42/scale = Vector3(1, 1.0000001, 1)
bones/43/name = "LittleM.R"
bones/43/parent = 42
bones/43/rest = Transform3D(0.9267258, 0.3674547, 0.078461215, -0.35205156, 0.9221319, -0.16041426, -0.13129655, 0.12103769, 0.9839263, 4.5401976e-09, 0.061574332, 1.4901161e-08)
bones/43/enabled = true
bones/43/position = Vector3(4.5401976e-09, 0.061574332, 1.4901161e-08)
bones/43/rotation = Quaternion(0.04652544, 0.07663028, -0.5376598, 0.83838236)
bones/43/rotation = Quaternion(0.046525456, 0.076630265, -0.5376598, 0.83838236)
bones/43/scale = Vector3(0.9999999, 1.0000001, 0.99999994)
bones/44/name = "LittleD.R"
bones/44/parent = 43
bones/44/rest = Transform3D(0.99519044, 0.09795644, 0.00071900914, -0.097956285, 0.99507964, 0.014866768, 0.0007408244, -0.014865696, 0.99988925, -2.6077032e-08, 0.035935488, 2.0489097e-08)
bones/44/enabled = true
bones/44/position = Vector3(-2.6077032e-08, 0.035935488, 2.0489097e-08)
bones/44/rotation = Quaternion(-0.005342348, -0.00518124, -0.7300394, 0.68336457)
bones/44/rotation = Quaternion(-0.0030077088, -0.006807417, -0.9331264, 0.35947162)
bones/44/scale = Vector3(1, 0.99999994, 1)
bones/45/name = "ThumbCtrl.R"
bones/45/parent = 29
bones/45/rest = Transform3D(0.97710997, 0.21273556, -3.141077e-07, -0.21223329, 0.9748031, 0.06867511, 0.014609943, -0.06710306, 0.9976392, 0.0045400467, 0.06477455, -0.046769787)
bones/45/enabled = true
bones/45/position = Vector3(0.0045400467, 0.06477455, -0.046769787)
bones/45/rotation = Quaternion(-0.03416064, -0.0036758187, -0.10691858, 0.993674)
bones/45/rotation = Quaternion(-0.034160633, -0.003675816, -0.10691861, 0.993674)
bones/45/scale = Vector3(1.0000001, 1.0000001, 1.0000001)
bones/46/name = "IndexCtrl.R"
bones/46/parent = 29
bones/46/rest = Transform3D(0.9800801, 0.1962692, 0.030353911, -0.19836746, 0.9599855, 0.1976822, 0.009659619, -0.19976562, 0.9797961, -0.04529639, 0.07181837, -0.036155567)
bones/46/enabled = true
bones/46/position = Vector3(-0.04529639, 0.07181837, -0.036155567)
bones/46/rotation = Quaternion(-0.100372516, 0.0052261977, -0.09966259, 0.98993206)
bones/46/rotation = Quaternion(-0.10037252, 0.0052261893, -0.09966258, 0.98993206)
bones/46/scale = Vector3(1, 1, 1)
bones/47/name = "MiddleCtrl.R"
bones/47/parent = 29
bones/47/rest = Transform3D(0.9957891, 0.05825713, 0.07078278, -0.06539661, 0.9925152, 0.103134215, -0.06424469, -0.10732887, 0.9921457, -0.04237805, 0.07765788, -0.011263043)
bones/47/enabled = true
bones/47/position = Vector3(-0.04237805, 0.07765788, -0.011263043)
bones/47/rotation = Quaternion(-0.052744865, 0.033839665, -0.030989254, 0.9975533)
bones/47/rotation = Quaternion(-0.052744843, 0.033839665, -0.03098925, 0.9975533)
bones/47/scale = Vector3(1, 0.9999999, 1)
bones/48/name = "RingCtrl.R"
bones/48/parent = 29
bones/48/rest = Transform3D(0.97040546, -0.038884338, 0.23833002, 0.023668593, 0.9975139, 0.06637658, -0.24031854, -0.058771256, 0.9689132, -0.033461034, 0.07149337, 0.017992346)
bones/48/enabled = true
bones/48/position = Vector3(-0.033461034, 0.07149337, 0.017992346)
bones/48/rotation = Quaternion(-0.031536963, 0.120618366, 0.015763193, 0.99207276)
bones/48/rotation = Quaternion(-0.031537, 0.12061836, 0.015763195, 0.99207276)
bones/48/scale = Vector3(1, 1, 0.9999999)
bones/49/name = "LittleCtrl.R"
bones/49/parent = 29
bones/49/rest = Transform3D(0.91784126, 0.18039085, 0.353591, -0.15868121, 0.9832451, -0.08972009, -0.36385122, 0.026240563, 0.93108743, -0.036283698, 0.08284567, 0.04032453)
bones/49/enabled = true
bones/49/position = Vector3(-0.036283698, 0.08284567, 0.04032453)
bones/49/rotation = Quaternion(0.029618144, 0.1832459, -0.0866043, 0.9787969)
bones/49/rotation = Quaternion(0.029618159, 0.18324593, -0.0866043, 0.9787969)
bones/49/scale = Vector3(1, 1.0000001, 1)
bones/50/name = "ArmPole.R"
bones/50/parent = 0
bones/50/rest = Transform3D(-1, 0, 3.8941437e-07, 0, 1, 0, -3.8941437e-07, 0, -1, -0.35926044, 0.3746208, -0.29998556)
bones/50/enabled = true
bones/50/position = Vector3(-0.50106835, 0.038118243, -0.18320106)
bones/50/position = Vector3(-0.5010683, 0.038118243, -0.18320103)
bones/50/rotation = Quaternion(0, 1, 0, 1.9470718e-07)
bones/50/scale = Vector3(1, 1, 1)
bones/51/name = "ArmCtrl.R"
bones/51/parent = 0
bones/51/rest = Transform3D(0.94635737, -0.23162138, -0.2253216, -0.22532392, -0.9728065, 0.05364829, -0.23162167, -1.0385237e-07, -0.9728063, -0.26421803, 0.77379894, -6.9123985e-08)
bones/51/enabled = true
bones/51/position = Vector3(-0.26421806, 0.77379906, -5.8168844e-08)
bones/51/position = Vector3(-0.26421806, 0.7737991, -5.143851e-08)
bones/51/rotation = Quaternion(0.9864031, -0.11581065, -0.115810156, -0.013596978)
bones/51/scale = Vector3(1.0000058, 1.0000005, 1)
bones/52/name = "WristCtrl.R"
bones/52/parent = 0
bones/52/rest = Transform3D(0.9998686, -1.920822e-09, 0.016210958, -0.0011133328, -0.9976389, 0.068669416, 0.016172592, -0.06867806, -0.9975133, -0.4638072, -0.017174125, -0.022513377)
bones/52/enabled = true
bones/52/position = Vector3(-0.4992833, 0.063198194, 0.25505123)
bones/52/rotation = Quaternion(0.9634464, -0.0027018473, 0.0076421746, 0.26777864)
bones/52/position = Vector3(-0.5291817, 0.23701736, 0.25988343)
bones/52/rotation = Quaternion(0.96344376, -0.0025806255, 0.007638432, 0.26778945)
bones/52/scale = Vector3(0.99999994, 1, 1.0000055)
bones/53/name = "neutral_bone"
bones/53/parent = -1
@ -8559,29 +8559,29 @@ bones/0/name = "DownCasing"
bones/0/parent = -1
bones/0/rest = Transform3D(1, -3.1337524e-16, -6.436688e-14, -6.436689e-14, -0.009737134, -0.99995255, -3.1338864e-16, 0.99995255, -0.009737134, -1.376031e-17, -0.061970927, -0.35584867)
bones/0/enabled = true
bones/0/position = Vector3(-1.1928003e-07, 0.12658781, 1.0104566)
bones/0/rotation = Quaternion(4.2351576e-08, 0.71054107, -0.7036557, 4.1941128e-08)
bones/0/position = Vector3(-1.19209275e-07, 0.33656913, 1.0125012)
bones/0/rotation = Quaternion(0.00010756433, -0.7105326, 0.7036643, -5.5809916e-05)
bones/0/scale = Vector3(1, 0.99999994, 0.99999994)
bones/1/name = "UpCasing"
bones/1/parent = 0
bones/1/rest = Transform3D(1, 3.0177497e-16, 2.1433547e-14, -2.0314211e-16, 0.99998933, -0.0046016485, -2.143471e-14, 0.0046016485, 0.99998933, -4.4210334e-15, -0.0037285234, -0.06914721)
bones/1/enabled = true
bones/1/position = Vector3(-4.4210334e-15, -0.0037285234, -0.06914721)
bones/1/rotation = Quaternion(0.0023008303, 1.0703215e-14, -1.261531e-16, 0.9999974)
bones/1/rotation = Quaternion(0.0023008306, 2.9309312e-14, -1.904343e-12, 0.9999974)
bones/1/scale = Vector3(1, 0.9999999, 0.9999999)
bones/2/name = "Lock.L"
bones/2/parent = 1
bones/2/rest = Transform3D(1, -2.2826183e-13, 4.7683716e-06, 4.768358e-06, -0.0023846624, -0.99999714, 1.1371185e-08, 0.99999714, -0.0023846624, 0.40466008, 0.74391246, -0.04321898)
bones/2/enabled = true
bones/2/position = Vector3(0.40466008, 0.74391246, -0.04321898)
bones/2/rotation = Quaternion(0.7079494, 1.6838625e-06, 1.6878829e-06, 0.7062632)
bones/2/rotation = Quaternion(0.7079494, 1.6838635e-06, 1.6878844e-06, 0.7062632)
bones/2/scale = Vector3(1, 0.99999994, 0.99999994)
bones/3/name = "Lock.R"
bones/3/parent = 1
bones/3/rest = Transform3D(1, -2.2826183e-13, 4.7683716e-06, 4.768358e-06, -0.0023846624, -0.99999714, 1.1371185e-08, 0.99999714, -0.0023846624, -0.4074956, 0.74391246, -0.04321898)
bones/3/enabled = true
bones/3/position = Vector3(-0.4074956, 0.74391246, -0.04321898)
bones/3/rotation = Quaternion(0.7079494, 1.6838625e-06, 1.6878829e-06, 0.7062632)
bones/3/rotation = Quaternion(0.7079494, 1.6838635e-06, 1.6878844e-06, 0.7062632)
bones/3/scale = Vector3(1, 0.99999994, 0.99999994)
[node name="Case" type="MeshInstance3D" parent="Camera3D/molikman_hands/Armature/Skeleton3D"]
@ -8807,6 +8807,7 @@ player_input = NodePath("../PlayerInput")
jump_velocity = 12.0
[node name="WeaponSystem" type="Node" parent="." node_paths=PackedStringArray("animation_player", "camera", "player", "player_input")]
unique_name_in_owner = true
script = ExtResource("4_qlg0r")
animation_player = NodePath("../Camera3D/molikman_hands/AnimationPlayer")
camera = NodePath("../Camera3D")

View file

@ -71,6 +71,15 @@ func add(state: WeaponSubStateMachine, slot: StringName,ignore_parent: bool = fa
ammo_updated.emit(current_state.ammo,current_state.remaining_ammo)
state.enter.call_deferred()
func get_empty_ability_slot() -> StringName:
if slots["ability_first"] == null:
return "ability_first"
elif slots["ability_second"] == null:
return "ability_second"
elif slots["ability_third"] == null:
return "ability_third"
return "ability_first"
@rpc("authority","call_remote","reliable")
func switch(to: StringName, exit: bool = true):
if slots.has(to) == false or slots[to] == null or slots[to] == current_state or (multiplayer.get_remote_sender_id() != 1 and is_multiplayer_authority() == false):