plugin-backend #1

Merged
ada merged 34 commits from plugin-backend into main 2024-05-01 00:21:12 -05:00
20 changed files with 114 additions and 94 deletions
Showing only changes of commit 57ec06efb5 - Show all commits

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 802 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 500 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 842 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 469 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 KiB

View File

@ -9,7 +9,7 @@
<p class="w-full px-2 pt-2 text-lg">About</p> <p class="w-full px-2 pt-2 text-lg">About</p>
<hr class="justify-start w-full border-2 border-bluelight-translucent-dark rounded-xl" /> <hr class="justify-start w-full border-2 border-bluelight-translucent-dark rounded-xl" />
</div> </div>
<div class="flex flex-col flex-grow-0 p-2 space-y-2 max-h-[80svh] overflow-y-scroll"> <div class="flex flex-col flex-grow-0 p-2 space-y-2 max-h-[80svh] overflow-y-auto scrollbar-none">
{% include "tracker/howto/index.html" %} {% include "tracker/howto/index.html" %}
<details class="flex flex-col max-w-full px-4 py-2 space-y-2 rounded-lg text-md bg-gradient-to-tl shadow-sm shadow-[#242424] from-highlight-empty-light to-highlight-empty-dark text-highlight-empty-text"> <details class="flex flex-col max-w-full px-4 py-2 space-y-2 rounded-lg text-md bg-gradient-to-tl shadow-sm shadow-[#242424] from-highlight-empty-light to-highlight-empty-dark text-highlight-empty-text">
<summary class="justify-start">Settings</summary> <summary class="justify-start">Settings</summary>

View File

@ -1,66 +1,75 @@
<div class="breakdown flex flex-col space-y-2 max-w-full {{ extra_classes }}" <div class="breakdown flex flex-col space-y-2 max-w-full {{ extra_classes }}"
data-current="{{ is_current_scene }}" data-current="{{ is_current_scene }}"
data-scene="{{ scene_title }}"> data-scene="{{ scene_title }}">
<div class="px-2"> <div class="p-2 px-2 space-y-2 bg-gradient-to-br from-[#8080FF40] to-[#8080FF20]">
<div class="flex text-xl breakdown-block-title">{{ scene_title }}</div> <div class="flex flex-col w-full min-w-full">
<div class="flex flex-col justify-center md:flex-row md:space-x-4"> <div class="text-xl breakdown-block-title">{{ scene_title }}</div>
<div class="flex flex-col overflow-hidden breakdown-checks basis-1/2"> <hr class="border-2 border-bluelight-translucent-dark rounded-xl" />
<div class="flex flex-col my-2 space-y-2"> </div>
<div class="text-md breakdown-block-checks-title" <div class="flex flex-col justify-center md:flex-row">
data-checks="{{ scene_data.checks.collected }}"> <div class="mt-1 mr-0 md:mr-1 md:mt-0 p-2 bg-gradient-to-br from-[#EEEEEE20] to-[#EEEEEE10] basis-1/2 md:max-w-[50%]">
Checks: {{ scene_data.checks.collected }}/{{ scene_data.checks.total }} ({{ scene_data.checks.remaining }} left) <div class="flex flex-col flex-shrink-0 breakdown-checks">
<div class="flex flex-col my-0 space-y-2">
<div class="text-md breakdown-block-checks-title"
data-checks="{{ scene_data.checks.collected }}">
Checks: {{ scene_data.checks.collected }}/{{ scene_data.checks.total }} ({{ scene_data.checks.remaining }} left)
</div>
<hr class="border-2 border-bluelight-translucent-dark rounded-xl" />
</div>
<div class="grid grid-flow-row space-y-2 overflow-auto max-h-64 breakdown-block-checks-list scrollbar-none">
<ul class="py-0.5 min-w-max bg-bluelight-translucent-dark rounded-md px-1 text-sm hidden">
</ul>
{% for check_name, check in scene_data.checks.checks.items %}
{% if not check.name %}
<ul class="py-0.5 min-w-max bg-bluelight-translucent-dark rounded-md px-1 text-sm">
❌ {{ check_name }}
</ul>
{% endif %}
{% endfor %}
</div> </div>
<hr class="border-2 border-bluelight-translucent-dark rounded-xl" />
</div>
<div class="grid grid-flow-row pb-4 space-y-2 overflow-scroll max-h-64 scrollbar scrollbar-thumb-bluelight-dark scrollbar-track-bluelight breakdown-block-checks-list">
<ul class="py-0.5 min-w-max bg-bluelight-translucent rounded-md px-1 text-sm hidden">
</ul>
{% for check_name, check in scene_data.checks.checks.items %}
{% if not check.name %}
<ul class="py-0.5 min-w-max bg-bluelight-translucent rounded-md px-1 text-sm">
❌ {{ check_name }}
</ul>
{% endif %}
{% endfor %}
</div> </div>
</div> </div>
<div class="flex flex-col overflow-hidden breakdown-entrances basis-1/2"> <div class="mt-1 ml-0 md:ml-1 md:mt-0 p-2 bg-gradient-to-br from-[#EEEEEE20] to-[#EEEEEE10] basis-1/2 md:max-w-[50%]">
<div class="grid grid-flow-row my-2 space-y-2"> <div class="flex flex-col flex-shrink-0 overflow-hidden breakdown-entrances">
<div class="text-md breakdown-block-entrances-title" <div class="grid grid-flow-row space-y-2">
data-entrances="{{ scene_data.entrances.found }}"> <div class="text-md breakdown-block-entrances-title"
Entrances: {{ scene_data.entrances.found }}/{{ scene_data.entrances.total }} ({{ scene_data.entrances.remaining }} left) data-entrances="{{ scene_data.entrances.found }}">
Entrances: {{ scene_data.entrances.found }}/{{ scene_data.entrances.total }} ({{ scene_data.entrances.remaining }} left)
</div>
<hr class="border-2 border-bluelight-translucent-dark rounded-xl" />
</div>
<div class="grid grid-flow-row space-y-2 overflow-auto max-h-64 breakdown-block-entrances-list scrollbar-none">
<ul class="py-0.5 min-w-max bg-bluelight-translucent-dark rounded-md px-1 text-sm hidden">
</ul>
{% for entrance_origin, entrance_destination in scene_data.entrances.doors.items %}
{% if entrance_destination.door == "" %}
<ul class="py-0.5 min-w-max bg-bluelight-translucent-dark rounded-md px-1 text-sm">
❌ {{ entrance_origin }}
</ul>
{% endif %}
{% endfor %}
</div> </div>
<hr class="border-2 border-bluelight-translucent-dark rounded-xl" />
</div>
<div class="grid grid-flow-row pb-4 space-y-2 overflow-scroll max-h-64 scrollbar scrollbar-thumb-bluelight-dark scrollbar-track-bluelight breakdown-block-entrances-list">
<ul class="py-0.5 min-w-max bg-bluelight-translucent rounded-md px-1 text-sm hidden">
</ul>
{% for entrance_origin, entrance_destination in scene_data.entrances.doors.items %}
{% if entrance_destination.door == "" %}
<ul class="py-0.5 min-w-max bg-bluelight-translucent rounded-md px-1 text-sm">
❌ {{ entrance_origin }}
</ul>
{% endif %}
{% endfor %}
</div> </div>
</div> </div>
</div> </div>
<div class="overflow-scroll max-h-64 scrollbar scrollbar-thumb-bluelight-translucent scrollbar-track-bluelight-translucent"> <div class="p-2 bg-gradient-to-br from-[#EEEEEE20] to-[#EEEEEE10]">
<div class="flex flex-col p-1 mx-auto space-y-2 min-w-max breakdown-block-mapped-list"> <div class="overflow-auto scrollbar-none max-h-64">
<button type="button" <div class="flex flex-col mx-auto min-w-max breakdown-block-mapped-list">
class="py-0.5 text-start bg-gradient-to-br from-bluelight-translucent-dark to-bluelight-translucent rounded-md px-1 text-sm hidden" <button type="button"
onclick="open_breakdown(this)" class="hidden m-1 text-start bg-gradient-to-br from-bluelight-translucent-dark to-bluelight-translucent rounded-md px-1 text-sm shadow-sm shadow-[#242424]"
data-scene=""></button> onclick="open_breakdown(this)"
{% for entrance_origin, entrance_destination in scene_data.entrances.doors.items %} data-scene=""></button>
{% if entrance_destination.door %} {% for entrance_origin, entrance_destination in scene_data.entrances.doors.items %}
<button type="button" {% if entrance_destination.door %}
class="py-0.5 text-start bg-gradient-to-br from-bluelight-translucent-dark to-bluelight-translucent rounded-md px-1 text-sm shadow-sm shadow-[#242424]" <button type="button"
onclick="open_breakdown(this)" class="m-1 text-start bg-gradient-to-br from-bluelight-translucent-dark to-bluelight-translucent rounded-md px-1 text-sm shadow-sm shadow-[#242424]"
data-scene="{{ entrance_destination.scene }}"> onclick="open_breakdown(this)"
✔️ {{ entrance_origin }} -> {{ entrance_destination.door }} data-scene="{{ entrance_destination.scene }}">
</button> ✔️ {{ entrance_origin }} -> {{ entrance_destination.door }}
{% endif %} </button>
{% endfor %} {% endif %}
{% endfor %}
</div>
</div> </div>
</div> </div>
</div> </div>

View File

@ -2,7 +2,7 @@
{% comment %} drop-shadow-[0px_0px_4px_rgba(255,255,255,1)]"> {% endcomment %} {% comment %} drop-shadow-[0px_0px_4px_rgba(255,255,255,1)]"> {% endcomment %}
<summary>Holy Cross Codes</summary> <summary>Holy Cross Codes</summary>
<hr class="border-2 border-holy-cross opacity-30 rounded-xl" /> <hr class="border-2 border-holy-cross opacity-30 rounded-xl" />
<div class="flex flex-col space-y-2 overflow-y-scroll max-h-96 rounded-xl"> <div class="flex flex-col space-y-2 overflow-y-scroll max-h-96 rounded-xl scrollbar-none">
<div class="grid grid-flow-row gap-2 md:grid-cols-3 xl:grid-cols-5 rounded-xl" <div class="grid grid-flow-row gap-2 md:grid-cols-3 xl:grid-cols-5 rounded-xl"
id="codes-list"> id="codes-list">
{% include "tracker/codes/block.html" with is_entered=False name="it is a mystery" current_scene="mystery" code="" extra_classes="order-last hidden" %} {% include "tracker/codes/block.html" with is_entered=False name="it is a mystery" current_scene="mystery" code="" extra_classes="order-last hidden" %}

View File

@ -3,33 +3,40 @@
<summary class="justify-start">Credits</summary> <summary class="justify-start">Credits</summary>
<hr class="justify-start w-full border-2 border-bluelight-translucent-dark rounded-xl" /> <hr class="justify-start w-full border-2 border-bluelight-translucent-dark rounded-xl" />
<div class="rounded-md p-4 bg-gradient-to-br from-[#3333ff40] to-[#7777ff40]"> <div class="rounded-md p-4 bg-gradient-to-br from-[#3333ff40] to-[#7777ff40]">
<div class="overflow-y-scroll overflow-x-auto rounded-md overscroll-y-contain max-h-[28rem] lg:max-h-[36rem] space-y-2"> <div class="rounded-md max-h-[36rem] space-y-2 min-w-full">
<div class="w-full bg-gradient-to-br from-[#24242480] to-[#48484840] rounded-md p-2 overflow-x-scroll"> <div class="overflow-hidden flex-shrink-0 min-w-full w-full bg-gradient-to-br min-h-[22rem] max-h-[22rem] from-[#24242480] to-[#48484840] rounded-md p-2">
<div class="flex flex-row mx-auto space-x-2 w-fit min-h-[21rem]"> <div class="overflow-x-auto scrollbar-none max-w-full min-h-[21rem] w-full">
<a class="rounded-md" href="https://werefox.cafe" target="_blank"> <div class="flex flex-row justify-center flex-shrink-0 w-full mx-auto space-x-2 min-w-max">
<img class="flex-shrink-0 mx-auto rounded-md min-h-[21rem] min-w-[15rem] max-h-96 w-fit" src="{% static "tracker/images/trading_cards/alice.png" %}" alt="A TUNIC themed trading card for &quot;Alice Werefox,&quot; which pictures her character lying on the ground near a chest in a small alcove with text reading: &quot;Everything is accessible with ladder storage if you try hard enough.&quot;" height="" width="" /> <a class="rounded-md min-h-[21rem] max-h-[21rem] min-w-[15rem]"
</a> href="https://werefox.cafe"
<a class="rounded-md" target="_blank">
href="https://discordapp.com/users/105891707777748992" <img class="flex-shrink-0 mx-auto rounded-md min-h-[21rem] max-h-[21rem] min-w-[15rem]" src="{% static "tracker/images/trading_cards/alice.png" %}" alt="A TUNIC themed trading card for &quot;Alice Werefox,&quot; which pictures her character lying on the ground near a chest in a small alcove with text reading: &quot;Everything is accessible with ladder storage if you try hard enough.&quot;" height="" width="" />
target="_blank"> </a>
<img class="flex-shrink-0 mx-auto rounded-md min-h-[21rem] min-w-[15rem] max-h-96" src="{% static "tracker/images/trading_cards/glace.png" %}" alt="A TUNIC themed trading card for &quot;Glace Painbringer,&quot; which pictures her character shooting an icebolt with text reading: &quot;The only kind of person capable of inflicting such pain... is one who has sustained a great deal worse.&quot;" height="" width="" /> <a class="rounded-md min-h-[21rem] max-h-[21rem] min-w-[15rem]"
</a> href="https://discordapp.com/users/105891707777748992"
<a class="rounded-md" target="_blank">
href="https://twitch.tv/fletchisafurry" <img class="flex-shrink-0 mx-auto rounded-md min-h-[21rem] max-h-[21rem] min-w-[15rem]" src="{% static "tracker/images/trading_cards/glace.png" %}" alt="A TUNIC themed trading card for &quot;Glace Painbringer,&quot; which pictures her character shooting an icebolt with text reading: &quot;The only kind of person capable of inflicting such pain... is one who has sustained a great deal worse.&quot;" height="" width="" />
target="_blank"> </a>
<img class="flex-shrink-0 mx-auto rounded-md min-h-[21rem] min-w-[15rem] max-h-96" src="{% static "tracker/images/trading_cards/fletcher.png" %}" alt="A TUNIC themed trading card for &quot;Fletcher, Fleet Fox,&quot; which pictures their character dashing with text reading: &quot;Deftly jumping from project to project, there is no effort too foolhardy for them, no extreme too distant for consideration.&quot;." height="" width="" /> <a class="rounded-md min-h-[21rem] max-h-[21rem] min-w-[15rem]"
</a> href="https://twitch.tv/fletchisafurry"
target="_blank">
<img class="flex-shrink-0 mx-auto rounded-md min-h-[21rem] max-h-[21rem] min-w-[15rem]" src="{% static "tracker/images/trading_cards/fletcher.png" %}" alt="A TUNIC themed trading card for &quot;Fletcher, Fleet Fox,&quot; which pictures their character dashing with text reading: &quot;Deftly jumping from project to project, there is no effort too foolhardy for them, no extreme too distant for consideration.&quot;." height="" width="" />
</a>
</div>
</div> </div>
</div> </div>
<hr class="justify-start w-full border-2 border-bluelight-translucent-dark rounded-xl" /> <hr class="justify-start w-full border-2 border-bluelight-translucent-dark rounded-xl" />
<div class="p-2 space-y-2"> <div class="p-2 space-y-2">
This tracker was created by <a class="underline text-bluelight-link" This tracker was created by
href="https://werefox.cafe" <a class="underline text-bluelight-link"
target="_blank">Alice Werefox</a> and <a class="underline text-bluelight-link" href="https://werefox.cafe"
href="https://discordapp.com/users/105891707777748992" target="_blank">Alice Werefox</a> and
target="_blank">glace</a> with special help from <a class="underline text-bluelight-link" <a class="underline text-bluelight-link"
href="https://twitch.tv/fletchisafurry" href="https://discordapp.com/users/105891707777748992"
target="_blank">Fletcher</a> whom provided the custom art assets. target="_blank">glace</a> with special help from
<a class="underline text-bluelight-link"
href="https://twitch.tv/fletchisafurry"
target="_blank">Fletcher</a> whom provided the custom art assets.
</div> </div>
</div> </div>
</div> </div>

View File

@ -3,22 +3,26 @@
<hr class="border-2 border-bluelight-translucent-dark rounded-xl" /> <hr class="border-2 border-bluelight-translucent-dark rounded-xl" />
<details class="py-2 px-4 flex flex-col space-y-2 rounded-md bg-gradient-to-tl shadow-sm shadow-[#242424] from-highlight-empty-light to-highlight-empty-dark text-highlight-empty-text"> <details class="py-2 px-4 flex flex-col space-y-2 rounded-md bg-gradient-to-tl shadow-sm shadow-[#242424] from-highlight-empty-light to-highlight-empty-dark text-highlight-empty-text">
<summary class="px-2">Setup</summary> <summary class="px-2">Setup</summary>
<ul class="flex flex-col px-4 ml-4 space-y-1 text-sm break-words list-decimal"> <hr class="border-2 border-bluelight-translucent-dark rounded-xl" />
<li> <div class="p-2 rounded-md bg-gradient-to-br from-[#3333ff40] to-[#7777ff40]">
Download the latest release at <a href="https://github.com/spaceglace/tunic-randomizer/releases" <ul class="flex flex-col px-4 ml-4 space-y-1 text-sm break-words list-decimal">
<li>
Download the latest release at <a href="https://github.com/spaceglace/tunic-randomizer/releases"
class="underline text-bluelight-link">https://github.com/spaceglace/tunic-randomizer/releases</a>, install it how you would the normal randomizer. (which you can refer to <a href="https://github.com/silent-destroyer/tunic-randomizer#installation" class="underline text-bluelight-link">https://github.com/spaceglace/tunic-randomizer/releases</a>, install it how you would the normal randomizer. (which you can refer to <a href="https://github.com/silent-destroyer/tunic-randomizer#installation"
class="underline text-bluelight-link">here</a>) class="underline text-bluelight-link">here</a>)
</li> </li>
<li> <li>
Run TUNIC, there should now be an "API Server" button on the quick settings panel. Run TUNIC, there should now be an "API Server" button on the quick settings panel.
Turn this on, and optionally set it to autoconnect on launch. Turn this on, and optionally set it to autoconnect on launch.
</li> </li>
<li>You should be done, and the tracker should start tracking your game once you start one.</li> <li>You should be done, and the tracker should start tracking your game once you start one.</li>
</ul> </ul>
</div>
</details> </details>
<details class="py-2 px-4 flex flex-col space-y-2 rounded-md bg-gradient-to-tl shadow-sm shadow-[#242424] from-highlight-empty-light to-highlight-empty-dark text-highlight-empty-text"> <details class="py-2 px-4 flex flex-col space-y-2 rounded-md bg-gradient-to-tl shadow-sm shadow-[#242424] from-highlight-empty-light to-highlight-empty-dark text-highlight-empty-text">
<summary class="px-2">Usage</summary> <summary class="px-2">Usage</summary>
<div class="overflow-y-scroll max-h-96"> <hr class="border-2 border-bluelight-translucent-dark rounded-xl" />
<div class="p-2 rounded-md bg-gradient-to-br from-[#3333ff40] to-[#7777ff40]">
<ul class="flex flex-col px-4 space-y-2 text-sm list-disc list-inside"> <ul class="flex flex-col px-4 space-y-2 text-sm list-disc list-inside">
<li> <li>
You will always be shown the current, total, and remaining checks/entrances in the game left to discover, and a breakdown of the current area you're in. You will always be shown the current, total, and remaining checks/entrances in the game left to discover, and a breakdown of the current area you're in.

View File

@ -24,9 +24,10 @@
</div> </div>
</div> </div>
</div> </div>
{% include "tracker/status/index.html" %}
<div class="space-y-1"> <div class="space-y-1">
<hr class="border-2 border-bluelight-dark rounded-xl" /> <hr class="border-2 border-bluelight-dark rounded-xl" />
<div class="flex flex-col px-2 space-y-2 text-lg rounded-sm md:flex-row md:space-x-4 md:space-y-0 bg-gradient-to-r from-bluelight-light to-bluelight-dark" <div class="flex flex-col px-2 space-y-2 text-lg rounded-sm md:flex-row md:space-x-4 md:space-y-0 bg-gradient-to-r from-[#8080FF40] to-[#8080FF20]"
id="overview-totals"> id="overview-totals">
<div class="flex basis-1/2"> <div class="flex basis-1/2">
<div class="flex-col min-w-full"> <div class="flex-col min-w-full">
@ -51,10 +52,9 @@
</div> </div>
</div> </div>
</div> </div>
<hr class="mb-2 border-2 border-bluelight-dark rounded-xl" /> <hr class="border-2 border-bluelight-dark rounded-xl" />
</div> </div>
<div class="flex flex-col space-y-2"> <div class="flex flex-col space-y-2">
{% include "tracker/status/index.html" %}
<div class="flex flex-col max-w-full space-y-2"> <div class="flex flex-col max-w-full space-y-2">
<div class="flex flex-col space-y-2" id="breakdown-list"> <div class="flex flex-col space-y-2" id="breakdown-list">
{% include "tracker/breakdown/block.html" with extra_classes="hidden" is_current_scene="false" %} {% include "tracker/breakdown/block.html" with extra_classes="hidden" is_current_scene="false" %}

View File

@ -1,4 +1,4 @@
<div class="grid grid-flow-row gap-2 p-1 overflow-y-scroll md:grid-cols-3 xl:grid-cols-5 max-h-96 rounded-xl scrollbar scrollbar-thumb-bluelight-dark scrollbar-track-bluelight"> <div class="grid grid-flow-row gap-2 p-1 overflow-y-scroll md:grid-cols-3 xl:grid-cols-5 max-h-96 rounded-xl scrollbar-none">
{% include "tracker/summary/block.html" with extra_classes="" is_hidden="hidden" %} {% include "tracker/summary/block.html" with extra_classes="" is_hidden="hidden" %}
{% for scene, scene_data in scenes.items %} {% for scene, scene_data in scenes.items %}
{% if scene != "Posterity" and scene != "Resurrection" and scene != "Loading" %} {% if scene != "Posterity" and scene != "Resurrection" and scene != "Loading" %}