* mothership v4 npc sheet * Update translation.json * Update npc.pug * Update mothership.html
2934 lines
166 KiB
HTML
2934 lines
166 KiB
HTML
|
||
<div class="ms-wrapper compendium-drop-target monsters">
|
||
<input type="hidden" name="attr_sheet_toggle" value="pc"/>
|
||
<input type="hidden" name="attr_init" value="0"/>
|
||
<input type="hidden" name="attr_settings_toggle"/>
|
||
<input class="sheet-skill-toggle" type="hidden" name="attr_sheet_skill_toggles"/>
|
||
<input accept="Category" name="attr_drop_category" type="hidden"/>
|
||
<input accept="Name" name="attr_drop_name" type="hidden"/>
|
||
<input accept="data" name="attr_drop_data" type="hidden"/>
|
||
<input accept="Content" name="attr_drop_content" type="hidden"/>
|
||
<label class="ms-settings__toggle">
|
||
<input type="checkbox" name="attr_settings_toggle"/><span>y</span>
|
||
</label>
|
||
<div class="ms-settings">
|
||
<div class="ms-settings__row">
|
||
<div class="ms-settings__label" data-i18n="sheet type"></div>
|
||
<select class="ms-settings__input" name="attr_sheet_toggle">
|
||
<option data-i18n="PC" value="pc"></option>
|
||
<option data-i18n="NPC" value="npc"></option>
|
||
<option data-i18n="Ship" value="ship"></option>
|
||
</select>
|
||
</div>
|
||
<div class="ms-settings__row--ship">
|
||
<div class="ms-settings__label" data-i18n="ship builder"></div>
|
||
<button data-i18n="launch" name="act_startship" type="action"></button>
|
||
</div>
|
||
</div>
|
||
<div class="ms-pc">
|
||
<div class="ms-header">
|
||
<div class="ms-header__logo"><img src="https://s3.amazonaws.com/files.d20.io/images/145353993/itv_F4exdWuwHavdksYfCQ/max.png?1592850121" data-i18n-title="Mothership Logo"/></div>
|
||
<div class="ms-header__details">
|
||
<div class="ms-header__field--character_name">
|
||
<div class="ms-header__title" data-i18n="name"></div>
|
||
<input class="ms-header__input ms-rounded" name="attr_character_name" type="text"/>
|
||
</div>
|
||
<div class="ms-header__field--level">
|
||
<div class="ms-header__title" data-i18n="level"></div>
|
||
<input class="ms-header__input ms-rounded" name="attr_level" type="number"/>
|
||
</div>
|
||
<div class="ms-header__field--rank_title">
|
||
<div class="ms-header__title" data-i18n="rank / title"></div>
|
||
<input class="ms-header__input ms-rounded" name="attr_rank_title" type="text"/>
|
||
</div>
|
||
<div class="ms-header__field--xp">
|
||
<div class="ms-header__title" data-i18n="XP"></div>
|
||
<input class="ms-header__input ms-rounded" name="attr_xp" type="text"/>
|
||
</div>
|
||
<div class="ms-header__field--class">
|
||
<div class="ms-header__title" data-i18n="class"></div>
|
||
<input class="ms-header__input ms-rounded" name="attr_class" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="ms-skillsaves">
|
||
<div class="ms-stats">
|
||
<div class="ms-topstat">
|
||
<div class="ms-topstat__label" data-i18n="stress"></div>
|
||
<input class="ms-topstat__stat" placeholder="2" name="attr_stress" type="number"/>
|
||
<div class="ms-topstat__label--invert" data-i18n="starts at 2"></div>
|
||
</div>
|
||
<div class="ms-topstat">
|
||
<div class="ms-topstat__label" data-i18n="resolve"></div>
|
||
<input class="ms-topstat__stat" placeholder="0" name="attr_resolve" type="number"/>
|
||
<div class="ms-topstat__label--invert" data-i18n="starts at 0"></div>
|
||
</div>
|
||
<div class="ms-topstat--minmax">
|
||
<div class="ms-topstat__label" data-i18n="health"></div>
|
||
<div class="ms-topstat__minmaxwrapper">
|
||
<input class="ms-topstat__max" name="attr_health_max" placeholder="78" type="number"/>
|
||
<input class="ms-topstat__min" name="attr_health" placeholder="78" type="number"/>
|
||
</div>
|
||
<div class="ms-topstat__label--small" data-i18n="max"></div>
|
||
<div class="ms-topstat__label--small" data-i18n="current"></div>
|
||
</div>
|
||
<div class="ms-stats__main">
|
||
<div class="ms-mainstat">
|
||
<div class="ms-mainstat__label">
|
||
<button data-i18n="strength" type="roll" value="&{template:ms} {{name=strength}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=@{strength}}}"></button><span class="ms-tooltip">
|
||
<p><span data-i18n="How able-bodied you are. Lifting, pushing, hitting things hard, etc."></span></p></span>
|
||
</div>
|
||
<input class="ms-mainstat__input" name="attr_strength" type="number"/>
|
||
</div>
|
||
<div class="ms-mainstat">
|
||
<div class="ms-mainstat__label">
|
||
<button data-i18n="speed" type="roll" value="&{template:ms} {{name=speed}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=@{speed}}}"></button><span class="ms-tooltip">
|
||
<p><span data-i18n="How quickly you can act and react under pressure."></span></p></span>
|
||
</div>
|
||
<input class="ms-mainstat__input" name="attr_speed" type="number"/>
|
||
</div>
|
||
<div class="ms-mainstat">
|
||
<div class="ms-mainstat__label">
|
||
<button data-i18n="intellect" type="roll" value="&{template:ms} {{name=intellect}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=@{intellect}}}"></button><span class="ms-tooltip">
|
||
<p><span data-i18n="How knowledgeable and experienced you are."></span></p></span>
|
||
</div>
|
||
<input class="ms-mainstat__input" name="attr_intellect" type="number"/>
|
||
</div>
|
||
<div class="ms-mainstat">
|
||
<div class="ms-mainstat__label">
|
||
<button data-i18n="combat" type="roll" value="&{template:ms} {{name=combat}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=@{combat}}}"></button><span class="ms-tooltip">
|
||
<p><span data-i18n="How good you are at fighting."></span></p></span>
|
||
</div>
|
||
<input class="ms-mainstat__input" name="attr_combat" type="number"/>
|
||
</div>
|
||
</div>
|
||
<div class="ms-patches">
|
||
<h1 data-i18n="patch"></h1>
|
||
<textarea class="ms-patches__textarea ms-rounded" name="attr_patch"></textarea>
|
||
<h1 data-i18n="trinket"></h1>
|
||
<textarea class="ms-patches__textarea ms-rounded" name="attr_trinket"></textarea>
|
||
</div>
|
||
</div>
|
||
<div class="ms-saves">
|
||
<div class="ms-saves__col--left">
|
||
<div class="ms-saves__label">
|
||
<button class="ms-saves__name" data-i18n="sanity" type="roll" value="&{template:ms} {{name=sanity}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=@{sanity}}}"></button><span class="ms-tooltip">
|
||
<p><span data-i18n="Sanity is your ability to explain away logical inconsistencies in the universe, rationalize and make sense out of chaos, detect illusions and mimicry and think quickly under pressure."></span></p></span>
|
||
<div class="ms-saves__subtext" data-i18n="rationalization, logic"></div>
|
||
</div>
|
||
<div class="ms-saves__label">
|
||
<button class="ms-saves__name" data-i18n="fear" type="roll" value="&{template:ms} {{name=fear}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=@{fear}}}"></button><span class="ms-tooltip">
|
||
<p><span data-i18n="Fear is how well you can cope with emotional trauma, and covers not only fear, but also loneliness, depression or any other emotional surge."></span></p></span>
|
||
<div class="ms-saves__subtext" data-i18n="surprise, loneliness"></div>
|
||
</div>
|
||
<div class="ms-saves__label">
|
||
<button class="ms-saves__name" data-i18n="body" type="roll" value="&{template:ms} {{name=body}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=@{body}}}"></button><span class="ms-tooltip">
|
||
<p><span data-i18n="Body is your reflexes, and how well you can resist hunger, disease or any other organism that might attempt to invade your insides."></span></p></span>
|
||
<div class="ms-saves__subtext" data-i18n="hunger, disease, infection"></div>
|
||
</div>
|
||
<div class="ms-saves__label">
|
||
<button class="ms-saves__name" data-i18n="armor" type="roll" value="&{template:ms} {{name=armor}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=@{armor}}}"></button><span class="ms-tooltip">
|
||
<p><span data-i18n="Armor is how resistant you ae to damage sustained during combat, whether that be through bullets, claws, teeth, etc."></span></p></span>
|
||
<div class="ms-saves__subtext" data-i18n="physical damage"></div>
|
||
</div>
|
||
</div>
|
||
<div class="ms-saves__col--right">
|
||
<div class="ms-saves__inputwrapper">
|
||
<input class="ms-saves__input" name="attr_sanity" type="number"/>
|
||
</div>
|
||
<div class="ms-saves__inputwrapper">
|
||
<input class="ms-saves__input" name="attr_fear" type="number"/>
|
||
</div>
|
||
<div class="ms-saves__inputwrapper">
|
||
<input class="ms-saves__input" name="attr_body" type="number"/>
|
||
</div>
|
||
<div class="ms-saves__inputwrapper">
|
||
<input class="ms-saves__input" name="attr_armor" type="number"/>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="ms-stress_panic">
|
||
<div class="ms-stress_panic__label" data-i18n="stress & panic"></div>
|
||
<input class="ms-stress_panic__input ms-rounded" name="attr_stress_panic" type="text"/>
|
||
</div>
|
||
</div>
|
||
<div class="ms-skills">
|
||
<h1 data-i18n="skills"></h1>
|
||
<div class="ms-skillpoints">
|
||
<div class="ms-skillpoints__label" data-i18n="skill points"></div>
|
||
<input class="ms-skillpoints__input ms-rounded" name="attr_skill_points" type="number"/>
|
||
<div class="ms-tooltip--skills">
|
||
<ul>
|
||
<li> <strong class="ms-tooltip__label" data-i18n="trained skills"></strong><span data-i18n="cost 1 point"></span></li>
|
||
<li> <strong class="ms-tooltip__label" data-i18n="expert skills"></strong><span data-i18n="cost 2 points"></span></li>
|
||
<li> <strong class="ms-tooltip__label" data-i18n="master skills"></strong><span data-i18n="cost 3 points"></span></li>
|
||
</ul><span data-i18n="To take an Expert or Master skill you must first take one of its prerequisite skills"></span>
|
||
</div>
|
||
</div>
|
||
<div class="ms-skills__trained">
|
||
<h2 data-i18n="trained +10%"></h2>
|
||
<div class="ms-tooltip">
|
||
<p data-i18n="You’ve received standard training in this area equivalent to a bachelor's degree or on-the-job training for a couple years."></p>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--linguistics">
|
||
<input name="attr_linguistics_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_linguistics" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="linguistics" type="roll" value="&{template:ms} {{name=linguistics}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+10]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_linguistics_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_linguistics_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Study of language"></span></p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--biology">
|
||
<input name="attr_biology_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_biology" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="biology" type="roll" value="&{template:ms} {{name=biology}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+10]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_biology_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_biology_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Study of life"></span></p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--first_aid">
|
||
<input name="attr_first_aid_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_first_aid" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="first aid" type="roll" value="&{template:ms} {{name=first aid}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+10]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_first_aid_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_first_aid_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Emergency medical care and treatment"></span></p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--hydroponics">
|
||
<input name="attr_hydroponics_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_hydroponics" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="hydroponics" type="roll" value="&{template:ms} {{name=hydroponics}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+10]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_hydroponics_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_hydroponics_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Growing plants in nutrient solutions without soil (farming in space)"></span></p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--geology">
|
||
<input name="attr_geology_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_geology" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="geology" type="roll" value="&{template:ms} {{name=geology}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+10]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_geology_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_geology_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="The solid features of any terrestrial planet or natural satellite"></span></p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--zero-g">
|
||
<input name="attr_zero-g_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_zero-g" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="zero-g" type="roll" value="&{template:ms} {{name=zero-g}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+10]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_zero-g_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_zero-g_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Working in a vaccuum, vaccsuits, etc."></span></p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--scavenging">
|
||
<input name="attr_scavenging_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_scavenging" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="scavenging" type="roll" value="&{template:ms} {{name=scavenging}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+10]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_scavenging_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_scavenging_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Searching discarded wastes for useful items"></span></p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--heavy_machinery">
|
||
<input name="attr_heavy_machinery_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_heavy_machinery" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="heavy machinery" type="roll" value="&{template:ms} {{name=heavy machinery}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+10]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_heavy_machinery_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_heavy_machinery_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Operation and use of large pieces of equipment (cranes, exosuits, forkliftsm etc.)"></span></p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--computers">
|
||
<input name="attr_computers_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_computers" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="computers" type="roll" value="&{template:ms} {{name=computers}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+10]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_computers_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_computers_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Fluent use of computers and networks"></span></p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--mechanical_repair">
|
||
<input name="attr_mechanical_repair_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_mechanical_repair" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="mechanical repair" type="roll" value="&{template:ms} {{name=mechanical repair}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+10]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_mechanical_repair_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_mechanical_repair_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Fixing broken machines"></span></p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--driving">
|
||
<input name="attr_driving_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_driving" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="driving" type="roll" value="&{template:ms} {{name=driving}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+10]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_driving_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_driving_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Operation and control of motor vehicles"></span></p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--piloting">
|
||
<input name="attr_piloting_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_piloting" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="piloting" type="roll" value="&{template:ms} {{name=piloting}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+10]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_piloting_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_piloting_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Operation and control of air and spacecraft"></span></p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--mathematics">
|
||
<input name="attr_mathematics_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_mathematics" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="mathematics" type="roll" value="&{template:ms} {{name=mathematics}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+10]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_mathematics_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_mathematics_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="The science of numbers, quantity, and space"></span></p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--art">
|
||
<input name="attr_art_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_art" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="art" type="roll" value="&{template:ms} {{name=art}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+10]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_art_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_art_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="The expression or application of a species' creative ability and imagination"></span></p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--archaeology">
|
||
<input name="attr_archaeology_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_archaeology" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="archaeology" type="roll" value="&{template:ms} {{name=archaeology}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+10]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_archaeology_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_archaeology_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Ancient cultures and their artifacts"></span></p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--theology">
|
||
<input name="attr_theology_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_theology" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="theology" type="roll" value="&{template:ms} {{name=theology}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+10]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_theology_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_theology_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Study of religion"></span></p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--military_training">
|
||
<input name="attr_military_training_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_military_training" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="military training" type="roll" value="&{template:ms} {{name=military training}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+10]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_military_training_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_military_training_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Standard basic training given to all military personnel"></span></p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--rimwise">
|
||
<input name="attr_rimwise_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_rimwise" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="rimwise" type="roll" value="&{template:ms} {{name=rimwise}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+10]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_rimwise_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_rimwise_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Outer rim colonies and seedy parts of the galaxy"></span></p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--athletics">
|
||
<input name="attr_athletics_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_athletics" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="athletics" type="roll" value="&{template:ms} {{name=athletics}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+10]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_athletics_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_athletics_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Physical sports and games"></span></p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--chemistry">
|
||
<input name="attr_chemistry_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_chemistry" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="chemistry" type="roll" value="&{template:ms} {{name=chemistry}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+10]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_chemistry_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_chemistry_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="The identification of the substances of which matter is composed"></span></p></span>
|
||
</div>
|
||
<fieldset class="repeating_trained">
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill--repeating">
|
||
<input name="attr_skill_settings" type="hidden" value="on"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_skill_trained" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button class="edit-hide" type="roll" value="&{template:ms} {{name=@{skill_name}}}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+10]]}}"><span name="attr_skill_name"></span></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_skill_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="name"></div>
|
||
<input class="ms-skill__settingsinput" data-i18n-title="custom skill" name="attr_skill_name" type="text"/>
|
||
</div>
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_skill_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip"><span name="attr_skill_notes"></span></span>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
<div class="ms-skills__expert">
|
||
<h2 data-i18n="expert +15%"></h2>
|
||
<div class="ms-tooltip">
|
||
<p data-i18n="You have the equivalent of a doctorate or many years of experience."></p>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--psychology">
|
||
<input name="attr_psychology_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_psychology" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="psychology" type="roll" value="&{template:ms} {{name=psychology}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+15]]}}"><span name="attr_skill_name"></span></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_psychology_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_psychology_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="The study of behavior and the human mind"></span></p>
|
||
<p><strong class="ms-tooltip__label" data-i18n="prerequisites"></strong>
|
||
<div data-i18n="biology"></div>
|
||
</p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--genetics">
|
||
<input name="attr_genetics_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_genetics" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="genetics" type="roll" value="&{template:ms} {{name=genetics}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+15]]}}"><span name="attr_skill_name"></span></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_genetics_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_genetics_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Heredity and the variation of the inherited characteristics"></span></p>
|
||
<p><strong class="ms-tooltip__label" data-i18n="prerequisites"></strong>
|
||
<div data-i18n="biology"></div>
|
||
</p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--pathology">
|
||
<input name="attr_pathology_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_pathology" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="pathology" type="roll" value="&{template:ms} {{name=pathology}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+15]]}}"><span name="attr_skill_name"></span></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_pathology_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_pathology_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Study of the cause and effect of disease"></span></p>
|
||
<p><strong class="ms-tooltip__label" data-i18n="prerequisites"></strong>
|
||
<div data-i18n="first aid"></div>
|
||
</p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--botany">
|
||
<input name="attr_botany_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_botany" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="botany" type="roll" value="&{template:ms} {{name=botany}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+15]]}}"><span name="attr_skill_name"></span></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_botany_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_botany_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="The study of plant life"></span></p>
|
||
<p><strong class="ms-tooltip__label" data-i18n="prerequisites"></strong>
|
||
<div data-i18n="hydroponics"></div>
|
||
</p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--planetology">
|
||
<input name="attr_planetology_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_planetology" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="planetology" type="roll" value="&{template:ms} {{name=planetology}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+15]]}}"><span name="attr_skill_name"></span></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_planetology_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_planetology_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Study of planets and other celestial body"></span></p>
|
||
<p><strong class="ms-tooltip__label" data-i18n="prerequisites"></strong>
|
||
<div data-i18n="geology"></div>
|
||
</p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--asteroid_mining">
|
||
<input name="attr_asteroid_mining_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_asteroid_mining" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="asteroid mining" type="roll" value="&{template:ms} {{name=asteroid mining}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+15]]}}"><span name="attr_skill_name"></span></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_asteroid_mining_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_asteroid_mining_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Training in the tools and procedures used in mining asteroids"></span></p>
|
||
<p><strong class="ms-tooltip__label" data-i18n="prerequisites"></strong>
|
||
<div data-i18n="geology, zero-g, heavy machinery, scavenging"></div>
|
||
</p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--jury_rigging">
|
||
<input name="attr_jury_rigging_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_jury_rigging" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="jury rigging" type="roll" value="&{template:ms} {{name=jury rigging}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+15]]}}"><span name="attr_skill_name"></span></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_jury_rigging_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_jury_rigging_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Makeshift repairs"></span></p>
|
||
<p><strong class="ms-tooltip__label" data-i18n="prerequisites"></strong>
|
||
<div data-i18n="scavenging, mechanical repair"></div>
|
||
</p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--engineering">
|
||
<input name="attr_engineering_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_engineering" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="engineering" type="roll" value="&{template:ms} {{name=engineering}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+15]]}}"><span name="attr_skill_name"></span></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_engineering_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_engineering_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Design, building, and use of engines, machines, and structures"></span></p>
|
||
<p><strong class="ms-tooltip__label" data-i18n="prerequisites"></strong>
|
||
<div data-i18n="heavy machinery, computers, mechanical repair"></div>
|
||
</p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--hacking">
|
||
<input name="attr_hacking_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_hacking" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="hacking" type="roll" value="&{template:ms} {{name=hacking}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+15]]}}"><span name="attr_skill_name"></span></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_hacking_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_hacking_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Unauthorized access to computer systems"></span></p>
|
||
<p><strong class="ms-tooltip__label" data-i18n="prerequisites"></strong>
|
||
<div data-i18n="computers"></div>
|
||
</p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--vehicle_specialization">
|
||
<input name="attr_vehicle_specialization_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_vehicle_specialization" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="vehicle specialization" type="roll" value="&{template:ms} {{name=vehicle specialization}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+15]]}}"><span name="attr_skill_name"></span></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_vehicle_specialization_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_vehicle_specialization_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Specific vehicle class"></span></p>
|
||
<p><strong class="ms-tooltip__label" data-i18n="prerequisites"></strong>
|
||
<div data-i18n="mechanical repair, piloting, driving"></div>
|
||
</p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--astrogation">
|
||
<input name="attr_astrogation_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_astrogation" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="astrogation" type="roll" value="&{template:ms} {{name=astrogation}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+15]]}}"><span name="attr_skill_name"></span></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_astrogation_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_astrogation_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Navigation in outer space"></span></p>
|
||
<p><strong class="ms-tooltip__label" data-i18n="prerequisites"></strong>
|
||
<div data-i18n="piloting"></div>
|
||
</p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--physics">
|
||
<input name="attr_physics_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_physics" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="physics" type="roll" value="&{template:ms} {{name=physics}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+15]]}}"><span name="attr_skill_name"></span></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_physics_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_physics_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Study of nature and properties of matter and energy"></span></p>
|
||
<p><strong class="ms-tooltip__label" data-i18n="prerequisites"></strong>
|
||
<div data-i18n="mathematics"></div>
|
||
</p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--mysticism">
|
||
<input name="attr_mysticism_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_mysticism" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="mysticism" type="roll" value="&{template:ms} {{name=mysticism}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+15]]}}"><span name="attr_skill_name"></span></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_mysticism_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_mysticism_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Spiritual apprehension of hidden knowledge"></span></p>
|
||
<p><strong class="ms-tooltip__label" data-i18n="prerequisites"></strong>
|
||
<div data-i18n="art, archaeology, theology"></div>
|
||
</p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--tactics">
|
||
<input name="attr_tactics_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_tactics" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="tactics" type="roll" value="&{template:ms} {{name=tactics}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+15]]}}"><span name="attr_skill_name"></span></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_tactics_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_tactics_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Manuevering military forces in battle"></span></p>
|
||
<p><strong class="ms-tooltip__label" data-i18n="prerequisites"></strong>
|
||
<div data-i18n="military training"></div>
|
||
</p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--gunnery">
|
||
<input name="attr_gunnery_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_gunnery" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="gunnery" type="roll" value="&{template:ms} {{name=gunnery}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+15]]}}"><span name="attr_skill_name"></span></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_gunnery_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_gunnery_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Starship weaponry"></span></p>
|
||
<p><strong class="ms-tooltip__label" data-i18n="prerequisites"></strong>
|
||
<div data-i18n="military training"></div>
|
||
</p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--firearms">
|
||
<input name="attr_firearms_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_firearms" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="firearms" type="roll" value="&{template:ms} {{name=firearms}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+15]]}}"><span name="attr_skill_name"></span></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_firearms_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_firearms_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Guns and their use"></span></p>
|
||
<p><strong class="ms-tooltip__label" data-i18n="prerequisites"></strong>
|
||
<div data-i18n="military training, rimwise"></div>
|
||
</p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--close-quarters_combat">
|
||
<input name="attr_close-quarters_combat_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_close-quarters_combat" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="close-quarters combat" type="roll" value="&{template:ms} {{name=close-quarters combat}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+15]]}}"><span name="attr_skill_name"></span></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_close-quarters_combat_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_close-quarters_combat_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Hand-tohand, melee fighting"></span></p>
|
||
<p><strong class="ms-tooltip__label" data-i18n="prerequisites"></strong>
|
||
<div data-i18n="athletics, military training, rimwise"></div>
|
||
</p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--explosives">
|
||
<input name="attr_explosives_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_explosives" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="explosives" type="roll" value="&{template:ms} {{name=explosives}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+15]]}}"><span name="attr_skill_name"></span></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_explosives_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_explosives_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Bombs and incendiary devices"></span></p>
|
||
<p><strong class="ms-tooltip__label" data-i18n="prerequisites"></strong>
|
||
<div data-i18n="military training, chemistry"></div>
|
||
</p></span>
|
||
</div>
|
||
<fieldset class="repeating_expert">
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill--repeating">
|
||
<input name="attr_skill_settings" type="hidden" value="on"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_skill_trained" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button class="edit-hide" type="roll" value="&{template:ms} {{name=@{skill_name}}}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+20]]}}"><span name="attr_skill_name"></span></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_skill_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="name"></div>
|
||
<input class="ms-skill__settingsinput" data-i18n-value="custom skill" name="attr_skill_name" type="text"/>
|
||
</div>
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_skill_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip"><span name="attr_skill_notes"></span></span>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
<div class="ms-skills__master">
|
||
<h2 data-i18n="master +20%"></h2>
|
||
<div class="ms-tooltip">
|
||
<p data-i18n="You are one of the luminaries of this field and are aware of cutting edge techniques or highly specialized and niche information."></p>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--sophontology">
|
||
<input name="attr_sophontology_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_sophontology" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="sophontology" type="roll" value="&{template:ms} {{name=sophontology}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+20]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_sophontology_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_sophontology_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Alien psychology"></span></p>
|
||
<p><strong class="ms-tooltip__label" data-i18n="prerequisites"></strong>
|
||
<div data-i18n="linguistics, psychology"></div>
|
||
</p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--xenobiology">
|
||
<input name="attr_xenobiology_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_xenobiology" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="xenobiology" type="roll" value="&{template:ms} {{name=xenobiology}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+20]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_xenobiology_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_xenobiology_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Alien biology"></span></p>
|
||
<p><strong class="ms-tooltip__label" data-i18n="prerequisites"></strong>
|
||
<div data-i18n="genetics, botany, pathology"></div>
|
||
</p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--surgery">
|
||
<input name="attr_surgery_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_surgery" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="surgery" type="roll" value="&{template:ms} {{name=surgery}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+20]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_surgery_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_surgery_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Medical speciality involving manual operation"></span></p>
|
||
<p><strong class="ms-tooltip__label" data-i18n="prerequisites"></strong>
|
||
<div data-i18n="pathology"></div>
|
||
</p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--cybernetics">
|
||
<input name="attr_cybernetics_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_cybernetics" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="cybernetics" type="roll" value="&{template:ms} {{name=cybernetics}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+20]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_cybernetics_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_cybernetics_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Interface between man and machine"></span></p>
|
||
<p><strong class="ms-tooltip__label" data-i18n="prerequisites"></strong>
|
||
<div data-i18n="jury rigging, engineering"></div>
|
||
</p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--robotics">
|
||
<input name="attr_robotics_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_robotics" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="robotics" type="roll" value="&{template:ms} {{name=robotics}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+20]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_robotics_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_robotics_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Design and operation of robots, drones, and androids"></span></p>
|
||
<p><strong class="ms-tooltip__label" data-i18n="prerequisites"></strong>
|
||
<div data-i18n="engineering"></div>
|
||
</p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--artificial_intelligence">
|
||
<input name="attr_artificial_intelligence_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_artificial_intelligence" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="artificial intelligence" type="roll" value="&{template:ms} {{name=artificial intelligence}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+20]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_artificial_intelligence_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_artificial_intelligence_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Knowledge of simulacrum of human consciousness"></span></p>
|
||
<p><strong class="ms-tooltip__label" data-i18n="prerequisites"></strong>
|
||
<div data-i18n="engineering, hacking"></div>
|
||
</p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--command">
|
||
<input name="attr_command_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_command" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="command" type="roll" value="&{template:ms} {{name=command}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+20]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_command_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_command_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Leadership and authority"></span></p>
|
||
<p><strong class="ms-tooltip__label" data-i18n="prerequisites"></strong>
|
||
<div data-i18n="vehicle specialization, tactics"></div>
|
||
</p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--hyperspace">
|
||
<input name="attr_hyperspace_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_hyperspace" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="hyperspace" type="roll" value="&{template:ms} {{name=hyperspace}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+20]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_hyperspace_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_hyperspace_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="FTL travel"></span></p>
|
||
<p><strong class="ms-tooltip__label" data-i18n="prerequisites"></strong>
|
||
<div data-i18n="astrogation, mysticism, physics"></div>
|
||
</p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--xenoesotericism">
|
||
<input name="attr_xenoesotericism_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_xenoesotericism" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="xenoesotericism" type="roll" value="&{template:ms} {{name=xenoesotericism}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+20]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_xenoesotericism_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_xenoesotericism_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Obscure alien mysticism, religion, and belief"></span></p>
|
||
<p><strong class="ms-tooltip__label" data-i18n="prerequisites"></strong>
|
||
<div data-i18n="mysticism"></div>
|
||
</p></span>
|
||
</div>
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill ms-skill--weapon_specialization">
|
||
<input name="attr_weapon_specialization_settings" type="hidden"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_weapon_specialization" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button data-i18n="weapon specialization" type="roll" value="&{template:ms} {{name=weapon specialization}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+20]]}}"></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_weapon_specialization_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_weapon_specialization_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip">
|
||
<p><span data-i18n="Proficiency with a specific weapon"></span></p>
|
||
<p><strong class="ms-tooltip__label" data-i18n="prerequisites"></strong>
|
||
<div data-i18n="gunnery, firearms, close-quarters combat, explosives"></div>
|
||
</p></span>
|
||
</div>
|
||
<fieldset class="repeating_master">
|
||
<div class="ms-skill-wrapper">
|
||
<div class="ms-skill--repeating">
|
||
<input name="attr_skill_settings" type="hidden" value="on"/>
|
||
<label class="ms-skill__checkmark">
|
||
<input name="attr_skill_trained" type="checkbox"/><span></span>
|
||
</label>
|
||
<div class="ms-skill__button">
|
||
<button class="edit-hide" type="roll" value="&{template:ms} {{name=@{skill_name}}}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[?{Attribute|Strength,@{strength}|Speed,@{speed}|Intellect,@{intellect}|Combat,@{combat}}+20]]}}"><span name="attr_skill_name"></span></button>
|
||
</div>
|
||
<label class="ms-skill__cog">
|
||
<input name="attr_skill_settings" type="checkbox"/><span>y</span>
|
||
</label>
|
||
<div class="ms-skill__settings">
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="name"></div>
|
||
<input class="ms-skill__settingsinput" data-i18n-value="custom skill" name="attr_skill_name" type="text"/>
|
||
</div>
|
||
<div class="ms-skill__settingsrow">
|
||
<div class="ms-skill__settingstitle" data-i18n="notes"></div>
|
||
<input class="ms-skill__settingsinput" name="attr_skill_notes" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div><span class="ms-tooltip"><span name="attr_skill_notes"></span></span>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<div class="ms-gear">
|
||
<div class="ms-equipment">
|
||
<h1 data-i18n="equipment"></h1>
|
||
<div class="ms-equipmentrow--head">
|
||
<div class="ms-equipmentrow__name--head" data-i18n="item"></div>
|
||
<div class="ms-equipmentrow__type--head" data-i18n="type"></div>
|
||
</div>
|
||
<fieldset class="repeating_equipment">
|
||
<div class="ms-equipmentrow">
|
||
<input name="attr_equipment_settings" type="hidden" value="on"/>
|
||
<input name="attr_equipment_linkedid" type="hidden"/>
|
||
<input class="ms-equipmentrow__name" name="attr_equipment_name" type="text"/>
|
||
<input class="ms-equipmentrow__type" name="attr_equipment_type" type="hidden"/>
|
||
<select class="ms-equipmentrow__type" name="attr_equipment_type">
|
||
<option data-i18n="Gear"></option>
|
||
<option data-i18n="Weapon"></option>
|
||
<option data-i18n="Ammunition"></option>
|
||
<option data-i18n="Armor"></option>
|
||
<option data-i18n="Patch"></option>
|
||
<option data-i18n="Trinket"></option>
|
||
<option data-i18n="Other"></option>
|
||
</select>
|
||
<label class="ms-equipmentrow__cog">
|
||
<input name="attr_equipment_settings" type="checkbox" checked="checked"/><span>y</span>
|
||
</label>
|
||
<div class="ms-equipmentrow__settings">
|
||
<div class="ms-equipmentrow__settingsrow--full show_armor">
|
||
<div class="ms-equipmentrow__settingstitle" data-i18n="armor bonus"></div>
|
||
<input class="ms-equipmentrow__settingsinput" name="attr_equipment_armor_bonus" type="text"/>
|
||
</div>
|
||
<div class="ms-equipmentrow__settingsrow--full">
|
||
<div class="ms-equipmentrow__settingstitle" data-i18n="notes"></div>
|
||
<textarea class="ms-equipmentrow__textarea" name="attr_equipment_notes"></textarea>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
<div class="ms-credits">
|
||
<div class="ms-credits__label" data-i18n="credits"></div>
|
||
<input class="ms-credits__input ms-rounded" name="attr_credits" type="text"/>
|
||
</div>
|
||
</div>
|
||
<div class="ms-attacks">
|
||
<h1 data-i18n="attacks"></h1>
|
||
<div class="ms-attackrow--head">
|
||
<div class="ms-attackrow__name--head" data-i18n="attack"></div>
|
||
<div class="ms-attackrow__type--head" data-i18n="type"></div>
|
||
<div class="ms-attackrow__type--head" data-i18n="damage"></div>
|
||
</div>
|
||
<fieldset class="repeating_attacks">
|
||
<div class="ms-attackrow">
|
||
<input name="attr_attack_settings" type="hidden" value="on"/>
|
||
<input name="attr_attack_linkedid" type="hidden"/>
|
||
<button class="ms-attackrow__name" type="roll" value="&{template:ms} {{name=@{attack_name}}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[@{combat}]]}} {{ranges=@{attack_range_s}}} {{rangem=@{attack_range_m}}} {{rangel=@{attack_range_l}}} {{damage=[[@{attack_damage}]]}}"><span name="attr_attack_name" type="text"></span></button>
|
||
<input class="ms-attackrow__skill" name="attr_attack_type" type="hidden"/>
|
||
<select class="ms-attackrow__skill" name="attr_attack_type">
|
||
<option data-i18n="Ranged"></option>
|
||
<option data-i18n="Melee"></option>
|
||
</select>
|
||
<input class="ms-attackrow__damage" name="attr_attack_damage" type="text"/>
|
||
<label class="ms-attackrow__cog">
|
||
<input name="attr_attack_settings" type="checkbox" checked="checked"/><span>y</span>
|
||
</label>
|
||
<div class="ms-attackrow__settings">
|
||
<div class="ms-attackrow__settingsrow--full">
|
||
<div class="ms-attackrow__settingstitle" data-i18n="name"></div>
|
||
<input class="ms-attackrow__settingsinput" data-i18n-value="custom skill" name="attr_attack_name" type="text"/>
|
||
</div>
|
||
<div class="ms-attackrow__settingsrow--range show_ranged">
|
||
<div class="ms-attackrow__settingstitle" data-i18n="range"></div>
|
||
<input class="ms-attackrow__settingsinput" data-i18n-placeholder="short" name="attr_attack_range_s" type="text"/>
|
||
<input class="ms-attackrow__settingsinput" data-i18n-placeholder="medium" name="attr_attack_range_m" type="text"/>
|
||
<input class="ms-attackrow__settingsinput" data-i18n-placeholder="long" name="attr_attack_range_l" type="text"/>
|
||
</div>
|
||
<div class="ms-attackrow__settingsrow">
|
||
<div>
|
||
<div class="ms-attackrow__settingstitle" data-i18n="critical damage"></div>
|
||
<input class="ms-attackrow__settingsinput" data-i18n-placeholder="damage" name="attr_attack_crit_damage" type="text"/>
|
||
</div>
|
||
<div>
|
||
<div class="ms-attackrow__settingstitle" data-i18n="critical effect"></div>
|
||
<input class="ms-attackrow__settingsinput" data-i18n-placeholder="effect" name="attr_attack_crit_effect" type="text"/>
|
||
</div>
|
||
</div>
|
||
<div class="ms-attackrow__settingsrow">
|
||
<div>
|
||
<div class="ms-attackrow__settingstitle" data-i18n="shots"></div>
|
||
<input class="ms-attackrow__settingsinput" data-i18n-placeholder="shots" name="attr_attack_shots" type="text"/>
|
||
</div>
|
||
<div>
|
||
<div class="ms-attackrow__settingstitle" data-i18n="ammunition"></div>
|
||
<input class="ms-attackrow__settingsinput" data-i18n-placeholder="damage" name="attr_attack_ammunition" type="text"/>
|
||
</div>
|
||
</div>
|
||
<div class="ms-attackrow__settingsrow--full">
|
||
<div class="ms-attackrow__settingstitle" data-i18n="notes"></div>
|
||
<textarea class="ms-sattackrow__textarea" name="attr_attack_notes"></textarea>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="ms-ship">
|
||
<input name="attr_shipbuild" type="hidden" value="on"/>
|
||
<div class="ms-shipbuilder">
|
||
<div class="ms-shipbuilder__hwrap">
|
||
<h2><span data-i18n="select"></span><span class="ms-invert" data-i18n="primary modules"></span></h2>
|
||
</div>
|
||
<div class="ms-shipbuilder__block ms-shipbuilder__block--life_support">
|
||
<div class="ms-shipbuilder__title">
|
||
<h3 data-i18n="life support"></h3>
|
||
</div>
|
||
<div class="ms-shipbuilder__desc">
|
||
<p data-i18n="Life support keeps the human crew alive. Each point of life support can support up to 10 humans. For every point below the required minimum, anyone not wearing a vaccsuit must make a <strong>Body Save</strong> every hour or take 1d10 damage. This includes those in cryochambers as well, but does not include androids. Many ships include 2-3 times the required amount of life support in case of extra passengers or damage to the system."></p>
|
||
</div>
|
||
<div class="ms-shipbuilder__flex">
|
||
<div class="ms-shipbuilder__item">
|
||
<input class="ms-shipbuilder__input" name="attr_ship_passengers" type="number"/>
|
||
<div class="ms-shipbuilder__label" data-i18n="human passengers"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__modifier">/10</div>
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_ship_lifesupport_modules"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="life support"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__equals">= </div>
|
||
<div class="ms-shipbuilder__hull">
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_life_support_hull"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="hull"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="ms-shipbuilder__block ms-shipbuilder__block--command">
|
||
<div class="ms-shipbuilder__title">
|
||
<h3 data-i18n="command"></h3>
|
||
</div>
|
||
<div class="ms-shipbuilder__desc">
|
||
<p data-i18n="The command module is the cockpit, command center, or bridge of a ship. For every 4 officer positions, one command module is required. Officers can be captains, first mates, navigation officers, communications officers, and is largely up to the Warden and the players to decide."></p>
|
||
</div>
|
||
<div class="ms-shipbuilder__flex">
|
||
<div class="ms-shipbuilder__item">
|
||
<input class="ms-shipbuilder__input" name="attr_ship_officers" type="number"/>
|
||
<div class="ms-shipbuilder__label" data-i18n="officers"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__modifier">/4</div>
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_ship_command_modules"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="command modules"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__equals">= </div>
|
||
<div class="ms-shipbuilder__hull">
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_command_hull"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="hull"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="ms-shipbuilder__block ms-shipbuilder__block--armor">
|
||
<div class="ms-shipbuilder__title">
|
||
<h3 data-i18n="armor"></h3>
|
||
</div>
|
||
<div class="ms-shipbuilder__desc">
|
||
<p data-i18n="Armor plating protects the ship fromsmall metoerites, space dust and debris, as well as, if need be, attacks from other vessels. Every point of armor costs 3 hull, and grants the ship +10% Armor Save (Max 80)."></p>
|
||
</div>
|
||
<div class="ms-shipbuilder__flex">
|
||
<div class="ms-shipbuilder__item">
|
||
<input class="ms-shipbuilder__input" name="attr_ship_armor_modules" type="number"/>
|
||
<div class="ms-shipbuilder__label" data-i18n="armor"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__modifier">x10</div>
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_armor"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="armor save"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__hull">
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_armor_hull"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="hull"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="ms-shipbuilder__hwrap">
|
||
<h2><span data-i18n="select"></span><span class="ms-invert" data-i18n="secondary modules"></span></h2>
|
||
</div>
|
||
<div class="ms-shipbuilder__block ms-shipbuilder__block--jump_drives">
|
||
<div class="ms-shipbuilder__title">
|
||
<h3 data-i18n="jump drives"></h3>
|
||
</div>
|
||
<div class="ms-shipbuilder__desc">
|
||
<p data-i18n="Jump drives enable the ship to travel through hyperspace. Every point of Jump Drive increasesthe ship’s jump capability by 1 (Max 9). The first drive costs 1 hull, the second costs 2, the third costs 3, etc."></p>
|
||
</div>
|
||
<div class="ms-shipbuilder__flex">
|
||
<div class="ms-shipbuilder__item">
|
||
<input class="ms-shipbuilder__input" name="attr_ship_jumpdrive_modules" type="number"/>
|
||
<div class="ms-shipbuilder__label" data-i18n="jump drives"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__modifier">...</div>
|
||
<div class="ms-shipbuilder__hull">
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_jump_drives_hull"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="hull"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="ms-shipbuilder__block ms-shipbuilder__block--computer">
|
||
<div class="ms-shipbuilder__title">
|
||
<h3 data-i18n="computer"></h3>
|
||
</div>
|
||
<div class="ms-shipbuilder__desc">
|
||
<p data-i18n="The ship’s computer is a powerful artificial intelligence that helps with astrogation, combat, and anumber of other autonomous tasks. A ship’s Intellect is equal to the number of computer modules x10 +30%. It’s Combat is equal to the number of computer modules x10 +10%. A computer module is required for each jumpdrive. Additionally, each computer module equipped allows the computer to take more actions during combat."></p>
|
||
</div>
|
||
<div class="ms-shipbuilder__flex">
|
||
<div class="ms-shipbuilder__item">
|
||
<input class="ms-shipbuilder__input" name="attr_ship_computer_modules" type="number"/>
|
||
<div class="ms-shipbuilder__label" data-i18n="computer modules"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__equals">= </div>
|
||
<div class="ms-shipbuilder__hull">
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_computer_hull"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="hull"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="ms-shipbuilder__block ms-shipbuilder__block--galley">
|
||
<div class="ms-shipbuilder__title">
|
||
<h3 data-i18n="galley"></h3>
|
||
</div>
|
||
<div class="ms-shipbuilder__desc">
|
||
<p data-i18n="Galleys contain a kitchen, restrooms, and a common area on a ship. Any ships making trips longer than 1 day must have 1 galley for every 2 life support modules or else the crew must take <strong>Body Saves</strong> once/day. Failure means 2d10 damage and 1d10 Stress. Galleys must be re-stocked once a month and extra stores take up 1 Cargo."></p>
|
||
</div>
|
||
<div class="ms-shipbuilder__flex">
|
||
<div class="ms-shipbuilder__item">
|
||
<input class="ms-shipbuilder__input" name="attr_ship_galleys" type="number"/>
|
||
<div class="ms-shipbuilder__label" data-i18n="galleys"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__equals">= </div>
|
||
<div class="ms-shipbuilder__hull">
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_galley_hull"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="hull"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="ms-shipbuilder__block ms-shipbuilder__block--weapon_mount">
|
||
<div class="ms-shipbuilder__title">
|
||
<h3 data-i18n="weapon mount"></h3>
|
||
</div>
|
||
<div class="ms-shipbuilder__desc">
|
||
<p data-i18n="For every weapon your ship has you must have 1 mount for it. You can find the list of ship weapons in <em>The Player's Survival Guide</em>"></p>
|
||
</div>
|
||
<div class="ms-shipbuilder__flex">
|
||
<div class="ms-shipbuilder__item">
|
||
<input class="ms-shipbuilder__input" name="attr_ship_weapons" type="number"/>
|
||
<div class="ms-shipbuilder__label" data-i18n="weapons"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__arrow">] </div>
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_ship_weapon_mounts"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="weapon mounts"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__equals">= </div>
|
||
<div class="ms-shipbuilder__hull">
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_weapon_mount_hull"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="hull"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="ms-shipbuilder__block ms-shipbuilder__block--medical_bay">
|
||
<div class="ms-shipbuilder__title">
|
||
<h3 data-i18n="medical bay"></h3>
|
||
</div>
|
||
<div class="ms-shipbuilder__desc">
|
||
<p data-i18n="Medical bays allow scientists, doctors, and other researchers to heal crew members and perform various procedures (biopsies, autopsies, surgery). Each connected medbay on the ship grants +5% to the Intellect of the Scientists or Androids using them. Medical bays also grant advantage on <strong>Body Saves</strong> made for healing."></p>
|
||
</div>
|
||
<div class="ms-shipbuilder__flex">
|
||
<div class="ms-shipbuilder__item">
|
||
<input class="ms-shipbuilder__input" name="attr_ship_medbays" type="number"/>
|
||
<div class="ms-shipbuilder__label" data-i18n="medbays"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__modifier">x5</div>
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_ship_medint_bonus"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="medical intellect bonus"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__hull">
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_medical_bay_hull"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="hull"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="ms-shipbuilder__block ms-shipbuilder__block--cryochamber">
|
||
<div class="ms-shipbuilder__title">
|
||
<h3 data-i18n="cryochamber"></h3>
|
||
</div>
|
||
<div class="ms-shipbuilder__desc">
|
||
<p data-i18n="Cryochambers allow humans to sleep during long trips, particularly through hyperspace. Androids do not require them. Each point of hull spent on cryochambers accomodates up to 4 cryosleep pods. Individuals who don’t go into cryosleep during hyperspace jumps often have strange and terrifying experiences."></p>
|
||
</div>
|
||
<div class="ms-shipbuilder__flex">
|
||
<div class="ms-shipbuilder__item">
|
||
<input class="ms-shipbuilder__input" name="attr_ship_cryopods" type="number"/>
|
||
<div class="ms-shipbuilder__label" data-i18n="cryo-sleep pods"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__modifier">/4</div>
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_ship_cryochambers"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="cryo-chambers"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__equals">= </div>
|
||
<div class="ms-shipbuilder__hull">
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_cryochamber_hull"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="hull"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="ms-shipbuilder__block ms-shipbuilder__block--living_quarters">
|
||
<div class="ms-shipbuilder__title">
|
||
<h3 data-i18n="living quarters"></h3>
|
||
</div>
|
||
<div class="ms-shipbuilder__desc">
|
||
<p data-i18n="Generally, if a ship is to travel through normal space for at least a week, then living quarters or “staterooms” are provided for each of the ship’s officers, or other important crew members."></p>
|
||
</div>
|
||
<div class="ms-shipbuilder__flex">
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_ship_officers"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="officers"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__arrow">] </div>
|
||
<div class="ms-shipbuilder__item">
|
||
<input class="ms-shipbuilder__input" name="attr_ship_livingquarters" type="number"/>
|
||
<div class="ms-shipbuilder__label" data-i18n="living quarters"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__equals">= </div>
|
||
<div class="ms-shipbuilder__hull">
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_living_quarters_hull"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="hull"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="ms-shipbuilder__block ms-shipbuilder__block--barracks">
|
||
<div class="ms-shipbuilder__title">
|
||
<h3 data-i18n="barracks"></h3>
|
||
</div>
|
||
<div class="ms-shipbuilder__desc">
|
||
<p data-i18n="The same as living quarters, except they are non-private and house up to twelve crew members. Like living quarters, they are not-essential rooms, but ships that need them, but don’t have them, give their crew +1 Stress per journey or month of travel."></p>
|
||
</div>
|
||
<div class="ms-shipbuilder__flex">
|
||
<div class="ms-shipbuilder__item">
|
||
<input class="ms-shipbuilder__input" name="attr_ship_crew" type="number"/>
|
||
<div class="ms-shipbuilder__label" data-i18n="crew"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__modifier">/12</div>
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_ship_barracks"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="barracks"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__equals">= </div>
|
||
<div class="ms-shipbuilder__hull">
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_barracks_hull"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="hull"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="ms-shipbuilder__block ms-shipbuilder__block--cargo_hold">
|
||
<div class="ms-shipbuilder__title">
|
||
<h3 data-i18n="cargo hold"></h3>
|
||
</div>
|
||
<div class="ms-shipbuilder__desc">
|
||
<p data-i18n="Cargo holds are essentially 20x20m rooms used for storage. Each cargo hold can hold up to 10 cargo units (each cargo is roughly the size of a large pallet). Cargo holds can also be used for any other basic room not provided for on this list (brigs, secret compartments, mining equipment, training facilities, hangars, armories, etc.)."></p>
|
||
</div>
|
||
<div class="ms-shipbuilder__flex">
|
||
<div class="ms-shipbuilder__item">
|
||
<input class="ms-shipbuilder__input" name="attr_ship_cargo" type="number"/>
|
||
<div class="ms-shipbuilder__label" data-i18n="cargo"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__modifier">/10</div>
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_ship_cargoholds"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="cargo holds"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__equals">= </div>
|
||
<div class="ms-shipbuilder__hull">
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_cargo_hold_hull"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="hull"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="ms-shipbuilder__block ms-shipbuilder__block--science_lab">
|
||
<div class="ms-shipbuilder__title">
|
||
<h3 data-i18n="science lab"></h3>
|
||
</div>
|
||
<div class="ms-shipbuilder__desc">
|
||
<p data-i18n="Similar to the medical bay, the science lab allows for detailed research. Each connected sciencelab grants +5% Intellect to Scientists and Androids using them to conduct research or experiments. Additionally, they can be designated as repair shops and used by Teamsters to repair electronics, machines, or even Androids."></p>
|
||
</div>
|
||
<div class="ms-shipbuilder__flex">
|
||
<div class="ms-shipbuilder__item">
|
||
<input class="ms-shipbuilder__input" name="attr_ship_sciencelabs" type="number"/>
|
||
<div class="ms-shipbuilder__label" data-i18n="science labs"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__modifier">x5</div>
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_ship_resint_bonus"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="research intellect bonus"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__hull">
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_science_lab_hull"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="hull"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="ms-shipbuilder__hwrap">
|
||
<h2><span data-i18n="calculate"></span><span class="ms-invert" data-i18n="total hull"></span></h2>
|
||
</div>
|
||
<div class="ms-shipbuilder__block ms-shipbuilder__block--thrusters">
|
||
<div class="ms-shipbuilder__title">
|
||
<h3 data-i18n="thrusters"></h3>
|
||
</div>
|
||
<div class="ms-shipbuilder__desc">
|
||
<p data-i18n="Without thrusters, the ship cannot move. Every thruster module equipped increases the speed ofthe ship by +10% (to a maximum of 80). Additionally, thrusters cost an extra 1 hull for every 10 base hull."></p>
|
||
</div>
|
||
<div class="ms-shipbuilder__flex">
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_ship_thruster_hullreq"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="hull req."></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__modifier">+</div>
|
||
<div class="ms-shipbuilder__item">
|
||
<input class="ms-shipbuilder__input" name="attr_ship_thrusters" type="number"/>
|
||
<div class="ms-shipbuilder__label" data-i18n="thrusters"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__equals">= </div>
|
||
<div class="ms-shipbuilder__hull">
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_thrusters_hull"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="hull"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="ms-shipbuilder__block ms-shipbuilder__block--engine">
|
||
<div class="ms-shipbuilder__title">
|
||
<h3 data-i18n="engine"></h3>
|
||
</div>
|
||
<div class="ms-shipbuilder__desc">
|
||
<p data-i18n="Without the engine, the entire ship ceases to operate and becomes a ruin. You must have 1 engine module for every jump drive, plus 1 for every 4 thrusters, plus 1 for every 20 points of base hull."></p>
|
||
</div>
|
||
<div class="ms-shipbuilder__flex">
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_ship_engine_hullreq"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="hull req."></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__modifier">+</div>
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_ship_engine_thrusterreq"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="thruster req."></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__modifier">+</div>
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_ship_jumpdrive_modules"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="jump drives"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__modifier">=</div>
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_ship_engine"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="engine"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__equals">= </div>
|
||
<div class="ms-shipbuilder__hull">
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_engine_hull"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="hull"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="ms-shipbuilder__block ms-shipbuilder__block--fuel">
|
||
<div class="ms-shipbuilder__title">
|
||
<h3 data-i18n="fuel"></h3>
|
||
</div>
|
||
<div class="ms-shipbuilder__desc">
|
||
<p data-i18n="The engine needs fuel to run on. Every jump requires double the fuel of the jump (Jump 2 = 4 fuel) and thrusters burn 1 unit of fuel per day. The engine requires at least 3 fuel for every point of engine plus any extra fuel capacity you want to add. More fuel can be stored in Cargo Holds at 1 Fuel per 10 Cargo."></p>
|
||
</div>
|
||
<div class="ms-shipbuilder__flex">
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_ship_fuel_min"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="min. fuel"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__modifier">+</div>
|
||
<div class="ms-shipbuilder__item">
|
||
<input class="ms-shipbuilder__input" name="attr_ship_fuel_extra" type="number"/>
|
||
<div class="ms-shipbuilder__label" data-i18n="extra fuel"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__equals">= </div>
|
||
<div class="ms-shipbuilder__hull">
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_fuel_hull"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="hull"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="ms-shipbuilder__block ms-shipbuilder__block--frame">
|
||
<div class="ms-shipbuilder__title">
|
||
<h3 data-i18n="frame"></h3>
|
||
</div>
|
||
<div class="ms-shipbuilder__desc">
|
||
<p data-i18n="Frame covers the miscellaneous parts of a ship, docking gear, airlocks, ventillation, corridors, comms relays, everything else a ship generally uses. Frame is 1 point per 10 points of base hull."></p>
|
||
</div>
|
||
<div class="ms-shipbuilder__flex">
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_ship_frame"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="frame"></div>
|
||
</div>
|
||
<div class="ms-shipbuilder__equals">= </div>
|
||
<div class="ms-shipbuilder__hull">
|
||
<div class="ms-shipbuilder__item"><span class="ms-shipbuilder__display" name="attr_frame_hull"></span>
|
||
<div class="ms-shipbuilder__label" data-i18n="hull"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="ms-shipbuilder__complete">
|
||
<button data-i18n="complete ship" type="action" name="act_completeship"></button>
|
||
</div>
|
||
<div class="ms-shipbuilder__panel">
|
||
<div class="shipbuilder__panelitem">
|
||
<div class="ms-shipbuilder__largelabel" data-i18n="base hull"></div><span class="ms-shipbuilder__largedisplay" name="attr_ship_base_hull"></span>
|
||
</div>
|
||
<div class="shipbuilder__panelitem">
|
||
<div class="ms-shipbuilder__largelabel" data-i18n="total hull"></div><span class="ms-shipbuilder__largedisplay" name="attr_ship_total_hull"></span>
|
||
</div>
|
||
<div class="shipbuilder__panelitem">
|
||
<div class="ms-shipbuilder__largelabel" data-i18n="armor"></div><span class="ms-shipbuilder__largedisplay" name="attr_armor"></span>
|
||
</div>
|
||
<div class="shipbuilder__panelitem">
|
||
<div class="ms-shipbuilder__largelabel" data-i18n="combat"></div><span class="ms-shipbuilder__largedisplay" name="attr_combat"></span>
|
||
</div>
|
||
<div class="shipbuilder__panelitem">
|
||
<div class="ms-shipbuilder__largelabel" data-i18n="intellect"></div><span class="ms-shipbuilder__largedisplay" name="attr_intellect"></span>
|
||
</div>
|
||
<div class="shipbuilder__panelitem">
|
||
<div class="ms-shipbuilder__largelabel" data-i18n="speed"></div><span class="ms-shipbuilder__largedisplay" name="attr_speed"></span>
|
||
</div>
|
||
<div class="shipbuilder__panelitem">
|
||
<div class="ms-shipbuilder__largelabel" data-i18n="cost"></div><span class="ms-shipbuilder__wrapdisplay"><span class="ms-shipbuilder__largedisplay" name="attr_ship_cost"></span><span data-i18n="mil"></span></span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="ms-shipwrapper">
|
||
<div class="ms-header">
|
||
<div class="ms-header__logo"><img src="https://s3.amazonaws.com/files.d20.io/images/145353993/itv_F4exdWuwHavdksYfCQ/max.png?1592850121" data-i18n-title="Mothership Logo"/></div>
|
||
<div class="ms-header__details">
|
||
<div class="ms-header__field--character_name">
|
||
<div class="ms-header__title" data-i18n="ship name"></div>
|
||
<input class="ms-header__input ms-rounded" name="attr_character_name" type="text"/>
|
||
</div>
|
||
<div class="ms-header__field--type">
|
||
<div class="ms-header__title" data-i18n="type"></div>
|
||
<input class="ms-header__input ms-rounded" name="attr_type" type="text"/>
|
||
</div>
|
||
<div class="ms-header__field--ship_class">
|
||
<div class="ms-header__title" data-i18n="class"></div>
|
||
<input class="ms-header__input ms-rounded" name="attr_ship_class" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="ms-shipstats">
|
||
<div class="ms-mainstat">
|
||
<div class="ms-mainstat__label">
|
||
<button data-i18n="armor" type="roll" value="&{template:ms} {{name=armor}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=@{armor}}}"></button><span class="ms-tooltip">
|
||
<p><span data-i18n="The value the ship must roll under to avoid taking Damage. Generally the captain or acting captain of the ship rolls the Armor Save."></span></p></span>
|
||
</div>
|
||
<input class="ms-mainstat__input" name="attr_armor" type="number"/>
|
||
</div>
|
||
<div class="ms-mainstat">
|
||
<div class="ms-mainstat__label">
|
||
<button data-i18n="combat" type="roll" value="&{template:ms} {{name=combat}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=@{combat}}}"></button><span class="ms-tooltip">
|
||
<p><span data-i18n="Used during Combat Checks. You can use whichever is higher: your own Combat Stat or the ship's."></span></p></span>
|
||
</div>
|
||
<input class="ms-mainstat__input" name="attr_combat" type="number"/>
|
||
</div>
|
||
<div class="ms-mainstat">
|
||
<div class="ms-mainstat__label">
|
||
<button data-i18n="intellect" type="roll" value="&{template:ms} {{name=intellect}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=@{intellect}}}"></button><span class="ms-tooltip">
|
||
<p><span data-i18n="Used as both a stat and a Sanity Save, should the need arise."></span></p></span>
|
||
</div>
|
||
<input class="ms-mainstat__input" name="attr_intellect" type="number"/>
|
||
</div>
|
||
<div class="ms-mainstat">
|
||
<div class="ms-mainstat__label">
|
||
<button data-i18n="speed" type="roll" value="&{template:ms} {{name=speed}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=@{speed}}}"></button><span class="ms-tooltip">
|
||
<p><span data-i18n="Often used to see if the ship can dodge asteroids or escape explosions from collapsing stars."></span></p></span>
|
||
</div>
|
||
<input class="ms-mainstat__input" name="attr_speed" type="number"/>
|
||
</div>
|
||
<div class="ms-topstat--minmax">
|
||
<div class="ms-topstat__label" data-i18n="hull"></div>
|
||
<div class="ms-topstat__minmaxwrapper">
|
||
<input class="ms-topstat__max" name="attr_hull_max" placeholder="78" type="number"/>
|
||
<input class="ms-topstat__min" name="attr_hull" placeholder="78" type="number"/>
|
||
</div>
|
||
<div class="ms-topstat__label--small" data-i18n="max"></div>
|
||
<div class="ms-topstat__label--small" data-i18n="current"></div>
|
||
</div>
|
||
<div class="ms-hullvalues">
|
||
<input name="attr_hull_toggle" type="hidden"/>
|
||
<div class="ms-topstat ms-topstat--25">
|
||
<input class="ms-topstat__stat" placeholder="58" name="attr_hull_25" type="number"/>
|
||
<div class="ms-topstat__label--invert">25%</div>
|
||
</div>
|
||
<div class="ms-topstat ms-topstat--50">
|
||
<input class="ms-topstat__stat" placeholder="39" name="attr_hull_50" type="number"/>
|
||
<div class="ms-topstat__label--invert">50%</div>
|
||
</div>
|
||
<div class="ms-topstat ms-topstat--75">
|
||
<input class="ms-topstat__stat" placeholder="19" name="attr_hull_75" type="number"/>
|
||
<div class="ms-topstat__label--invert">75%</div>
|
||
</div>
|
||
</div>
|
||
<div class="ms-topstat--minmax">
|
||
<div class="ms-topstat__label" data-i18n="fuel"></div>
|
||
<div class="ms-topstat__minmaxwrapper">
|
||
<input class="ms-topstat__max" name="attr_fuel_max" placeholder="78" type="number"/>
|
||
<input class="ms-topstat__min" name="attr_fuel" placeholder="78" type="number"/>
|
||
</div>
|
||
<div class="ms-topstat__label--small" data-i18n="max"></div>
|
||
<div class="ms-topstat__label--small" data-i18n="current"></div>
|
||
</div>
|
||
<div class="ms-topstat--minmax">
|
||
<div class="ms-topstat__label" data-i18n="galley stock"></div>
|
||
<div class="ms-topstat__minmaxwrapper">
|
||
<input class="ms-topstat__max" name="attr_stock_max" type="number" value="30"/>
|
||
<input class="ms-topstat__min" name="attr_stock" type="number" value="30"/>
|
||
</div>
|
||
<div class="ms-topstat__label--small" data-i18n="max"></div>
|
||
<div class="ms-topstat__label--small" data-i18n="current"></div>
|
||
</div>
|
||
</div>
|
||
<div class="ms-shipweapons">
|
||
<h1 data-i18n="weapons"></h1>
|
||
<div class="ms-shipweaponrow--head">
|
||
<div class="ms-shipweaponrow__name--head" data-i18n="weapon"></div>
|
||
<div class="ms-shipweaponrow__type--head" data-i18n="damage"></div>
|
||
</div>
|
||
<fieldset class="repeating_shipweapon">
|
||
<div class="ms-shipweaponrow">
|
||
<input name="attr_shipweapon_settings" type="hidden" value="on"/>
|
||
<button class="ms-shipweaponrow__name" type="roll" value="&{template:ms} {{name=@{shipweapon_name}}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[@{combat}]]}} {{damage=[[@{shipweapon_damage}]]}}"><span name="attr_shipweapon_name" type="text"></span></button><span class="ms-shipweaponrow__damage" name="attr_shipweapon_damage" type="text"></span>
|
||
<label class="ms-shipweaponrow__cog">
|
||
<input name="attr_shipweapon_settings" type="checkbox" checked="checked"/><span>y</span>
|
||
</label>
|
||
<div class="ms-shipweaponrow__settings">
|
||
<div class="ms-attackrow__settingsrow">
|
||
<div class="ms-attackrow__settingsrow--full">
|
||
<div class="ms-attackrow__settingstitle" data-i18n="name"></div>
|
||
<input class="ms-sattackrow__textarea" name="attr_shipweapon_name" type="text"/>
|
||
</div>
|
||
<div class="ms-attackrow__settingsrow--full">
|
||
<div class="ms-attackrow__settingstitle" data-i18n="damage"></div>
|
||
<input class="ms-sattackrow__textarea" name="attr_shipweapon_damage" type="text"/>
|
||
</div>
|
||
<div class="ms-attackrow__settingsrow--full">
|
||
<div class="ms-attackrow__settingstitle" data-i18n="notes"></div>
|
||
<textarea class="ms-sattackrow__textarea" name="attr_shipweapon_notes"></textarea>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
<div class="ms-crewwrap">
|
||
<div class="ms-shipofficers">
|
||
<h1 data-i18n="officers"></h1>
|
||
<div class="ms-shipofficerrow--head">
|
||
<div class="ms-shipofficerrow__name--head" data-i18n="name"></div>
|
||
<div class="ms-shipofficerrow__type--head" data-i18n="rank"></div>
|
||
</div>
|
||
<fieldset class="repeating_shipcrew">
|
||
<div class="ms-shipofficerrow">
|
||
<input name="attr_shipcrew_settings" type="hidden" value="on"/>
|
||
<input class="ms-shipofficerrow__name" name="attr_shipcrew_name" type="text"/>
|
||
<input class="ms-shipofficerrow__rank" name="attr_shipcrew_rank" type="text"/>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
<div class="ms-crew">
|
||
<div class="ms-crew__label" data-i18n="total crew"></div>
|
||
<input class="ms-crew__input ms-rounded" name="attr_crew" type="number"/>
|
||
</div>
|
||
<div class="ms-crew">
|
||
<div class="ms-crew__label" data-i18n="max crew"></div>
|
||
<input class="ms-crew__input ms-rounded" name="attr_crew_max" type="number"/>
|
||
</div>
|
||
</div>
|
||
<div class="ms-shipcargo">
|
||
<h1 data-i18n="cargo"></h1>
|
||
<div class="ms-shipcargorow--head">
|
||
<div class="ms-shipcargorow__name--head" data-i18n="item"></div>
|
||
<div class="ms-shipcargorow__type--head">#</div>
|
||
<div class="ms-shipcargorow__name--head" data-i18n="item"></div>
|
||
<div class="ms-shipcargorow__type--head">#</div>
|
||
</div>
|
||
<fieldset class="repeating_shipcargo">
|
||
<div class="ms-shipcargorow">
|
||
<input name="attr_shipcrew_settings" type="hidden" value="on"/>
|
||
<input class="ms-shipcargorow__name" name="attr_shipcrew_item" type="text"/>
|
||
<input class="ms-shipcargorow__name" name="attr_shipcrew_number" type="text"/>
|
||
</div>
|
||
</fieldset>
|
||
<div class="ms-cargowrap">
|
||
<div class="ms-cargo">
|
||
<div class="ms-credits__label" data-i18n="total cargo"></div>
|
||
<input class="ms-credits__input ms-rounded" name="attr_cargo" type="text"/>
|
||
</div>
|
||
<div class="ms-cargo">
|
||
<div class="ms-credits__label" data-i18n="max cargo"></div>
|
||
<input class="ms-credits__input ms-rounded" name="attr_cargo_max" type="text"/>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="ms-shipsecondaries">
|
||
<div class="ms-topstat">
|
||
<div class="ms-topstat__label" data-i18n="life support"> </div><span class="ms-tooltip">
|
||
<p><span data-i18n="Life support keeps the human crew alive. Each point of life support can support up to 10 humans. For every point below the required minimum, anyone not wearing a vaccsuit must make a <strong>Body Save</strong> every hour or take 1d10 damage. This includes those in cryochambers as well, but does not include androids. Many ships include 2-3 times the required amount of life support in case of extra passengers or damage to the system."></span></p></span>
|
||
<input class="ms-topstat__stat" placeholder="2" name="attr_ship_lifesupport_modules" type="number"/>
|
||
</div>
|
||
<div class="ms-topstat">
|
||
<div class="ms-topstat__label" data-i18n="command modules"> </div><span class="ms-tooltip">
|
||
<p><span data-i18n="The command module is the cockpit, command center, or bridge of a ship. For every 4 officer positions, one command module is required. Officers can be captains, first mates, navigation officers, communications officers, and is largely up to the Warden and the players to decide."></span></p></span>
|
||
<input class="ms-topstat__stat" placeholder="2" name="attr_ship_command_modules" type="number"/>
|
||
</div>
|
||
<div class="ms-topstat">
|
||
<div class="ms-topstat__label" data-i18n="jump drives"> </div><span class="ms-tooltip">
|
||
<p><span data-i18n="Jump drives enable the ship to travel through hyperspace. Every point of Jump Drive increasesthe ship’s jump capability by 1 (Max 9). The first drive costs 1 hull, the second costs 2, the third costs 3, etc."></span></p></span>
|
||
<input class="ms-topstat__stat" placeholder="2" name="attr_ship_jumpdrive_modules" type="number"/>
|
||
</div>
|
||
<div class="ms-topstat">
|
||
<div class="ms-topstat__label" data-i18n="computer modules"> </div><span class="ms-tooltip">
|
||
<p><span data-i18n="The ship’s computer is a powerful artificial intelligence that helps with astrogation, combat, and anumber of other autonomous tasks. A ship’s Intellect is equal to the number of computer modules x10 +30%. It’s Combat is equal to the number of computer modules x10 +10%. A computer module is required for each jumpdrive. Additionally, each computer module equipped allows the computer to take more actions during combat."></span></p></span>
|
||
<input class="ms-topstat__stat" placeholder="2" name="attr_ship_computer_modules" type="number"/>
|
||
</div>
|
||
<div class="ms-topstat">
|
||
<div class="ms-topstat__label" data-i18n="galleys"> </div><span class="ms-tooltip">
|
||
<p><span data-i18n="Galleys contain a kitchen, restrooms, and a common area on a ship. Any ships making trips longer than 1 day must have 1 galley for every 2 life support modules or else the crew must take <strong>Body Saves</strong> once/day. Failure means 2d10 damage and 1d10 Stress. Galleys must be re-stocked once a month and extra stores take up 1 Cargo."></span></p></span>
|
||
<input class="ms-topstat__stat" placeholder="2" name="attr_ship_galleys" type="number"/>
|
||
</div>
|
||
<div class="ms-topstat">
|
||
<div class="ms-topstat__label" data-i18n="weapon mounts"> </div><span class="ms-tooltip">
|
||
<p><span data-i18n="For every weapon your ship has you must have 1 mount for it. You can find the list of ship weapons in <em>The Player's Survival Guide</em>"></span></p></span>
|
||
<input class="ms-topstat__stat" placeholder="2" name="attr_ship_weapon_mounts" type="number"/>
|
||
</div>
|
||
<div class="ms-topstat">
|
||
<div class="ms-topstat__label" data-i18n="medbays"> </div><span class="ms-tooltip">
|
||
<p><span data-i18n="Medical bays allow scientists, doctors, and other researchers to heal crew members and perform various procedures (biopsies, autopsies, surgery). Each connected medbay on the ship grants +5% to the Intellect of the Scientists or Androids using them. Medical bays also grant advantage on <strong>Body Saves</strong> made for healing."></span></p></span>
|
||
<input class="ms-topstat__stat" placeholder="2" name="attr_ship_medbays" type="number"/>
|
||
</div>
|
||
<div class="ms-topstat">
|
||
<div class="ms-topstat__label" data-i18n="cryo-chambers"> </div><span class="ms-tooltip">
|
||
<p><span data-i18n="Cryochambers allow humans to sleep during long trips, particularly through hyperspace. Androids do not require them. Each point of hull spent on cryochambers accomodates up to 4 cryosleep pods. Individuals who don’t go into cryosleep during hyperspace jumps often have strange and terrifying experiences."></span></p></span>
|
||
<input class="ms-topstat__stat" placeholder="2" name="attr_ship_cryochambers" type="number"/>
|
||
</div>
|
||
<div class="ms-topstat">
|
||
<div class="ms-topstat__label" data-i18n="living quarters"> </div><span class="ms-tooltip">
|
||
<p><span data-i18n="Generally, if a ship is to travel through normal space for at least a week, then living quarters or “staterooms” are provided for each of the ship’s officers, or other important crew members."></span></p></span>
|
||
<input class="ms-topstat__stat" placeholder="2" name="attr_ship_livingquarters" type="number"/>
|
||
</div>
|
||
<div class="ms-topstat">
|
||
<div class="ms-topstat__label" data-i18n="barracks"> </div><span class="ms-tooltip">
|
||
<p><span data-i18n="The same as living quarters, except they are non-private and house up to twelve crew members. Like living quarters, they are not-essential rooms, but ships that need them, but don’t have them, give their crew +1 Stress per journey or month of travel."></span></p></span>
|
||
<input class="ms-topstat__stat" placeholder="2" name="attr_ship_barracks" type="number"/>
|
||
</div>
|
||
<div class="ms-topstat">
|
||
<div class="ms-topstat__label" data-i18n="cargo holds"> </div><span class="ms-tooltip">
|
||
<p><span data-i18n="Cargo holds are essentially 20x20m rooms used for storage. Each cargo hold can hold up to 10 cargo units (each cargo is roughly the size of a large pallet). Cargo holds can also be used for any other basic room not provided for on this list (brigs, secret compartments, mining equipment, training facilities, hangars, armories, etc.)."></span></p></span>
|
||
<input class="ms-topstat__stat" placeholder="2" name="attr_ship_cargoholds" type="number"/>
|
||
</div>
|
||
<div class="ms-topstat">
|
||
<div class="ms-topstat__label" data-i18n="science labs"> </div><span class="ms-tooltip">
|
||
<p><span data-i18n="Similar to the medical bay, the science lab allows for detailed research. Each connected sciencelab grants +5% Intellect to Scientists and Androids using them to conduct research or experiments. Additionally, they can be designated as repair shops and used by Teamsters to repair electronics, machines, or even Androids."></span></p></span>
|
||
<input class="ms-topstat__stat" placeholder="2" name="attr_ship_sciencelabs" type="number"/>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="ms-npc">
|
||
<div class="ms-npcwrapper">
|
||
<h2 class="ms-npcname">
|
||
<input name="attr_npcname_toggle" type="hidden"/>
|
||
<button class="ms-npcname_button" name="act_editname_on" type="action"> <span name="attr_character_name"></span></button>
|
||
<input name="attr_character_name" type="text"/>
|
||
<button class="ms-npcname_switch" name="act_editname_off" type="action">✔</button>
|
||
</h2>
|
||
<div class="ms-npcstats">
|
||
<div class="ms-mainstat">
|
||
<div class="ms-mainstat__label">
|
||
<button data-i18n="Combat" type="roll" value="&{template:ms},{{name=Combat}},{{character_name=@{character_name}}},{{roll=[[1d100cs1cf100]]}},{{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}},{{target=@{combat}}}"></button><span class="ms-tooltip">
|
||
<p><span data-i18n="This works exactly like the PC's combat stat, except it doubles as an armor save."></span></p></span>
|
||
</div>
|
||
<input class="ms-mainstat__input" name="attr_combat" type="number" placeholder="20"/>
|
||
</div>
|
||
<div class="ms-mainstat">
|
||
<div class="ms-mainstat__label">
|
||
<button data-i18n="Speed" type="roll" value="&{template:ms},{{name=Speed}},{{character_name=@{character_name}}},{{roll=[[1d100cs1cf100]]}},{{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}},{{target=@{speed}}}"></button><span class="ms-tooltip">
|
||
<p><span data-i18n="This works exactly like the PC's speed stat."></span></p></span>
|
||
</div>
|
||
<input class="ms-mainstat__input" name="attr_speed" type="number" placeholder="20"/>
|
||
</div>
|
||
<div class="ms-mainstat">
|
||
<div class="ms-mainstat__label">
|
||
<button data-i18n="Instinct" type="roll" value="&{template:ms},{{name=Instinct}},{{character_name=@{character_name}}},{{roll=[[1d100cs1cf100]]}},{{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}},{{target=@{instinct}}}"></button><span class="ms-tooltip">
|
||
<p><span data-i18n="This is a catchall for Fear, Sanity, Body, Intellect and everything else."></span></p></span>
|
||
</div>
|
||
<input class="ms-mainstat__input" name="attr_instinct" type="number" placeholder="20"/>
|
||
</div>
|
||
<div class="ms-topstat--minmax">
|
||
<div class="ms-topstat__label" data-i18n="health"></div>
|
||
<div class="ms-topstat__minmaxwrapper">
|
||
<input class="ms-topstat__max" name="attr_hits_max" placeholder="3" type="number"/>
|
||
<input class="ms-topstat__min" name="attr_hitpoints_max" placeholder="40" type="number"/>
|
||
</div>
|
||
<div class="ms-topstat__label--small" data-i18n="hits"></div>
|
||
<div class="ms-topstat__label--small" data-i18n="health"></div>
|
||
</div>
|
||
</div>
|
||
<div class="ms-npcrepeating">
|
||
<div class="ms-npcattacks">
|
||
<h3 data-i18n="Attacks"></h3>
|
||
<fieldset class="repeating_attacks">
|
||
<div class="ms-npcattackrow">
|
||
<input name="attr_attack_settings" type="hidden" value="on"/><span class="ms-npcattackrow__arrow">]</span>
|
||
<button class="ms-npcattackrow__name" type="roll" value="&{template:ms} {{name=@{attack_name}}} {{character_name=@{character_name}}} {{roll=[[1d100cs1cf100]]}} {{roll2=[[?{Advantage/Disadvantage|Normal,0|Advantage/Disadvantage,1d100cs1cf100}]]}} {{target=[[@{combat}]]}} {{damage=[[@{attack_damage}]]}}"><span name="attr_attack_name" type="text"></span></button><span class="ms-npcattackrow__damage" name="attr_attack_damage" type="text"></span>
|
||
<label class="ms-npcattackrow__cog">
|
||
<input name="attr_attack_settings" type="checkbox" checked="checked"/><span>y</span>
|
||
</label>
|
||
<div class="ms-npcattackrow__settings">
|
||
<div class="ms-npcattackrow__settingsrow">
|
||
<div class="ms-npcattackrow__settingstitle" data-i18n="name"></div>
|
||
<input class="ms-npcattackrow__settingsinput" data-i18n-value="attack name" name="attr_attack_name" type="text"/>
|
||
</div>
|
||
<div class="ms-npcattackrow__settingsrow">
|
||
<div class="ms-npcattackrow__settingstitle" data-i18n="damage"></div>
|
||
<input class="ms-npcattackrow__settingsinput" data-i18n-value="damage" name="attr_attack_damage" type="text"/>
|
||
</div>
|
||
<div class="ms-npcattackrow__settingsrow">
|
||
<div class="ms-npcattackrow__settingstitle" data-i18n="type"></div>
|
||
<select class="ms-npcattackrow__skill" name="attr_attack_type">
|
||
<option data-i18n="Ranged"></option>
|
||
<option data-i18n="Melee"></option>
|
||
</select>
|
||
</div>
|
||
<div class="ms-npcattackrow__settingsrow--full">
|
||
<div class="ms-npcattackrow__settingstitle" data-i18n="notes"></div>
|
||
<textarea class="ms-npcattackrow__textarea" name="attr_attack_notes"></textarea>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
<div class="ms-npcgrid">
|
||
<h3 data-i18n="Special Abilities"></h3>
|
||
<fieldset class="repeating_abilities">
|
||
<div class="ms-npcabilityrow">
|
||
<input name="attr_ability_settings" type="hidden" value="on"/>
|
||
<button class="ms-npcabilityrow__name" type="roll" value="&{template:ms} {{name=@{ability_name}}} {{character_name=@{character_name}}} {{notes=@{ability_text}}}"><span name="attr_ability_name" type="text"></span></button>
|
||
<label class="ms-npcabilityrow__cog">
|
||
<input name="attr_ability_settings" type="checkbox" checked="checked"/><span>y</span>
|
||
</label><span class="ms-npcabilityrow__text" name="attr_ability_text"></span>
|
||
<div class="ms-npcabilityrow__settings">
|
||
<div class="ms-npcabilityrow__settingsrow">
|
||
<div class="ms-npcabilityrow__settingstitle" data-i18n="name"></div>
|
||
<input class="ms-npcabilityrow__settingsinput" data-i18n-value="ability name" name="attr_ability_name" type="text"/>
|
||
</div>
|
||
<div class="ms-npcabilityrow__settingsrow--full">
|
||
<div class="ms-npcabilityrow__settingstitle" data-i18n="description"></div>
|
||
<textarea class="ms-npcabilityrow__textarea" name="attr_ability_text"></textarea>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
<div class="ms-npcdescription">
|
||
<h3 data-i18n="description"></h3>
|
||
<textarea class="ms-npcdescription__description" data-i18n-placeholder="Enter the NPC's description here." name="attr_description"></textarea>
|
||
</div>
|
||
<div class="ms-npcequipment">
|
||
<h3 data-i18n="equipment"></h3>
|
||
<textarea class="ms-npcequipment__equipment" data-i18n-placeholder="Enter the NPC's equipment here." name="attr_equipment"></textarea>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<rolltemplate class="sheet-rolltemplate-ms">
|
||
<div class="sheet-ms-container">{{#name}}
|
||
<h1>{{name}} </h1>{{/name}}
|
||
{{#character_name}}
|
||
<h2>{{character_name}} </h2>{{/character_name}}
|
||
{{#roll}}
|
||
<div class="sheet-ms-roll">
|
||
<div class="sheet-ms-roll__roll">{{roll}}</div> {{#rollGreater() roll2 0}}
|
||
<div class="sheet-ms-roll__roll2">{{roll2}}</div> {{/rollGreater() roll2 0}}
|
||
</div>{{#target}}
|
||
<div class="sheet-ms-target">
|
||
<div class="sheet-ms-target__label" data-i18n="target:"></div>
|
||
<div class="sheet-ms-target__value">{{target}}</div>
|
||
</div>{{/target}}
|
||
{{/roll}}
|
||
{{#damage}}
|
||
<div class="sheet-ms-damage">
|
||
<div class="sheet-ms-damage__label" data-i18n="damage:"></div>
|
||
<div class="sheet-ms-damage__value">{{damage}}</div>
|
||
</div>{{/damage}}
|
||
{{#notes}}
|
||
<div class="sheet-ms-notes">{{notes}}</div>{{/notes}}
|
||
</div>
|
||
</rolltemplate>
|
||
<script type="text/worker">// Sheet Variables
|
||
|
||
const skillList = {
|
||
"linguistics":{
|
||
unlocks: ["sophontology"]
|
||
},
|
||
"biology":{
|
||
unlocks: ["genetics","psychology"]
|
||
},
|
||
"first_aid": {
|
||
unlocks: ["pathology"]
|
||
},
|
||
"hydroponics": {
|
||
unlocks: ["botany"]
|
||
},
|
||
"geology": {
|
||
unlocks: ["planetology","asteroid_mining"]
|
||
},
|
||
"zero-g": {
|
||
unlocks: ["asteroid_mining"]
|
||
},
|
||
"scavenging": {
|
||
unlocks: ["asteroid_mining","jury_rigging"]
|
||
},
|
||
"heavy_machinery": {
|
||
unlocks: ["asteroid_mining","engineering"]
|
||
},
|
||
"computers": {
|
||
unlocks: ["engineering","hacking"]
|
||
},
|
||
"mechanical_repair": {
|
||
unlocks: ["engineering", "jury_rigging", "vehicle_specialization"]
|
||
},
|
||
"driving": {
|
||
unlocks: ["vehicle_specialization"]
|
||
},
|
||
"piloting": {
|
||
unlocks: ["vehicle_specialization","astrogation"]
|
||
},
|
||
"mathematics": {
|
||
unlocks: ["physics"]
|
||
},
|
||
"art": {
|
||
unlocks: ["mysticism"]
|
||
},
|
||
"archaeology": {
|
||
unlocks: ["mysticism"]
|
||
},
|
||
"theology": {
|
||
unlocks: ["mysticism"]
|
||
},
|
||
"military_training": {
|
||
unlocks: ["tactics","gunnery","firearms","explosives","close-quarters_combat"]
|
||
},
|
||
"rimwise": {
|
||
unlocks: ["firearms","close-quarters_combat"]
|
||
},
|
||
"athletics": {
|
||
unlocks: ["close-quarters_combat"]
|
||
},
|
||
"chemistry": {
|
||
unlocks: ["explosives"]
|
||
},
|
||
"psychology": {
|
||
unlocks: ["sophontology"]
|
||
},
|
||
"genetics": {
|
||
unlocks: ["xenobiology"]
|
||
},
|
||
"pathology": {
|
||
unlocks: ["xenobiology","surgery"]
|
||
},
|
||
"botany": {
|
||
unlocks: ["xenobiology"]
|
||
},
|
||
"planetology": {
|
||
unlocks: []
|
||
},
|
||
"asteroid_mining" : {
|
||
unlocks: []
|
||
},
|
||
"jury_rigging": {
|
||
unlocks: ["cybernetics"]
|
||
},
|
||
"engineering": {
|
||
unlocks: ["cybernetics","robotics","artificial_intelligence"]
|
||
},
|
||
"hacking": {
|
||
unlocks: ["artificial_intelligence"]
|
||
},
|
||
"vehicle_specialization": {
|
||
unlocks: ["command"]
|
||
},
|
||
"astrogation": {
|
||
unlocks: ["hyperspace"]
|
||
},
|
||
"physics": {
|
||
unlocks: ["hyperspace"]
|
||
},
|
||
"mysticism": {
|
||
unlocks: ["xenoesotericism", "hyperspace"]
|
||
},
|
||
"tactics": {
|
||
unlocks: ["command"]
|
||
},
|
||
"gunnery": {
|
||
unlocks: ["weapon_specialization"]
|
||
},
|
||
"firearms": {
|
||
unlocks: ["weapon_specialization"]
|
||
},
|
||
"close-quarters_combat": {
|
||
unlocks: ["weapon_specialization"]
|
||
},
|
||
"explosives": {
|
||
unlocks: ["weapon_specialization"]
|
||
},
|
||
"sophontology": {},
|
||
"xenobiology": {},
|
||
"surgery": {},
|
||
"cybernetics": {},
|
||
"robotics": {},
|
||
"artificial_intelligence": {},
|
||
"command": {},
|
||
"hyperspace": {},
|
||
"xenoesotericism": {},
|
||
"weapon_specialization": {}
|
||
};
|
||
|
||
const skillArray = Object.keys(skillList);
|
||
|
||
// FUNCTIONS
|
||
|
||
const advantageToggle = (newValue) => {
|
||
|
||
}
|
||
|
||
const toggleSkill = (source, newValue) => {
|
||
|
||
getAttrs(["sheet_skill_toggles"], values => {
|
||
|
||
const existingValue = values["sheet_skill_toggles"].trim();
|
||
const valueList = existingValue.split(" ")
|
||
const unlocks = skillList[source].unlocks || [];
|
||
|
||
let updateAttr = "";
|
||
|
||
if (newValue === "0") {
|
||
|
||
unlocks.forEach(item => valueList.splice(valueList.indexOf(item), 1));
|
||
|
||
updateAttr = valueList.join(" ");
|
||
|
||
} else if (newValue === "on") {
|
||
|
||
updateAttr = existingValue + " ";
|
||
|
||
if (unlocks === []) return;
|
||
|
||
unlocks.forEach(unlock => updateAttr += `${unlock} `);
|
||
|
||
}
|
||
|
||
setAttrs({sheet_skill_toggles:updateAttr});
|
||
});
|
||
|
||
}
|
||
|
||
const addItem = (new_value, previous_value, source, source_type) => {
|
||
if (new_value === previous_value || new_value !== "Weapon" || source_type !== "player") return;
|
||
|
||
console.log(source_type)
|
||
|
||
const repeating_length = "repeating_equipment_".length;
|
||
const repeating_id_length = 20;
|
||
const repeating_id = source.substring(repeating_length, repeating_length + repeating_id_length);
|
||
const repeating_equipment_prefix = `repeating_equipment_${repeating_id}`;
|
||
const new_repeating_id = generateRowID();
|
||
const repeating_attacks_prefix = `repeating_attacks_${new_repeating_id}`;
|
||
|
||
const requestAttrs = [`${repeating_equipment_prefix}_equipment_name`,`${repeating_equipment_prefix}_equipment_type`];
|
||
|
||
getAttrs(requestAttrs, values => {
|
||
const updateAttrs = {};
|
||
|
||
updateAttrs[`${repeating_attacks_prefix}_attack_name`] = values[`${repeating_equipment_prefix}_equipment_name`];
|
||
updateAttrs[`${repeating_attacks_prefix}_attack_linkedid`] = repeating_id;
|
||
|
||
setAttrs(updateAttrs);
|
||
|
||
});
|
||
}
|
||
|
||
const toggleClass = (new_class, previous_class, source_type) => {
|
||
const requestAttrs = [
|
||
"init",
|
||
"level",
|
||
"sanity",
|
||
"fear",
|
||
"body",
|
||
"armor",
|
||
"strength",
|
||
"speed",
|
||
"intellect",
|
||
"combat",
|
||
"stress_panic",
|
||
];
|
||
|
||
if (source_type !== "player") return;
|
||
|
||
const update = {};
|
||
|
||
update["level"] = 0;
|
||
update["xp"] = 0;
|
||
update["stress"] = 2;
|
||
update["resolve"] = 0;
|
||
update["init"] = 1;
|
||
|
||
switch (new_class.toLowerCase()) {
|
||
case "teamster":
|
||
update["sanity"] = 30;
|
||
update["fear"] = 35;
|
||
update["body"] = 30;
|
||
update["armor"] = 35;
|
||
update["strength"] = rollDice(6) + 5;
|
||
update["speed"] = rollDice(6) + 5;
|
||
update["intellect"] = rollDice(6);
|
||
update["combat"] = rollDice(6);
|
||
update["skill_points"] = 4;
|
||
update["stress_panic"] = getTranslationByKey(["Once per session, a Teamster may re-roll a roll on the Panic Effect Table."]);
|
||
break;
|
||
case "android":
|
||
update["sanity"] = 20;
|
||
update["fear"] = 85;
|
||
update["body"] = 40;
|
||
update["armor"] = 25;
|
||
update["strength"] = rollDice(6);
|
||
update["speed"] = rollDice(6) + 5;
|
||
update["intellect"] = rollDice(6) + 5;
|
||
update["combat"] = rollDice(6);
|
||
update["skill_points"] = 2;
|
||
update["stress_panic"] = getTranslationByKey(["Fear Saves made in the presence of Androids have Disadvantage."]);
|
||
break;
|
||
case "scientist":
|
||
update["sanity"] = 40;
|
||
update["fear"] = 25;
|
||
update["body"] = 25;
|
||
update["armor"] = 30;
|
||
update["strength"] = rollDice(6);
|
||
update["speed"] = rollDice(6);
|
||
update["intellect"] = rollDice(6) + 10;
|
||
update["combat"] = rollDice(6);
|
||
update["skill_points"] = 3;
|
||
update["stress_panic"] = getTranslationByKey(["Whenever a Scientist fails a Sanity Save, every friendly player nearby gains 1 Stress."]);
|
||
break;
|
||
case "marine":
|
||
update["sanity"] = 25;
|
||
update["fear"] = 30;
|
||
update["body"] = 35;
|
||
update["armor"] = 40;
|
||
update["strength"] = rollDice(6);
|
||
update["speed"] = rollDice(6);
|
||
update["intellect"] = rollDice(6);
|
||
update["combat"] = rollDice(6) + 5;
|
||
update["skill_points"] = 3;
|
||
update["stress_panic"] = getTranslationByKey(["Whenever a Marine Panics, every friendly player nearby must make a Fear Save."]);
|
||
break;
|
||
default:
|
||
return;
|
||
}
|
||
|
||
getAttrs(requestAttrs, values => {
|
||
|
||
if (previous_class === new_class && values["init"] === "1") return;
|
||
|
||
requestAttrs.forEach(attr => {
|
||
if (values[attr] !== "") update[attr] = values[attr];
|
||
})
|
||
|
||
if (values["level"] === 0 || values["level"] === "") {
|
||
|
||
const fields = [
|
||
"level",
|
||
"sanity",
|
||
"fear",
|
||
"body",
|
||
"armor",
|
||
"stress_panic",
|
||
"stress",
|
||
"resolve",
|
||
"strength",
|
||
"speed",
|
||
"intellect",
|
||
"combat",
|
||
"skill_points",
|
||
"xp",
|
||
"init"
|
||
];
|
||
|
||
const updateAttrs = {};
|
||
|
||
fields.forEach(field => {
|
||
const fallback = values[field] || 0;
|
||
updateAttrs[field] = (typeof field !== undefined) ? update[field] : fallback;
|
||
});
|
||
|
||
const hitpoints = parseInt(update["strength"]) * 2;
|
||
|
||
updateAttrs["health"] = hitpoints;
|
||
updateAttrs["health_max"] = hitpoints;
|
||
|
||
setAttrs(updateAttrs);
|
||
|
||
}
|
||
|
||
});
|
||
}
|
||
|
||
const rollDice = (number_of_dice) => {
|
||
let total = 0;
|
||
|
||
for (let i = 0; i <= number_of_dice; i++) total += Math.ceil(Math.random()*10);
|
||
|
||
return total;
|
||
}
|
||
|
||
const calculateRow = (row, new_value) => {
|
||
|
||
if (!row) return console.warn("Tried to update a ship row, but there wasn't a row specified");
|
||
|
||
const int_value = parseInt(new_value) || 0;
|
||
|
||
if (row === "lifesupport") setAttrs({"ship_lifesupport_modules":Math.ceil(int_value/10), life_support_hull:Math.ceil(int_value/10), ship_galleys: Math.ceil(int_value/20)});
|
||
if (row === "command") setAttrs({"ship_command_modules":Math.ceil(int_value/4), command_hull:Math.ceil(int_value/4), ship_livingquarters:int_value});
|
||
if (row === "armor") setAttrs({armor:Math.floor(int_value*10), armor_hull:Math.floor(int_value*3)});
|
||
if (row === "jumpdrives") {
|
||
let hull = 0;
|
||
for (let i = 1; i <= int_value; i++) hull += i;
|
||
setAttrs({jump_drives_hull:hull, ship_computer_modules:int_value});
|
||
}
|
||
if (row === "computer") setAttrs({computer_hull:int_value});
|
||
if (row === "galley") setAttrs({galley_hull:int_value});
|
||
if (row === "weaponmount") setAttrs({ship_weapon_mounts:int_value, weapon_mount_hull:int_value});
|
||
if (row === "medbays") setAttrs({ship_medint_bonus:Math.floor(int_value*5), medical_bay_hull:int_value});
|
||
if (row === "cryochamber") setAttrs({ship_cryochambers:Math.ceil(int_value/4), cryochamber_hull:Math.ceil(int_value/4)});
|
||
if (row === "livingquarters") {setAttrs({living_quarters_hull:int_value})};
|
||
if (row === "barracks") setAttrs({ship_barracks:Math.ceil(int_value/12), barracks_hull:Math.ceil(int_value/12), crew_max:int_value});
|
||
if (row === "cargoholds") setAttrs({ship_cargoholds:Math.ceil(int_value/10), cargo_hold_hull:Math.ceil(int_value/10), cargo_max: int_value});
|
||
if (row === "sciencelabs") setAttrs({ship_resint_bonus:Math.floor(int_value*5), science_lab_hull:int_value});
|
||
if (row === "thrusters") {
|
||
getAttrs(["ship_thruster_hullreq","ship_thrusters"], values => {
|
||
const hullreq = parseInt(values["ship_thruster_hullreq"]) || 0;
|
||
const thrusters = parseInt(values["ship_thrusters"]) || 0;
|
||
setAttrs({thrusters_hull : hullreq + thrusters, ship_engine_thrusterreq: thrusters});
|
||
});
|
||
}
|
||
if (row === "fuel") {
|
||
getAttrs(["ship_fuel_min","ship_fuel_extra"], values => {
|
||
const min_fuel = parseInt(values["ship_fuel_min"]) || 0;
|
||
const extra_fuel = parseInt(values["ship_fuel_extra"]) || 0;
|
||
|
||
setAttrs({fuel_hull: min_fuel + extra_fuel});
|
||
});
|
||
}
|
||
if (row === "engine") {
|
||
getAttrs(["ship_engine_hullreq","ship_engine_thrusterreq","ship_jumpdrive_modules"], values => {
|
||
const hullreq = parseInt(values["ship_engine_hullreq"]) || 0;
|
||
const thrustreq = parseInt(values["ship_engine_thrusterreq"]) || 0;
|
||
const jumpdrive = parseInt(values["ship_jumpdrive_modules"]) || 0;
|
||
|
||
setAttrs({ship_engine:hullreq + thrustreq + jumpdrive, engine_hull: hullreq + thrustreq + jumpdrive, ship_fuel_min: (hullreq + thrustreq + jumpdrive) * 3})
|
||
});
|
||
}
|
||
if (row === "frame") setAttrs({frame_hull:int_value});
|
||
|
||
}
|
||
|
||
const recalculateBaseHull = () => {
|
||
const base_hull_array = [
|
||
"jump_drives_hull",
|
||
"life_support_hull",
|
||
"command_hull",
|
||
"armor_hull",
|
||
"jump_drive_hull",
|
||
"computer_hull",
|
||
"galley_hull",
|
||
"weapon_mount_hull",
|
||
"medical_bay_hull",
|
||
"cryochamber_hull",
|
||
"living_quarters_hull",
|
||
"barracks_hull",
|
||
"cargo_hold_hull",
|
||
"science_lab_hull"
|
||
];
|
||
|
||
getAttrs(base_hull_array, values => {
|
||
const base_hull_int = Object.values(values).map(value => parseInt(value) || 0);
|
||
|
||
const base_hull = base_hull_int.reduce((total, value) => total + value);
|
||
|
||
setAttrs({ship_base_hull: base_hull, ship_thruster_hullreq: Math.ceil(base_hull / 10), ship_engine_hullreq: Math.ceil(base_hull / 20), ship_frame: Math.ceil(base_hull / 10)});
|
||
});
|
||
}
|
||
|
||
const recalculateTotalHull = () => {
|
||
const total_hull_array = [
|
||
"ship_base_hull",
|
||
"thrusters_hull",
|
||
"engine_hull",
|
||
"fuel_hull",
|
||
"frame_hull"
|
||
];
|
||
|
||
getAttrs(total_hull_array, values => {
|
||
const total_hull_int = Object.values(values).map(value => parseInt(value) || 0);
|
||
const total_hull = total_hull_int.reduce((total, value) => total + value);
|
||
|
||
setAttrs({ship_total_hull: total_hull});
|
||
});
|
||
}
|
||
|
||
const calculateCombatIntelligence = (new_value) => {
|
||
const value = parseInt(new_value) || 0;
|
||
|
||
const combat = (value * 10) + 10;
|
||
const intellect = (value * 10) + 30;
|
||
|
||
setAttrs({combat:combat,intellect:intellect});
|
||
}
|
||
|
||
const calculateSpeed = (new_value) => {
|
||
const value = parseInt(new_value) || 0;
|
||
|
||
const speed = value * 10;
|
||
|
||
setAttrs({speed:speed});
|
||
}
|
||
|
||
const calculateHullCost = (new_value) => {
|
||
const value = parseInt(new_value) || 0;
|
||
|
||
const hull = value;
|
||
const cost = value * 10;
|
||
|
||
setAttrs({ship_cost:cost, hull: hull, hull_max: hull});
|
||
}
|
||
|
||
const calculateFuel = (new_value) => {
|
||
const value = parseInt(new_value) || 0;
|
||
|
||
setAttrs({fuel:value, fuel_max:value});
|
||
}
|
||
|
||
const checkFuelValue = (new_value) => {
|
||
const value = parseInt(new_value) || 0;
|
||
|
||
getAttrs(["hull_25","hull_50","hull_75"], values => {
|
||
const hull_25 = values.hull_25;
|
||
const hull_50 = values.hull_50;
|
||
const hull_75 = values.hull_75;
|
||
|
||
let hull_toggle = "";
|
||
|
||
if (value <= hull_75) hull_toggle = 75;
|
||
else if (value <= hull_50) hull_toggle = 50;
|
||
else if (value <= hull_25) hull_toggle = 25;
|
||
|
||
setAttrs({hull_toggle: hull_toggle});
|
||
});
|
||
}
|
||
|
||
const calculateHullValues = () => {
|
||
getAttrs(["hull_max"], values => {
|
||
const value = parseInt(values["hull_max"]) || 0;
|
||
|
||
const n25 = Math.floor(value * 0.75);
|
||
const n50 = Math.floor(value * 0.5);
|
||
const n75 = Math.floor(value * 0.25);
|
||
|
||
setAttrs({
|
||
hull_25: n25,
|
||
hull_50: n50,
|
||
hull_75: n75,
|
||
}, callback => checkFuelValue(value));
|
||
});
|
||
}
|
||
|
||
const dropHandler = (values) => {
|
||
const name = values.drop_name;
|
||
const data = JSON.parse(values.drop_data) || {};
|
||
const category = values.drop_category;
|
||
|
||
console.log(data);
|
||
|
||
if (name === ""|| typeof data === "" || typeof category === "") return console.warn("No drag and drop data found.");
|
||
|
||
switch (category) {
|
||
case "Classes":
|
||
handleClassDrop(name, data);
|
||
break;
|
||
case "Items":
|
||
handleItemDrop(name, data);
|
||
break;
|
||
case "Mercenaries":
|
||
handleMercenaryDrop(name, data);
|
||
break;
|
||
case "Ships":
|
||
handleShipDrop(name, data);
|
||
break;
|
||
case "Ship Weapons":
|
||
handleShipWeaponDrop(name, data);
|
||
break;
|
||
default:
|
||
console.warn("Could not distinguish category from drop.")
|
||
break;
|
||
}
|
||
|
||
}
|
||
|
||
const handleItemDrop = (name, data) => {
|
||
const id = generateRowID();
|
||
const address = `repeating_equipment_${id}_equipment`;
|
||
|
||
let updateAttrs = {};
|
||
|
||
updateAttrs[`${address}_name`] = name;
|
||
updateAttrs[`${address}_notes`] = data.Description || "";
|
||
|
||
if (data.Damage) {
|
||
const attack_id = generateRowID();
|
||
const attack_address = `repeating_attacks_${id}_attack`
|
||
|
||
updateAttrs[`${address}_type`] = "Weapon";
|
||
updateAttrs[`${address}_linkedid`] = attack_id;
|
||
|
||
updateAttrs[`${attack_address}_linkedid`] = id;
|
||
updateAttrs[`${attack_address}_name`] = name;
|
||
updateAttrs[`${attack_address}_damage`] = data.Damage;
|
||
updateAttrs[`${attack_address}_critical_damage`] = data["Critical Damage"] || "";
|
||
updateAttrs[`${attack_address}_critical_effect`] = data["Critical Effect"] || "-";
|
||
|
||
let combined_string = (data.Description) ? `${data.Description} ` : ``;
|
||
combined_string += (data.Special) ? `${data.Special} ` : ``;
|
||
|
||
updateAttrs[`${attack_address}_notes`] = combined_string;
|
||
|
||
const range = JSON.parse(data.Range) || {};
|
||
|
||
if (range && range.CQC !== "Yes") {
|
||
updateAttrs[`${attack_address}_type`] = "Ranged";
|
||
|
||
updateAttrs[`${attack_address}_shots`] = data.Shots;
|
||
updateAttrs[`${attack_address}_ammunition`] = data.Ammunition;
|
||
|
||
updateAttrs[`${attack_address}_range_s`] = range.Short;
|
||
updateAttrs[`${attack_address}_range_m`] = range.Medium || "-";
|
||
updateAttrs[`${attack_address}_range_l`] = range.Long || "-";
|
||
|
||
} else {
|
||
updateAttrs[`${attack_address}_type`] = "Melee";
|
||
}
|
||
} else if (data["Armor Save"]) {
|
||
updateAttrs[`${address}_type`] = "Armor";
|
||
updateAttrs[`${address}_armor_bonus`] = data["Armor Save"];
|
||
} else {
|
||
updateAttrs[`${address}_type`] = "Gear";
|
||
}
|
||
|
||
setAttrs(updateAttrs);
|
||
|
||
}
|
||
|
||
const handleClassDrop = (name, data) => {
|
||
setAttrs({class:name});
|
||
if (name) toggleClass(name,"","player");
|
||
}
|
||
|
||
const handleMercenaryDrop = () => {
|
||
console.warn("Mercenary drop not yet supported.");
|
||
}
|
||
|
||
const handleMonsterDrop = () => {
|
||
console.warn("Monster drop not yet supported.");
|
||
}
|
||
|
||
const handleShipDrop = (name, data) => {
|
||
const modules_raw = data["Required Modules"].split(",").map(item => item.trim());
|
||
const modules_parsed = {};
|
||
const updateAttrs = {};
|
||
|
||
modules_raw.forEach(module => modules_parsed[module.toLowerCase().replace(/[^a-z ]/g,"").trim().replace(/ /g,"_")] = parseInt(module.replace(/[^0-9]/g,"")) || 0);
|
||
|
||
console.log(modules_parsed);
|
||
|
||
updateAttrs["ship_class"] = name;
|
||
updateAttrs["ship_passengers"] = ((modules_parsed.barracks || 0) * 12) + modules_parsed.living_quarters || 1;
|
||
updateAttrs["life_support"] = modules_parsed.life_support || 1;
|
||
updateAttrs["ship_officers"] = modules_parsed.living_quarters || 0;
|
||
updateAttrs["ship_armor_modules"] = modules_parsed.armor || 0;
|
||
updateAttrs["ship_jumpdrive_modules"] = modules_parsed.jump_drive || 0;
|
||
updateAttrs["ship_computer_modules"] = modules_parsed.computer || 0;
|
||
updateAttrs["ship_galley"] = modules_parsed.galley || "";
|
||
updateAttrs["ship_weapon_mounts"] = modules_parsed.weapon_mount || 0;
|
||
updateAttrs["ship_medbays"] = modules_parsed.medical_bays || 0;
|
||
updateAttrs["ship_cyropods"] = (modules_parsed.cryochamber * 4) || 0;
|
||
updateAttrs["ship_living_quarters"] = modules_parsed.living_quarters || 0;
|
||
updateAttrs["ship_barracks"] = modules_parsed.barracks || 0;
|
||
updateAttrs["ship_cargoholds"] = modules_parsed.cargo_hold || 0;
|
||
updateAttrs["ship_sciencelabs"] = modules_parsed.science_lab || 0;
|
||
updateAttrs["ship_thrusters"] = modules_parsed.thrusters || 0;
|
||
updateAttrs["ship_engine"] = modules_parsed.engine || 0;
|
||
|
||
console.log(updateAttrs);
|
||
setAttrs(updateAttrs);
|
||
}
|
||
|
||
const handleShipWeaponDrop = () => {
|
||
|
||
}
|
||
|
||
// EVENT HANDLERS
|
||
|
||
skillArray.forEach(skill => on(`change:${skill}`, eventInfo => toggleSkill(skill, eventInfo.newValue)));
|
||
|
||
on(`change:repeating_equipment:equipment_type`, eventInfo => addItem(eventInfo.newValue, eventInfo.previousValue, eventInfo.sourceAttribute, eventInfo.sourceType));
|
||
|
||
on(`change:class`, eventInfo => toggleClass(eventInfo.newValue, eventInfo.previousValue, eventInfo.sourceType));
|
||
|
||
on(`change:ship_passengers`, eventInfo => calculateRow("lifesupport", eventInfo.newValue));
|
||
on(`change:ship_officers`, eventInfo => calculateRow("command", eventInfo.newValue));
|
||
on(`change:ship_armor_modules`, eventInfo => calculateRow("armor", eventInfo.newValue));
|
||
on(`change:ship_jumpdrive_modules`, eventInfo => calculateRow("jumpdrives", eventInfo.newValue));
|
||
on(`change:ship_computer_modules`, eventInfo => calculateRow("computer", eventInfo.newValue));
|
||
on(`change:ship_galleys`, eventInfo => calculateRow("galley", eventInfo.newValue));
|
||
on(`change:ship_weapons`, eventInfo => calculateRow("weaponmount", eventInfo.newValue));
|
||
on(`change:ship_medbays`, eventInfo => calculateRow("medbays", eventInfo.newValue));
|
||
on(`change:ship_cryopods`, eventInfo => calculateRow("cryochamber", eventInfo.newValue));
|
||
on(`change:ship_livingquarters`, eventInfo => calculateRow("livingquarters", eventInfo.newValue));
|
||
on(`change:ship_crew`, eventInfo => calculateRow("barracks", eventInfo.newValue));
|
||
on(`change:ship_cargo`, eventInfo => calculateRow("cargoholds", eventInfo.newValue));
|
||
on(`change:ship_sciencelabs`, eventInfo => calculateRow("sciencelabs", eventInfo.newValue));
|
||
on(`change:ship_thrusters change:ship_thruster_hullreq`, eventInfo => calculateRow("thrusters", eventInfo.newValue));
|
||
on(`change:ship_fuel_extra change:ship_fuel_min`, eventInfo => calculateRow("fuel", eventInfo.newValue));
|
||
on(`change:ship_engine_hullreq change:ship_engine_thrusterreq change:ship_jumpdrive_modules`, eventInfo => calculateRow("engine", eventInfo.newValue));
|
||
on(`change:ship_frame`, eventInfo => calculateRow("frame", eventInfo.newValue));
|
||
|
||
on(`change:ship_computer_modules`, eventInfo => calculateCombatIntelligence(eventInfo.newValue));
|
||
on(`change:ship_thrusters`, eventInfo => calculateSpeed(eventInfo.newValue));
|
||
on(`change:ship_total_hull`, eventInfo => calculateHullCost(eventInfo.newValue));
|
||
on(`change:fuel_hull`, eventInfo => calculateFuel(eventInfo.newValue));
|
||
|
||
on(`change:hull`, eventInfo => checkFuelValue(eventInfo.newValue));
|
||
on(`change:hull_max`, eventInfo => calculateHullValues());
|
||
|
||
on(`clicked:startship`, eventInfo => setAttrs({shipbuild:"on"}));
|
||
on(`clicked:completeship`, eventInfo => setAttrs({shipbuild:0}));
|
||
|
||
on(`clicked:editname_on`, eventInfo => setAttrs({npcname_toggle:"on"}));
|
||
on(`clicked:editname_off`, eventInfo => setAttrs({npcname_toggle:0}));
|
||
|
||
on("change:drop_name", (eventInfo) => {
|
||
getAttrs(["drop_name", "drop_content", "drop_data", "drop_category"], (values) => {
|
||
dropHandler(values);
|
||
});
|
||
});
|
||
|
||
["life_support_hull","command_hull","armor_hull","jump_drives_hull","computer_hull","galley_hull",
|
||
"weapon_mount_hull","medical_bay_hull","cryochamber_hull","living_quarters_hull","barracks_hull",
|
||
"cargo_hold_hull", "science_lab_hull"].forEach(hull => on(`change:${hull}`, eventInfo => recalculateBaseHull()));
|
||
|
||
["base_hull", "thrusters_hull", "engine_hull", "fuel_hull", "frame_hull"].forEach(hull => on(`change:${hull}`, eventInfo => recalculateTotalHull()));
|
||
</script> |