I created a class which stores some values like Health, Level etc.
extends Node
var Level = 1 setget set_Level, get_Level
var Health = 100 setget set_Health, get_Health
var Max_Health = 100 setget set_Max_Health, get_Max_Health
var Experience = 0 setget set_Experience, get_Experience
var Max_Experience = 10 setget set_Max_Experience, get_Max_Experience
var Regeneration = 0.01 setget set_Regeneration, get_Regeneration
var Walk_Speed = 200.0 setget set_Walk_Speed, get_Walk_Speed
var Gravity = 200.0 setget set_Gravity, get_Gravity
var Jump_Height = 200.0 setget set_Jump_Height, get_Jump_Height
var Attackspeed_Multiplier = 1.0 setget set_Attackspeed_Multiplier, get_Attackspeed_Multiplier
var Base_Damage = 5 setget set_Base_Damage, get_Base_Damage
var Damage_Multiplier = 1.0 setget set_Damage_Multiplier, get_Damage_Multiplier
var Damage setget ,get_Damage
var Protection = 0 setget set_Protection, get_Protection
var Hero = 0 setget set_Hero, get_Hero
func _ready():
pass
func set_Level(var level):
Level = level
func get_Level():
return Level
func set_Health(var health):
Health = health
func get_Health():
return Health
func set_Max_Health(var max_Health):
Max_Health = max_Health
func get_Max_Health():
return Max_Health
func set_Experience(var experience):
Experience = experience
func get_Experience():
return Experience
func set_Max_Experience(var max_Experience):
Max_Experience = max_Experience
func get_Max_Experience():
return Max_Experience
func set_Regeneration(var regeneration):
Regeneration = regeneration
func get_Regeneration():
return Regeneration
func set_Walk_Speed(var walk_Speed):
Walk_Speed = walk_Speed
func get_Walk_Speed():
return Walk_Speed
func set_Gravity(var gravity):
Gravity = gravity
func get_Gravity():
return Gravity
func set_Jump_Height(var jump_Height):
Jump_Height = jump_Height
func get_Jump_Height():
return Jump_Height
func set_Damage_Multiplier(var damage_Multiplier):
Damage_Multiplier = damage_Multiplier
func get_Damage_Multiplier():
return Damage_Multiplier
func set_Attackspeed_Multiplier(var attackspeed_Multiplier):
Attackspeed_Multiplier = attackspeed_Multiplier
func get_Attackspeed_Multiplier():
return Attackspeed_Multiplier
func set_Base_Damage(var base_Damage):
Base_Damage = base_Damage
func get_Base_Damage():
return Base_Damage
func set_Protection(var protection):
Protection = Protection
func get_Protection():
return Protection
func get_Damage(var enemy):
return (get_Base_Damage() * get_Damage_Multiplier())*(1-enemy.get_Protection()/100)
func set_Hero(var hero):
Hero = hero
func get_Hero():
return Hero
But I don't know how I should call this class correctly. In my hero.gd I use
var stats = preload('res://scripts/stats.gd').new()
BUT if I use this in another class the values are not the same.
Is there a way I can use to make the full class static?
static func set_Level(var level):
Level = level
static func get_Level():
return Level
Won't work because it can't finde Level