2025-10-28 01:57:19 +02:00
|
|
|
{% extends "layouts/base.html" %}
|
|
|
|
|
|
|
|
|
|
{% block title %}KH3 - Pro Codes Simulator{% endblock %}
|
|
|
|
|
|
|
|
|
|
{% block head %}
|
|
|
|
|
<link rel="stylesheet" href="{{ crate::find_hash("/public/styles/kh3/pro-codes-sim.css") }}"></link>
|
|
|
|
|
<script
|
|
|
|
|
type="module"
|
|
|
|
|
src="{{ crate::find_hash("/public/scripts/kh3/pro-codes-sim.js") }}"
|
|
|
|
|
></script>
|
|
|
|
|
{% endblock %}
|
|
|
|
|
|
|
|
|
|
{% block content %}
|
2025-10-28 12:40:48 +02:00
|
|
|
<div id="score">
|
2025-10-28 23:38:15 +02:00
|
|
|
<h1 id="totalMerit">Merit: 0</h1>
|
2025-10-28 12:40:48 +02:00
|
|
|
<h2 id="totalStars">Stars: 0</h2>
|
|
|
|
|
</div>
|
2025-10-28 01:57:19 +02:00
|
|
|
<div id="codes">
|
|
|
|
|
<div class="slot">
|
2025-10-28 12:40:48 +02:00
|
|
|
<button onclick="toggleAllCodes()">Toggle All</button>
|
2025-10-28 01:57:19 +02:00
|
|
|
</div>
|
2025-10-28 12:40:48 +02:00
|
|
|
{% for code in pro_codes %}
|
|
|
|
|
<div class="slot">
|
|
|
|
|
<input type="checkbox" id="{{code.id()}}" autocomplete="off" data-stars="{{code.stars}}" onclick="toggleCode(this)">
|
|
|
|
|
<label for="{{code.id()}}">{{code.name}}</label>
|
|
|
|
|
<span>
|
|
|
|
|
{% for star in 0..5 %}
|
|
|
|
|
{% if star < code.stars %}★{% else %}☆{% endif %}
|
|
|
|
|
{% endfor %}
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
{% endfor %}
|
2025-10-28 01:57:19 +02:00
|
|
|
</div>
|
|
|
|
|
<div id="fights">
|
2025-10-28 23:38:15 +02:00
|
|
|
<div class="inset-box-shadow"></div>
|
|
|
|
|
<div class="scrollable">
|
|
|
|
|
{% for fight in fights %}
|
|
|
|
|
<div class="slot">
|
2025-10-28 23:55:16 +02:00
|
|
|
<button onclick="markFight(this)" data-enemy="{{fight.enemy}}" data-merit-source="{{fight.source()}}" data-base-merit="{{fight.merit}}">Mark</button>
|
2025-10-28 23:38:15 +02:00
|
|
|
<span>{{fight.enemy}}</span>
|
|
|
|
|
</div>
|
|
|
|
|
{% endfor %}
|
2025-10-28 01:57:19 +02:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
{% endblock %}
|