Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account

Fireball macro

Hi guys, forgive me for my bad english.  I wanna know if someone of you know if it's possible create a Fireball macro, that calculate area of effect in a centered point, and roll automatically damage and impose TS at all enemy in area and subtracts hp automatically. 
Hi Giovanni At Pro Level account you can gain access to API scripts which help with this.  I have created a Macro for fireball, that uses a number of different scripts.  Powercards (Gives Conditional Logic), AreaOfEffect (Takes a graphic asset from your library and spaws and scales it on the map), Roll20AM (triggers a custom audio when spell cast) .  It works by asking the player to choose 8 targets, then confirm how many of these to be targetted by fireball, then rolls saves for all targets and rolls damage.  You could use an additional script called TokenMod to give the functionality to automatiaclly update the HP of each target, but I haven't implemented that yet. !areasOfEffectApplyEffectAtToken @{target|token_id} 22.5 Fireball !power {{ --name|@{selected|character_name}'s Fireball --leftsub|Spell Cast --rightsub|Ranged 150' 20ft Sphere --tokenid|@{selected|token_id} --emote| A bright streak flashes from @{selected|character_name}'s pointing finger then blossoms with a low roar into an explosion of flame --!Spell:|~C**//Evocation Spell//**~C --!Description:|~C**DC@{selected|spell_save_dc} ^^ //Dexterity save//**~C -- soundfx|_audio,play,nomenu|HypnoticPattern --target_list|@{target|t1|token_id} | @{target|t2|token_id} | @{target|t3|token_id} | @{target|t4|token_id} | @{target|t5|token_id} | @{target|t6|token_id} | @{target|t7|token_id} | @{target|t8|token_id} --Saving Throw#?{Number of targets|1}|[[ [$Save] ?{DexSave|Normal, 1d20|w/Advantage, 2d20KH1|w/Disadvantage, 2d20KL1} + %%npc_dex_save%% Dexterity save %%token_name%% ]] from %%token_name%% --Damage!|Your fireball damages for [[ [$dmg1] (5 + ?{Level|3})d6 ]] fire damage -- ?? $Save_1.total >= @{selected|spell_save_dc} ?? !Hit1:|@{target|t1|token_name} Saves and takes [^dmg1.halftotal] damage -- ?? $Save_2.total >= @{selected|spell_save_dc} ?? !Hit2:|@{target|t2|token_name} Saves and takes [^dmg1.halftotal] damage -- ?? $Save_3.total >= @{selected|spell_save_dc} ?? !Hit3:|@{target|t3|token_name} Saves and takes [^dmg1.halftotal] damage -- ?? $Save_4.total >= @{selected|spell_save_dc} ?? !Hit4:|@{target|t4|token_name} Saves and takes [^dmg1.halftotal] damage -- ?? $Save_5.total >= @{selected|spell_save_dc} ?? !Hit5:|@{target|t5|token_name} Saves and takes [^dmg1.halftotal] damage -- ?? $Save_6.total >= @{selected|spell_save_dc} ?? !Hit6:|@{target|t6|token_name} Saves and takes [^dmg1.halftotal] damage -- ?? $Save_7.total >= @{selected|spell_save_dc} ?? !Hit7:|@{target|t7|token_name} Saves and takes [^dmg1.halftotal] damage -- ?? $Save_8.total >= @{selected|spell_save_dc} ?? !Hit8:|@{target|t8|token_name} Saves and takes [^dmg1.halftotal] damage -- ?? $Save_1.total < @{selected|spell_save_dc} ?? !Hit1:|@{target|t1|token_name} Fails and takes [^dmg1] Damage -- ?? $Save_2.total < @{selected|spell_save_dc} ?? !Hit2:|@{target|t2|token_name} Fails and takes [^dmg1] Damage -- ?? $Save_3.total < @{selected|spell_save_dc} ?? !Hit3:|@{target|t3|token_name} Fails and takes [^dmg1] Damage -- ?? $Save_4.total < @{selected|spell_save_dc} ?? !Hit4:|@{target|t4|token_name} Fails and takes [^dmg1] Damage -- ?? $Save_5.total < @{selected|spell_save_dc} ?? !Hit5:|@{target|t5|token_name} Fails and takes [^dmg1] Damage -- ?? $Save_6.total < @{selected|spell_save_dc} ?? !Hit6:|@{target|t6|token_name} Fails and takes [^dmg1] Damage -- ?? $Save_7.total < @{selected|spell_save_dc} ?? !Hit7:|@{target|t7|token_name} Fails and takes [^dmg1] Damage -- ?? $Save_8.total < @{selected|spell_save_dc} ?? !Hit8:|@{target|t8|token_name}Fails and takes [^dmg1] Damage }}
1610136952
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
There is also the Group Check API script and its Apply Damage companion. These allow you to grab any group of tokens, have them roll against a DC on the appropriate save, indicate whether they take half or no damage on a success and apply all damage to each token. As above, this solution requires a Pro subscription.
I'll be taking at look at those, thanks!!!
1610141500
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Group Check is in the One Click, but  Apply Damage  is a little more difficult to track down.