This repository has been archived on 2025-04-15. You can view files and clone it, but cannot push or open issues or pull requests.
Gamify-Life/Gamify Life/Tasks Stuffs/Scripts/Player.gd
2025-04-15 11:55:58 -07:00

105 lines
3.1 KiB
GDScript

extends Node3D
var Swapper = false
var HP: float = 100
var MaxHP: float = 100
var Attack: float = 10
var Heal: float = 2
var Level: int = 1
var Experience: float = 0
var PointsLeft: int = 0
@export_node_path("Node3D") var EnemyPath
@onready var InventoryWeapons = get_tree().get_current_scene().get_node("InventoryGUI/Weapons/HFlowContainer")
@onready var InventoryHelmets = get_tree().get_current_scene().get_node("InventoryGUI/Helmet/HFlowContainer")
@onready var InventoryArmours = get_tree().get_current_scene().get_node("InventoryGUI/Armor/HFlowContainer")
@export_node_path("Control") var InventoryGUI
@export_category("Equipment")
@export_node_path("Sprite3D") var Weapon
@export_node_path("Sprite3D") var Helmet
@export_node_path("Sprite3D") var Armour
@export var Weapons: Array[CompressedTexture2D]
@export var Helmets: Array[CompressedTexture2D]
@export var Armours: Array[CompressedTexture2D]
@export var WeaponRotation: Array[Vector3]
@export var WeaponPosition: Array[Vector3]
func _ready():
# stop from loading in the menu
if InventoryWeapons == null:
return
var stringies = GlobalVars.LoadList("user://Items")
var Number = 0
# stops a bug from happening
if stringies.size() == 0:
GlobalVars.SaveItems()
stringies = GlobalVars.LoadList("user://Items")
# loading the invenstory stuff
while Number != GlobalVars.HelmetOwned.size():
GlobalVars.HelmetOwned[Number] = int(stringies[0])
stringies.remove_at(0)
Number = Number + 1
Number = 0
while Number != GlobalVars.WeaponsOwned.size():
GlobalVars.WeaponsOwned[Number] = int(stringies[0])
stringies.remove_at(0)
Number = Number + 1
Number = 0
while Number != GlobalVars.ArmourOwned.size():
GlobalVars.ArmourOwned[Number] = int(stringies[0])
stringies.remove_at(0)
Number = Number + 1
# now, load the fun stuff.
Number = 0
var Children = InventoryHelmets.get_children()
Children.remove_at(0)
stringies = GlobalVars.LoadList("user://Items")
for i in GlobalVars.HelmetOwned:
if i == 0:
Children[0].visible = false
Children.remove_at(0)
Children = InventoryWeapons.get_children()
Children.remove_at(0)
for i in GlobalVars.WeaponsOwned:
if i == 0:
Children[0].visible = false
Children.remove_at(0)
Children = InventoryArmours.get_children()
Children.remove_at(0)
for i in GlobalVars.ArmourOwned:
if i == 0:
Children[0].visible = false
Children.remove_at(0)
# This function is a animation thing. Within Attack
func DealEnemyDamage():
Enemy.HP -= Attack * randf_range(1, 8)
if Swapper == false:
get_node(EnemyPath).get_node("Damage").set("emitting", true)
else:
get_node(EnemyPath).get_node("Damage2").set("emitting", true)
Swapper = !Swapper
# This is the place for inventory stuff!
func InventoryShow():
get_node(InventoryGUI).visible = true
func InventoryHide():
get_node(InventoryGUI).visible = false
func UpdateWeapon(Thing: int):
get_node(Weapon).texture = Weapons[Thing]
get_node(Weapon).rotation_degrees = WeaponRotation[Thing]
get_node(Weapon).position = WeaponPosition[Thing]
func UpdateHelmet(Thing: int):
get_node(Helmet).texture = Helmets[Thing]
func UpdateArmour(Thing: int):
get_node(Armour).texture = Armours[Thing]