andy
3 years ago
3 changed files with 0 additions and 293 deletions
@ -1,184 +0,0 @@ |
|||||
#!/usr/bin/env python3 |
|
||||
|
|
||||
import sqlite3 |
|
||||
|
|
||||
episodes = ['ep1', 'ep2', 'ep4'] |
|
||||
difficulties = ['normal', 'hard', 'veryhard', 'ultimate'] |
|
||||
sectionids = ['viridia', 'greenill', 'skyly', 'bluefull', 'purplenum', 'pinkal', 'redria', 'oran', 'yellowboze', 'whitill'] |
|
||||
|
|
||||
with open('drops','r') as infile: |
|
||||
drops = infile.readlines() |
|
||||
drops = [drop.strip() for drop in drops] |
|
||||
|
|
||||
ep1monsters = [ |
|
||||
'AlRappy', |
|
||||
'BarbarousWolf', |
|
||||
'Booma', |
|
||||
'Bulclaw', |
|
||||
'Canadine', |
|
||||
'Canane', |
|
||||
'ChaosBringer', |
|
||||
'ChaosSorcerer', |
|
||||
'Claw', |
|
||||
'DarkBelra', |
|
||||
'DarkGunner', |
|
||||
'Delsaber', |
|
||||
'Dimenian', |
|
||||
'Dubchic', |
|
||||
'EvilShark', |
|
||||
'Garanz', |
|
||||
'Gigobooma', |
|
||||
'Gillchic', |
|
||||
'Gobooma', |
|
||||
'GrassAssassin', |
|
||||
'GuilShark', |
|
||||
'Hidoom', |
|
||||
'Hildebear', |
|
||||
'Hildeblue', |
|
||||
'LaDimenian', |
|
||||
'Migium', |
|
||||
'Mothmant', |
|
||||
'NanoDragon', |
|
||||
'NarLily', |
|
||||
'PalShark', |
|
||||
'PanArms', |
|
||||
'PofuillySlime', |
|
||||
'PoisonLily', |
|
||||
'PouillySlime', |
|
||||
'RagRappy', |
|
||||
'SavageWolf', |
|
||||
'SinowBeat', |
|
||||
'SinowGold', |
|
||||
'SoDimenian', |
|
||||
'Dragon', |
|
||||
'DeRolLe', |
|
||||
'VolOpt', |
|
||||
'DarkFalz'] |
|
||||
|
|
||||
ep2monsters = [ |
|
||||
'BarbarousWolf', |
|
||||
'ChaosSorcerer', |
|
||||
'DarkBelra', |
|
||||
'Delbiter', |
|
||||
'Deldepth', |
|
||||
'DelLily', |
|
||||
'Delsaber', |
|
||||
'Dimenian', |
|
||||
'Dolmdarl', |
|
||||
'Dolmolm', |
|
||||
'Dubchic', |
|
||||
'EasterRappy', |
|
||||
'Epsilon', |
|
||||
'Garanz', |
|
||||
'Gee', |
|
||||
'Gibbles', |
|
||||
'GiGue', |
|
||||
'Gillchic', |
|
||||
'GrassAssassin', |
|
||||
'HalloRappy', |
|
||||
'Hidoom', |
|
||||
'Hildebear', |
|
||||
'Hildeblue', |
|
||||
'IllGill', |
|
||||
'LaDimenian', |
|
||||
'LoveRappy', |
|
||||
'Mericarol', |
|
||||
'Mericus', |
|
||||
'Merikle', |
|
||||
'Merillia', |
|
||||
'Meriltas', |
|
||||
'Migium', |
|
||||
'Morfos', |
|
||||
'Mothmant', |
|
||||
'NarLily', |
|
||||
'PanArms', |
|
||||
'PoisonLily', |
|
||||
'RagRappy', |
|
||||
'Recon', |
|
||||
'SavageWolf', |
|
||||
'SinowBerill', |
|
||||
'SinowSpigell', |
|
||||
'SinowZele', |
|
||||
'SinowZoa', |
|
||||
'SoDimenian', |
|
||||
'StRappy', |
|
||||
'UlGibbon', |
|
||||
'ZolGibbon', |
|
||||
'BarbaRay', |
|
||||
'GolDragon', |
|
||||
'GalGryphon', |
|
||||
'OlgaFlow'] |
|
||||
|
|
||||
ep4monsters = [ |
|
||||
'Astark', |
|
||||
'BaBoota', |
|
||||
'Boota', |
|
||||
'DelRappyCrater', |
|
||||
'DelRappyDesert', |
|
||||
'Dorphon', |
|
||||
'DorphonEclair', |
|
||||
'Girtablulu', |
|
||||
'Goran', |
|
||||
'GoranDetonator', |
|
||||
'MerissaA', |
|
||||
'MerissaAA', |
|
||||
'PazuzuCrater', |
|
||||
'PazuzuDesert', |
|
||||
'PyroGoran', |
|
||||
'SandRappyCrater', |
|
||||
'SandRappyDesert', |
|
||||
'SatelliteLizardCrater', |
|
||||
'SatelliteLizardDesert', |
|
||||
'YowieCrater', |
|
||||
'YowieDesert', |
|
||||
'ZeBoota', |
|
||||
'ZuCrater', |
|
||||
'ZuDesert', |
|
||||
'SaintMillion', |
|
||||
'Shambertin', |
|
||||
'Kondrieu'] |
|
||||
|
|
||||
|
|
||||
epmonsters = { |
|
||||
'ep1': ep1monsters, |
|
||||
'ep2': ep2monsters, |
|
||||
'ep4': ep4monsters |
|
||||
} |
|
||||
|
|
||||
conn = sqlite3.connect('elsewaredrops.db') |
|
||||
#conn = sqlite3.connect('memory:') |
|
||||
curs = conn.cursor() |
|
||||
|
|
||||
def create_table(): |
|
||||
curs.execute('CREATE TABLE IF NOT EXISTS drops (episode TEXT, difficulty TEXT, sectionid TEXT, monster TEXT, item TEXT, rate REAL)') |
|
||||
#conn.commit() |
|
||||
curs.execute("SELECT COUNT(*) FROM drops") |
|
||||
result = curs.fetchall() |
|
||||
if result[0][0] == 0: |
|
||||
for drop in drops: |
|
||||
line = drop.strip().split(',') |
|
||||
curs.execute("INSERT INTO drops (episode, difficulty, sectionid, monster, item, rate) VALUES (?, ?, ?, ?, ?, ?)", (line[0], line[1], line[2], line[3], line[4], line[5])) |
|
||||
else: |
|
||||
print("already data in the db") |
|
||||
conn.commit() |
|
||||
|
|
||||
print('elseware drops') |
|
||||
for episode in episodes: |
|
||||
for difficulty in difficulties: |
|
||||
print('{} {}'.format(episode, difficulty)) |
|
||||
print('enemy', sep='', end='') |
|
||||
for sectionid in sectionids: |
|
||||
print(',{}'.format(sectionid), sep='', end='') |
|
||||
print() |
|
||||
for monster in epmonsters[episode]: |
|
||||
print('{}'.format(monster), sep='', end='') |
|
||||
curs.execute("SELECT item FROM drops WHERE episode = '{}' AND difficulty = '{}' AND monster = '{}'".format(episode, difficulty, monster)) |
|
||||
rows = curs.fetchall() |
|
||||
for row in rows: |
|
||||
print(',{}'.format(row[0]), sep='', end='') |
|
||||
print() |
|
||||
print() |
|
||||
print() |
|
||||
|
|
||||
curs.close() |
|
||||
conn.close() |
|
@ -1,73 +0,0 @@ |
|||||
#!/usr/bin/env python3 |
|
||||
|
|
||||
import toml |
|
||||
|
|
||||
episodes = ['ep1', 'ep2', 'ep4'] |
|
||||
difficulties = ['normal', 'hard', 'veryhard', 'ultimate'] |
|
||||
sectionids = ['viridia', 'greenill', 'skyly', 'bluefull', 'purplenum', 'pinkal', 'redria', 'oran', 'yellowboze', 'whitill'] |
|
||||
base_dir = '../data/drops' # assumes script is running from /path/to/elseware/tools |
|
||||
|
|
||||
def get_area_percents(): |
|
||||
for episode in episodes: |
|
||||
print('episode: {}'.format(episode)) |
|
||||
for difficulty in difficulties: |
|
||||
print('difficulty: {}'.format(difficulty)) |
|
||||
for sectionid in sectionids: |
|
||||
#print('sectionid: {}'.format(sectionid)) |
|
||||
area_toml = toml.load('{}/{}/{}/{}/area_percent_pattern.toml'.format(base_dir, episode, difficulty, sectionid)) |
|
||||
keys = list(area_toml.keys()) |
|
||||
attrs1 = [0,0,0,0,0,0,0,0,0,0] |
|
||||
attrs2 = [0,0,0,0,0,0,0,0,0,0] |
|
||||
attrs3 = [0,0,0,0,0,0,0,0,0,0] |
|
||||
for i in range(0, len(keys)): |
|
||||
if 'attribute1' in area_toml[keys[i]]: |
|
||||
attrs1[i] = area_toml[keys[i]]['attribute1'] |
|
||||
if 'attribute2' in area_toml[keys[i]]: |
|
||||
attrs2[i] = area_toml[keys[i]]['attribute2'] |
|
||||
if 'attribute3' in area_toml[keys[i]]: |
|
||||
attrs3[i] = area_toml[keys[i]]['attribute3'] |
|
||||
#print('episode: {}, difficulty: {}, sectionid: {}'.format(episode, difficulty, sectionid)) |
|
||||
print('{}\n{}\n{}'.format(attrs1,attrs2,attrs3)) |
|
||||
print('\n\n') |
|
||||
|
|
||||
# print('episode: {}, difficulty: {}, sectionid: {}, key: {}\ntoml: {}'.format(episode, difficulty, sectionid, key, area_toml[key])) |
|
||||
# if 'attribute1' in area_toml[key]: |
|
||||
# print('attribute1,{}'.format(area_toml[key]['attribute1']), sep=',', end=',') |
|
||||
# if 'attribute2' in area_toml[key]: |
|
||||
# print('attribute2,{}'.format(area_toml[key]['attribute2']), sep=',', end=',') |
|
||||
# if 'attribute3' in area_toml[key]: |
|
||||
# print('attribute3,{}'.format(area_toml[key]['attribute3']), sep=',', end='') |
|
||||
# print() |
|
||||
|
|
||||
|
|
||||
def get_percent_patterns(): |
|
||||
for episode in episodes: |
|
||||
# print('episode: {}'.format(episode)) |
|
||||
for difficulty in difficulties: |
|
||||
# print('difficulty: {}'.format(difficulty)) |
|
||||
for sectionid in sectionids: |
|
||||
print('{}, {}, {}'.format(episode, difficulty, sectionid)) |
|
||||
percent_toml = toml.load('{}/{}/{}/{}/percent_rate.toml'.format(base_dir, episode, difficulty, sectionid)) |
|
||||
keys = list(percent_toml.keys()) |
|
||||
for key in percent_toml.keys(): |
|
||||
print('percent_toml[{}]: '.format(key), sep='', end='') |
|
||||
for p in range(5,95,5): |
|
||||
print(' p{}: {}'.format(p, percent_toml[key]['p' + str(p)] / 100.0), sep=',', end=',') |
|
||||
print() |
|
||||
print() |
|
||||
pattern1 = [[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]] |
|
||||
pattern2 = [[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]] |
|
||||
pattern3 = [[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]] |
|
||||
pattern4 = [[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]] |
|
||||
pattern5 = [[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]] |
|
||||
pattern6 = [[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]] |
|
||||
pass |
|
||||
|
|
||||
|
|
||||
def main(): |
|
||||
#get_area_percents() |
|
||||
get_percent_patterns() |
|
||||
|
|
||||
|
|
||||
if __name__ == '__main__': |
|
||||
main() |
|
@ -1,36 +0,0 @@ |
|||||
#!/usr/bin/env python3 |
|
||||
|
|
||||
import toml, os |
|
||||
|
|
||||
# TODO |
|
||||
# print summary of all drops (all eps/diffs/ids) |
|
||||
# figure out a format for summary |
|
||||
# print specific monster info (ie: all falz drops for all ids, or only a specific id, or only an episode) |
|
||||
# search for specific item drop rate across all eps/diffs/ids |
|
||||
# search for specific item in a specific criteria (ie: only look for vjaya drops in ep1, or only for specific section id, or specific episode |
|
||||
|
|
||||
episodes = ['ep1', 'ep2', 'ep4'] |
|
||||
difficulties = ['normal', 'hard', 'veryhard', 'ultimate'] |
|
||||
sectionids = ['viridia', 'greenill', 'skyly', 'bluefull', 'purplenum', 'pinkal', 'redria', 'oran', 'yellowboze', 'whitill'] |
|
||||
base_dir = '../data/drops' # assumes script is running from /path/to/elseware/tools |
|
||||
|
|
||||
def print_all_drops(): |
|
||||
for episode in episodes: |
|
||||
for difficulty in difficulties: |
|
||||
for sectionid in sectionids: |
|
||||
rare_rates = toml.load('{}/{}/{}/{}/rare_rate.toml'.format(base_dir, episode, difficulty, sectionid)) |
|
||||
dar_rates = toml.load('{}/{}/{}/{}/monster_dar.toml'.format(base_dir, episode, difficulty, sectionid)) |
|
||||
for key in rare_rates.keys(): |
|
||||
monster = key |
|
||||
item = rare_rates[key][0]['item'] |
|
||||
droprate = rare_rates[key][0]['rate'] * (dar_rates[key]['dar']/100) |
|
||||
print('{},{},{},{},{},{:.4f}'.format(episode, difficulty, sectionid, monster, item, droprate * 100)) |
|
||||
|
|
||||
|
|
||||
|
|
||||
def main(): |
|
||||
print_all_drops() |
|
||||
|
|
||||
|
|
||||
if __name__ == '__main__': |
|
||||
main() |
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue