diff --git a/assets/fonts/Skranji-Bold.ttf b/assets/fonts/Skranji-Bold.ttf new file mode 100644 index 0000000..6afd379 Binary files /dev/null and b/assets/fonts/Skranji-Bold.ttf differ diff --git a/assets/fonts/Skranji-Regular.ttf b/assets/fonts/Skranji-Regular.ttf new file mode 100644 index 0000000..47b6f54 Binary files /dev/null and b/assets/fonts/Skranji-Regular.ttf differ diff --git a/assets/fonts/Skranji.g2n b/assets/fonts/Skranji.g2n new file mode 100644 index 0000000..74c2787 --- /dev/null +++ b/assets/fonts/Skranji.g2n @@ -0,0 +1,258 @@ +GLYPHID 0 PSNAME .notdef +GLYPHID 146 PSNAME Eth UNICODE 00D0 +GLYPHID 178 PSNAME eth UNICODE 00F0 +GLYPHID 206 PSNAME Lslash UNICODE 0141 +GLYPHID 207 PSNAME lslash UNICODE 0142 +GLYPHID 217 PSNAME Scaron UNICODE 0160 +GLYPHID 218 PSNAME scaron UNICODE 0161 +GLYPHID 159 PSNAME Yacute UNICODE 00DD +GLYPHID 191 PSNAME yacute UNICODE 00FD +GLYPHID 160 PSNAME Thorn UNICODE 00DE +GLYPHID 192 PSNAME thorn UNICODE 00FE +GLYPHID 220 PSNAME Zcaron UNICODE 017D +GLYPHID 221 PSNAME zcaron UNICODE 017E +GLYPHID 127 PSNAME onehalf UNICODE 00BD +GLYPHID 126 PSNAME onequarter UNICODE 00BC +GLYPHID 123 PSNAME onesuperior UNICODE 00B9 +GLYPHID 128 PSNAME threequarters UNICODE 00BE +GLYPHID 117 PSNAME threesuperior UNICODE 00B3 +GLYPHID 116 PSNAME twosuperior UNICODE 00B2 +GLYPHID 104 PSNAME brokenbar UNICODE 00A6 +GLYPHID 251 PSNAME minus UNICODE 2212 +GLYPHID 153 PSNAME multiply UNICODE 00D7 +GLYPHID 3 PSNAME space UNICODE 0020 +GLYPHID 4 PSNAME exclam UNICODE 0021 +GLYPHID 5 PSNAME quotedbl UNICODE 0022 +GLYPHID 6 PSNAME numbersign UNICODE 0023 +GLYPHID 7 PSNAME dollar UNICODE 0024 +GLYPHID 8 PSNAME percent UNICODE 0025 +GLYPHID 9 PSNAME ampersand UNICODE 0026 +GLYPHID 10 PSNAME quotesingle UNICODE 0027 +GLYPHID 11 PSNAME parenleft UNICODE 0028 +GLYPHID 12 PSNAME parenright UNICODE 0029 +GLYPHID 13 PSNAME asterisk UNICODE 002A +GLYPHID 14 PSNAME plus UNICODE 002B +GLYPHID 15 PSNAME comma UNICODE 002C +GLYPHID 16 PSNAME hyphen UNICODE 002D +GLYPHID 17 PSNAME period UNICODE 002E +GLYPHID 18 PSNAME slash UNICODE 002F +GLYPHID 19 PSNAME zero UNICODE 0030 +GLYPHID 20 PSNAME one UNICODE 0031 +GLYPHID 21 PSNAME two UNICODE 0032 +GLYPHID 22 PSNAME three UNICODE 0033 +GLYPHID 23 PSNAME four UNICODE 0034 +GLYPHID 24 PSNAME five UNICODE 0035 +GLYPHID 25 PSNAME six UNICODE 0036 +GLYPHID 26 PSNAME seven UNICODE 0037 +GLYPHID 27 PSNAME eight UNICODE 0038 +GLYPHID 28 PSNAME nine UNICODE 0039 +GLYPHID 29 PSNAME colon UNICODE 003A +GLYPHID 30 PSNAME semicolon UNICODE 003B +GLYPHID 31 PSNAME less UNICODE 003C +GLYPHID 32 PSNAME equal UNICODE 003D +GLYPHID 33 PSNAME greater UNICODE 003E +GLYPHID 34 PSNAME question UNICODE 003F +GLYPHID 35 PSNAME at UNICODE 0040 +GLYPHID 36 PSNAME A UNICODE 0041 +GLYPHID 37 PSNAME B UNICODE 0042 +GLYPHID 38 PSNAME C UNICODE 0043 +GLYPHID 39 PSNAME D UNICODE 0044 +GLYPHID 40 PSNAME E UNICODE 0045 +GLYPHID 41 PSNAME F UNICODE 0046 +GLYPHID 42 PSNAME G UNICODE 0047 +GLYPHID 43 PSNAME H UNICODE 0048 +GLYPHID 44 PSNAME I UNICODE 0049 +GLYPHID 45 PSNAME J UNICODE 004A +GLYPHID 46 PSNAME K UNICODE 004B +GLYPHID 47 PSNAME L UNICODE 004C +GLYPHID 48 PSNAME M UNICODE 004D +GLYPHID 49 PSNAME N UNICODE 004E +GLYPHID 50 PSNAME O UNICODE 004F +GLYPHID 51 PSNAME P UNICODE 0050 +GLYPHID 52 PSNAME Q UNICODE 0051 +GLYPHID 53 PSNAME R UNICODE 0052 +GLYPHID 54 PSNAME S UNICODE 0053 +GLYPHID 55 PSNAME T UNICODE 0054 +GLYPHID 56 PSNAME U UNICODE 0055 +GLYPHID 57 PSNAME V UNICODE 0056 +GLYPHID 58 PSNAME W UNICODE 0057 +GLYPHID 59 PSNAME X UNICODE 0058 +GLYPHID 60 PSNAME Y UNICODE 0059 +GLYPHID 61 PSNAME Z UNICODE 005A +GLYPHID 62 PSNAME bracketleft UNICODE 005B +GLYPHID 63 PSNAME backslash UNICODE 005C +GLYPHID 64 PSNAME bracketright UNICODE 005D +GLYPHID 65 PSNAME asciicircum UNICODE 005E +GLYPHID 66 PSNAME underscore UNICODE 005F +GLYPHID 67 PSNAME grave UNICODE 0060 +GLYPHID 68 PSNAME a UNICODE 0061 +GLYPHID 69 PSNAME b UNICODE 0062 +GLYPHID 70 PSNAME c UNICODE 0063 +GLYPHID 71 PSNAME d UNICODE 0064 +GLYPHID 72 PSNAME e UNICODE 0065 +GLYPHID 73 PSNAME f UNICODE 0066 +GLYPHID 74 PSNAME g UNICODE 0067 +GLYPHID 75 PSNAME h UNICODE 0068 +GLYPHID 76 PSNAME i UNICODE 0069 +GLYPHID 77 PSNAME j UNICODE 006A +GLYPHID 78 PSNAME k UNICODE 006B +GLYPHID 79 PSNAME l UNICODE 006C +GLYPHID 80 PSNAME m UNICODE 006D +GLYPHID 81 PSNAME n UNICODE 006E +GLYPHID 82 PSNAME o UNICODE 006F +GLYPHID 83 PSNAME p UNICODE 0070 +GLYPHID 84 PSNAME q UNICODE 0071 +GLYPHID 85 PSNAME r UNICODE 0072 +GLYPHID 86 PSNAME s UNICODE 0073 +GLYPHID 87 PSNAME t UNICODE 0074 +GLYPHID 88 PSNAME u UNICODE 0075 +GLYPHID 89 PSNAME v UNICODE 0076 +GLYPHID 90 PSNAME w UNICODE 0077 +GLYPHID 91 PSNAME x UNICODE 0078 +GLYPHID 92 PSNAME y UNICODE 0079 +GLYPHID 93 PSNAME z UNICODE 007A +GLYPHID 94 PSNAME braceleft UNICODE 007B +GLYPHID 95 PSNAME bar UNICODE 007C +GLYPHID 96 PSNAME braceright UNICODE 007D +GLYPHID 97 PSNAME asciitilde UNICODE 007E +GLYPHID 134 PSNAME Adieresis UNICODE 00C4 +GLYPHID 135 PSNAME Aring UNICODE 00C5 +GLYPHID 137 PSNAME Ccedilla UNICODE 00C7 +GLYPHID 139 PSNAME Eacute UNICODE 00C9 +GLYPHID 147 PSNAME Ntilde UNICODE 00D1 +GLYPHID 152 PSNAME Odieresis UNICODE 00D6 +GLYPHID 158 PSNAME Udieresis UNICODE 00DC +GLYPHID 163 PSNAME aacute UNICODE 00E1 +GLYPHID 162 PSNAME agrave UNICODE 00E0 +GLYPHID 164 PSNAME acircumflex UNICODE 00E2 +GLYPHID 166 PSNAME adieresis UNICODE 00E4 +GLYPHID 165 PSNAME atilde UNICODE 00E3 +GLYPHID 167 PSNAME aring UNICODE 00E5 +GLYPHID 169 PSNAME ccedilla UNICODE 00E7 +GLYPHID 171 PSNAME eacute UNICODE 00E9 +GLYPHID 170 PSNAME egrave UNICODE 00E8 +GLYPHID 172 PSNAME ecircumflex UNICODE 00EA +GLYPHID 173 PSNAME edieresis UNICODE 00EB +GLYPHID 175 PSNAME iacute UNICODE 00ED +GLYPHID 174 PSNAME igrave UNICODE 00EC +GLYPHID 176 PSNAME icircumflex UNICODE 00EE +GLYPHID 177 PSNAME idieresis UNICODE 00EF +GLYPHID 179 PSNAME ntilde UNICODE 00F1 +GLYPHID 181 PSNAME oacute UNICODE 00F3 +GLYPHID 180 PSNAME ograve UNICODE 00F2 +GLYPHID 182 PSNAME ocircumflex UNICODE 00F4 +GLYPHID 184 PSNAME odieresis UNICODE 00F6 +GLYPHID 183 PSNAME otilde UNICODE 00F5 +GLYPHID 188 PSNAME uacute UNICODE 00FA +GLYPHID 187 PSNAME ugrave UNICODE 00F9 +GLYPHID 189 PSNAME ucircumflex UNICODE 00FB +GLYPHID 190 PSNAME udieresis UNICODE 00FC +GLYPHID 240 PSNAME dagger UNICODE 2020 +GLYPHID 114 PSNAME degree UNICODE 00B0 +GLYPHID 100 PSNAME cent UNICODE 00A2 +GLYPHID 101 PSNAME sterling UNICODE 00A3 +GLYPHID 105 PSNAME section UNICODE 00A7 +GLYPHID 242 PSNAME bullet UNICODE 2022 +GLYPHID 120 PSNAME paragraph UNICODE 00B6 +GLYPHID 161 PSNAME germandbls UNICODE 00DF +GLYPHID 112 PSNAME registered UNICODE 00AE +GLYPHID 107 PSNAME copyright UNICODE 00A9 +GLYPHID 249 PSNAME trademark UNICODE 2122 +GLYPHID 118 PSNAME acute UNICODE 00B4 +GLYPHID 106 PSNAME dieresis UNICODE 00A8 +GLYPHID 253 PSNAME notequal UNICODE 2260 +GLYPHID 136 PSNAME AE UNICODE 00C6 +GLYPHID 154 PSNAME Oslash UNICODE 00D8 +GLYPHID 115 PSNAME plusminus UNICODE 00B1 +GLYPHID 254 PSNAME lessequal UNICODE 2264 +GLYPHID 255 PSNAME greaterequal UNICODE 2265 +GLYPHID 103 PSNAME yen UNICODE 00A5 +GLYPHID 119 PSNAME mu UNICODE 00B5 +GLYPHID 250 PSNAME partialdiff UNICODE 2202 +GLYPHID 108 PSNAME ordfeminine UNICODE 00AA +GLYPHID 124 PSNAME ordmasculine UNICODE 00BA +GLYPHID 168 PSNAME ae UNICODE 00E6 +GLYPHID 186 PSNAME oslash UNICODE 00F8 +GLYPHID 129 PSNAME questiondown UNICODE 00BF +GLYPHID 99 PSNAME exclamdown UNICODE 00A1 +GLYPHID 110 PSNAME logicalnot UNICODE 00AC +GLYPHID 222 PSNAME florin UNICODE 0192 +GLYPHID 252 PSNAME approxequal UNICODE 2248 +GLYPHID 109 PSNAME guillemotleft UNICODE 00AB +GLYPHID 125 PSNAME guillemotright UNICODE 00BB +GLYPHID 243 PSNAME ellipsis UNICODE 2026 +GLYPHID 98 PSNAME uni00A0 UNICODE 00A0 +GLYPHID 130 PSNAME Agrave UNICODE 00C0 +GLYPHID 133 PSNAME Atilde UNICODE 00C3 +GLYPHID 151 PSNAME Otilde UNICODE 00D5 +GLYPHID 210 PSNAME OE UNICODE 0152 +GLYPHID 211 PSNAME oe UNICODE 0153 +GLYPHID 232 PSNAME endash UNICODE 2013 +GLYPHID 233 PSNAME emdash UNICODE 2014 +GLYPHID 237 PSNAME quotedblleft UNICODE 201C +GLYPHID 238 PSNAME quotedblright UNICODE 201D +GLYPHID 234 PSNAME quoteleft UNICODE 2018 +GLYPHID 235 PSNAME quoteright UNICODE 2019 +GLYPHID 185 PSNAME divide UNICODE 00F7 +GLYPHID 256 PSNAME lozenge UNICODE 25CA +GLYPHID 193 PSNAME ydieresis UNICODE 00FF +GLYPHID 219 PSNAME Ydieresis UNICODE 0178 +GLYPHID 247 PSNAME fraction UNICODE 2044 +GLYPHID 248 PSNAME Euro UNICODE 20AC +GLYPHID 245 PSNAME guilsinglleft UNICODE 2039 +GLYPHID 246 PSNAME guilsinglright UNICODE 203A +GLYPHID 258 PSNAME fi UNICODE FB01 +GLYPHID 259 PSNAME fl UNICODE FB02 +GLYPHID 241 PSNAME daggerdbl UNICODE 2021 +GLYPHID 121 PSNAME periodcentered UNICODE 00B7 +GLYPHID 236 PSNAME quotesinglbase UNICODE 201A +GLYPHID 239 PSNAME quotedblbase UNICODE 201E +GLYPHID 244 PSNAME perthousand UNICODE 2030 +GLYPHID 132 PSNAME Acircumflex UNICODE 00C2 +GLYPHID 140 PSNAME Ecircumflex UNICODE 00CA +GLYPHID 131 PSNAME Aacute UNICODE 00C1 +GLYPHID 141 PSNAME Edieresis UNICODE 00CB +GLYPHID 138 PSNAME Egrave UNICODE 00C8 +GLYPHID 143 PSNAME Iacute UNICODE 00CD +GLYPHID 144 PSNAME Icircumflex UNICODE 00CE +GLYPHID 145 PSNAME Idieresis UNICODE 00CF +GLYPHID 142 PSNAME Igrave UNICODE 00CC +GLYPHID 149 PSNAME Oacute UNICODE 00D3 +GLYPHID 150 PSNAME Ocircumflex UNICODE 00D4 +GLYPHID 148 PSNAME Ograve UNICODE 00D2 +GLYPHID 156 PSNAME Uacute UNICODE 00DA +GLYPHID 157 PSNAME Ucircumflex UNICODE 00DB +GLYPHID 155 PSNAME Ugrave UNICODE 00D9 +GLYPHID 197 PSNAME dotlessi UNICODE 0131 +GLYPHID 224 PSNAME circumflex UNICODE 02C6 +GLYPHID 230 PSNAME tilde UNICODE 02DC +GLYPHID 113 PSNAME macron UNICODE 00AF +GLYPHID 226 PSNAME breve UNICODE 02D8 +GLYPHID 227 PSNAME dotaccent UNICODE 02D9 +GLYPHID 228 PSNAME ring UNICODE 02DA +GLYPHID 122 PSNAME cedilla UNICODE 00B8 +GLYPHID 231 PSNAME hungarumlaut UNICODE 02DD +GLYPHID 229 PSNAME ogonek UNICODE 02DB +GLYPHID 225 PSNAME caron UNICODE 02C7 +GLYPHID 102 PSNAME currency UNICODE 00A4 +GLYPHID 194 PSNAME hbar UNICODE 0127 +GLYPHID 223 PSNAME dotlessj UNICODE 0237 +GLYPHID 195 PSNAME Itilde UNICODE 0128 +GLYPHID 196 PSNAME itilde UNICODE 0129 +GLYPHID 198 PSNAME IJ UNICODE 0132 +GLYPHID 199 PSNAME ij UNICODE 0133 +GLYPHID 200 PSNAME Jcircumflex UNICODE 0134 +GLYPHID 201 PSNAME jcircumflex UNICODE 0135 +GLYPHID 204 PSNAME Ldot UNICODE 013F +GLYPHID 203 PSNAME kgreenlandic UNICODE 0138 +GLYPHID 205 PSNAME ldotaccent UNICODE 0140 +GLYPHID 202 PSNAME kcommaaccent UNICODE 0137 +GLYPHID 208 PSNAME Nacute UNICODE 0143 +GLYPHID 209 PSNAME nacute UNICODE 0144 +GLYPHID 212 PSNAME Racute UNICODE 0154 +GLYPHID 213 PSNAME Rcommaaccent UNICODE 0156 +GLYPHID 214 PSNAME rcommaaccent UNICODE 0157 +GLYPHID 215 PSNAME Rcaron UNICODE 0158 +GLYPHID 216 PSNAME rcaron UNICODE 0159 +GLYPHID 257 PSNAME commaaccent UNICODE F6C3 +GLYPHID 111 PSNAME sfthyphen UNICODE 00AD diff --git a/assets/fonts/Skranji.ttf b/assets/fonts/Skranji.ttf new file mode 100644 index 0000000..6d6a667 Binary files /dev/null and b/assets/fonts/Skranji.ttf differ diff --git a/assets/fonts/Skranji.woff b/assets/fonts/Skranji.woff new file mode 100644 index 0000000..5c7a502 Binary files /dev/null and b/assets/fonts/Skranji.woff differ diff --git a/assets/fonts/Skranji.woff2 b/assets/fonts/Skranji.woff2 new file mode 100644 index 0000000..08f1f08 Binary files /dev/null and b/assets/fonts/Skranji.woff2 differ diff --git a/css/fvtt-cthulhu-eternal.css b/css/fvtt-cthulhu-eternal.css index 2a81b4c..3d07518 100644 --- a/css/fvtt-cthulhu-eternal.css +++ b/css/fvtt-cthulhu-eternal.css @@ -95,20 +95,8 @@ src: url("../assets/fonts/broadway.woff2") format("woff2"); } @font-face { - font-family: "Caslon"; - src: url("../fonts/caslonpro-regular.otf") format("truetype"); -} -@font-face { - font-family: "Caslon Bold"; - src: url("../fonts/caslonpro-bold.otf") format("truetype"); -} -@font-face { - font-family: "Caslon Bold Italic"; - src: url("../fonts/caslonpro-bolditalic.otf") format("truetype"); -} -@font-face { - font-family: "Caslon Italic"; - src: url("../fonts/caslonpro-italic.otf") format("truetype"); + font-family: "Skranji"; + src: url("../assets/fonts/Skranji.woff") format("woff"); } :root { --font-size-standard: 0.9rem; diff --git a/lang/en.json b/lang/en.json index 4a213a5..3aec4e6 100644 --- a/lang/en.json +++ b/lang/en.json @@ -265,6 +265,12 @@ "submachinegun": "Submachinegun", "riflecarabine": "Rifle/Carabine" }, + "SelectiveFire": { + "shortburst": "Short Burst", + "longburst": "Long Burst", + "shortspray": "Short Spray", + "longspray": "Long Spray" + }, "FIELDS": { "hasDirectSkill": { "label": "Has direct skill" @@ -284,6 +290,12 @@ "weaponSubtype": { "label": "Firearm Subtype" }, + "hasSelectiveFire": { + "label": "Has selective fire" + }, + "applyDamageBonus": { + "label": "Add damage bonus" + }, "damage": { "label": "Damage" }, diff --git a/module/config/system.mjs b/module/config/system.mjs index c0e1ef9..f36b466 100644 --- a/module/config/system.mjs +++ b/module/config/system.mjs @@ -48,7 +48,7 @@ export const ERA_CSS = { victorian: { primaryFont: "Volkhov", secondaryFont: "Volkhov", titleFont: "Excelsior", baseFontSize: "1.0rem", titleFontSize: "1.2rem",imgFilter: "brightness(0) saturate(100%) invert(100%) sepia(59%) saturate(1894%) hue-rotate(337deg) brightness(88%) contrast(98%)" }, coldwar: { primaryFont: "Georama", secondaryFont: "Georama", titleFont: "TopSecret", baseFontSize: "1.0rem", titleFontSize: "1.2rem",imgFilter: "brightness(0) saturate(100%) invert(81%) sepia(14%) saturate(2508%) hue-rotate(202deg) brightness(99%) contrast(105%)"}, revolution: { primaryFont: "IMFell", secondaryFont: "IMFell", titleFont: "Dominican", baseFontSize: "1.0rem",titleFontSize: "1.3rem",imgFilter: "brightness(0) saturate(100%) invert(81%) sepia(25%) saturate(386%) hue-rotate(7deg) brightness(101%) contrast(84%)" }, - medieval: { primaryFont: "UncialAntiqua", secondaryFont: "UncialAntiqua", titleFont: "Luminari", baseFontSize: "0.9rem",titleFontSize: "1.2rem",imgFilter: "brightness(0) saturate(100%) invert(93%) sepia(46%) saturate(354%) hue-rotate(321deg) brightness(93%) contrast(87%)"}, + medieval: { primaryFont: "Skranji", secondaryFont: "UncialAntiqua", titleFont: "Luminari", baseFontSize: "0.9rem",titleFontSize: "1.2rem",imgFilter: "brightness(0) saturate(100%) invert(93%) sepia(46%) saturate(354%) hue-rotate(321deg) brightness(93%) contrast(87%)"}, ww2: { primaryFont: "SairaStencilOne", secondaryFont: "SairaStencilOne", titleFont: "Armalite", baseFontSize: "0.9rem",titleFontSize: "1.2rem",imgFilter: "filter: invert(44%) sepia(8%) saturate(2657%) hue-rotate(40deg) brightness(96%) contrast(75%)"}, ww1: { primaryFont: "CarterOne", secondaryFont: "CarterOne", titleFont: "SigmarOne", baseFontSize: "0.9rem",titleFontSize: "1.1rem",imgFilter: "invert(28%) sepia(27%) saturate(475%) hue-rotate(76deg) brightness(95%) contrast(93%)"}, ageofsail: { primaryFont: "SailRegular", secondaryFont: "SailRegular", titleFont: "P22Operina", baseFontSize: "1.1rem",titleFontSize: "1.2rem",imgFilter: "brightness(0) saturate(100%) invert(43%) sepia(74%) saturate(3154%) hue-rotate(336deg) brightness(95%) contrast(83%)" }, @@ -238,6 +238,13 @@ export const MULTIPLIER_CHOICES = { "5": "5" } +export const WEAPON_SELECTIVE_FIRE_CHOICES = { + "shortburst": { id: "shortburst", label: "CTHULHUETERNAL.Weapon.SelectiveFire.shortburst", ammoUsed: 3, lethality: 10, killRadius: 0}, + "longburst": { id: "longburst", label: "CTHULHUETERNAL.Weapon.SelectiveFire.longburst", ammoUsed: 5, lethality: 10, killRadius: 1}, + "shortspray": { id: "shortspray", label: "CTHULHUETERNAL.Weapon.SelectiveFire.shortspray", ammoUsed: 10, lethality: 10, killRadius: 2}, + "longspray": { id: "longspray", label: "CTHULHUETERNAL.Weapon.SelectiveFire.longspray", ammoUsed: 20, lethality: 10, killRadius: 3}, +} + export const RITUAL_TYPES = { "simple": "CTHULHUETERNAL.Ritual.Simple", "difficult": "CTHULHUETERNAL.Ritual.Difficult", @@ -255,6 +262,7 @@ export const SYSTEM = { HARSHNESS: PROTAGONIST.HARSHNESS, WEAPON_TYPE: WEAPON.WEAPON_TYPE, WEAPON_SUBTYPE: WEAPON.WEAPON_SUBTYPE, + WEAPON_SELECTIVE_FIRE_CHOICES, WEAPON_SKILL_MAPPING, BOND_TYPE: BOND.BOND_TYPE, AVAILABLE_SETTINGS, diff --git a/module/config/weapon.mjs b/module/config/weapon.mjs index 4f6cd87..26fbbfa 100644 --- a/module/config/weapon.mjs +++ b/module/config/weapon.mjs @@ -17,4 +17,4 @@ export const WEAPON_SUBTYPE = { export const WEAPON_RANGE_UNIT = { "yard": "CTHULHUETERNAL.Weapon.RangeUnit.yard", "meter": "CTHULHUETERNAL.Weapon.RangeUnit.meter" -} \ No newline at end of file +} diff --git a/module/documents/roll.mjs b/module/documents/roll.mjs index ddb0cfb..ed59963 100644 --- a/module/documents/roll.mjs +++ b/module/documents/roll.mjs @@ -218,6 +218,7 @@ export default class CthulhuEternalRoll extends Roll { const choiceModifier = SYSTEM.MODIFIER_CHOICES const choiceMultiplier = SYSTEM.MULTIPLIER_CHOICES + const choiceSelectiveFire = SYSTEM.WEAPON_SELECTIVE_FIRE_CHOICES let modifier = "+0" let multiplier = "5" @@ -238,11 +239,13 @@ export default class CthulhuEternalRoll extends Roll { fieldRollMode, choiceModifier, choiceMultiplier, + choiceSelectiveFire, formula, hasTarget: options.hasTarget, hasModifier, hasMultiplier, modifier, + selectiveFireChoice: "shortburst", multiplier } const content = await renderTemplate("systems/fvtt-cthulhu-eternal/templates/roll-dialog.hbs", dialogContext) diff --git a/module/models/weapon.mjs b/module/models/weapon.mjs index 07af7bc..e000b5a 100644 --- a/module/models/weapon.mjs +++ b/module/models/weapon.mjs @@ -14,18 +14,20 @@ export default class CthulhuEternalWeapon extends foundry.abstract.TypeDataModel schema.weaponType = new fields.StringField({ required: true, initial: "melee", choices: SYSTEM.WEAPON_TYPE }) schema.hasDirectSkill = new fields.BooleanField({ required: true, initial: false }) schema.directSkillValue = new fields.NumberField({ required: true, initial: 0, min: 0, max:99 }) - - schema.damage = new fields.StringField({required: true, initial: "1d6"}) + + schema.hasSelectiveFire = new fields.BooleanField({ required: true, initial: false }) + schema.damage = new fields.StringField({required: true, initial: "1d6"}) + schema.applyDamageBonus = new fields.BooleanField({ required: true, initial: false }) schema.baseRange = new fields.StringField({required: true, initial: ""}) schema.rangeUnit = new fields.StringField({ required: true, initial: "yard", choices: SYSTEM.WEAPON_RANGE_UNIT }) schema.lethality = new fields.NumberField({ required: true, initial: 0, min: 0 }) schema.killRadius = new fields.NumberField({ required: true, initial: 0, min: 0 }) schema.armorPiercing = new fields.NumberField({ required: true, initial: 0, min: 0 }) - schema.weaponSubtype = new fields.StringField({ required: true, initial: "basicfirearm", choices: SYSTEM.WEAPON_SUBTYPE }) + schema.weaponSubtype = new fields.StringField({ required: true, initial: "basicfirearm", choices: SYSTEM.WEAPON_SUBTYPE }) schema.state = new fields.StringField({ required: true, initial: "pristine", choices: SYSTEM.EQUIPMENT_STATES }) schema.resourceLevel = new fields.NumberField({ required: true, initial: 0, min: 0 }) - + return schema } diff --git a/packs-system/rituals/000012.log b/packs-system/rituals/000024.log similarity index 100% rename from packs-system/rituals/000012.log rename to packs-system/rituals/000024.log diff --git a/packs-system/rituals/CURRENT b/packs-system/rituals/CURRENT index 3051f81..5af92b2 100644 --- a/packs-system/rituals/CURRENT +++ b/packs-system/rituals/CURRENT @@ -1 +1 @@ -MANIFEST-000010 +MANIFEST-000022 diff --git a/packs-system/rituals/LOG b/packs-system/rituals/LOG index 60018c2..924dbd9 100644 --- a/packs-system/rituals/LOG +++ b/packs-system/rituals/LOG @@ -1,8 +1,8 @@ -2025/04/25-00:23:55.566074 7fd0855fa6c0 Recovering log #8 -2025/04/25-00:23:55.627155 7fd0855fa6c0 Delete type=3 #6 -2025/04/25-00:23:55.627214 7fd0855fa6c0 Delete type=0 #8 -2025/04/25-00:24:39.296644 7fd07effd6c0 Level-0 table #13: started -2025/04/25-00:24:39.296707 7fd07effd6c0 Level-0 table #13: 0 bytes OK -2025/04/25-00:24:39.302890 7fd07effd6c0 Delete type=0 #11 -2025/04/25-00:24:39.309638 7fd07effd6c0 Manual compaction at level-0 from '!items!4oyPRBWPBWAChrJP' @ 72057594037927935 : 1 .. '!items!zVFfp3o0G0Zg3Ia4' @ 0 : 0; will stop at (end) -2025/04/25-00:24:39.309671 7fd07effd6c0 Manual compaction at level-1 from '!items!4oyPRBWPBWAChrJP' @ 72057594037927935 : 1 .. '!items!zVFfp3o0G0Zg3Ia4' @ 0 : 0; will stop at (end) +2025/04/29-08:01:00.906544 7fa7f49f96c0 Recovering log #20 +2025/04/29-08:01:00.917767 7fa7f49f96c0 Delete type=3 #18 +2025/04/29-08:01:00.917882 7fa7f49f96c0 Delete type=0 #20 +2025/04/29-08:56:22.147264 7fa7eebff6c0 Level-0 table #25: started +2025/04/29-08:56:22.147301 7fa7eebff6c0 Level-0 table #25: 0 bytes OK +2025/04/29-08:56:22.153303 7fa7eebff6c0 Delete type=0 #23 +2025/04/29-08:56:22.160576 7fa7eebff6c0 Manual compaction at level-0 from '!items!4oyPRBWPBWAChrJP' @ 72057594037927935 : 1 .. '!items!zVFfp3o0G0Zg3Ia4' @ 0 : 0; will stop at (end) +2025/04/29-08:56:22.160620 7fa7eebff6c0 Manual compaction at level-1 from '!items!4oyPRBWPBWAChrJP' @ 72057594037927935 : 1 .. '!items!zVFfp3o0G0Zg3Ia4' @ 0 : 0; will stop at (end) diff --git a/packs-system/rituals/LOG.old b/packs-system/rituals/LOG.old index 32bd59b..1ed1b48 100644 --- a/packs-system/rituals/LOG.old +++ b/packs-system/rituals/LOG.old @@ -1,8 +1,8 @@ -2025/04/24-23:56:15.236151 7fd0855fa6c0 Recovering log #4 -2025/04/24-23:56:15.247158 7fd0855fa6c0 Delete type=0 #4 -2025/04/24-23:56:15.247228 7fd0855fa6c0 Delete type=3 #2 -2025/04/25-00:23:51.709456 7fd07effd6c0 Level-0 table #9: started -2025/04/25-00:23:51.709498 7fd07effd6c0 Level-0 table #9: 0 bytes OK -2025/04/25-00:23:51.747489 7fd07effd6c0 Delete type=0 #7 -2025/04/25-00:23:51.747677 7fd07effd6c0 Manual compaction at level-0 from '!items!4oyPRBWPBWAChrJP' @ 72057594037927935 : 1 .. '!items!zVFfp3o0G0Zg3Ia4' @ 0 : 0; will stop at (end) -2025/04/25-00:23:51.809910 7fd07effd6c0 Manual compaction at level-1 from '!items!4oyPRBWPBWAChrJP' @ 72057594037927935 : 1 .. '!items!zVFfp3o0G0Zg3Ia4' @ 0 : 0; will stop at (end) +2025/04/29-07:53:32.208623 7fa7ef7fe6c0 Recovering log #16 +2025/04/29-07:53:32.220033 7fa7ef7fe6c0 Delete type=3 #14 +2025/04/29-07:53:32.220281 7fa7ef7fe6c0 Delete type=0 #16 +2025/04/29-08:00:56.601443 7fa7eebff6c0 Level-0 table #21: started +2025/04/29-08:00:56.601558 7fa7eebff6c0 Level-0 table #21: 0 bytes OK +2025/04/29-08:00:56.608715 7fa7eebff6c0 Delete type=0 #19 +2025/04/29-08:00:56.623738 7fa7eebff6c0 Manual compaction at level-0 from '!items!4oyPRBWPBWAChrJP' @ 72057594037927935 : 1 .. '!items!zVFfp3o0G0Zg3Ia4' @ 0 : 0; will stop at (end) +2025/04/29-08:00:56.623829 7fa7eebff6c0 Manual compaction at level-1 from '!items!4oyPRBWPBWAChrJP' @ 72057594037927935 : 1 .. '!items!zVFfp3o0G0Zg3Ia4' @ 0 : 0; will stop at (end) diff --git a/packs-system/rituals/MANIFEST-000010 b/packs-system/rituals/MANIFEST-000010 deleted file mode 100644 index 0bba960..0000000 Binary files a/packs-system/rituals/MANIFEST-000010 and /dev/null differ diff --git a/packs-system/rituals/MANIFEST-000022 b/packs-system/rituals/MANIFEST-000022 new file mode 100644 index 0000000..ae6c91c Binary files /dev/null and b/packs-system/rituals/MANIFEST-000022 differ diff --git a/packs-system/skills/000176.log b/packs-system/skills/000188.log similarity index 100% rename from packs-system/skills/000176.log rename to packs-system/skills/000188.log diff --git a/packs-system/skills/CURRENT b/packs-system/skills/CURRENT index ff4f65a..627283a 100644 --- a/packs-system/skills/CURRENT +++ b/packs-system/skills/CURRENT @@ -1 +1 @@ -MANIFEST-000174 +MANIFEST-000186 diff --git a/packs-system/skills/LOG b/packs-system/skills/LOG index 5c08b8e..69f77ac 100644 --- a/packs-system/skills/LOG +++ b/packs-system/skills/LOG @@ -1,7 +1,7 @@ -2025/04/25-00:23:55.465639 7fd07f7fe6c0 Recovering log #172 -2025/04/25-00:23:55.561118 7fd07f7fe6c0 Delete type=3 #170 -2025/04/25-00:23:55.561198 7fd07f7fe6c0 Delete type=0 #172 -2025/04/25-00:24:39.302991 7fd07effd6c0 Level-0 table #177: started -2025/04/25-00:24:39.303023 7fd07effd6c0 Level-0 table #177: 0 bytes OK -2025/04/25-00:24:39.309509 7fd07effd6c0 Delete type=0 #175 -2025/04/25-00:24:39.309652 7fd07effd6c0 Manual compaction at level-0 from '!folders!5PrT9QmN1cFPzDFP' @ 72057594037927935 : 1 .. '!items!zvoUByzWSWZ87fxA' @ 0 : 0; will stop at (end) +2025/04/29-08:01:00.885833 7fa7ef7fe6c0 Recovering log #184 +2025/04/29-08:01:00.897938 7fa7ef7fe6c0 Delete type=3 #182 +2025/04/29-08:01:00.898037 7fa7ef7fe6c0 Delete type=0 #184 +2025/04/29-08:56:22.153465 7fa7eebff6c0 Level-0 table #189: started +2025/04/29-08:56:22.153538 7fa7eebff6c0 Level-0 table #189: 0 bytes OK +2025/04/29-08:56:22.160479 7fa7eebff6c0 Delete type=0 #187 +2025/04/29-08:56:22.160585 7fa7eebff6c0 Manual compaction at level-0 from '!folders!5PrT9QmN1cFPzDFP' @ 72057594037927935 : 1 .. '!items!zvoUByzWSWZ87fxA' @ 0 : 0; will stop at (end) diff --git a/packs-system/skills/LOG.old b/packs-system/skills/LOG.old index 9548ceb..2229171 100644 --- a/packs-system/skills/LOG.old +++ b/packs-system/skills/LOG.old @@ -1,7 +1,7 @@ -2025/04/24-23:56:15.221751 7fd07f7fe6c0 Recovering log #168 -2025/04/24-23:56:15.231420 7fd07f7fe6c0 Delete type=0 #168 -2025/04/24-23:56:15.231515 7fd07f7fe6c0 Delete type=3 #166 -2025/04/25-00:23:51.673765 7fd07effd6c0 Level-0 table #173: started -2025/04/25-00:23:51.673830 7fd07effd6c0 Level-0 table #173: 0 bytes OK -2025/04/25-00:23:51.709271 7fd07effd6c0 Delete type=0 #171 -2025/04/25-00:23:51.747663 7fd07effd6c0 Manual compaction at level-0 from '!folders!5PrT9QmN1cFPzDFP' @ 72057594037927935 : 1 .. '!items!zvoUByzWSWZ87fxA' @ 0 : 0; will stop at (end) +2025/04/29-07:53:32.177838 7fa7f49f96c0 Recovering log #180 +2025/04/29-07:53:32.197490 7fa7f49f96c0 Delete type=3 #178 +2025/04/29-07:53:32.197590 7fa7f49f96c0 Delete type=0 #180 +2025/04/29-08:00:56.616088 7fa7eebff6c0 Level-0 table #185: started +2025/04/29-08:00:56.616159 7fa7eebff6c0 Level-0 table #185: 0 bytes OK +2025/04/29-08:00:56.623489 7fa7eebff6c0 Delete type=0 #183 +2025/04/29-08:00:56.623784 7fa7eebff6c0 Manual compaction at level-0 from '!folders!5PrT9QmN1cFPzDFP' @ 72057594037927935 : 1 .. '!items!zvoUByzWSWZ87fxA' @ 0 : 0; will stop at (end) diff --git a/packs-system/skills/MANIFEST-000174 b/packs-system/skills/MANIFEST-000186 similarity index 71% rename from packs-system/skills/MANIFEST-000174 rename to packs-system/skills/MANIFEST-000186 index ac6e1fb..508df6d 100644 Binary files a/packs-system/skills/MANIFEST-000174 and b/packs-system/skills/MANIFEST-000186 differ diff --git a/styles/fonts.less b/styles/fonts.less index 4567f6e..22af6e7 100644 --- a/styles/fonts.less +++ b/styles/fonts.less @@ -120,21 +120,6 @@ } @font-face { - font-family: "Caslon"; - src: url("../fonts/caslonpro-regular.otf") format("truetype"); -} - -@font-face { - font-family: "Caslon Bold"; - src: url("../fonts/caslonpro-bold.otf") format("truetype"); -} - -@font-face { - font-family: "Caslon Bold Italic"; - src: url("../fonts/caslonpro-bolditalic.otf") format("truetype"); -} - -@font-face { - font-family: "Caslon Italic"; - src: url("../fonts/caslonpro-italic.otf") format("truetype"); + font-family: "Skranji"; + src: url("../assets/fonts/Skranji.woff") format("woff"); } diff --git a/templates/motivation.hbs b/templates/motivation.hbs index 7c2790e..7a1f968 100644 --- a/templates/motivation.hbs +++ b/templates/motivation.hbs @@ -6,7 +6,7 @@
\ No newline at end of file diff --git a/templates/roll-dialog.hbs b/templates/roll-dialog.hbs index 23b2430..247060b 100644 --- a/templates/roll-dialog.hbs +++ b/templates/roll-dialog.hbs @@ -9,16 +9,23 @@ {{#if (eq rollType "resource")}} -