removed all Fatigue features from MWC sheetworker

proper OW enforces a -10 to all Tests at any Fatigue level, which at no point applies to Bonuses or Characteristics

that Armor Limit could be nice to keep though.

You might have noticed by now, my philosophy with this sheet is to keep OW rules as much as possible, but some extra features that don't affect the main rules don't hurt either
This commit is contained in:
johnmoney-code
2021-04-01 22:46:15 -07:00
parent 744a2bd786
commit ad2b13d2d0
+4 -46
View File
@@ -2134,9 +2134,9 @@
// ___________________________________________________________________________
// ________________Movement, Weight, Fatigue sheet worker_____________________
// __________________Movement and Weight sheet worker_________________________
// ____________________and Characteristics Total/Mod__________________________
let fieldsMWFC = [
let fieldsMWC = [
'size', 'carry', 'weight_total',
'ws', 'ws_unnat', 'ws_advancement', 'ws_mod',
'bs', 'bs_unnat', 'bs_advancement', 'bs_mod',
@@ -2147,18 +2147,12 @@
'wp', 'wp_unnat', 'wp_advancement', 'wp_mod',
'fel', 'fel_unnat', 'fel_advancement', 'fel_mod',
'agi', 'agi_unnat', 'agi_advancement', 'agi_mod', 'agi_mov_mod', 'armor_agi', 'armor_limit',
'fatigue', 'fatigue_threshold', 'fatigue_ignore'
];
on('sheet:opened ' + fieldsMWFC.map(field => 'change:' + field).join(' '), function(e) {
on('sheet:opened ' + fieldsMWC.map(field => 'change:' + field).join(' '), function(e) {
// console.log(e);
getAttrs(fieldsMWFC, function(values) {
getAttrs(fieldsMWC, function(values) {
// SIZE
var size = parseInt(values['size'], 10) || 0;
// FATIGUE
var fatigue = parseInt(values['fatigue'], 10) || 0;
var fatigueThreshold = parseInt(values['fatigue_threshold'], 10) || 0;
var fatigueIgnore = parseInt(values['fatigue_ignore'], 10) || 0;
if (fatigueIgnore) fatigue = 0;
// CARRY
var carry = parseInt(values['carry'], 10) || 0;
var weight_total = parseInt(values['weight_total'], 10) || 0;
@@ -2169,10 +2163,6 @@
ws_advancement = parseInt(values['ws_advancement'], 10) || 0;
var wsTotal = ws + ws_advancement + ws_mod;
var ws_bonus = Math.floor(wsTotal / 10 + ws_unnat);
if (ws_bonus < fatigue) {
wsTotal = Math.ceil(wsTotal / 2);
ws_bonus = Math.floor(wsTotal / 10 + ws_unnat);
}
// BS
var bs = parseInt(values['bs'], 10) || 0,
bs_unnat = parseInt(values['bs_unnat'], 10) || 0,
@@ -2180,10 +2170,6 @@
bs_advancement = parseInt(values['bs_advancement'], 10) || 0;
var bsTotal = bs + bs_advancement + bs_mod;
var bs_bonus = Math.floor(bsTotal / 10 + bs_unnat);
if (bs_bonus < fatigue) {
bsTotal = Math.ceil(bsTotal / 2);
bs_bonus = Math.floor(bsTotal / 10 + bs_unnat);
}
// STR
var str = parseInt(values['str'], 10) || 0,
str_unnat = parseInt(values['str_unnat'], 10) || 0,
@@ -2191,10 +2177,6 @@
str_advancement = parseInt(values['str_advancement'], 10) || 0;
var strTotal = str + str_advancement + str_mod;
var str_bonus = Math.floor(strTotal / 10 + str_unnat);
if (str_bonus < fatigue) {
strTotal = Math.ceil(strTotal / 2);
str_bonus = Math.floor(strTotal / 10 + str_unnat);
}
// TOU
var tou = parseInt(values['tou'], 10) || 0,
tou_unnat = parseInt(values['tou_unnat'], 10) || 0,
@@ -2202,10 +2184,6 @@
tou_advancement = parseInt(values['tou_advancement'], 10) || 0;
var touTotal = tou + tou_advancement + tou_mod;
var tou_bonus = Math.floor(touTotal / 10 + tou_unnat);
if (tou_bonus < fatigue) {
touTotal = Math.ceil(touTotal / 2);
tou_bonus = Math.floor(touTotal / 10 + tou_unnat);
}
// AGI
var agi = parseInt(values['agi'], 10) || 0,
agi_unnat = parseInt(values['agi_unnat'], 10) || 0,
@@ -2218,10 +2196,6 @@
if (weight_total > carry) { agiTotal -= 10; }
if (armor_limit) {agiTotal = (agiTotal > armor_agi ) ? armor_agi : agiTotal; }
var agi_bonus = Math.floor(agiTotal / 10 + agi_unnat);
if (agi_bonus < fatigue) {
agiTotal = Math.ceil(agiTotal / 2);
agi_bonus = Math.floor(agiTotal / 10 + agi_unnat);
}
// INT
var int = parseInt(values['int'], 10) || 0,
int_unnat = parseInt(values['int_unnat'], 10) || 0,
@@ -2229,10 +2203,6 @@
int_advancement = parseInt(values['int_advancement'], 10) || 0;
var intTotal = int + int_advancement + int_mod;
var int_bonus = Math.floor(intTotal / 10 + int_unnat);
if (int_bonus < fatigue) {
intTotal = Math.ceil(intTotal / 2);
int_bonus = Math.floor(intTotal / 10 + int_unnat);
}
// PER
var per = parseInt(values['per'], 10) || 0,
per_unnat = parseInt(values['per_unnat'], 10) || 0,
@@ -2240,10 +2210,6 @@
per_advancement = parseInt(values['per_advancement'], 10) || 0;
var perTotal = per + per_advancement + per_mod;
var per_bonus = Math.floor(perTotal / 10 + per_unnat);
if (per_bonus < fatigue) {
perTotal = Math.ceil(perTotal / 2);
per_bonus = Math.floor(perTotal / 10 + per_unnat);
}
// WP
var wp = parseInt(values['wp'], 10) || 0,
wp_unnat = parseInt(values['wp_unnat'], 10) || 0,
@@ -2251,10 +2217,6 @@
wp_advancement = parseInt(values['wp_advancement'], 10) || 0;
var wpTotal = wp + wp_advancement + wp_mod;
var wp_bonus = Math.floor(wpTotal / 10 + wp_unnat);
if (wp_bonus < fatigue) {
wpTotal = Math.ceil(wpTotal / 2);
wp_bonus = Math.floor(wpTotal / 10 + wp_unnat);
}
// FEL
var fel = parseInt(values['fel'], 10) || 0,
fel_unnat = parseInt(values['fel_unnat'], 10) || 0,
@@ -2262,10 +2224,6 @@
fel_advancement = parseInt(values['fel_advancement'], 10) || 0;
var felTotal = fel + fel_advancement + fel_mod;
var fel_bonus = Math.floor(felTotal / 10 + fel_unnat);
if (fel_bonus < fatigue) {
felTotal = Math.ceil(felTotal / 2);
fel_bonus = Math.floor(felTotal / 10 + fel_unnat);
}
var move_mod = agi_bonus + size + agi_mov_mod;
var carry_mod = str_bonus + tou_bonus;