diff options
-rwxr-xr-x | wiki/sedesign.py | 35 |
1 files changed, 28 insertions, 7 deletions
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("<h3>Ranged Weapons</h3>\n") ItemWrite(IT_WEAPON['RANGED'], ID=True, AEGIS=True, PRICE=True, WEIGHT=True, ATK=True, LVL=True, RANGE=True) + # Magic Items + wikia.write("<h3>Magical Weapons</h3>\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("<table border=1>\n") wikia.write("<tr>") @@ -324,9 +331,13 @@ def ItemWrite(tbl, ID=False, AEGIS=False, NAME=False, PRICE=False, WEIGHT=False, wikia.write("<th>Lvl</th>") if ATK: wikia.write("<th>Atk</th>") + if MATK: + wikia.write("<th>Matk</th>") + if ATK and MATK: + wikia.write("<th>+</th>") + if ATK or MATK: if stgen: wikia.write("<th>Adj. Atk.</th>") - wikia.write("<th>Matk</th>") if RANGE: wikia.write("<th>Range</th>") if HEALING: @@ -387,6 +398,16 @@ def ItemWrite(tbl, ID=False, AEGIS=False, NAME=False, PRICE=False, WEIGHT=False, wikia.write("<td>Lv: %s</td>" % i.lvl) if ATK: wikia.write("<td>Atk: %s</td>" % i.atk) + if MATK: + wikia.write("<td>%s</td>" % i.matk) + if ATK and MATK: + try: + tmpatmat=i.atk.replace("Atk: ", "") + print("`%s`+`%s`=?" % (tmpatmat, i.matk)) + wikia.write("<td><i>%s</i></td>" % str(int(i.matk)+int(tmpatmat))) + except: + wikia.write("<td><i>?</i></td>") + 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("<th>%d ~ %d <i>(%.2f)</i></th>" % (lat, hat, fc)) - wikia.write("<td>%s</td>" % i.matk) if RANGE: wikia.write("<td>%s</td>" % i.range) if HEALING: |