Added specific spells as grenade like missiles to allow faster roll of these misses.

This commit is contained in:
Peter Bjerg Lidegaard
2024-08-03 19:55:24 +02:00
parent 34c990a93b
commit 3d2bd50a38
4 changed files with 118 additions and 4 deletions
+54 -2
View File
@@ -33536,6 +33536,7 @@
<td class="sheet-template-result sheet-template-failure sheet-ignore-inlineroll">Miss!<br><span class="sheet-miss-text">{{hitdmg}}</span></td>
{{/rollTotal() computed::hit 0}}
</tr>
{{#aoesplash}}
<tr>
<td class="sheet-grenade-c1 sheet-ignore-inlineroll">Splash Hit:<br>({{aoesplash}} Feet Diameter)</td>
<!-- Direct hit is true -->
@@ -33553,6 +33554,7 @@
{{/rollTotal() computed::splash 0}}
{{/rollTotal() computed::hit 0}}
</tr>
{{/aoesplash}}
</table>
</div>
</div>
@@ -72351,7 +72353,7 @@ on('change:repeating_monsterweapons:weaponname', function(eventInfo) {
on('clicked:grenade-miss', async function(eventInfo) {
let rollBuilder = new RollTemplateBuilder('2Egrenademiss');
let grenade = await extractQueryResult('?{What grenade have been thrown?|Acid|Holy water|Oil (lit)|Poison|Other}');
let grenade = await extractQueryResult('?{What grenade have been thrown?|Acid|Holy water|Oil (lit)|Poison|Melfs Minute Meteor|Otilukes Freezing Sphere - Globe of cold|Produce Flame|Fire Seed missile|Other}');
switch (grenade) {
case 'Acid': {
rollBuilder.push(
@@ -72393,6 +72395,46 @@ on('clicked:grenade-miss', async function(eventInfo) {
);
break;
}
case 'Melfs Minute Meteor': {
rollBuilder.push(
'name=Melfs Minute Meteor',
'aoe=[[1]]',
'aoesplash=[[6]]',
'hitdmg=[Damage](`/em rolls &lbrack;&lbrack;1d4&rbrack;&rbrack; fire damage using their Melfs Minute Meteor! &#40;Direct Hit&#41;)',
'splashdmg=[Damage](`/em rolls &lbrack;&lbrack;1&rbrack;&rbrack; fire damage using their Melfs Minute Meteor! &#40;Splash&#41;)'
);
break;
}
case 'Otilukes Freezing Sphere - Globe of cold': {
rollBuilder.push(
'name=Otilukes Freezing Sphere (Globe of cold)',
'aoe=[[20]]',
'aoesplash=',
'hitdmg=[Damage](`/em rolls &lbrack;&lbrack;6d6&rbrack;&rbrack; cold damage using their Otilukes Freezing Sphere - Globe of cold! &#40;Direct Hit&#41;)',
'splashdmg='
);
break;
}
case 'Produce Flame': {
rollBuilder.push(
'name=Produce Flame',
'aoe=[[3]]',
'aoesplash=',
'hitdmg=[Damage](`/em rolls &lbrack;&lbrack;1d4+1&rbrack;&rbrack; fire damage using their Produce Flame! &#40;Direct Hit&#41;)',
'splashdmg='
);
break;
}
case 'Fire Seed missile': {
rollBuilder.push(
'name=Fire Seed missile',
'aoe=[[10]]',
'aoesplash=',
'hitdmg=[Damage](`/em rolls &lbrack;&lbrack;2d8&rbrack;&rbrack; fire damage using their Fire Seed missile! &#40;Direct Hit&#41;)',
'splashdmg='
);
break
}
case 'Other': {
let name = await extractQueryResult('?{Grenade name}');
let aoe = await extractQueryResult('?{Area of effect (Diameter in feet)|1}');
@@ -72413,7 +72455,17 @@ on('clicked:grenade-miss', async function(eventInfo) {
);
}
}
let distanceName = await extractQueryResult('?{How far was it thrown?|Short|Medium|Long}');
let distanceName;
switch (grenade) {
case 'Melfs Minute Meteor':
case 'Produce Flame':
case 'Fire Seed missile':
distanceName = 'Short';
break;
default:
distanceName = await extractQueryResult('?{How far was it thrown?|Short|Medium|Long}');
}
rollBuilder.push('direction=[[1d10]]', `distancename=${distanceName}`);
switch (distanceName) {
case 'Short': rollBuilder.push('distance=[[1d6cs1cf6]]'); break;
@@ -528,6 +528,7 @@
<td class="sheet-template-result sheet-template-failure sheet-ignore-inlineroll">Miss!<br><span class="sheet-miss-text">{{hitdmg}}</span></td>
{{/rollTotal() computed::hit 0}}
</tr>
{{#aoesplash}}
<tr>
<td class="sheet-grenade-c1 sheet-ignore-inlineroll">Splash Hit:<br>({{aoesplash}} Feet Diameter)</td>
<!-- Direct hit is true -->
@@ -545,6 +546,7 @@
{{/rollTotal() computed::splash 0}}
{{/rollTotal() computed::hit 0}}
</tr>
{{/aoesplash}}
</table>
</div>
</div>
+52 -2
View File
@@ -2072,7 +2072,7 @@ on('change:repeating_monsterweapons:weaponname', function(eventInfo) {
on('clicked:grenade-miss', async function(eventInfo) {
let rollBuilder = new RollTemplateBuilder('2Egrenademiss');
let grenade = await extractQueryResult('?{What grenade have been thrown?|Acid|Holy water|Oil (lit)|Poison|Other}');
let grenade = await extractQueryResult('?{What grenade have been thrown?|Acid|Holy water|Oil (lit)|Poison|Melfs Minute Meteor|Otilukes Freezing Sphere - Globe of cold|Produce Flame|Fire Seed missile|Other}');
switch (grenade) {
case 'Acid': {
rollBuilder.push(
@@ -2114,6 +2114,46 @@ on('clicked:grenade-miss', async function(eventInfo) {
);
break;
}
case 'Melfs Minute Meteor': {
rollBuilder.push(
'name=Melfs Minute Meteor',
'aoe=[[1]]',
'aoesplash=[[6]]',
'hitdmg=[Damage](`/em rolls &lbrack;&lbrack;1d4&rbrack;&rbrack; fire damage using their Melfs Minute Meteor! &#40;Direct Hit&#41;)',
'splashdmg=[Damage](`/em rolls &lbrack;&lbrack;1&rbrack;&rbrack; fire damage using their Melfs Minute Meteor! &#40;Splash&#41;)'
);
break;
}
case 'Otilukes Freezing Sphere - Globe of cold': {
rollBuilder.push(
'name=Otilukes Freezing Sphere (Globe of cold)',
'aoe=[[20]]',
'aoesplash=',
'hitdmg=[Damage](`/em rolls &lbrack;&lbrack;6d6&rbrack;&rbrack; cold damage using their Otilukes Freezing Sphere - Globe of cold! &#40;Direct Hit&#41;)',
'splashdmg='
);
break;
}
case 'Produce Flame': {
rollBuilder.push(
'name=Produce Flame',
'aoe=[[3]]',
'aoesplash=',
'hitdmg=[Damage](`/em rolls &lbrack;&lbrack;1d4+1&rbrack;&rbrack; fire damage using their Produce Flame! &#40;Direct Hit&#41;)',
'splashdmg='
);
break;
}
case 'Fire Seed missile': {
rollBuilder.push(
'name=Fire Seed missile',
'aoe=[[10]]',
'aoesplash=',
'hitdmg=[Damage](`/em rolls &lbrack;&lbrack;2d8&rbrack;&rbrack; fire damage using their Fire Seed missile! &#40;Direct Hit&#41;)',
'splashdmg='
);
break
}
case 'Other': {
let name = await extractQueryResult('?{Grenade name}');
let aoe = await extractQueryResult('?{Area of effect (Diameter in feet)|1}');
@@ -2134,7 +2174,17 @@ on('clicked:grenade-miss', async function(eventInfo) {
);
}
}
let distanceName = await extractQueryResult('?{How far was it thrown?|Short|Medium|Long}');
let distanceName;
switch (grenade) {
case 'Melfs Minute Meteor':
case 'Produce Flame':
case 'Fire Seed missile':
distanceName = 'Short';
break;
default:
distanceName = await extractQueryResult('?{How far was it thrown?|Short|Medium|Long}');
}
rollBuilder.push('direction=[[1d10]]', `distancename=${distanceName}`);
switch (distanceName) {
case 'Short': rollBuilder.push('distance=[[1d6cs1cf6]]'); break;
+10
View File
@@ -0,0 +1,10 @@
— long dash
medium dash (avoid)
- short dash
• big bullet (preferred)
· small bullet (avoid)
apostrophe (preferred)
✕ big multiplication sign (preferred)
× small multiplication sign (avoid)
“ left double quote (preferred)
” right double quote (preferred)