Merge pull request #9030 from Anduh/stargateNPC

[Stargate RPG] v.1.72
This commit is contained in:
Miguel Peres
2021-06-07 15:37:00 -03:00
committed by GitHub
13 changed files with 859 additions and 1339 deletions
+5
View File
@@ -4,6 +4,11 @@ Offical Roll20 Character sheet for "Stargate RPG" by Wyvern Gaming (Quickstart/B
### Changelog
**v.1.72(2021-06)**
* update in-sheet changelog
* page navigation made always visible
* refactor code
**v.1.70(2021-05-04)**
* refactor sheet in PUG & SCSS
* update the sheet to work with [CSE](https://wiki.roll20.net/CSE)
-749
View File
@@ -1,749 +0,0 @@
<!--
<input type="radio" name="attr_tab" class="tab tab1" value="1" checked="checked"><span title="Main"></span>
<input type="radio" name="attr_tab" class="tab tab2" value="2" style="top: -56px;left: 235px;" ><span title="Background"></span>
<input type="radio" name="attr_tab" class="tab tab3" value="3" style="top: -88px;left: 392px;" ><span title="Settings"></span>
-->
<div class="tab-buttons middle center">
<button type="action" name="act_character" >Character</button>
<button type="action" name="act_background" >Background</button>
<button type="action" name="act_settings" >Settings</button>
</div>
<span class="version bold">Sheet Version: 1.70</span>
<input type="hidden" class="tabstoggle" name="attr_sheetTab" value="character">
<!-- --------------------------------------------------------------------------------- -->
<!-- --------------------------- PAGE 1 ---------------------------------------------- -->
<!-- --------------------------------------------------------------------------------- -->
<main class="character tab-content tab1 page1">
<!-- NAME SECTION -->
<section class="name columnflex nowrap">
<div class="rowflex nowrap spaced">
<div class="columnflex nowrap">
<label style="width:100px;">Character name</label>
<input name="attr_character_name" type="text">
</div>
<div class="columnflex nowrap">
<label style="width:80px;">Player name</label>
<input name="attr_player_name" type="text">
</div>
<div class="columnflex nowrap">
<label>Campaign</label>
<input name="attr_campaign" type="text">
</div>
</div>
<div class="rowflex nowrap spaced">
<div class="columnflex nowrap">
<label>Race</label>
<input name="attr_race" list="race" placeholder="race" type="text">
</div>
<div class="columnflex nowrap">
<label>Origin</label>
<input name="attr_origin" list="origin" placeholder="origin" type="text">
</div>
<div class="columnflex nowrap">
<label>Class</label>
<input name="attr_class" list="rpgclass" placeholder="class" type="text">
</div>
<div class="columnflex nowrap">
<label class="w40" title="@{rank}">Level</label>
<input name="attr_rank" title="@{rank}" type="number" placeholder="1" class="w40">
</div>
<div class="columnflex nowrap">
<label class="w40" title="Hit Dice">HD</label>
<input name="attr_hd" type="text" placeholder="d8" title="Hit Dice: @{hd}" class="w40">
</div>
<div class="columnflex nowrap">
<label class="w30">MP</label>
<input name="attr_mp" type="number" placeholder="" title="Mission Points" class="w40">
</div>
<div class="columnflex nowrap">
<label class="w70" title="@{td}">Tension Die</label>
<select name="attr_td">
<option value="d4">d4</option>
<option value="d6" selected>d6</option>
<option value="d8">d8</option>
<option value="d10">d10</option>
<option value="d12">d12</option>
</select>
</div>
</div>
</section>
<!-- ATTRIBUTES SECTION -->
<div class="attr columnflex nowrap spaced center">
<div class="stat columnflex nowrap center middle">
<button name="roll_str" title="%{str}" type="roll" value="@{whisper}&{template:stargate} {{title=Strength Check}} @{show_name} {{[[d20+(@{str_mod})]]=[[d20+(@{str_mod})]]}}" class="txt-btn large">STR</button>
<input name="attr_str" type="number" value="10">
<span class="mod" name="attr_str_mod" title="@{str_mod}"></span>
</div>
<div class="stat columnflex nowrap center middle">
<button name="roll_dex" type="roll" title="%{dex}" value="@{whisper}&{template:stargate} {{title=Dexterity Check}} @{show_name} {{[[d20+(@{dex_mod})]]=[[d20+(@{dex_mod})]]}}" class="txt-btn large">DEX</button>
<input name="attr_dex" type="number" value="10">
<span class="mod" name="attr_dex_mod" title="@{dex_mod}"></span>
</div>
<div class="stat columnflex nowrap center middle">
<button name="roll_con" type="roll" title="%{con}" value="@{whisper}&{template:stargate} {{title=Constitution Check}} @{show_name} {{[[d20+(@{con_mod})]]=[[d20+(@{con_mod})]]}}" class="txt-btn large">CON</button>
<input name="attr_con" type="number" value="10">
<span class="mod" name="attr_con_mod" title="@{con_mod}"></span>
</div>
<div class="stat columnflex nowrap center middle">
<button name="roll_int" type="roll" title="%{int}" value="@{whisper}&{template:stargate} {{title=Intelligence Check}} @{show_name} {{[[d20+(@{int_mod})]]=[[d20+(@{int_mod})]]}}" class="txt-btn large">INT</button>
<input name="attr_int" type="number" value="10">
<span class="mod" name="attr_int_mod" title="@{int_mod}"></span>
</div>
<div class="stat columnflex nowrap center middle">
<button name="roll_wis" type="roll" title="%{wis}" value="@{whisper}&{template:stargate} {{title=Wisdom Check}} @{show_name} {{[[d20+(@{wis_mod})]]=[[d20+(@{wis_mod})]]}}" class="txt-btn large">WIS</button>
<input name="attr_wis" type="number" value="10">
<span class="mod" name="attr_wis_mod" title="@{wis_mod}"></span>
</div>
<div class="stat columnflex nowrap center middle">
<button name="roll_cha" type="roll" title="%{cha}" value="@{whisper}&{template:stargate} {{title=Charisma Check}} @{show_name} {{[[d20+(@{cha_mod})]]=[[d20+(@{cha_mod})]]}}" class="txt-btn large">CHA</button>
<input name="attr_cha" type="number" value="10">
<span class="mod" name="attr_cha_mod" title="@{cha_mod}"></span>
</div>
</div>
<!-- Skills (20)-->
<section class="skills columnflex nowrap spaced">
<h3>Skills</h3>
<div class="rowflex nowrap">
<input name="attr_acrobatics_c" type="checkbox" value="1">
<input name="attr_acrobatics" type="number" title="@{acrobatics}" value="0" class="w30">
<button name="roll_acrobatics" type="roll" class="txt-btn" value="@{whisper}&{template:stargate} {{title=Acrobatics Check}} @{show_name} {{[[d20+(@{acrobatics})]]=[[d20+(@{acrobatics})]]}}">Acrobatics</button>
<span>(dex)</span>
</div>
<div class="rowflex nowrap">
<input name="attr_animalhandling_c" type="checkbox" value="1">
<input name="attr_animalhandling" type="number" title="@{animalhandling}" value="0" class="w30">
<button name="roll_animalhandling" type="roll" class="txt-btn" value="@{whisper}&{template:stargate} {{title=Animal Handling Check}} @{show_name} {{[[d20+(@{animalhandling})]]=[[d20+(@{animalhandling})]]}}">Animal Handling</button>
<span>(wis)</span>
</div>
<div class="rowflex nowrap">
<input name="attr_athletics_c" type="checkbox" value="1">
<input name="attr_athletics" type="number" title="@{athletics}" value="0" class="w30">
<button name="roll_athletics" type="roll" class="txt-btn" value="@{whisper}&{template:stargate} {{title=Athletics Check}} @{show_name} {{[[d20+(@{athletics})]]=[[d20+(@{athletics})]]}}">Athletics</button>
<span>(str)</span>
</div>
<div class="rowflex nowrap">
<input name="attr_culture_c" type="checkbox" value="1">
<input name="attr_culture" type="number" title="@{culture}" value="0" class="w30">
<button name="roll_culture" type="roll" class="txt-btn" value="@{whisper}&{template:stargate} {{title=Culture Check}} @{show_name} {{[[d20+(@{culture})]]=[[d20+(@{culture})]]}}">Culture</button>
<span>(wis)</span>
</div>
<div class="rowflex nowrap">
<input name="attr_deception_c" type="checkbox" value="1">
<input name="attr_deception" type="number" title="@{deception}" value="0" class="w30">
<button name="roll_deception" type="roll" class="txt-btn" value="@{whisper}&{template:stargate} {{title=Deception Check}} @{show_name} {{[[d20+(@{deception})]]=[[d20+(@{deception})]]}}">Deception</button>
<span>(cha)</span>
</div>
<div class="rowflex nowrap">
<input name="attr_engineering_c" type="checkbox" value="1">
<input name="attr_engineering" type="number" title="@{engineering}" value="0" class="w30">
<button name="roll_engineering" type="roll" class="txt-btn" value="@{whisper}&{template:stargate} {{title=Engineering Check}} @{show_name} {{[[d20+(@{engineering})]]=[[d20+(@{engineering})]]}}">engineering</button>
<span>(int)</span>
</div>
<div class="rowflex nowrap">
<input name="attr_history_c" type="checkbox" value="1">
<input name="attr_history" type="number" title="@{history}" value="0" class="w30">
<button name="roll_history" type="roll" class="txt-btn" value="@{whisper}&{template:stargate} {{title=History Check}} @{show_name} {{[[d20+(@{history})]]=[[d20+(@{history})]]}}">history</button>
<span>(int)</span>
</div>
<div class="rowflex nowrap">
<input name="attr_insight_c" type="checkbox" value="1">
<input name="attr_insight" type="number" title="@{insight}" value="0" class="w30">
<button name="roll_insight" type="roll" class="txt-btn" value="@{whisper}&{template:stargate} {{title=Insight Check}} @{show_name} {{[[d20+(@{insight})]]=[[d20+(@{insight})]]}}">insight</button>
<span>(wis)</span>
</div>
<div class="rowflex nowrap">
<input name="attr_intimidation_c" type="checkbox" value="1">
<input name="attr_intimidation" type="number" title="@{intimidation}" value="0" class="w30">
<button name="roll_intimidation" type="roll" class="txt-btn" value="@{whisper}&{template:stargate} {{title=Intimidation Check}} @{show_name} {{[[d20+(@{intimidation})]]=[[d20+(@{intimidation})]]}}">intimidation</button>
<span>(cha)</span>
</div>
<div class="rowflex nowrap">
<input name="attr_investigation_c" type="checkbox" value="1">
<input name="attr_investigation" type="number" title="@{investigation}" value="0" class="w30">
<button name="roll_investigation" type="roll" class="txt-btn" value="@{whisper}&{template:stargate} {{title=Investigation Check}} @{show_name} {{[[d20+(@{investigation})]]=[[d20+(@{investigation})]]}}">investigation</button>
<span>(int)</span>
</div>
<div class="rowflex nowrap">
<input name="attr_medicine_c" type="checkbox" value="1">
<input name="attr_medicine" type="number" title="@{medicine}" value="0" class="w30">
<button name="roll_medicine" type="roll" class="txt-btn" value="@{whisper}&{template:stargate} {{title=medicine Check}} @{show_name} {{[[d20+(@{medicine})]]=[[d20+(@{medicine})]]}}">medicine</button>
<span>(wis)</span>
</div>
<div class="rowflex nowrap">
<input name="attr_nature_c" type="checkbox" value="1">
<input name="attr_nature" type="number" title="@{nature}" value="0" class="w30">
<button name="roll_nature" type="roll" class="txt-btn" value="@{whisper}&{template:stargate} {{title=nature Check}} @{show_name} {{[[d20+(@{nature})]]=[[d20+(@{nature})]]}}">nature</button>
<span>(int)</span>
</div>
<div class="rowflex nowrap">
<input name="attr_perception_c" type="checkbox" value="1">
<input name="attr_perception" type="number" title="@{perception}" value="0" class="w30">
<button name="roll_perception" type="roll" class="txt-btn" value="@{whisper}&{template:stargate} {{title=perception Check}} @{show_name} {{[[d20+(@{perception})]]=[[d20+(@{perception})]]}}">perception</button>
<span>(wis)</span>
</div>
<div class="rowflex nowrap">
<input name="attr_performance_c" type="checkbox" value="1">
<input name="attr_performance" type="number" title="@{performance}" value="0" class="w30">
<button name="roll_performance" type="roll" class="txt-btn" value="@{whisper}&{template:stargate} {{title=performance Check}} @{show_name} {{[[d20+(@{performance})]]=[[d20+(@{performance})]]}}">performance</button>
<span>(cha)</span>
</div>
<div class="rowflex nowrap">
<input name="attr_persuasion_c" type="checkbox" value="1">
<input name="attr_persuasion" type="number" title="@{persuasion}" value="0" class="w30">
<button name="roll_persuasion" type="roll" class="txt-btn" value="@{whisper}&{template:stargate} {{title=Persuasion Check}} @{show_name} {{[[d20+(@{persuasion})]]=[[d20+(@{persuasion})]]}}">persuasion</button>
<span>(cha)</span>
</div>
<div class="rowflex nowrap">
<input name="attr_pilot_c" type="checkbox" value="1">
<input name="attr_pilot" type="number" title="@{}" value="0" class="w30">
<button name="roll_pilot" type="roll" class="txt-btn" value="@{whisper}&{template:stargate} {{title=pilot Check}} @{show_name} {{[[d20+(@{pilot})]]=[[d20+(@{pilot})]]}}">pilot</button>
<span>(dex)</span>
</div>
<div class="rowflex nowrap">
<input name="attr_science_c" type="checkbox" value="1">
<input name="attr_science" type="number" title="@{science}" value="0" class="w30">
<button name="roll_science" type="roll" class="txt-btn" value="@{whisper}&{template:stargate} {{title=science Check}} @{show_name} {{[[d20+(@{science})]]=[[d20+(@{science})]]}}">science</button>
<span>(int)</span>
</div>
<div class="rowflex nowrap">
<input name="attr_sleight_c" type="checkbox" value="1">
<input name="attr_sleight" type="number" title="@{sleight}" value="0" class="w30">
<button name="roll_sleight" type="roll" class="txt-btn" value="@{whisper}&{template:stargate} {{title=Sleight of Hand Check}} @{show_name} {{[[d20+(@{sleight})]]=[[d20+(@{sleight})]]}}">Sleight of Hand</button>
<span>(dex)</span>
</div>
<div class="rowflex nowrap">
<input name="attr_stealth_c" type="checkbox" value="1">
<input name="attr_stealth" type="number" title="@{stealth}" value="0" class="w30">
<button name="roll_stealth" type="roll" class="txt-btn" value="@{whisper}&{template:stargate} {{title=stealth Check}} @{show_name} {{[[d20+(@{stealth})]]=[[d20+(@{stealth})]]}}">stealth</button>
<span>(dex)</span>
</div>
<div class="rowflex nowrap">
<input name="attr_survival_c" type="checkbox" value="1">
<input name="attr_survival" type="number" title="@{survival}" value="0" class="w30">
<button name="roll_survival" type="roll" class="txt-btn" value="@{whisper}&{template:stargate} {{title=survival Check}} @{show_name} {{[[d20+(@{survival})]]=[[d20+(@{survival})]]}}">survival</button>
<span>(wis)</span>
</div>
</section>
<!-- hp -->
<section class="hp rowflex nowrap">
<div class="section columnflex nowrap middle center">
<label class="txtcenter" title="Hit Points">HP</label>
<div class="rowflex nowrap">
<input name="attr_hp" type="number" value="" placeholder="20" title="@{hp}" class="stat w40">
<span class="slash">/</span>
<input name="attr_hp_max" type="number" value="" placeholder="20" title="@{hp|max}" class="stat w40">
</div>
</div>
<div class="section columnflex nowrap middle center determ">
<label class="txtcenter" title="Temporary Hit Points">Temp HP</label>
<div class="rowflex nowrap">
<input name="attr_hp_temp" type="number" value="" title="@{hp_temp}" class="stat w40">
<span class="slash">/</span>
<input name="attr_hp_temp_max" type="number" value="" title="@{hp_temp|max}" class="stat w40">
</div>
</div>
</section>
<!-- condition -->
<section class="condition columnflex nowrap spaced">
<h3 class="txtcenter" title="@{condition}" >CONDITION</h3>
<div class="rowflex nowrap">
<input name="attr_condition" type="radio" value="0" checked="true">
<span>Normal</span>
</div>
<div class="rowflex nowrap">
<input name="attr_condition" type="radio" value="1">
<span>Disadv ability checks</span>
</div>
<div class="rowflex nowrap">
<input name="attr_condition" type="radio" value="2">
<span>speed halved</span>
</div>
<div class="rowflex nowrap">
<input name="attr_condition" type="radio" value="3">
<span>disadv attacks, saves</span>
</div>
<div class="rowflex nowrap">
<input name="attr_condition" type="radio" value="4">
<span>HP max halved</span>
</div>
<div class="rowflex nowrap">
<input name="attr_condition" type="radio" value="5">
<span>speed zero</span>
</div>
<div class="rowflex nowrap">
<input name="attr_condition" type="radio" value="6">
<span>death</span>
</div>
</section>
<!-- prof -->
<div class="prof rowflex nowrap">
<div class="section columnflex nowrap middle center">
<label class="wide" title="Proficiency Bonus">Prof Bonus</label>
<input name="attr_prof" type="number" value="2" class="stat w40" title="Proficiency Bonus: @{prof}">
</div>
<div class="section columnflex nowrap middle center init">
<button name="roll_init" type="roll" value="@{whisper}&{template:stargate} {{title=Initiative}} @{show_name} {{ Roll =[[d20+(@{init}) &{tracker}]]}}" title="%{init}" class="txt-btn">Initiative</button>
<input name="attr_init" type="number" value="0" title="@{init}" class="stat w40">
</div>
<div class="section columnflex nowrap middle center moxie">
<button name="roll_moxie" type="roll" value="@{whisper}&{template:stargate} {{title=Moxie}} @{show_name} {{ Roll =[[d20+(@{moxie}) &{tracker}]]}}" class="txt-btn" title="Social Initiative: %{moxie}" >Moxie</button>
<input name="attr_moxie" type="number" value="0" class="stat w40" title="Social Initiative: @{moxie}">
</div>
</div>
<!-- ac -->
<div class="ac rowflex nowrap">
<div class="section columnflex nowrap middle center">
<label class="wide">Armor Class</label>
<input name="attr_ac" type="number" value="10" class="stat w70" title="@{ac}">
</div>
<div class="section columnflex nowrap middle center">
<label class="wide">determination</label>
<div class="rowflex nowrap">
<input name="attr_determination" type="number" value="2" title="@{determination}" class="stat w40">
<span class="slash">/</span>
<input name="attr_determination_max" type="number" value="2" title="@{determination|max}" class="stat w40">
</div>
</div>
</div>
<!-- speed -->
<div class="speed rowflex nowrap">
<div class="section columnflex nowrap middle center">
<label class="bold txtcenter">Speed</label>
<input name="attr_speed" type="text" value="6m" class="w70 stat">
</div>
<div class="section death columnflex nowrap middle center">
<button name="roll_deathsave" type="roll" value="@{whisper}&{template:stargate} {{color=black}} {{title=Death Save}} @{show_name} {{Result=[[d20]]}}" title="%{deathsave}" class="txt-btn large">Death Save</button>
<div class="rowflex nowrap">
<input name="attr_death_success1" type="checkbox" value="1">
<input name="attr_death_success2" type="checkbox" value="1">
<input name="attr_death_success3" type="checkbox" value="1">
<span>Sucesses</span>
</div>
<div class="rowflex nowrap">
<input name="attr_death_failure1" type="checkbox" value="1">
<input name="attr_death_failure2" type="checkbox" value="1">
<input name="attr_death_failure3" type="checkbox" value="1">
<span>Failures</span>
</div>
</div>
</div>
<!-- saves -->
<section class="saves columnflex nowrap">
<h3>Saves</h3>
<div class="rowflex nowrap">
<input name="attr_str_save_c" type="checkbox" value="1">
<input name="attr_str_save" title="@{str_save}" type="number" value="0" title="@{str_save}" class="w30">
<button name="roll_str_save" title="%{str_save}" type="roll" class="txt-btn" value="@{whisper}&{template:stargate} {{title=Strength Save}} @{show_name} {{[[d20+(@{str_save})]]=[[d20+(@{str_save})]]}}" title="%{str_save}">Strength</button>
</div>
<div class="rowflex nowrap">
<input name="attr_dex_save_c" type="checkbox" value="1">
<input name="attr_dex_save" type="number" value="0" title="@{dex_save}" class="w30">
<button name="roll_dex_save" type="roll" class="txt-btn" value="@{whisper}&{template:stargate} {{title=Dexterity Save}} @{show_name} {{[[d20+(@{dex_save})]]=[[d20+(@{dex_save})]]}}" title="%{dex_save}">Dexterity</button>
</div>
<div class="rowflex nowrap">
<input name="attr_con_save_c" type="checkbox" value="1">
<input name="attr_con_save" type="number" value="0" class="w30">
<button name="roll_con_save" type="roll" class="txt-btn" value="@{whisper}&{template:stargate} {{title=Constitution Save}} @{show_name} {{[[d20+(@{con_save})]]=[[d20+(@{con_save})]]}}">Constitution</button>
</div>
<div class="rowflex nowrap">
<input name="attr_int_save_c" type="checkbox" value="1">
<input name="attr_int_save" type="number" value="0" class="w30">
<button name="roll_int_save" type="roll" class="txt-btn" value="@{whisper}&{template:stargate} {{title=Intelligence Save}} @{show_name} {{[[d20+(@{int_save})]]=[[d20+(@{int_save})]]}}">Intelligence</button>
</div>
<div class="rowflex nowrap">
<input name="attr_wis_save_c" type="checkbox" value="1">
<input name="attr_wis_save" type="number" value="0" class="w30">
<button name="roll_wis_save" type="roll" class="txt-btn" value="@{whisper}&{template:stargate} {{title=Wisdom Save}} @{show_name} {{[[d20+(@{wis_save})]]=[[d20+(@{wis_save})]]}}">Wisdom</button>
</div>
<div class="rowflex nowrap mb20">
<input name="attr_cha_save_c" type="checkbox" value="1">
<input name="attr_cha_save" type="number" value="0" class="w30">
<button name="roll_cha_save" type="roll" class="txt-btn" value="@{whisper}&{template:stargate} {{title=Charisma Save}} @{show_name} {{[[d20+(@{cha_save})]]=[[d20+(@{cha_save})]]}}">Charisma</button>
</div>
</section>
<!-- bulk -->
<section class="bulk columnflex nowrap middle center">
<h3>Tactical Vest Bulk</h3>
<input name="attr_bulk" type="number" value="8" class="stat w40">
</section>
<!-- ammo -->
<!-- inventory mini -->
<section class="inventory columnflex nowrap center">
<h4>Inventory</h4>
<textarea name="attr_inventory" title="@{inventory}"></textarea>
</section>
<!-- attacks -->
<section class="attacks">
<span class="name bold">Attack/Action Name</span>
<span class="bold">to hit</span>
<span class="bold pl20">dmg</span>
<span class="bold dmg-type">type</span>
<span class="bold">range</span>
<span class="bold">Cap/Reload</span>
<span class="bold pl20">special</span>
<!-- attack1 -->
<div class="rowflex nowrap">
<button name="roll_attack1" type="roll" title="%{attack1}" value="@{whisper}&{template:stargate} {{title=@{attack1}}} @{show_name} {{[[d20+(@{attack1_to_hit})]]=[[d20+(@{attack1_to_hit})]]}} {{Damage=[[@{attack1_dmg}+0]] @{attack1_dmgtype} }} {{desc=@{attack1_special} }}"></button>
<input name="attr_attack1" type="text" class="ml15" placeholder="Sidearm(Beretta M9)">
</div>
<div>
<input name="attr_attack1_to_hit" type="text" class="w40" placeholder="4">
</div>
<div>
<input name="attr_attack1_dmg" type="text" class="w70 mr15" placeholder="1d6">
</div>
<div>
<input name="attr_attack1_dmgtype" type="text" class="w50" placeholder="piercing">
</div>
<div>
<input name="attr_attack1_range" type="text" class="w50" placeholder="50/100">
</div>
<div>
<input name="attr_attack1_reload" type="text" class="w50" placeholder="15/1">
</div>
<div>
<input name="attr_attack1_special" type="text" class="w110 mr15">
</div>
<!-- attack2 -->
<div class="rowflex nowrap">
<button name="roll_attack2" type="roll" title="%{attack2}" value="@{whisper}&{template:stargate} {{title=@{attack2}}} @{show_name} {{[[d20+(@{attack2_to_hit})]]=[[d20+(@{attack2_to_hit})]]}} {{Damage=[[@{attack2_dmg}+0]] @{attack2_dmgtype} }} {{desc=@{attack2_special} }}"></button>
<input name="attr_attack2" type="text" class="ml15" placeholder="attack/action name">
</div>
<div>
<input name="attr_attack2_to_hit" type="text" class="w40" placeholder="4">
</div>
<div>
<input name="attr_attack2_dmg" type="text" class="w70 mr15" placeholder="1d6">
</div>
<div>
<input name="attr_attack2_dmgtype" type="text" class="w50">
</div>
<div>
<input name="attr_attack2_range" type="text" class="w50">
</div>
<div>
<input name="attr_attack2_reload" type="text" class="w50">
</div>
<div>
<input name="attr_attack2_special" type="text" class="w110 mr15">
</div>
<!-- attack3 -->
<div class="rowflex nowrap">
<button name="roll_attack3" type="roll" title="%{attack3}" value="@{whisper}&{template:stargate} {{title=@{attack3}}} @{show_name} {{[[d20+(@{attack3_to_hit})]]=[[d20+(@{attack3_to_hit})]]}} {{Damage=[[@{attack3_dmg}+0]] @{attack3_dmgtype} }} {{desc=@{attack3_special} }}"></button>
<input name="attr_attack3" type="text" class="ml15" placeholder="attack/action name">
</div>
<div>
<input name="attr_attack3_to_hit" type="text" class="w40" placeholder="4">
</div>
<div>
<input name="attr_attack3_dmg" type="text" class="w70 mr15" placeholder="1d6">
</div>
<div>
<input name="attr_attack3_dmgtype" type="text" class="w50">
</div>
<div>
<input name="attr_attack3_range" type="text" class="w50">
</div>
<div>
<input name="attr_attack3_reload" type="text" class="w50">
</div>
<div>
<input name="attr_attack3_special" type="text" class="w110 mr15">
</div>
<!-- attack4 -->
<div class="rowflex nowrap">
<button name="roll_attack4" type="roll" title="%{attack4}" value="@{whisper}&{template:stargate} {{title=@{attack4}}} @{show_name} {{[[d20+(@{attack4_to_hit})]]=[[d20+(@{attack4_to_hit})]]}} {{Damage=[[@{attack4_dmg}+0]] @{attack4_dmgtype} }} {{desc=@{attack4_special} }}"></button>
<input name="attr_attack4" type="text" class="ml15" placeholder="attack/action name">
</div>
<div>
<input name="attr_attack4_to_hit" type="text" class="w40" placeholder="4">
</div>
<div>
<input name="attr_attack4_dmg" type="text" class="w70 mr15" placeholder="1d6">
</div>
<div>
<input name="attr_attack4_dmgtype" type="text" class="w50">
</div>
<div>
<input name="attr_attack4_range" type="text" class="w50">
</div>
<div>
<input name="attr_attack4_reload" type="text" class="w50">
</div>
<div>
<input name="attr_attack4_special" type="text" class="w110 mr15">
</div>
<!-- attack5 -->
<div class="rowflex nowrap">
<button name="roll_attack5" type="roll" title="%{attack5}" value="@{whisper}&{template:stargate} {{title=@{attack5}}} @{show_name} {{[[d20+(@{attack5_to_hit})]]=[[d20+(@{attack5_to_hit})]]}} {{Damage=[[@{attack5_dmg}+0]] @{attack5_dmgtype} }} {{desc=@{attack5_special} }}"></button>
<input name="attr_attack5" type="text" class="ml15" placeholder="attack/action name">
</div>
<div>
<input name="attr_attack5_to_hit" type="text" class="w40" placeholder="4">
</div>
<div>
<input name="attr_attack5_dmg" type="text" class="w70 mr15" placeholder="1d6+@{td}">
</div>
<div>
<input name="attr_attack5_dmgtype" type="text" class="w50">
</div>
<div>
<input name="attr_attack5_range" type="text" class="w50">
</div>
<div>
<input name="attr_attack5_reload" type="text" class="w50">
</div>
<div>
<input name="attr_attack5_special" type="text" class="w110 mr15">
</div>
</section>
</main>
<!-- --------------------------------------------------------------------------------- -->
<!-- --------------------------- PAGE 2 ---------------------------------------------- -->
<!-- --------------------------------------------------------------------------------- -->
<main class="background tab-content tab2 page2">
<section class="racial_abilities columnflex nowrap center">
<label>Racial Abilities</label>
<textarea name="attr_racial"></textarea>
</section>
<section class="feats columnflex nowrap center">
<label>Feats</label>
<textarea name="attr_feats"></textarea>
</section>
<section class="class columnflex nowrap center">
<label>Class Abilities</label>
<textarea name="attr_class_abilities"></textarea>
</section>
<section class="equipment columnflex nowrap center">
<label>Equipment</label>
<textarea name="attr_equipment"></textarea>
</section>
<section class="prof columnflex nowrap center">
<label>Proficiencies</label>
<textarea name="attr_proficiencies"></textarea>
</section>
<section class="notes columnflex nowrap center">
<label>Notes</label>
<textarea name="attr_notes"></textarea>
</section>
</main>
<!-- --------------------------------------------------------------------------------- -->
<!-- --------------------------- PAGE 3 ---------------------------------------------- -->
<!-- --------------------------------------------------------------------------------- -->
<main class="settings tab-content tab3 page3">
<section class="settings columnflex nowrap center">
<label>Settings</label>
<div class="rowflex nowrap">
<span title="@{whisper}">Whisper rolls?</span>
<input name="attr_whisper" title="@{whisper}" type="checkbox" value="/w gm">
</div>
<div class="rowflex nowrap">
<span title="@{show_name}">Show name in rolls?</span>
<select name="attr_show_name" title="@{show_name}">
<option value="{{subtitle=@{character_name} }}">Yes</option>
<option value=" ">No</option>
</select>
</div>
<div class="rowflex nowrap">
<button name="roll_hd" type="roll" title="%{hd}" value="@{whisper}&{template:stargate} {{color=green}} {{title=Short Rest}} @{show_name} !modbattr --silent --name @{character_name} --hp|{{Healing=[[@{hd}]]}}!!! {{desc=One roll of the Hit Dice.}}">Short Rest</button>
<button name="roll_longrest" type="roll" title="%{longrest}" value="@{whisper}&{template:stargate} {{color=green}} {{title=Long Rest}} @{show_name} !modbattr --silent --name @{character_name} --hp|{{Healing=[[@{rank}@{hd}]]}}!!! {{desc=Rolls a number of Hit Dice equal to the characters level, and recovers that amount of health. }}">Long Rest</button>
<button name="roll_td" type="roll" title="%{td}" value="@{whisper}&{template:stargate} {{title=Tension Die (@{td})}} @{show_name} {{Roll=[[@{td}]]}} {{desc=Rolls the current tension die for the episode. }}">Tension Dice</button>
</div>
<div class="rowflex nowrap">
<label>Custom roll</label>
</div>
<div class="rowflex nowrap">
<button name="roll_custom1" type="roll" value="@{whisper}@{custom1}"></button>
<input type="text" name="attr_custom1" value="&{template:stargate} {{color=green}} {{title=Med Kit}} @{show_name} {{Healing=[[1d4]]}} {{desc=Heals someone with a medic kit. }}">
</div>
<div class="rowflex nowrap">
<button name="roll_custom2" type="roll" value="@{whisper}@{custom2}"></button>
<input type="text" name="attr_custom2" value="&{template:stargate} {{color=white}} {{title=Scientific Discovery}} @{show_name} {{DC=[[8+(@{wis_mod}[wisdom modifier])+(@{prof}[proficiency])]] Wisdom or Intelligence Save}} {{desc=Archeologist: As an action you can cause a target emotional and mental distress by using cultural taboos against them. If the target fails a Wisdom save (DC 8+ Intelligence modifier + Proficiency Bonus) you may spend a number of Eureka points. The target is stunned for a number of rounds equal to the Eureka points spent. A target that passes its save is immune to this ability for 24 hours (and possibly very upset). }}">
</div>
<div class="rowflex nowrap">
<button name="roll_custom3" type="roll" value="@{whisper}@{custom3}"></button>
<input type="text" name="attr_custom3" value="&{template:stargate} {{color=white}} {{title=Tension Die (@{td})}} @{show_name} {{Roll=[[@{td}]]}} {{desc=Rolls the current tension die for the episode. }}">
</div>
<div class="rowflex nowrap">
<button name="roll_custom4" type="roll" value="@{whisper}@{custom4}"></button>
<input type="text" name="attr_custom4" value="&{template:stargate} {{title=Tension Die (@{td})}} @{show_name} {{Roll=[[@{td}]]}} {{desc=Rolls the current tension die for the episode. }}">
</div>
</section>
<section class="other columnflex nowrap center">
<label>Other stats</label>
<div class="rowflex nowrap">
<span>Mission Points(MP):</span>
<input name="attr_mp" type="number" placeholder="" title="Mission Points @{mp}" class="w40">
/
<input name="attr_mp_max" type="number" placeholder="" title="Total Mission Points @{mp|max}" class="w40">
</div>
<div class="rowflex nowrap">
<span>Eureka Points:</span>
<input name="attr_eureka" type="number" placeholder="" title="Eureka Points: @{eureka}" value="0" class="w40">
/
<input name="attr_eureka_max" type="number" placeholder="" title="Max Eureka Points: @{eureka|max}" class="w40">
</div>
<div class="columnflex nowrap">
<span>Wounds/Ability Damage</span>
<textarea name="attr_ability_damage" class="dmg"></textarea>
</div>
</section>
<section class="changelog columnflex nowrap center">
<img class="sheet-phoenix" src="https://raw.githubusercontent.com/Anduh/roll20-character-sheets/stargate-147/Stargate-RPG/images/SG-phoenix.png" alt="Stargate Phoenix logo">
<button name="roll_help" type="roll" class="txt-btn" value="@{whisper}&{template:stargate} {{title=[(Link)Sheet Userguide](https://wiki.roll20.net/Stargate) }} {{subtitle=Roll20 Wiki}} {{desc= (Right-click to open in a new tab)\n**Official Stargate RPG**\n**Roll20 Character Sheet**\n created by **Andreas J.**([@anduh_](https://twitter.com/anduh_)) }}">More Info</button>
<label>Changelog v.1.55(Nov. 3rd)</label>
<span>* more stats to track on Settings page</span>
<label>Changelog v.1.50(Oct. 20th)</label>
<span>* add Stargate Phoenix image to roll template<br>
* integrate ChatSetAttr commands to Short/Long Rest buttons<br>
* added whisper toggle to Saves<br>
* Link to sheet wiki page (button on settings page)</span>
</section>
<div class="ammo">
<div class="section columnflex nowrap">
<label class=" other">NPC stuff</label>
<div class="rowflex nowrap">
<span>CR:</span>
<input name="attr_cr" type="number" placeholder="" title="Challenge Rating: @{cr}" value="" class="w40">
<span>Speed</span>
<input name="attr_speed_npc" type="text" style="width:200px" placeholder="1m Fly(6m)" title="@{speed_npc}" value="" class="w40">
</div>
<div class="rowflex nowrap">
<span>Type:</span>
<input name="attr_type" type="text" style="width:350px" placeholder="Medium Humanoid(Scout 2)" title="Challenge Rating: @{type}" value="" class="w40">
</div>
</div>
<div class="section columnflex nowrap">
<label class=" other">Living Series</label>
<div class="rowflex nowrap">
<span>Stargaterpg.com username</span>
<input name="attr_living_series_user" type="text" placeholder="" value="" class="w40" style="width:100px">
<span title="You can see your Roll20 id by going to your Roll20 profile page, and copying the numbers in the URL">Roll20 ID</span>
<input name="attr_roll20id" type="text" style="width:100px" title="You can see your Roll20 id by going to your Roll20 profile page, and copying the numbers in the URL" value="" class="w40">
</div>
<div class="rowflex nowrap">
<span>Stargaterpg.com character link</span>
<input name="attr_cahracter_link" type="text" style="width:350px" placeholder="The url to your character sheet" value="" class="w40">
</div>
</div>
<div class="ammo grid">
<div class="section columnflex nowrap middle center">
<label>Ammo Weapon 1</label>
<input name="attr_ammo1" type="number" value="0">
</div>
<div class="section columnflex nowrap middle center">
<label>Ammo Weapon 2</label>
<input name="attr_ammo2" type="number" value="0">
</div>
<div class="section columnflex nowrap middle center">
<label>Ammo Weapon 3</label>
<input name="attr_ammo3" type="number" value="0">
</div>
<div class="section columnflex nowrap middle center">
<label>Ammo Weapon 4</label>
<input name="attr_ammo4" type="number" value="0">
</div>
</div>
</div>
</main>
@@ -1,13 +1,39 @@
//current sheet version
const currentversion = "1.72";
const int = score => parseInt(score, 10) || 0;
const stats = ["str", "dex", "con", "wis", "int", "cha"];
const skillslist = ["acrobatics", "animalhandling", "athletics", "culture", "deception", "engineering", "history", "insight", "intimidation", "investigation", "medicine", "nature", "perception", "performance", "persuasion", "pilot", "science", "sleight", "stealth", "survival"];
const statmods = ["str_mod", "dex_mod", "con_mod", "wis_mod", "int_mod", "cha_mod", "prof"];
// Sheet Version
on("sheet:opened", function() {
getAttrs(["version", "sheettype"], function(v) {
const version = parseInt(v.version) || 0;
var attrs = {};
// get attribute updates for each version until the sheet has completed all steps
// NOTE: to maintain backwards compatibility with sheets predating the version attribute, all steps will be performed for new sheets
//if (version < currentversion) {
// attrs["version"] = currentversion;
//}
if (version < currentversion) {
attrs["version"] = currentversion;
console.log("Sheet updated to v." + currentversion);
}
if (Object.keys(attrs).length) {
setAttrs(attrs);
}
});
});
// tabs
const buttonlist = ["character","background","settings"];
const buttonlist = ["character","background","npc","settings"];
buttonlist.forEach(button => {
on(`clicked:${button}`, function() {
setAttrs({
@@ -16,7 +42,34 @@ buttonlist.forEach(button => {
});
});
on("sheet:opened", function() {
getAttrs(["npc", "sheetTab"], values => {
let npc = int(values["npc"]);
let sheetTab = values["sheetTab"];
console.log("sheetTab: ", sheetTab);
//let page = "character";
if (sheetTab === "character"){
npc = 0;
console.log("sheetTab was char, set NPC=0: ", npc);
}
else if (sheetTab === "npc"){
npc = 1;
console.log("sheetTab was npc, set NPC=1: ", npc);
}
else if (sheetTab === "background"){
console.log("sheetTab was note");
}
else if (sheetTab === "settings"){
console.log("sheetTab was settings");
}
setAttrs({
npc: npc
});
});
});
// Calculate Stat modifier
stats.forEach(stat => {
+331
View File
@@ -0,0 +1,331 @@
//- SHEET VERSION
- var version = "1.72";
input(type="hidden" name="attr_version" value=`${version}`)
//- variables & mixin
- var url = "https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Stargate-RPG/images/";
- var urldev = "https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Stargate-RPG/images/";
- var pages = ["character", "background", "npc", "settings"];
//- var attr-abr = ["str", "dex", "con", "wis", "int", "cha"]; //- kye-value instead?
- var attrnames = {str: "strength", dex: "dexterity", con: "constitution", wis: "wisdom", int: "intelligence", cha: "charisma"};
- var skills = [{"attr": "acrobatics","name": "Acrobatics","keyattr": "dex"},{"attr": "animalhandling","name": "Animal Handling","keyattr": "wis"},{"attr": "athletics","name": "Athletics","keyattr": "str"},{"attr": "culture","name": "Culture","keyattr": "wis"},{"attr": "deception","name": "Deception","keyattr": "cha"},{"attr": "engineering","name": "Engineering","keyattr": "int"},{"attr": "history","name": "History","keyattr": "int"},{"attr": "insight","name": "Insight","keyattr": "wis"},{"attr": "intimidation","name": "Intimidation","keyattr": "cha"},{"attr": "investigation","name": "Investigation","keyattr": "int"},{"attr": "medicine","name": "Medicine","keyattr": "wis"},{"attr": "nature","name": "Nature","keyattr": "int"},{"attr": "perception","name": "Perception","keyattr": "wis"},{"attr": "performance","name": "performance","keyattr": "cha"},{"attr": "persuasion","name": "Persuasion","keyattr": "cha"},{"attr": "pilot","name": "Pilot","keyattr": "dex"},{"attr": "science","name": "Science","keyattr": "int"},{"attr": "sleight","name": "Sleight of Hand","keyattr": "dex"},{"attr": "stealth","name": "Stealth","keyattr": "dex"},{"attr": "survival","name": "Survival","keyattr": "wis"}];
- var condition = {1: "Disadv ability checks", 2: "Speed Halved", 3: "Disadv Attacks, Saves", 4: "Max HP Halved", 5: "Speed Zero", 6: "Death"};
//- var skill-at = [];
//- var skill-name = [];
- var dice = ["d4", "d6", "d8", "d10", "d12"];
//- capitalize
//- word.charAt(0).toUpperCase() + word.slice(1);
//- sheet start
.tab-buttons.middle.center
input.npctoggle(type="hidden" name="attr_npc" value="0")
button.pc(type="action" name="act_character") Character
button.pc(type="action" name="act_background") Background
button.npc(type="action" name="act_npc") NPC
button(type="action" name="act_settings") Settings
span.version.bold
| Sheet Version:
span(name="attr_version")
input.tabstoggle(type="hidden" name="attr_sheetTab" value="character")
//- ---------------------------------------------------------------------------------
//- --------------------------- CHARACTER ------------------------------------------
//- ---------------------------------------------------------------------------------
main.character
//- NAME SECTION
section.name.columnflex.nowrap
.rowflex.nowrap.spaced
.columnflex.nowrap
label(style="width:100px;") Character name
input(name="attr_character_name" type="text")
.columnflex.nowrap
label(style="width:80px;") Player name
input(name="attr_player_name" type="text")
.columnflex.nowrap
label Campaign
input(name="attr_campaign" type="text")
.rowflex.nowrap.spaced
.columnflex.nowrap
label Race
input(name="attr_race" list="race" placeholder="race" type="text")
.columnflex.nowrap
label Origin
input(name="attr_origin" list="origin" placeholder="origin" type="text")
.columnflex.nowrap
label Class
input(name="attr_class" list="rpgclass" placeholder="class" type="text")
.columnflex.nowrap
label.w40(title="@{rank}") Level
input.w40(name="attr_rank" title="@{rank}" type="number" placeholder="1")
.columnflex.nowrap
label.w40(title="Hit Dice") HD
input.w40(name="attr_hd" type="text" placeholder="d8" title="Hit Dice: @{hd}")
.columnflex.nowrap
label.w30 MP
input.w40(name="attr_mp" type="number" placeholder="" title="Mission Points")
.columnflex.nowrap
label.w70(title="@{td}") Tension Die
select(name="attr_td")
option(value="d4") d4
option(value="d6" selected="") d6
option(value="d8") d8
option(value="d10") d10
option(value="d12") d12
//- ATTRIBUTES SECTION
.attr.columnflex.nowrap.spaced.center
each key , val in attrnames
.stat.columnflex.nowrap.center.middle
button.txt-btn.large(name=`roll_${val}` title=`%{${val}}` type="roll" value=`@{whisper}&{template:stargate} {{title=${key.charAt(0).toUpperCase()}${key.slice(1)} Check}} @{show_name} {{[[d20+(@{${val}_mod})]]=[[d20+(@{${val}_mod})]]}}`)= val.toUpperCase()
input(name=`attr_${val}` type="number" value="10")
span.mod(name=`attr_${val}_mod` title=`@{${val}_mod}`)
//- Skills (20)
section.skills.columnflex.nowrap.spaced
h3 Skills
each skill in skills
.rowflex.nowrap
input(name=`attr_${skill.attr}_c` type="checkbox" value="1")
input.w30(name=`attr_${skill.attr}` type="number" title=`@{${skill.attr}}` value="0")
button.txt-btn(name=`roll_${skill.attr}` type="roll" value=`@{whisper}&{template:stargate} {{title=${skill.name} Check}} @{show_name} {{[[d20+(@{${skill.attr}})]]=[[d20+(@{${skill.attr}})]]}}`)= skill.name
span="(" + skill.keyattr + ")"
//- hp
section.hp.rowflex.nowrap
.section.columnflex.nowrap.middle.center
label.txtcenter(title="Hit Points") HP
.rowflex.nowrap
input.stat.w40(name="attr_hp" type="number" value="" placeholder="20" title="@{hp}")
span.slash /
input.stat.w40(name="attr_hp_max" type="number" value="" placeholder="20" title="@{hp|max}")
.section.columnflex.nowrap.middle.center.determ
label.txtcenter(title="Temporary Hit Points") Temp HP
.rowflex.nowrap
input.stat.w40(name="attr_hp_temp" type="number" value="" title="@{hp_temp}")
span.slash /
input.stat.w40(name="attr_hp_temp_max" type="number" value="" title="@{hp_temp|max}")
//- condition
section.condition.columnflex.nowrap.spaced
h3.txtcenter(title="@{condition}") CONDITION
.rowflex.nowrap
input(name="attr_condition" type="radio" value="0" checked="true")
span Normal
each val, key in condition
.rowflex.nowrap
input(name="attr_condition" type="radio" value=`${key}`)
span= val
//- prof
.prof.rowflex.nowrap
.section.columnflex.nowrap.middle.center
label.wide(title="Proficiency Bonus") Prof Bonus
input.stat.w40(name="attr_prof" type="number" value="2" title="Proficiency Bonus: @{prof}")
.section.columnflex.nowrap.middle.center.init
button.txt-btn(name="roll_init" type="roll" value="@{whisper}&{template:stargate} {{title=Initiative}} @{show_name} {{ Roll =[[d20+(@{init}) &{tracker}]]}}" title="%{init}") Initiative
input.stat.w40(name="attr_init" type="number" value="0" title="@{init}")
.section.columnflex.nowrap.middle.center.moxie
button.txt-btn(name="roll_moxie" type="roll" value="@{whisper}&{template:stargate} {{title=Moxie}} @{show_name} {{ Roll =[[d20+(@{moxie}) &{tracker}]]}}" title="Social Initiative: %{moxie}") Moxie
input.stat.w40(name="attr_moxie" type="number" value="0" title="Social Initiative: @{moxie}")
//- ac
.ac.rowflex.nowrap
.section.columnflex.nowrap.middle.center
label.wide Armor Class
input.stat.w70(name="attr_ac" type="number" value="10" title="@{ac}")
.section.columnflex.nowrap.middle.center
label.wide determination
.rowflex.nowrap
input.stat.w40(name="attr_determination" type="number" value="2" title="@{determination}")
span.slash /
input.stat.w40(name="attr_determination_max" type="number" value="2" title="@{determination|max}")
//- speed
.speed.rowflex.nowrap
.section.columnflex.nowrap.middle.center
label.bold.txtcenter Speed
input.w70.stat(name="attr_speed" type="text" value="6m")
.section.death.columnflex.nowrap.middle.center
button.txt-btn.large(name="roll_deathsave" type="roll" value="@{whisper}&{template:stargate} {{color=black}} {{title=Death Save}} @{show_name} {{Result=[[d20]]}}" title="%{deathsave}") Death Save
.rowflex.nowrap
each num in [1,2,3]
input(name=`attr_death_success${num}` type="checkbox" value="1")
span Sucesses
.rowflex.nowrap
each num in [1,2,3]
input(name=`attr_death_failure${num}` type="checkbox" value="1")
span Failures
//- saves
section.saves.columnflex.nowrap
h3 Saves
each key , val in attrnames
.rowflex.nowrap
input(name=`attr_${val}_save_c` type="checkbox" value="1")
input.w30(name=`attr_${val}_save` title=`@{${val}_save}` type="number" value="0")
button.txt-btn(name=`roll_${val}_save` title=`%{${val}_save}` type="roll" value=`@{whisper}&{template:stargate} {{title=${key.charAt(0).toUpperCase()}${key.slice(1)} Save}} @{show_name} {{[[d20+(@{${val}_save})]]=[[d20+(@{${val}_save})]]}}`)= key.charAt(0).toUpperCase() + key.slice(1)
//- bulk
section.bulk.columnflex.nowrap.middle.center
h3 Tactical Vest Bulk
input.stat.w40(name="attr_bulk" type="number" value="8")
//- inventory mini
section.inventory.columnflex.nowrap.center
h4 Inventory
textarea(name="attr_inventory" title="@{inventory}")
//- attacks
section.attacks
span.name.bold Attack/Action Name
span.bold to hit
span.bold.pl20 dmg
span.bold.dmg-type type
span.bold range
span.bold Cap/Reload
span.bold.pl20 special
//- attacks 1 - 5
each num in [1, 2, 3, 4, 5]
.rowflex.nowrap
button(name=`roll_attack${num}` type="roll" title=`%{attack${num}}` value=`@{whisper}&{template:stargate} {{title=@{attack${num}}}} @{show_name} {{[[d20+(@{attack${num}_to_hit})]]=[[d20+(@{attack${num}_to_hit})]]}} {{Damage=[[@{attack${num}_dmg}+0]] @{attack${num}_dmgtype} }} {{desc=@{attack${num}_special} }}`)
input.ml15(name=`attr_attack${num}` type="text" placeholder="Sidearm(Beretta M9)")
div
input.w40(name=`attr_attack${num}_to_hit` type="text" placeholder="4")
div
input.w70.mr15(name=`attr_attack${num}_dmg` type="text" placeholder="1d6")
div
input.w50(name=`attr_attack${num}_dmgtype` type="text" placeholder="piercing")
div
input.w50(name=`attr_attack${num}_range` type="text" placeholder="50/100")
div
input.w50(name=`attr_attack${num}_reload` type="text" placeholder="15/1")
div
input.w110.mr15(name=`attr_attack${num}_special` type="text")
//- ---------------------------------------------------------------------------------
//- --------------------------- BACKGORUND ----------------------------------------------
//- ---------------------------------------------------------------------------------
main.background
section.racial_abilities.columnflex.nowrap.center
label Racial Abilities
textarea(name="attr_racial")
section.feats.columnflex.nowrap.center
label Feats
textarea(name="attr_feats")
section.class.columnflex.nowrap.center
label Class Abilities
textarea(name="attr_class_abilities")
section.equipment.columnflex.nowrap.center
label Equipment
textarea(name="attr_equipment")
section.prof.columnflex.nowrap.center
label Proficiencies
textarea(name="attr_proficiencies")
section.notes.columnflex.nowrap.center
label Notes
textarea(name="attr_notes")
//- ---------------------------------------------------------------------------------
//- ------------------------------ NPC ----------------------------------------------
//- ---------------------------------------------------------------------------------
main.npc.gap
h1 NPC
.section.columnflex.nowrap
label.other NPC stuff
.rowflex.nowrap
span CR:
input.w40(name="attr_cr" type="number" placeholder="" title="Challenge Rating: @{cr}" value="")
span Speed
input.w40(name="attr_speed_npc" type="text" style="width:200px" placeholder="1m Fly(6m)" title="@{speed_npc}" value="")
.rowflex.nowrap
span Type:
input.w40(name="attr_type" type="text" style="width:350px" placeholder="Medium Humanoid(Scout 2)" title="Challenge Rating: @{type}" value="")
//- ---------------------------------------------------------------------------------
//- --------------------------- SETTINGS --------------------------------------------
//- ---------------------------------------------------------------------------------
main.settings
section.settings.columnflex.nowrap.center
label Settings
.rowflex.nowrap
span(title="@{whisper}") Whisper rolls?
input(name="attr_whisper" title="@{whisper}" type="checkbox" value="/w gm")
.rowflex.nowrap
span(title="@{show_name}") Show name in rolls?
select(name="attr_show_name" title="@{show_name}")
option(value="{{subtitle=@{character_name} }}") Yes
option(value=" ") No
.rowflex.nowrap
button(name="roll_hd" type="roll" title="%{hd}" value="@{whisper}&{template:stargate} {{color=green}} {{title=Short Rest}} @{show_name} !modbattr --silent --name @{character_name} --hp|{{Healing=[[@{hd}]]}}!!! {{desc=One roll of the Hit Dice.}}") Short Rest
button(name="roll_longrest" type="roll" title="%{longrest}" value="@{whisper}&{template:stargate} {{color=green}} {{title=Long Rest}} @{show_name} !modbattr --silent --name @{character_name} --hp|{{Healing=[[@{rank}@{hd}]]}}!!! {{desc=Rolls a number of Hit Dice equal to the characters level, and recovers that amount of health. }}") Long Rest
button(name="roll_td" type="roll" title="%{td}" value="@{whisper}&{template:stargate} {{title=Tension Die (@{td})}} @{show_name} {{Roll=[[@{td}]]}} {{desc=Rolls the current tension die for the episode. }}") Tension Dice
.rowflex.nowrap
label Custom roll
.rowflex.nowrap
button(name="roll_custom1" type="roll" value="@{whisper}@{custom1}")
input(type="text" name="attr_custom1" value="&{template:stargate} {{color=green}} {{title=Med Kit}} @{show_name} {{Healing=[[1d4]]}} {{desc=Heals someone with a medic kit. }}")
.rowflex.nowrap
button(name="roll_custom2" type="roll" value="@{whisper}@{custom2}")
input(type="text" name="attr_custom2" value="&{template:stargate} {{color=white}} {{title=Scientific Discovery}} @{show_name} {{DC=[[8+(@{wis_mod}[wisdom modifier])+(@{prof}[proficiency])]] Wisdom or Intelligence Save}} {{desc=Archeologist: As an action you can cause a target emotional and mental distress by using cultural taboos against them. If the target fails a Wisdom save (DC 8+ Intelligence modifier + Proficiency Bonus) you may spend a number of Eureka points. The target is stunned for a number of rounds equal to the Eureka points spent. A target that passes its save is immune to this ability for 24 hours (and possibly very upset). }}")
.rowflex.nowrap
button(name="roll_custom3" type="roll" value="@{whisper}@{custom3}")
input(type="text" name="attr_custom3" value="&{template:stargate} {{color=white}} {{title=Tension Die (@{td})}} @{show_name} {{Roll=[[@{td}]]}} {{desc=Rolls the current tension die for the episode. }}")
.rowflex.nowrap
button(name="roll_custom4" type="roll" value="@{whisper}@{custom4}")
input(type="text" name="attr_custom4" value="&{template:stargate} {{title=Tension Die (@{td})}} @{show_name} {{Roll=[[@{td}]]}} {{desc=Rolls the current tension die for the episode. }}")
section.other.columnflex.nowrap.center
label Other stats
.rowflex.nowrap
span Mission Points(MP):
input.w40(name="attr_mp" type="number" placeholder="" title="Mission Points @{mp}")
| /
input.w40(name="attr_mp_max" type="number" placeholder="" title="Total Mission Points @{mp|max}")
.rowflex.nowrap
span Eureka Points:
input.w40(name="attr_eureka" type="number" placeholder="" title="Eureka Points: @{eureka}" value="0")
| /
input.w40(name="attr_eureka_max" type="number" placeholder="" title="Max Eureka Points: @{eureka|max}")
.columnflex.nowrap
span Wounds/Ability Damage
textarea.dmg(name="attr_ability_damage")
section.changelog.columnflex.nowrap.center
button.txt-btn(name="roll_help" type="roll" value="@{whisper}&{template:stargate} {{title=[(Link)Sheet Userguide](https://wiki.roll20.net/Stargate) }} {{subtitle=Roll20 Wiki}} {{desc= (Right-click to open in a new tab)\n**Official Stargate RPG**\n**Roll20 Character Sheet**\n created by **Andreas J.**([@anduh_](https://twitter.com/anduh_)) }}") Sheet Documentation
br
h1 Changelog
label "v.1.72 (June)"
span
|* code refactor
br
| * page navigation made always visible
label "v.1.70 (May)"
span
| * replace page buttons
br
| * add datalists for race, origin, class
br
| * refactor sheet in PUG &amp; SCSS
br
| * update the sheet to work with CSE
label "v.1.55(Nov. 3rd)"
span
| * more stats to track on Settings page
label "v.1.50(Oct. 20th)"
span
| * add Stargate Phoenix image to roll template
br
| * integrate ChatSetAttr commands to Short/Long Rest buttons
br
| * added whisper toggle to Saves
br
| * Link to sheet wiki page (button on settings page)
.ammo
.section.columnflex.nowrap
label.other Living Series
.rowflex.nowrap
span Stargaterpg.com username
input.w40(name="attr_living_series_user" type="text" placeholder="" value="" style="width:100px")
span(title="You can see your Roll20 id by going to your Roll20 profile page, and copying the numbers in the URL") Roll20 ID
input.w40(name="attr_roll20id" type="text" style="width:100px" title="You can see your Roll20 id by going to your Roll20 profile page, and copying the numbers in the URL" value="")
.rowflex.nowrap
span Stargaterpg.com character link
input.w40(name="attr_cahracter_link" type="text" style="width:350px" placeholder="The url to your character sheet" value="")
.ammo.grid
each num in ["1", "2", "3", "4"]
.section.columnflex.nowrap.middle.center
label="Ammo Weapon " + num
input(name=`attr_ammo${num}` type="number" value="0")
//- .rowflex.nowrap
//- span(title="@{npc}") NPC sheet?
//- input(name="attr_npc" title="@{npc}" type="checkbox" value="1")
//- {
//- "attribute": "npc",
//- "displayname": "NPC Sheet?",
//- "description": "Check if you want to show new sheets as NPC by default",
//- "type": "checkbox",
//- "value": "1"
//- },
+19
View File
@@ -0,0 +1,19 @@
rolltemplate.sheet-rolltemplate-stargate
.sheet-container(class="sheet-color-{{color}}")
.sheet-header
| {{#title}}
.sheet-title
| {{title}}
img.sheet-phoenix(src=`${url}SG-phoenix.png` alt="Stargate Phoenix logo")
| {{/title}}
| {{#subtitle}}
.sheet-subtitle {{subtitle}}
| {{/subtitle}}
.sheet-content
| {{#allprops() title subtitle desc color}}
.sheet-key {{key}}
.sheet-value {{value}}
| {{/allprops() title subtitle desc color}}
| {{#desc}}
.sheet-desc {{desc}}
| {{/desc}}
-18
View File
@@ -1,18 +0,0 @@
<rolltemplate class="sheet-rolltemplate-stargate">
<div class="sheet-container sheet-color-{{color}}">
<div class="sheet-header">
{{#title}}<div class="sheet-title">{{title}}<img class="sheet-phoenix" src="https://raw.githubusercontent.com/Anduh/roll20-character-sheets/stargate-147/Stargate-RPG/images/SG-phoenix.png" alt="Stargate Phoenix logo"> </div>{{/title}}
{{#subtitle}}<div class="sheet-subtitle">{{subtitle}}</div>{{/subtitle}}
</div>
<div class="sheet-content">
{{#allprops() title subtitle desc color}}
<div class="sheet-key">{{key}}</div>
<div class="sheet-value">{{value}}</div>
{{/allprops() title subtitle desc color}}
{{#desc}}<div class="sheet-desc">{{desc}}</div>{{/desc}}
</div>
</div>
</rolltemplate>
@@ -1,6 +1,12 @@
/*------------------------------------------------*\
#GENERAL
\*------------------------------------------------*/
// SASS Var
$url: "https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Stargate-RPG/images/";
$urldev: "https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Stargate-RPG/images/";
// url("#{$url}bg.png")
// ------------------------------------------------
// #GENERAL
// ------------------------------------------------
.charsheet{
@@ -27,7 +33,7 @@
display: none;
}
/* --------- Text ------------- */
// --------- Text -------------
.bold {
font-weight: 800;
@@ -58,7 +64,7 @@
font-weight: bold;
}
/* --------- Inputs ------------- */
// --------- Inputs -------------
input[type="text"] {
background-color: transparent;
border-style: none none solid none;
@@ -132,14 +138,14 @@
}
/* highlights empty fields with light pink, if the fields have placeholder text */
// highlights empty fields with light pink, if the fields have placeholder text
textarea:placeholder-shown,
input[type="text"]:placeholder-shown,
input[type="number"]:placeholder-shown{
background-color: #EAC9D1;
}
/* higlight selected input with gray*/
// higlight selected input with gray
textarea:focus,
input[type="text"]:focus,
input[type="number"]:focus{
@@ -148,7 +154,7 @@
/* -----Hides up/down buttons on numberfields that don't need them ---*/
// -----Hides up/down buttons on numberfields that don't need them
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button,
@@ -162,7 +168,7 @@
-moz-appearance: textfield;
}
/* ------- Buttons ---------- */
// ------- Buttons ----------
button[type="roll"].txt-btn {
&:before {
content: ' ';
@@ -180,20 +186,12 @@
}
}
/*-----------------------------------------------------------------*\
#SECTIONS
\*-----------------------------------------------------------------*/
//-----------------------------------------------------------------*\
// #SECTIONS
//-----------------------------------------------------------------*/
.version {
float: left;
margin-top: -114px;
width: 240px;
margin-left: 550px;
display: flex;
flex-flow: row nowrap;
}
/* --------- General Section Styling ------------- */
// --------- General Section Styling -------------
.section,
section {
@@ -227,9 +225,9 @@
justify-content: space-evenly;
}
/* ------------ PAGES ---------- */
// ------------ PAGES ----------
main.page1 {
main.character {
display: grid;
grid-template-columns: 4fr 8fr 5fr 6fr;
grid-template-rows: repeat(5, 2fr) 5fr 4fr;
@@ -242,13 +240,13 @@
"attr attacks attacks attacks ";
width: 850px;
height: 1000px;
background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Stargate-RPG/images/bg.png);
background-image: url("#{$url}bg.png");
background-repeat: no-repeat;
background-size: 700px 700px;
background-position: center;
background-color: black;
}
main.page2 {
main.background {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr;
@@ -257,7 +255,7 @@
"prof notes ";
width: 840px;
height: 990px;
background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Stargate-RPG/images/bg.png);
background-image: url("#{$url}bg.png");
background-repeat: no-repeat;
background-size: 700px 700px;
background-position: center;
@@ -276,7 +274,7 @@
margin-bottom: 0px;
}
}
main.page3 {
main.settings{
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr 1fr;
@@ -284,7 +282,7 @@
"ammo changelog";
width: 840px;
height: 990px;
background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Stargate-RPG/images/bg.png);
background-image: url("#{$url}bg.png");
background-repeat: no-repeat;
background-size: 700px 700px;
background-position: center;
@@ -314,33 +312,70 @@
width: 250px;
}
}
/* -------------- tab buttons ------------- */
main.npc{
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr 1fr;
width: 840px;
height: 990px;
background-image: url("#{$url}bg.png");
background-repeat: no-repeat;
background-size: 700px 700px;
background-position: center;
background-color: black;
grid-gap: 10px;
padding: 5px;
}
// -------------- tab buttons -------------
main.character,
main.background,
main.npc,
button[type="action"].npc,
button[type="action"].pc,
main.settings {
display: none;
}
/* show the selected tab */
// show the selected tab
input.tabstoggle[value="character"] ~ main.character,
input.tabstoggle[value="background"] ~ main.background,
input.tabstoggle[value="npc"] ~ main.npc,
input.tabstoggle[value="settings"] ~ main.settings {
display: grid;
}
// shows/hides page buttons
input.npctoggle[value="0"] ~ button[type="action"].pc,
input.npctoggle[value="1"] ~ button[type="action"].npc{
display: flex;
}
div.tab-buttons{
display: flex;
gap: 10px;
z-index: 10;
position: sticky;
top: 40px;
border: 3px solid black;
border-radius: 5px;
background-color: hsla(0, 0%, 85%, 1);
width: 834px;
button{
font-size: 1.5em;
}
.version {
display: flex;
flex-flow: row nowrap;
}
}
/* ------------ Section Specific ---------- */
// ------------ Section Specific ----------
/* ----------- page 1 ------------ */
// ----------- page 1 ------------
section.name {
grid-area: name;
@@ -367,7 +402,7 @@
grid-area: attr;
.stat {
background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Stargate-RPG/images/attr.png);
background-image: url("#{$url}attr.png");
background-repeat: no-repeat;
background-size: 124px 113px;
width: 120px;
@@ -447,7 +482,7 @@
}
}
/* hp SECTION */
// HP SECTION
section.hp {
grid-area: hp;
@@ -712,7 +747,7 @@
}
/* -------- Page 3 -------- */
// -------- Page 3 --------
section.settings {
grid-area: settings;
@@ -750,9 +785,8 @@
section.changelog {
grid-area: changelog;
img.phoenix {
width: 150px;
height: 150px;
button[type="roll"]{
margin-bottom: 10px;
}
}
@@ -771,7 +805,7 @@
padding: 0px 0px 5px 0px;
}
div {
margin: 7px 1px 7px 1px;
margin: 7px 1px;
}
}
@@ -1,8 +1,8 @@
/*------------------------------------*\
#ROLL TEMPLATES
\*------------------------------------*/
//------------------------------------
// #ROLL TEMPLATES
//------------------------------------
/* Smaller margins - remove these if you want the huge default left margin */
// Smaller margins - remove these if you want the huge default left margin
.sheet-rolltemplate-stargate {
margin-left: -37px;
}
@@ -15,7 +15,7 @@
border-radius: 3px;
}
/* Header formatting - title and subtitle */
// Header formatting - title and subtitle
.sheet-rolltemplate-stargate .sheet-header {
background-color: var(--header-bg-color);
color: var(--header-text-color);
@@ -28,7 +28,7 @@
font-size:1.2em;
font-weight: bold;
}
/* Stargate Phoenix logo*/
// Stargate Phoenix logo
.sheet-rolltemplate-stargate .sheet-title img.sheet-phoenix{
width: 33px;
height: 33px;
@@ -39,14 +39,14 @@
font-size:.9em;
}
/* example colors */
// example colors
.sheet-rolltemplate-stargate .sheet-container {
/* this is the default color */
// default colors
--header-bg-color: #a83521;
--header-text-color: #FFF;
}
/* alt template colors */
// alt template colors
.sheet-rolltemplate-stargate .sheet-container.sheet-color-green {
--header-bg-color: #008000;
}
@@ -58,38 +58,34 @@
--header-text-color: #000;
}
/* Allprops part */
// Allprops part
.sheet-rolltemplate-stargate .sheet-content {
display: grid;
background: #FFF;
/* Header formatting - modify the column layout below */
// Header formatting - modify the column layout below
grid-template-columns: auto auto;
/* Line height to match default roll template */
// Line height to match default roll template
line-height:1.4em;
}
.sheet-rolltemplate-stargate .sheet-content > div {
padding: 5px;
}
/* Left column */
// Left column
.sheet-rolltemplate-stargate .sheet-content .sheet-key {
font-weight: bold;
padding-right: 10px;
text-align: right;
}
/* Empty rule, use this if you want to change the right column
.sheet-rolltemplate-stargate .sheet-value {
}
*/
/* Make even-numbered rows grey */
// Make even-numbered rows grey
.sheet-rolltemplate-stargate .sheet-content :nth-child(4n+3),
.sheet-rolltemplate-stargate .sheet-content :nth-child(4n) {
background:#EEE;
}
/* Description field */
// Description field
.sheet-rolltemplate-stargate .sheet-desc {
grid-column: span 2;
padding: 5px;
+51 -65
View File
@@ -1,25 +1,3 @@
/*------------------------------------------------*\
#GENERAL
\*------------------------------------------------*/
.charsheet {
/* --------- Text ------------- */
/* --------- Inputs ------------- */
/* highlights empty fields with light pink, if the fields have placeholder text */
/* higlight selected input with gray*/
/* -----Hides up/down buttons on numberfields that don't need them ---*/
/* ------- Buttons ---------- */
/*-----------------------------------------------------------------*\
#SECTIONS
\*-----------------------------------------------------------------*/
/* --------- General Section Styling ------------- */
/* ------------ PAGES ---------- */
/* -------------- tab buttons ------------- */
/* show the selected tab */
/* ------------ Section Specific ---------- */
/* ----------- page 1 ------------ */
/* hp SECTION */
/* -------- Page 3 -------- */
}
.charsheet input[type=range].progress-bar {
width: 100px;
}
@@ -172,14 +150,6 @@
border-radius: 10px;
background-position: 0 -28px;
}
.charsheet .version {
float: left;
margin-top: -114px;
width: 240px;
margin-left: 550px;
display: flex;
flex-flow: row nowrap;
}
.charsheet .section,
.charsheet section {
display: flex;
@@ -211,27 +181,27 @@
.charsheet .spaced {
justify-content: space-evenly;
}
.charsheet main.page1 {
.charsheet main.character {
display: grid;
grid-template-columns: 4fr 8fr 5fr 6fr;
grid-template-rows: repeat(5, 2fr) 5fr 4fr;
grid-template-areas: "name name name name " "attr skills hp condition" "attr skills prof condition" "attr skills ac condition" "attr skills speed bulk " "attr skills saves inventory" "attr attacks attacks attacks ";
width: 850px;
height: 1000px;
background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Stargate-RPG/images/bg.png);
background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Stargate-RPG/images/bg.png");
background-repeat: no-repeat;
background-size: 700px 700px;
background-position: center;
background-color: black;
}
.charsheet main.page2 {
.charsheet main.background {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr;
grid-template-areas: "racial feats " "class equipment" "prof notes ";
width: 840px;
height: 990px;
background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Stargate-RPG/images/bg.png);
background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Stargate-RPG/images/bg.png");
background-repeat: no-repeat;
background-size: 700px 700px;
background-position: center;
@@ -239,25 +209,25 @@
grid-gap: 10px;
padding: 5px;
}
.charsheet main.page2 label {
.charsheet main.background label {
font-size: 1.4em;
font-weight: bold;
text-align: center;
width: 140px;
}
.charsheet main.page2 textarea {
.charsheet main.background textarea {
width: 390px;
height: 280px;
margin-bottom: 0px;
}
.charsheet main.page3 {
.charsheet main.settings {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr 1fr;
grid-template-areas: "settings other " "ammo changelog";
width: 840px;
height: 990px;
background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Stargate-RPG/images/bg.png);
background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Stargate-RPG/images/bg.png");
background-repeat: no-repeat;
background-size: 700px 700px;
background-position: center;
@@ -265,37 +235,73 @@
grid-gap: 10px;
padding: 5px;
}
.charsheet main.page3 .settings label {
.charsheet main.settings .settings label {
font-size: 1.4em;
font-weight: bold;
text-align: center;
width: 250px;
}
.charsheet main.page3 .changelog label {
.charsheet main.settings .changelog label {
font-size: 1.4em;
font-weight: bold;
text-align: center;
width: 250px;
}
.charsheet main.page3 label.other {
.charsheet main.settings label.other {
font-size: 1.4em;
font-weight: bold;
text-align: center;
width: 250px;
}
.charsheet main.npc {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr 1fr;
width: 840px;
height: 990px;
background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Stargate-RPG/images/bg.png");
background-repeat: no-repeat;
background-size: 700px 700px;
background-position: center;
background-color: black;
grid-gap: 10px;
padding: 5px;
}
.charsheet main.character,
.charsheet main.background,
.charsheet main.npc,
.charsheet button[type=action].npc,
.charsheet button[type=action].pc,
.charsheet main.settings {
display: none;
}
.charsheet input.tabstoggle[value=character] ~ main.character,
.charsheet input.tabstoggle[value=background] ~ main.background,
.charsheet input.tabstoggle[value=npc] ~ main.npc,
.charsheet input.tabstoggle[value=settings] ~ main.settings {
display: grid;
}
.charsheet input.npctoggle[value="0"] ~ button[type=action].pc,
.charsheet input.npctoggle[value="1"] ~ button[type=action].npc {
display: flex;
}
.charsheet div.tab-buttons {
display: flex;
gap: 10px;
z-index: 10;
position: sticky;
top: 40px;
border: 3px solid black;
border-radius: 5px;
background-color: #d9d9d9;
width: 834px;
}
.charsheet div.tab-buttons button {
font-size: 1.5em;
}
.charsheet div.tab-buttons .version {
display: flex;
flex-flow: row nowrap;
}
.charsheet section.name {
grid-area: name;
@@ -317,7 +323,7 @@
grid-area: attr;
}
.charsheet .attr .stat {
background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Stargate-RPG/images/attr.png);
background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Stargate-RPG/images/attr.png");
background-repeat: no-repeat;
background-size: 124px 113px;
width: 120px;
@@ -621,9 +627,8 @@
.charsheet section.changelog {
grid-area: changelog;
}
.charsheet section.changelog img.phoenix {
width: 150px;
height: 150px;
.charsheet section.changelog button[type=roll] {
margin-bottom: 10px;
}
.charsheet div.ammo.grid {
grid-area: ammo;
@@ -638,13 +643,9 @@
padding: 0px 0px 5px 0px;
}
.charsheet div.ammo div {
margin: 7px 1px 7px 1px;
margin: 7px 1px;
}
/*------------------------------------*\
#ROLL TEMPLATES
\*------------------------------------*/
/* Smaller margins - remove these if you want the huge default left margin */
.sheet-rolltemplate-stargate {
margin-left: -37px;
}
@@ -658,7 +659,6 @@
border-radius: 3px;
}
/* Header formatting - title and subtitle */
.sheet-rolltemplate-stargate .sheet-header {
background-color: var(--header-bg-color);
color: var(--header-text-color);
@@ -673,7 +673,6 @@
font-weight: bold;
}
/* Stargate Phoenix logo*/
.sheet-rolltemplate-stargate .sheet-title img.sheet-phoenix {
width: 33px;
height: 33px;
@@ -684,14 +683,11 @@
font-size: 0.9em;
}
/* example colors */
.sheet-rolltemplate-stargate .sheet-container {
/* this is the default color */
--header-bg-color: #a83521;
--header-text-color: #FFF;
}
/* alt template colors */
.sheet-rolltemplate-stargate .sheet-container.sheet-color-green {
--header-bg-color: #008000;
}
@@ -705,13 +701,10 @@
--header-text-color: #000;
}
/* Allprops part */
.sheet-rolltemplate-stargate .sheet-content {
display: grid;
background: #FFF;
/* Header formatting - modify the column layout below */
grid-template-columns: auto auto;
/* Line height to match default roll template */
line-height: 1.4em;
}
@@ -719,24 +712,17 @@
padding: 5px;
}
/* Left column */
.sheet-rolltemplate-stargate .sheet-content .sheet-key {
font-weight: bold;
padding-right: 10px;
text-align: right;
}
/* Empty rule, use this if you want to change the right column
.sheet-rolltemplate-stargate .sheet-value {
}
*/
/* Make even-numbered rows grey */
.sheet-rolltemplate-stargate .sheet-content :nth-child(4n+3),
.sheet-rolltemplate-stargate .sheet-content :nth-child(4n) {
background: #EEE;
}
/* Description field */
.sheet-rolltemplate-stargate .sheet-desc {
grid-column: span 2;
padding: 5px;
+303 -439
View File
File diff suppressed because it is too large Load Diff
+4 -5
View File
@@ -1,10 +1,9 @@
include src/core.html
include src/pug/core.pug
include src/rolltemplate.html
include src/data.pug
include src/pug/data.pug
include src/pug/rolltemplate.pug
script(type="text/worker")
include src/sheetworker.js
include src/js/sheetworker.js
+2 -2
View File
@@ -1,4 +1,4 @@
@use "src/_core.scss";
@use "src/scss/_core.scss";
@use "src/_rolltemplate.scss";
@use "src/scss/_rolltemplate.scss";