zenno/doc/tagged-skills: more skill info
This commit is contained in:
@@ -137,10 +137,13 @@ export enum AbilityType {
|
||||
Frenzy = 13,
|
||||
AddGateDelay = 14,
|
||||
CurrentSpeed = 21,
|
||||
CurrentSpeedWithDecel = 22,
|
||||
TargetSpeed = 27,
|
||||
LaneSpeed = 28,
|
||||
RushedChance = 29,
|
||||
Accel = 31,
|
||||
LaneChange = 35,
|
||||
ActivateRare = 37,
|
||||
}
|
||||
|
||||
export const ABILITY_TYPE_FORMAT: Readonly<Record<AbilityType, (v: number) => string>> = {
|
||||
@@ -156,10 +159,13 @@ export const ABILITY_TYPE_FORMAT: Readonly<Record<AbilityType, (v: number) => st
|
||||
[AbilityType.Frenzy]: (v) => tenThousandths(v) + 's Frenzy',
|
||||
[AbilityType.AddGateDelay]: (v) => plusBonus(v) + 's Gate Delay',
|
||||
[AbilityType.CurrentSpeed]: (v) => plusBonus(v) + ' m/s Current Speed',
|
||||
[AbilityType.CurrentSpeedWithDecel]: (v) => plusBonus(v) + ' m/s Current Speed',
|
||||
[AbilityType.TargetSpeed]: (v) => plusBonus(v) + ' m/s Target Speed',
|
||||
[AbilityType.LaneSpeed]: (v) => plusBonus(v) + ' CW/s Lane Change Speed',
|
||||
[AbilityType.RushedChance]: (v) => plusBonus(v) + '% Rushed Chance',
|
||||
[AbilityType.Accel]: (v) => plusBonus(v) + ' m/s² Acceleration',
|
||||
[AbilityType.LaneChange]: (v) => 'Target Lane = ' + tenThousandths(v) + ' CW',
|
||||
[AbilityType.ActivateRare]: (v) => 'Activate Rare Skills ×' + tenThousandths(v),
|
||||
} as const;
|
||||
|
||||
export enum AbilityValueUsage {
|
||||
|
||||
@@ -80,12 +80,63 @@
|
||||
{/each}
|
||||
</form>
|
||||
|
||||
{#snippet condition(cond: string)}
|
||||
{@const disj = cond.replaceAll('&', ' & ').split('@')}
|
||||
{#each disj as conj, i (conj)}
|
||||
<span class="block font-mono text-sm">{conj}</span>
|
||||
{#if i !== disj.length - 1}
|
||||
<span class="block text-xs italic">or</span>
|
||||
{/if}
|
||||
{/each}
|
||||
{/snippet}
|
||||
|
||||
<span class="mb-4 block text-center text-2xl">{skills.length} skills selected</span>
|
||||
<div class="grid max-w-7xl grid-cols-1 gap-2 md:grid-cols-3">
|
||||
{#each skills as s (s.skill_id)}
|
||||
<div class="rounded-md border px-2 pt-1 pb-2 text-center shadow-sm transition-shadow hover:shadow-md">
|
||||
<span class="block text-xl">{s.name}</span>
|
||||
<span class="block italic">{s.description}</span>
|
||||
{#each s.activations as act, i (i)}
|
||||
<span class="my-2 block rounded-md border">
|
||||
{#if act.precondition}
|
||||
<span class="block border-b py-1">
|
||||
<span class="text-xs italic">Precondition</span>
|
||||
{@render condition(act.precondition)}
|
||||
</span>
|
||||
{/if}
|
||||
<span class="block border-b py-1">
|
||||
{@render condition(act.condition)}
|
||||
</span>
|
||||
<span class="block py-1">
|
||||
{#each act.abilities as a, i (i)}
|
||||
<span class="block text-sm">
|
||||
{console.log(a.type)}
|
||||
{skill.ABILITY_TYPE_FORMAT[a.type](a.value)}
|
||||
{skill.ABILITY_SCALE_NAME[a.value_usage]}
|
||||
{#if a.target && a.target !== skill.Target.Self}
|
||||
{skill.TARGET_FORMAT[a.target](a.target_value)}
|
||||
{/if}
|
||||
</span>
|
||||
{/each}
|
||||
{#if act.duration != null && act.duration > 0}
|
||||
<span class="block text-sm">
|
||||
for {skill.tenThousandths(act.duration)}s
|
||||
{skill.DURATION_SCALE_NAME[act.dur_scale]}
|
||||
</span>
|
||||
{/if}
|
||||
</span>
|
||||
</span>
|
||||
{/each}
|
||||
<div class="flex w-full text-xs">
|
||||
<span class="flex-1">ID {s.skill_id}</span>
|
||||
{#if s.unique_owner}
|
||||
<span class="flex-1">{s.unique_owner}</span>
|
||||
{/if}
|
||||
{#if s.sp_cost}
|
||||
<span class="flex-1">{s.sp_cost} SP</span>
|
||||
{/if}
|
||||
<span class="flex-1">Grade Value {s.grade_value}</span>
|
||||
</div>
|
||||
</div>
|
||||
{/each}
|
||||
</div>
|
||||
@@ -94,7 +145,8 @@
|
||||
<ul class="ml-4 list-disc">
|
||||
<li>
|
||||
To see skills that can be received from MANT/Trackblazer rivals, select the running style used and the distance and surface
|
||||
of the race.
|
||||
of the race. Some skills require meeting multiple conditions to be eligible hints, e.g. both Pace and Long; they will
|
||||
instead be shown in the tool when either condition is selected.
|
||||
</li>
|
||||
<li>Skills for each tag are auto-generated from the game's local database.</li>
|
||||
<li>Tag names are inferred from the skills that have them.</li>
|
||||
|
||||
Reference in New Issue
Block a user