def inventar(): if con.hero.name is None: return redirect('/log_in') sl = [] for i in con.hero.data['characteristics'].keys(): sl.append([i, con.hero.data['characteristics'][i]]) eq = con.hero.data['equip'][:] eq.extend((5 - len(con.hero.data['equip'])) * [5 * [' ']]) tables = { 'table_1': { 'header': ['Характеристика', 'Значение'], 'character': sl, }, 'table_2': { 'header': ['Название', 'Доступ', 'Цена', 'Урон/Защита', 'Надето'], 'equip': eq, }, 'table_3': { 'header': ['Название', 'Количество'], 'invent': [['Презренный металл', str(con.hero.data['money'])], ['Зелье здоровья', str(con.hero.data['invent'].count('хилка'))], ['Зелье маны', str(con.hero.data['invent'].count('манка'))]] }, } con.refresh_db() return render_template('inventar.html', title='DarkQuest', tables=tables, level=con.hero.data['lvl'])
def invent(a): if con.hero.name is None: return redirect('/log_in') a = int(a) if a != 0 and a <= len(con.hero.data['equip']): if con.hero.data['equip'][a - 1][-1] == 'Да': con.hero.data['equip'][a - 1][-1] = 'Нет' else: if con.hero.data['equip'][a - 1][1] <= con.hero.data['lvl']: con.hero.data['equip'][a - 1][-1] = 'Да' for i in range(len(con.hero.data['equip'])): if a - 1 != i: if 'dm' in con.hero.data['equip'][a - 1][-2]: if 'dm' in con.hero.data['equip'][i][-2] and con.hero.data['equip'][i][-1] == 'Да': con.hero.data['equip'][i][-1] = 'Нет' else: if 'df' in con.hero.data['equip'][i][-2] and con.hero.data['equip'][i][-1] == 'Да': con.hero.data['equip'][i][-1] = 'Нет' con.hero.total_dm = con.hero.data['characteristics']['Damage'] con.hero.total_df = con.hero.data['characteristics']['Armor'] for i in range(len(con.hero.data['equip'])): if con.hero.data['equip'][i][-1] == 'Да': if 'df' in con.hero.data['equip'][i][-2]: con.hero.total_df += int(con.hero.data['equip'][i][-2].split()[0]) else: con.hero.total_dm += int(con.hero.data['equip'][i][-2].split()[0]) con.refresh_db() return redirect('/inventar')
def fattk(): if con.hero.name is None: return redirect('/log_in') try: con.refresh_db() return location_fields_trip(fight_validator(attack(True))) except Exception: return redirect('/fields')
def cdefence(): if con.hero.name is None: return redirect('/log_in') try: con.refresh_db() return location_caves_trip(fight_validator(attack(False))) except Exception: return redirect('/caves')
def fight_parser(file, elements_to_put): with open(os.path.abspath('static/events/' + file), 'r', encoding='UTF-8') as file: event_form = file.read().split('|') for elem in event_form: if elem in elements_to_put: event_form[event_form.index(elem)] = str(elements_to_put[elem]) con.refresh_db() return ''.join(event_form)
def chealpot(): if con.hero.data['invent'].count('хилка') > 0 and con.hero.data['in_battle'] and \ con.hero.data['cur_loc'] == 'caves': con.hero.data['invent'].pop(con.hero.data['invent'].index('хилка')) con.hero.data['c_hp'] += 5 * con.hero.data['lvl'] con.check_player_stats() else: run_away() con.refresh_db() return redirect('/caves')
def location_caves_trip(atributes=None): if con.hero.name is None: return redirect('/log_in') fight = con.hero.data['in_battle'] if fight is not True and atributes is None: title = 'Dark Caves' event_text = location_caves.next_event()['text'] else: title = 'Dark Fight' event_text = atk_screen(atributes) con.hero.data['cur_loc'] = 'caves' con.refresh_db() return render_template('caves.html', event_text=event_text, title=title, fight=con.hero.data['in_battle'], my_hp=con.hero.data['c_hp'], mon_hp=con.hero.data['m_hp'])
def show_cost_gear(): if con.hero.name is None: return redirect('/log_in') import sqlite3 itm = request.form['test2'] co = sqlite3.connect('db/items.sqlite') cur = co.cursor() result = cur.execute('''SELECT * FROM Weapons WHERE name = ?''', (itm,)).fetchone() '''сюда надо запихнуть покозатель денег игрока ---->''' con.refresh_db() if result is None: return render_template('choice2.html') global item item = itm return render_template('success2.html', item=item, lvl=result[2], gold=result[3], par='Атака +' + result[4].split()[0])
def init_hero(name): co = sqlite3.connect('db/base.sqlite') cur = co.cursor() con.hero.name = name con.hero.data = eval(cur.execute('''SELECT data FROM users WHERE name = ?''', (name,)).fetchall()[0][0]) con.hero.total_dm = con.hero.data['characteristics']['Damage'] con.hero.total_df = con.hero.data['characteristics']['Armor'] for i in range(len(con.hero.data['equip'])): if con.hero.data['equip'][i][-1] == 'Да': if 'df' in con.hero.data['equip'][i][-2]: con.hero.total_df += int(con.hero.data['equip'][i][-2].split()[0]) else: con.hero.total_dm += int(con.hero.data['equip'][i][-2].split()[0]) co.close() con.refresh_db()
def run_away(): if con.hero.name is None: return redirect('/log_in') con.hero.data['in_battle'] = False con.refresh_db() return redirect('/main_window')
def global_map(): if con.hero.name is None: return redirect('/log_in') con.refresh_db() return render_template('map.html')
def main_window(): if con.hero.name is None: return redirect('/log_in') con.refresh_db() fons = 'static/img/image3.gif' return render_template('test.html', fon=fons)
def buy_gear(): if con.hero.name is None: return redirect('/log_in') con.refresh_db() return tranzit_gear()
def choice1(): if con.hero.name is None: return redirect('/log_in') con.refresh_db() return render_template('choice1.html')
def no(): if con.hero.name is None: return redirect('/log_in') con.refresh_db() return render_template('no_money.html')
def town_map(): if con.hero.name is None: return redirect('/log_in') con.refresh_db() return render_template('Dark Quest.html')
def settings(): if con.hero.name is None: return redirect('/log_in') con.refresh_db() return render_template('Settings.html')
def window_help(): if con.hero.name is None: return redirect('/log_in') con.refresh_db() return render_template('help.html')