From a6b65386f8874ad9e7a52f4c0d0529b2ba8d454a Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sun, 21 Jun 2020 03:47:22 -0300 Subject: New MATK Rule --- wiki/sedesign.py | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) (limited to 'wiki') diff --git a/wiki/sedesign.py b/wiki/sedesign.py index ba722b1..c8b90fe 100755 --- a/wiki/sedesign.py +++ b/wiki/sedesign.py @@ -27,6 +27,7 @@ IT_ARMOR={ 'MISC': [], # FOR FAILURE 'EQP_HEAD_TOP':[], # HATS/HELMETS 'EQP_HAND_L': []} # SHIELDS IT_WEAPON={ 'RANGED': [], # RANGED WEAPONS + 'MAGICAL':[], # MAGICAL WEAPONS 'HAND_2':[], # TWO HAND (LR) 'HAND_1':[]} # WEAPONS (R) @@ -140,7 +141,9 @@ def ItAlloc(it): else: raise Exception("Invalid Loc for ID %s: %s" % (it.id, it.loc)) elif "IT_WEAPON" in a: - if int(it.range) > 2: + if int(it.matk) > 0: + IT_WEAPON["MAGICAL"].append(it) + elif int(it.range) > 2: IT_WEAPON["RANGED"].append(it) elif "HAND_L" in it.loc or "EQP_ARMS" in it.loc: IT_WEAPON["HAND_2"].append(it) @@ -282,6 +285,10 @@ def writeItems(): wikia.write("

Ranged Weapons

\n") ItemWrite(IT_WEAPON['RANGED'], ID=True, AEGIS=True, PRICE=True, WEIGHT=True, ATK=True, LVL=True, RANGE=True) + # Magic Items + wikia.write("

Magical Weapons

\n") + ItemWrite(IT_WEAPON['MAGICAL'], ID=True, AEGIS=True, PRICE=True, WEIGHT=True, ATK=True, MATK=True, LVL=True, RANGE=True) + # Write AegisName with restrictions def hl(it): buff="" @@ -302,7 +309,7 @@ def hl(it): # wikia.write("Id|Aegis|Name|Weight|Atk|Matk|\n") # wikia.write("Id|Aegis|Name|Price|Weight|\n") -def ItemWrite(tbl, ID=False, AEGIS=False, NAME=False, PRICE=False, WEIGHT=False, DEF=False, LVL=False, ATK=False, RANGE=False, HEALING=False, SCRIPT=False, DROPPER=False): +def ItemWrite(tbl, ID=False, AEGIS=False, NAME=False, PRICE=False, WEIGHT=False, DEF=False, LVL=False, ATK=False, MATK=False, RANGE=False, HEALING=False, SCRIPT=False, DROPPER=False): global stgen wikia.write("\n") wikia.write("") @@ -324,9 +331,13 @@ def ItemWrite(tbl, ID=False, AEGIS=False, NAME=False, PRICE=False, WEIGHT=False, wikia.write("") if ATK: wikia.write("") + if MATK: + wikia.write("") + if ATK and MATK: + wikia.write("") + if ATK or MATK: if stgen: wikia.write("") - wikia.write("") if RANGE: wikia.write("") if HEALING: @@ -387,6 +398,16 @@ def ItemWrite(tbl, ID=False, AEGIS=False, NAME=False, PRICE=False, WEIGHT=False, wikia.write("" % i.lvl) if ATK: wikia.write("" % i.atk) + if MATK: + wikia.write("" % i.matk) + if ATK and MATK: + try: + tmpatmat=i.atk.replace("Atk: ", "") + print("`%s`+`%s`=?" % (tmpatmat, i.matk)) + wikia.write("" % str(int(i.matk)+int(tmpatmat))) + except: + wikia.write("") + if ATK or MATK: if stgen: lv=int(i.lvl) at=int(i.atk) @@ -418,20 +439,20 @@ def ItemWrite(tbl, ID=False, AEGIS=False, NAME=False, PRICE=False, WEIGHT=False, if lv > 45 and not i in IT_WEAPON['RANGED']: fc-=(lv-45)/100.0 + ## Magic Weapons has rules of themselves + if int(i.matk) > 0: + fc=7.0+((100-lv)/100.0) + ## HAT is for craft or rare items. lat=lv*fc hat=lv*(fc+max(0.01, 1.0-(lv/100.0))) # Edge Cases - ## Don't calculate magic weapons - if int(i.matk) > 0: - lat=hat=0 ## Don't recalculate noob weapon if lv <= 20: lat=hat=at wikia.write("" % (lat, hat, fc)) - wikia.write("" % i.matk) if RANGE: wikia.write("" % i.range) if HEALING: -- cgit v1.2.3-60-g2f50
LvlAtkMatk+Adj. Atk.MatkRangeLv: %sAtk: %s%s%s?%d ~ %d (%.2f)%s%s