Chelimbalo/gui/buy_menu/shop.gd
2025-12-12 02:15:02 +05:00

32 lines
863 B
GDScript

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()
if not weapon_system.can_add_ability(weapon.get_gid(),slot):
return
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)