You've already forked KemoFureApi
KF3: Api additions and improvements.
This commit is contained in:
@@ -87,6 +87,31 @@ def calculate_stats(friend, awaken : int, level : int, trust_percent = 0, trustA
|
||||
|
||||
return stats
|
||||
|
||||
def get_stat_growth(friend, awaken : int):
|
||||
stats_array = friend["attrScriptParam"]
|
||||
max_awaken = friend["maxAwaken"]
|
||||
|
||||
awaken_step = max_awaken + 2
|
||||
|
||||
atk_ptr = 1 * awaken_step
|
||||
satk_ptr = 2 * awaken_step
|
||||
pdef_ptr = 3 * awaken_step
|
||||
sdef_ptr = 4 * awaken_step
|
||||
hp_ptr = 5 * awaken_step
|
||||
speed_ptr = 6 * awaken_step
|
||||
|
||||
stats = {}
|
||||
i = awaken
|
||||
stats["patk"] += stats_array[atk_ptr + 1 + i]
|
||||
stats["satk"] += stats_array[satk_ptr + 1 + i]
|
||||
stats["pdef"] += stats_array[pdef_ptr + 1 + i]
|
||||
stats["sdef"] += stats_array[sdef_ptr + 1 + i]
|
||||
stats["hp"] += stats_array[hp_ptr + 1 + i]
|
||||
stats["speed"] += stats_array[speed_ptr + 1 + i]
|
||||
|
||||
return stats
|
||||
|
||||
|
||||
def clean_skill_string(input_string):
|
||||
if input_string is None:
|
||||
return None
|
||||
|
||||
@@ -3,6 +3,11 @@ import platform
|
||||
from loaders.Kingdom.numeric import numeric
|
||||
from loaders.Kingdom.kemono import clean_skill_string, calculate_stats, fill_miracle, get_awaken_materials, get_skill_materials
|
||||
|
||||
from endpoints.Kingdom.friend import Kingdom_Friend
|
||||
from endpoints.Kingdom.friends import Kingdom_Friends
|
||||
from endpoints.Kingdom.item import Kingdom_Item
|
||||
from endpoints.Kingdom.items import Kingdom_Items
|
||||
|
||||
#element 1-orange 2-blue 3-green
|
||||
#showSkillType 1-control 2-guard 3-heal 4-support 5-assault 6-aoe
|
||||
|
||||
@@ -10,7 +15,8 @@ class KingdomDB:
|
||||
processed_friends = {}
|
||||
item_stages = {}
|
||||
|
||||
def __init__(self, app) -> None:
|
||||
def __init__(self, api) -> None:
|
||||
app = api.app
|
||||
if "Kingdom" in app.databases:
|
||||
del app.databases["Kingdom"]
|
||||
|
||||
@@ -45,6 +51,10 @@ class KingdomDB:
|
||||
self.process_stages()
|
||||
|
||||
app.databases["Kingdom"] = self
|
||||
api.add_resource(Kingdom_Friend, "/Kingdom/Friend/<int:id>")
|
||||
api.add_resource(Kingdom_Friends, "/Kingdom/Friends")
|
||||
api.add_resource(Kingdom_Item, "/Kingdom/Item/<int:id>")
|
||||
api.add_resource(Kingdom_Items, "/Kingdom/Items")
|
||||
|
||||
def process_friends(self):
|
||||
self.processed_friends = {}
|
||||
@@ -87,11 +97,15 @@ class KingdomDB:
|
||||
raise Exception()
|
||||
if bk_value["effectType1"] == 4:
|
||||
lb = self.kfk_en_kemono_WkPaDc.get(bk_value['effectParam1'][0] * 100)
|
||||
if lb is None:
|
||||
lb = {"name": None, "describe": None}
|
||||
limit_breaks.append({"name": lb["name"], "desc": clean_skill_string(lb["describe"])})
|
||||
|
||||
habits = []
|
||||
for habit in friend["habitSn"]:
|
||||
hbt = self.kfk_en_kemono_WkPaDc.get(habit*100)
|
||||
if hbt is None:
|
||||
hbt = {"name": None, "describe": None}
|
||||
habits.append({"name":hbt["name"], "desc":hbt["describe"]})
|
||||
for i in range (3):
|
||||
if len(habits) < i+1:
|
||||
@@ -103,6 +117,8 @@ class KingdomDB:
|
||||
awaken_id = friend_id * 100 + i
|
||||
awaken = self.kfk_kemono_waken.get(awaken_id)
|
||||
awaken1 = self.kfk_en_kemono_waken.get(awaken_id)
|
||||
if awaken1 == None:
|
||||
awaken1 = {"describe":"missing", "brilliance":"missing"}
|
||||
if awaken != None and awaken1 != None:
|
||||
awaken["en"] = awaken1
|
||||
awakens.append(awaken)
|
||||
|
||||
Reference in New Issue
Block a user