mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 03:40:32 +00:00
Added specific spells as grenade like missiles to allow faster roll of these misses.
This commit is contained in:
@@ -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|Melf’s Minute Meteor|Otiluke’s 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 'Melf’s Minute Meteor': {
|
||||
rollBuilder.push(
|
||||
'name=Melf’s Minute Meteor',
|
||||
'aoe=[[1]]',
|
||||
'aoesplash=[[6]]',
|
||||
'hitdmg=[Damage](`/em rolls [[1d4]] fire damage using their Melf’s Minute Meteor! (Direct Hit))',
|
||||
'splashdmg=[Damage](`/em rolls [[1]] fire damage using their Melf’s Minute Meteor! (Splash))'
|
||||
);
|
||||
break;
|
||||
}
|
||||
case 'Otiluke’s Freezing Sphere - Globe of cold': {
|
||||
rollBuilder.push(
|
||||
'name=Otiluke’s Freezing Sphere (Globe of cold)',
|
||||
'aoe=[[20]]',
|
||||
'aoesplash=',
|
||||
'hitdmg=[Damage](`/em rolls [[6d6]] cold damage using their Otiluke’s Freezing Sphere - Globe of cold! (Direct Hit))',
|
||||
'splashdmg='
|
||||
);
|
||||
break;
|
||||
}
|
||||
case 'Produce Flame': {
|
||||
rollBuilder.push(
|
||||
'name=Produce Flame',
|
||||
'aoe=[[3]]',
|
||||
'aoesplash=',
|
||||
'hitdmg=[Damage](`/em rolls [[1d4+1]] fire damage using their Produce Flame! (Direct Hit))',
|
||||
'splashdmg='
|
||||
);
|
||||
break;
|
||||
}
|
||||
case 'Fire Seed missile': {
|
||||
rollBuilder.push(
|
||||
'name=Fire Seed missile',
|
||||
'aoe=[[10]]',
|
||||
'aoesplash=',
|
||||
'hitdmg=[Damage](`/em rolls [[2d8]] fire damage using their Fire Seed missile! (Direct Hit))',
|
||||
'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 'Melf’s 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>
|
||||
|
||||
@@ -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|Melf’s Minute Meteor|Otiluke’s 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 'Melf’s Minute Meteor': {
|
||||
rollBuilder.push(
|
||||
'name=Melf’s Minute Meteor',
|
||||
'aoe=[[1]]',
|
||||
'aoesplash=[[6]]',
|
||||
'hitdmg=[Damage](`/em rolls [[1d4]] fire damage using their Melf’s Minute Meteor! (Direct Hit))',
|
||||
'splashdmg=[Damage](`/em rolls [[1]] fire damage using their Melf’s Minute Meteor! (Splash))'
|
||||
);
|
||||
break;
|
||||
}
|
||||
case 'Otiluke’s Freezing Sphere - Globe of cold': {
|
||||
rollBuilder.push(
|
||||
'name=Otiluke’s Freezing Sphere (Globe of cold)',
|
||||
'aoe=[[20]]',
|
||||
'aoesplash=',
|
||||
'hitdmg=[Damage](`/em rolls [[6d6]] cold damage using their Otiluke’s Freezing Sphere - Globe of cold! (Direct Hit))',
|
||||
'splashdmg='
|
||||
);
|
||||
break;
|
||||
}
|
||||
case 'Produce Flame': {
|
||||
rollBuilder.push(
|
||||
'name=Produce Flame',
|
||||
'aoe=[[3]]',
|
||||
'aoesplash=',
|
||||
'hitdmg=[Damage](`/em rolls [[1d4+1]] fire damage using their Produce Flame! (Direct Hit))',
|
||||
'splashdmg='
|
||||
);
|
||||
break;
|
||||
}
|
||||
case 'Fire Seed missile': {
|
||||
rollBuilder.push(
|
||||
'name=Fire Seed missile',
|
||||
'aoe=[[10]]',
|
||||
'aoesplash=',
|
||||
'hitdmg=[Damage](`/em rolls [[2d8]] fire damage using their Fire Seed missile! (Direct Hit))',
|
||||
'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 'Melf’s 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;
|
||||
|
||||
@@ -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)
|
||||
Reference in New Issue
Block a user