Merge pull request #13771 from ggutenberg/v1.7.0

Palladium Rifts by Grinning Gecko v1.7.0. Features/fixes.
This commit is contained in:
Nicole Brooks
2025-02-13 14:10:07 -05:00
committed by GitHub
17 changed files with 703 additions and 18 deletions
@@ -1,5 +1,19 @@
# Changelog
## [1.7.0] - 2025-02-08
### Added
- Add Damage to Ancient Weapon Proficiencies (applies to Pole Arm and Whip).
- Add hideable YouTube tutorial link.
- Output error message to chat when TT is clicked if the Active Profile has no attacks.
- Add nameable Modern Damage 1, 2, and 3 to Modifiers and Profiles for extra damage types.
### Changed
- Add 20 to Turn Tracker initiative when a Natural 20 is rolled.
- Fix some grid layout issues in Modifiers and Profiles.
## [1.6.1] - 2025-01-27
### Added
+14 -3
View File
@@ -242,6 +242,9 @@ a {
font-family: "dicefontd20";
content: "t";
}
.charsheet main#megaverse .youtube-toggle[value="1"] ~ .youtube-link {
display: none;
}
.charsheet main#megaverse h4 {
text-decoration: underline;
}
@@ -453,7 +456,7 @@ a {
.charsheet main#megaverse .modifiers-attributes {
display: grid;
gap: 1rem;
grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
align-items: start;
margin-top: 0.5rem;
}
@@ -475,6 +478,10 @@ a {
.charsheet main#megaverse .profiles .profile .modifiers-combat .bonus-type-container label {
grid-template-columns: 1fr 1rem 5rem 4rem;
}
.charsheet main#megaverse .profiles .profile .modifiers-combat .bonus-type-container label > div {
display: grid;
grid-template-columns: auto auto;
}
.charsheet main#megaverse .bonus-ps-container {
display: grid;
gap: 0.5rem;
@@ -484,7 +491,7 @@ a {
display: grid;
align-items: center;
gap: 0.5rem;
grid-template-columns: 6.5rem minmax(4rem, 1fr) 4rem 4rem;
grid-template-columns: 6.5rem minmax(6rem, auto) 6.5rem 4rem;
}
.charsheet main#megaverse .bonus-ps-container label.select select {
grid-column: 2/span 2;
@@ -555,6 +562,10 @@ a {
grid-template-columns: 1fr 5rem;
width: 100%;
}
.charsheet main#megaverse .bonus-type-container label > div {
display: grid;
grid-template-columns: auto auto;
}
.charsheet main#megaverse .bonus-type-container label span {
display: flex;
align-items: center;
@@ -646,7 +657,7 @@ a {
}
.charsheet main#megaverse .wp-container .wp .heading,
.charsheet main#megaverse .wp-container .wp .values {
grid-template-columns: minmax(16rem, 1fr) 5rem 5rem 5rem 5rem 5rem 5rem 5rem 5rem 1fr;
grid-template-columns: minmax(16rem, 1fr) 5rem 5rem 5rem 5rem 5rem 5rem 5rem 5rem 5rem 1fr;
}
.charsheet main#megaverse .wp-container .wpmodern .heading,
.charsheet main#megaverse .wp-container .wpmodern .values {
+238 -3
View File
@@ -5,6 +5,20 @@
src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Palladium%20Rifts%20by%20Grinning%20Gecko/rifts-logo.png"
/>
<span name="attr_character_name"></span>
<input type="hidden" class="youtube-toggle" name="attr_youtube" />
<span style="float:right;" class="youtube-link">
Link will appear in chat:
<button
style="font-size: 1em;"
class="no-dice"
type="roll"
value="[YouTube Sheet Tutorials](https://www.youtube.com/playlist?list=PLZk7Im2gciP87Imdx6GcVrZT6JAK10zvv)"
name="roll_youtube"
>
YouTube Sheet Tutorials
</button>
</span>
<div class="r-tabbed">
<input type="radio" id="tab-core" name="css-tabs" checked />
<input type="radio" id="tab-skills" name="css-tabs" />
@@ -1323,6 +1337,18 @@
><span>Damage: Pulse/Burst</span>
<input type="text" value="0" name="attr_damage_range_burst" />
</label>
<label
><div><span>Damage 1</span><input type="text" value="" name="attr_damage_range_1_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_1" />
</label>
<label
><div><span>Damage 2</span><input type="text" value="" name="attr_damage_range_2_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_2" />
</label>
<label
><div><span>Damage 3</span><input type="text" value="" name="attr_damage_range_3_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_3" />
</label>
</div>
<div class="combat-defense bonus-type-container">
<h3><span>&#x1F6E1;</span> Defense <span>&#x1F977;</span></h3>
@@ -1471,6 +1497,7 @@
<h5>Weapon Proficiency</h5>
<h5>Strike</h5>
<h5>Parry</h5>
<h5>Damage</h5>
<h5>Disarm</h5>
<h5>Throw</h5>
<h5>Entangle</h5>
@@ -1484,6 +1511,7 @@
<input type="text" list="weapon-proficiencies" name="attr_name" />
<input type="number" value="0" name="attr_strike" />
<input type="number" value="0" name="attr_parry" />
<input type="number" value="0" name="attr_damage" />
<input type="number" value="0" name="attr_disarm" />
<input type="number" value="0" name="attr_throw" />
<input type="number" value="0" name="attr_entangle" />
@@ -2240,6 +2268,18 @@
><span>Damage: Pulse/Burst</span>
<input type="text" value="0" name="attr_damage_range_burst" />
</label>
<label
><div><span>Damage 1</span><input type="text" value="" name="attr_damage_range_1_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_1" />
</label>
<label
><div><span>Damage 2</span><input type="text" value="" name="attr_damage_range_2_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_2" />
</label>
<label
><div><span>Damage 3</span><input type="text" value="" name="attr_damage_range_3_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_3" />
</label>
</div>
<div class="combat-defense bonus-type-container">
<h3><span>&#x1F6E1;</span> Defense <span>&#x1F977;</span></h3>
@@ -3077,6 +3117,18 @@
><span>Damage: Pulse/Burst</span>
<input type="text" value="0" name="attr_damage_range_burst" />
</label>
<label
><div><span>Damage 1</span><input type="text" value="" name="attr_damage_range_1_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_1" />
</label>
<label
><div><span>Damage 2</span><input type="text" value="" name="attr_damage_range_2_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_2" />
</label>
<label
><div><span>Damage 3</span><input type="text" value="" name="attr_damage_range_3_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_3" />
</label>
</div>
<div class="combat-defense bonus-type-container">
<h3><span>&#x1F6E1;</span> Defense <span>&#x1F977;</span></h3>
@@ -3915,6 +3967,18 @@
><span>Damage: Pulse/Burst</span>
<input type="text" value="0" name="attr_damage_range_burst" />
</label>
<label
><div><span>Damage 1</span><input type="text" value="" name="attr_damage_range_1_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_1" />
</label>
<label
><div><span>Damage 2</span><input type="text" value="" name="attr_damage_range_2_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_2" />
</label>
<label
><div><span>Damage 3</span><input type="text" value="" name="attr_damage_range_3_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_3" />
</label>
</div>
<div class="combat-defense bonus-type-container">
<h3><span>&#x1F6E1;</span> Defense <span>&#x1F977;</span></h3>
@@ -4631,6 +4695,18 @@
><span>Damage: Pulse/Burst</span>
<input type="text" value="0" name="attr_damage_range_burst" />
</label>
<label
><div><span>Damage 1</span><input type="text" value="" name="attr_damage_range_1_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_1" />
</label>
<label
><div><span>Damage 2</span><input type="text" value="" name="attr_damage_range_2_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_2" />
</label>
<label
><div><span>Damage 3</span><input type="text" value="" name="attr_damage_range_3_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_3" />
</label>
</div>
<div class="combat-defense bonus-type-container">
<h3><span>&#x1F6E1;</span> Defense <span>&#x1F977;</span></h3>
@@ -5293,6 +5369,51 @@
name="roll_active_profile_bonus_damage_range_burst"
></button>
</label>
<label
><div><span>Damage 1</span><span name="attr_active_profile_damage_range_1_name"></span></div>
<input
type="hidden"
value="0"
name="attr_active_profile_damage_range_1"
/>
<span></span>
<span name="attr_active_profile_damage_range_1"></span>
<button
type="roll"
value="@{opt_whisper}&{template:custom} {{title=@{character_name} inflicts range damage from a @{active_profile_damage_range_1_name} shot!}} {{Range Damage=[[@{active_profile_damage_range_1}]]}}"
name="roll_active_profile_bonus_damage_range_1"
></button>
</label>
<label
><div><span>Damage 2</span><span name="attr_active_profile_damage_range_2_name"></span></div>
<input
type="hidden"
value="0"
name="attr_active_profile_damage_range_2"
/>
<span></span>
<span name="attr_active_profile_damage_range_2"></span>
<button
type="roll"
value="@{opt_whisper}&{template:custom} {{title=@{character_name} inflicts range damage from a @{active_profile_damage_range_2_name} shot!}} {{Range Damage=[[@{active_profile_damage_range_2}]]}}"
name="roll_active_profile_bonus_damage_range_2"
></button>
</label>
<label
><div><span>Damage 3</span><span name="attr_active_profile_damage_range_3_name"></span></div>
<input
type="hidden"
value="0"
name="attr_active_profile_damage_range_3"
/>
<span></span>
<span name="attr_active_profile_damage_range_3"></span>
<button
type="roll"
value="@{opt_whisper}&{template:custom} {{title=@{character_name} inflicts range damage from a @{active_profile_damage_range_3_name} shot!}} {{Range Damage=[[@{active_profile_damage_range_3}]]}}"
name="roll_active_profile_bonus_damage_range_3"
></button>
</label>
</div>
<div class="combat-defense bonus-type-container">
<h3><span>&#x1F6E1;</span> Defense <span>&#x1F977;</span></h3>
@@ -6949,6 +7070,39 @@
name="roll_bonus_damage_range_burst"
></button>
</label>
<label
><div><span>Damage 1</span><span name="attr_damage_range_1_name"></span></div>
<input type="hidden" value="0" name="attr_damage_range_1" />
<span></span>
<span name="attr_damage_range_1"></span>
<button
type="roll"
value="@{opt_whisper}&{template:custom} {{title=@{character_name} inflicts range damage!}} {{Range Damage=[[@{damage_range_1}]]}}"
name="roll_bonus_damage_range_1"
></button>
</label>
<label
><div><span>Damage 2</span><span name="attr_damage_range_2_name"></span></div>
<input type="hidden" value="0" name="attr_damage_range_2" />
<span></span>
<span name="attr_damage_range_2"></span>
<button
type="roll"
value="@{opt_whisper}&{template:custom} {{title=@{character_name} inflicts range damage!}} {{Range Damage=[[@{damage_range_2}]]}}"
name="roll_bonus_damage_range_2"
></button>
</label>
<label
><div><span>Damage 3</span><span name="attr_damage_range_3_name"></span></div>
<input type="hidden" value="0" name="attr_damage_range_3" />
<span></span>
<span name="attr_damage_range_3"></span>
<button
type="roll"
value="@{opt_whisper}&{template:custom} {{title=@{character_name} inflicts range damage!}} {{Range Damage=[[@{damage_range_3}]]}}"
name="roll_bonus_damage_range_3"
></button>
</label>
</div>
<div class="combat-defense bonus-type-container">
<h3><span>&#x1F6E1;</span> Defense <span>&#x1F977;</span></h3>
@@ -8217,6 +8371,39 @@
name="roll_bonus_damage_range_burst"
></button>
</label>
<label
><div><span>Damage 1</span><span name="attr_damage_range_1_name"></span></div>
<input type="hidden" value="0" name="attr_damage_range_1" />
<span></span>
<span name="attr_damage_range_1"></span>
<button
type="roll"
value="@{opt_whisper}&{template:custom} {{title=@{character_name} inflicts range damage!}} {{Range Damage=[[@{damage_range_1}]]}}"
name="roll_bonus_damage_range_1"
></button>
</label>
<label
><div><span>Damage 2</span><span name="attr_damage_range_2_name"></span></div>
<input type="hidden" value="0" name="attr_damage_range_2" />
<span></span>
<span name="attr_damage_range_2"></span>
<button
type="roll"
value="@{opt_whisper}&{template:custom} {{title=@{character_name} inflicts range damage!}} {{Range Damage=[[@{damage_range_2}]]}}"
name="roll_bonus_damage_range_2"
></button>
</label>
<label
><div><span>Damage 3</span><span name="attr_damage_range_3_name"></span></div>
<input type="hidden" value="0" name="attr_damage_range_3" />
<span></span>
<span name="attr_damage_range_3"></span>
<button
type="roll"
value="@{opt_whisper}&{template:custom} {{title=@{character_name} inflicts range damage!}} {{Range Damage=[[@{damage_range_3}]]}}"
name="roll_bonus_damage_range_3"
></button>
</label>
</div>
<div class="combat-defense bonus-type-container">
<h3><span>&#x1F6E1;</span> Defense <span>&#x1F977;</span></h3>
@@ -9354,6 +9541,18 @@
</p>
</details>
<p>Click <b>Instructions</b> for detailed instructions.</p>
<span>
Link will appear in chat:
<button
style="font-size: 1em;"
class="no-dice"
type="roll"
value="[YouTube Sheet Tutorials](https://www.youtube.com/playlist?list=PLZk7Im2gciP87Imdx6GcVrZT6JAK10zvv)"
name="roll_youtube"
>
YouTube Sheet Tutorials
</button>
</span>
<hr />
<h3>Options</h3>
<input type="hidden" name="attr_version" value="1.2.0" />
@@ -9376,6 +9575,9 @@
><input type="checkbox" name="attr_debug" value="1" /> View Sheet in Debug
Mode</label
>
<label
><input type="checkbox" name="attr_youtube" value="1" /> Hide YouTube link above tabs</label
>
<label
><input type="checkbox" name=attr_outputusage" value="1" /> Output
ISP/PPE/Damage usage to chat</label
@@ -10649,13 +10851,13 @@ const WP = {
],
"w.p. pole arm": [
{ strike: 1, parry: 1 },
{},
{ damage: 2 },
{ strike: 1, parry: 1, throw: 1 },
{},
{},
{ strike: 1, parry: 1 },
{},
{ throw: 1 },
{ damage: 2, throw: 1 },
{ strike: 1, parry: 1 },
{},
{},
@@ -10962,6 +11164,7 @@ const WP_KEYS = {
"level",
"strike",
"parry",
"damage",
"disarm",
"rof",
"throw",
@@ -11086,6 +11289,12 @@ const COMBAT_KEYS = [
"damage_range",
"damage_range_single",
"damage_range_burst",
"damage_range_1",
"damage_range_1_name",
"damage_range_2",
"damage_range_2_name",
"damage_range_3",
"damage_range_3_name",
"critical",
"knockout",
"deathblow",
@@ -11619,6 +11828,13 @@ async function palladiumAddToTurnTracker(initKey, attacksKey) {
initKey,
attacksKey,
]);
if (!attacks) {
const noAttacksMessage = await startRoll(
`@{opt_whisper}&{template:custom} {{color=red}} {{title=@{selected|character_name} has no attacks with the Active Profile.}}`
)
finishRoll(noAttacksMessage.rollId);
return;
}
const initString = init > 0 ? `+${init}` : `${init}`;
const roll = await startRoll(
`@{opt_whisper}&{template:initiative} {{title=@{selected|character_name} rolls initiative!}} {{diceroll=[[1d20]]}} {{modifier=${initString}}}`
@@ -11629,8 +11845,11 @@ async function palladiumAddToTurnTracker(initKey, attacksKey) {
finishRoll(roll.rollId, {
diceroll: computed,
});
// Add 20 to the roll if a nat20 is rolled. Simplest way to bump the roll to the top of the turn order.
const nat20bonus = roll.results.diceroll.result === 20 ? 20 : 0;
const computedWithNat20 = computed + nat20bonus;
const addToTracker = await startRoll(
`@{opt_whisper}&{template:custom} {{title=@{selected|character_name} added to Turn Tracker}} {{Initiative=[[[[${computed}]] &{tracker}]]}}`
`@{opt_whisper}&{template:custom} {{title=@{selected|character_name} added to Turn Tracker}} ${nat20bonus === 20 ? '{{Natural 20!=20 points added to initiative roll!}}' : ''} {{Initiative=[[[[${computedWithNat20}]] &{tracker}]]}}`
);
finishRoll(addToTracker.rollId);
// https://app.roll20.net/forum/post/6817409/multiple-initiative-values-for-a-single-character/?pageforid=6817748#post-6817748
@@ -11854,6 +12073,9 @@ async function migrateAttributes() {
{
version: "1.6.1",
},
{
version: "1.7.0",
}
];
const { version, migrated } = await getAttrsAsync(["version", "migrated"]);
@@ -12072,6 +12294,12 @@ async function combineBonuses(rowIds, destinationPrefix) {
`${destinationPrefix}_damage_range`,
`${destinationPrefix}_damage_range_single`,
`${destinationPrefix}_damage_range_burst`,
`${destinationPrefix}_damage_range_1`,
`${destinationPrefix}_damage_range_1_name`,
`${destinationPrefix}_damage_range_2`,
`${destinationPrefix}_damage_range_2_name`,
`${destinationPrefix}_damage_range_3`,
`${destinationPrefix}_damage_range_3_name`,
],
section: "bonuses",
fields: [
@@ -12082,6 +12310,12 @@ async function combineBonuses(rowIds, destinationPrefix) {
"damage_range",
"damage_range_single",
"damage_range_burst",
"damage_range_1",
"damage_range_1_name",
"damage_range_2",
"damage_range_2_name",
"damage_range_3",
"damage_range_3_name",
],
filter: rowIds,
});
@@ -12654,6 +12888,7 @@ async function addModifierToBonusesAsync(section, rowId) {
const thingAttrs = REPEATING_BONUS_KEYS.map(
(key) => `repeating_${section}_${rowId}_${key}`
);
console.log("thingAttrs", thingAttrs);
thingAttrs.push(thingBonusId);
const a = await getAttrsAsync(thingAttrs);
console.log(a);
+14 -3
View File
@@ -242,6 +242,9 @@ a {
font-family: "dicefontd20";
content: "t";
}
.charsheet main#megaverse .youtube-toggle[value="1"] ~ .youtube-link {
display: none;
}
.charsheet main#megaverse h4 {
text-decoration: underline;
}
@@ -453,7 +456,7 @@ a {
.charsheet main#megaverse .modifiers-attributes {
display: grid;
gap: 1rem;
grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
align-items: start;
margin-top: 0.5rem;
}
@@ -475,6 +478,10 @@ a {
.charsheet main#megaverse .profiles .profile .modifiers-combat .bonus-type-container label {
grid-template-columns: 1fr 1rem 5rem 4rem;
}
.charsheet main#megaverse .profiles .profile .modifiers-combat .bonus-type-container label > div {
display: grid;
grid-template-columns: auto auto;
}
.charsheet main#megaverse .bonus-ps-container {
display: grid;
gap: 0.5rem;
@@ -484,7 +491,7 @@ a {
display: grid;
align-items: center;
gap: 0.5rem;
grid-template-columns: 6.5rem minmax(4rem, 1fr) 4rem 4rem;
grid-template-columns: 6.5rem minmax(6rem, auto) 6.5rem 4rem;
}
.charsheet main#megaverse .bonus-ps-container label.select select {
grid-column: 2/span 2;
@@ -555,6 +562,10 @@ a {
grid-template-columns: 1fr 5rem;
width: 100%;
}
.charsheet main#megaverse .bonus-type-container label > div {
display: grid;
grid-template-columns: auto auto;
}
.charsheet main#megaverse .bonus-type-container label span {
display: flex;
align-items: center;
@@ -646,7 +657,7 @@ a {
}
.charsheet main#megaverse .wp-container .wp .heading,
.charsheet main#megaverse .wp-container .wp .values {
grid-template-columns: minmax(16rem, 1fr) 5rem 5rem 5rem 5rem 5rem 5rem 5rem 5rem 1fr;
grid-template-columns: minmax(16rem, 1fr) 5rem 5rem 5rem 5rem 5rem 5rem 5rem 5rem 5rem 1fr;
}
.charsheet main#megaverse .wp-container .wpmodern .heading,
.charsheet main#megaverse .wp-container .wpmodern .values {
+238 -3
View File
@@ -5,6 +5,20 @@
src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Palladium%20Rifts%20by%20Grinning%20Gecko/rifts-logo.png"
/>
<span name="attr_character_name"></span>
<input type="hidden" class="youtube-toggle" name="attr_youtube" />
<span style="float:right;" class="youtube-link">
Link will appear in chat:
<button
style="font-size: 1em;"
class="no-dice"
type="roll"
value="[YouTube Sheet Tutorials](https://www.youtube.com/playlist?list=PLZk7Im2gciP87Imdx6GcVrZT6JAK10zvv)"
name="roll_youtube"
>
YouTube Sheet Tutorials
</button>
</span>
<div class="r-tabbed">
<input type="radio" id="tab-core" name="css-tabs" checked />
<input type="radio" id="tab-skills" name="css-tabs" />
@@ -1323,6 +1337,18 @@
><span>Damage: Pulse/Burst</span>
<input type="text" value="0" name="attr_damage_range_burst" />
</label>
<label
><div><span>Damage 1</span><input type="text" value="" name="attr_damage_range_1_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_1" />
</label>
<label
><div><span>Damage 2</span><input type="text" value="" name="attr_damage_range_2_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_2" />
</label>
<label
><div><span>Damage 3</span><input type="text" value="" name="attr_damage_range_3_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_3" />
</label>
</div>
<div class="combat-defense bonus-type-container">
<h3><span>&#x1F6E1;</span> Defense <span>&#x1F977;</span></h3>
@@ -1471,6 +1497,7 @@
<h5>Weapon Proficiency</h5>
<h5>Strike</h5>
<h5>Parry</h5>
<h5>Damage</h5>
<h5>Disarm</h5>
<h5>Throw</h5>
<h5>Entangle</h5>
@@ -1484,6 +1511,7 @@
<input type="text" list="weapon-proficiencies" name="attr_name" />
<input type="number" value="0" name="attr_strike" />
<input type="number" value="0" name="attr_parry" />
<input type="number" value="0" name="attr_damage" />
<input type="number" value="0" name="attr_disarm" />
<input type="number" value="0" name="attr_throw" />
<input type="number" value="0" name="attr_entangle" />
@@ -2240,6 +2268,18 @@
><span>Damage: Pulse/Burst</span>
<input type="text" value="0" name="attr_damage_range_burst" />
</label>
<label
><div><span>Damage 1</span><input type="text" value="" name="attr_damage_range_1_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_1" />
</label>
<label
><div><span>Damage 2</span><input type="text" value="" name="attr_damage_range_2_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_2" />
</label>
<label
><div><span>Damage 3</span><input type="text" value="" name="attr_damage_range_3_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_3" />
</label>
</div>
<div class="combat-defense bonus-type-container">
<h3><span>&#x1F6E1;</span> Defense <span>&#x1F977;</span></h3>
@@ -3077,6 +3117,18 @@
><span>Damage: Pulse/Burst</span>
<input type="text" value="0" name="attr_damage_range_burst" />
</label>
<label
><div><span>Damage 1</span><input type="text" value="" name="attr_damage_range_1_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_1" />
</label>
<label
><div><span>Damage 2</span><input type="text" value="" name="attr_damage_range_2_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_2" />
</label>
<label
><div><span>Damage 3</span><input type="text" value="" name="attr_damage_range_3_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_3" />
</label>
</div>
<div class="combat-defense bonus-type-container">
<h3><span>&#x1F6E1;</span> Defense <span>&#x1F977;</span></h3>
@@ -3915,6 +3967,18 @@
><span>Damage: Pulse/Burst</span>
<input type="text" value="0" name="attr_damage_range_burst" />
</label>
<label
><div><span>Damage 1</span><input type="text" value="" name="attr_damage_range_1_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_1" />
</label>
<label
><div><span>Damage 2</span><input type="text" value="" name="attr_damage_range_2_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_2" />
</label>
<label
><div><span>Damage 3</span><input type="text" value="" name="attr_damage_range_3_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_3" />
</label>
</div>
<div class="combat-defense bonus-type-container">
<h3><span>&#x1F6E1;</span> Defense <span>&#x1F977;</span></h3>
@@ -4631,6 +4695,18 @@
><span>Damage: Pulse/Burst</span>
<input type="text" value="0" name="attr_damage_range_burst" />
</label>
<label
><div><span>Damage 1</span><input type="text" value="" name="attr_damage_range_1_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_1" />
</label>
<label
><div><span>Damage 2</span><input type="text" value="" name="attr_damage_range_2_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_2" />
</label>
<label
><div><span>Damage 3</span><input type="text" value="" name="attr_damage_range_3_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_3" />
</label>
</div>
<div class="combat-defense bonus-type-container">
<h3><span>&#x1F6E1;</span> Defense <span>&#x1F977;</span></h3>
@@ -5293,6 +5369,51 @@
name="roll_active_profile_bonus_damage_range_burst"
></button>
</label>
<label
><div><span>Damage 1</span><span name="attr_active_profile_damage_range_1_name"></span></div>
<input
type="hidden"
value="0"
name="attr_active_profile_damage_range_1"
/>
<span></span>
<span name="attr_active_profile_damage_range_1"></span>
<button
type="roll"
value="@{opt_whisper}&{template:custom} {{title=@{character_name} inflicts range damage from a @{active_profile_damage_range_1_name} shot!}} {{Range Damage=[[@{active_profile_damage_range_1}]]}}"
name="roll_active_profile_bonus_damage_range_1"
></button>
</label>
<label
><div><span>Damage 2</span><span name="attr_active_profile_damage_range_2_name"></span></div>
<input
type="hidden"
value="0"
name="attr_active_profile_damage_range_2"
/>
<span></span>
<span name="attr_active_profile_damage_range_2"></span>
<button
type="roll"
value="@{opt_whisper}&{template:custom} {{title=@{character_name} inflicts range damage from a @{active_profile_damage_range_2_name} shot!}} {{Range Damage=[[@{active_profile_damage_range_2}]]}}"
name="roll_active_profile_bonus_damage_range_2"
></button>
</label>
<label
><div><span>Damage 3</span><span name="attr_active_profile_damage_range_3_name"></span></div>
<input
type="hidden"
value="0"
name="attr_active_profile_damage_range_3"
/>
<span></span>
<span name="attr_active_profile_damage_range_3"></span>
<button
type="roll"
value="@{opt_whisper}&{template:custom} {{title=@{character_name} inflicts range damage from a @{active_profile_damage_range_3_name} shot!}} {{Range Damage=[[@{active_profile_damage_range_3}]]}}"
name="roll_active_profile_bonus_damage_range_3"
></button>
</label>
</div>
<div class="combat-defense bonus-type-container">
<h3><span>&#x1F6E1;</span> Defense <span>&#x1F977;</span></h3>
@@ -6949,6 +7070,39 @@
name="roll_bonus_damage_range_burst"
></button>
</label>
<label
><div><span>Damage 1</span><span name="attr_damage_range_1_name"></span></div>
<input type="hidden" value="0" name="attr_damage_range_1" />
<span></span>
<span name="attr_damage_range_1"></span>
<button
type="roll"
value="@{opt_whisper}&{template:custom} {{title=@{character_name} inflicts range damage!}} {{Range Damage=[[@{damage_range_1}]]}}"
name="roll_bonus_damage_range_1"
></button>
</label>
<label
><div><span>Damage 2</span><span name="attr_damage_range_2_name"></span></div>
<input type="hidden" value="0" name="attr_damage_range_2" />
<span></span>
<span name="attr_damage_range_2"></span>
<button
type="roll"
value="@{opt_whisper}&{template:custom} {{title=@{character_name} inflicts range damage!}} {{Range Damage=[[@{damage_range_2}]]}}"
name="roll_bonus_damage_range_2"
></button>
</label>
<label
><div><span>Damage 3</span><span name="attr_damage_range_3_name"></span></div>
<input type="hidden" value="0" name="attr_damage_range_3" />
<span></span>
<span name="attr_damage_range_3"></span>
<button
type="roll"
value="@{opt_whisper}&{template:custom} {{title=@{character_name} inflicts range damage!}} {{Range Damage=[[@{damage_range_3}]]}}"
name="roll_bonus_damage_range_3"
></button>
</label>
</div>
<div class="combat-defense bonus-type-container">
<h3><span>&#x1F6E1;</span> Defense <span>&#x1F977;</span></h3>
@@ -8217,6 +8371,39 @@
name="roll_bonus_damage_range_burst"
></button>
</label>
<label
><div><span>Damage 1</span><span name="attr_damage_range_1_name"></span></div>
<input type="hidden" value="0" name="attr_damage_range_1" />
<span></span>
<span name="attr_damage_range_1"></span>
<button
type="roll"
value="@{opt_whisper}&{template:custom} {{title=@{character_name} inflicts range damage!}} {{Range Damage=[[@{damage_range_1}]]}}"
name="roll_bonus_damage_range_1"
></button>
</label>
<label
><div><span>Damage 2</span><span name="attr_damage_range_2_name"></span></div>
<input type="hidden" value="0" name="attr_damage_range_2" />
<span></span>
<span name="attr_damage_range_2"></span>
<button
type="roll"
value="@{opt_whisper}&{template:custom} {{title=@{character_name} inflicts range damage!}} {{Range Damage=[[@{damage_range_2}]]}}"
name="roll_bonus_damage_range_2"
></button>
</label>
<label
><div><span>Damage 3</span><span name="attr_damage_range_3_name"></span></div>
<input type="hidden" value="0" name="attr_damage_range_3" />
<span></span>
<span name="attr_damage_range_3"></span>
<button
type="roll"
value="@{opt_whisper}&{template:custom} {{title=@{character_name} inflicts range damage!}} {{Range Damage=[[@{damage_range_3}]]}}"
name="roll_bonus_damage_range_3"
></button>
</label>
</div>
<div class="combat-defense bonus-type-container">
<h3><span>&#x1F6E1;</span> Defense <span>&#x1F977;</span></h3>
@@ -9354,6 +9541,18 @@
</p>
</details>
<p>Click <b>Instructions</b> for detailed instructions.</p>
<span>
Link will appear in chat:
<button
style="font-size: 1em;"
class="no-dice"
type="roll"
value="[YouTube Sheet Tutorials](https://www.youtube.com/playlist?list=PLZk7Im2gciP87Imdx6GcVrZT6JAK10zvv)"
name="roll_youtube"
>
YouTube Sheet Tutorials
</button>
</span>
<hr />
<h3>Options</h3>
<input type="hidden" name="attr_version" value="1.2.0" />
@@ -9376,6 +9575,9 @@
><input type="checkbox" name="attr_debug" value="1" /> View Sheet in Debug
Mode</label
>
<label
><input type="checkbox" name="attr_youtube" value="1" /> Hide YouTube link above tabs</label
>
<label
><input type="checkbox" name=attr_outputusage" value="1" /> Output
ISP/PPE/Damage usage to chat</label
@@ -10649,13 +10851,13 @@ const WP = {
],
"w.p. pole arm": [
{ strike: 1, parry: 1 },
{},
{ damage: 2 },
{ strike: 1, parry: 1, throw: 1 },
{},
{},
{ strike: 1, parry: 1 },
{},
{ throw: 1 },
{ damage: 2, throw: 1 },
{ strike: 1, parry: 1 },
{},
{},
@@ -10962,6 +11164,7 @@ const WP_KEYS = {
"level",
"strike",
"parry",
"damage",
"disarm",
"rof",
"throw",
@@ -11086,6 +11289,12 @@ const COMBAT_KEYS = [
"damage_range",
"damage_range_single",
"damage_range_burst",
"damage_range_1",
"damage_range_1_name",
"damage_range_2",
"damage_range_2_name",
"damage_range_3",
"damage_range_3_name",
"critical",
"knockout",
"deathblow",
@@ -11619,6 +11828,13 @@ async function palladiumAddToTurnTracker(initKey, attacksKey) {
initKey,
attacksKey,
]);
if (!attacks) {
const noAttacksMessage = await startRoll(
`@{opt_whisper}&{template:custom} {{color=red}} {{title=@{selected|character_name} has no attacks with the Active Profile.}}`
)
finishRoll(noAttacksMessage.rollId);
return;
}
const initString = init > 0 ? `+${init}` : `${init}`;
const roll = await startRoll(
`@{opt_whisper}&{template:initiative} {{title=@{selected|character_name} rolls initiative!}} {{diceroll=[[1d20]]}} {{modifier=${initString}}}`
@@ -11629,8 +11845,11 @@ async function palladiumAddToTurnTracker(initKey, attacksKey) {
finishRoll(roll.rollId, {
diceroll: computed,
});
// Add 20 to the roll if a nat20 is rolled. Simplest way to bump the roll to the top of the turn order.
const nat20bonus = roll.results.diceroll.result === 20 ? 20 : 0;
const computedWithNat20 = computed + nat20bonus;
const addToTracker = await startRoll(
`@{opt_whisper}&{template:custom} {{title=@{selected|character_name} added to Turn Tracker}} {{Initiative=[[[[${computed}]] &{tracker}]]}}`
`@{opt_whisper}&{template:custom} {{title=@{selected|character_name} added to Turn Tracker}} ${nat20bonus === 20 ? '{{Natural 20!=20 points added to initiative roll!}}' : ''} {{Initiative=[[[[${computedWithNat20}]] &{tracker}]]}}`
);
finishRoll(addToTracker.rollId);
// https://app.roll20.net/forum/post/6817409/multiple-initiative-values-for-a-single-character/?pageforid=6817748#post-6817748
@@ -11854,6 +12073,9 @@ async function migrateAttributes() {
{
version: "1.6.1",
},
{
version: "1.7.0",
}
];
const { version, migrated } = await getAttrsAsync(["version", "migrated"]);
@@ -12072,6 +12294,12 @@ async function combineBonuses(rowIds, destinationPrefix) {
`${destinationPrefix}_damage_range`,
`${destinationPrefix}_damage_range_single`,
`${destinationPrefix}_damage_range_burst`,
`${destinationPrefix}_damage_range_1`,
`${destinationPrefix}_damage_range_1_name`,
`${destinationPrefix}_damage_range_2`,
`${destinationPrefix}_damage_range_2_name`,
`${destinationPrefix}_damage_range_3`,
`${destinationPrefix}_damage_range_3_name`,
],
section: "bonuses",
fields: [
@@ -12082,6 +12310,12 @@ async function combineBonuses(rowIds, destinationPrefix) {
"damage_range",
"damage_range_single",
"damage_range_burst",
"damage_range_1",
"damage_range_1_name",
"damage_range_2",
"damage_range_2_name",
"damage_range_3",
"damage_range_3_name",
],
filter: rowIds,
});
@@ -12654,6 +12888,7 @@ async function addModifierToBonusesAsync(section, rowId) {
const thingAttrs = REPEATING_BONUS_KEYS.map(
(key) => `repeating_${section}_${rowId}_${key}`
);
console.log("thingAttrs", thingAttrs);
thingAttrs.push(thingBonusId);
const a = await getAttrsAsync(thingAttrs);
console.log(a);
@@ -152,6 +152,12 @@ async function combineBonuses(rowIds, destinationPrefix) {
`${destinationPrefix}_damage_range`,
`${destinationPrefix}_damage_range_single`,
`${destinationPrefix}_damage_range_burst`,
`${destinationPrefix}_damage_range_1`,
`${destinationPrefix}_damage_range_1_name`,
`${destinationPrefix}_damage_range_2`,
`${destinationPrefix}_damage_range_2_name`,
`${destinationPrefix}_damage_range_3`,
`${destinationPrefix}_damage_range_3_name`,
],
section: "bonuses",
fields: [
@@ -162,6 +168,12 @@ async function combineBonuses(rowIds, destinationPrefix) {
"damage_range",
"damage_range_single",
"damage_range_burst",
"damage_range_1",
"damage_range_1_name",
"damage_range_2",
"damage_range_2_name",
"damage_range_3",
"damage_range_3_name",
],
filter: rowIds,
});
@@ -503,6 +503,12 @@ const r = {
"damage_range",
"damage_range_single",
"damage_range_burst",
"damage_range_1",
"damage_range_1_name",
"damage_range_2",
"damage_range_2_name",
"damage_range_3",
"damage_range_3_name",
"critical",
"knockout",
"deathblow",
@@ -622,6 +628,12 @@ const r = {
"damage_range",
"damage_range_single",
"damage_range_burst",
"damage_range_1",
"damage_range_1_name",
"damage_range_2",
"damage_range_2_name",
"damage_range_3",
"damage_range_3_name",
"ar",
"critical",
"knockout",
@@ -1062,13 +1062,13 @@ const WP = {
],
"w.p. pole arm": [
{ strike: 1, parry: 1 },
{},
{ damage: 2 },
{ strike: 1, parry: 1, throw: 1 },
{},
{},
{ strike: 1, parry: 1 },
{},
{ throw: 1 },
{ damage: 2, throw: 1 },
{ strike: 1, parry: 1 },
{},
{},
@@ -1375,6 +1375,7 @@ const WP_KEYS = {
"level",
"strike",
"parry",
"damage",
"disarm",
"rof",
"throw",
@@ -1499,6 +1500,12 @@ const COMBAT_KEYS = [
"damage_range",
"damage_range_single",
"damage_range_burst",
"damage_range_1",
"damage_range_1_name",
"damage_range_2",
"damage_range_2_name",
"damage_range_3",
"damage_range_3_name",
"critical",
"knockout",
"deathblow",
@@ -172,6 +172,9 @@ async function migrateAttributes() {
{
version: "1.6.1",
},
{
version: "1.7.0",
}
];
const { version, migrated } = await getAttrsAsync(["version", "migrated"]);
@@ -297,6 +297,13 @@ async function palladiumAddToTurnTracker(initKey, attacksKey) {
initKey,
attacksKey,
]);
if (!attacks) {
const noAttacksMessage = await startRoll(
`@{opt_whisper}&{template:custom} {{color=red}} {{title=@{selected|character_name} has no attacks with the Active Profile.}}`
)
finishRoll(noAttacksMessage.rollId);
return;
}
const initString = init > 0 ? `+${init}` : `${init}`;
const roll = await startRoll(
`@{opt_whisper}&{template:initiative} {{title=@{selected|character_name} rolls initiative!}} {{diceroll=[[1d20]]}} {{modifier=${initString}}}`
@@ -307,8 +314,11 @@ async function palladiumAddToTurnTracker(initKey, attacksKey) {
finishRoll(roll.rollId, {
diceroll: computed,
});
// Add 20 to the roll if a nat20 is rolled. Simplest way to bump the roll to the top of the turn order.
const nat20bonus = roll.results.diceroll.result === 20 ? 20 : 0;
const computedWithNat20 = computed + nat20bonus;
const addToTracker = await startRoll(
`@{opt_whisper}&{template:custom} {{title=@{selected|character_name} added to Turn Tracker}} {{Initiative=[[[[${computed}]] &{tracker}]]}}`
`@{opt_whisper}&{template:custom} {{title=@{selected|character_name} added to Turn Tracker}} ${nat20bonus === 20 ? '{{Natural 20!=20 points added to initiative roll!}}' : ''} {{Initiative=[[[[${computedWithNat20}]] &{tracker}]]}}`
);
finishRoll(addToTracker.rollId);
// https://app.roll20.net/forum/post/6817409/multiple-initiative-values-for-a-single-character/?pageforid=6817748#post-6817748
@@ -519,6 +519,51 @@
name="roll_active_profile_bonus_damage_range_burst"
></button>
</label>
<label
><div><span>Damage 1</span><span name="attr_active_profile_damage_range_1_name"></span></div>
<input
type="hidden"
value="0"
name="attr_active_profile_damage_range_1"
/>
<span></span>
<span name="attr_active_profile_damage_range_1"></span>
<button
type="roll"
value="@{opt_whisper}&{template:custom} {{title=@{character_name} inflicts range damage from a @{active_profile_damage_range_1_name} shot!}} {{Range Damage=[[@{active_profile_damage_range_1}]]}}"
name="roll_active_profile_bonus_damage_range_1"
></button>
</label>
<label
><div><span>Damage 2</span><span name="attr_active_profile_damage_range_2_name"></span></div>
<input
type="hidden"
value="0"
name="attr_active_profile_damage_range_2"
/>
<span></span>
<span name="attr_active_profile_damage_range_2"></span>
<button
type="roll"
value="@{opt_whisper}&{template:custom} {{title=@{character_name} inflicts range damage from a @{active_profile_damage_range_2_name} shot!}} {{Range Damage=[[@{active_profile_damage_range_2}]]}}"
name="roll_active_profile_bonus_damage_range_2"
></button>
</label>
<label
><div><span>Damage 3</span><span name="attr_active_profile_damage_range_3_name"></span></div>
<input
type="hidden"
value="0"
name="attr_active_profile_damage_range_3"
/>
<span></span>
<span name="attr_active_profile_damage_range_3"></span>
<button
type="roll"
value="@{opt_whisper}&{template:custom} {{title=@{character_name} inflicts range damage from a @{active_profile_damage_range_3_name} shot!}} {{Range Damage=[[@{active_profile_damage_range_3}]]}}"
name="roll_active_profile_bonus_damage_range_3"
></button>
</label>
</div>
<div class="combat-defense bonus-type-container">
<h3><span>&#x1F6E1;</span> Defense <span>&#x1F977;</span></h3>
@@ -298,6 +298,18 @@
</p>
</details>
<p>Click <b>Instructions</b> for detailed instructions.</p>
<span>
Link will appear in chat:
<button
style="font-size: 1em;"
class="no-dice"
type="roll"
value="[YouTube Sheet Tutorials](https://www.youtube.com/playlist?list=PLZk7Im2gciP87Imdx6GcVrZT6JAK10zvv)"
name="roll_youtube"
>
YouTube Sheet Tutorials
</button>
</span>
<hr />
<h3>Options</h3>
<input type="hidden" name="attr_version" value="1.2.0" />
@@ -320,6 +332,9 @@
><input type="checkbox" name="attr_debug" value="1" /> View Sheet in Debug
Mode</label
>
<label
><input type="checkbox" name="attr_youtube" value="1" /> Hide YouTube link above tabs</label
>
<label
><input type="checkbox" name=attr_outputusage" value="1" /> Output
ISP/PPE/Damage usage to chat</label
@@ -551,6 +551,18 @@
><span>Damage: Pulse/Burst</span>
<input type="text" value="0" name="attr_damage_range_burst" />
</label>
<label
><div><span>Damage 1</span><input type="text" value="" name="attr_damage_range_1_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_1" />
</label>
<label
><div><span>Damage 2</span><input type="text" value="" name="attr_damage_range_2_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_2" />
</label>
<label
><div><span>Damage 3</span><input type="text" value="" name="attr_damage_range_3_name" placeholder="Name" /></div>
<input type="text" value="0" name="attr_damage_range_3" />
</label>
</div>
<div class="combat-defense bonus-type-container">
<h3><span>&#x1F6E1;</span> Defense <span>&#x1F977;</span></h3>
@@ -384,6 +384,39 @@
name="roll_bonus_damage_range_burst"
></button>
</label>
<label
><div><span>Damage 1</span><span name="attr_damage_range_1_name"></span></div>
<input type="hidden" value="0" name="attr_damage_range_1" />
<span></span>
<span name="attr_damage_range_1"></span>
<button
type="roll"
value="@{opt_whisper}&{template:custom} {{title=@{character_name} inflicts range damage!}} {{Range Damage=[[@{damage_range_1}]]}}"
name="roll_bonus_damage_range_1"
></button>
</label>
<label
><div><span>Damage 2</span><span name="attr_damage_range_2_name"></span></div>
<input type="hidden" value="0" name="attr_damage_range_2" />
<span></span>
<span name="attr_damage_range_2"></span>
<button
type="roll"
value="@{opt_whisper}&{template:custom} {{title=@{character_name} inflicts range damage!}} {{Range Damage=[[@{damage_range_2}]]}}"
name="roll_bonus_damage_range_2"
></button>
</label>
<label
><div><span>Damage 3</span><span name="attr_damage_range_3_name"></span></div>
<input type="hidden" value="0" name="attr_damage_range_3" />
<span></span>
<span name="attr_damage_range_3"></span>
<button
type="roll"
value="@{opt_whisper}&{template:custom} {{title=@{character_name} inflicts range damage!}} {{Range Damage=[[@{damage_range_3}]]}}"
name="roll_bonus_damage_range_3"
></button>
</label>
</div>
<div class="combat-defense bonus-type-container">
<h3><span>&#x1F6E1;</span> Defense <span>&#x1F977;</span></h3>
@@ -22,6 +22,7 @@
<h5>Weapon Proficiency</h5>
<h5>Strike</h5>
<h5>Parry</h5>
<h5>Damage</h5>
<h5>Disarm</h5>
<h5>Throw</h5>
<h5>Entangle</h5>
@@ -35,6 +36,7 @@
<input type="text" list="weapon-proficiencies" name="attr_name" />
<input type="number" value="0" name="attr_strike" />
<input type="number" value="0" name="attr_parry" />
<input type="number" value="0" name="attr_damage" />
<input type="number" value="0" name="attr_disarm" />
<input type="number" value="0" name="attr_throw" />
<input type="number" value="0" name="attr_entangle" />
@@ -5,6 +5,20 @@
src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Palladium%20Rifts%20by%20Grinning%20Gecko/rifts-logo.png"
/>
<span name="attr_character_name"></span>
<input type="hidden" class="youtube-toggle" name="attr_youtube" />
<span style="float:right;" class="youtube-link">
Link will appear in chat:
<button
style="font-size: 1em;"
class="no-dice"
type="roll"
value="[YouTube Sheet Tutorials](https://www.youtube.com/playlist?list=PLZk7Im2gciP87Imdx6GcVrZT6JAK10zvv)"
name="roll_youtube"
>
YouTube Sheet Tutorials
</button>
</span>
<div class="r-tabbed">
<input type="radio" id="tab-core" name="css-tabs" checked />
<input type="radio" id="tab-skills" name="css-tabs" />
@@ -237,6 +237,10 @@ a {
content: "t";
}
.youtube-toggle[value="1"] ~ .youtube-link {
display: none;
}
h4 {
text-decoration: underline;
}
@@ -468,7 +472,7 @@ a {
.modifiers-attributes {
display: grid;
gap: 1rem;
grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
align-items: start;
margin-top: 0.5rem;
@@ -493,6 +497,11 @@ a {
.bonus-type-container {
label {
grid-template-columns: 1fr 1rem 5rem 4rem;
> div {
display:grid;
grid-template-columns: auto auto;
}
}
}
}
@@ -508,7 +517,7 @@ a {
display: grid;
align-items: center;
gap: 0.5rem;
grid-template-columns: 6.5rem minmax(4rem, 1fr) 4rem 4rem;
grid-template-columns: 6.5rem minmax(6rem, auto) 6.5rem 4rem;
// grid-template-columns: auto auto auto auto;
&.select {
@@ -572,6 +581,11 @@ a {
grid-template-columns: 1fr 5rem;
width: 100%;
> div {
display:grid;
grid-template-columns: auto auto;
}
span {
@include center;
@@ -676,7 +690,7 @@ a {
.wp {
.heading,
.values {
grid-template-columns: minmax(16rem, 1fr) 5rem 5rem 5rem 5rem 5rem 5rem 5rem 5rem 1fr;
grid-template-columns: minmax(16rem, 1fr) 5rem 5rem 5rem 5rem 5rem 5rem 5rem 5rem 5rem 1fr;
}
}