diff --git a/ADnD_2E_Revised/2ESheet.html b/ADnD_2E_Revised/2ESheet.html index 44c0445329..84cc0d641c 100644 --- a/ADnD_2E_Revised/2ESheet.html +++ b/ADnD_2E_Revised/2ESheet.html @@ -33536,6 +33536,7 @@ Miss!
{{hitdmg}} {{/rollTotal() computed::hit 0}} + {{#aoesplash}} Splash Hit:
({{aoesplash}} Feet Diameter) @@ -33553,6 +33554,7 @@ {{/rollTotal() computed::splash 0}} {{/rollTotal() computed::hit 0}} + {{/aoesplash}} @@ -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; diff --git a/ADnD_2E_Revised/html/components/rolltemplates.html b/ADnD_2E_Revised/html/components/rolltemplates.html index 79a9fa1dab..fe85371576 100644 --- a/ADnD_2E_Revised/html/components/rolltemplates.html +++ b/ADnD_2E_Revised/html/components/rolltemplates.html @@ -528,6 +528,7 @@ Miss!
{{hitdmg}} {{/rollTotal() computed::hit 0}} + {{#aoesplash}} Splash Hit:
({{aoesplash}} Feet Diameter) @@ -545,6 +546,7 @@ {{/rollTotal() computed::splash 0}} {{/rollTotal() computed::hit 0}} + {{/aoesplash}} diff --git a/ADnD_2E_Revised/javascript/sheetWorkers.js b/ADnD_2E_Revised/javascript/sheetWorkers.js index d9d9cc4e46..03b0abe8ca 100644 --- a/ADnD_2E_Revised/javascript/sheetWorkers.js +++ b/ADnD_2E_Revised/javascript/sheetWorkers.js @@ -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; diff --git a/ADnD_2E_Revised/special-characters.txt b/ADnD_2E_Revised/special-characters.txt new file mode 100644 index 0000000000..1d42e27612 --- /dev/null +++ b/ADnD_2E_Revised/special-characters.txt @@ -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) \ No newline at end of file