zenno/doc/tagged-skills: more skill info
This commit is contained in:
@@ -137,10 +137,13 @@ export enum AbilityType {
|
|||||||
Frenzy = 13,
|
Frenzy = 13,
|
||||||
AddGateDelay = 14,
|
AddGateDelay = 14,
|
||||||
CurrentSpeed = 21,
|
CurrentSpeed = 21,
|
||||||
|
CurrentSpeedWithDecel = 22,
|
||||||
TargetSpeed = 27,
|
TargetSpeed = 27,
|
||||||
LaneSpeed = 28,
|
LaneSpeed = 28,
|
||||||
|
RushedChance = 29,
|
||||||
Accel = 31,
|
Accel = 31,
|
||||||
LaneChange = 35,
|
LaneChange = 35,
|
||||||
|
ActivateRare = 37,
|
||||||
}
|
}
|
||||||
|
|
||||||
export const ABILITY_TYPE_FORMAT: Readonly<Record<AbilityType, (v: number) => string>> = {
|
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.Frenzy]: (v) => tenThousandths(v) + 's Frenzy',
|
||||||
[AbilityType.AddGateDelay]: (v) => plusBonus(v) + 's Gate Delay',
|
[AbilityType.AddGateDelay]: (v) => plusBonus(v) + 's Gate Delay',
|
||||||
[AbilityType.CurrentSpeed]: (v) => plusBonus(v) + ' m/s Current Speed',
|
[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.TargetSpeed]: (v) => plusBonus(v) + ' m/s Target Speed',
|
||||||
[AbilityType.LaneSpeed]: (v) => plusBonus(v) + ' CW/s Lane Change 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.Accel]: (v) => plusBonus(v) + ' m/s² Acceleration',
|
||||||
[AbilityType.LaneChange]: (v) => 'Target Lane = ' + tenThousandths(v) + ' CW',
|
[AbilityType.LaneChange]: (v) => 'Target Lane = ' + tenThousandths(v) + ' CW',
|
||||||
|
[AbilityType.ActivateRare]: (v) => 'Activate Rare Skills ×' + tenThousandths(v),
|
||||||
} as const;
|
} as const;
|
||||||
|
|
||||||
export enum AbilityValueUsage {
|
export enum AbilityValueUsage {
|
||||||
|
|||||||
@@ -80,12 +80,63 @@
|
|||||||
{/each}
|
{/each}
|
||||||
</form>
|
</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>
|
<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">
|
<div class="grid max-w-7xl grid-cols-1 gap-2 md:grid-cols-3">
|
||||||
{#each skills as s (s.skill_id)}
|
{#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">
|
<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 text-xl">{s.name}</span>
|
||||||
<span class="block italic">{s.description}</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>
|
</div>
|
||||||
{/each}
|
{/each}
|
||||||
</div>
|
</div>
|
||||||
@@ -94,7 +145,8 @@
|
|||||||
<ul class="ml-4 list-disc">
|
<ul class="ml-4 list-disc">
|
||||||
<li>
|
<li>
|
||||||
To see skills that can be received from MANT/Trackblazer rivals, select the running style used and the distance and surface
|
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>
|
||||||
<li>Skills for each tag are auto-generated from the game's local database.</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>
|
<li>Tag names are inferred from the skills that have them.</li>
|
||||||
|
|||||||
Reference in New Issue
Block a user