mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 19:52:29 +00:00
1274 lines
65 KiB
HTML
1274 lines
65 KiB
HTML
<div class="outgunned-tooltips">
|
|
<span data-i18n="tooltips-u"></span>
|
|
<div class="outgunned-main-grid outgunned-main-grid-var">
|
|
<div class="outgunned-avatar">
|
|
<div>
|
|
<input class="outgunned-adventure-margin" name="attr_adventuretoggle" type="checkbox" value="1"/>
|
|
<span class="outgunned-adventure-margin" data-i18n="adventuremode-u"></span>
|
|
</div>
|
|
<img name="attr_character_avatar">
|
|
<img class="outgunned-logo" src="https://files.d20.io/images/448141242/S9psVgW-SVUuIU_eIqKUQw/original.jpg">
|
|
<img class="outgunned-logo-adventure outgunned-nodisplay"
|
|
src="https://files.d20.io/images/448141274/xsRVp_0WEmLPX3Or02lbSA/original.png?">
|
|
<div class="outgunned-dice-roller">
|
|
<input type="number" name="attr_num_dice" min="2" max="9">
|
|
<button type="action" name="act_diceroller" data-i18n="roll-u"></button>
|
|
<br>
|
|
<br>
|
|
<button type="action" name="act_reroll" data-i18n="reroll-u"></button>
|
|
<button type="action" name="act_freereroll" data-i18n="freereroll-u"></button>
|
|
<button type="action" name="act_allin" data-i18n="allin-u"></button>
|
|
</div>
|
|
</div>
|
|
<span class="paper-clip"></span>
|
|
<span class="paper-clip-mask"></span>
|
|
<div class="outgunned-details">
|
|
<div>
|
|
<span data-i18n="name-u"></span>
|
|
<input type="text" name="attr_character_name">
|
|
</div>
|
|
<div>
|
|
<span data-i18n="role-u"></span>
|
|
<input type="text" name="attr_role">
|
|
</div>
|
|
<div>
|
|
<span data-i18n="trope-u"></span>
|
|
<input type="text" name="attr_trope">
|
|
</div>
|
|
<div>
|
|
<span class="outgunned-job-label" data-i18n="job-u"></span>
|
|
<span class="outgunned-background-label outgunned-nodisplay"
|
|
data-i18n="background-u"></span>
|
|
<input type="text" name="attr_job">
|
|
<span data-i18n="age-u"></span>
|
|
<input type="text" name="attr_age">
|
|
</div>
|
|
<div>
|
|
<span data-i18n="flaw-u"></span>
|
|
<input type="text" name="attr_flaw">
|
|
</div>
|
|
<div>
|
|
<span data-i18n="catchphrase-u"></span>
|
|
<input type="text" name="attr_catchphrase">
|
|
</div>
|
|
</div>
|
|
<div class="outgunned-statistics">
|
|
<div class="outgunned-statistics-block">
|
|
<div>
|
|
<span class="outgunned-tooltip">
|
|
<span data-i18n="brawn-u"></span>
|
|
</span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_brawn1"
|
|
value="1" checked>
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_brawn2"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_brawn3"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<span data-i18n="brawn_tt-u" class="outgunned-tooltiptext"></span>
|
|
</div>
|
|
<div>
|
|
<span class="outgunned-tooltip" data-i18n="endure-u"></span>
|
|
<div>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_endure1"
|
|
value="1" checked>
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_endure2"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_endure3"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<span class="outgunned-tooltip" data-i18n="fight-u"></span>
|
|
<div>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_fight1"
|
|
value="1" checked>
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_fight2"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_fight3"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<span class="outgunned-tooltip" data-i18n="force-u"></span>
|
|
<div>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_force1"
|
|
value="1" checked>
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_force2"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_force3"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<span class="outgunned-tooltip" data-i18n="stunt-u"></span>
|
|
<div>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_stunt1"
|
|
value="1" checked>
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_stunt2"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_stunt3"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="outgunned-statistics-block">
|
|
<div>
|
|
<span class="outgunned-tooltip">
|
|
<span data-i18n="nerves-u"></span>
|
|
</span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_nerves1"
|
|
value="1" checked>
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_nerves2"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_nerves3"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<span data-i18n="nerves_tt-u" class="outgunned-tooltiptext"></span>
|
|
</div>
|
|
<div>
|
|
<span class="outgunned-tooltip" data-i18n="cool-u"></span>
|
|
<div>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_cool1"
|
|
value="1" checked>
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_cool2"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_cool3"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<span class="outgunned-tooltip" data-i18n="drive-u"></span>
|
|
<div>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_drive1"
|
|
value="1" checked>
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_drive2"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_drive3"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<span class="outgunned-tooltip" data-i18n="shoot-u"></span>
|
|
<div>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_shoot1"
|
|
value="1" checked>
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_shoot2"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_shoot3"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<span class="outgunned-tooltip" data-i18n="survival-u"></span>
|
|
<div>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_survival1"
|
|
value="1" checked>
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_survival2"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_survival3"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="outgunned-statistics-block">
|
|
<div>
|
|
<span class="outgunned-tooltip">
|
|
<span data-i18n="smooth-u"></span>
|
|
</span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_smooth1"
|
|
value="1" checked>
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_smooth2"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_smooth3"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<span data-i18n="smooth_tt-u" class="outgunned-tooltiptext"></span>
|
|
</div>
|
|
<div>
|
|
<span class="outgunned-tooltip" data-i18n="flirt-u"></span>
|
|
<div>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_flirt1"
|
|
value="1" checked>
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_flirt2"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_flirt3"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<span class="outgunned-tooltip" data-i18n="leadership-u"></span>
|
|
<div>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_leadership1"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_leadership2"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_leadership3"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<span class="outgunned-tooltip" data-i18n="speech-u"></span>
|
|
<div>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_speech1"
|
|
value="1" checked>
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_speech2"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_speech3"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<span class="outgunned-tooltip" data-i18n="style-u"></span>
|
|
<div>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_style1"
|
|
value="1" checked>
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_style2"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_style3"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="outgunned-statistics-block">
|
|
<div>
|
|
<span class="outgunned-tooltip">
|
|
<span data-i18n="focus-u"></span>
|
|
</span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_focus1"
|
|
value="1" checked>
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_focus2"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_focus3"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<span data-i18n="focus_tt-u" class="outgunned-tooltiptext"></span>
|
|
</div>
|
|
<div>
|
|
<span class="outgunned-tooltip" data-i18n="detect-u"></span>
|
|
<div>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_detect1"
|
|
value="1" checked>
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_detect2"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_detect3"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<span class="outgunned-tooltip" data-i18n="fix-u"></span>
|
|
<div>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_fix1"
|
|
value="1" checked>
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_fix2"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_fix3"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<span class="outgunned-tooltip" data-i18n="heal-u"></span>
|
|
<div>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_heal1"
|
|
value="1" checked>
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_heal2"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_heal3"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<span class="outgunned-tooltip" data-i18n="know-u"></span>
|
|
<div>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_know1"
|
|
value="1" checked>
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_know2"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_know3"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="outgunned-statistics-block">
|
|
<div>
|
|
<span class="outgunned-tooltip">
|
|
<span data-i18n="crime-u"></span>
|
|
</span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_crime1"
|
|
value="1" checked>
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_crime2"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_crime3"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<span data-i18n="crime_tt-u" class="outgunned-tooltiptext"></span>
|
|
</div>
|
|
<div>
|
|
<span class="outgunned-tooltip" data-i18n="awareness-u"></span>
|
|
<div>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_awareness1"
|
|
value="1" checked>
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_awareness2"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_awareness3"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<span class="outgunned-tooltip" data-i18n="dexterity-u"></span>
|
|
<div>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_dexterity1"
|
|
value="1" checked>
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_dexterity2"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_dexterity3"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<span class="outgunned-tooltip" data-i18n="stealth-u"></span>
|
|
<div>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_stealth1"
|
|
value="1" checked>
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_stealth2"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_stealth3"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<span class="outgunned-tooltip" data-i18n="streetwise-u"></span>
|
|
<div>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_streetwise1"
|
|
value="1" checked>
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_streetwise2"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
<input class="outgunned-attr outgunned-centre-checkbox" type="checkbox" name="attr_streetwise3"
|
|
value="1">
|
|
<span class="outgunned-centre-checkbox"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="outgunned-grit">
|
|
<span class="outgunned-tooltip" data-i18n="grit-u"></span>
|
|
<div>
|
|
<span class="outgunned-gritnormal"><input type="checkbox" name="attr_grit1" value="1"></span>
|
|
<span class="outgunned-gritnormal"><input type="checkbox" name="attr_grit2" value="1"></span>
|
|
<span class="outgunned-gritnormal"><input type="checkbox" name="attr_grit3" value="1"></span>
|
|
<span class="outgunned-gritnormal"><input type="checkbox" name="attr_grit4" value="1"></span>
|
|
<span class="outgunned-gritnormal"><input type="checkbox" name="attr_grit5" value="1"></span>
|
|
<span class="outgunned-gritnormal"><input type="checkbox" name="attr_grit6" value="1"></span>
|
|
<span class="outgunned-gritnormal"><input type="checkbox" name="attr_grit7" value="1"></span>
|
|
<span class="outgunned-gritbad"><input type="checkbox" name="attr_grit8" value="1"><span
|
|
data-i18n="bad-u"></span></span>
|
|
<span class="outgunned-gritnormal"><input type="checkbox" name="attr_grit9" value="1"></span>
|
|
<span class="outgunned-gritnormal"><input type="checkbox" name="attr_grit10" value="1"></span>
|
|
<span class="outgunned-gritnormal"><input type="checkbox" name="attr_grit11" value="1"></span>
|
|
<span class="outgunned-grithot"><input type="checkbox" name="attr_grit12" value="1"><span
|
|
data-i18n="hot-u"></span></span>
|
|
</div>
|
|
<div>
|
|
<span class="outgunned-grit-text" data-i18n="badsufferacondition-u"></span>
|
|
<span class="outgunned-grit-text-hot" data-i18n="hotgain2adrenaline-u"></span>
|
|
<span class="outgunned-grit-text-hot-luck outgunned-nodisplay" data-i18n="hotgain2luck-u"></span>
|
|
</div>
|
|
</div>
|
|
<div class="outgunned-adrenaline">
|
|
<span class="outgunned-adrenaline-label outgunned-tooltip" data-i18n="adrenaline-u"></span>
|
|
<span class="outgunned-luck-label outgunned-nodisplay outgunned-tooltip" data-i18n="luck-u"></span>
|
|
<div>
|
|
<input class="outgunned-adrenaline-check1" type="checkbox" name="attr_adrenaline1" value="1">
|
|
<input class="outgunned-adrenaline-check2" type="checkbox" name="attr_adrenaline2" value="1">
|
|
<input class="outgunned-adrenaline-check3" type="checkbox" name="attr_adrenaline3" value="1">
|
|
<input class="outgunned-adrenaline-check4" type="checkbox" name="attr_adrenaline4" value="1">
|
|
<input class="outgunned-adrenaline-check5" type="checkbox" name="attr_adrenaline5" value="1">
|
|
<input class="outgunned-adrenaline-check6" type="checkbox" name="attr_adrenaline6" value="1">
|
|
<span class="outgunned-adrenaline-icon1"></span>
|
|
<span class="outgunned-adrenaline-icon2"></span>
|
|
<span class="outgunned-adrenaline-icon3"></span>
|
|
<span class="outgunned-adrenaline-icon4"></span>
|
|
<span class="outgunned-adrenaline-icon5"></span>
|
|
<span class="outgunned-adrenaline-icon6"></span>
|
|
</div>
|
|
<span data-i18n="adrenalinetext-u"></span>
|
|
</div>
|
|
<div class="outgunned-spotlight">
|
|
<span class="outgunned-tooltip" data-i18n="spotlight-u"></span>
|
|
<img class="outgunned-spotlight-image"
|
|
src="https://files.d20.io/images/446731385/1vBgVUdgKdxYN0Bb1js_WQ/original.png">
|
|
<img class="outgunned-spotlight-image-adventure outgunned-nodisplay"
|
|
src="https://files.d20.io/images/448140728/YJBLWCNwEnEDnnpiBj8VYg/original.png">
|
|
<input type="checkbox" name="attr_spotlight1" value="1">
|
|
<input type="checkbox" name="attr_spotlight2" value="1">
|
|
<input type="checkbox" name="attr_spotlight3" value="1">
|
|
<span class="outgunned-tooltiptext" style="pointer-events: none; top: -160px;"
|
|
data-i18n="spotlight_tt-u"></span>
|
|
</div>
|
|
<div class="outgunned-roulette">
|
|
<span class="outgunned-tooltip" data-i18n="roulette-u"></span>
|
|
<img src="https://files.d20.io/images/446819314/AeymkX05IDt8tia0COMKUA/original.png?175118357055">
|
|
<input type="checkbox" name="attr_roulette1" value="1" checked>
|
|
<input type="checkbox" name="attr_roulette2" value="1">
|
|
<input type="checkbox" name="attr_roulette3" value="1">
|
|
<input type="checkbox" name="attr_roulette4" value="1">
|
|
<input type="checkbox" name="attr_roulette5" value="1">
|
|
<input type="checkbox" name="attr_roulette6" value="1">
|
|
<button type="action" name="act_roulette">⚅</button>
|
|
<span class="outgunned-tooltiptext" style="pointer-events: none; top: -160px;"
|
|
data-i18n="roulette_tt-u"></span>
|
|
</div>
|
|
<div class="outgunned-feats">
|
|
<span class="outgunned-tooltip" data-i18n="feats-u"></span>
|
|
<div>
|
|
|
|
<input type="text" name="attr_feat1">
|
|
<textarea name="attr_feat1desc"></textarea>
|
|
<input type="text" name="attr_feat2">
|
|
<textarea name="attr_feat2desc"></textarea>
|
|
<input type="text" name="attr_feat3">
|
|
<textarea name="attr_feat3desc"></textarea>
|
|
<input type="text" name="attr_feat4">
|
|
<textarea name="attr_feat4desc"></textarea>
|
|
<input type="text" name="attr_feat5">
|
|
<textarea name="attr_feat5desc"></textarea>
|
|
<input type="text" name="attr_feat6">
|
|
<textarea name="attr_feat6desc"></textarea>
|
|
</div>
|
|
</div>
|
|
<br>
|
|
<div class="outgunned-mission">
|
|
<div>
|
|
<span class="outgunned-mission-label" data-i18n="mission-u"></span>
|
|
<span class="outgunned-treasure-label outgunned-nodisplay" data-i18n="treasure-u"></span>
|
|
<input type="text" name="attr_mission">
|
|
</div>
|
|
<div>
|
|
<span class="outgunned-tooltip" data-i18n="experiences-u"></span>
|
|
<br>
|
|
<input type="text" name="attr_experiences1">
|
|
<input type="text" name="attr_experiences2">
|
|
<input type="text" name="attr_experiences3">
|
|
<input type="text" name="attr_experiences4">
|
|
<span data-i18n="achievementsscars-u"></span>
|
|
</div>
|
|
</div>
|
|
<div class="outgunned-youlook">
|
|
<span class="outgunned-tooltip" data-i18n="youlook-u"></span>
|
|
<div>
|
|
<div>
|
|
<span data-i18n="hurt-u"></span>
|
|
<span><input type="checkbox" name="attr_yl_hurt" value="1"></span>
|
|
<span><span data-i18n="brawncondition-u"></span></span>
|
|
|
|
<span data-i18n="tired-u"></span>
|
|
<span><input type="checkbox" name="attr_yl_tired" value="1"></span>
|
|
<span><span data-i18n="nonecondition-u"></span></span>
|
|
|
|
<span data-i18n="nervous-u"></span>
|
|
<span><input type="checkbox" name="attr_yl_nervous" value="1"></span>
|
|
<span><span data-i18n="nervescondition-u"></span></span>
|
|
|
|
<span><input type="text" name="attr_yl_custom1desc"> -</span>
|
|
<span><input type="checkbox" name="attr_yl_custom1" value="1"></span>
|
|
<span><span data-i18n="nonecondition-u"></span></span>
|
|
|
|
<span data-i18n="likeafool-u"></span>
|
|
<span><input type="checkbox" name="attr_yl_likeafool" value="1"></span>
|
|
<span><span data-i18n="smoothcondition-u"></span></span>
|
|
|
|
<span><input type="text" name="attr_yl_custom2desc"> -</span>
|
|
<span><input type="checkbox" name="attr_yl_custom2" value="1"></span>
|
|
<span><span data-i18n="nonecondition-u"></span></span>
|
|
|
|
<span data-i18n="distracted-u"></span>
|
|
<span><input type="checkbox" name="attr_yl_distracted" value="1"></span>
|
|
<span><span data-i18n="focuscondition-u"></span></span>
|
|
|
|
<span><input type="text" name="attr_yl_custom3desc"> -</span>
|
|
<span><input type="checkbox" name="attr_yl_custom3" value="1"></span>
|
|
<span><span data-i18n="nonecondition-u"></span></span>
|
|
|
|
<span data-i18n="scared-u"></span>
|
|
<span><input type="checkbox" name="attr_yl_scared" value="1"></span>
|
|
<span><span data-i18n="crimecondition-u"></span></span>
|
|
|
|
<span class="outgunned-broken" data-i18n="broken-u"></span>
|
|
<span><input type="checkbox" name="attr_yl_broken" value="1"></span>
|
|
<span><span data-i18n="allcondition-u" class="outgunned-all"></span></span>
|
|
</div>
|
|
</div>
|
|
<br>
|
|
<span data-i18n="your4thcondition-u"></span>
|
|
<span data-i18n="conditions_tt-u" class="outgunned-tooltiptext outgunned-tooltiptext-wideup"></span>
|
|
</div>
|
|
<div class="outgunned-gunsngear">
|
|
<span class="outgunned-tooltip" data-i18n="gunsgear-u"></span>
|
|
<div class="outgunned-gunsngear-guns">
|
|
<span data-i18n="gun-u"></span>
|
|
<span class="outgunned-adventure-hide" data-i18n="melee-u"></span>
|
|
<span class="outgunned-adventure-hide" data-i18n="close-u"></span>
|
|
<span class="outgunned-adventure-hide" data-i18n="medium-u"></span>
|
|
<span class="outgunned-adventure-hide" data-i18n="long-u"></span>
|
|
<span data-i18n="mags-u"></span>
|
|
|
|
<input type="text" name="attr_weapon1">
|
|
<input class="outgunned-adventure-hide" type="number" name="attr_weapon1_melee">
|
|
<input class="outgunned-adventure-hide" type="number" name="attr_weapon1_close">
|
|
<input class="outgunned-adventure-hide" type="number" name="attr_weapon1_medium">
|
|
<input class="outgunned-adventure-hide" type="number" name="attr_weapon1_long">
|
|
<div>
|
|
<input type="checkbox" name="attr_weapon1_mag1" value="1">
|
|
<input type="checkbox" name="attr_weapon1_mag2" value="1">
|
|
<input type="checkbox" name="attr_weapon1_mag3" value="1">
|
|
</div>
|
|
|
|
<input type="text" name="attr_weapon2">
|
|
<input class="outgunned-adventure-hide" type="number" name="attr_weapon2_melee">
|
|
<input class="outgunned-adventure-hide" type="number" name="attr_weapon2_close">
|
|
<input class="outgunned-adventure-hide" type="number" name="attr_weapon2_medium">
|
|
<input class="outgunned-adventure-hide" type="number" name="attr_weapon2_long">
|
|
<div>
|
|
<input type="checkbox" name="attr_weapon2_mag1" value="1">
|
|
<input type="checkbox" name="attr_weapon2_mag2" value="1">
|
|
<input type="checkbox" name="attr_weapon2_mag3" value="1">
|
|
</div>
|
|
|
|
<input type="text" name="attr_weapon3">
|
|
<input class="outgunned-adventure-hide" type="number" name="attr_weapon3_melee">
|
|
<input class="outgunned-adventure-hide" type="number" name="attr_weapon3_close">
|
|
<input class="outgunned-adventure-hide" type="number" name="attr_weapon3_medium">
|
|
<input class="outgunned-adventure-hide" type="number" name="attr_weapon3_long">
|
|
<div>
|
|
<input type="checkbox" name="attr_weapon3_mag1" value="1">
|
|
<input type="checkbox" name="attr_weapon3_mag2" value="1">
|
|
<input type="checkbox" name="attr_weapon3_mag3" value="1">
|
|
</div>
|
|
</div>
|
|
<div class="outgunned-gunsngear-gear">
|
|
<div>
|
|
<input type="text" name="attr_gear1">
|
|
<span>O</span>
|
|
</div>
|
|
<div>
|
|
<input type="text" name="attr_gear2">
|
|
<span>O</span>
|
|
</div>
|
|
<div>
|
|
<input type="text" name="attr_gear3">
|
|
<span>O</span>
|
|
</div>
|
|
<div>
|
|
<input type="text" name="attr_gear4">
|
|
<span>O</span>
|
|
</div>
|
|
<div>
|
|
<input type="text" name="attr_gear5">
|
|
<span>O</span>
|
|
</div>
|
|
</div>
|
|
<span data-i18n="gunsngear_tt-u" class="outgunned-tooltiptext outgunned-tooltiptext-wideup2"></span>
|
|
</div>
|
|
<div class="outgunned-cash-storage-ride">
|
|
<div class="outgunned-cash">
|
|
<img class="outgunned-tooltip"
|
|
src="https://files.d20.io/images/446824562/jZ7Af650GRC1Gq6x-uD6ZQ/original.png?175118858955">
|
|
<span class="outgunned-cash-label outgunned-nodisplay outgunned-tooltip"
|
|
data-i18n="cash-u"></span>
|
|
<div>
|
|
<input type="checkbox" name="attr_cash1" value="1">
|
|
<input type="checkbox" name="attr_cash2" value="1">
|
|
<input type="checkbox" name="attr_cash3" value="1">
|
|
<input type="checkbox" name="attr_cash4" value="1">
|
|
<input type="checkbox" name="attr_cash5" value="1">
|
|
</div>
|
|
<span data-i18n="cash_tt-u" class="outgunned-tooltiptext outgunned-tooltiptext-wideup"></span>
|
|
</div>
|
|
<div class="outgunned-storage">
|
|
<img class="outgunned-backpack-image outgunned-nodisplay"
|
|
src="https://files.d20.io/images/448139665/hZU5av1AS_a1XqxNnyKrow/original.png">
|
|
<span class="outgunned-storage-label outgunned-tooltip" data-i18n="storage-u"></span>
|
|
<span class="outgunned-backpack-label outgunned-nodisplay outgunned-tooltip"
|
|
data-i18n="backpack-u"></span>
|
|
<input type="text" name="attr_storage1">
|
|
<input type="text" name="attr_storage2">
|
|
<input type="text" name="attr_storage3">
|
|
<input type="text" name="attr_storage4">
|
|
<input type="text" name="attr_storage5">
|
|
</div>
|
|
<div class="outgunned-ride">
|
|
<span class="outgunned-tooltip" data-i18n="ride-u"></span>
|
|
<div>
|
|
<span data-i18n="name-u"></span>
|
|
<input type="text" name="attr_ridename">
|
|
</div>
|
|
<div>
|
|
<span class="outgunned-ride-hits">
|
|
<input type="checkbox" name="attr_ride_hits_1" value="1">
|
|
</span>
|
|
<span class="outgunned-ride-hits">
|
|
<input type="checkbox" name="attr_ride_hits_2" value="1">
|
|
</span>
|
|
<span class="outgunned-ride-hits">
|
|
<input type="checkbox" name="attr_ride_hits_3" value="1">
|
|
</span>
|
|
<span class="outgunned-ride-speed">
|
|
<input type="text" name="attr_ride_speed" value="">
|
|
</span>
|
|
<span class="outgunned-ride-armour">
|
|
<input type="checkbox" name="attr_ride_armour_1" value="1">
|
|
</span>
|
|
<span class="outgunned-ride-armour">
|
|
<input type="checkbox" name="attr_ride_armour_2" value="1">
|
|
</span>
|
|
<span class="outgunned-ride-armour">
|
|
<input type="checkbox" name="attr_ride_armour_3" value="1">
|
|
</span>
|
|
</div>
|
|
<img src="https://files.d20.io/images/446826866/PgYe4uwjsg3QqM_PFlJLYg/original.png?175119055755">
|
|
<div class="outgunned-ridetype">
|
|
<input type="checkbox" name="attr_ride_type_1" value="1">
|
|
<input type="checkbox" name="attr_ride_type_2" value="1">
|
|
<input type="checkbox" name="attr_ride_type_3" value="1">
|
|
<input type="checkbox" name="attr_ride_type_4" value="1">
|
|
<input type="checkbox" name="attr_ride_type_5" value="1">
|
|
</div>
|
|
<span data-i18n="ride_tt-u" class="outgunned-tooltiptext outgunned-tooltiptext-wideup"></span>
|
|
</div>
|
|
<div class="outgunned-bag outgunned-nodisplay">
|
|
<span class="outgunned-tooltip" data-i18n="bag-u"></span>
|
|
<input type="text" name="attr_bag1">
|
|
<input type="text" name="attr_bag2">
|
|
<input type="text" name="attr_bag3">
|
|
<input type="text" name="attr_bag4">
|
|
<input type="text" name="attr_bag5">
|
|
</div>
|
|
<input type="hidden" name="attr_diceface1"
|
|
value="[img](https://files.d20.io/images/446909639/xj-NbyLSOFBVTqGynheg-Q/original.png)"/>
|
|
<input type="hidden" name="attr_diceface2"
|
|
value="[img](https://files.d20.io/images/446909641/tDboN9HIp4IvUwEU5CnQhQ/original.png)"/>
|
|
<input type="hidden" name="attr_diceface3"
|
|
value="[img](https://files.d20.io/images/446909638/WNbACtn06TNM5kw_BmwuBg/original.png)"/>
|
|
<input type="hidden" name="attr_diceface4"
|
|
value="[img](https://files.d20.io/images/446909640/1whXyW9BCTW9-naYpmc4mQ/original.png)"/>
|
|
<input type="hidden" name="attr_diceface5"
|
|
value="[img](https://files.d20.io/images/446909643/_Q88I44WouQ7iGx-gIlJsA/original.png)"/>
|
|
<input type="hidden" name="attr_diceface6"
|
|
value="[img](https://files.d20.io/images/446909642/iFneDRiqCj7JbUa0KoS65A/original.png)"/>
|
|
<input type="hidden" name="attr_lastroll" value=""/>
|
|
|
|
<input type="hidden" name="attr_adiceface1"
|
|
value="[img](https://files.d20.io/images/457423076/9DfiyiiDI1OlOVL__RmPTQ/original.png)"/>
|
|
<input type="hidden" name="attr_adiceface2"
|
|
value="[img](https://files.d20.io/images/457423066/PJps_DoLXhyR-jCHbDze1Q/original.png)"/>
|
|
<input type="hidden" name="attr_adiceface3"
|
|
value="[img](https://files.d20.io/images/457423068/Dq-kIHFEAorb14qqWEZF7Q/original.png)"/>
|
|
<input type="hidden" name="attr_adiceface4"
|
|
value="[img](https://files.d20.io/images/457423225/-TMunWPUSTewN4oUNJQUdQ/original.png)"/>
|
|
<input type="hidden" name="attr_adiceface5"
|
|
value="[img](https://files.d20.io/images/457423240/G6n1kAOjxevLXs5CUBIAgQ/original.png)"/>
|
|
<input type="hidden" name="attr_adiceface6"
|
|
value="[img](https://files.d20.io/images/457423070/wDDz3sqyByJVAhLc3ac8sQ/original.png)"/>
|
|
<input type="hidden" name="attr_lastroll" value=""/>
|
|
|
|
</div>
|
|
<div class="outgunned-gunsngear outgunned-notes">
|
|
<span data-i18n="notes-u"></span>
|
|
<textarea name="attr_notes"></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<rolltemplate class="sheet-rolltemplate-diceroller">
|
|
<div class="sheet-outgunned-rolltemplate">
|
|
<div>
|
|
<span>{{character}}</span>
|
|
<div>{{diceresult1}} {{resulttype1}}</div>
|
|
<div>{{diceresult2}} {{resulttype2}}</div>
|
|
<div>{{diceresult3}} {{resulttype3}}</div>
|
|
<div>{{diceresult4}} {{resulttype4}}</div>
|
|
<div>{{diceresult5}} {{resulttype5}}</div>
|
|
<div>{{diceresult6}} {{resulttype6}}</div>
|
|
<span>{{message}}</span>
|
|
<span>{{result}}</span>
|
|
</div>
|
|
</div>
|
|
</rolltemplate>
|
|
<rolltemplate class="sheet-rolltemplate-diceroller-adventure">
|
|
<div class="sheet-outgunned-rolltemplate">
|
|
<div>
|
|
<span>{{character}}</span>
|
|
<div>{{diceresult1}} {{resulttype1}}</div>
|
|
<div>{{diceresult2}} {{resulttype2}}</div>
|
|
<div>{{diceresult3}} {{resulttype3}}</div>
|
|
<div>{{diceresult4}} {{resulttype4}}</div>
|
|
<div>{{diceresult5}} {{resulttype5}}</div>
|
|
<div>{{diceresult6}} {{resulttype6}}</div>
|
|
<span>{{message}}</span>
|
|
<span>{{result}}</span>
|
|
</div>
|
|
</div>
|
|
</rolltemplate>
|
|
<rolltemplate class="sheet-rolltemplate-hidden">
|
|
|
|
</rolltemplate>
|
|
|
|
<!-- -->
|
|
<!-- -->
|
|
<!-- Sheetworker -->
|
|
<!-- -->
|
|
<!-- -->
|
|
<script type="text/worker">
|
|
|
|
let adventureToggle = false;
|
|
|
|
const getRollTemplate = function() {
|
|
return adventureToggle ? "&{template:diceroller-adventure} " : "&{template:diceroller} ";
|
|
}
|
|
|
|
const diceParser = function(info) {
|
|
// write your sheetworker to do things here
|
|
console.log("Rolling dice!");
|
|
|
|
const attrsToGet = adventureToggle ? ["num_dice", "adiceface1", "adiceface2", "adiceface3", "adiceface4", "adiceface5", "adiceface6"] :
|
|
["num_dice", "diceface1", "diceface2", "diceface3", "diceface4", "diceface5", "diceface6"]
|
|
const diceFace = adventureToggle ? "adiceface" : "diceface"
|
|
|
|
getAttrs(attrsToGet, function(v) {
|
|
|
|
console.log("Num dice: " + v.num_dice);
|
|
|
|
// Start a roll JUST to collect the dice roll results to build our output
|
|
|
|
startRoll("&{template:hidden} {{roll=[[" + v.num_dice + "D6]]}}", (dummyResults) => {
|
|
|
|
// Roll results example : {"rollId":"-OTvv7we44Qrp8QNKp0u","results":{"roll":{"result":11,"dice":[2,6,1,2],"expression":"4D6","rolls":[{"sides":6,"dice":4,"results":[2,6,1,2]}]}}}
|
|
|
|
// Need to count up the matching rolls 'yahtzee' style
|
|
let aggregatedRolls = {
|
|
1: 0,
|
|
2: 0,
|
|
3: 0,
|
|
4: 0,
|
|
5: 0,
|
|
6: 0
|
|
};
|
|
|
|
dummyResults.results.roll.dice.forEach(val => {
|
|
aggregatedRolls[+val] = aggregatedRolls[+val]+1;
|
|
});
|
|
|
|
finishRoll(dummyResults.rollId, {});
|
|
|
|
const resultTypes = ["", "", "BASIC", "CRITICAL", "EXTREME", "IMPOSSIBLE", "JACKPOT!"]
|
|
|
|
// We now know how many of each dice values we rolled, so we can build strings of image urls and send them through another dice roll
|
|
let stubRoll = getRollTemplate() + "{{character= @{character_name} }} ";
|
|
let successes = 0;
|
|
for(let i=1; i<=6; i++) {
|
|
stubRoll += "{{diceresult" + i + "=" + v[diceFace + i].repeat(aggregatedRolls[i]) + "}} ";
|
|
if(aggregatedRolls[i] > 1) {
|
|
stubRoll += "{{resulttype" + i + "=" + resultTypes[aggregatedRolls[i]] + "}} ";
|
|
successes++;
|
|
}
|
|
}
|
|
|
|
// Store successes
|
|
aggregatedRolls.successes = successes;
|
|
|
|
// Store re-roll, free re-roll and all-in statuses
|
|
aggregatedRolls.reroll = false;
|
|
aggregatedRolls.freereroll = false;
|
|
aggregatedRolls.allin = false;
|
|
|
|
console.log("Aggregated rolls: " + JSON.stringify(aggregatedRolls));
|
|
|
|
// Store the roll results for re-rolls etc.
|
|
setAttrs({lastroll: JSON.stringify(aggregatedRolls)});
|
|
|
|
startRoll(getRollTemplate() + "{{character= @{character_name} }} " + stubRoll, (results) => {
|
|
finishRoll(results.rollId, {});
|
|
});
|
|
});
|
|
});
|
|
}
|
|
// Event callback
|
|
on("clicked:diceroller", diceParser);
|
|
|
|
// Re-roll and Free Re-Roll function
|
|
const reroll = function(info, free, allin) {
|
|
|
|
console.log("- Reroll: Free: " + free + " All-In: " + allin);
|
|
|
|
// Create our 'type' string for messages
|
|
let msgType = "Re-Roll";
|
|
if(free) {
|
|
msgType = "Free Re-Roll";
|
|
}
|
|
if(allin) {
|
|
msgType = "All-In";
|
|
}
|
|
|
|
// Get our last roll and our dice
|
|
const attrsToGet = adventureToggle ? ["num_dice", "lastroll", "adiceface1", "adiceface2", "adiceface3", "adiceface4", "adiceface5", "adiceface6"] :
|
|
["num_dice", "lastroll", "diceface1", "diceface2", "diceface3", "diceface4", "diceface5", "diceface6"]
|
|
const diceFace = adventureToggle ? "adiceface" : "diceface"
|
|
|
|
getAttrs(attrsToGet, function(values) {
|
|
|
|
if(!values.lastroll) {
|
|
startRoll(getRollTemplate() + "{{character= @{character_name} }} {{message=No Roll To " + msgType + "}}", (results) => {
|
|
finishRoll(results.rollId, {});
|
|
});
|
|
return;
|
|
}
|
|
|
|
let aggregatedRolls = JSON.parse(values.lastroll);
|
|
// Store a copy to check for extra, or improved successes
|
|
let lastAggregatedRolls = JSON.parse(values.lastroll);
|
|
|
|
// If we haven't done a re-roll and we are all-in, then return
|
|
if((!aggregatedRolls.reroll && !aggregatedRolls.freereroll) && allin) {
|
|
startRoll(getRollTemplate() + "{{character= @{character_name} }} {{message=Cannot All-In Without A Re-Roll!}}", (results) => {
|
|
finishRoll(results.rollId, {});
|
|
});
|
|
return;
|
|
}
|
|
|
|
// If we are doing an All-In and didn't get a better result, then return
|
|
if(allin && !aggregatedRolls.betterResult) {
|
|
startRoll(getRollTemplate() + "{{character= @{character_name} }} {{message=Cannot All-In As Re-Roll Didn't Produce A Better Result!}}", (results) => {
|
|
finishRoll(results.rollId, {});
|
|
});
|
|
return;
|
|
}
|
|
|
|
if(aggregatedRolls.successes === 0 && !free) {
|
|
// Cannot re-roll with no successes UNLESS free
|
|
startRoll(getRollTemplate() + "{{character= @{character_name} }} {{message=Cannot Re-Roll With No Successes!}}", (results) => {
|
|
finishRoll(results.rollId, {});
|
|
});
|
|
return;
|
|
}
|
|
|
|
// If we've already done a re-roll and we are NOT all-in, then return
|
|
if((aggregatedRolls.reroll || aggregatedRolls.freereroll) && !allin) {
|
|
startRoll(getRollTemplate() + "{{character= @{character_name} }} {{message=Already Re-Rolled!}}", (results) => {
|
|
finishRoll(results.rollId, {});
|
|
});
|
|
return;
|
|
}
|
|
|
|
// If we are doing an All-In and haven't done a re-roll, then return
|
|
if(allin && !aggregatedRolls.reroll && !aggregatedRolls.freereroll) {
|
|
startRoll(getRollTemplate() + "{{character= @{character_name} }} {{message=Cannot All-In Without A Re-Roll First!}}", (results) => {
|
|
finishRoll(results.rollId, {});
|
|
});
|
|
return;
|
|
}
|
|
|
|
// If we are doing an All-In and haven't done a re-roll, then return
|
|
if(allin && aggregatedRolls.allin) {
|
|
startRoll(getRollTemplate() + "{{character= @{character_name} }} {{message=Cannot All-In More Than Once!}}", (results) => {
|
|
finishRoll(results.rollId, {});
|
|
});
|
|
return;
|
|
}
|
|
|
|
// Count the number of rolls where we got 1 symbol
|
|
let diceToReroll = 0;
|
|
for(let i=1; i<=6; i++) {
|
|
if(aggregatedRolls[i] === 1) {
|
|
diceToReroll++;
|
|
aggregatedRolls[i] = 0;
|
|
}
|
|
}
|
|
|
|
if(!diceToReroll && !free) {
|
|
// Send an error message via a roll template
|
|
console.log("ERROR: No dice to re-roll!");
|
|
startRoll(getRollTemplate() + "{{character= @{character_name} }} {{message=No Dice To " + msgType + "}}", (results) => {
|
|
finishRoll(results.rollId, {});
|
|
});
|
|
}
|
|
else {
|
|
|
|
// We have some dice to roll and add to our current results
|
|
console.log("Re-rolling " + diceToReroll + " dice");
|
|
startRoll("&{template:hidden} {{roll=[[" + diceToReroll + "D6]]}}", (dummyResults) => {
|
|
|
|
dummyResults.results.roll.dice.forEach(val => {
|
|
aggregatedRolls[+val] = aggregatedRolls[+val]+1;
|
|
});
|
|
|
|
finishRoll(dummyResults.rollId, {});
|
|
|
|
const resultTypes = ["", "", "BASIC", "CRITICAL", "EXTREME", "IMPOSSIBLE", "JACKPOT!"]
|
|
|
|
// We now know how many of each dice values we rolled, so we can build strings of image urls and send them through another dice roll
|
|
let stubRoll = getRollTemplate() + "{{character= @{character_name} }} ";
|
|
let successes = 0;
|
|
for(let i=1; i<=6; i++) {
|
|
stubRoll += "{{diceresult" + i + "=" + values[diceFace + i].repeat(aggregatedRolls[i]) + "}} ";
|
|
if(aggregatedRolls[i] > 1) {
|
|
stubRoll += "{{resulttype" + i + "=" + resultTypes[aggregatedRolls[i]] + "}} ";
|
|
successes++;
|
|
}
|
|
}
|
|
|
|
// Did the re-roll succeed? Yes, if:
|
|
// 1. There are more successes
|
|
// 2. One or more of the successes is better
|
|
let message = "Re-Roll Failed!\nLose A Success!";
|
|
if(free) {
|
|
message = "Free Re-Roll!";
|
|
}
|
|
if(allin) {
|
|
message = "All-In Failed!\nLose ALL Successes!";
|
|
}
|
|
let extraSuccesses = 0;
|
|
let increasedSuccesses = 0;
|
|
if(successes > aggregatedRolls.successes) {
|
|
console.log("Re-rolled more successes");
|
|
extraSuccesses = successes - aggregatedRolls.successes;
|
|
}
|
|
for(let i=1; i<=6; i++) {
|
|
if(lastAggregatedRolls[i] >= 2 && aggregatedRolls[i] > lastAggregatedRolls[i]) {
|
|
console.log("Increased success: " + i + ": " + aggregatedRolls[i] + " vs. " + lastAggregatedRolls[i]);
|
|
increasedSuccesses++;
|
|
}
|
|
}
|
|
|
|
if(extraSuccesses || increasedSuccesses) {
|
|
message = msgType + " Success!\n";
|
|
if(extraSuccesses) {
|
|
message += " " + extraSuccesses + " Extra Success" + (extraSuccesses > 1 ? "es!" : "!\n");
|
|
}
|
|
if(increasedSuccesses) {
|
|
message += " " + increasedSuccesses + " Increased Success" + (increasedSuccesses > 1 ? "es!" : "!\n" );
|
|
}
|
|
aggregatedRolls.betterResult = true;
|
|
}
|
|
else if(free) {
|
|
message = msgType + " Flat!\nNo Change!";
|
|
aggregatedRolls.betterResult = false;
|
|
}
|
|
else {
|
|
aggregatedRolls.betterResult = false;
|
|
}
|
|
|
|
// Store successes
|
|
aggregatedRolls.successes = successes;
|
|
if(free) {
|
|
aggregatedRolls.freereroll = true;
|
|
}
|
|
else if(allin) {
|
|
aggregatedRolls.allin = true;
|
|
}
|
|
else {
|
|
aggregatedRolls.reroll = true;
|
|
}
|
|
|
|
// Store the roll results for free re-rolls and all-ins
|
|
setAttrs({lastroll: JSON.stringify(aggregatedRolls)});
|
|
|
|
startRoll(stubRoll + " {{message=" + message + "}} ", (results) => {
|
|
finishRoll(results.rollId, {});
|
|
});
|
|
});
|
|
|
|
}
|
|
});
|
|
}
|
|
|
|
// Event callback for re-roll
|
|
on("clicked:reroll", reroll);
|
|
|
|
// Event callback for free re-roll
|
|
on("clicked:freereroll", function(info) {
|
|
|
|
console.log("Free Reroll");
|
|
reroll(info, true)
|
|
});
|
|
|
|
on("clicked:allin", function(info) {
|
|
|
|
console.log("All-In");
|
|
reroll(info, false, true)
|
|
});
|
|
|
|
// Function to force continuity across roulette checkboxes
|
|
on("change:roulette2 change:roulette3 change:roulette4 change:roulette5 change:roulette6 ", function(e) {
|
|
|
|
console.log("change:rouletteN: " + JSON.stringify(e));
|
|
|
|
// Fill in any blanks if user accidentally clicks out of sequence
|
|
getAttrs(["roulette1", "roulette2", "roulette3", "roulette4", "roulette5", "roulette6"], function(values) {
|
|
|
|
// Get changed number
|
|
let clicked = +e.sourceAttribute.replace("roulette", "");
|
|
|
|
// See how far round the wheel we are:
|
|
let current = 1;
|
|
let attrs = {};
|
|
for(let i=1; i<=6; i++) {
|
|
if(+values["roulette" + i] === 0 && i < clicked) {
|
|
// Fill it in
|
|
attrs["roulette" + i] = 1;
|
|
}
|
|
if(+values["roulette" + i] === 1 && i > clicked) {
|
|
// Fill it in
|
|
attrs["roulette" + i] = 0;
|
|
}
|
|
}
|
|
|
|
setAttrs(attrs, {silent: true});
|
|
});
|
|
});
|
|
|
|
/*
|
|
* Roulette dice roll
|
|
*/
|
|
on("clicked:roulette", function() {
|
|
getAttrs(["roulette1", "roulette2", "roulette3", "roulette4", "roulette5", "roulette6"], function(values) {
|
|
// See how far round the wheel we are:
|
|
let current = 1;
|
|
for(let i=1; i<=6; i++) {
|
|
if(+values["roulette" + i] === 1) {
|
|
current = i;
|
|
}
|
|
}
|
|
|
|
console.log("Current roulette: " + current);
|
|
|
|
// Now need to roll a D6 and get higher
|
|
startRoll("&{template:hidden} {{result=[[1D6]]}}", (dummyResults) => {
|
|
message = "SURVIVED!";
|
|
console.log(JSON.stringify(dummyResults));
|
|
if(dummyResults.results.result.result <= current) {
|
|
message = "LEFT FOR DEAD!"
|
|
}
|
|
else {
|
|
// Increment roulette
|
|
setAttrs({["roulette" + (current+1)]: "1"});
|
|
}
|
|
finishRoll(dummyResults.rollId, {});
|
|
|
|
startRoll(getRollTemplate() + "{{character= @{character_name} }} {{result=" + dummyResults.results.result.result + "}} {{message=" + message + "}}", (results) => {
|
|
finishRoll(results.rollId, {});
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
/*
|
|
* Adventure toggle
|
|
*/
|
|
on("sheet:opened change:adventuretoggle", function(e) {
|
|
|
|
console.log("change:adventuretoggle: " + JSON.stringify(e));
|
|
|
|
if(e.triggerName === "sheet:opened") {
|
|
// Get the adventure toggle and see if we need to apply it
|
|
getAttrs(["adventuretoggle"], function(values) {
|
|
adventureMode(+values.adventuretoggle === 1);
|
|
});
|
|
}
|
|
else {
|
|
adventureMode(+e.newValue === 1);
|
|
}
|
|
|
|
// Reset last stored roll
|
|
setAttrs({lastroll: ""});
|
|
});
|
|
|
|
/*
|
|
*
|
|
*/
|
|
on("change:num_dice", function(e) {
|
|
|
|
let attrs;
|
|
if(+e.newValue < 2) {
|
|
attrs = {num_dice: 2};
|
|
}
|
|
if(+e.newValue > 9) {
|
|
attrs = {num_dice: 9};
|
|
}
|
|
|
|
if(attrs) {
|
|
setAttrs(attrs);
|
|
}
|
|
});
|
|
|
|
/*
|
|
* Change various elements for adventure mode
|
|
*/
|
|
const adventureMode = (mode) => {
|
|
|
|
adventureToggle = mode;
|
|
if(mode) {
|
|
// Text and fill colours etc.
|
|
$20(".outgunned-main-grid").addClass('outgunned-main-grid-var-adventure');
|
|
$20(".sheet-rolltemplate-diceroller").addClass('outgunned-main-grid-var-adventure');
|
|
|
|
// Adrenaline, grit, roulette and cash images need tinting
|
|
$20('[class*="outgunned-adrenaline-icon"]').addClass('outgunned-image-adventure');
|
|
$20('.outgunned-gritnormal').addClass('outgunned-image-adventure');
|
|
$20('.outgunned-grithot').addClass('outgunned-image-adventure');
|
|
$20('.outgunned-spotlight').addClass('outgunned-image-adventure');
|
|
$20('.outgunned-roulette').addClass('outgunned-image-adventure');
|
|
$20('.outgunned-cash').addClass('outgunned-image-adventure');
|
|
|
|
// Switch out Spotlight image
|
|
$20('.outgunned-spotlight-image-adventure').removeClass('outgunned-nodisplay');
|
|
$20('.outgunned-spotlight-image').addClass('outgunned-nodisplay');
|
|
|
|
// Switch out ADRENALINE! label for LUCK!
|
|
$20('.outgunned-luck-label').removeClass('outgunned-nodisplay');
|
|
$20('.outgunned-adrenaline-label').addClass('outgunned-nodisplay');
|
|
|
|
$20('.outgunned-grit-text-hot-luck').removeClass('outgunned-nodisplay');
|
|
$20('.outgunned-grit-text-hot').addClass('outgunned-nodisplay');
|
|
|
|
// Switch out JOB label for BACKGROUND
|
|
$20('.outgunned-background-label').removeClass('outgunned-nodisplay');
|
|
$20('.outgunned-job-label').addClass('outgunned-nodisplay');
|
|
|
|
// Switch out STORAGE label for BACKPACK
|
|
$20('.outgunned-backpack-label').removeClass('outgunned-nodisplay');
|
|
$20('.outgunned-storage-label').addClass('outgunned-nodisplay');
|
|
|
|
$20('.outgunned-treasure-label').removeClass('outgunned-nodisplay');
|
|
$20('.outgunned-mission-label').addClass('outgunned-nodisplay');
|
|
|
|
// Switch RIDE panel out for BAG panel
|
|
$20('.outgunned-bag').removeClass('outgunned-nodisplay');
|
|
$20('.outgunned-ride').addClass('outgunned-nodisplay');
|
|
$20('.outgunned-cash > img').addClass('outgunned-nodisplay');
|
|
$20('.outgunned-cash-label').removeClass('outgunned-nodisplay');
|
|
$20('.outgunned-backpack-image').removeClass('outgunned-nodisplay');
|
|
|
|
// Switch logos
|
|
$20('.outgunned-logo-adventure').removeClass('outgunned-nodisplay');
|
|
$20('.outgunned-logo').addClass('outgunned-nodisplay');
|
|
|
|
// Hide weapon ranges
|
|
$20('.outgunned-adventure-hide').addClass('outgunned-nodisplay');
|
|
$20('.outgunned-gunsngear-guns').addClass('outgunned-gunsngear-guns-adventure');
|
|
}
|
|
else {
|
|
$20(".outgunned-main-grid").removeClass('outgunned-main-grid-var-adventure');
|
|
$20(".sheet-rolltemplate-diceroller").removeClass('outgunned-main-grid-var-adventure');
|
|
|
|
$20('[class*="outgunned-adrenaline-icon"]').removeClass('outgunned-image-adventure');
|
|
$20('.outgunned-gritnormal').removeClass('outgunned-image-adventure');
|
|
$20('.outgunned-grithot').removeClass('outgunned-image-adventure');
|
|
$20('.outgunned-spotlight').removeClass('outgunned-image-adventure');
|
|
$20('.outgunned-roulette').removeClass('outgunned-image-adventure');
|
|
$20('.outgunned-cash').removeClass('outgunned-image-adventure');
|
|
|
|
$20('.outgunned-spotlight-image-adventure').addClass('outgunned-nodisplay');
|
|
$20('.outgunned-spotlight-image').removeClass('outgunned-nodisplay');
|
|
|
|
$20('.outgunned-luck-label').addClass('outgunned-nodisplay');
|
|
$20('.outgunned-adrenaline-label').removeClass('outgunned-nodisplay');
|
|
|
|
$20('.outgunned-grit-text-hot').removeClass('outgunned-nodisplay');
|
|
$20('.outgunned-grit-text-hot-luck').addClass('outgunned-nodisplay');
|
|
|
|
$20('.outgunned-background-label').addClass('outgunned-nodisplay');
|
|
$20('.outgunned-job-label').removeClass('outgunned-nodisplay');
|
|
|
|
$20('.outgunned-backpack-label').addClass('outgunned-nodisplay');
|
|
$20('.outgunned-storage-label').removeClass('outgunned-nodisplay');
|
|
|
|
$20('.outgunned-treasure-label').addClass('outgunned-nodisplay');
|
|
$20('.outgunned-mission-label').removeClass('outgunned-nodisplay');
|
|
|
|
$20('.outgunned-bag').addClass('outgunned-nodisplay');
|
|
$20('.outgunned-ride').removeClass('outgunned-nodisplay');
|
|
$20('.outgunned-cash > img').removeClass('outgunned-nodisplay');
|
|
$20('.outgunned-cash-label').addClass('outgunned-nodisplay');
|
|
$20('.outgunned-backpack-image').addClass('outgunned-nodisplay');
|
|
|
|
$20('.outgunned-logo-adventure').addClass('outgunned-nodisplay');
|
|
$20('.outgunned-logo').removeClass('outgunned-nodisplay');
|
|
|
|
$20('.outgunned-adventure-hide').removeClass('outgunned-nodisplay');
|
|
$20('.outgunned-gunsngear-guns').removeClass('outgunned-gunsngear-guns-adventure');
|
|
}
|
|
}
|
|
|
|
|
|
</script>
|
|
<!--
|
|
https://files.d20.io/images/448139665/hZU5av1AS_a1XqxNnyKrow/original.png
|
|
--> |