Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <div class="sheet-title">
- <h1>Watching The Detectives <img src="http://blinkoz.s3.ap-southeast-2.amazonaws.com/Clients/Blinxel/OtekuOtaku/logo-vic_small.png" class="sheet-logo"></h1>
- </div>
- <div class="sheet-personal">
- <!--h1 class="sheet-section">Personal Data</h1-->
- <div class="sheet-3colrow">
- <div class="sheet-col">
- <h2 class="subsection">Description</h2>
- <table width="100%">
- <tbody>
- <tr>
- <th>Name:</th><td colspan="3"><input type="text" name="attr_Name"></td>
- </tr>
- <tr>
- <th>Gender:</th><td colspan="3"><input type="text" name="attr_Sex"></td>
- </tr>
- <tr>
- <th>Race:</th><td colspan="3"><input type="text" name="attr_Race"></td>
- </tr>
- <tr>
- <th>Height:</th><td class="sheet-smaller"><input type="number" name="attr_Height" min="0"> cm.</td>
- <th>Age:</th>
- <td class="sheet-smaller">
- <input type="number" name="attr_AgeYears" min="0"> Years</td>
- </tr>
- <tr>
- <th>Weight:</th><td class="sheet-smaller"><input type="number" name="attr_Weight" min="0"> kg.</td>
- <td></td><td class="sheet-smaller"><input type="number" name="attr_AgeDays" min="0" max="365"> Days</td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sheet-col">
- <h2 class="subsection">Locality</h2>
- <table width="100%">
- <tbody>
- <tr>
- <th>Date of Birth:</th><td><input type="text" name="attr_DateOfBirth"></td>
- </tr>
- <tr>
- <th>Locality:</th><td><input type="text" name="attr_Locality"></td>
- </tr>
- <tr>
- <th>Society:</th><td><input type="text" name="attr_Society"></td>
- </tr>
- <tr>
- <th>Era:</th>
- <td>
- <select name="attr_Era">
- <option selected></option>
- <option>Aquarian</option>
- <option>Aquarian Cusp</option>
- <option>Piscean</option>
- <option>Piscean Cusp</option>
- <option>Ariesian</option>
- <option>Ariesian Cusp</option>
- <option>Tauran</option>
- <option>Tauran Cusp</option>
- <option>Geminid</option>
- <option>Geminid Cusp</option>
- <option>Cancerean</option>
- <option>Cancerean Cusp</option>
- <option>Leonid</option>
- <option>Leonid Cusp</option>
- <option>Virgin</option>
- <option>Virgin Cusp</option>
- <option>Libran</option>
- <option>Libran Cusp</option>
- <option>Scorpiod</option>
- <option>Scorpiod Cusp</option>
- <option>Sagittarian</option>
- <option>Sagittarian Cusp</option>
- <option>Capricornic</option>
- </select>
- </td>
- </tr>
- <tr>
- <th>Grace:</th><td class="sheet-smaller"><input type="number" name="attr_Grace" min="0"></td>
- </tr>
- </tbody>
- </table>
- </div>
- <input type="hidden" class="toggle-show" name="attr_continuumdeets" value="0" />
- <div class="sheet-col sheet-continuum">
- <h2 class="subsection">Continuum</h2>
- <table width="100%">
- <tbody>
- <tr>
- <th>Date of Invitation:</th><td colspan ="3"><input type="text" name="attr_DateOfInvitation"></td>
- </tr>
- <tr>
- <th>Corner:</th><td colspan ="3"><input type="text" name="attr_Corner"></td>
- </tr>
- <tr>
- <th>Fraternity:</th>
- <td colspan ="3">
- <select name="attr_Fraternity">
- <option selected></option>
- <option>None</option>
- <option>Antiquarians</option>
- <!--<option>Dreamers</option>-->
- <option>Engineers</option>
- <option>Foxhorn</option>
- <option>Midwives</option>
- <option>Moneychangers</option>
- <option>Physicians</option>
- <option>Quicker</option>
- <option>Scribes</option>
- <option>Thespians</option>
- </select>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- </div>
- <input type="checkbox" id="checkbox" class="sheet-switch" name="attr_continuumdeets" value="1" style="opacity:0">
- <div class="sheet-attributes">
- <h1 class="sheet-section">Attributes</h1>
- <table>
- <tbody>
- <tr>
- <td width="75%">
- <table width="100%">
- <tbody>
- <tr>
- <th bgcolor="#F5B7B1">Body:</th>
- <td bgcolor="#F5B7B1">
- <input type="number" name="attr_Body" min="0">
- <!--<button type="roll" title="Roll against Body" value="&{template:continuum} {{name=@{Name}}} {{ability=Body}} {{rating=[[@{Body}]]}} {{modifiers=[[?{Modifiers|0}]]}} {{IP=[[([[-1 * @{IPTotal}]])]]}} {{check=[[1d10cs11cf0]]}} {{result=[[@{Body} + (?{Modifiers}) + ([[-1 * @{IPTotal}]]) - 1d10cs1cs[[@{Body}]]cf10]]}}"></button>-->
- <button type="roll" title="Roll against Body" value="!continuum Body|@{Body}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]"></button>
- </td>
- <th bgcolor="#85C1E9">Mind:</th>
- <td bgcolor="#85C1E9">
- <input type="number" name="attr_Mind" min="0">
- <!--<button type="roll" title="Roll against Mind" value="&{template:continuum} {{name=@{Name}}} {{ability=Mind}} {{rating=[[@{Mind}]]}} {{modifiers=[[?{Modifiers|0}]]}} {{IP=[[([[-1 * @{IPTotal}]])]]}} {{check=[[1d10cs11cf0]]}} {{result=[[@{Mind} + (?{Modifiers}) + ([[-1 * @{IPTotal}]]) - 1d10cs1cs[[@{Mind}]]cf10]]}}"></button>-->
- <button type="roll" title="Roll against Mind" value="!continuum Mind|@{Mind}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]"></button>
- </td>
- <th bgcolor="#48C9B0">EQ:</th>
- <td bgcolor="#48C9B0">
- <input type="number" name="attr_EQ" min="0">
- <!--<button type="roll" title="Roll against Mind" value="&{template:continuum} {{name=@{Name}}} {{ability=Mind}} {{rating=[[@{Mind}]]}} {{modifiers=[[?{Modifiers|0}]]}} {{IP=[[([[-1 * @{IPTotal}]])]]}} {{check=[[1d10cs11cf0]]}} {{result=[[@{Mind} + (?{Modifiers}) + ([[-1 * @{IPTotal}]]) - 1d10cs1cs[[@{Mind}]]cf10]]}}"></button>-->
- <button type="roll" title="Roll against EQ" value="!continuum EQ|@{EQ}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]"></button>
- </td>
- <th bgcolor="#F5B041">Quick:</th>
- <td bgcolor="#F5B041">
- <input type="number" name="attr_Quick" min="0">
- <!--<button type="roll" title="Roll against Quick" value="&{template:continuum} {{name=@{Name}}} {{ability=Quick}} {{rating=[[@{Quick}]]}} {{modifiers=[[?{Modifiers|0}]]}} {{IP=[[([[-1 * @{IPTotal}]])]]}} {{check=[[1d10cs11cf0]]}} {{result=[[@{Quick} + (?{Modifiers}) + ([[-1 * @{IPTotal}]]) - 1d10cs1cs[[@{Quick}]]cf10]]}}"></button>-->
- <button type="roll" title="Roll against Quick" value="!continuum Quick|@{Quick}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]"></button>
- </td>
- <th bgcolor="#C39BD3">Will Temp:</th>
- <td bgcolor="#C39BD3">
- <input type="number" name="attr_Willpower" min="0">
- <!--<button type="roll" title="Roll against Willpower" value="&{template:continuum} {{name=@{Name}}} {{ability=Willpower}} {{rating=[[@{Willpower}]]}} {{modifiers=[[?{Modifiers|0}]]}} {{IP=[[([[-1 * @{IPTotal}]])]]}} {{check=[[1d10cs11cf0]]}} {{result=[[@{Willpower} + (?{Modifiers}) + ([[-1 * @{IPTotal}]]) - 1d10cs1cs[[@{Quick}]]cf10]]}}"></button>-->
- <button type="roll" title="Roll against Willpower" value="!continuum Willpower|@{Willpower}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]"></button>
- </td>
- </tr>
- <tr>
- <td bgcolor="#F5B7B1"></td>
- <td bgcolor="#F5B7B1"><!--input type="number" name="attr_BodyProgress" value="0" min="0" max="100"> /100</td-->
- <td bgcolor="#85C1E9"></td>
- <td bgcolor="#85C1E9"><!--input type="number" name="attr_MindProgress" value="0" min="0" max="100"> /100</td-->
- <td bgcolor="#48C9B0"></td>
- <td bgcolor="#48C9B0"><!--input type="number" name="attr_EQProgress" value="0" min="0" max="100"> /100</td-->
- <td bgcolor="#F5B041"></td>
- <td bgcolor="#F5B041"><!--input type="number" name="attr_QuickProgress" value="0" min="0" max="100"> /100</td-->
- <th bgcolor="#C39BD3">Will Perm:</th>
- <td bgcolor="#C39BD3"><input type="number" name="attr_WillpowerProgress" value="0" min="0" max="10"></td>
- </tr>
- </tbody>
- </table>
- </td>
- <td width="25%" style="text-align:top">
- <label>Benefits & Limits: <textarea name="attr_BenefitsLimits"></textarea></label>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <input type="hidden" class="sheet-tabstoggle" name="attr_sheetTab" value="character" />
- <div>
- <button type="action" name="act_PersonalData" >Personal</button>
- <button type="action" name="act_Social" >Social</button>
- <button type="action" name="act_Combat" >Combat</button>
- <!--input type="hidden" class="toggle-show" name="attr_continuumdeets" value="0" /-->
- <!--button id="ContinuumButton" type="action" name="act_Continuum" >Continuum</button-->
- <!--label for="checkbox" class="toggle-button">Toggle Button</label-->
- <input type="checkbox" id="checkbox" class="sheet-switch">
- <label for="checkbox">Toggle Button</label>
- <button class="sheet-continuum" type="action" name="act_Continuum">Continuum</button>
- <button class="sheet-continuum" type="action" style="display: none;" name="act_Continuum">Continuum</button>
- </div>
- <div class="sheet-PersonalData">
- <div class="sheet-experience">
- <h1 class="sheet-section">Experiences</h1>
- <table width="100%" class="t2">
- <thead>
- <tr>
- <th width="28%">General</th>
- <th width="18%">Body Focus</th>
- <th width="18%">Mind Focus</th>
- <th width="18%">EQ Focus</th>
- <th width="18%">Quick Focus</th>
- </tr>
- </thead>
- </table>
- <fieldset class="repeating_experience">
- <table width="100%" class="t2">
- <tbody>
- <tr>
- <td><input type="text" STYLE="color: #1C2833; font-family: Verdana; font-weight: bold; font-size: 12px; background-color: #D0D3D4;" name="attr_Skill">
- </td>
- <td bgcolor="#F5B7B1" colspan="4">
- <input type="text" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F9EBEA;" name="attr_SkillBody">
- </td>
- </td>
- <td bgcolor="#85C1E9" colspan="4">
- <input type="text" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4E6F1;" name="attr_SkillMind">
- </td>
- </td>
- <td bgcolor="#48C9B0" colspan="4">
- <input type="text" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4EFDF;" name="attr_SkillEQ">
- </td>
- </td>
- <td bgcolor="#F5B7B1" colspan="4">
- <input type="text" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F6DDCC;" name="attr_SkillQuick">
- </td>
- </tr>
- <tr>
- <td><input type="text" STYLE="color: #1C2833; font-family: Verdana; font-weight: bold; font-size: 12px; background-color: #D0D3D4;" name="attr_Skill-1">
- </td>
- <td bgcolor="#F5B7B1" colspan="4">
- <select name="attr_SkillTitleBody">
- <option selected disabled></option>
- <option value="-2">Untrained</option>
- <option value="0">Novice</option>
- <option value="1">Apprentice</option>
- <option value="2">Journeyman</option>
- <option value="3">Master</option>
- <option value="4">Grandmaster</option>
- <option value="5">Grandmaster + 1</option>
- <option value="6">Grandmaster + 2</option>
- <option value="7">Grandmaster + 3</option>
- <option value="8">Grandmaster + 4</option>
- </select>
- </td>
- <td bgcolor="#85C1E9" colspan="4">
- <select name="attr_SkillTitleMind">
- <option selected disabled></option>
- <option value="-2">Untrained</option>
- <option value="0">Novice</option>
- <option value="1">Apprentice</option>
- <option value="2">Journeyman</option>
- <option value="3">Master</option>
- <option value="4">Grandmaster</option>
- <option value="5">Grandmaster + 1</option>
- <option value="6">Grandmaster + 2</option>
- <option value="7">Grandmaster + 3</option>
- <option value="8">Grandmaster + 4</option>
- </select>
- </td>
- <td bgcolor="#48C9B0" colspan="4">
- <select name="attr_SkillTitleEQ">
- <option selected disabled></option>
- <option value="-2">Untrained</option>
- <option value="0">Novice</option>
- <option value="1">Apprentice</option>
- <option value="2">Journeyman</option>
- <option value="3">Master</option>
- <option value="4">Grandmaster</option>
- <option value="5">Grandmaster + 1</option>
- <option value="6">Grandmaster + 2</option>
- <option value="7">Grandmaster + 3</option>
- <option value="8">Grandmaster + 4</option>
- </select>
- </td>
- <td bgcolor="#F5B041" colspan="4">
- <select name="attr_SkillTitleQuick">
- <option selected disabled></option>
- <option value="-2">Untrained</option>
- <option value="0">Novice</option>
- <option value="1">Apprentice</option>
- <option value="2">Journeyman</option>
- <option value="3">Master</option>
- <option value="4">Grandmaster</option>
- <option value="5">Grandmaster + 1</option>
- <option value="6">Grandmaster + 2</option>
- <option value="7">Grandmaster + 3</option>
- <option value="8">Grandmaster + 4</option>
- </select>
- </td>
- </tr>
- <tr>
- <td><input type="text" STYLE="color: #1C2833; font-family: Verdana; font-weight: bold; font-size: 12px; background-color: #D0D3D4;" name="attr_Skill-2">
- </td>
- <td bgcolor="#F5B7B1">
- <input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F9EBEA;" name="attr_SkillRatingBody" value="@{Body} + @{SkillTitleBody}" disabled>
- </td>
- <td bgcolor="#F5B7B1">
- <button type="roll" title="Roll against Body" value="!continuum @{Skill}|@{SkillRatingBody}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]"></button>
- </td>
- <td bgcolor="#F5B7B1">
- <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F9EBEA;" name="attr_SkillProgressBody" value="0" min="0"-->
- </td>
- <td bgcolor="#F5B7B1">
- <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F9EBEA;" name="attr_SkillProgressMax" value="(@{SkillTitleBody} + 1) * 10" disabled-->
- </td>
- <td bgcolor="#85C1E9">
- <input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4E6F1;" name="attr_SkillRatingMind" value="@{Mind} + @{SkillTitleMind}" disabled>
- </td>
- <td bgcolor="#85C1E9">
- <button type="roll" title="Roll against Mind" value="!continuum @{Skill}|@{SkillRatingMind}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]"></button>
- </td>
- <td bgcolor="#85C1E9">
- <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4E6F1;" name="attr_SkillProgressMind" value="0" min="0"-->
- </td>
- <td bgcolor="#85C1E9">
- <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4E6F1;" name="attr_SkillProgressMax" value="(@{SkillTitleMind} + 1) * 10" disabled-->
- </td>
- <td bgcolor="#48C9B0">
- <input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4EFDF;" name="attr_SkillRatingEQ" value="@{EQ} + @{SkillTitleEQ}" disabled>
- </td>
- <td bgcolor="#48C9B0">
- <button type="roll" title="Roll against EQ" value="!continuum @{Skill}|@{SkillRatingEQ}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]"></button>
- </td>
- <td bgcolor="#48C9B0">
- <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4EFDF;" name="attr_SkillProgressEQ" value="0" min="0"-->
- </td>
- <td bgcolor="#48C9B0">
- <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4EFDF;" name="attr_SkillProgressMax" value="(@{SkillTitleEQ} + 1) * 10" disabled-->
- </td>
- <td bgcolor="#F5B041">
- <input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F6DDCC;" name="attr_SkillRatingQuick" value="@{Quick} + @{SkillTitleQuick}" disabled>
- </td>
- <td bgcolor="#F5B041">
- <button type="roll" title="Roll against Quick" value="!continuum @{Skill}|@{SkillRatingQuick}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]"></button>
- </td>
- <td bgcolor="#F5B041">
- <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F6DDCC;" name="attr_SkillProgressQuick" value="0" min="0"-->
- </td>
- <td bgcolor="#F5B041">
- <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F6DDCC;" name="attr_SkillProgressMax" value="(@{SkillTitleQuick} + 1) * 10" disabled-->
- </td>
- </tr>
- </tbody>
- </table>
- </fieldset>
- </div>
- <div class="sheet-goals">
- <h1 class="sheet-section">Goals</h1>
- <table width="100%">
- <thead>
- <tr>
- <th width="1%"></th>
- <th width="76%">Goal</th>
- <!--th width="10%">Rating</th-->
- <th width="15%">Importance</th>
- <th width="8%">Result</th>
- </tr>
- </thead>
- </table>
- <fieldset class="repeating_goals">
- <table width="100%">
- <tbody>
- <tr>
- <th width="1%"></th>
- <th width="5%">I will...</th>
- <td width="71%"><input type="text" name="attr_Goal"></td>
- </td>
- <td width="15%">
- <select name="attr_GoalTitle">
- <option selected disabled></option>
- <option value="1">Passing</option>
- <option value="2">Mild</option>
- <option value="3">Important</option>
- <option value="4">Extreme</option>
- <option value="5">Critical</option>
- </select>
- </td>
- <td>
- <input type="number" name="attr_GoalProgressMax" value="@{GoalTitle}" disabled>
- </td>
- </tr>
- </tbody>
- </table>
- <table width="100%">
- <thead>
- <tr>
- <th width="1%"></th>
- <th width="5%">by...</th>
- <td width="94%"><input type="text"></td>
- </tr>
- </thead>
- </table>
- </fieldset>
- </div>
- <div class="sheet-events">
- <h1 class="sheet-section">Events</h1>
- <fieldset class="repeating_events">
- <table>
- <tbody>
- <tr>
- <th width="1%"></th>
- <td style="text-align:top">
- <label>Description: <textarea rows="4" cols="15" name="attr_EventDescription"></textarea></label>
- </td>
- <td><label>Date: <input type="date"/></td></label>
- <td><label>Time: <input type="time"/></td></label>
- <td style="text-align:top">
- <label>Location: <textarea rows="4" cols="15" name="attr_EventLocation"></textarea></label>
- </td>
- <td style="text-align:top">
- <label>Duration: <input name="attr_EventDuration" type="text"/></label>
- </td>
- <td style="text-align:top">
- <label>Notes: <textarea rows="4" cols="20" name="attr_EventNotes"></textarea></label>
- </td>
- </tr>
- </tbody>
- </table>
- </fieldset>
- </div>
- </div>
- <div class="sheet-Social">
- <div class="sheet-favors">
- <h1 class="sheet-section">Favors</h1>
- <table width="100%">
- <thead>
- <tr>
- <th width="45%" style="text-align:left">Favor</th>
- <th width="5%" style="text-align:left">Done</th></th>
- <th width="20%" style="text-align:left">Title</th>
- <th width="30%" style="text-align:left">When</th>
- </tr>
- </thead>
- </table>
- <fieldset class="repeating_favors">
- <table width="100%">
- <tbody>
- <tr>
- <td width="45%"><input type="text" name="attr_Favor"></td>
- <td width="5%"><input type="checkbox" name="attr_Done"></td>
- <td width="20%">
- <select name="attr_FavorTitle">
- <option selected disabled></option>
- <option value="0">Unimportant</option>
- <option value="1">Less Important</option>
- <option value="2">Moderately Important</option>
- <option value="3">Important</option>
- <option value="4">Very Important</option>
- <option value="5">Extremely Important</option>
- <option value="6">Critical</option>
- </select>
- </td>
- <td width="30%"><input type="text" name="attr_YetWhen"></td>
- </tr>
- </tbody>
- </table>
- </fieldset>
- </div>
- <div class="sheet-relationships">
- <h1 class="sheet-section">Relationships</h1>
- <table width="100%">
- <thead>
- <tr>
- <th width="30%">Name</th>
- <!--th width="5%">Spanner</th-->
- <th width="15%">Relationship</th>
- <th width="15%">Importance</th>
- <th width="35%">When/Where</th>
- </tr>
- </thead>
- </table>
- <fieldset class="repeating_relationship">
- <table width="100%">
- <tbody>
- <tr>
- <td width="30%"><input type="text" name="attr_RelationshipName"></td>
- </td>
- <!--td width="5%"><input type="checkbox" name="attr_IsSpanner"></td-->
- <td width="15%">
- <select name="attr_RelationshipType">
- <option selected disabled></option>
- <option>Sibling</option>
- <option>Parent</option>
- <option>Grandarent</option>
- <option>Aunt</option>
- <option>Uncle</option>
- <option>Cousin</option>
- <option>Friend</option>
- <option>Ex</option>
- <option>Partner</option>
- <option>Progeny</option>
- <option>Spouse</option>
- <option>Aquaintance</option>
- <option>Subordinate</option>
- <option>Superior</option>
- <option>Collegue</option>
- </select>
- </td>
- <td width="15%">
- <select name="attr_RelationshipImportance">
- <option selected disabled></option>
- <option>Public</option>
- <option>Social</option>
- <option>Professional</option>
- <option>Personal</option>
- <option>Intimate</option>
- </select>
- </td>
- <td width="35%"><input type="text" name="attr_RelationshipWhen"></td>
- </tr>
- </tbody>
- </table>
- </fieldset>
- </div>
- </div>
- <div class="sheet-Combat">
- <!--div class="sheet-combat"-->
- <div class="sheet-experience">
- <h1 class="sheet-section">Experiences</h1>
- <table width="100%" class="t2">
- <thead>
- <tr>
- <th width="28%">General</th>
- <th width="18%">Body Focus</th>
- <th width="18%">Mind Focus</th>
- <th width="18%">EQ Focus</th>
- <th width="18%">Quick Focus</th>
- </tr>
- </thead>
- </table>
- <fieldset class="repeating_experience">
- <table width="100%" class="t2">
- <tbody>
- <tr>
- <td><input type="text" STYLE="color: #1C2833; font-family: Verdana; font-weight: bold; font-size: 12px; background-color: #D0D3D4;" name="attr_Skill">
- </td>
- <td bgcolor="#F5B7B1" colspan="4">
- <input type="text" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F9EBEA;" name="attr_SkillBody">
- </td>
- </td>
- <td bgcolor="#85C1E9" colspan="4">
- <input type="text" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4E6F1;" name="attr_SkillMind">
- </td>
- </td>
- <td bgcolor="#48C9B0" colspan="4">
- <input type="text" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4EFDF;" name="attr_SkillEQ">
- </td>
- </td>
- <td bgcolor="#F5B7B1" colspan="4">
- <input type="text" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F6DDCC;" name="attr_SkillQuick">
- </td>
- </tr>
- <tr>
- <td><input type="text" STYLE="color: #1C2833; font-family: Verdana; font-weight: bold; font-size: 12px; background-color: #D0D3D4;" name="attr_Skill-1">
- </td>
- <td bgcolor="#F5B7B1" colspan="4">
- <select name="attr_SkillTitleBody">
- <option selected disabled></option>
- <option value="-2">Untrained</option>
- <option value="0">Novice</option>
- <option value="1">Apprentice</option>
- <option value="2">Journeyman</option>
- <option value="3">Master</option>
- <option value="4">Grandmaster</option>
- <option value="5">Grandmaster + 1</option>
- <option value="6">Grandmaster + 2</option>
- <option value="7">Grandmaster + 3</option>
- <option value="8">Grandmaster + 4</option>
- </select>
- </td>
- <td bgcolor="#85C1E9" colspan="4">
- <select name="attr_SkillTitleMind">
- <option selected disabled></option>
- <option value="-2">Untrained</option>
- <option value="0">Novice</option>
- <option value="1">Apprentice</option>
- <option value="2">Journeyman</option>
- <option value="3">Master</option>
- <option value="4">Grandmaster</option>
- <option value="5">Grandmaster + 1</option>
- <option value="6">Grandmaster + 2</option>
- <option value="7">Grandmaster + 3</option>
- <option value="8">Grandmaster + 4</option>
- </select>
- </td>
- <td bgcolor="#48C9B0" colspan="4">
- <select name="attr_SkillTitleEQ">
- <option selected disabled></option>
- <option value="-2">Untrained</option>
- <option value="0">Novice</option>
- <option value="1">Apprentice</option>
- <option value="2">Journeyman</option>
- <option value="3">Master</option>
- <option value="4">Grandmaster</option>
- <option value="5">Grandmaster + 1</option>
- <option value="6">Grandmaster + 2</option>
- <option value="7">Grandmaster + 3</option>
- <option value="8">Grandmaster + 4</option>
- </select>
- </td>
- <td bgcolor="#F5B041" colspan="4">
- <select name="attr_SkillTitleQuick">
- <option selected disabled></option>
- <option value="-2">Untrained</option>
- <option value="0">Novice</option>
- <option value="1">Apprentice</option>
- <option value="2">Journeyman</option>
- <option value="3">Master</option>
- <option value="4">Grandmaster</option>
- <option value="5">Grandmaster + 1</option>
- <option value="6">Grandmaster + 2</option>
- <option value="7">Grandmaster + 3</option>
- <option value="8">Grandmaster + 4</option>
- </select>
- </td>
- </tr>
- <tr>
- <td><input type="text" STYLE="color: #1C2833; font-family: Verdana; font-weight: bold; font-size: 12px; background-color: #D0D3D4;" name="attr_Skill-2">
- </td>
- <td bgcolor="#F5B7B1">
- <input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F9EBEA;" name="attr_SkillRatingBody" value="@{Body} + @{SkillTitleBody}" disabled>
- </td>
- <td bgcolor="#F5B7B1">
- <button type="roll" title="Roll against Body" value="!continuum @{Skill}|@{SkillRatingBody}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]"></button>
- </td>
- <td bgcolor="#F5B7B1">
- <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F9EBEA;" name="attr_SkillProgressBody" value="0" min="0"-->
- </td>
- <td bgcolor="#F5B7B1">
- <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F9EBEA;" name="attr_SkillProgressMax" value="(@{SkillTitleBody} + 1) * 10" disabled-->
- </td>
- <td bgcolor="#85C1E9">
- <input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4E6F1;" name="attr_SkillRatingMind" value="@{Mind} + @{SkillTitleMind}" disabled>
- </td>
- <td bgcolor="#85C1E9">
- <button type="roll" title="Roll against Mind" value="!continuum @{Skill}|@{SkillRatingMind}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]"></button>
- </td>
- <td bgcolor="#85C1E9">
- <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4E6F1;" name="attr_SkillProgressMind" value="0" min="0"-->
- </td>
- <td bgcolor="#85C1E9">
- <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4E6F1;" name="attr_SkillProgressMax" value="(@{SkillTitleMind} + 1) * 10" disabled-->
- </td>
- <td bgcolor="#48C9B0">
- <input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4EFDF;" name="attr_SkillRatingEQ" value="@{EQ} + @{SkillTitleEQ}" disabled>
- </td>
- <td bgcolor="#48C9B0">
- <button type="roll" title="Roll against EQ" value="!continuum @{Skill}|@{SkillRatingEQ}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]"></button>
- </td>
- <td bgcolor="#48C9B0">
- <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4EFDF;" name="attr_SkillProgressEQ" value="0" min="0"-->
- </td>
- <td bgcolor="#48C9B0">
- <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4EFDF;" name="attr_SkillProgressMax" value="(@{SkillTitleEQ} + 1) * 10" disabled-->
- </td>
- <td bgcolor="#F5B041">
- <input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F6DDCC;" name="attr_SkillRatingQuick" value="@{Quick} + @{SkillTitleQuick}" disabled>
- </td>
- <td bgcolor="#F5B041">
- <button type="roll" title="Roll against Quick" value="!continuum @{Skill}|@{SkillRatingQuick}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]"></button>
- </td>
- <td bgcolor="#F5B041">
- <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F6DDCC;" name="attr_SkillProgressQuick" value="0" min="0"-->
- </td>
- <td bgcolor="#F5B041">
- <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F6DDCC;" name="attr_SkillProgressMax" value="(@{SkillTitleQuick} + 1) * 10" disabled-->
- </td>
- </tr>
- </tbody>
- </table>
- </fieldset>
- </div>
- <h1 class="sheet-section">Combat</h1>
- <h2 class="sheet-subsection">Ranged Weapons</h2>
- <table width="100%">
- </table>
- <fieldset class="repeating_rangedweapons">
- <table width="100%">
- <tbody>
- <tr>
- <th width="25%">Weapon</th>
- <th width="13%">Rating</th>
- <th width="7%">Ammo</th>
- <th width="7%">RoF</th>
- <th width="7%">Conceal</th>
- <th style="text-align:center" colspan="8">Damage</th>
- </tr>
- <tr>
- <td width="25%">
- <select name="attr_RangedWeaponType">
- <option selected></option>
- <option >Derringer</option>
- <option >Revolver</option>
- <option >Semi_Auto</option>
- <option >Heavy_Pistol</option>
- <option >Hungting_Rifle</option>
- <option >Shotgun</option>
- <option >Shotgun_solid_slugs</option>
- <option >Assult_Rifle</option>
- <option >SMG</option>
- <option >LMG</option>
- <option >HMG</option>
- <option >Taser</option>
- <option >Crossbow</option>
- </select>
- </td>
- <td width="13%">
- <input type="number" name="attr_RangedWeaponRating">
- <button type="roll" title="Roll to hit" value="!continuum @{RangedWeaponType}|@{RangedWeaponRating}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]||combat"></button>
- </td>
- <td width="7%"><input type="number" name="attr_RangedAmmo" min="0"></td>
- <td width="7%"><input type="number" name="attr_RangedRoF" min="0" readonly></td>
- <td width="7%"><input type="number" name="attr_RangedConceal" readonly></td>
- <td style="text-align:right" width="2%" readonly>D</td>
- <td width="5%"><input type="text" name="attr_RangedDamageD" readonly></td>
- <td style="text-align:right" width="2%" readonly>C</td>
- <td width="5%"><input type="text" name="attr_RangedDamageC" readonly></td>
- <td style="text-align:right" width="2%" readonly>B</td>
- <td width="5%"><input type="text" name="attr_RangedDamageB" readonly></td>
- <td style="text-align:right" width="2%" readonly>A</td>
- <td width="5%"><input type="text" name="attr_RangedDamageA" readonly></td>
- </tr>
- </tbody>
- </table>
- </fieldset>
- <h2 class="sheet-subsection">Melee Weapons</h2>
- <fieldset class="repeating_meleeweapons">
- <table width="100%">
- <tbody>
- <tr>
- <th width="35%">Weapon</th>
- <th width="13%">Rating</th>
- <th width="8%">Conceal</th>
- <th width="20%" colspan="8">Damage</th>
- </tr>
- <tr>
- <td width="35%">
- <select name="attr_MeleeWeaponType">
- <option selected></option>
- <option >Knife</option>
- <option >Sword_small</option>
- <option >Sword_medium</option>
- <option >Sword_large</option>
- <option >Club</option>
- <option >Staff</option>
- <option >Spear</option>
- <option >Polearm</option>
- </select>
- </td>
- <td width="13%">
- <input type="number" name="attr_MeleeWeaponRating">
- <button type="roll" title="Roll to hit" value="!continuum @{MeleeWeaponType}|@{MeleeWeaponRating}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]||combat"></button>
- </td>
- <td width="8%"><input type="number" name="attr_MeleeConceal" readonly></td>
- <td style="text-align:right" width="2%" readonly>D</td>
- <td width="5%"><input type="text" name="attr_MeleeDamageD" readonly></td>
- <td style="text-align:right" width="2%" readonly>C</td>
- <td width="5%"><input type="text" name="attr_MeleeDamageC" readonly></td>
- <td style="text-align:right" width="2%" readonly>B</td>
- <td width="5%"><input type="text" name="attr_MeleeDamageB" readonly></td>
- <td style="text-align:right" width="2%" readonly>A</td>
- <td width="5%"><input type="text" name="attr_MeleeDamageA" readonly></td>
- </tr>
- </tbody>
- </table>
- </fieldset>
- <h2 class="sheet-subsection">Armor</h2>
- <table width="100%">
- <thead>
- <th width="48%">Description</th>
- <th width="15%">Armor Rating</th>
- <th width="15%">Armor Body</th>
- <th width="24%">Locations</th>
- </thead>
- </table>
- <fieldset class="repeating_armor">
- <table width="100%">
- <td width="48%"><input type="text" name="attr_Armor"></td>
- <td width="15%"><input type="number" name="attr_ArmorRating"></td>
- <td width="15%"><input type="number" name="attr_ArmorBody"></td>
- <td width="2%">D</td>
- <td width="4%"><input type="checkbox"</td>
- <td width="2%">C</td>
- <td width="4%"><input type="checkbox"</td>
- <td width="2%">B</td>
- <td width="4%"><input type="checkbox"</td>
- <td width="2%">A</td>
- <td width="4%"><input type="checkbox"</td>
- </table>
- </fieldset>
- <div class="sheet-2colrow">
- <div class="sheet-col">
- <h2 class="sheet-subsection">Wounds</h2>
- <table width="100%">
- <thead>
- <tr>
- <th>IP</th>
- <th>Bruise/Lethal</th>
- <th>Bleeding?</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><input type="number" name="attr_IP1" value="0" min="0"></td>
- <td>
- <select name="attr_DamageType1">
- <option selected></option>
- <option>Bruise</option>
- <option>Lethal</option>
- </select>
- </td>
- <td>
- <select name="attr_Bleeding1">
- <option selected></option>
- <option>Yes</option>
- <option>No</option>
- </select>
- </td>
- </tr>
- <tr>
- <td><input type="number" name="attr_IP2" value="0" min="0"></td>
- <td>
- <select name="attr_DamageType2">
- <option selected></option>
- <option>Bruise</option>
- <option>Lethal</option>
- </select>
- </td>
- <td>
- <select name="attr_Bleeding2">
- <option selected></option>
- <option>Yes</option>
- <option>No</option>
- </select>
- </td>
- </tr>
- <tr>
- <td><input type="number" name="attr_IP3" value="0" min="0"></td>
- <td><select name="attr_DamageType3">
- <option selected></option>
- <option>Bruise</option>
- <option>Lethal</option>
- </select></td>
- <td><select name="attr_Bleeding3">
- <option selected></option>
- <option>Yes</option>
- <option>No</option>
- </select></td>
- </tr>
- <tr>
- <td><input type="number" name="attr_IP4" value="0" min="0"></td>
- <td>
- <select name="attr_DamageType4">
- <option selected></option>
- <option>Bruise</option>
- <option>Lethal</option>
- </select>
- </td>
- <td>
- <select name="attr_Bleeding4">
- <option selected></option>
- <option>Yes</option>
- <option>No</option>
- </select>
- </td>
- </tr>
- <tr>
- <td><input type="number" name="attr_IP5" value="0" min="0"></td>
- <td>
- <select name="attr_DamageType5">
- <option selected></option>
- <option>Bruise</option>
- <option>Lethal</option>
- </select>
- </td>
- <td>
- <select name="attr_Bleeding5">
- <option selected></option>
- <option>Yes</option>
- <option>No</option>
- </select>
- </td>
- </tr>
- </tbody>
- </table>
- <label>
- IP Total: <input type="number" name="attr_IPTotal" value="(@{IP1} + @{IP2} + @{IP3} + @{IP4} + @{IP5})" disabled>
- <input type="hidden" name="attr_IPTotal_max" value="@{Body}">
- </label>
- </div>
- <div class="sheet-col">
- <h1 class="sheet-section">Stuff</h1>
- <textarea name="attr_Stuff"></textarea>
- <label>Assets: $<input type="text" name="attr_Assets" size="10" class="sheet-assets"></label>
- </div>
- </div>
- </div>
- </div>
- <div class="sheet-Continuum">
- <div class="sheet-spanning">
- <h1 class="sheet-section">Spanning</h1>
- <table width="100%">
- <tbody>
- <tr>
- <th>Span:</th>
- <td>
- <input type="number" name="attr_Span" min="0">
- <!--<button type="roll" title="Roll against Span" value="&{template:continuum} {{name=@{Name}}} {{ability=Span}} {{rating=[[@{Span}]]}} {{modifiers=[[?{Modifiers|0}]]}} {{IP=[[([[-1 * @{IPTotal}]])]]}} {{check=[[1d10cs11cf0]]}} {{result=[[@{Span} + (?{Modifiers}) + ([[-1 * @{IPTotal}]]) - 1d10cs1cs[[@{Span}]]cf10]]}}"></button>-->
- <button type="roll" title="Roll against Span" value="!continuum Span|@{Span}|[[ ?{Modifiers not including IP|0} - @{IPTotal}]]"></button>
- </td>
- <th></th>
- <td>
- <input type="number" name="attr_TrueSpan" min="0">
- <!--<button type="roll" title="Roll against True Span" value="&{template:continuum} {{name=@{Name}}} {{ability=TrueSpan}} {{rating=[[@{TrueSpan}]]}} {{modifiers=[[?{Modifiers|0}]]}} {{IP=[[([[-1 * @{IPTotal}]])]]}} {{check=[[1d10cs11cf0]]}} {{result=[[@{TrueSpan} + (?{Modifiers}) + ([[-1 * @{IPTotal}]]) - 1d10cs1cs[[@{TrueSpan}]]cf10]]}}"></button>-->
- <button type="roll" title="Roll against True Span" value="!continuum TrueSpan|@{TrueSpan}|[[ ?{Modifiers not including IP|0} - @{IPTotal}]]"></button>
- </td>
- <th></th>
- <td>
- <!--input type="number" name="attr_TrueSpanProgress" value="0" min="0" max="100"> /100</td-->
- <th>Frag:</th>
- <td>
- <input type="number" name="attr_Frag" disabled value="@{DeliberateFrag} + @{NaturalFrag}">
- <input type="hidden" name="attr_Frag_max" value="8">
- </td>
- <td>Deliberate:</td>
- <td>
- <input type="number" name="attr_DeliberateFrag" value="0" min="0">
- </td>
- <td>Natural:</td>
- <td>
- <input type="number" name="attr_NaturalFrag" value="0" min="0">
- </td>
- </tr>
- </tbody>
- </table>
- <fieldset class="repeating_spanskills">
- <table width="100%">
- <tbody>
- <tr>
- <td width="50%"><input type="text" name="attr_SpanSkill"></td>
- <td width="20%">
- <select name="attr_SpanSkillTitle">
- <option selected disabled></option>
- <option value="-2">Untrained</option>
- <option value="0">Novice</option>
- <option value="1">Apprentice</option>
- <option value="2">Journeyman</option>
- <option value="3">Master</option>
- <option value="4">Grandmaster</option>
- <option value="5">Grandmaster + 1</option>
- <option value="6">Grandmaster + 2</option>
- <option value="7">Grandmaster + 3</option>
- <option value="8">Grandmaster + 4</option>
- </select>
- </td>
- <td width="10%">
- <input type="number" name="attr_SpanSkillRating" value="@{Quick} + @{SpanSkillTitle}" disabled>
- <!--<button type="roll" title="Roll against skill" name="attr_SkillRoll" value="&{template:continuum} {{name=@{Name}}} {{ability=@{Skill}}} {{rating=[[@{SkillRating}]]}} {{modifiers=[[?{Modifiers|0}]]}} {{IP=[[([[-1 * @{IPTotal}]])]]}} {{check=[[1d10cs11cf0]]}} {{result=[[@{SkillRating} + (?{Modifiers}) + ([[-1 * @{IPTotal}]]) - 1d10cs1cs[[@{SkillRating}]]cf10]]}}}"></button>-->
- <button type="roll" title="Roll against Span" value="!continuum @{SpanSkill}|@{SpanSkillRating}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]"></button>
- </td>
- <td width="20%">
- <input type="number" name="attr_SpanSkillProgress" value="0" min="0"> /
- <input type="number" name="attr_SpanSkillProgressMax" value="(@{SpanSkillTitle} + 1) * 10" disabled>
- </td>
- </tr>
- </tbody>
- </table>
- </fieldset>
- </div>
- <div class="sheet-yet">
- <h1 class="sheet-section">The Yet</h1>
- <table width="100%">
- <thead>
- <th width="50%">In the Yet</th>
- <th width="5%" style="text-align:center">Done</th></th>
- <th width="5%" style="text-align:center">Frag</th>
- <th width="40%">When (+/-)</th>
- </thead>
- </table>
- <fieldset class="repeating_Yet">
- <table width="100%">
- <tbody>
- <td width="50%"><input type="text" name="attr_InTheYet"></td>
- <td width="5%"><input type="checkbox" name="attr_Done"></td>
- <td width="5%"><input type="number" name="attr_YetFrag" min="0"></td>
- <td width="40%"><input type="text" name="attr_YetWhen"></td>
- </tbody>
- </table>
- </fieldset>
- </div>
- </div>
- <script type="text/worker">
- const buttonlist = ["PersonalData","Social","Combat","Continuum"];
- buttonlist.forEach(button => {
- on(`clicked:${button}`, function() {
- setAttrs({
- sheetTab: button
- });
- });
- });
- </script>
- <script type="text/worker">
- on("change:repeating_landvehicles:landvehicletype", function() { //when the VehicleType dropdown changes
- getAttrs(["repeating_landvehicles_LandVehicleType"], function(values) { //read the value of the selected entry in the VehicleType dropdown
- const landvehicles = {
- none: {quick: 4, safe: 0, risky: 0, dangerous: 0, lifethreatening: 0, crazy: 0, plaid: 0, tons: 0, SPD: 0, IPD: 0, SPC: 0, IPC: 0, SPB: 0, IPB: 0, SPA: 0, IPA: 0},
- Skateboard: {quick: 7, safe: 5, risky: 10, dangerous: 20, lifethreatening: 30, crazy: 40, plaid: 50, tons: 0.0001, SPD: 1, IPD: 0, SPC: 0, IPC: 0, SPB: 0, IPB: 0, SPA: 0, IPA: 0},
- Bicycle: {quick: 6, safe: 15, risky: 25, dangerous: 40, lifethreatening: 50, crazy: 70, plaid: 80, tons: 0.001, SPD: 0, IPD: 0, SPC: 0, IPC: 0, SPB: 0, IPB: 0, SPA: 0, IPA: 0},
- Moped: {quick: 4, safe: 20, risky: 40, dangerous: 50, lifethreatening: 70, crazy: 100, plaid: 120, tons: 0.03, SPD: 0, IPD: 0, SPC: 0, IPC: 0, SPB: 0, IPB: 0, SPA: 0, IPA: 0},
- Motorcycle: {quick: 10, safe: 30, risky: 50, dangerous: 75, lifethreatening: 100, crazy: 130, plaid: 50, tons: 0.5, SPD: 0, IPD: 0, SPC: 0, IPC: 0, SPB: 0, IPB: 0, SPA: 0, IPA: 0},
- Hog: {quick: 7, safe: 30, risky: 60, dangerous: 80, lifethreatening: 110, crazy: 150, plaid: 180, tons: 0.7, SPD: 0, IPD: 0, SPC: 0, IPC: 0, SPB: 0, IPB: 0, SPA: 0, IPA: 0},
- CompactCar: {quick: 4, safe: 30, risky: 50, dangerous: 70, lifethreatening: 90, crazy: 120, plaid: 140, tons: 1.3, SPD: 0, IPD: 0, SPC: 0, IPC: 0, SPB: 0, IPB: 0, SPA: 0, IPA: 0},
- MediumCar: {quick: 6, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 130, plaid: 150, tons: 1.5, SPD: 0, IPD: 0, SPC: 0, IPC: 0, SPB: 0, IPB: 0, SPA: 0, IPA: 0},
- SUV: {quick: 6, safe: 20, risky: 50, dangerous: 70, lifethreatening: 90, crazy: 120, plaid: 150, tons: 2.4, SPD: 0, IPD: 0, SPC: 0, IPC: 0, SPB: 0, IPB: 0, SPA: 0, IPA: 0},
- Van: {quick: 5, safe: 30, risky: 50, dangerous: 70, lifethreatening: 100, crazy: 120, plaid: 140, tons: 6, SPD: 0, IPD: 0, SPC: 0, IPC: 0, SPB: 0, IPB: 0, SPA: 0, IPA: 0},
- SmallTruck: {quick: 4, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 110, plaid: 120, tons: 12, SPD: 0, IPD: 0, SPC: 0, IPC: 0, SPB: 0, IPB: 0, SPA: 0, IPA: 0},
- Truck: {quick: 3, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 110, plaid: 120, tons: 25, SPD: 0, IPD: 0, SPC: 0, IPC: 0, SPB: 0, IPB: 0, SPA: 0, IPA: 0},
- Bus: {quick: 3, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 110, plaid: 120, tons: 17, SPD: 0, IPD: 0, SPC: 0, IPC: 0, SPB: 0, IPB: 0, SPA: 0, IPA: 0}
- };
- const LandVehicleType = values.LandVehicleType; //make a temp variable called "VehicleTypeValue" and store the value of VehicleType in it. If not selected, 0
- const thisLandVehicle = landvehicles[values.repeating_landvehicles_LandVehicleType] || landvehicles['none'];
- setAttrs({
- "repeating_landvehicles_LandVehicleQuick": thisLandVehicle.quick, //pass VehicleTypeValue into VehicleSpeedSafe
- "repeating_landvehicles_LandVehicleSpeedSafe": thisLandVehicle.safe,
- "repeating_landvehicles_LandVehicleSpeedRisky": thisLandVehicle.risky,
- "repeating_landvehicles_LandVehicleSpeedDangerous": thisLandVehicle.dangerous,
- "repeating_landvehicles_LandVehicleSpeedLifeThreatening": thisLandVehicle.lifethreatening,
- "repeating_landvehicles_LandVehicleSpeedCrazy": thisLandVehicle.crazy,
- "repeating_landvehicles_LandVehicleSpeedPlaid": thisLandVehicle.plaid,
- "repeating_landvehicles_LandVehicleWeight": thisLandVehicle.tons,
- "repeating_landvehicles_LandVehicleSPD": thisLandVehicle.SPD,
- "repeating_landvehicles_LandVehicleIPD": thisLandVehicle.IPD,
- "repeating_landvehicles_LandVehicleSPC": thisLandVehicle.SPC,
- "repeating_landvehicles_LandVehicleIPC": thisLandVehicle.IPC,
- "repeating_landvehicles_LandVehicleSPB": thisLandVehicle.SPB,
- "repeating_landvehicles_LandVehicleIPB": thisLandVehicle.IPB,
- "repeating_landvehicles_LandVehicleSPA": thisLandVehicle.SPA,
- "repeating_landvehicles_LandVehicleIPA": thisLandVehicle.IPA
- });
- });
- });
- on("change:repeating_airvehicles:airvehicletype", function() { //when the VehicleType dropdown changes
- getAttrs(["repeating_airvehicles_AirVehicleType"], function(values) { //read the value of the selected entry in the VehicleType dropdown
- const airvehicles = {
- none: {quick: 4, safe: 0, risky: 0, dangerous: 0, lifethreatening: 0, crazy: 0, plaid: 0, tons: 0, SP: 0, armor: 0},
- Jumbo_Passenger_Jet: {quick: 1, safe: 5, risky: 10, dangerous: 20, lifethreatening: 30, crazy: 40, plaid: 50, tons: 0.0001, SP: 1, armor: 0},
- MidSize_Passenger_Jet: {quick: 1, safe: 15, risky: 25, dangerous: 40, lifethreatening: 50, crazy: 70, plaid: 80, tons: 0.001, SP: 2, armor: 0},
- Light_Passenger_Jet: {quick: 2, safe: 20, risky: 40, dangerous: 50, lifethreatening: 70, crazy: 100, plaid: 120, tons: 0.03, SP: 5, armor: 1},
- Passenger_Turboprop: {quick: 2, safe: 30, risky: 50, dangerous: 75, lifethreatening: 100, crazy: 130, plaid: 50, tons: 0.5, SP: 0, armor: 1},
- Cargo: {quick: 1, safe: 30, risky: 60, dangerous: 80, lifethreatening: 110, crazy: 150, plaid: 180, tons: 0.7, SP: 8, armor: 1},
- Very_Light_Jet: {quick: 6, safe: 30, risky: 50, dangerous: 70, lifethreatening: 90, crazy: 120, plaid: 140, tons: 1.3, SP: 13, armor: 3},
- Light_Business_Jet: {quick: 3, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 130, plaid: 150, tons: 1.5, SP: 15, armor: 3},
- MidSize_Business_Jet: {quick: 2, safe: 20, risky: 50, dangerous: 70, lifethreatening: 90, crazy: 120, plaid: 150, tons: 2.4, SP: 24, armor: 4},
- Heavy_Business_Jet: {quick: 1, safe: 30, risky: 50, dangerous: 70, lifethreatening: 100, crazy: 120, plaid: 140, tons: 6, SP: 30, armor: 3},
- Military_Jet: {quick: 7, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 110, plaid: 120, tons: 12, SP: 40, armor: 2},
- Private_Single_Engine: {quick: 6, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 110, plaid: 120, tons: 25, SP: 60, armor: 4},
- Twin_Turboprop: {quick: 5, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 110, plaid: 120, tons: 25, SP: 60, armor: 4},
- Aerobatic: {quick: 8, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 110, plaid: 120, tons: 25, SP: 60, armor: 4},
- Amphibious: {quick: 3, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 110, plaid: 120, tons: 25, SP: 60, armor: 4},
- Military_Turboprop: {quick: 8, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 110, plaid: 120, tons: 17, SP: 50, armor: 4}
- };
- const AirVehicleType = values.AirVehicleType; //make a temp variable called "VehicleTypeValue" and store the value of VehicleType in it. If not selected, 0
- const thisAirVehicle = airvehicles[values.repeating_airvehicles_AirVehicleType] || airvehicles['none'];
- setAttrs({
- "repeating_airvehicles_AirVehicleQuick": thisAirVehicle.quick, //pass VehicleTypeValue into VehicleSpeedSafe
- "repeating_airvehicles_AirVehicleSpeedSafe": thisAirVehicle.safe,
- "repeating_airvehicles_AirVehicleSpeedRisky": thisAirVehicle.risky,
- "repeating_airvehicles_AirVehicleSpeedDangerous": thisAirVehicle.dangerous,
- "repeating_airvehicles_AirVehicleSpeedLifeThreatening": thisAirVehicle.lifethreatening,
- "repeating_airvehicles_AirVehicleSpeedCrazy": thisAirVehicle.crazy,
- "repeating_airvehicles_AirVehicleSpeedPlaid": thisAirVehicle.plaid,
- "repeating_airvehicles_AirVehicleWeight": thisAirVehicle.tons,
- "repeating_airvehicles_AirVehicleSp": thisAirVehicle.SP,
- "repeating_airvehicles_AirVehicleArmor": thisAirVehicle.armor
- });
- });
- });
- on("change:repeating_watervehicles:watervehicletype", function() { //when the VehicleType dropdown changes
- getAttrs(["repeating_watervehicles_WaterVehicleType"], function(values) { //read the value of the selected entry in the VehicleType dropdown
- const watervehicles = {
- none: {quick: 4, safe: 0, risky: 0, dangerous: 0, lifethreatening: 0, crazy: 0, plaid: 0, tons: 0, SP: 0, armor: 0},
- Class_A_up_to_5m: {quick: 7, safe: 5, risky: 10, dangerous: 20, lifethreatening: 30, crazy: 40, plaid: 50, tons: 0.0001, SP: 1, armor: 0},
- Class_1_5m_to_8m: {quick: 6, safe: 15, risky: 25, dangerous: 40, lifethreatening: 50, crazy: 70, plaid: 80, tons: 0.001, SP: 2, armor: 0},
- Class_2_8m_to_12m: {quick: 4, safe: 20, risky: 40, dangerous: 50, lifethreatening: 70, crazy: 100, plaid: 120, tons: 0.03, SP: 5, armor: 1},
- Class_3_12m_to_20m: {quick: 10, safe: 30, risky: 50, dangerous: 75, lifethreatening: 100, crazy: 130, plaid: 50, tons: 0.5, SP: 0, armor: 1},
- Class_4_20m_to_40m: {quick: 7, safe: 30, risky: 60, dangerous: 80, lifethreatening: 110, crazy: 150, plaid: 180, tons: 0.7, SP: 8, armor: 1},
- Class_5_40m_to_80m: {quick: 4, safe: 30, risky: 50, dangerous: 70, lifethreatening: 90, crazy: 120, plaid: 140, tons: 1.3, SP: 13, armor: 3},
- Class_6_80m_to_140m: {quick: 6, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 130, plaid: 150, tons: 1.5, SP: 15, armor: 3},
- Class_7_140m_to_200m: {quick: 6, safe: 20, risky: 50, dangerous: 70, lifethreatening: 90, crazy: 120, plaid: 150, tons: 2.4, SP: 24, armor: 4},
- Class_8_200m_to_260m: {quick: 5, safe: 30, risky: 50, dangerous: 70, lifethreatening: 100, crazy: 120, plaid: 140, tons: 6, SP: 30, armor: 3},
- Class_9_260m_to_340m: {quick: 4, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 110, plaid: 120, tons: 12, SP: 40, armor: 2},
- Class_10_340m_to_420m: {quick: 3, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 110, plaid: 120, tons: 25, SP: 60, armor: 4},
- Class_11_420m_to_500m: {quick: 3, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 110, plaid: 120, tons: 17, SP: 50, armor: 4}
- };
- const WaterVehicleType = values.WaterVehicleType; //make a temp variable called "VehicleTypeValue" and store the value of VehicleType in it. If not selected, 0
- const thisWaterVehicle = watervehicles[values.repeating_watervehicles_WaterVehicleType] || watervehicles['none'];
- setAttrs({
- "repeating_watervehicles_WaterVehicleQuick": thisWaterVehicle.quick, //pass VehicleTypeValue into VehicleSpeedSafe
- "repeating_watervehicles_WaterVehicleSpeedSafe": thisWaterVehicle.safe,
- "repeating_watervehicles_WaterVehicleSpeedRisky": thisWaterVehicle.risky,
- "repeating_watervehicles_WaterVehicleSpeedDangerous": thisWaterVehicle.dangerous,
- "repeating_watervehicles_WaterVehicleSpeedLifeThreatening": thisWaterVehicle.lifethreatening,
- "repeating_watervehicles_WaterVehicleSpeedCrazy": thisWaterVehicle.crazy,
- "repeating_watervehicles_WaterVehicleSpeedPlaid": thisWaterVehicle.plaid,
- "repeating_watervehicles_WaterVehicleWeight": thisWaterVehicle.tons,
- "repeating_watervehicles_WaterVehicleSp": thisWaterVehicle.SP,
- "repeating_watervehicles_WaterVehicleArmor": thisWaterVehicle.armor
- });
- });
- });
- on("change:repeating_rangedWeapons:rangedweapontype", function() { //when the WeaponType dropdown changes
- getAttrs(["repeating_rangedweapons_RangedWeaponType"], function(values) { //read the value of the selected entry in the WeaponType dropdown
- const rangedWeapons = {
- none: {rangedammo: 0, rangedrof: 0, rangedconceal: 0, rangeddamaged: 0, rangeddamagec: 0, rangeddamageb: 0, rangeddamagea: 0},
- Derringer: {rangedammo: 2, rangedrof: 1, rangedconceal: -4, rangeddamaged: 1, rangeddamagec: 1, rangeddamageb: 2, rangeddamagea: 3},
- Revolver: {rangedammo: 6, rangedrof: 1, rangedconceal: -2, rangeddamaged: 1, rangeddamagec: 2, rangeddamageb: 3, rangeddamagea: 4},
- Semi_Auto: {rangedammo: 15, rangedrof: 2, rangedconceal: -2, rangeddamaged: 1, rangeddamagec: 2, rangeddamageb: 3, rangeddamagea: 4},
- Heavy_Pistol: {rangedammo: 12, rangedrof: 1, rangedconceal: 0, rangeddamaged: 2, rangeddamagec: 4, rangeddamageb: 6, rangeddamagea: 8},
- Hungting_Rifle: {rangedammo: 8, rangedrof: 1, rangedconceal: 6, rangeddamaged: 2, rangeddamagec: 4, rangeddamageb: 6, rangeddamagea: 9},
- Shotgun: {rangedammo: 8, rangedrof: 1, rangedconceal: 4, rangeddamaged: 1, rangeddamagec: 3, rangeddamageb: 5, rangeddamagea: 7},
- Shotgun_solid_slugs: {rangedammo: 8, rangedrof: 1, rangedconceal: 4, rangeddamaged: 2, rangeddamagec: 5, rangeddamageb: 7, rangeddamagea: 10},
- Assult_Rifle: {rangedammo: 40, rangedrof: 5, rangedconceal: 0, rangeddamaged: 2, rangeddamagec: 3, rangeddamageb: 5, rangeddamagea: 7},
- SMG: {rangedammo: 30, rangedrof: 3, rangedconceal: 0, rangeddamaged: 1, rangeddamagec: 3, rangeddamageb: 4, rangeddamagea: 6},
- LMG: {rangedammo: 100, rangedrof: 10, rangedconceal: 4, rangeddamaged: 2, rangeddamagec: 4, rangeddamageb: 6, rangeddamagea: 8},
- HMG: {rangedammo: 100, rangedrof: 10, rangedconceal: 6, rangeddamaged: 3, rangeddamagec: 5, rangeddamageb: 7, rangeddamagea: 10},
- Taser: {rangedammo: 2, rangedrof: 1, rangedconceal: -1, rangeddamaged: 1, rangeddamagec: 1, rangeddamageb: 2, rangeddamagea: 4},
- Crossbow: {rangedammo: 1, rangedrof: 1, rangedconceal: 6, rangeddamaged: 1, rangeddamagec: 2, rangeddamageb: 5, rangeddamagea: 7}
- };
- const RangedWeaponType = values.RangedWeaponType; //make a temp variable called "RangedWeaponTypeValue" and store the value of RangedWeaponType in it. If not selected, 0
- const thisRangedWeapon = rangedWeapons[values.repeating_rangedweapons_RangedWeaponType] || rangedweapons['none'];
- setAttrs({
- "repeating_rangedWeapons_RangedAmmo": thisRangedWeapon.rangedammo, //pass VehicleTypeValue into VehicleSpeedSafe
- "repeating_rangedWeapons_RangedRoF": thisRangedWeapon.rangedrof,
- "repeating_rangedWeapons_RangedConceal": thisRangedWeapon.rangedconceal,
- "repeating_rangedWeapons_RangedDamageD": thisRangedWeapon.rangeddamaged,
- "repeating_rangedWeapons_RangedDamageC": thisRangedWeapon.rangeddamagec,
- "repeating_rangedWeapons_RangedDamageB": thisRangedWeapon.rangeddamageb,
- "repeating_rangedWeapons_RangedDamageA": thisRangedWeapon.rangeddamagea
- });
- });
- });
- on("change:repeating_meleeWeapons:meleeweapontype", function() { //when the WeaponType dropdown changes
- getAttrs(["repeating_meleeweapons_MeleeWeaponType"], function(values) { //read the value of the selected entry in the WeaponType dropdown
- const meleeWeapons = {
- none: {meleeconceal: 0},
- Knife: {meleeconceal: -4},
- Sword_small: {meleeconceal: -1},
- Sword_medium: {meleeconceal: 1},
- Sword_large: {meleeconceal: 3},
- Club: {meleeconceal: 1},
- Staff: {meleeconceal: 5},
- Spear: {meleeconceal: 6},
- Polearm: {meleeconceal: 5}
- };
- const MeleeWeaponType = values.MeleeWeaponType; //make a temp variable called "RangedWeaponTypeValue" and store the value of RangedWeaponType in it. If not selected, 0
- const thisMeleeWeapon = meleeWeapons[values.repeating_meleeweapons_MeleeWeaponType] || meleeweapons['none'];
- setAttrs({
- "repeating_meleeWeapons_MeleeConceal": thisMeleeWeapon.meleeconceal
- });
- });
- });
- //on("change:repeating_meleeWeapons:meleeweaponrating", function() { //when the weapon rating changes
- //getAttrs(["repeating_meleeweapons_MeleeWeaponType"], function(values) { //read the value of the selected entry in the WeaponType dropdown
- on("change:repeating_meleeWeapons:meleeweaponrating change:repeating_meleeWeapons:meleeweapontype", function() {
- getAttrs(["repeating_meleeweapons_MeleeWeaponRating", "repeating_meleeweapons_MeleeWeaponType"], function(values) {
- let rating = parseInt(values.repeating_meleeweapons_MeleeWeaponRating) ||0;
- let damaged = Math.round(rating * 0.25);
- let damagec = Math.round(rating * 0.5);
- let damageb = Math.round(rating * 0.75);
- let damagea = Math.round(rating);
- const meleeWeapons = {
- none: {meleedamaged: 0, meleedamagec: 0, meleedamageb: 0, meleedamagea: 0},
- Knife: {meleedamaged: (damaged), meleedamagec: (damagec), meleedamageb: (damageb), meleedamagea: (damagea)},
- Sword_small: {meleedamaged: (damaged), meleedamagec: (damagec), meleedamageb: (damageb), meleedamagea: (damagea)},
- Sword_medium: {meleedamaged: (damaged), meleedamagec: (damagec), meleedamageb: (damageb), meleedamagea: (damagea)},
- Sword_large: {meleedamaged: (damaged), meleedamagec: (damagec), meleedamageb: (damageb), meleedamagea: (damagea)},
- Club: {meleedamaged: (damaged), meleedamagec: (damagec), meleedamageb: (damageb), meleedamagea: (damagea)},
- Staff: {meleedamaged: (damaged), meleedamagec: (damagec), meleedamageb: (damageb), meleedamagea: (damagea)},
- Spear: {meleedamaged: (damaged), meleedamagec: (damagec), meleedamageb: (damageb), meleedamagea: (damagea)},
- Polearm: {meleedamaged: (damaged), meleedamagec: (damagec), meleedamageb: (damageb), meleedamagea: (damagea)}
- };
- const MeleeWeaponType = values.MeleeWeaponType; //make a temp variable called "RangedWeaponTypeValue" and store the value of RangedWeaponType in it. If not selected, 0
- const thisMeleeWeapon = meleeWeapons[values.repeating_meleeweapons_MeleeWeaponType] || meleeweapons['none'];
- setAttrs({
- "repeating_meleeWeapons_MeleeDamageD": thisMeleeWeapon.meleedamaged,
- "repeating_meleeWeapons_MeleeDamageC": thisMeleeWeapon.meleedamagec,
- "repeating_meleeWeapons_MeleeDamageB": thisMeleeWeapon.meleedamageb,
- "repeating_meleeWeapons_MeleeDamageA": thisMeleeWeapon.meleedamagea
- });
- });
- });
- // a function to construct a string on the on(change) line
- const buildChanges = (list, prefix = '', section = '') => list.map(item => `change:${(section ? `repeating_${section.toLowerCase()}:`: '')}${prefix.toLowerCase()}${item.toLowerCase()}`).join(' ');
- const clog = (message) => console.log(`%c ${message}`, `color:green; font-weight:bold`);
- const stats = ['Farsense', 'Creativity', 'Redaction', 'PK', 'Coercion', 'Dream'];
- on(`${buildChanges(stats)} ${buildChanges(stats, 'OperantSkillUses', 'operantskills')} change:repeating_operantskills:operantskilltitle change:repeating_operantskills:operantskillname`, (event) => {
- // event tells us which attribute changed, and that tells us what we need to do in the worker.
- getSectionIDs("repeating_operantskills", idarray => {
- // loop through the repeating section to get the row ides and full names of the relevant repeating attributes
- const fieldnames = [];
- idarray.forEach(id => {
- fieldnames.push(`repeating_operantskills_${id}_OperantSkillTitle`);
- fieldnames.push(`repeating_operantskills_${id}_OperantSkillRating`);
- stats.forEach(stat => fieldnames.push(
- `repeating_operantskills_${id}_OperantSkillUses${stat}`,
- `repeating_operantskills_${id}_Skill${stat}`
- ));
- });
- getAttrs([...stats, ...fieldnames], v => {
- const output = {};
- // get the values of the six core stats.
- const statValues = {};
- stats.forEach(stat => {
- statValues[stat] = parseInt(v[stat]) || 0;
- });
- // check the stat values in the section are correct
- idarray.forEach(id => {
- stats.forEach(stat => {
- const statvalue = parseInt(v[`repeating_operantskills_${id}_Skill${stat}`]) || 0;
- if(statvalue !== statValues[stat]) output[`repeating_operantskills_${id}_Skill${stat}`] = statValues[stat];
- });
- });
- // now calculate the OperantSkillRating for each row
- idarray.forEach(id => {
- const oldvalue = parseInt(v[`repeating_operantskills_${id}_OperantSkillRating`]) || 0;
- const title = parseInt(v[`repeating_operantskills_${id}_OperantSkillTitle`]) || 0;
- let maxValue = 0;
- // loop through stats, see if they are checked, and if so add their value to statValues
- stats.forEach(stat => {
- if(parseInt(v[`repeating_operantskills_${id}_OperantSkillUses${stat}`]) && statValues[stat] > maxValue) maxValue = statValues[stat];
- });
- // now add the highest stat to the title/level
- const newvalue = maxValue + title;
- if (newvalue != oldvalue) output[`repeating_operantskills_${id}_OperantSkillRating`] = newvalue;
- });
- setAttrs(output);
- });
- });
- });
- </script>
Advertisement
Add Comment
Please, Sign In to add comment