From 291cef5dbcd53cf31d4526f2a7d2d007d067db5f Mon Sep 17 00:00:00 2001 From: Djjus <59532170+Djjus@users.noreply.github.com> Date: Sat, 14 Dec 2024 19:05:37 +0000 Subject: [PATCH 01/13] v1.74b --- Warhammer 4e Character Sheet/README.md | 10 ++ .../Warhammer 4e Character Sheet.css | 23 ++- .../Warhammer 4e Character Sheet.html | 131 ++++++++++++------ Warhammer 4e Character Sheet/translation.json | 17 +-- 4 files changed, 116 insertions(+), 65 deletions(-) diff --git a/Warhammer 4e Character Sheet/README.md b/Warhammer 4e Character Sheet/README.md index 8839f9061d7..1ac60706dcc 100644 --- a/Warhammer 4e Character Sheet/README.md +++ b/Warhammer 4e Character Sheet/README.md @@ -82,6 +82,16 @@ Note conditions are not intended for out of combat situations, GM simply makes t ///// ============ Change Log ============ ///// +Dec 16th 2024 v1.74b + +- Fix issue with Dual Wield trigger checkbox not showing correctly in Declare Actions section +- Fix issue with impact/damaging not showing on Attack rolls with Size modifer Large Vs Small +- Fix mixed up Impact/Impale checkboxes on the NPC pages +- Fix Warpstone Quality now only triggered on crit again +- Resolved some issues with dulpicate crit translations +- Cleaned up minor CSS file errors + + Dec 14th 2024 v1.74a - Fix for Conditions not working diff --git a/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.css b/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.css index c0c6c09bec0..5de14839617 100644 --- a/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.css +++ b/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.css @@ -13,7 +13,10 @@ @font-face { font-family: 'WH font'; - src: url(https://fonts.googleapis.com/css?family=EB+Garamond); + font-style: normal; + font-weight: 400; + src: url('https://fonts.gstatic.com/s/ebgaramond/v30/SlGDmQSNjdsmc35JDF1K5E55YMjF_7DPuGi-6_RkCY9_S6w.woff2') format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } .ui-dialog .charactersheet { padding-left: 0px; @@ -1120,12 +1123,10 @@ input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; } -input[type="checkbox"] { - -moz-appearance: checkbox !important; -} input[type="number"] { + -webkit-appearance: textfield; -moz-appearance: textfield; - + appearance: textfield; } input[type=number].sheet-no-spin::-webkit-outer-spin-button, input[type=number].sheet-no-spin::-webkit-inner-spin-button, @@ -1136,7 +1137,9 @@ input[disabled]::-webkit-outer-spin-button { } input[disabled], input[type=number].sheet-no-spin { + -webkit-appearance: textfield; -moz-appearance: textfield; + appearance: textfield; } /* === SELECTS === */ select { @@ -2384,12 +2387,6 @@ select.sheet-inv-select{ } } -input[type=checkbox] { - -webkit-appearance: radio; /* Chrome, Safari, Opera */ - -moz-appearance: radio; /* Firefox */ - -ms-appearance: radio; /* not currently supported */ -} - input[type=text].sheet-underlined { box-shadow: 0px -2px 0px 0px #000000 inset; } @@ -2580,13 +2577,11 @@ input[disabled], input.sheet-pseudo-disabled { background-color: #F9F5F0; cursor: not-allowed; - -moz-appearance: textfield; } input[disabled].sheet-passive-skill-score { background-color: #F2ECDC; cursor: not-allowed; - -moz-appearance: textfield; } .sheet-important-text { @@ -5491,7 +5486,7 @@ input.sheet-condition[value="1"] ~ *.sheet-condition { .sheet-rolltemplate-whfrp2e{ color: black; - font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; + font-family: "WH font"; } .sheet-rolltemplate-whfrp2e .textchatcontainer .inlinerollresult{ diff --git a/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html b/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html index 36689eb244f..8dbc114f555 100644 --- a/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html +++ b/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html @@ -3197,10 +3197,10 @@
- +
- +
@@ -5305,10 +5305,10 @@
- +
- +
@@ -7398,10 +7398,10 @@
- +
- +
@@ -9526,10 +9526,10 @@
- +
- +
@@ -33029,9 +33029,9 @@
Critical Hit{{RTcrit}}{{#rollTotal() sptal2 0}} t{{RTminor}} {{RTmajor}}{{/rollTotal() sptal2 0}}
{{#rollGreater() warpstone 0}} -
Warpstone Crit: Target rolls (+0) Cool/Endurance Test, if failed they gain 1 corruption.
+
Warpstone Crit: Target rolls (+0) Cool/Endurance Test, if failed they gain 1 corruption.
{{/rollGreater() warpstone 0}} - + {{#rollGreater() trapblade 0}}
{{RTtrapblade}}
@@ -33669,6 +33669,9 @@
{{RTtrapblade}}
{{/rollGreater() trapblade 0}} + {{#rollGreater() warpstone 0}} +
+ {{/rollGreater() warpstone 0}} {{#rollGreater() slash 0}}
{{slash}}
{{/rollGreater() slash 0}} @@ -33681,6 +33684,9 @@
{{RTtrapblade}}
{{/rollGreater() trapblade 0}} + {{#rollGreater() warpstone 0}} +
+ {{/rollGreater() warpstone 0}} {{#rollGreater() slash 0}}
{{slash}}
{{/rollGreater() slash 0}} @@ -33693,6 +33699,9 @@
{{RTtrapblade}}
{{/rollGreater() trapblade 0}} + {{#rollGreater() warpstone 0}} +
+ {{/rollGreater() warpstone 0}} {{#rollGreater() slash 0}}
{{slash}}
{{/rollGreater() slash 0}} @@ -33705,6 +33714,9 @@
{{RTtrapblade}}
{{/rollGreater() trapblade 0}} + {{#rollGreater() warpstone 0}} +
+ {{/rollGreater() warpstone 0}} {{#rollGreater() slash 0}}
{{slash}}
{{/rollGreater() slash 0}} @@ -33717,6 +33729,9 @@
{{RTtrapblade}}
{{/rollGreater() trapblade 0}} + {{#rollGreater() warpstone 0}} +
+ {{/rollGreater() warpstone 0}} {{#rollGreater() slash 0}}
{{slash}}
{{/rollGreater() slash 0}} @@ -33729,6 +33744,9 @@
{{RTtrapblade}}
{{/rollGreater() trapblade 0}} + {{#rollGreater() warpstone 0}} +
+ {{/rollGreater() warpstone 0}} {{#rollGreater() slash 0}}
{{slash}}
{{/rollGreater() slash 0}} @@ -33741,6 +33759,9 @@
{{RTtrapblade}}
{{/rollGreater() trapblade 0}} + {{#rollGreater() warpstone 0}} +
+ {{/rollGreater() warpstone 0}} {{#rollGreater() slash 0}}
{{slash}}
{{/rollGreater() slash 0}} @@ -33753,6 +33774,9 @@
{{RTtrapblade}}
{{/rollGreater() trapblade 0}} + {{#rollGreater() warpstone 0}} +
+ {{/rollGreater() warpstone 0}} {{#rollGreater() slash 0}}
{{slash}}
{{/rollGreater() slash 0}} @@ -33765,6 +33789,9 @@
{{RTtrapblade}}
{{/rollGreater() trapblade 0}} + {{#rollGreater() warpstone 0}} +
+ {{/rollGreater() warpstone 0}} {{#rollGreater() slash 0}}
{{slash}}
{{/rollGreater() slash 0}} @@ -33777,51 +33804,75 @@ {{#rollTotal() test 10}}
Critical Hit (Impaled) {{RTcrit}}
+ {{#rollGreater() warpstone 0}} +
+ {{/rollGreater() warpstone 0}}
{{/rollTotal() test 10}} {{#rollTotal() test 20}}
Critical Hit (Impaled) {{RTcrit}}
+ {{#rollGreater() warpstone 0}} +
+ {{/rollGreater() warpstone 0}}
{{/rollTotal() test 20}} {{#rollTotal() test 30}}
Critical Hit (Impaled) {{RTcrit}}
+ {{#rollGreater() warpstone 0}} +
+ {{/rollGreater() warpstone 0}}
{{/rollTotal() test 30}} {{#rollTotal() test 40}}
Critical Hit (Impaled) {{RTcrit}}
+ {{#rollGreater() warpstone 0}} +
+ {{/rollGreater() warpstone 0}}
{{/rollTotal() test 40}} {{#rollTotal() test 50}}
Critical Hit (Impaled) {{RTcrit}}
+ {{#rollGreater() warpstone 0}} +
+ {{/rollGreater() warpstone 0}}
{{/rollTotal() test 50}} {{#rollTotal() test 60}}
Critical Hit (Impaled) {{RTcrit}}
+ {{#rollGreater() warpstone 0}} +
+ {{/rollGreater() warpstone 0}}
{{/rollTotal() test 60}} {{#rollTotal() test 70}}
Critical Hit (Impaled) {{RTcrit}}
+ {{#rollGreater() warpstone 0}} +
+ {{/rollGreater() warpstone 0}}
{{/rollTotal() test 70}} {{#rollTotal() test 80}}
Critical Hit (Impaled) {{RTcrit}}
+ {{#rollGreater() warpstone 0}} +
+ {{/rollGreater() warpstone 0}}
{{/rollTotal() test 80}} {{#rollTotal() test 90}}
Critical Hit (Impaled) {{RTcrit}}
+ {{#rollGreater() warpstone 0}} +
+ {{/rollGreater() warpstone 0}}
{{/rollTotal() test 90}} - {{#rollGreater() warpstone 0}} -
Warpstone Crit: Target rolls (+0) Cool/Endurance Test, if failed they gain 1 corruption.
- {{/rollGreater() warpstone 0}} {{/^rollGreater() test target}} {{/rollTotal() rolltype 4}} {{/^rollWasCrit() test}} @@ -36640,9 +36691,6 @@ {{#rollGreater() furiousassault 0}} {{#RTfuriousassault}}
{{RTfuriousassault}}
{{/RTfuriousassault}} {{/rollGreater() furiousassault 0}} - {{#rollGreater() warpstone 0}} -
Warpstone: On hit cause exposure to Minor Corruption
- {{/rollGreater() warpstone 0}} {{#^rollTotal() tiring 0}}
Tiring
{{/^rollTotal() tiring 0}} @@ -48482,12 +48530,12 @@ if (v.MeleeMode_WoD == 1) {rollPart4 += " {{wod=[[1]]}}";} if (v.MeleeMode_STS == 1) { - if (v.MeleeMode_Aimed == 1) {hitloc = "{{hitlocation=[[1]]}}"; rollPart4 += " {{aimed=[[@{MeleeMode_Aimed}]]}}";} else {hitloc = "{{hitlocation=true}}";} + if (v.MeleeMode_Aimed == 1) {hitloc = "{{hitlocation=[[1]]}}"; rollPart4 += " {{aimed=[[MeleeMode_Aimed}]]}}";} else {hitloc = "{{hitlocation=true}}";} } else { if (v.MeleeMode_Aimed == 1) {hitloc = "{{hitlocation=[[?{Choose a Hit Location|Head,1|Right Arm,2|Left Arm,3|Body,4|Right Leg,5|Left Leg,6}]]}}"; rollPart4 += " {{aimed=[[@{MeleeMode_Aimed}]]}}";} else {hitloc = "{{hitlocation=true}}";} } - if (v.MeleeSizeMod < 0) {rollPart4 += " {{sizemod=[[" + v.MeleeSizeMod + "]]}}";} + if (v.MeleeSizeMod < 0) {rollPart4 += " {{sizemod=[[@{MeleeSizeMod}]]}}";} console.log(hitloc); rollPart = rollPart4.replaceAll('>addsldf<', addsldf).replaceAll('>adddmg<', adddmg).replaceAll('>hitloc<', hitloc).replaceAll('>sitfail<', sitfail).replaceAll('>atype<', atype); @@ -48805,7 +48853,7 @@ on('clicked:meleeattackoff clicked:meleechargeoff clicked:furiousassaultoff clicked:dualwieldoff', (eventInfo) => { if (eventInfo.sourceType === 'sheetworker') return; - getAttrs(["Used_DefenseWeaponSkill", "Talent_AmbidextrousLvl","Used_MeleeTwohanded","Advantageinput","LastRollMain","LastCritRoll", "Talent_BattleRageLvl", "Talent_FrenzyLvl", "MeleeMode_Underminer", "MeleeMode_Frenzy", "MeleeMode_VsObject", "MeleeMode_Infight", "MeleeMode_Drilled", "MeleeMode_Charging", "MeleeMode_DualWield", "Used_MeleeBonus", "Used_DefenseBonus", "MeleeMode_STS", "MeleeMode_Aimed", "GroupAdv", "CritTable", "MeleeOffType"], function(values) { + getAttrs(["Used_DefenseWeaponSkill", "Talent_AmbidextrousLvl","Used_MeleeTwohanded","Advantageinput","LastRollMain","LastCritRoll", "Talent_BattleRageLvl", "Talent_FrenzyLvl", "MeleeMode_Underminer", "MeleeMode_Frenzy", "MeleeMode_VsObject", "MeleeMode_Infight", "MeleeMode_Drilled", "MeleeMode_Charging", "MeleeMode_DualWield", "Used_MeleeBonus", "Used_DefenseBonus", "MeleeMode_STS", "MeleeMode_Aimed", "GroupAdv", "CritTable", "MeleeOffType", "MeleeSizeMod"], function(values) { prevcrit = JSON.stringify(values["LastCritRoll"])||0; if (prevcrit >= 1 && prevcrit <= 9) { @@ -49061,6 +49109,8 @@ if (values.MeleeMode_Aimed == 1) {hitloc = "{{hitlocation=[[?{Choose a Hit Location|Head,1|Right Arm,2|Left Arm,3|Body,4|Right Leg,5|Left Leg,6}]]}}"; rollPart4 += " {{aimed=[[@{MeleeMode_Aimed}]]}}";} else {hitloc = "{{hitlocation=true}}";} } + if (v.MeleeSizeMod < 0) {rollPart4 += " {{sizemod=[[@{MeleeSizeMod}]]}}";} + let rollPart = rollPart4.replaceAll('>ambi<', ambipen).replaceAll('>addsldf<', addsldf).replaceAll('>adddmg<', adddmg).replaceAll('>hitloc<', hitloc).replaceAll('>sitfail<', sitfail).replaceAll('>atype<', atype); console.log(rollPart); @@ -51439,10 +51489,10 @@ if (critroll > 9 && critroll < 16) {critname += getTranslationByKey('RINGING-STRIKE'); critdisc += getTranslationByKey('RINGING-STRIKE-DESC-UNARMED'); critdmg += 1 ;} if (critroll > 15 && critroll < 21) {critname += getTranslationByKey('BLACK-EYE'); critdisc += getTranslationByKey('BLACK-EYE-DESC-UNARMED'); critdmg = 1 ;} if (critroll > 20 && critroll < 26) {critname += getTranslationByKey('BRUISED-JAW'); critdisc += getTranslationByKey('BRUISED-JAW-DESC-UNARMED'); critdmg += 2 ;} - if (critroll > 25 && critroll < 31) {critname += getTranslationByKey('HEAVY-BRUISING'); critdisc += getTranslationByKey('HEAVY-BRUISING-DESC-UNARMED'); critdmg += 2 ;} + if (critroll > 25 && critroll < 31) {critname += getTranslationByKey('HEAVY-BRUISING'); critdisc += getTranslationByKey('HEAVY-BRUISING-DESC-UNARMED-HEAD'); critdmg += 2 ;} if (critroll > 30 && critroll < 36) {critname += getTranslationByKey('EYE-POKE'); critdisc += getTranslationByKey('EYE-POKE-DESC-UNARMED'); critdmg += 2 ;} if (critroll > 35 && critroll < 41) {critname += getTranslationByKey('FRACTURED-JAW'); critdisc += getTranslationByKey('FRACTURED-JAW-DESC-UNARMED'); critdmg += 2 ;} - if (critroll > 40 && critroll < 46) {critname += getTranslationByKey('BAD-CUT'); critdisc += getTranslationByKey('BAD-CUT-DESC-UNARMED'); critdmg += 3 ;} + if (critroll > 40 && critroll < 46) {critname += getTranslationByKey('BAD-CUT'); critdisc += getTranslationByKey('BAD-CUT-DESC-UNARMED-HEAD'); critdmg += 3 ;} if (critroll > 45 && critroll < 51) {critname += getTranslationByKey('SMASHED-EAR'); critdisc += getTranslationByKey('SMASHED-EAR-DESC-UNARMED'); critdmg += 3 ;} if (critroll > 50 && critroll < 56) {critname += getTranslationByKey('FLASH-KO'); critdisc += getTranslationByKey('FLASH-KO-DESC-UNARMED'); critdmg += 3 ;} if (critroll > 55 && critroll < 61) {critname += getTranslationByKey('CLEANED-CLOCK'); critdisc += getTranslationByKey('CLEANED-CLOCK-DESC-UNARMED'); critdmg += 3 ;} @@ -51461,10 +51511,10 @@ if (critv2 > 9 && critv2 < 16) {critname2 += getTranslationByKey('RINGING-STRIKE'); critdisc2 += getTranslationByKey('RINGING-STRIKE-DESC-UNARMED'); critdmg2 += 1 ;} if (critv2 > 15 && critv2 < 21) {critname2 += getTranslationByKey('BLACK-EYE'); critdisc2 += getTranslationByKey('BLACK-EYE-DESC-UNARMED'); critdmg2 = 1 ;} if (critv2 > 20 && critv2 < 26) {critname2 += getTranslationByKey('BRUISED-JAW'); critdisc2 += getTranslationByKey('BRUISED-JAW-DESC-UNARMED'); critdmg2 += 2 ;} - if (critv2 > 25 && critv2 < 31) {critname2 += getTranslationByKey('HEAVY-BRUISING'); critdisc2 += getTranslationByKey('HEAVY-BRUISING-DESC-UNARMED'); critdmg2 += 2 ;} + if (critv2 > 25 && critv2 < 31) {critname2 += getTranslationByKey('HEAVY-BRUISING'); critdisc2 += getTranslationByKey('HEAVY-BRUISING-DESC-UNARMED-HEAD'); critdmg2 += 2 ;} if (critv2 > 30 && critv2 < 36) {critname2 += getTranslationByKey('EYE-POKE'); critdisc2 += getTranslationByKey('EYE-POKE-DESC-UNARMED'); critdmg2 += 2 ;} if (critv2 > 35 && critv2 < 41) {critname2 += getTranslationByKey('FRACTURED-JAW'); critdisc2 += getTranslationByKey('FRACTURED-JAW-DESC-UNARMED'); critdmg2 += 2 ;} - if (critv2 > 40 && critv2 < 46) {critname2 += getTranslationByKey('BAD-CUT'); critdisc2 += getTranslationByKey('BAD-CUT-DESC-UNARMED'); critdmg2 += 3 ;} + if (critv2 > 40 && critv2 < 46) {critname2 += getTranslationByKey('BAD-CUT'); critdisc2 += getTranslationByKey('BAD-CUT-DESC-UNARMED-HEAD'); critdmg2 += 3 ;} if (critv2 > 45 && critv2 < 51) {critname2 += getTranslationByKey('SMASHED-EAR'); critdisc2 += getTranslationByKey('SMASHED-EAR-DESC-UNARMED'); critdmg2 += 3 ;} if (critv2 > 50 && critv2 < 56) {critname2 += getTranslationByKey('FLASH-KO'); critdisc2 += getTranslationByKey('FLASH-KO-DESC-UNARMED'); critdmg2 += 3 ;} if (critv2 > 55 && critv2 < 61) {critname2 += getTranslationByKey('CLEANED-CLOCK'); critdisc2 += getTranslationByKey('CLEANED-CLOCK-DESC-UNARMED'); critdmg2 += 3 ;} @@ -51485,14 +51535,14 @@ if (critroll > 6 && critroll < 10) {critname += getTranslationByKey('SPRAIN'); critdisc += getTranslationByKey('SPRAIN-DESC-UNARMED'); critdmg += 1 ;} if (critroll > 9 && critroll < 16) {critname += getTranslationByKey('DEAD-ARM'); critdisc += getTranslationByKey('DEAD-ARM-DESC-UNARMED'); critdmg += 1 ;} if (critroll > 15 && critroll < 21) {critname += getTranslationByKey('STRONG-BLOW'); critdisc += getTranslationByKey('STRONG-BLOW-DESC-UNARMED'); critdmg = 1 ;} - if (critroll > 20 && critroll < 26) {critname += getTranslationByKey('HEAVY-BRUISING'); critdisc += getTranslationByKey('HEAVY-BRUISING-DESC-UNARMED'); critdmg += 2 ;} + if (critroll > 20 && critroll < 26) {critname += getTranslationByKey('HEAVY-BRUISING'); critdisc += getTranslationByKey('HEAVY-BRUISING-DESC-UNARMED-ARM'); critdmg += 2 ;} if (critroll > 25 && critroll < 31) {critname += getTranslationByKey('CRUSHED-HAND'); critdisc += getTranslationByKey('CRUSHED-HAND-DESC-UNARMED'); critdmg += 2 ;} if (critroll > 30 && critroll < 36) {critname += getTranslationByKey('TORN-MUSCLES'); critdisc += getTranslationByKey('TORN-MUSCLES-DESC-UNARMED'); critdmg += 2 ;} if (critroll > 35 && critroll < 41) {critname += getTranslationByKey('CRUNCHING-BLOW'); critdisc += getTranslationByKey('CRUNCHING-BLOW-DESC-UNARMED'); critdmg += 2 ;} if (critroll > 40 && critroll < 46) {critname += getTranslationByKey('WRENCHED-ARM'); critdisc += getTranslationByKey('WRENCHED-ARM-DESC-UNARMED'); critdmg += 3 ;} if (critroll > 45 && critroll < 51) {critname += getTranslationByKey('HEAVY-HIT'); critdisc += getTranslationByKey('HEAVY-HIT-DESC-UNARMED'); critdmg += 3 ;} if (critroll > 50 && critroll < 56) {critname += getTranslationByKey('SEVERE-BRUISING'); critdisc += getTranslationByKey('SEVERE-BRUISING-DESC-UNARMED'); critdmg += 3 ;} - if (critroll > 55 && critroll < 61) {critname += getTranslationByKey('BAD-CUT'); critdisc += getTranslationByKey('BAD-CUT-DESC-UNARMED'); critdmg += 3 ;} + if (critroll > 55 && critroll < 61) {critname += getTranslationByKey('BAD-CUT'); critdisc += getTranslationByKey('BAD-CUT-DESC-UNARMED-ARM'); critdmg += 3 ;} if (critroll > 60 && critroll < 66) {critname += getTranslationByKey('THUNDEROUS-BLOW'); critdisc += getTranslationByKey('THUNDEROUS-BLOW-DESC-UNARMED'); critdmg += 4 ;} if (critroll > 65 && critroll < 76) {critname += getTranslationByKey('CLEAN-BREAK'); critdisc += getTranslationByKey('CLEAN-BREAK-DESC-UNARMED'); critdmg += 4 ;} if (critroll > 75 && critroll < 81) {critname += getTranslationByKey('BROKEN-FINGERS'); critdisc += getTranslationByKey('BROKEN-FINGERS-DESC-UNARMED'); critdmg += 4 ;} @@ -51507,14 +51557,14 @@ if (critv2 > 6 && critv2 < 10) {critname2 += getTranslationByKey('SPRAIN'); critdisc2 += getTranslationByKey('SPRAIN-DESC-UNARMED'); critdmg2 += 1 ;} if (critv2 > 9 && critv2 < 16) {critname2 += getTranslationByKey('DEAD-ARM'); critdisc2 += getTranslationByKey('DEAD-ARM-DESC-UNARMED'); critdmg2 += 1 ;} if (critv2 > 15 && critv2 < 21) {critname2 += getTranslationByKey('STRONG-BLOW'); critdisc2 += getTranslationByKey('STRONG-BLOW-DESC-UNARMED'); critdmg2 = 1 ;} - if (critv2 > 20 && critv2 < 26) {critname2 += getTranslationByKey('HEAVY-BRUISING'); critdisc2 += getTranslationByKey('HEAVY-BRUISING-DESC-UNARMED'); critdmg2 += 2 ;} + if (critv2 > 20 && critv2 < 26) {critname2 += getTranslationByKey('HEAVY-BRUISING'); critdisc2 += getTranslationByKey('HEAVY-BRUISING-DESC-UNARMED-ARM'); critdmg2 += 2 ;} if (critv2 > 25 && critv2 < 31) {critname2 += getTranslationByKey('CRUSHED-HAND'); critdisc2 += getTranslationByKey('CRUSHED-HAND-DESC-UNARMED'); critdmg2 += 2 ;} if (critv2 > 30 && critv2 < 36) {critname2 += getTranslationByKey('TORN-MUSCLES'); critdisc2 += getTranslationByKey('TORN-MUSCLES-DESC-UNARMED'); critdmg2 += 2 ;} if (critv2 > 35 && critv2 < 41) {critname2 += getTranslationByKey('CRUNCHING-BLOW'); critdisc2 += getTranslationByKey('CRUNCHING-BLOW-DESC-UNARMED'); critdmg2 += 2 ;} if (critv2 > 40 && critv2 < 46) {critname2 += getTranslationByKey('WRENCHED-ARM'); critdisc2 += getTranslationByKey('WRENCHED-ARM-DESC-UNARMED'); critdmg2 += 3 ;} if (critv2 > 45 && critv2 < 51) {critname2 += getTranslationByKey('HEAVY-HIT'); critdisc2 += getTranslationByKey('HEAVY-HIT-DESC-UNARMED'); critdmg2 += 3 ;} if (critv2 > 50 && critv2 < 56) {critname2 += getTranslationByKey('SEVERE-BRUISING'); critdisc2 += getTranslationByKey('SEVERE-BRUISING-DESC-UNARMED'); critdmg2 += 3 ;} - if (critv2 > 55 && critv2 < 61) {critname2 += getTranslationByKey('BAD-CUT'); critdisc2 += getTranslationByKey('BAD-CUT-DESC-UNARMED'); critdmg2 += 3 ;} + if (critv2 > 55 && critv2 < 61) {critname2 += getTranslationByKey('BAD-CUT'); critdisc2 += getTranslationByKey('BAD-CUT-DESC-UNARMED-ARM'); critdmg2 += 3 ;} if (critv2 > 60 && critv2 < 66) {critname2 += getTranslationByKey('THUNDEROUS-BLOW'); critdisc2 += getTranslationByKey('THUNDEROUS-BLOW-DESC-UNARMED'); critdmg2 += 4 ;} if (critv2 > 65 && critv2 < 76) {critname2 += getTranslationByKey('CLEAN-BREAK'); critdisc2 += getTranslationByKey('CLEAN-BREAK-DESC-UNARMED'); critdmg2 += 4 ;} if (critv2 > 75 && critv2 < 81) {critname2 += getTranslationByKey('BROKEN-FINGERS'); critdisc2 += getTranslationByKey('BROKEN-FINGERS-DESC-UNARMED'); critdmg2 += 4 ;} @@ -51743,10 +51793,10 @@ if (critroll > 9 && critroll < 16) {critname += getTranslationByKey('RINGING-STRIKE'); critdisc += getTranslationByKey('RINGING-STRIKE-DESC-UNARMED'); critdmg += 1 ;} if (critroll > 15 && critroll < 21) {critname += getTranslationByKey('BLACK-EYE'); critdisc += getTranslationByKey('BLACK-EYE-DESC-UNARMED'); critdmg = 1 ;} if (critroll > 20 && critroll < 26) {critname += getTranslationByKey('BRUISED-JAW'); critdisc += getTranslationByKey('BRUISED-JAW-DESC-UNARMED'); critdmg += 2 ;} - if (critroll > 25 && critroll < 31) {critname += getTranslationByKey('HEAVY-BRUISING'); critdisc += getTranslationByKey('HEAVY-BRUISING-DESC-UNARMED'); critdmg += 2 ;} + if (critroll > 25 && critroll < 31) {critname += getTranslationByKey('HEAVY-BRUISING'); critdisc += getTranslationByKey('HEAVY-BRUISING-DESC-UNARMED-HEAD'); critdmg += 2 ;} if (critroll > 30 && critroll < 36) {critname += getTranslationByKey('EYE-POKE'); critdisc += getTranslationByKey('EYE-POKE-DESC-UNARMED'); critdmg += 2 ;} if (critroll > 35 && critroll < 41) {critname += getTranslationByKey('FRACTURED-JAW'); critdisc += getTranslationByKey('FRACTURED-JAW-DESC-UNARMED'); critdmg += 2 ;} - if (critroll > 40 && critroll < 46) {critname += getTranslationByKey('BAD-CUT'); critdisc += getTranslationByKey('BAD-CUT-DESC-UNARMED'); critdmg += 3 ;} + if (critroll > 40 && critroll < 46) {critname += getTranslationByKey('BAD-CUT'); critdisc += getTranslationByKey('BAD-CUT-DESC-UNARMED-HEAD'); critdmg += 3 ;} if (critroll > 45 && critroll < 51) {critname += getTranslationByKey('SMASHED-EAR'); critdisc += getTranslationByKey('SMASHED-EAR-DESC-UNARMED'); critdmg += 3 ;} if (critroll > 50 && critroll < 56) {critname += getTranslationByKey('FLASH-KO'); critdisc += getTranslationByKey('FLASH-KO-DESC-UNARMED'); critdmg += 3 ;} if (critroll > 55 && critroll < 61) {critname += getTranslationByKey('CLEANED-CLOCK'); critdisc += getTranslationByKey('CLEANED-CLOCK-DESC-UNARMED'); critdmg += 3 ;} @@ -51768,14 +51818,14 @@ if (critroll > 6 && critroll < 10) {critname += getTranslationByKey('SPRAIN'); critdisc += getTranslationByKey('SPRAIN-DESC-UNARMED'); critdmg += 1 ;} if (critroll > 9 && critroll < 16) {critname += getTranslationByKey('DEAD-ARM'); critdisc += getTranslationByKey('DEAD-ARM-DESC-UNARMED'); critdmg += 1 ;} if (critroll > 15 && critroll < 21) {critname += getTranslationByKey('STRONG-BLOW'); critdisc += getTranslationByKey('STRONG-BLOW-DESC-UNARMED'); critdmg = 1 ;} - if (critroll > 20 && critroll < 26) {critname += getTranslationByKey('HEAVY-BRUISING'); critdisc += getTranslationByKey('HEAVY-BRUISING-DESC-UNARMED'); critdmg += 2 ;} + if (critroll > 20 && critroll < 26) {critname += getTranslationByKey('HEAVY-BRUISING'); critdisc += getTranslationByKey('HEAVY-BRUISING-DESC-UNARMED-ARM'); critdmg += 2 ;} if (critroll > 25 && critroll < 31) {critname += getTranslationByKey('CRUSHED-HAND'); critdisc += getTranslationByKey('CRUSHED-HAND-DESC-UNARMED'); critdmg += 2 ;} if (critroll > 30 && critroll < 36) {critname += getTranslationByKey('TORN-MUSCLES'); critdisc += getTranslationByKey('TORN-MUSCLES-DESC-UNARMED'); critdmg += 2 ;} if (critroll > 35 && critroll < 41) {critname += getTranslationByKey('CRUNCHING-BLOW'); critdisc += getTranslationByKey('CRUNCHING-BLOW-DESC-UNARMED'); critdmg += 2 ;} if (critroll > 40 && critroll < 46) {critname += getTranslationByKey('WRENCHED-ARM'); critdisc += getTranslationByKey('WRENCHED-ARM-DESC-UNARMED'); critdmg += 3 ;} if (critroll > 45 && critroll < 51) {critname += getTranslationByKey('HEAVY-HIT'); critdisc += getTranslationByKey('HEAVY-HIT-DESC-UNARMED'); critdmg += 3 ;} if (critroll > 50 && critroll < 56) {critname += getTranslationByKey('SEVERE-BRUISING'); critdisc += getTranslationByKey('SEVERE-BRUISING-DESC-UNARMED'); critdmg += 3 ;} - if (critroll > 55 && critroll < 61) {critname += getTranslationByKey('BAD-CUT'); critdisc += getTranslationByKey('BAD-CUT-DESC-UNARMED'); critdmg += 3 ;} + if (critroll > 55 && critroll < 61) {critname += getTranslationByKey('BAD-CUT'); critdisc += getTranslationByKey('BAD-CUT-DESC-UNARMED-ARM'); critdmg += 3 ;} if (critroll > 60 && critroll < 66) {critname += getTranslationByKey('THUNDEROUS-BLOW'); critdisc += getTranslationByKey('THUNDEROUS-BLOW-DESC-UNARMED'); critdmg += 4 ;} if (critroll > 65 && critroll < 76) {critname += getTranslationByKey('CLEAN-BREAK'); critdisc += getTranslationByKey('CLEAN-BREAK-DESC-UNARMED'); critdmg += 4 ;} if (critroll > 75 && critroll < 81) {critname += getTranslationByKey('BROKEN-FINGERS'); critdisc += getTranslationByKey('BROKEN-FINGERS-DESC-UNARMED'); critdmg += 4 ;} @@ -52461,7 +52511,7 @@ if (mod > 60) {mod = 60} if (mod < -30) {mod = -30} - + setAttrs( { "Used_RangedBonus": mod, @@ -52560,19 +52610,22 @@ } } - if (v.MeleeMode_Size < v.Size) { - melmod += 10; diff = v.Size - v.MeleeMode_Size;} + if (v.MeleeMode_Size < v.Size) {melmod += 10;} + diff = v.Size*1 - v.MeleeMode_Size*1; + console.log("test size"); + console.log(v.Size*1); + console.log(v.MeleeMode_Size); + console.log(diff); + console.log("test size"); + if (melmod > 60) {melmod = 60} if (melmod < -30) {melmod = -30} if (oppmod > 60) {oppmod = 60} if (oppmod < -30) {oppmod = -30} if (oppdefmod > 60) {oppdefmod = 60} if (oppdefmod < -30) {oppdefmod = -30} - - console.log(oppmod); - console.log(oppdefmod); - + setAttrs( { "Used_MeleeBonus": melmod, @@ -52792,7 +52845,7 @@ }); -on('change:Talent_DrilledLvl change:Talent_DualWielderLvl change:Talent_BreakandEnterLvl change:Talent_DisarmLvl change:Talent_InFighterLvl change:Talent_FrenzyLvl change:Talent_FeintLvl change:Talent_FrenzyLvl change:Talent_StriketoStunLvl change:Talent_BeatBladeLvl change:Talent_FastShotLvl change:Talent_UnderminerLvl change:Talent_WhirlwindofDeathLvl', function(event){ +on('sheet:opened change:Talent_DrilledLvl change:Talent_DualWielderLvl change:Talent_BreakandEnterLvl change:Talent_DisarmLvl change:Talent_InFighterLvl change:Talent_FrenzyLvl change:Talent_FeintLvl change:Talent_FrenzyLvl change:Talent_StriketoStunLvl change:Talent_BeatBladeLvl change:Talent_FastShotLvl change:Talent_UnderminerLvl change:Talent_WhirlwindofDeathLvl', function(event){ if (event.sourceType === 'sheetworker') return; console.log("Modifier reset"); getAttrs(["Talent_DrilledLvl", "Talent_DualWielderLvl", "Talent_BreakandEnterLvl", "Talent_DisarmLvl", "Talent_InFighterLvl", "Talent_FeintLvl", "Talent_FastShotLvl", "Talent_FrenzyLvl", "Talent_StriketoStunLvl", "Talent_BeatBladeLvl", "Talent_UnderminerLvl", "Talent_WhirlwindofDeathLvl"], function(v) { diff --git a/Warhammer 4e Character Sheet/translation.json b/Warhammer 4e Character Sheet/translation.json index 2ab33929d68..a29524d0668 100644 --- a/Warhammer 4e Character Sheet/translation.json +++ b/Warhammer 4e Character Sheet/translation.json @@ -369,7 +369,7 @@ "SLASH": "Slash", "XA": "XA", "WARPSTONE": "Warpstone", - "WARPSTONE-EFFECT": "Warpstone: On hit inflicts Minor Corruption", + "WARPSTONE-EFFECT": "Warpstone: On crit inflicts Minor Corruption", "ZZAP": "ZZAP!", "ZZAP-EFFECT": "ZZAP!: -1 AP & Ignore Metal AP", "SLASH-EFFECT": "Slash: +1 Bleeding (Inc. by 1, for", @@ -392,12 +392,11 @@ "BRUISED-JAW": "Bruised Jaw", "BRUISED-JAW-DESC-UNARMED": "The strike cracks your chin. Make an b>Endurance Test (-10) or gain a Stunned condition and lose a tooth amputation – Easy.", "HEAVY-BRUISING": "Heavy Bruising", - "HEAVY-BRUISING-DESC-UNARMED": "That hit bruises your face badly – suffer a -10 to fellowship for 10-TB days as it clears up.", + "HEAVY-BRUISING-DESC-UNARMED-HEAD": "That hit bruises your face badly – suffer a -10 to fellowship for 10-TB days as it clears up.", "EYE-POKE": "Eye Poke", "EYE-POKE-DESC-UNARMED": "Something goes into your eye socket. Gain b>2 Blinded Conditions and make an b>Endurance Test (0) or lose the use of your eye for 10-TB hours, Amputation Easy.", "FRACTURED-JAW-DESC-UNARMED": "The blow fractures your jaw. Gain 1 Stunned Conditions. Suffer a Broken Bone (Minor) injury.", - "BAD-CUT": "Bad Cut", - "BAD-CUT-DESC-UNARMED": "The blow opens a bad cut on your face or head. Gain 1 Bleeding condition and make an endurance test (-10) or gain a stunned condition.", + "BAD-CUT-DESC-UNARMED-HEAD": "The blow opens a bad cut on your face or head. Gain 1 Bleeding condition and make an endurance test (-10) or gain a stunned condition.", "SMASHED-EAR": "Smashed Ear", "SMASHED-EAR-DESC-UNARMED": "A powerful blow hits your ear and severely damages it. Gain 1 bleeding condition and 1 deafened condition that cannot be removed without medical attention", "FLASH-KO": "Flash KO", @@ -420,7 +419,7 @@ "DEAD-ARM-DESC-UNARMED": "Your arm is useless for the next 1d10-TB rounds (minimum 1) – count as amputated", "STRONG-BLOW": "Strong Blow", "STRONG-BLOW-DESC-UNARMED": "You are rocked by the blow, take an endurance test (0) or gain a stunned condition", - "HEAVY-BRUISING-DESC-UNARMED": "Your arm takes a nasty hit, and you are at -10 to any actions using it until you can pass an endurance test )-10. Also, drop anything held in that hand.", + "HEAVY-BRUISING-DESC-UNARMED-ARM": "Your arm takes a nasty hit, and you are at -10 to any actions using it until you can pass an endurance test )-10. Also, drop anything held in that hand.", "CRUSHED-HAND": "Crushed Hand", "CRUSHED-HAND-DESC-UNARMED": "Your hand takes the brunt of the attack. Make an endurance test (+20) and break 5-SLs fingers ", "TORN-MUSCLES-DESC-UNARMED": "The blow slams into your forearm, tearing something inside. Gain a Torn Muscle (Minor) injury.", @@ -433,7 +432,7 @@ "HEAVY-HIT-DESC-UNARMED": "Gain a stunned condition.", "SEVERE-BRUISING": "Severe Bruising", "SEVERE-BRUISING-DESC-UNARMED": "Your am is deeply bruised by the blow, causing you to suffer a -10 to any actions using that arm until medical attention is received.", - "BAD-CUT-DESC-UNARMED": "The strike opens a cut on your arm. Gain a bleeding condition", + "BAD-CUT-DESC-UNARMED-ARM": "The strike opens a cut on your arm. Gain a bleeding condition", "THUNDEROUS-BLOW": "Thunderous blow", "THUNDEROUS-BLOW-DESC-UNARMED": "You take the hit on your arm, sending waves of pain and shock through your body. Gain a stunned condition and take an endurance test (-10) or gain a second stunned condition", "CLEAN-BREAK-DESC-UNARMED": "Drop whatever was held in that hand and gain a Broken Bone (Minor) injury. Pass a Difficult (–10) Endurance Test or gain a Stunned Condition.", @@ -451,17 +450,13 @@ "FIERCE-BLOW-DESC-UNARMED": "You take a strong hit that saps your strength. Suffer a -10 to to strength and agility for 1d10 turns.", "BRUISED": "Bruised", "BRUISED-DESC-UNARMED": "The blows are hard, and leave their marks. Make an endurance test (0) or gain a fatigued condition", - "GUT-BLOW": "Gut Blow", "GUT-BLOW-DESC-UNARMED": "Gain 1 Stunned Condition. Pass an Easy (+40) Endurance Test or vomit, gaining the Prone Condition.", - "WINDED": "Winded", "WINDED-DESC-UNARMED": "Gain a Stunned Condition. Make an Average (+20) Endurance Test, or gain the Prone Condition. Movement is halved for 1d10 Rounds as you get your breath back.", "WRENCHED-MUSCLES": "Wrenched muscles", "WRENCHED-MUSCLES-DESC-UNARMED": "Suffer a torn muscle (minor) injury.", "OFF-BALANCE": "Off balance", "OFF-BALANCE-DESC-UNARMED": "The strike knocks you off balance. Make an athletics test (-10) or gain the prone condition.", - "LOW-BLOW": "Low Blow!", "LOW-BLOW-DESC-UNARMED": "GROINED! Make an endurance test (-20) or gain 2 stunned coniditions", - "BRUISED-RIBS": "Bruised Ribs", "BRUISED-RIBS-DESC-UNARMED": "All Agility-based Tests suffer a –10 penalty for 1d10 days.", "SWEET-SPOT": "Sweet spot", "SWEET-SPOT-DESC-UNARMED": "You get hit right in the solar plexus, gain a stunned condition and make an endurance test (-10) or gain prone condition", @@ -469,7 +464,6 @@ "MY-CHEST-DESC-UNARMED": "A cut is opened, gain 1 bleeding condition.", "WRENCHED-COLLAR-BONE-DESC-UNARMED": "Randomly select one arm. Drop whatever is held in that hand; the arm is useless for 1d10 Rounds (see Amputated Parts).", "CRACKED-RIBS-DESC-UNARMED": "The hit cracks one or more ribs. Gain a Stunned Condition. Gain a Broken Bone (Minor) injury.", - "PULLED-BACK": "Pulled Back", "PULLED-BACK-DESC-UNARMED": "Your back turns to white pain as you pull a muscle. Suffer a Torn Muscle (Major) injury.", "KIDNEY-BLOW": "Kidney Blow", "KIDNEY-BLOW-DESC-UNARMED": "Gain the disease symptom Nausea until you can either rest or get medical attention (heal at -10 to fix or a remedy).", @@ -1826,7 +1820,6 @@ "VEHICLE-NAME": "Vehicle Name", "VEHICLE-INVENTORY": "Vehicle Inventory", "VEHICLE-MPH": "Miles per hour", - "ENTERPRISE-INVENTORY": "Enterprise Inventory", "MANUFACTURER": "Manufacturer", "ENTERPRISE": "Enterprise", "ENTERPRISE-NAME": "Enterprise Name", From e966b16711951925b30ce4e102610009267117c4 Mon Sep 17 00:00:00 2001 From: Djjus <59532170+Djjus@users.noreply.github.com> Date: Sat, 14 Dec 2024 19:07:10 +0000 Subject: [PATCH 02/13] Update README.md --- Warhammer 4e Character Sheet/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Warhammer 4e Character Sheet/README.md b/Warhammer 4e Character Sheet/README.md index 1ac60706dcc..67b89fa2106 100644 --- a/Warhammer 4e Character Sheet/README.md +++ b/Warhammer 4e Character Sheet/README.md @@ -82,7 +82,7 @@ Note conditions are not intended for out of combat situations, GM simply makes t ///// ============ Change Log ============ ///// -Dec 16th 2024 v1.74b +Dec 14th 2024 v1.74b - Fix issue with Dual Wield trigger checkbox not showing correctly in Declare Actions section - Fix issue with impact/damaging not showing on Attack rolls with Size modifer Large Vs Small From 06099eab0d1f17740611b9293e05e9d78e6f3169 Mon Sep 17 00:00:00 2001 From: Djjus <59532170+Djjus@users.noreply.github.com> Date: Sat, 14 Dec 2024 23:06:13 +0000 Subject: [PATCH 03/13] correction --- Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html b/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html index 8dbc114f555..4a1ef753802 100644 --- a/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html +++ b/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html @@ -48530,7 +48530,7 @@ if (v.MeleeMode_WoD == 1) {rollPart4 += " {{wod=[[1]]}}";} if (v.MeleeMode_STS == 1) { - if (v.MeleeMode_Aimed == 1) {hitloc = "{{hitlocation=[[1]]}}"; rollPart4 += " {{aimed=[[MeleeMode_Aimed}]]}}";} else {hitloc = "{{hitlocation=true}}";} + if (v.MeleeMode_Aimed == 1) {hitloc = "{{hitlocation=[[1]]}}"; rollPart4 += " {{aimed=[[@{MeleeMode_Aimed}]]}}";} else {hitloc = "{{hitlocation=true}}";} } else { if (v.MeleeMode_Aimed == 1) {hitloc = "{{hitlocation=[[?{Choose a Hit Location|Head,1|Right Arm,2|Left Arm,3|Body,4|Right Leg,5|Left Leg,6}]]}}"; rollPart4 += " {{aimed=[[@{MeleeMode_Aimed}]]}}";} else {hitloc = "{{hitlocation=true}}";} } From 7ec01b4025469ac06d685830b34de72631abe292 Mon Sep 17 00:00:00 2001 From: Djjus <59532170+Djjus@users.noreply.github.com> Date: Tue, 17 Dec 2024 13:14:19 +0000 Subject: [PATCH 04/13] v1.74b2 --- Warhammer 4e Character Sheet/README.md | 16 +- .../Warhammer 4e Character Sheet.css | 36 +- .../Warhammer 4e Character Sheet.html | 1285 ++++++++++++++++- Warhammer 4e Character Sheet/translation.json | 125 +- 4 files changed, 1380 insertions(+), 82 deletions(-) diff --git a/Warhammer 4e Character Sheet/README.md b/Warhammer 4e Character Sheet/README.md index 67b89fa2106..ec043f13783 100644 --- a/Warhammer 4e Character Sheet/README.md +++ b/Warhammer 4e Character Sheet/README.md @@ -81,15 +81,17 @@ Note conditions are not intended for out of combat situations, GM simply makes t ///// ============ Change Log ============ ///// - Dec 14th 2024 v1.74b -- Fix issue with Dual Wield trigger checkbox not showing correctly in Declare Actions section -- Fix issue with impact/damaging not showing on Attack rolls with Size modifer Large Vs Small -- Fix mixed up Impact/Impale checkboxes on the NPC pages -- Fix Warpstone Quality now only triggered on crit again -- Resolved some issues with dulpicate crit translations -- Cleaned up minor CSS file errors +- New Weapon Creator script, Weapon Lists are found in the Weapons tab, Includes most Official Melee and Ranged weapons. +- New Custom Race added to Race dropdown, will allow entering own Race. See setting's tab for Custom Race Stating Characteristics Modifier, this allows the Char Roll to generate starting Charactistics for the Customer Race. +- Fix issue with Dual Wield trigger checkbox not showing correctly in Declare Actions section. +- Fix issue with impact/damaging not showing on Attack rolls with Size modifier Large Vs Small. +- Fix mixed up Impact/Impale checkboxes on the NPC pages. +- Fix Dangerous Quality fumble sometimes not showing when test Unit or 10s Die is 9. +- Fix Warpstone Quality now only triggered on crit again. +- Resolved some issues with dulpicate crit translations. +- Cleaned up minor CSS file errors. Dec 14th 2024 v1.74a diff --git a/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.css b/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.css index 5de14839617..f4d8fbdffd7 100644 --- a/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.css +++ b/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.css @@ -595,6 +595,23 @@ button[type=roll].sheet-combat-actions-np { text-align: center; } +button[type=action].sheet-combat-actions-list { + border-radius: 1px; + font-size: 11px; + display: left; + height: 24px; + padding: 1px 2px; + padding-bottom: -1px; + width: 100%; + margin: auto; + background-color: transparent; + font-weight: var(--bgfw); + border: 1px solid; + border-color: #423d32; + color: #63615c; + text-align: center; + text-shadow: none; +} button[type=action].sheet-combat-actions-rep::before, button[type=roll].sheet-combat-actions-rep::before { @@ -1233,13 +1250,13 @@ textarea { } .sheet-xs-textarea { height: 19px; - - vertical-align:middle; + position: relative; + vertical-align: middle; } .sheet-xs-textarea-talents { height: 21px; - vertical-align:middle; + vertical-align: middle; } .sheet-small-textarea { height: 50px; @@ -2658,6 +2675,19 @@ input[disabled].sheet-passive-skill-score { text-align: center; } +.sheet-button { +background-color: #04AA6D; +border: none; +color: white; +padding: 15px 32px; +text-align: center; +text-decoration: none; +display: inline-block; +font-size: 16px; +margin: 4px 2px; +cursor: pointer; +} + .sheet-large-button { padding: 5px; height: 45px; diff --git a/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html b/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html index 4a1ef753802..85aeb00967f 100644 --- a/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html +++ b/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html @@ -8,6 +8,78 @@
+ + +
+ + +
+ +
Welcome to the Warhammer Fantasy Roleplay 4e sheet by Djjus & Pote
+ + +
Choose the type of sheet you are creating:
+ +
+
+
+
+
+
+
+ + +
+ +
Character Creator - Step 1
+ +
Choose your Name:
+
+
+ + +
Choose a Race:
+
+
+ +
+
+ + +
+
+ +
+ + +
+ +
Character Creator - Step 2
+ +
+
+ +
+ + +
+ +
+
+ +
+ +
@@ -28,6 +100,7 @@
+
Race
+ +
+ +
+ Race +
+
@@ -72,12 +153,13 @@
- +
Character Name
+
Race
+ +
+ +
+ Race +
+ +
@@ -1460,7 +1552,7 @@
+ + + Whisper GM + +
@@ -27605,6 +27704,172 @@ Attack
+ + +
+ +
+ +
+ + +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
@@ -27634,25 +27899,25 @@
@@ -27665,7 +27930,7 @@
- +
@@ -28009,6 +28274,13 @@
RANGED WEAPONS +
+ + + + Whisper GM + +
@@ -28018,6 +28290,159 @@ Shoot
+ + +
+ +
+ +
+ + +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
@@ -28082,7 +28507,7 @@
- +
@@ -30092,7 +30517,7 @@ Lore
- + @@ -32651,6 +33076,77 @@
+
+
+
+ Custom Race Stating Characteristics Modifier +
+
+ WS +
+
+ BS +
+
+ STR +
+
+ TOU +
+
+ INI +
+
+ AGI +
+
+ DEX +
+
+ INT +
+
+ WIL +
+
+ FEL +
+
+
+
+ Assumes 2d10+ added (Human default: 20) +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+

@@ -32665,7 +33161,9 @@ - + / + + Char maker
@@ -33165,22 +33663,22 @@ {{#rollTotal() dangerous 1}} {{#rollGreater() test target}} {{^rollWasFumble() test}} - {{#rollTotal() computed::test 9}} + {{#rollTotal() computed::test 9}} {{#rollLess() test 99}}
: = ({{computed::test}}) {{RTfumble}}
- {{/rollTotal() computed::test 9}} - {{#rollBetween() test 90 94}} + {{/rollLess() test 99}} {{/rollTotal() computed::test 9}} + {{#rollBetween() test 90 95}}
-
: = ({{computed::test}}) {{RTfumble}}
+
: 10s Die = (9) {{RTfumble}}
- {{/rollBetween() test 90 94}} + {{/rollBetween() test 90 95}} {{/rollWasFumble() test}} {{/rollGreater() test target}} - {{#rollWasFumble() test}} + {{#rollWasFumble() test}} {{#rollLess() test 99}}
-
: = ({{computed::test}}) {{RTfumble}}
+
: 10s Die = (9) {{RTfumble}}
- {{/rollWasFumble() test}} + {{/rollLess() test 99}} {{/rollWasFumble() test}} {{/rollTotal() dangerous 1}} @@ -36618,10 +37116,10 @@
Dirty Fighting
+{{dirtyfighting}}
{{/rollGreater() dirtyfighting 0}} - {{#rollLess() sizemod -1}} {{#rollTotal() impact 0}} + {{#rollLess() sizemod -1}} {{#rollGreater() impact 0}}
Impact
+{{computed::test}}
- {{/rollTotal() impact 0}} {{/rollLess() sizemod -1}} + {{/rollGreater() impact 0}} {{/rollLess() sizemod -1}} {{#rollGreater() impact 0}} {{#rollTotal() tiring 0}}
Impact
+{{computed::test}}
@@ -36691,9 +37189,9 @@ {{#rollGreater() furiousassault 0}} {{#RTfuriousassault}}
{{RTfuriousassault}}
{{/RTfuriousassault}} {{/rollGreater() furiousassault 0}} - {{#^rollTotal() tiring 0}} -
Tiring
- {{/^rollTotal() tiring 0}} + {{#rollGreater() tiring 0}} +
Tiring
+ {{/rollGreater() tiring 0}} {{#rollGreater() fast 0}}
Fast: Opposed -10 Roll if not Fast
{{/rollGreater() fast 0}} @@ -36733,8 +37231,7 @@ {{/rollGreater() dragonbelcher 0}} {{/rollGreater() blackpowder 0}} {{#rollGreater() undamaging 0}} -
Undamaging:
-
Defender APx2, no min Dmg
+
Undamaging: APx2, no min Dmg
{{/rollGreater() undamaging 0}} {{#rollGreater() sureshot 0}}
{{sureshot}}
@@ -41900,7 +42397,7 @@ setAttrs(output, {silent: true}); setAttrs({ "Used_DefenseWeapon": getTranslationByKey('UNARMED'), - "Used_DefenseWeaponWeaponSkill": '(@{MeleeBrawling} [BRAWL])', + "Used_DefenseWeaponWeaponSkill": '(@{MeleeBrawling} [BRAWLING])', "Used_RangedTwohanded": 0, "Used_DefenseBonus": 0, "Used_DefenseStrengthBonus": '@{StrengthBonus}', @@ -41999,7 +42496,7 @@ "Used_MainRanged_mod3": '', "Used_MeleeWeapon": getTranslationByKey('UNARMED'), - "Used_MeleeWeaponSkill": '(@{MeleeBrawling} [BRAWL])', + "Used_MeleeWeaponSkill": '(@{MeleeBrawling} [BRAWLING])', "Used_MeleeBonus": 0, "Used_MeleeStrengthBonus": '@{StrengthBonus}', "Used_MeleeDamageBonus": 0, @@ -42055,7 +42552,7 @@ setAttrs({ "Used_DefenseWeapon": getTranslationByKey('UNARMED'), - "Used_DefenseWeaponSkill": '(@{MeleeBrawling} [BRAWL])', + "Used_DefenseWeaponSkill": '(@{MeleeBrawling} [BRAWLING])', "Used_RangedTwohanded": 0, "Used_DefenseBonus": 0, "Used_DefenseStrengthBonus": '@{StrengthBonus}', @@ -42112,7 +42609,7 @@ if (t.Used_RangedTwoHanded == 1) {output3[`repeating_ranged_${id}_UsedRangedOff`] = (playerclickedid.toLowerCase() == id.toLowerCase()) ? 0 : 0; setAttrs({ "Used_DefenseWeapon": getTranslationByKey('UNARMED'), - "Used_DefenseWeaponWeaponSkill": '(@{MeleeBrawling} [BRAWL])', + "Used_DefenseWeaponWeaponSkill": '(@{MeleeBrawling} [BRAWLING])', }, {silent: true});} output3[`repeating_ranged_${id}_UsedRangedMain`] = (playerclickedid.toLowerCase() == id.toLowerCase()) ? 1 : 0; @@ -42135,7 +42632,7 @@ setAttrs({ "Used_DefenseWeapon": getTranslationByKey('UNARMED'), - "Used_DefenseWeaponWeaponSkill": '(@{MeleeBrawling} [BRAWL])', + "Used_DefenseWeaponWeaponSkill": '(@{MeleeBrawling} [BRAWLING])', "Used_DefenseBonus": 0, "Used_DefenseStrengthBonus": '@{StrengthBonus}', "Used_DefenseDamageBonus": 1, @@ -42191,7 +42688,7 @@ setAttrs(output8, {silent: true}); setAttrs({ "Used_DefenseWeapon": getTranslationByKey('UNARMED'), - "Used_DefenseWeaponSkill": '(@{MeleeBrawling} [BRAWL])', + "Used_DefenseWeaponSkill": '(@{MeleeBrawling} [BRAWLING])', "Used_DefenseBonus": 0, "Used_DefenseStrengthBonus": '@{StrengthBonus}', "Used_DefenseDamageBonus": 0, @@ -42248,7 +42745,7 @@ setAttrs(output8, {silent: true}); setAttrs({ "Used_DefenseWeapon": getTranslationByKey('UNARMED'), - "Used_DefenseWeaponSkill": '(@{MeleeBrawling} [BRAWL])', + "Used_DefenseWeaponSkill": '(@{MeleeBrawling} [BRAWLING])', "Used_DefenseBonus": 0, "Used_DefenseStrengthBonus": '@{StrengthBonus}', "Used_DefenseDamageBonus": 0, @@ -42570,7 +43067,7 @@ if (t.repeating_melee_UsedDefense == 1) {output3[`repeating_melee_${id}_UsedDefense`] = (playerclickedid.toLowerCase() == id.toLowerCase()) ? 0 : 0; setAttrs({ "Used_DefenseWeapon": getTranslationByKey('UNARMED'), - "Used_DefenseWeaponSkill": '(@{MeleeBrawling} [BRAWL])', + "Used_DefenseWeaponSkill": '(@{MeleeBrawling} [BRAWLING])', "Used_DefenseBonus": 0, "Used_DefenseStrengthBonus": '@{StrengthBonus}', "Used_DefenseDamageBonus": 0, @@ -42624,7 +43121,7 @@ if (t.Used_MeleeTwoHanded == 0) {output[`repeating_melee_${id}_UsedWeapon`] = (playerclickedid.toLowerCase() == id.toLowerCase()) ? 0 : 0; setAttrs({ "Used_MeleeWeapon": getTranslationByKey('UNARMED'), - "Used_MeleeWeaponSkill": '(@{MeleeBrawling} [BRAWL])', + "Used_MeleeWeaponSkill": '(@{MeleeBrawling} [BRAWLING])', "Used_MeleeBonus": 0, "Used_MeleeStrengthBonus": '@{StrengthBonus}', "Used_MeleeDamageBonus": 0, @@ -42677,7 +43174,7 @@ output2[`repeating_melee_${id}_UsedDefense`] = (playerclickedid.toLowerCase() == id.toLowerCase()) ? 0 : 0; setAttrs({ "Used_MeleeWeapon": getTranslationByKey('UNARMED'), - "Used_MeleeWeaponSkill": '(@{MeleeBrawling} [BRAWL])', + "Used_MeleeWeaponSkill": '(@{MeleeBrawling} [BRAWLING])', "Used_MeleeBonus": 0, "Used_MeleeStrengthBonus": '@{StrengthBonus}', "Used_MeleeDamageBonus": 0, @@ -42726,7 +43223,7 @@ "Used_Melee_def_modtype3": 0, "Used_Melee_def_mod3": '', "Used_DefenseWeapon": getTranslationByKey('UNARMED'), - "Used_DefenseWeaponSkill": '(@{MeleeBrawling} [BRAWL])', + "Used_DefenseWeaponSkill": '(@{MeleeBrawling} [BRAWLING])', "Used_DefenseBonus": 0, "Used_DefenseStrengthBonus": '@{StrengthBonus}', "Used_DefenseDamageBonus": 0, @@ -42921,7 +43418,7 @@ setAttrs(output4, {silent: true}); setAttrs({ "Used_DefenseWeapon": getTranslationByKey('UNARMED'), - "Used_DefenseWeaponSkill": '(@{MeleeBrawling} [BRAWL])', + "Used_DefenseWeaponSkill": '(@{MeleeBrawling} [BRAWLING])', "Used_DefenseBonus": 0, "Used_DefenseStrengthBonus": '@{StrengthBonus}', "Used_DefenseDamageBonus": 0, @@ -42976,7 +43473,7 @@ if (t.Used_RangedTwoHanded == 1) { setAttrs({ "Used_DefenseWeapon": getTranslationByKey('UNARMED'), - "Used_DefenseWeaponSkill": '(@{MeleeBrawling} [BRAWL])', + "Used_DefenseWeaponSkill": '(@{MeleeBrawling} [BRAWLING])', "MeleeOffType": 0, }, {silent: true}); @@ -43141,7 +43638,7 @@ setAttrs(output, {silent: true}); setAttrs({ "Used_MeleeWeapon": getTranslationByKey('UNARMED'), - "Used_MeleeWeaponSkill": '(@{MeleeBrawling} [BRAWL])', + "Used_MeleeWeaponSkill": '(@{MeleeBrawling} [BRAWLING])', "Used_RangedTwohanded": 0, "Used_MeleeBonus": 0, "Used_MeleeStrengthBonus": '@{StrengthBonus}', @@ -43240,7 +43737,7 @@ "Used_OffRanged_mod3": '', "Used_DefenseWeapon": getTranslationByKey('UNARMED'), - "Used_DefenseWeaponSkill": '(@{MeleeBrawling} [BRAWL])', + "Used_DefenseWeaponSkill": '(@{MeleeBrawling} [BRAWLING])', "Used_DefenseBonus": 0, "Used_DefenseStrengthBonus": '@{StrengthBonus}', "Used_DefenseDamageBonus": 0, @@ -43297,7 +43794,7 @@ setAttrs({ "Used_MeleeWeapon": getTranslationByKey('UNARMED'), - "Used_MeleeWeaponSkill": '(@{MeleeBrawling} [BRAWL])', + "Used_MeleeWeaponSkill": '(@{MeleeBrawling} [BRAWLING])', "Used_RangedTwohanded": 0, "Used_MeleeBonus": 0, "Used_MeleeStrengthBonus": '@{StrengthBonus}', @@ -43354,7 +43851,7 @@ if (t.Used_RangedTwoHanded == 1) {output3[`repeating_ranged_${id}_UsedRangedMain`] = (playerclickedid.toLowerCase() == id.toLowerCase()) ? 0 : 0; setAttrs({ "Used_MeleeWeapon": getTranslationByKey('UNARMED'), - "Used_MeleeWeaponWeaponSkill": '(@{MeleeBrawling} [BRAWL])', + "Used_MeleeWeaponWeaponSkill": '(@{MeleeBrawling} [BRAWLING])', }, {silent: true});} output3[`repeating_ranged_${id}_UsedRangedOff`] = (playerclickedid.toLowerCase() == id.toLowerCase()) ? 1 : 0; @@ -43377,7 +43874,7 @@ setAttrs({ "Used_MeleeWeapon": getTranslationByKey('UNARMED'), - "Used_MeleeWeaponSkill": '(@{MeleeBrawling} [BRAWL])', + "Used_MeleeWeaponSkill": '(@{MeleeBrawling} [BRAWLING])', "Used_MeleeBonus": 0, "Used_MeleeStrengthBonus": '@{StrengthBonus}', "Used_MeleeDamageBonus": 0, @@ -43433,7 +43930,7 @@ setAttrs(output8, {silent: true}); setAttrs({ "Used_MeleeWeapon": getTranslationByKey('UNARMED'), - "Used_MeleeWeaponSkill": '(@{MeleeBrawling} [BRAWL])', + "Used_MeleeWeaponSkill": '(@{MeleeBrawling} [BRAWLING])', "Used_MeleeBonus": 0, "Used_MeleeStrengthBonus": '@{StrengthBonus}', "Used_MeleeDamageBonus": 0, @@ -43490,7 +43987,7 @@ setAttrs(output8, {silent: true}); setAttrs({ "Used_MeleeWeapon": getTranslationByKey('UNARMED'), - "Used_MeleeWeaponSkill": '(@{MeleeBrawling} [BRAWL])', + "Used_MeleeWeaponSkill": '(@{MeleeBrawling} [BRAWLING])', "Used_MeleeBonus": 0, "Used_MeleeStrengthBonus": '@{StrengthBonus}', "Used_MeleeDamageBonus": 0, @@ -43548,6 +44045,7 @@ }); getAttrs(["repeating_ranged_RangedWeaponName","repeating_ranged_RangedBalisticSkill","repeating_ranged_RangedBonus","repeating_ranged_UsedDurable","repeating_ranged_Used_RangedTwoHanded","repeating_ranged_RangedStrengthBonus","repeating_ranged_UsedDmgTaken","repeating_ranged_WeaponRange","repeating_ranged_RangedAmmo","repeating_ranged_RangedAmmoType","repeating_ranged_RangedDamage","repeating_ranged_RangedQualities","repeating_ranged_UsedBlackpowder","repeating_ranged_RangedImpale","repeating_ranged_RangedPrecise","repeating_ranged_UsedImprecise","repeating_ranged_RangedAccurate","repeating_ranged_RangedPractical","repeating_ranged_UsedImpact","repeating_ranged_UsedDangerous","repeating_ranged_UsedHack","repeating_ranged_RangedPenetrating","repeating_ranged_UsedWarpstone","repeating_ranged_UsedZZAP","repeating_ranged_UsedDamaging","repeating_ranged_UsedEntangle","repeating_ranged_RangedPummel","repeating_ranged_RangedBlast","repeating_ranged_RangedBlastRating","repeating_ranged_RangedRepeater","repeating_ranged_RangedRepeaterRating","repeating_ranged_RangedSpread","repeating_ranged_RangedSpreadRating","repeating_ranged_RangedReload","repeating_ranged_RangedReloadRatingInput","repeating_ranged_UsedMagic","repeating_ranged_UsedMagicEffect","repeating_ranged_RangedWeapon_modtype1","repeating_ranged_RangedWeapon_mod1","repeating_ranged_RangedWeapon_modtype2","repeating_ranged_RangedWeapon_mod2","repeating_ranged_RangedWeapon_modtype3","repeating_ranged_RangedWeapon_mod3", "StrengthBonus"], function(v) { + rangth = v.repeating_ranged_Used_RangedTwoHanded; console.log("Offhand change"); @@ -43803,7 +44301,8 @@ } else { - getAttrs(["repeating_melee_UsedWeapon", "repeating_melee_UsedDefense", "repeating_melee_UsedTwoHanded", "Used_MeleeTwoHanded", "Used_RangedTwoHanded", "repeating_ranged_RangedWeaponName", "MeleeMainType", "MeleeOffType"],function(t) { + getAttrs(["repeating_melee_UsedWeapon", "repeating_melee_UsedDefense", "repeating_melee_UsedTwoHanded", "Used_MeleeTwoHanded", "Used_RangedTwoHanded", "repeating_ranged_RangedWeaponName", "MeleeMainType", "MeleeOffType", "repeating_ranged_Used_RangedTwoHanded;"],function(t) { + rangth = t.repeating_ranged_Used_RangedTwoHanded; getSectionIDs("repeating_melee", function (ids) { // create an object to hold all the attributes we are bout to change @@ -43820,7 +44319,7 @@ if (t.repeating_melee_UsedWeapon == 1) {output3[`repeating_melee_${id}_UsedWeapon`] = (playerclickedid.toLowerCase() == id.toLowerCase()) ? 0 : 0; setAttrs({ "Used_MeleeWeapon": getTranslationByKey('UNARMED'), - "Used_MeleeWeaponSkill": '(@{MeleeBrawling} [BRAWL])', + "Used_MeleeWeaponSkill": '(@{MeleeBrawling} [BRAWLING])', "Used_MeleeBonus": 0, "Used_MeleeStrengthBonus": '@{StrengthBonus}', "Used_MeleeDamageBonus": 0, @@ -43874,7 +44373,7 @@ if (t.Used_MeleeTwoHanded == 0) {output[`repeating_melee_${id}_UsedDefense`] = (playerclickedid.toLowerCase() == id.toLowerCase()) ? 0 : 0; setAttrs({ "Used_DefenseWeapon": getTranslationByKey('UNARMED'), - "Used_DefenseWeaponSkill": '(@{MeleeBrawling} [BRAWL])', + "Used_DefenseWeaponSkill": '(@{MeleeBrawling} [BRAWLING])', "Used_DefenseBonus": 0, "Used_DefenseStrengthBonus": '@{StrengthBonus}', "Used_DefenseDamageBonus": 0, @@ -43930,7 +44429,7 @@ setAttrs(output2, {silent: true}); setAttrs({ "Used_MeleeWeapon": getTranslationByKey('UNARMED'), - "Used_MeleeWeaponSkill": '(@{MeleeBrawling} [BRAWL])', + "Used_MeleeWeaponSkill": '(@{MeleeBrawling} [BRAWLING])', "Used_MeleeBonus": 0, "Used_MeleeStrengthBonus": '@{StrengthBonus}', "Used_MeleeDamageBonus": 0, @@ -43979,7 +44478,7 @@ "Used_Melee_def_modtype3": 0, "Used_Melee_def_mod3": '', "Used_DefenseWeapon": getTranslationByKey('UNARMED'), - "Used_DefenseWeaponSkill": '(@{MeleeBrawling} [BRAWL])', + "Used_DefenseWeaponSkill": '(@{MeleeBrawling} [BRAWLING])', "Used_DefenseBonus": 0, "Used_DefenseStrengthBonus": '@{StrengthBonus}', "Used_DefenseDamageBonus": 0, @@ -44175,7 +44674,7 @@ setAttrs(output4, {silent: true}); setAttrs({ "Used_MeleeWeapon": getTranslationByKey('UNARMED'), - "Used_MeleeWeaponSkill": '(@{MeleeBrawling} [BRAWL])', + "Used_MeleeWeaponSkill": '(@{MeleeBrawling} [BRAWLING])', "Used_MeleeBonus": 0, "Used_MeleeStrengthBonus": '@{StrengthBonus}', "Used_MeleeDamageBonus": 0, @@ -44229,7 +44728,7 @@ if (t.Used_RangedTwoHanded == 1) { setAttrs({ "Used_MeleeWeapon": getTranslationByKey('UNARMED'), - "Used_MeleeWeaponSkill": '(@{MeleeBrawling} [BRAWL])', + "Used_MeleeWeaponSkill": '(@{MeleeBrawling} [BRAWLING])', "MeleeMainType": 0, }, {silent: true}); } @@ -47045,7 +47544,7 @@ ids.forEach(id => { getAttrs([`repeating_spellbookarcane_${id}_ExtChannellingLore`, `repeating_spellbookarcane_${id}_spellcastingnumber`, `repeating_spellbookarcane_${id}_Spellmem`, "Used_Enchanted_Staff"], function(t) { - if(t[`repeating_spellbookarcane_${id}_ExtChannellingLore`] === "(@{ChannellingFire})") {lore = 1; lorename = "Fire";} else {checklore = 0;} + if(t[`repeating_spellbookarcane_${id}_ExtChannellingLore`] === "(@{ChannellingFire})") {lore = 1; lorename = "Fire";} else {checklore = 0; lorename = ""} if(t[`repeating_spellbookarcane_${id}_ExtChannellingLore`] === "(@{ChannellingHeavens})") {lore = 2; lorename = "Heavens";} if(t[`repeating_spellbookarcane_${id}_ExtChannellingLore`] === "(@{ChannellingMetal})") {lore = 3; lorename = "Metal";} if(t[`repeating_spellbookarcane_${id}_ExtChannellingLore`] === "(@{ChannellingBeasts})]") {lore = 4; lorename = "Beasts";} @@ -47123,7 +47622,7 @@ getAttrs(["repeating_spellbookrituals_ExtChannellingLore"], function(v) { - if (v.repeating_spellbookrituals_ExtChannellingLore == "(@{ChannellingFire})") {lore = 1; lorename = "Fire";} else {lore = 0;} + if (v.repeating_spellbookrituals_ExtChannellingLore == "(@{ChannellingFire})") {lore = 1; lorename = "Fire";} else {lore = 0;; lorename = "";} if (v.repeating_spellbookrituals_ExtChannellingLore == "(@{ChannellingHeavens})") {lore = 2; lorename = "Heavens";} if (v.repeating_spellbookrituals_ExtChannellingLore == "(@{ChannellingMetal})") {lore = 3; lorename = "Metal";} if (v.repeating_spellbookrituals_ExtChannellingLore == "(@{ChannellingBeasts})") {lore = 4; lorename = "Beasts";} @@ -48022,7 +48521,7 @@ setAttrs({ "MeleeOffType": 0, "Used_MeleeWeapon": getTranslationByKey('UNARMED'), - "Used_MeleeWeaponSkill": '(@{MeleeBrawling} [BRAWL])', + "Used_MeleeWeaponSkill": '(@{MeleeBrawling} [BRAWLING])', "Used_MeleeBonus": 0, "Used_MeleeStrengthBonus": '@{StrengthBonus}', "Used_MeleeDamageBonus": 0, @@ -48070,7 +48569,7 @@ "Used_Melee_def_mod3": '', "Used_DefenseWeapon": getTranslationByKey('UNARMED'), - "Used_DefenseWeaponSkill": '(@{MeleeBrawling} [BRAWL])', + "Used_DefenseWeaponSkill": '(@{MeleeBrawling} [BRAWLING])', "Used_DefenseBonus": 0, "Used_DefenseStrengthBonus": '@{StrengthBonus}', "Used_DefenseDamageBonus": 0, @@ -48285,6 +48784,7 @@ let rollPart2 = roll; ammopre = v.Used_RangedAmmo; console.log(trigger); + console.log(prefix); addsldf = ''; sitfail = ''; @@ -49109,13 +49609,12 @@ if (values.MeleeMode_Aimed == 1) {hitloc = "{{hitlocation=[[?{Choose a Hit Location|Head,1|Right Arm,2|Left Arm,3|Body,4|Right Leg,5|Left Leg,6}]]}}"; rollPart4 += " {{aimed=[[@{MeleeMode_Aimed}]]}}";} else {hitloc = "{{hitlocation=true}}";} } - if (v.MeleeSizeMod < 0) {rollPart4 += " {{sizemod=[[@{MeleeSizeMod}]]}}";} + if (values.MeleeSizeMod < 0) {rollPart4 += " {{sizemod=[[@{MeleeSizeMod}]]}}";} let rollPart = rollPart4.replaceAll('>ambi<', ambipen).replaceAll('>addsldf<', addsldf).replaceAll('>adddmg<', adddmg).replaceAll('>hitloc<', hitloc).replaceAll('>sitfail<', sitfail).replaceAll('>atype<', atype); console.log(rollPart); console.log(rollEnd); - console.log(battlefrenzy); startRoll(rollBegins + rollPart + rollEnd + rollBrawl, (results) => { const target = results.results.target.result @@ -50875,7 +51374,7 @@ } ); - if (trigger === "channellingfire") {lore = 1} + if (trigger === "channellingfire") {lore = 1} else {lore = 0} if (trigger === "channellingheavens") {lore = 2} if (trigger === "channellingmetal") {lore = 3} if (trigger === "channellingbeasts") {lore = 4} @@ -50889,6 +51388,7 @@ if (trigger === "channellinggreatmaw") {lore = 12} if (trigger === "channellingmisc") {lore = 13} + if (lore > 0) { getSectionIDs("repeating_spellbookarcane", function (ids) { // create an object to hold all the attributes we are bout to change const output = {}; @@ -50939,8 +51439,7 @@ }); }); - - + } }); }); }); @@ -53574,7 +54073,7 @@ on('clicked:CharRoll', function(event){ if (event.sourceType === 'sheetworker') return; console.log("Rolling Charactistics by Race"); - getAttrs(["Race"], function(v) { + getAttrs(["Race", "customracews", "customracebs", "customracestr", "customracetou", "customraceini", "customraceagi", "customracedex", "customraceitel", "customracewil", "customracefel"], function(v) { race = v.Race; console.log(race); @@ -53675,6 +54174,20 @@ wil = getRandomInt(1, 10) + getRandomInt(1, 10) + 20; fel = getRandomInt(1, 10) + getRandomInt(1, 10) + 20; out = ws + fel; + } + + if (race == "Custom") { + ws = getRandomInt(1, 10) + getRandomInt(1, 10) + v.customracews*1; + bs = getRandomInt(1, 10) + getRandomInt(1, 10) + v.customracebs*1; + str = getRandomInt(1, 10) + getRandomInt(1, 10) + v.customracestr*1; + tou = getRandomInt(1, 10) + getRandomInt(1, 10) + v.customracetou*1; + ini = getRandomInt(1, 10) + getRandomInt(1, 10) + v.customraceini*1; + agi = getRandomInt(1, 10) + getRandomInt(1, 10) + v.customraceagi*1; + dex = getRandomInt(1, 10) + getRandomInt(1, 10) + v.customracedex*1; + itel = getRandomInt(1, 10) + getRandomInt(1, 10) + v.customraceitel*1; + wil = getRandomInt(1, 10) + getRandomInt(1, 10) + v.customracewil*1; + fel = getRandomInt(1, 10) + getRandomInt(1, 10) + v.customracefel*1; + out = ws + fel; } setAttrs({ @@ -53694,4 +54207,636 @@ }); }); + +on('change:race change:racereset', function(event) { + // makes sure the sheet worker doesnt trigger itself +if (event.sourceType === 'sheetworker') return; + // get the row id that the player clicked. the id is always between the second and third '_' + + playerclicked = event.triggerName || ''; + +getAttrs(["race"], function(v) { + console.log("Test Race Change"); +console.log(playerclicked); + +if (playerclicked == "race") { + if (v.race == "Custom") {cust = 1; + console.log("Test Race Change 2");} else {cust = 0;} + + console.log(cust); + + setAttrs({ + "customrace": cust, + }, {silent: true}); + } + + if (playerclicked == "racereset") {cust = 0; + console.log("Test Race Change Reset"); + + console.log(cust); + + setAttrs({ + "customrace": cust, + "race": "Human", + }, {silent: true}); + } +}); +}); + +on('clicked:MakePC clicked:MakeEnterprise clicked:MakeVehicle', function(event) { + + console.log("Text CharMaker"); + playerclicked = event.triggerName; + console.log(playerclicked); + + if (playerclicked == "clicked:makepc") { + + console.log("Text CharMaker MakePC"); + setAttrs({ + "CharmakerPage": 1, + }, {silent: true}); + } + + if (playerclicked == "clicked:makevehicle") { + + console.log("Text CharMaker MakeVehicle"); + setAttrs({ + "CharmakerPage": 0, + }, {silent: true}); + } + + + if (playerclicked == "clicked:makeenterprise") { + + console.log("Text CharMaker MakeEnterprise"); + setAttrs({ + "CharmakerPage": 2, + }, {silent: true}); + } +}); + +function addWeaponMelee(addkey) { + const item = addkey; + + key = getTranslationByKey('WEAPON-' + item); + console.log(key); + + xh = key.split(',').slice(0,1); + console.log(xh); + name = key.split(',').slice(1,2); + console.log(name); + skill = key.split(',').slice(2,3); + console.log(skill); + skillup = skill.toString().toUpperCase(); + skillout = '(@{Melee' + skill + '} [' + skillup + '])'; + console.log(skillout); + enc = key.split(',').slice(3,4); + reach = key.split(',').slice(4,5); + dmg = key.split(',').slice(5,6); + qual = key.split(',').slice(6,7).toString(); + notes = key.split(',').slice(7,8).toString(); + eoqual = qual.split('-').slice(-1).toString(); + eior = eoqual.search("\\+"); + + if (eior > -1) { + eonumt = key.split(',').slice(6,7).toString(); + eonum = eonumt.split('-').slice(-1); + eolist = eoqual.split('+').toString(); + + eo1 = eolist.split(',').slice(0,1).toString(); + eo1out = ' (' + eo1 + ')'; + + eo2 = eolist.split(',').slice(1,2).toString(); + eo2out = ' (' + eo2 + ')'; + } else {eo1out = ''; eo1 = ''; eo2out = ''; eo2 = ''} + + sshie = qual.search("Shield"); + sshier = qual.charAt(sshie + 6) + + sdama = qual.search("Damaging"); + sdef = qual.search("Defensive"); + sdist = qual.search("Distract"); + senta = qual.search("Entangle"); + sfast = qual.search("Fast"); + shack = qual.search("Hack"); + simp = qual.search("Impact"); + simpal = qual.search("Impale"); + + if (eo1 == "Impale") {simpal = qual.search("Impale"); simpal2 = -1;} else { + simpal = qual.search("Impale"); simpal2 = qual.search("Impale");} + + if (eo2 == "Penetrating") {spen = -1; spen2 = qual.search("Penetrating");} else { + spen = qual.search("Penetrating"); spen2 = -1;} + + sprac = qual.search("Practical"); + sprec = qual.search("Precise"); + + if (eo1 == "Pummel") {spumm = qual.search("Pummel"); spumm2 = -1;} else { + spumm = qual.search("Pummel"); spumm2 = qual.search("Pummel");} + + if (eo2 == "Pummel") {spumm = -1; spumm2 = qual.search("Pummel");} else { + spumm = qual.search("Pummel"); spumm2 = -1;} + + if (eo2 = "Slash") {ssla = -1; ssla2 = qual.search("Slash"); sslar = qual.charAt(ssla2 + 5);} else { + ssla = qual.search("Slash"); ssla2 = -1; sslar = qual.charAt(ssla + 5);} + + console.log(qual); + console.log('TEST'); + console.log(ssla); + console.log(ssla2); + console.log(sslar); + + sslo = qual.search("Slow"); + strap = qual.search("Trap Blade"); + strip = qual.search("Trip"); + stiri = qual.search("Tiring"); + sunbal = qual.search("Unbalanced"); + sundama = qual.search("Undamaging"); + swarp = qual.search("Warpstone"); + swrap = qual.search("Wrap"); + szzap = qual.search("ZZAP!"); + + + const output = {}; + const newrowid = generateRowID(); + + output[`repeating_melee_${newrowid}_MeleeWeapon`] = name + eo1out, + output[`repeating_melee_${newrowid}_MeleeEnc`] = enc, + output[`repeating_melee_${newrowid}_MeleeWeaponSkill`] = skillout, + output[`repeating_melee_${newrowid}_MeleeReach`] = reach, + output[`repeating_melee_${newrowid}_MeleeDamageBonus`] = dmg, + output[`repeating_melee_${newrowid}_MeleeQualities`] = notes, + setAttrs(output, {silent: true}) + + if (xh == "2H") { + output[`repeating_melee_${newrowid}_UsedTwohanded`] = 1, + setAttrs(output, {silent: true}) + } + if (sshie > -1) { + output[`repeating_melee_${newrowid}_UsedShield`] = 1, + output[`repeating_melee_${newrowid}_UsedShieldRating`] = sshier, + setAttrs(output, {silent: true}) + } + + + if (sdama > -1) { + output[`repeating_melee_${newrowid}_UsedDamaging`] = 1, + setAttrs(output, {silent: true}) + } + if (sdef > -1) { + output[`repeating_melee_${newrowid}_MeleeDefensive`] = 1, + setAttrs(output, {silent: true}) + } + if (sdist > -1) { + output[`repeating_melee_${newrowid}_UsedDistract`] = 1, + setAttrs(output, {silent: true}) + } + if (senta > -1) { + output[`repeating_melee_${newrowid}_UsedEntangle`] = 1, + setAttrs(output, {silent: true}) + } + if (sfast > -1) { + output[`repeating_melee_${newrowid}_MeleeFast`] = 1, + setAttrs(output, {silent: true}) + } + if (shack > -1) { + output[`repeating_melee_${newrowid}_MeleeHack`] = 1, + setAttrs(output, {silent: true}) + } + if (simp > -1) { + output[`repeating_melee_${newrowid}_MeleeImpact`] = 3, + setAttrs(output, {silent: true}) + } + if (simpal > -1) { + output[`repeating_melee_${newrowid}_MeleeImpale`] = 3, + setAttrs(output, {silent: true}) + } + if (spen > -1) { + output[`repeating_melee_${newrowid}_MeleePenetrating`] = 1, + setAttrs(output, {silent: true}) + } + if (sprac > -1) { + output[`repeating_melee_${newrowid}_MeleePractical`] = 1, + setAttrs(output, {silent: true}) + } + if (sprec > -1) { + output[`repeating_melee_${newrowid}_MeleePrecise`] = 1, + setAttrs(output, {silent: true}) + } + if (spumm > -1) { + output[`repeating_melee_${newrowid}_MeleePummel`] = 1, + setAttrs(output, {silent: true}) + } + if (ssla > -1) { + output[`repeating_melee_${newrowid}_UsedSlash`] = 1, + output[`repeating_melee_${newrowid}_UsedSlashRating`] = sslar, + setAttrs(output, {silent: true}) + } + if (sslo > -1) { + output[`repeating_melee_${newrowid}_MeleeSlow`] = 1, + setAttrs(output, {silent: true}) + } + if (strap > -1) { + output[`repeating_melee_${newrowid}_UsedTrapBlade`] = 1, + setAttrs(output, {silent: true}) + } + if (strip > -1) { + output[`repeating_melee_${newrowid}_MeleeTrip`] = 1, + setAttrs(output, {silent: true}) + } + if (stiri > -1) { + output[`repeating_melee_${newrowid}_MeleeTiring`] = 1, + setAttrs(output, {silent: true}) + } + if (sunbal > -1) { + output[`repeating_melee_${newrowid}_UsedUnbalanced`] = 1, + setAttrs(output, {silent: true}) + } + if (sundama > -1) { + output[`repeating_melee_${newrowid}_UsedUndamaging`] = 1, + setAttrs(output, {silent: true}) + } + if (swarp > -1) { + output[`repeating_melee_${newrowid}_UsedWarpstone`] = 1, + setAttrs(output, {silent: true}) + } + if (swrap > -1) { + output[`repeating_melee_${newrowid}_UsedWrap`] = 1, + setAttrs(output, {silent: true}) + } + if (szzap > -1) { + output[`repeating_melee_${newrowid}_UsedZZAP`] = 1, + setAttrs(output, {silent: true}) + } + + if (eior > -1) { + console.log("Weapon 2"); + + const output2 = {}; + const newrowid2 = generateRowID(); + + output2[`repeating_melee_${newrowid2}_MeleeWeapon`] = name + eo2out, + output2[`repeating_melee_${newrowid2}_MeleeEnc`] = enc, + output2[`repeating_melee_${newrowid2}_MeleeWeaponSkill`] = skillout, + output2[`repeating_melee_${newrowid2}_MeleeReach`] = reach, + output2[`repeating_melee_${newrowid2}_MeleeDamageBonus`] = dmg, + output2[`repeating_melee_${newrowid2}_MeleeQualities`] = notes, + setAttrs(output2, {silent: true}) + + if (xh == "2H") { + output2[`repeating_melee_${newrowid2}_UsedTwohanded`] = 1, + setAttrs(output2, {silent: true}) + } + if (sshie > -1) { + output2[`repeating_melee_${newrowid2}_UsedShield`] = 1, + output2[`repeating_melee_${newrowid2}_UsedShieldRating`] = sshier, + setAttrs(output2, {silent: true}) + } + + + if (sdama > -1) { + output2[`repeating_melee_${newrowid2}_UsedDamaging`] = 1, + setAttrs(output2, {silent: true}) + } + if (sdef > -1) { + output2[`repeating_melee_${newrowid2}_MeleeDefensive`] = 1, + setAttrs(output2, {silent: true}) + } + if (sdist > -1) { + output2[`repeating_melee_${newrowid2}_UsedDistract`] = 1, + setAttrs(output2, {silent: true}) + } + if (senta > -1) { + output2[`repeating_melee_${newrowid2}_UsedEntangle`] = 1, + setAttrs(output2, {silent: true}) + } + if (sfast > -1) { + output2[`repeating_melee_${newrowid2}_MeleeFast`] = 1, + setAttrs(output2, {silent: true}) + } + if (shack > -1) { + output2[`repeating_melee_${newrowid2}_MeleeHack`] = 1, + setAttrs(output2, {silent: true}) + } + if (simp > -1) { + output2[`repeating_melee_${newrowid2}_MeleeImpact`] = 3, + setAttrs(output2, {silent: true}) + } + if (simpal2 > -1) { + output2[`repeating_melee_${newrowid2}_MeleeImpale`] = 3, + setAttrs(output2, {silent: true}) + } + if (spen2 > -1) { + output2[`repeating_melee_${newrowid2}_MeleePenetrating`] = 1, + setAttrs(output2, {silent: true}) + } + if (sprac > -1) { + output2[`repeating_melee_${newrowid2}_MeleePractical`] = 1, + setAttrs(output2, {silent: true}) + } + if (sprec > -1) { + output2[`repeating_melee_${newrowid2}_MeleePrecise`] = 1, + setAttrs(output2, {silent: true}) + } + if (spumm2 > -1) { + output2[`repeating_melee_${newrowid2}_MeleePummel`] = 1, + setAttrs(output2, {silent: true}) + } + if (ssla2 > -1) { + output2[`repeating_melee_${newrowid2}_UsedSlash`] = 1, + output2[`repeating_melee_${newrowid2}_UsedSlashRating`] = sslar, + setAttrs(output2, {silent: true}) + } + if (sslo > -1) { + output2[`repeating_melee_${newrowid2}_MeleeSlow`] = 1, + setAttrs(output2, {silent: true}) + } + if (strap > -1) { + output2[`repeating_melee_${newrowid2}_UsedTrapBlade`] = 1, + setAttrs(output2, {silent: true}) + } + if (strip > -1) { + output2[`repeating_melee_${newrowid2}_MeleeTrip`] = 1, + setAttrs(output2, {silent: true}) + } + if (stiri > -1) { + output2[`repeating_melee_${newrowid2}_MeleeTiring`] = 1, + setAttrs(output2, {silent: true}) + } + if (sunbal > -1) { + output2[`repeating_melee_${newrowid2}_UsedUnbalanced`] = 1, + setAttrs(output2, {silent: true}) + } + if (sundama > -1) { + output2[`repeating_melee_${newrowid2}_UsedUndamaging`] = 1, + setAttrs(output2, {silent: true}) + } + if (swarp > -1) { + output2[`repeating_melee_${newrowid2}_UsedWarpstone`] = 1, + setAttrs(output2, {silent: true}) + } + if (swrap > -1) { + output2[`repeating_melee_${newrowid2}_UsedWrap`] = 1, + setAttrs(output2, {silent: true}) + } + if (szzap > -1) { + output2[`repeating_melee_${newrowid2}_UsedZZAP`] = 1, + setAttrs(output2, {silent: true}) + } + + } + console.log(output); + + return; + } + +function capitalizeFirstLetter(val) { + return String(val).charAt(0).toUpperCase() + String(val).slice(1); +} + +on('clicked:MakeWeaponBasic clicked:MakeWeaponCavalry clicked:MakeWeaponFencing clicked:MakeWeaponBrawling clicked:MakeWeaponFlail clicked:MakeWeaponParry clicked:MakeWeaponPolearm clicked:MakeWeaponTwohanded', function(eventInfo) { + console.log("Test Make Weapon"); + + getAttrs(["WeaponListBasic", "WeaponListCavalry", "WeaponListFencing", "WeaponListBrawling", "WeaponListFlail", "WeaponListParry", "WeaponListPolearm", "WeaponListTwohanded"], function(v) { + + var trigger = eventInfo.triggerName; + console.log(trigger); + typepre = trigger.slice(18) + type = capitalizeFirstLetter(typepre) + + selected = v[`WeaponList${type}`]; + console.log(selected); + + addWeaponMelee(selected); + + setAttrs({ + "MakeWeaponShow": 0, + "WeaponListType": "", + "WeaponListBasic": "", + "WeaponListCavalry": "", + "WeaponListFencing": "", + "WeaponListBrawling": "", + "WeaponListFlail": "", + "WeaponListParry": "", + "WeaponListPolearm": "", + "WeaponListTwohanded": "", + }, {silent: true}); + }); +}); + + +function addWeaponRanged(addkey) { + const item = addkey; + + getAttrs(["StrengthBonus"], function(t) { + key = getTranslationByKey('WEAPON-' + item); + console.log(key); + + xh = key.split(',').slice(0,1); + console.log(xh); + name = key.split(',').slice(1,2); + console.log(name); + skill = key.split(',').slice(2,3); + console.log(skill); + skillup = skill.toString().toUpperCase(); + skillout = '(@{Ranged' + skill + '})'; + console.log(skillout); + enc = key.split(',').slice(3,4); + range = key.split(',').slice(4,5); + rangest = key.split(',').slice(4,5).toString(); + rangesb = rangest.search("SB"); + rangesbnout = rangest.charAt(rangesb + 2) + if (rangesb > -1) { + range = t.StrengthBonus * rangesbnout;} + + sb = key.split(',').slice(5,6); + dmg = key.split(',').slice(6,7); + qual = key.split(',').slice(7,8).toString(); + notes = key.split(',').slice(8,9).toString(); + + screw = qual.search("Crewed"); + screwr = qual.charAt(screw + 6) + + sblas = qual.search("Blast"); + sblasr = qual.charAt(sblas + 6) + + srelo = qual.search("Reload"); + srelor = qual.charAt(srelo + 6) + + srepe = qual.search("Repeater"); + sreper = qual.charAt(srepe + 6) + + ssalv = qual.search("Salvo"); + ssalvr = qual.charAt(ssalv + 6) + + sspre = qual.search("Spread"); + ssprer = qual.charAt(sspre + 6) + + saccu = qual.search("Accurate"); + sblac = qual.search("Blackpowder"); + sdama = qual.search("Damaging"); + sdang = qual.search("Dangerous"); + senta = qual.search("Entangle"); + shack = qual.search("Hack"); + simp = qual.search("Impact"); + simpal = qual.search("Impale"); + simpr = qual.search("Imprecise"); + + spen = qual.search("Penetrating"); + + sprac = qual.search("Practical"); + sprec = qual.search("Precise"); + + spumm = qual.search("Pummel") + + swarp = qual.search("Warpstone"); + szzap = qual.search("ZZAP!"); + + + const output = {}; + const newrowid = generateRowID(); + + output[`repeating_ranged_${newrowid}_RangedWeaponName`] = name, + output[`repeating_ranged_${newrowid}_RangedEnc`] = enc, + output[`repeating_ranged_${newrowid}_RangedBalisticSkill`] = skillout, + output[`repeating_ranged_${newrowid}_RangedStrengthBonus`] = sb, + output[`repeating_ranged_${newrowid}_RangedDamage`] = dmg, + output[`repeating_ranged_${newrowid}_WeaponRange`] = range, + output[`repeating_ranged_${newrowid}_RangedQualities`] = notes, + setAttrs(output, {silent: true}) + + if (xh == "2H") { + output[`repeating_ranged_${newrowid}_Used_RangedTwoHanded`] = 1, + setAttrs(output, {silent: true}) + } + if (screw > -1) { + output[`repeating_ranged_${newrowid}_RangedCrewed`] = 1, + output[`repeating_ranged_${newrowid}_RangedCrewedRating`] = screwr, + setAttrs(output, {silent: true}) + } + if (sblas > -1) { + output[`repeating_ranged_${newrowid}_RangedBlast`] = 1, + output[`repeating_ranged_${newrowid}_RangedBlastRating`] = sblasr, + setAttrs(output, {silent: true}) + } + if (srelo > -1) { + output[`repeating_ranged_${newrowid}_RangedReload`] = 1, + output[`repeating_ranged_${newrowid}_RangedReloadRatingInput`] = srelor, + setAttrs(output, {silent: true}) + } + if (srepe > -1) { + output[`repeating_ranged_${newrowid}_RangedRepeater`] = 1, + output[`repeating_ranged_${newrowid}_RangedRepeaterRating`] = sreper, + setAttrs(output, {silent: true}) + } + if (ssalv > -1) { + output[`repeating_ranged_${newrowid}_RangedSalvo`] = 1, + output[`repeating_ranged_${newrowid}_RangedSalvoRating`] = ssalvr, + setAttrs(output, {silent: true}) + } + if (sspre > -1) { + output[`repeating_ranged_${newrowid}_RangedSpread`] = 1, + output[`repeating_ranged_${newrowid}_RangedSpreadRating`] = ssprer, + setAttrs(output, {silent: true}) + } + + + if (saccu > -1) { + output[`repeating_ranged_${newrowid}_RangedAccurate`] = 1, + setAttrs(output, {silent: true}) + } + if (sblac > -1) { + output[`repeating_ranged_${newrowid}_UsedBlackpowder`] = 1, + setAttrs(output, {silent: true}) + } + if (sdama > -1) { + output[`repeating_ranged_${newrowid}_UsedDamaging`] = 1, + setAttrs(output, {silent: true}) + } + if (sdang > -1) { + output[`repeating_ranged_${newrowid}_UsedDangerous`] = 1, + setAttrs(output, {silent: true}) + } + if (senta > -1) { + output[`repeating_ranged_${newrowid}_UsedEntangle`] = 1, + setAttrs(output, {silent: true}) + } + if (shack > -1) { + output[`repeating_ranged_${newrowid}_UsedHack`] = 1, + setAttrs(output, {silent: true}) + } + if (simp > -1) { + output[`repeating_ranged_${newrowid}_UsedImpact`] = 3, + setAttrs(output, {silent: true}) + } + if (simpal > -1) { + output[`repeating_ranged_${newrowid}_RangedImpale`] = 3, + setAttrs(output, {silent: true}) + } + if (simpr > -1) { + output[`repeating_ranged_${newrowid}_UsedImprecise`] = 1, + setAttrs(output, {silent: true}) + } + if (spen > -1) { + output[`repeating_ranged_${newrowid}_RangedPenetrating`] = 1, + setAttrs(output, {silent: true}) + } + if (sprac > -1) { + output[`repeating_ranged_${newrowid}_RangedPractical`] = 1, + setAttrs(output, {silent: true}) + } + if (sprec > -1) { + output[`repeating_ranged_${newrowid}_RangedPrecise`] = 1, + setAttrs(output, {silent: true}) + } + if (spumm > -1) { + output[`repeating_ranged_${newrowid}_RangedPummel`] = 1, + setAttrs(output, {silent: true}) + } + if (swarp > -1) { + output[`repeating_ranged_${newrowid}_UsedWarpstone`] = 1, + setAttrs(output, {silent: true}) + } + if (szzap > -1) { + output[`repeating_ranged_${newrowid}_UsedZZAP`] = 1, + setAttrs(output, {silent: true}) + } + + console.log(output); + + return; +}); + } + + on('clicked:MakeWeaponBlackpowder clicked:MakeWeaponBow clicked:MakeWeaponCrossbow clicked:MakeWeaponEngineering clicked:MakeWeaponEntangling clicked:MakeWeaponExlposives clicked:MakeWeaponSling clicked:MakeWeaponThrowing', function(eventInfo) { + console.log("Test Make Weapon"); + + getAttrs(["WeaponListBlackpowder", "WeaponListBow", "WeaponListCrossbow", "WeaponListEngineering", "WeaponListEntangling", "WeaponListExlposives", "WeaponListSling", "WeaponListThrowing", "StrengthBonus"], function(v) { + + var trigger = eventInfo.triggerName; + console.log(trigger); + typepre = trigger.slice(18) + type = capitalizeFirstLetter(typepre) + console.log(type); + + selected = v[`WeaponList${type}`]; + console.log(selected); + + addWeaponRanged(selected); + + setAttrs({ + "MakeWeaponRangeShow": 0, + "WeaponRangedListType": "", + "WeaponListBlackpowder": "", + "WeaponListBow": "", + "WeaponListCrossbow": "", + "WeaponListEngineering": "", + "WeaponListEntangling": "", + "WeaponListExlposives": "", + "WeaponListSling": "", + "WeaponListThrowing": "", + }, {silent: true}); + }); +}); + \ No newline at end of file diff --git a/Warhammer 4e Character Sheet/translation.json b/Warhammer 4e Character Sheet/translation.json index a29524d0668..953d52be135 100644 --- a/Warhammer 4e Character Sheet/translation.json +++ b/Warhammer 4e Character Sheet/translation.json @@ -1489,7 +1489,7 @@ "DANGEROUS": "Dangerous", "IMPRECISE": "Imprecise", "UNDAMAGING": "Undamaging", - "UNDAMAGING-EFFECT": "Defender APx2, no min Dmg", + "UNDAMAGING-EFFECT": "Undamaging: APx2, no min Dmg", "UNBREAKABLE": "Unbreakable", "STRIKE-TO-INJURE": "Strike to Injure", "STRIKE-TO-STUN": "Strike to Stun", @@ -1886,7 +1886,128 @@ "WHIRLWIND-OF-DEATH-DESC": "Whirlwind of Death: Spend 1 Fortune to make a Melee attack against all creatures Engaged with you. The GM chooses one enemy to Oppose this Test. If your attack succeeds, you inflict the same Damage to the same Hit Location against all Engaged creatures, calculated as normal. Do not apply Criticals on Whirlwind of Death attacks, though Critical Wounds are inflicted on enemies reduced to 0 Wounds as normal.", "WHIRLWIND-OF-DEATH-DESC2": "You cannot activate any other special attack options as part of a Whirlwind of Death. However, if a Character with Dual Wielder (WFRP Core Rulebook) is wielding two weapons as part of a Whirlwind of Death, they may Reverse their Melee attack Test.", "WOD": "W.o.Death", - + "CUSTOM": "Custom", "TALENT-INTEGRATION": "Talents Integration options", + + + "SELECT-WEAPON-TYPE": "Select Weapon Type", + "SELECT-WEAPON": "Select Weapon", + "ADD-WEAPON": "Add Weapon", + "WEAPON-LIST": "Weapon List", + "WEAPON-HAND-WEAPON": "1H,Hand Weapon,Basic,1,Average,4,none,", + "WEAPON-IMPROVISED-WEAPON": "1H,Improvised Weapon,Basic,1,Average,1,Undamaging,", + "WEAPON-DAGGER": "1H,Dagger,Basic,0,Very Short,2,none,", + "WEAPON-KNIFE": "1H,Knife,Basic,1,Very Short,1,Undamaging,", + "WEAPON-SHIELD1": "1H,Shield (Buckler),Basic,0,Personal,1,Shield1-Defensive-Undamaging,", + "WEAPON-SHIELD2": "1H,Shield,Basic,1,Very Short,2,Shield2-Defensive-Undamaging,", + "WEAPON-SHIELD3": "1H,Shield (Large),Basic,3,Very Short,3,Shield3-Defensive-Undamaging,", + "WEAPON-SHIELD5": "1H,Pavise,Basic,3,Personal,3,Shield5,", + "WEAPON-SWORD": "1H,Sword,Basic,1,Average,4,none,", + "WEAPON-WARHAMMER": "1H,Warhammer,Basic,1,Average,4,Unbalanced-Pummel+Penetrating,", + "WEAPON-AXE": "1H,Axe,Basic,1,Average,4,Hack-Unbalanced,", + "WEAPON-BALLOCK-KNIFE": "1H,Ballock Knife,Basic,0,Average,1,Impale-Penetrating-Precise,Impale/Precise Only vs surpised and prone", + "WEAPON-CLUB": "1H,Club,Basic,1,Average,4,Undamaging-Unbalanced,", + "WEAPON-MACE": "1H,Mace,Basic,1,Average,4,Pummel-Unbalanced,", + "WEAPON-MILITARY-PICK": "1H,Military Pick,Basic,1,Average,4,Penetrating-Unbalanced,", + "WEAPON-SCIMITAR": "1H,Scimitar,Basic,1,Average,4,Slash1,", + "WEAPON-DWARF-AXE": "1H,Axe,Basic,1,Average,4,Hack,", + "WEAPON-DWARF-WARHAMMER": "1H,Warhammer,Basic,1,Average,4,Pummel,", + "WEAPON-EONIR-WAR-BLADE": "1H,Eonir War Blade,Basic,0,Average,3,Precise,", + + "WEAPON-CAVALRY-HAMMER": "2H,Cavalry Hammer,Cavalry,3,Long,5,Pummel,", + "WEAPON-DEMI-LANCE": "1H,Demi Lance,Cavalry,2,Average,5,Impact-Impale,", + "WEAPON-LANCE": "1H,Lance,Cavalry,3,Very Long,6,Impact-Impale,", + "WEAPON-SABRE": "1H,Sabre,Cavalry,1,Average,4,Slash1,", + + "WEAPON-FOIL": "1H,Foil,Fencing,1,Average,3,Fast-Impale-Precise-Undamaging,", + "WEAPON-RAPIER": "1H,Rapier,Fencing,1,Long,4,Fast-Impale,", + "WEAPON-SMALLSWORD": "1H,Smallsword,Fencing,1,Long,2,Fast-Impale-Precise,", + + "WEAPON-SPIKED-GAUNTLET": "1H,Spiked Gauntlet,Brawling,1,Personal,3,Impale-Unbalanced,", + "WEAPON-BOAT-HOOK": "1H,Boat Hook,Brawling,1,Short,4,Trip-Undamaging,", + "WEAPON-GARROTE": "2H,Garrote,Brawling,1,Personal,2,Entangle-Slow-Unbalanced-Undamaging,", + "WEAPON-KNUCKLEDUSTERS": "1H,Sabre,Knuckledusters,1,Personal,2,none,", + "WEAPON-LOCKED-GAUNTLET": "1H,Sabre,Locked Gauntlet,1,Personal,2,Undamaging,", + "WEAPON-SAP": "1H,Sap,Brawling,1,Short,1,Pummel-Unbalanced-Undamaging,", + + "WEAPON-GRAIN-FLAIL": "1H,Grain Flail,Flail,1,Average,3,Distract-Imprecise-Wrap,", + "WEAPON-FLAIL": "1H,Flail,Flail,1,Average,5,Distract-Wrap,", + "WEAPON-MILITARY-FLAIL": "2H,Military Flail,Flail,2,Long,6,Distract-Impact-Tiring-Wrap,", + "WEAPON-WHIRLING-BLADES-OF-DEATH": "1H,Whirling blades of death,Flail,2,Long,5,Distract-Hack-Impact-Tiring-Wrap,", + + "WEAPON-CLOAK": "1H,Cloak,Parry,1,Short,0,Distract-Wrap,", + "WEAPON-MAIN-GAUCHE": "1H,Main Gauche,Parry,0,Very Short,2,Distract-Wrap,", + "WEAPON-SWORDBREAKER": "1H,Swordbreaker,Parry,1,Short,1,Distract-Wrap,", + "WEAPON-WEIGHTED-NET": "2H,Weighted Net,Parry,1,Short,0,Distract-Wrap,", + + "WEAPON-AHLSPIESS": "2H,Ahlspiess,Polearm,2,Very Long,3,Impale-Penetrating,", + "WEAPON-BILL": "2H,Bill,Polearm,3,Long,4,Defensive-Hack+Trip,", + "WEAPON-HALBERD": "2H,Halberd,Polearm,3,Long,4,Defensive-Hack+Impale,", + "WEAPON-MANCATCHER": "2H,Mancatcher,Polearm,3,Long,2,Defensive-Entangle,", + "WEAPON-GLAIVE": "2H,Glaive,Polearm,3,Long,4,Defensive-Impale+Slash2,", + "WEAPON-POLLAXE": "2H,Pollaxe,Polearm,3,Long,4,Defensive-Impale+Pummel+Hack,", + "WEAPON-SPEAR": "2H,Spear,Polearm,2,Very Long,4,Impale,", + "WEAPON-PIKE": "2H,Pike,Polearm,4,Massive,4,Impale,", + "WEAPON-QUARTERSTAFF": "2H,Quarterstaff,Polearm,2,Long,4,Defensive-Pummel,", + "WEAPON-EONIR-SPEAR": "2H,Eonir Spear,Polearm,1,Long,4,Penetrating,", + + "WEAPON-BASTARD-SWORD": "2H,Bastard Sword,TwoHanded,3,Long,5,Damaging-Defensive,", + "WEAPON-GREAT-AXE": "2H,Great Axe,TwoHanded,3,Long,6,Hack-Impact-Tiring,", + "WEAPON-FLAMBERGE-ZWEIHANDER": "2H,Flamberge Zweihander,TwoHanded,3,Long,5,Damaging-Hack-Slash2,", + "WEAPON-PICK": "2H,Zweihander,TwoHanded,3,Average,5,Damaging-Impale-Slow,", + "WEAPON-2H-WARHAMMER": "2H,2H Warhammer,TwoHanded,3,Average,6,Damaging-Pummel-Slow,", + "WEAPON-ZWEIHANDER": "2H,Zweihander,TwoHanded,3,Long,5,Damaging-Hack,", + "WEAPON-DWARF-GREATAXE": "2H,Dwarf Greataxe,TwoHanded,3,Long,6,Hack-Impact-Tiring,", + "WEAPON-DWARF-GREATHAMMER": "2H,Great Axe,TwoHanded,3,Average,7,Damaging-Pummel,", + "WEAPON-DWARF-PICK": "2H,Great Axe,TwoHanded,3,Average,6,Damaging-Impale,", + "WEAPON-WILDWOOD-SWORD": "2H,Wildwood Sword,TwoHanded,2,Long,4,Damaging-Fast,", + + "WEAPON-BLUNDERBUSS": "2H,Blunderbuss,Blackpowder,1,20,0,8,Blast3-Dangerous-Reload2,", + "WEAPON-HOCKLAND-LONG-RIFLE": "2H,Hochland Long Rifle,Blackpowder,3,100,0,9,Accurate-Precise-Reload4,", + "WEAPON-HANDGUN": "2H,Handgun,Blackpowder,2,50,0,9,Dangerous-Reload3,", + "WEAPON-PISTOL": "1H,Pistol,Blackpowder,0,20,0,8,Pistol-Reload1,", + "WEAPON-DWARF-HANDGUN": "2H,Dwarf Handgun,Blackpowder,2,50,0,10,Blackpowder-Damaging-Impale-Penetrating-Reload3,", + "WEAPON-DWARF-PISTOL": "1H,Dwarf Pistol,Blackpowder,0,20,0,10,Blackpowder-Damaging-Impale-Penetrating-Pistol-Reload1,", + + "WEAPON-ELF-BOW": "2H,Elf Bow,Bow,2,150,1,4,Damaging-Precise,", + "WEAPON-LONGBOW": "2H,Longbow,Bow,3,100,1,4,Damaging,", + "WEAPON-BOW": "2H,Bow,Bow,2,50,1,3,none,", + "WEAPON-SHORTBOW": "2H,Shortbow,Bow,1,20,1,2,none,", + + "WEAPON-CROSSBOW-PISTOL": "1H,Crossbow Pistol,Crossbow,0,10,0,7,Pistol,", + "WEAPON-HEAVY-CROSSBOW": "2H,Heavy Crossbow,Crossbow,3,100,0,9,Damaging-Reload2,", + "WEAPON-CROSSBOW": "2H,Crossbow,Crossbow,1,60,0,9,Reload1,", + "WEAPON-DWARF-CROSSBOW": "2H,Dwarf Crossbow,Crossbow,1,80,0,9,Precise-Damaging-Reload 1,", + + "WEAPON-REPEATER-HANDGUN": "2H,Repeater Handgun,Engineering,3,30,0,9,Blackpowder-Dangerous-Reload5-Repeater4,", + "WEAPON-REPEATER-PISTOL": "1H,Repeater Pistol,Engineering,1,10,0,8,Blackpowder-Dangerous-Pistol-Reload4-Repeater4,", + "WEAPON-PEPPERBOX": "1H,Pepperbox,Engineering,1,10,0,8,Blackpowder-Dangerous-Pistol-Reload4-Repeater4,", + "WEAPON-HAND-MORTAR": "2H,Hand Mortar,Engineering,3,30,0,7,Blackpowder-Dangerous-Imprecise-Reload2,", + "WEAPON-CANE-PISTOL": "1H,Cane Pistol,Engineering,1,10,0,8,Blackpowder-Dangerous-Imprecise-Reload6,", + "WEAPON-DRAKEGUN": "2H,Drakegun,Engineering,3,30,0,12,Blackpowder-Blast6-Damaging-Dangerous-Penetrating-Reload4,Inflicts 1 Ablaze on hit", + "WEAPON-DRAKEFIRE-PISTOL": "1H,Drakefire Pistol,Engineering,1,20,0,11,Blackpowder-Damaging-Dangerous-Impale-Penetrating-Reload4-Repeater3,Inflicts 1 Ablaze on hit", + "WEAPON-REPEATING-DWARF-HANDGUN": "2H,Repeating Dwarf Handgun,Engineering,3,50,0,10,Blackpowder-Dangerous-Reload5-Repeater4,", + "WEAPON-GRUDGE-RAKER": "2H,Grudge-raker,Engineering,2,30,0,10,Blackpowder-Dangerous-Reload5-Salvo2-Spread3,", + + "WEAPON-LASSO": "1H,Lasso,Entangling,0,SB2,0,0,Entangle,", + "WEAPON-WHIP": "1H,Whip,Entangling,0,6,1,3,Entangle,", + + "WEAPON-BOMB": "1H,Bomb,Explosives,0,SB1,0,12,Blast5-Dangerous-Impact,", + "WEAPON-INCENDIARY": "1H,Bow,Explosives,2,SB1,0,0,Blast4-Dangerous,Inflicts 1 Ablaze on hit", + "WEAPON-BLASTING-CHARGE": "1H,Blasting Charge,Explosives,0,SB1,0,12,Blast2-Dangerous-Impact-Penetrating,Inflicts 1 Ablaze on hit", + "WEAPON-CINDERBLAST-BOMB": "1H,Cinderblast Bomb,Explosives,0,SB2,0,10,Blast5-Dangerous-Impact-Penetrating,", + + "WEAPON-SLING": "1H,Sling,Sling,0,60,0,6,none,", + "WEAPON-STAFF-SLING": "2H,Staff Sling,Sling,2,100,0,7,none,", + + "WEAPON-BOLAS": "1H,Bolas,Throwing,0,SB3,1,0,Entangle,", + "WEAPON-DART": "1H,Dart,Throwing,0,SB2,1,1,Impale,", + "WEAPON-JAVELIN": "1H,Javelin,Throwing,1,SB3,1,3,Impale,", + "WEAPON-ROCK": "1H,Rock,Throwing,0,SB1,1,0,none,", + "WEAPON-THROWING-KNIFE": "1H,Throwing Knife,Throwing,0,SB2,1,2,none,", + "WEAPON-THROWING-AXE": "1H,Throwing Axe,Throwing,1,SB2,1,3,Hack,", + "WEAPON-DWARF-THROWING-AXE": "1H,Dwarf Throwing Axe,Throwing,1,SB2,1,4,Hack,", + "WEAPON-BLACKBRIAR-JAVELIN": "1H,Blackbriar Javelin,Throwing,1,SB3,1,3,Impale,Inflicts 1 Poison on hit", + "OVERCAST-TABLE": " --=( Overcast Table )=-- \n SL Targets Damage Range AoE Duration \n 1 +1 +1 x2 N/a N/a \n 2 +1 +2 x2 N/a x2 \n 3 +1 +3 x2 x2 x2 \n 5 +2 +4 x3 x2 x2 \n 8 +2 +5 x3 x2 x3 \n 13 +2 +6 x3 x3 x3 \n 21 +3 +7 x4 x3 x3" } \ No newline at end of file From bf1cd93633a9e724ff5da4e30e7676b5e6e516ff Mon Sep 17 00:00:00 2001 From: Djjus <59532170+Djjus@users.noreply.github.com> Date: Tue, 17 Dec 2024 13:17:21 +0000 Subject: [PATCH 05/13] correction --- Warhammer 4e Character Sheet/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Warhammer 4e Character Sheet/README.md b/Warhammer 4e Character Sheet/README.md index ec043f13783..f18885cf578 100644 --- a/Warhammer 4e Character Sheet/README.md +++ b/Warhammer 4e Character Sheet/README.md @@ -84,7 +84,7 @@ Note conditions are not intended for out of combat situations, GM simply makes t Dec 14th 2024 v1.74b - New Weapon Creator script, Weapon Lists are found in the Weapons tab, Includes most Official Melee and Ranged weapons. -- New Custom Race added to Race dropdown, will allow entering own Race. See setting's tab for Custom Race Stating Characteristics Modifier, this allows the Char Roll to generate starting Charactistics for the Customer Race. +- New Custom Race added to Race dropdown, will allow entering own Race. See setting's tab for Custom Race Stating Characteristics Modifier, this allows the Char Roll to generate starting Characteristics for the Custom Race. - Fix issue with Dual Wield trigger checkbox not showing correctly in Declare Actions section. - Fix issue with impact/damaging not showing on Attack rolls with Size modifier Large Vs Small. - Fix mixed up Impact/Impale checkboxes on the NPC pages. From d9a94a6b4a29d8f3c7b19fa068d3d7ca4d428096 Mon Sep 17 00:00:00 2001 From: Djjus <59532170+Djjus@users.noreply.github.com> Date: Tue, 17 Dec 2024 13:22:03 +0000 Subject: [PATCH 06/13] layout correction --- Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html | 1 + 1 file changed, 1 insertion(+) diff --git a/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html b/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html index 85aeb00967f..26adfddcaec 100644 --- a/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html +++ b/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html @@ -28310,6 +28310,7 @@
+
From 6b7f2edcfcedf727561b50986260c70e746e02bb Mon Sep 17 00:00:00 2001 From: Djjus <59532170+Djjus@users.noreply.github.com> Date: Tue, 17 Dec 2024 20:33:27 +0000 Subject: [PATCH 09/13] remove PR offending content --- .../Warhammer 4e Character Sheet.html | 911 +----------------- Warhammer 4e Character Sheet/translation.json | 120 --- 2 files changed, 19 insertions(+), 1012 deletions(-) diff --git a/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html b/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html index 81f568ac226..1a0db5028c0 100644 --- a/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html +++ b/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html @@ -21,7 +21,7 @@
Choose the type of sheet you are creating:
-
+
@@ -27680,13 +27680,6 @@
MELEE WEAPONS -
- - - - Whisper GM - -
@@ -27704,172 +27697,6 @@ Attack
- - -
- -
- -
- - -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
-
@@ -27916,7 +27743,7 @@ - + @@ -28274,13 +28101,6 @@
RANGED WEAPONS -
- - - - Whisper GM - -
@@ -28290,161 +28110,6 @@ Shoot
- - -
- -
- -
- - -
- -
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
-
-
@@ -54278,566 +53943,28 @@ function addWeaponMelee(addkey) { const item = addkey; - - key = getTranslationByKey('WEAPON-' + item); - console.log(key); - - xh = key.split(',').slice(0,1); - console.log(xh); - name = key.split(',').slice(1,2); - console.log(name); - skill = key.split(',').slice(2,3); - console.log(skill); - skillup = skill.toString().toUpperCase(); - skillout = '(@{Melee' + skill + '} [' + skillup + '])'; - console.log(skillout); - enc = key.split(',').slice(3,4); - reach = key.split(',').slice(4,5); - dmg = key.split(',').slice(5,6); - qual = key.split(',').slice(6,7).toString(); - notes = key.split(',').slice(7,8).toString(); - eoqual = qual.split('-').slice(-1).toString(); - eior = eoqual.search("\\+"); - - if (eior > -1) { - eonumt = key.split(',').slice(6,7).toString(); - eonum = eonumt.split('-').slice(-1); - eolist = eoqual.split('+').toString(); - - eo1 = eolist.split(',').slice(0,1).toString(); - eo1out = ' (' + eo1 + ')'; - - eo2 = eolist.split(',').slice(1,2).toString(); - eo2out = ' (' + eo2 + ')'; - } else {eo1out = ''; eo1 = ''; eo2out = ''; eo2 = ''} - - sshie = qual.search("Shield"); - sshier = qual.charAt(sshie + 6) - - sdama = qual.search("Damaging"); - sdef = qual.search("Defensive"); - sdist = qual.search("Distract"); - senta = qual.search("Entangle"); - sfast = qual.search("Fast"); - shack = qual.search("Hack"); - simp = qual.search("Impact"); - simpal = qual.search("Impale"); - - if (eo1 == "Impale") {simpal = qual.search("Impale"); simpal2 = -1;} else { - simpal = qual.search("Impale"); simpal2 = qual.search("Impale");} - - if (eo2 == "Penetrating") {spen = -1; spen2 = qual.search("Penetrating");} else { - spen = qual.search("Penetrating"); spen2 = -1;} - - sprac = qual.search("Practical"); - sprec = qual.search("Precise"); - - if (eo1 == "Pummel") {spumm = qual.search("Pummel"); spumm2 = -1;} else { - spumm = qual.search("Pummel"); spumm2 = qual.search("Pummel");} - - if (eo2 == "Pummel") {spumm = -1; spumm2 = qual.search("Pummel");} else { - spumm = qual.search("Pummel"); spumm2 = -1;} - - if (eo2 = "Slash") {ssla = -1; ssla2 = qual.search("Slash"); sslar = qual.charAt(ssla2 + 5);} else { - ssla = qual.search("Slash"); ssla2 = -1; sslar = qual.charAt(ssla + 5);} - - console.log(qual); - console.log('TEST'); - console.log(ssla); - console.log(ssla2); - console.log(sslar); - - sslo = qual.search("Slow"); - strap = qual.search("Trap Blade"); - strip = qual.search("Trip"); - stiri = qual.search("Tiring"); - sunbal = qual.search("Unbalanced"); - sundama = qual.search("Undamaging"); - swarp = qual.search("Warpstone"); - swrap = qual.search("Wrap"); - szzap = qual.search("ZZAP!"); - - - const output = {}; - const newrowid = generateRowID(); - - output[`repeating_melee_${newrowid}_MeleeWeapon`] = name + eo1out, - output[`repeating_melee_${newrowid}_MeleeEnc`] = enc, - output[`repeating_melee_${newrowid}_MeleeWeaponSkill`] = skillout, - output[`repeating_melee_${newrowid}_MeleeReach`] = reach, - output[`repeating_melee_${newrowid}_MeleeDamageBonus`] = dmg, - output[`repeating_melee_${newrowid}_MeleeQualities`] = notes, - setAttrs(output, {silent: true}) - - if (xh == "2H") { - output[`repeating_melee_${newrowid}_UsedTwohanded`] = 1, - setAttrs(output, {silent: true}) - } - if (sshie > -1) { - output[`repeating_melee_${newrowid}_UsedShield`] = 1, - output[`repeating_melee_${newrowid}_UsedShieldRating`] = sshier, - setAttrs(output, {silent: true}) - } - - - if (sdama > -1) { - output[`repeating_melee_${newrowid}_UsedDamaging`] = 1, - setAttrs(output, {silent: true}) - } - if (sdef > -1) { - output[`repeating_melee_${newrowid}_MeleeDefensive`] = 1, - setAttrs(output, {silent: true}) - } - if (sdist > -1) { - output[`repeating_melee_${newrowid}_UsedDistract`] = 1, - setAttrs(output, {silent: true}) - } - if (senta > -1) { - output[`repeating_melee_${newrowid}_UsedEntangle`] = 1, - setAttrs(output, {silent: true}) - } - if (sfast > -1) { - output[`repeating_melee_${newrowid}_MeleeFast`] = 1, - setAttrs(output, {silent: true}) - } - if (shack > -1) { - output[`repeating_melee_${newrowid}_MeleeHack`] = 1, - setAttrs(output, {silent: true}) - } - if (simp > -1) { - output[`repeating_melee_${newrowid}_MeleeImpact`] = 3, - setAttrs(output, {silent: true}) - } - if (simpal > -1) { - output[`repeating_melee_${newrowid}_MeleeImpale`] = 3, - setAttrs(output, {silent: true}) - } - if (spen > -1) { - output[`repeating_melee_${newrowid}_MeleePenetrating`] = 1, - setAttrs(output, {silent: true}) - } - if (sprac > -1) { - output[`repeating_melee_${newrowid}_MeleePractical`] = 1, - setAttrs(output, {silent: true}) - } - if (sprec > -1) { - output[`repeating_melee_${newrowid}_MeleePrecise`] = 1, - setAttrs(output, {silent: true}) - } - if (spumm > -1) { - output[`repeating_melee_${newrowid}_MeleePummel`] = 1, - setAttrs(output, {silent: true}) - } - if (ssla > -1) { - output[`repeating_melee_${newrowid}_UsedSlash`] = 1, - output[`repeating_melee_${newrowid}_UsedSlashRating`] = sslar, - setAttrs(output, {silent: true}) - } - if (sslo > -1) { - output[`repeating_melee_${newrowid}_MeleeSlow`] = 1, - setAttrs(output, {silent: true}) - } - if (strap > -1) { - output[`repeating_melee_${newrowid}_UsedTrapBlade`] = 1, - setAttrs(output, {silent: true}) - } - if (strip > -1) { - output[`repeating_melee_${newrowid}_MeleeTrip`] = 1, - setAttrs(output, {silent: true}) - } - if (stiri > -1) { - output[`repeating_melee_${newrowid}_MeleeTiring`] = 1, - setAttrs(output, {silent: true}) - } - if (sunbal > -1) { - output[`repeating_melee_${newrowid}_UsedUnbalanced`] = 1, - setAttrs(output, {silent: true}) - } - if (sundama > -1) { - output[`repeating_melee_${newrowid}_UsedUndamaging`] = 1, - setAttrs(output, {silent: true}) - } - if (swarp > -1) { - output[`repeating_melee_${newrowid}_UsedWarpstone`] = 1, - setAttrs(output, {silent: true}) - } - if (swrap > -1) { - output[`repeating_melee_${newrowid}_UsedWrap`] = 1, - setAttrs(output, {silent: true}) - } - if (szzap > -1) { - output[`repeating_melee_${newrowid}_UsedZZAP`] = 1, - setAttrs(output, {silent: true}) - } - - if (eior > -1) { - console.log("Weapon 2"); - - const output2 = {}; - const newrowid2 = generateRowID(); - - output2[`repeating_melee_${newrowid2}_MeleeWeapon`] = name + eo2out, - output2[`repeating_melee_${newrowid2}_MeleeEnc`] = enc, - output2[`repeating_melee_${newrowid2}_MeleeWeaponSkill`] = skillout, - output2[`repeating_melee_${newrowid2}_MeleeReach`] = reach, - output2[`repeating_melee_${newrowid2}_MeleeDamageBonus`] = dmg, - output2[`repeating_melee_${newrowid2}_MeleeQualities`] = notes, - setAttrs(output2, {silent: true}) - - if (xh == "2H") { - output2[`repeating_melee_${newrowid2}_UsedTwohanded`] = 1, - setAttrs(output2, {silent: true}) - } - if (sshie > -1) { - output2[`repeating_melee_${newrowid2}_UsedShield`] = 1, - output2[`repeating_melee_${newrowid2}_UsedShieldRating`] = sshier, - setAttrs(output2, {silent: true}) - } - - - if (sdama > -1) { - output2[`repeating_melee_${newrowid2}_UsedDamaging`] = 1, - setAttrs(output2, {silent: true}) - } - if (sdef > -1) { - output2[`repeating_melee_${newrowid2}_MeleeDefensive`] = 1, - setAttrs(output2, {silent: true}) - } - if (sdist > -1) { - output2[`repeating_melee_${newrowid2}_UsedDistract`] = 1, - setAttrs(output2, {silent: true}) - } - if (senta > -1) { - output2[`repeating_melee_${newrowid2}_UsedEntangle`] = 1, - setAttrs(output2, {silent: true}) - } - if (sfast > -1) { - output2[`repeating_melee_${newrowid2}_MeleeFast`] = 1, - setAttrs(output2, {silent: true}) - } - if (shack > -1) { - output2[`repeating_melee_${newrowid2}_MeleeHack`] = 1, - setAttrs(output2, {silent: true}) - } - if (simp > -1) { - output2[`repeating_melee_${newrowid2}_MeleeImpact`] = 3, - setAttrs(output2, {silent: true}) - } - if (simpal2 > -1) { - output2[`repeating_melee_${newrowid2}_MeleeImpale`] = 3, - setAttrs(output2, {silent: true}) - } - if (spen2 > -1) { - output2[`repeating_melee_${newrowid2}_MeleePenetrating`] = 1, - setAttrs(output2, {silent: true}) - } - if (sprac > -1) { - output2[`repeating_melee_${newrowid2}_MeleePractical`] = 1, - setAttrs(output2, {silent: true}) - } - if (sprec > -1) { - output2[`repeating_melee_${newrowid2}_MeleePrecise`] = 1, - setAttrs(output2, {silent: true}) - } - if (spumm2 > -1) { - output2[`repeating_melee_${newrowid2}_MeleePummel`] = 1, - setAttrs(output2, {silent: true}) - } - if (ssla2 > -1) { - output2[`repeating_melee_${newrowid2}_UsedSlash`] = 1, - output2[`repeating_melee_${newrowid2}_UsedSlashRating`] = sslar, - setAttrs(output2, {silent: true}) - } - if (sslo > -1) { - output2[`repeating_melee_${newrowid2}_MeleeSlow`] = 1, - setAttrs(output2, {silent: true}) - } - if (strap > -1) { - output2[`repeating_melee_${newrowid2}_UsedTrapBlade`] = 1, - setAttrs(output2, {silent: true}) - } - if (strip > -1) { - output2[`repeating_melee_${newrowid2}_MeleeTrip`] = 1, - setAttrs(output2, {silent: true}) - } - if (stiri > -1) { - output2[`repeating_melee_${newrowid2}_MeleeTiring`] = 1, - setAttrs(output2, {silent: true}) - } - if (sunbal > -1) { - output2[`repeating_melee_${newrowid2}_UsedUnbalanced`] = 1, - setAttrs(output2, {silent: true}) - } - if (sundama > -1) { - output2[`repeating_melee_${newrowid2}_UsedUndamaging`] = 1, - setAttrs(output2, {silent: true}) - } - if (swarp > -1) { - output2[`repeating_melee_${newrowid2}_UsedWarpstone`] = 1, - setAttrs(output2, {silent: true}) - } - if (swrap > -1) { - output2[`repeating_melee_${newrowid2}_UsedWrap`] = 1, - setAttrs(output2, {silent: true}) - } - if (szzap > -1) { - output2[`repeating_melee_${newrowid2}_UsedZZAP`] = 1, - setAttrs(output2, {silent: true}) - } - - } - console.log(output); - - return; } -function capitalizeFirstLetter(val) { - return String(val).charAt(0).toUpperCase() + String(val).slice(1); -} - -on('clicked:MakeWeaponBasic clicked:MakeWeaponCavalry clicked:MakeWeaponFencing clicked:MakeWeaponBrawling clicked:MakeWeaponFlail clicked:MakeWeaponParry clicked:MakeWeaponPolearm clicked:MakeWeaponTwohanded', function(eventInfo) { - console.log("Test Make Weapon"); - - getAttrs(["WeaponListBasic", "WeaponListCavalry", "WeaponListFencing", "WeaponListBrawling", "WeaponListFlail", "WeaponListParry", "WeaponListPolearm", "WeaponListTwohanded"], function(v) { - - var trigger = eventInfo.triggerName; - console.log(trigger); - typepre = trigger.slice(18) - type = capitalizeFirstLetter(typepre) - - selected = v[`WeaponList${type}`]; - console.log(selected); - - addWeaponMelee(selected); - - setAttrs({ - "MakeWeaponShow": 0, - "WeaponListType": "", - "WeaponListBasic": "", - "WeaponListCavalry": "", - "WeaponListFencing": "", - "WeaponListBrawling": "", - "WeaponListFlail": "", - "WeaponListParry": "", - "WeaponListPolearm": "", - "WeaponListTwohanded": "", - }, {silent: true}); - }); -}); - - function addWeaponRanged(addkey) { const item = addkey; - - getAttrs(["StrengthBonus"], function(t) { - key = getTranslationByKey('WEAPON-' + item); - console.log(key); - - xh = key.split(',').slice(0,1); - console.log(xh); - name = key.split(',').slice(1,2); - console.log(name); - skill = key.split(',').slice(2,3); - console.log(skill); - skillup = skill.toString().toUpperCase(); - skillout = '(@{Ranged' + skill + '})'; - console.log(skillout); - enc = key.split(',').slice(3,4); - range = key.split(',').slice(4,5); - rangest = key.split(',').slice(4,5).toString(); - rangesb = rangest.search("SB"); - rangesbnout = rangest.charAt(rangesb + 2) - if (rangesb > -1) { - range = t.StrengthBonus * rangesbnout;} - - sb = key.split(',').slice(5,6); - dmg = key.split(',').slice(6,7); - qual = key.split(',').slice(7,8).toString(); - notes = key.split(',').slice(8,9).toString(); - - screw = qual.search("Crewed"); - screwr = qual.charAt(screw + 6) - - sblas = qual.search("Blast"); - sblasr = qual.charAt(sblas + 6) - - srelo = qual.search("Reload"); - srelor = qual.charAt(srelo + 6) - - srepe = qual.search("Repeater"); - sreper = qual.charAt(srepe + 6) - - ssalv = qual.search("Salvo"); - ssalvr = qual.charAt(ssalv + 6) - - sspre = qual.search("Spread"); - ssprer = qual.charAt(sspre + 6) - - saccu = qual.search("Accurate"); - sblac = qual.search("Blackpowder"); - sdama = qual.search("Damaging"); - sdang = qual.search("Dangerous"); - senta = qual.search("Entangle"); - shack = qual.search("Hack"); - simp = qual.search("Impact"); - simpal = qual.search("Impale"); - simpr = qual.search("Imprecise"); - - spen = qual.search("Penetrating"); - - sprac = qual.search("Practical"); - sprec = qual.search("Precise"); - - spumm = qual.search("Pummel") - - swarp = qual.search("Warpstone"); - szzap = qual.search("ZZAP!"); - - - const output = {}; - const newrowid = generateRowID(); - - output[`repeating_ranged_${newrowid}_RangedWeaponName`] = name, - output[`repeating_ranged_${newrowid}_RangedEnc`] = enc, - output[`repeating_ranged_${newrowid}_RangedBalisticSkill`] = skillout, - output[`repeating_ranged_${newrowid}_RangedStrengthBonus`] = sb, - output[`repeating_ranged_${newrowid}_RangedDamage`] = dmg, - output[`repeating_ranged_${newrowid}_WeaponRange`] = range, - output[`repeating_ranged_${newrowid}_RangedQualities`] = notes, - setAttrs(output, {silent: true}) - - if (xh == "2H") { - output[`repeating_ranged_${newrowid}_Used_RangedTwoHanded`] = 1, - setAttrs(output, {silent: true}) - } - if (screw > -1) { - output[`repeating_ranged_${newrowid}_RangedCrewed`] = 1, - output[`repeating_ranged_${newrowid}_RangedCrewedRating`] = screwr, - setAttrs(output, {silent: true}) - } - if (sblas > -1) { - output[`repeating_ranged_${newrowid}_RangedBlast`] = 1, - output[`repeating_ranged_${newrowid}_RangedBlastRating`] = sblasr, - setAttrs(output, {silent: true}) - } - if (srelo > -1) { - output[`repeating_ranged_${newrowid}_RangedReload`] = 1, - output[`repeating_ranged_${newrowid}_RangedReloadRatingInput`] = srelor, - setAttrs(output, {silent: true}) - } - if (srepe > -1) { - output[`repeating_ranged_${newrowid}_RangedRepeater`] = 1, - output[`repeating_ranged_${newrowid}_RangedRepeaterRating`] = sreper, - setAttrs(output, {silent: true}) - } - if (ssalv > -1) { - output[`repeating_ranged_${newrowid}_RangedSalvo`] = 1, - output[`repeating_ranged_${newrowid}_RangedSalvoRating`] = ssalvr, - setAttrs(output, {silent: true}) - } - if (sspre > -1) { - output[`repeating_ranged_${newrowid}_RangedSpread`] = 1, - output[`repeating_ranged_${newrowid}_RangedSpreadRating`] = ssprer, - setAttrs(output, {silent: true}) - } - - - if (saccu > -1) { - output[`repeating_ranged_${newrowid}_RangedAccurate`] = 1, - setAttrs(output, {silent: true}) - } - if (sblac > -1) { - output[`repeating_ranged_${newrowid}_UsedBlackpowder`] = 1, - setAttrs(output, {silent: true}) - } - if (sdama > -1) { - output[`repeating_ranged_${newrowid}_UsedDamaging`] = 1, - setAttrs(output, {silent: true}) - } - if (sdang > -1) { - output[`repeating_ranged_${newrowid}_UsedDangerous`] = 1, - setAttrs(output, {silent: true}) - } - if (senta > -1) { - output[`repeating_ranged_${newrowid}_UsedEntangle`] = 1, - setAttrs(output, {silent: true}) - } - if (shack > -1) { - output[`repeating_ranged_${newrowid}_UsedHack`] = 1, - setAttrs(output, {silent: true}) - } - if (simp > -1) { - output[`repeating_ranged_${newrowid}_UsedImpact`] = 3, - setAttrs(output, {silent: true}) - } - if (simpal > -1) { - output[`repeating_ranged_${newrowid}_RangedImpale`] = 3, - setAttrs(output, {silent: true}) - } - if (simpr > -1) { - output[`repeating_ranged_${newrowid}_UsedImprecise`] = 1, - setAttrs(output, {silent: true}) - } - if (spen > -1) { - output[`repeating_ranged_${newrowid}_RangedPenetrating`] = 1, - setAttrs(output, {silent: true}) - } - if (sprac > -1) { - output[`repeating_ranged_${newrowid}_RangedPractical`] = 1, - setAttrs(output, {silent: true}) - } - if (sprec > -1) { - output[`repeating_ranged_${newrowid}_RangedPrecise`] = 1, - setAttrs(output, {silent: true}) - } - if (spumm > -1) { - output[`repeating_ranged_${newrowid}_RangedPummel`] = 1, - setAttrs(output, {silent: true}) - } - if (swarp > -1) { - output[`repeating_ranged_${newrowid}_UsedWarpstone`] = 1, - setAttrs(output, {silent: true}) - } - if (szzap > -1) { - output[`repeating_ranged_${newrowid}_UsedZZAP`] = 1, - setAttrs(output, {silent: true}) - } - - console.log(output); - - return; -}); } - on('clicked:MakeWeaponBlackpowder clicked:MakeWeaponBow clicked:MakeWeaponCrossbow clicked:MakeWeaponEngineering clicked:MakeWeaponEntangling clicked:MakeWeaponExlposives clicked:MakeWeaponSling clicked:MakeWeaponThrowing', function(eventInfo) { - console.log("Test Make Weapon"); - - getAttrs(["WeaponListBlackpowder", "WeaponListBow", "WeaponListCrossbow", "WeaponListEngineering", "WeaponListEntangling", "WeaponListExlposives", "WeaponListSling", "WeaponListThrowing", "StrengthBonus"], function(v) { - - var trigger = eventInfo.triggerName; - console.log(trigger); - typepre = trigger.slice(18) - type = capitalizeFirstLetter(typepre) - console.log(type); - - selected = v[`WeaponList${type}`]; - console.log(selected); - - addWeaponRanged(selected); - - setAttrs({ - "MakeWeaponRangeShow": 0, - "WeaponRangedListType": "", - "WeaponListBlackpowder": "", - "WeaponListBow": "", - "WeaponListCrossbow": "", - "WeaponListEngineering": "", - "WeaponListEntangling": "", - "WeaponListExlposives": "", - "WeaponListSling": "", - "WeaponListThrowing": "", - }, {silent: true}); - }); -}); + class Career{ + constructor(name, races, ws, bs, s) { + this.name = name; + this.races = races; + this.ws = ws; + this.bs = bs; + this.s = s; + } + + displayCareer(){ + console.log(`${this.name}`); + console.log(`${this.races}`); + console.log(`${this.ws}`); + console.log(`${this.bs}`); + console.log(`${this.s}`); + } + } \ No newline at end of file diff --git a/Warhammer 4e Character Sheet/translation.json b/Warhammer 4e Character Sheet/translation.json index 039e5c65780..fcf9e33f4b5 100644 --- a/Warhammer 4e Character Sheet/translation.json +++ b/Warhammer 4e Character Sheet/translation.json @@ -1889,125 +1889,5 @@ "CUSTOM": "Custom", "TALENT-INTEGRATION": "Talents Integration options", - - "SELECT-WEAPON-TYPE": "Select Weapon Type", - "SELECT-WEAPON": "Select Weapon", - "ADD-WEAPON": "Add Weapon", - "WEAPON-LIST": "Weapon List", - "WEAPON-HAND-WEAPON": "1H,Hand Weapon,Basic,1,Average,4,none,", - "WEAPON-IMPROVISED-WEAPON": "1H,Improvised Weapon,Basic,1,Average,1,Undamaging,", - "WEAPON-DAGGER": "1H,Dagger,Basic,0,Very Short,2,none,", - "WEAPON-KNIFE": "1H,Knife,Basic,1,Very Short,1,Undamaging,", - "WEAPON-SHIELD1": "1H,Shield (Buckler),Basic,0,Personal,1,Shield1-Defensive-Undamaging,", - "WEAPON-SHIELD2": "1H,Shield,Basic,1,Very Short,2,Shield2-Defensive-Undamaging,", - "WEAPON-SHIELD3": "1H,Shield (Large),Basic,3,Very Short,3,Shield3-Defensive-Undamaging,", - "WEAPON-SHIELD5": "1H,Pavise,Basic,3,Personal,3,Shield5,", - "WEAPON-SWORD": "1H,Sword,Basic,1,Average,4,none,", - "WEAPON-WARHAMMER": "1H,Warhammer,Basic,1,Average,4,Unbalanced-Pummel+Penetrating,", - "WEAPON-AXE": "1H,Axe,Basic,1,Average,4,Hack-Unbalanced,", - "WEAPON-BALLOCK-KNIFE": "1H,Ballock Knife,Basic,0,Average,1,Impale-Penetrating-Precise,Impale/Precise Only vs surpised and prone", - "WEAPON-CLUB": "1H,Club,Basic,1,Average,4,Undamaging-Unbalanced,", - "WEAPON-MACE": "1H,Mace,Basic,1,Average,4,Pummel-Unbalanced,", - "WEAPON-MILITARY-PICK": "1H,Military Pick,Basic,1,Average,4,Penetrating-Unbalanced,", - "WEAPON-SCIMITAR": "1H,Scimitar,Basic,1,Average,4,Slash1,", - "WEAPON-DWARF-AXE": "1H,Axe,Basic,1,Average,4,Hack,", - "WEAPON-DWARF-WARHAMMER": "1H,Warhammer,Basic,1,Average,4,Pummel,", - "WEAPON-EONIR-WAR-BLADE": "1H,Eonir War Blade,Basic,0,Average,3,Precise,", - - "WEAPON-CAVALRY-HAMMER": "2H,Cavalry Hammer,Cavalry,3,Long,5,Pummel,", - "WEAPON-DEMI-LANCE": "1H,Demi Lance,Cavalry,2,Average,5,Impact-Impale,", - "WEAPON-LANCE": "1H,Lance,Cavalry,3,Very Long,6,Impact-Impale,", - "WEAPON-SABRE": "1H,Sabre,Cavalry,1,Average,4,Slash1,", - - "WEAPON-FOIL": "1H,Foil,Fencing,1,Average,3,Fast-Impale-Precise-Undamaging,", - "WEAPON-RAPIER": "1H,Rapier,Fencing,1,Long,4,Fast-Impale,", - "WEAPON-SMALLSWORD": "1H,Smallsword,Fencing,1,Long,2,Fast-Impale-Precise,", - - "WEAPON-SPIKED-GAUNTLET": "1H,Spiked Gauntlet,Brawling,1,Personal,3,Impale-Unbalanced,", - "WEAPON-BOAT-HOOK": "1H,Boat Hook,Brawling,1,Short,4,Trip-Undamaging,", - "WEAPON-GARROTE": "2H,Garrote,Brawling,1,Personal,2,Entangle-Slow-Unbalanced-Undamaging,", - "WEAPON-KNUCKLEDUSTERS": "1H,Sabre,Knuckledusters,1,Personal,2,none,", - "WEAPON-LOCKED-GAUNTLET": "1H,Sabre,Locked Gauntlet,1,Personal,2,Undamaging,", - "WEAPON-SAP": "1H,Sap,Brawling,1,Short,1,Pummel-Unbalanced-Undamaging,", - - "WEAPON-GRAIN-FLAIL": "1H,Grain Flail,Flail,1,Average,3,Distract-Imprecise-Wrap,", - "WEAPON-FLAIL": "1H,Flail,Flail,1,Average,5,Distract-Wrap,", - "WEAPON-MILITARY-FLAIL": "2H,Military Flail,Flail,2,Long,6,Distract-Impact-Tiring-Wrap,", - "WEAPON-WHIRLING-BLADES-OF-DEATH": "1H,Whirling blades of death,Flail,2,Long,5,Distract-Hack-Impact-Tiring-Wrap,", - - "WEAPON-CLOAK": "1H,Cloak,Parry,1,Short,0,Distract-Wrap,", - "WEAPON-MAIN-GAUCHE": "1H,Main Gauche,Parry,0,Very Short,2,Distract-Wrap,", - "WEAPON-SWORDBREAKER": "1H,Swordbreaker,Parry,1,Short,1,Distract-Wrap,", - "WEAPON-WEIGHTED-NET": "2H,Weighted Net,Parry,1,Short,0,Distract-Wrap,", - - "WEAPON-AHLSPIESS": "2H,Ahlspiess,Polearm,2,Very Long,3,Impale-Penetrating,", - "WEAPON-BILL": "2H,Bill,Polearm,3,Long,4,Defensive-Hack+Trip,", - "WEAPON-HALBERD": "2H,Halberd,Polearm,3,Long,4,Defensive-Hack+Impale,", - "WEAPON-MANCATCHER": "2H,Mancatcher,Polearm,3,Long,2,Defensive-Entangle,", - "WEAPON-GLAIVE": "2H,Glaive,Polearm,3,Long,4,Defensive-Impale+Slash2,", - "WEAPON-POLLAXE": "2H,Pollaxe,Polearm,3,Long,4,Defensive-Impale+Pummel+Hack,", - "WEAPON-SPEAR": "2H,Spear,Polearm,2,Very Long,4,Impale,", - "WEAPON-PIKE": "2H,Pike,Polearm,4,Massive,4,Impale,", - "WEAPON-QUARTERSTAFF": "2H,Quarterstaff,Polearm,2,Long,4,Defensive-Pummel,", - "WEAPON-EONIR-SPEAR": "2H,Eonir Spear,Polearm,1,Long,4,Penetrating,", - - "WEAPON-BASTARD-SWORD": "2H,Bastard Sword,TwoHanded,3,Long,5,Damaging-Defensive,", - "WEAPON-GREAT-AXE": "2H,Great Axe,TwoHanded,3,Long,6,Hack-Impact-Tiring,", - "WEAPON-FLAMBERGE-ZWEIHANDER": "2H,Flamberge Zweihander,TwoHanded,3,Long,5,Damaging-Hack-Slash2,", - "WEAPON-PICK": "2H,Zweihander,TwoHanded,3,Average,5,Damaging-Impale-Slow,", - "WEAPON-2H-WARHAMMER": "2H,2H Warhammer,TwoHanded,3,Average,6,Damaging-Pummel-Slow,", - "WEAPON-ZWEIHANDER": "2H,Zweihander,TwoHanded,3,Long,5,Damaging-Hack,", - "WEAPON-DWARF-GREATAXE": "2H,Dwarf Greataxe,TwoHanded,3,Long,6,Hack-Impact-Tiring,", - "WEAPON-DWARF-GREATHAMMER": "2H,Dwarf Greathammer,TwoHanded,3,Average,7,Damaging-Pummel,", - "WEAPON-DWARF-PICK": "2H,Dwarf Pick,TwoHanded,3,Average,6,Damaging-Impale,", - "WEAPON-WILDWOOD-SWORD": "2H,Wildwood Sword,TwoHanded,2,Long,4,Damaging-Fast,", - - "WEAPON-BLUNDERBUSS": "2H,Blunderbuss,Blackpowder,1,20,0,8,Blast3-Dangerous-Reload2,", - "WEAPON-HOCKLAND-LONG-RIFLE": "2H,Hochland Long Rifle,Blackpowder,3,100,0,9,Accurate-Precise-Reload4,", - "WEAPON-HANDGUN": "2H,Handgun,Blackpowder,2,50,0,9,Dangerous-Reload3,", - "WEAPON-PISTOL": "1H,Pistol,Blackpowder,0,20,0,8,Pistol-Reload1,", - "WEAPON-DWARF-HANDGUN": "2H,Dwarf Handgun,Blackpowder,2,50,0,10,Blackpowder-Damaging-Impale-Penetrating-Reload3,", - "WEAPON-DWARF-PISTOL": "1H,Dwarf Pistol,Blackpowder,0,20,0,10,Blackpowder-Damaging-Impale-Penetrating-Pistol-Reload1,", - - "WEAPON-ELF-BOW": "2H,Elf Bow,Bow,2,150,1,4,Damaging-Precise,", - "WEAPON-LONGBOW": "2H,Longbow,Bow,3,100,1,4,Damaging,", - "WEAPON-BOW": "2H,Bow,Bow,2,50,1,3,none,", - "WEAPON-SHORTBOW": "2H,Shortbow,Bow,1,20,1,2,none,", - - "WEAPON-CROSSBOW-PISTOL": "1H,Crossbow Pistol,Crossbow,0,10,0,7,Pistol,", - "WEAPON-HEAVY-CROSSBOW": "2H,Heavy Crossbow,Crossbow,3,100,0,9,Damaging-Reload2,", - "WEAPON-CROSSBOW": "2H,Crossbow,Crossbow,1,60,0,9,Reload1,", - "WEAPON-DWARF-CROSSBOW": "2H,Dwarf Crossbow,Crossbow,1,80,0,9,Precise-Damaging-Reload 1,", - - "WEAPON-REPEATER-HANDGUN": "2H,Repeater Handgun,Engineering,3,30,0,9,Blackpowder-Dangerous-Reload5-Repeater4,", - "WEAPON-REPEATER-PISTOL": "1H,Repeater Pistol,Engineering,1,10,0,8,Blackpowder-Dangerous-Pistol-Reload4-Repeater4,", - "WEAPON-PEPPERBOX": "1H,Pepperbox,Engineering,1,10,0,8,Blackpowder-Dangerous-Pistol-Reload4-Repeater4,", - "WEAPON-HAND-MORTAR": "2H,Hand Mortar,Engineering,3,30,0,7,Blackpowder-Dangerous-Imprecise-Reload2,", - "WEAPON-CANE-PISTOL": "1H,Cane Pistol,Engineering,1,10,0,8,Blackpowder-Dangerous-Imprecise-Reload6,", - "WEAPON-DRAKEGUN": "2H,Drakegun,Engineering,3,30,0,12,Blackpowder-Blast6-Damaging-Dangerous-Penetrating-Reload4,Inflicts 1 Ablaze on hit", - "WEAPON-DRAKEFIRE-PISTOL": "1H,Drakefire Pistol,Engineering,1,20,0,11,Blackpowder-Damaging-Dangerous-Impale-Penetrating-Reload4-Repeater3,Inflicts 1 Ablaze on hit", - "WEAPON-REPEATING-DWARF-HANDGUN": "2H,Repeating Dwarf Handgun,Engineering,3,50,0,10,Blackpowder-Dangerous-Reload5-Repeater4,", - "WEAPON-GRUDGE-RAKER": "2H,Grudge-raker,Engineering,2,30,0,10,Blackpowder-Dangerous-Reload5-Salvo2-Spread3,", - - "WEAPON-LASSO": "1H,Lasso,Entangling,0,SB2,0,0,Entangle,", - "WEAPON-WHIP": "1H,Whip,Entangling,0,6,1,3,Entangle,", - - "WEAPON-BOMB": "1H,Bomb,Explosives,0,SB1,0,12,Blast5-Dangerous-Impact,", - "WEAPON-INCENDIARY": "1H,Bow,Explosives,2,SB1,0,0,Blast4-Dangerous,Inflicts 1 Ablaze on hit", - "WEAPON-BLASTING-CHARGE": "1H,Blasting Charge,Explosives,0,SB1,0,12,Blast2-Dangerous-Impact-Penetrating,Inflicts 1 Ablaze on hit", - "WEAPON-CINDERBLAST-BOMB": "1H,Cinderblast Bomb,Explosives,0,SB2,0,10,Blast5-Dangerous-Impact-Penetrating,", - - "WEAPON-SLING": "1H,Sling,Sling,0,60,0,6,none,", - "WEAPON-STAFF-SLING": "2H,Staff Sling,Sling,2,100,0,7,none,", - - "WEAPON-BOLAS": "1H,Bolas,Throwing,0,SB3,1,0,Entangle,", - "WEAPON-DART": "1H,Dart,Throwing,0,SB2,1,1,Impale,", - "WEAPON-JAVELIN": "1H,Javelin,Throwing,1,SB3,1,3,Impale,", - "WEAPON-ROCK": "1H,Rock,Throwing,0,SB1,1,0,none,", - "WEAPON-THROWING-KNIFE": "1H,Throwing Knife,Throwing,0,SB2,1,2,none,", - "WEAPON-THROWING-AXE": "1H,Throwing Axe,Throwing,1,SB2,1,3,Hack,", - "WEAPON-DWARF-THROWING-AXE": "1H,Dwarf Throwing Axe,Throwing,1,SB2,1,4,Hack,", - "WEAPON-BLACKBRIAR-JAVELIN": "1H,Blackbriar Javelin,Throwing,1,SB3,1,3,Impale,Inflicts 1 Poison on hit", - "OVERCAST-TABLE": " --=( Overcast Table )=-- \n SL Targets Damage Range AoE Duration \n 1 +1 +1 x2 N/a N/a \n 2 +1 +2 x2 N/a x2 \n 3 +1 +3 x2 x2 x2 \n 5 +2 +4 x3 x2 x2 \n 8 +2 +5 x3 x2 x3 \n 13 +2 +6 x3 x3 x3 \n 21 +3 +7 x4 x3 x3" } \ No newline at end of file From 261cc7f17270d24c91d76e581ccf30e6756c5ea7 Mon Sep 17 00:00:00 2001 From: Djjus <59532170+Djjus@users.noreply.github.com> Date: Tue, 17 Dec 2024 20:34:58 +0000 Subject: [PATCH 10/13] remove test code --- Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html b/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html index 1a0db5028c0..c2cd02a43e4 100644 --- a/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html +++ b/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html @@ -21,7 +21,7 @@
Choose the type of sheet you are creating:
-
+
From 15d16a887164238cd28b06efa94f61aeb82fd696 Mon Sep 17 00:00:00 2001 From: Djjus <59532170+Djjus@users.noreply.github.com> Date: Tue, 17 Dec 2024 20:36:22 +0000 Subject: [PATCH 11/13] value correction --- Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html b/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html index c2cd02a43e4..ebd70b484c7 100644 --- a/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html +++ b/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html @@ -27743,7 +27743,7 @@ - +
From 619cc6ce93e4e49e331e34211abf635d5d319368 Mon Sep 17 00:00:00 2001 From: Djjus <59532170+Djjus@users.noreply.github.com> Date: Tue, 17 Dec 2024 20:37:41 +0000 Subject: [PATCH 12/13] remove unused worker code --- .../Warhammer 4e Character Sheet.html | 25 ------------------- 1 file changed, 25 deletions(-) diff --git a/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html b/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html index ebd70b484c7..9a0c59306d0 100644 --- a/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html +++ b/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html @@ -53941,30 +53941,5 @@ } }); -function addWeaponMelee(addkey) { - const item = addkey; - } - -function addWeaponRanged(addkey) { - const item = addkey; - } - - class Career{ - constructor(name, races, ws, bs, s) { - this.name = name; - this.races = races; - this.ws = ws; - this.bs = bs; - this.s = s; - } - - displayCareer(){ - console.log(`${this.name}`); - console.log(`${this.races}`); - console.log(`${this.ws}`); - console.log(`${this.bs}`); - console.log(`${this.s}`); - } - } \ No newline at end of file From bb947c5be17960eb8c8115b9ec597c6c150d1dba Mon Sep 17 00:00:00 2001 From: Djjus <59532170+Djjus@users.noreply.github.com> Date: Tue, 17 Dec 2024 20:41:16 +0000 Subject: [PATCH 13/13] Update README.md --- Warhammer 4e Character Sheet/README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Warhammer 4e Character Sheet/README.md b/Warhammer 4e Character Sheet/README.md index f18885cf578..7051da1c1c3 100644 --- a/Warhammer 4e Character Sheet/README.md +++ b/Warhammer 4e Character Sheet/README.md @@ -83,8 +83,7 @@ Note conditions are not intended for out of combat situations, GM simply makes t Dec 14th 2024 v1.74b -- New Weapon Creator script, Weapon Lists are found in the Weapons tab, Includes most Official Melee and Ranged weapons. -- New Custom Race added to Race dropdown, will allow entering own Race. See setting's tab for Custom Race Stating Characteristics Modifier, this allows the Char Roll to generate starting Characteristics for the Custom Race. +- New Custom Race option added to Race dropdown menu, will allow entering owna Custom Race name. See setting's tab for Custom Race Stating Characteristics Modifier, this allows the Char Roll to generate starting Charactistics for the Customer Race.reset to menu by clicking the X. - Fix issue with Dual Wield trigger checkbox not showing correctly in Declare Actions section. - Fix issue with impact/damaging not showing on Attack rolls with Size modifier Large Vs Small. - Fix mixed up Impact/Impale checkboxes on the NPC pages.