challenge-editor/class/character_tool/character_tool.gd
2024-09-25 23:56:53 +08:00

65 lines
1.6 KiB
GDScript

class_name CharacterTool
static func get_character_attribute(character_data:Dictionary,attribute_name:String):
var arr=has_attribute(character_data)
if arr[0]:
var attribute_data=arr[1]
if attribute_data.has(attribute_name):
return attribute_data[attribute_name]
else:
return null
else:
return null
pass
static func has_attribute(character_data:Dictionary):
if character_data.has("basic_attribute"):
return [true,character_data["basic_attribute"]]
else:
return [false,null]
func get_head(character_data:Dictionary):
pass
static func cacul_fight_attribute(character_data:Dictionary)->Dictionary:
var res={}
var arr=has_attribute(character_data)
if arr[0]:
var attribute_data=arr[1]
#"CON":100,体质
#"AGI":100,敏捷
#"INT":100,智力
#"WIS":100,感知
#"STR":100,力量
#"MND":100,意志
#"LUC":100,幸运
#"AM":100,魅力
#体质
var CON=attribute_data["CON"]
var AGI=attribute_data["AGI"]
var INT=attribute_data["INT"]
var WIS=attribute_data["WIS"]
var STR=attribute_data["STR"]
var MND=attribute_data["MND"]
var LUC=attribute_data["LUC"]
var AM=attribute_data["AM"]
res["HP"]=CON*5
res["SP"]=INT+MND
res["VIT"]=120
pass
return res
pass
static func get_skin_now_use_data(character_data:Dictionary)->Dictionary:
return character_data["character"]["skin"][character_data["character"]["skin_now_use"]]
static func get_character_name(character_data:Dictionary)->String:
return character_data["character"]["name"]
pass
static func get_initiative_value(character_data:Dictionary)->int:
var AGI=get_character_attribute(character_data,"AGI")
return AGI/2+randi_range(-10,10)