speed down + remove passive

This commit is contained in:
Krzysztof Stankiewicz 2023-12-15 15:57:59 +01:00
parent f27f7c2143
commit e310f6898a
4 changed files with 285 additions and 271 deletions

View file

@ -102,7 +102,7 @@ func parseMonster(r *http.Request) model.Monster {
Con: r.FormValue("saveCon"),
Wis: r.FormValue("saveWis"),
Str: r.FormValue("saveStr"),
Cha: r.FormValue("saveCha"),
Cha: checkCheckbox("cha", r),
Int: r.FormValue("saveInt"),
},
Skill: model.Skill{

View file

@ -68,12 +68,12 @@ func SkillCalculationHandler(content embed.FS) http.HandlerFunc {
"sleightOfHand": strconv.Itoa(calcAbilityScore(dex) + crBonus),
"stealth": strconv.Itoa(calcAbilityScore(dex) + crBonus),
"survival": strconv.Itoa(calcAbilityScore(wis) + crBonus),
"saveStr": strconv.Itoa(calcAbilityScore(str)),
"saveWis": strconv.Itoa(calcAbilityScore(wis)),
"saveCon": strconv.Itoa(calcAbilityScore(con)),
"saveInt": strconv.Itoa(calcAbilityScore(int)),
"saveCha": strconv.Itoa(calcAbilityScore(cha)),
"saveDex": strconv.Itoa(calcAbilityScore(dex)),
"saveStr": strconv.Itoa(calcAbilityScore(str) + crBonus),
"saveWis": strconv.Itoa(calcAbilityScore(wis) + crBonus),
"saveCon": strconv.Itoa(calcAbilityScore(con) + crBonus),
"saveInt": strconv.Itoa(calcAbilityScore(int) + crBonus),
"saveCha": strconv.Itoa(calcAbilityScore(cha) + crBonus),
"saveDex": strconv.Itoa(calcAbilityScore(dex) + crBonus),
}
// Execute template with skill values.

View file

@ -87,60 +87,6 @@
</div>
</div>
</div>
<div class="card tile is-ancestor is-vertical">
<header class="card-header">
<p class="card-header-title">
Speed
</p>
</header>
<div class="card-content">
<div class="content">
<div class="tile is-ancestor">
<div class="tile is-parent">
<div class="tile is-child field">
<label for="walk">Walk:</label>
<div class="control">
<input type="number" name="walk" required class="input input-bordered w-full max-w-xs">
</div>
</div>
</div>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="burrow">Burrow:</label>
<div class="control">
<input type="number" name="burrow" required class="input input-bordered w-full max-w-xs">
</div>
</div>
</div>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="climb">Climb:</label>
<div class="control">
<input type="number" name="climb" required class="input input-bordered w-full max-w-xs">
</div>
</div>
</div>
</div>
<div class="tile is-ancestor">
<div class="tile is-parent">
<div class="tile is-child field">
<label for="fly">Fly:</label>
<div class="control">
<input type="number" name="fly" required class="input input-bordered w-full max-w-xs">
</div>
</div>
</div>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="swim">Swim:</label>
<div class="control">
<input type="number" name="swim" required class="input input-bordered w-full max-w-xs">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="tile is-ancestor">
<div class="tile is-parent">
@ -213,6 +159,63 @@
<div id="skills" class="tile is-ancestor is-vertical">
{{ template "skills" }}
</div>
<div class="card tile is-child is-ancestor ">
<div class="tile is-parent is-vertical">
<header class="card-header">
<p class="card-header-title">
Speed
</p>
</header>
<div class="card-content">
<div class="content">
<div class="tile is-ancestor">
<div class="tile is-parent">
<div class="tile is-child field">
<label for="walk">Walk:</label>
<div class="control">
<input type="number" name="walk" required class="input input-bordered w-full max-w-xs">
</div>
</div>
</div>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="burrow">Burrow:</label>
<div class="control">
<input type="number" name="burrow" required class="input input-bordered w-full max-w-xs">
</div>
</div>
</div>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="climb">Climb:</label>
<div class="control">
<input type="number" name="climb" required class="input input-bordered w-full max-w-xs">
</div>
</div>
</div>
</div>
<div class="tile is-ancestor">
<div class="tile is-parent">
<div class="tile is-child field">
<label for="fly">Fly:</label>
<div class="control">
<input type="number" name="fly" required class="input input-bordered w-full max-w-xs">
</div>
</div>
</div>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="swim">Swim:</label>
<div class="control">
<input type="number" name="swim" required class="input input-bordered w-full max-w-xs">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="tile is-ancestor">
<div class="tile is-parent">
<div class="tile is-child field">

View file

@ -1,254 +1,265 @@
{{ define "skills" }}
<div class="tile is-parent">
<div class="card tile is-child is-ancestor is-vertical">
<header class="card-header">
<p class="card-header-title">
Save
</p>
</header>
<div class="card-content">
<div class="content">
<div class="card tile is-child is-ancestor is-vertical">
<header class="card-header">
<p class="card-header-title">
Save
</p>
</header>
<div class="card-content">
<div class="content">
<div class="tile is-ancestor">
<div class="tile is-parent gap">
<div class="tile is-child field">
<label for="saveDex">Dex:</label>
<div class="control">
<input type="text" name="saveDex" required class="input input-bordered w-full max-w-xs"
value="{{.saveDex}}">
</div>
</div>
</div>
<div class="tile is-parent gap">
<div class="tile is-child field">
<label for="saveCon">Con:</label>
<div class="control">
<input type="text" name="saveCon" required class="input input-bordered w-full max-w-xs"
value="{{.saveCon}}">
</div>
</div>
</div>
<div class="tile is-parent gap">
<div class="tile is-child field">
<label for="saveWis">Wis:</label>
<div class="control">
<input type="text" name="saveWis" required class="input input-bordered w-full max-w-xs"
value="{{.saveWis}}">
</div>
</div>
</div>
</div>
</div>
<div class="tile is-ancestor">
<div class="tile is-parent gap">
<div class="tile is-child field">
<label for="saveDex">Dex:</label>
<label for="saveCha">Cha:</label>
<div class="control">
<input type="text" name="saveDex" required class="input input-bordered w-full max-w-xs" value="{{.saveDex}}">
<input type="text" name="saveCha" required class="input input-bordered w-full max-w-xs"
value="{{.saveCha}}">
</div>
</div>
</div>
<div class="tile is-parent gap">
<div class="tile is-child field">
<label for="saveCon">Con:</label>
<label for="saveInt">Int:</label>
<div class="control">
<input type="text" name="saveCon" required class="input input-bordered w-full max-w-xs" value="{{.saveCon}}">
<input type="text" name="saveInt" required class="input input-bordered w-full max-w-xs"
value="{{.saveInt}}">
</div>
</div>
</div>
<div class="tile is-parent gap">
<div class="tile is-child field">
<label for="saveWis">Wis:</label>
<label for="saveStr">Str:</label>
<div class="control">
<input type="text" name="saveWis" required class="input input-bordered w-full max-w-xs" value="{{.saveWis}}">
<input type="text" name="saveStr" required class="input input-bordered w-full max-w-xs"
value="{{.saveStr}}">
</div>
</div>
</div>
</div>
</div>
<div class="tile is-ancestor">
<div class="tile is-parent gap">
<div class="tile is-child field">
<label for="saveCha">Cha:</label>
<div class="control">
<input type="text" name="saveCha" required class="input input-bordered w-full max-w-xs" value="{{.saveCha}}">
</div>
</div>
</div>
<div class="tile is-parent gap">
<div class="tile is-child field">
<label for="saveInt">Int:</label>
<div class="control">
<input type="text" name="saveInt" required class="input input-bordered w-full max-w-xs" value="{{.saveInt}}">
</div>
</div>
</div>
<div class="tile is-parent gap">
<div class="tile is-child field">
<label for="saveStr">Str:</label>
<div class="control">
<input type="text" name="saveStr" required class="input input-bordered w-full max-w-xs" value="{{.saveStr}}">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="tile is-parent">
<div class="card tile is-child is-ancestor is-vertical">
<header class="card-header">
<p class="card-header-title">
Skill
</p>
</header>
<div class="card-content">
<div class="content">
<div class="tile is-ancestor">
<div class="tile is-parent">
<div class="tile is-child field">
<label class="checkbox" for="acrobatics"><input type="checkbox" name="checkAcrobatics">Acrobatics:</label>
<div class="control">
<input type="text" name="acrobatics" required class="input input-bordered w-full max-w-xs" value="{{
<div class="card tile is-child is-ancestor is-vertical">
<header class="card-header">
<p class="card-header-title">
Skill
</p>
</header>
<div class="card-content">
<div class="content">
<div class="tile is-ancestor">
<div class="tile is-parent">
<div class="tile is-child field">
<label class="checkbox" for="acrobatics"><input type="checkbox" name="checkAcrobatics">Acrobatics:</label>
<div class="control">
<input type="text" name="acrobatics" required class="input input-bordered w-full max-w-xs" value="{{
.acrobatics }}" readonly>
</div>
</div>
</div>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="animalhandling" class="checkbox"><input type="checkbox" name="checkAnimalhandling">Animal
Handling:</label>
<div class="control">
<input type="text" name="animalhandling" required class="input input-bordered w-full max-w-xs"
value="{{ .animalHandling }}" readonly>
</div>
</div>
</div>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="arcana" class="ceckbox"><input type="checkbox" name="checkArcana">Arcana:</label>
<div class="control">
<input type="text" name="arcana" required class="input input-bordered w-full max-w-xs"
value="{{ .arcana }}" readonly>
</div>
</div>
</div>
</div>
</div>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="animalhandling" class="checkbox"><input type="checkbox" name="checkAnimalhandling">Animal Handling:</label>
<div class="control">
<input type="text" name="animalhandling" required class="input input-bordered w-full max-w-xs"
value="{{ .animalHandling }}" readonly>
<div class="tile is-ancestor">
<div class="tile is-parent">
<div class="tile is-child field">
<label for="athletics" class="checkbox"><input type="checkbox" name="checkAthletics">Athletics:</label>
<div class="control">
<input type="text" name="athletics" required class="input input-bordered w-full max-w-xs"
value="{{ .athletics }}" readonly>
</div>
</div>
</div>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="deception" class="checkbox"><input type="checkbox" name="checkDeception">Deception:</label>
<div class="control">
<input type="text" name="deception" required class="input input-bordered w-full max-w-xs"
value="{{ .deception }}" readonly>
</div>
</div>
</div>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="history" class="checkbox"><input type="checkbox" name="checkHistory">History:</label>
<div class="control">
<input type="text" name="history" required class="input input-bordered w-full max-w-xs"
value="{{ .history }}" readonly>
</div>
</div>
</div>
</div>
</div>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="arcana" class="ceckbox"><input type="checkbox" name="checkArcana">Arcana:</label>
<div class="control">
<input type="text" name="arcana" required class="input input-bordered w-full max-w-xs" value="{{ .arcana }}"
readonly>
<div class="tile is-ancestor">
<div class="tile is-parent">
<div class="tile is-child field">
<label for="insight" class="checkbox"><input type="checkbox" name="checkInsight">Insight:</label>
<div class="control">
<input type="text" name="insight" required class="input input-bordered w-full max-w-xs"
value="{{ .insight }}" readonly>
</div>
</div>
</div>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="intimidation" class="checkbox"><input type="checkbox"
name="checkIntimidation">Intimidation:</label>
<div class="control">
<input type="text" name="intimidation" required class="input input-bordered w-full max-w-xs"
value="{{ .intimidation }}" readonly>
</div>
</div>
</div>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="investigation" class="checkbox"><input type="checkbox"
name="checkInvestigation">Investigation:</label>
<div class="control">
<input type="text" name="investigation" required class="input input-bordered w-full max-w-xs"
value="{{ .investigation }}" readonly>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="tile is-ancestor">
<div class="tile is-parent">
<div class="tile is-child field">
<label for="athletics" class="checkbox"><input type="checkbox" name="checkAthletics">Athletics:</label>
<div class="control">
<input type="text" name="athletics" required class="input input-bordered w-full max-w-xs"
value="{{ .athletics }}" readonly>
<div class="tile is-ancestor">
<div class="tile is-parent">
<div class="tile is-child field">
<label for="medicine" class="checkbox"><input type="checkbox" name="checkMedicine">Medicine:</label>
<div class="control">
<input type="text" name="medicine" required class="input input-bordered w-full max-w-xs"
value="{{ .medicine }}" readonly>
</div>
</div>
</div>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="nature" class="checkbox"><input type="checkbox" name="checkNature">Nature:</label>
<div class="control">
<input type="text" name="nature" required class="input input-bordered w-full max-w-xs"
value="{{ .nature }}" readonly>
</div>
</div>
</div>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="performance" class="checkbox"><input type="checkbox"
name="checkPerformance">Performance:</label>
<div class="control">
<input type="text" name="performance" required class="input input-bordered w-full max-w-xs"
value="{{ .performance }}" readonly>
</div>
</div>
</div>
</div>
</div>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="deception" class="checkbox"><input type="checkbox" name="checkDeception">Deception:</label>
<div class="control">
<input type="text" name="deception" required class="input input-bordered w-full max-w-xs"
value="{{ .deception }}" readonly>
<div class="tile is-ancestor">
<div class="tile is-parent">
<div class="tile is-child field">
<label for="perception" class="checkbox"><input type="checkbox" name="checkPerception">Perception:</label>
<div class="control">
<input type="text" name="perception" required class="input input-bordered w-full max-w-xs"
value="{{ .perception }}" readonly>
</div>
</div>
</div>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="stealth" class="checkbox"><input type="checkbox" name="checkStealth">Stealth:</label>
<div class="control">
<input type="text" name="stealth" required class="input input-bordered w-full max-w-xs"
value="{{ .stealth }}" readonly>
</div>
</div>
</div>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="persuasion" class="checkbox"><input type="checkbox" name="checkPersuasion">Persuasion:</label>
<div class="control">
<input type="text" name="persuasion" required class="input input-bordered w-full max-w-xs"
value="{{ .persuasion }}" readonly>
</div>
</div>
</div>
</div>
</div>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="history" class="checkbox"><input type="checkbox" name="checkHistory">History:</label>
<div class="control">
<input type="text" name="history" required class="input input-bordered w-full max-w-xs"
value="{{ .history }}" readonly>
<div class="tile is-ancestor">
<div class="tile is-parent">
<div class="tile is-child field">
<label for="sleightofhand" class="checkbox"><input type="checkbox" name="checkSleightofhand">Sleight of
Hand:</label>
<div class="control">
<input type="text" name="sleightofhand" required class="input input-bordered w-full max-w-xs"
value="{{.sleightOfHand }}" readonly>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="tile is-ancestor">
<div class="tile is-parent">
<div class="tile is-child field">
<label for="insight" class="checkbox"><input type="checkbox" name="checkInsight">Insight:</label>
<div class="control">
<input type="text" name="insight" required class="input input-bordered w-full max-w-xs"
value="{{ .insight }}" readonly>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="religion" class="checkbox"><input type="checkbox" name="checkReligion">Religion:</label>
<div class="control">
<input type="text" name="religion" required class="input input-bordered w-full max-w-xs"
value="{{ .religion }}" readonly>
</div>
</div>
</div>
</div>
</div>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="intimidation" class="checkbox"><input type="checkbox" name="checkIntimidation">Intimidation:</label>
<div class="control">
<input type="text" name="intimidation" required class="input input-bordered w-full max-w-xs"
value="{{ .intimidation }}" readonly>
</div>
</div>
</div>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="investigation" class="checkbox"><input type="checkbox" name="checkInvestigation">Investigation:</label>
<div class="control">
<input type="text" name="investigation" required class="input input-bordered w-full max-w-xs"
value="{{ .investigation }}" readonly>
</div>
</div>
</div>
</div>
<div class="tile is-ancestor">
<div class="tile is-parent">
<div class="tile is-child field">
<label for="medicine" class="checkbox"><input type="checkbox" name="checkMedicine">Medicine:</label>
<div class="control">
<input type="text" name="medicine" required class="input input-bordered w-full max-w-xs"
value="{{ .medicine }}" readonly>
</div>
</div>
</div>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="nature" class="checkbox"><input type="checkbox" name="checkNature">Nature:</label>
<div class="control">
<input type="text" name="nature" required class="input input-bordered w-full max-w-xs" value="{{ .nature }}"
readonly>
</div>
</div>
</div>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="performance" class="checkbox"><input type="checkbox" name="checkPerformance">Performance:</label>
<div class="control">
<input type="text" name="performance" required class="input input-bordered w-full max-w-xs"
value="{{ .performance }}" readonly>
</div>
</div>
</div>
</div>
<div class="tile is-ancestor">
<div class="tile is-parent">
<div class="tile is-child field">
<label for="perception" class="checkbox"><input type="checkbox" name="checkPerception">Perception:</label>
<div class="control">
<input type="text" name="perception" required class="input input-bordered w-full max-w-xs"
value="{{ .perception }}" readonly>
</div>
</div>
</div>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="stealth" class="checkbox"><input type="checkbox" name="checkStealth">Stealth:</label>
<div class="control">
<input type="text" name="stealth" required class="input input-bordered w-full max-w-xs"
value="{{ .stealth }}" readonly>
</div>
</div>
</div>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="persuasion" class="checkbox"><input type="checkbox" name="checkPersuasion">Persuasion:</label>
<div class="control">
<input type="text" name="persuasion" required class="input input-bordered w-full max-w-xs"
value="{{ .persuasion }}" readonly>
</div>
</div>
</div>
</div>
<div class="tile is-ancestor">
<div class="tile is-parent">
<div class="tile is-child field">
<label for="sleightofhand" class="checkbox"><input type="checkbox" name="checkSleightofhand">Sleight of Hand:</label>
<div class="control">
<input type="text" name="sleightofhand" required class="input input-bordered w-full max-w-xs"
value="{{.sleightOfHand }}" readonly>
</div>
</div>
</div>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="religion" class="checkbox"><input type="checkbox" name="checkReligion">Religion:</label>
<div class="control">
<input type="text" name="religion" required class="input input-bordered w-full max-w-xs"
value="{{ .religion }}" readonly>
</div>
</div>
</div>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="survival" class="checkbox"><input type="checkbox" name="checkSurvival">Survival:</label>
<div class="control">
<input type="text" name="survival" required class="input input-bordered w-full max-w-xs"
value="{{ .survival }}" readonly>
<div class="tile is-parent">
<div class="tile is-child field">
<label for="survival" class="checkbox"><input type="checkbox" name="checkSurvival">Survival:</label>
<div class="control">
<input type="text" name="survival" required class="input input-bordered w-full max-w-xs"
value="{{ .survival }}" readonly>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{{ end }}