diff --git a/Dawnsbury.Mods.Remaster.Spellbook/Level2Spells.cs b/Dawnsbury.Mods.Remaster.Spellbook/Level2Spells.cs index 67c1dbb..27ac1b4 100644 --- a/Dawnsbury.Mods.Remaster.Spellbook/Level2Spells.cs +++ b/Dawnsbury.Mods.Remaster.Spellbook/Level2Spells.cs @@ -70,9 +70,6 @@ public static class Level2Spells // * Sound Body // Reaper's Lantern - // Sudden Blight - // Vomit Swarm - // Web - maybe too difficult public static void RegisterSpells() { @@ -539,6 +536,31 @@ await caster.Battle.AskForConfirmation(caster, IllustrationName.Soothe, "Do you }).ToArray()).WithCreateVariantDescription((_, variant) => RulesBlock.CreateCreatureDescription(MonsterStatBlocks.MonsterExemplarsByName[variant!.Id])).WithEffectOnChosenTargets(async (spell, caster, targets) => await CommonSpellEffects.SummonMonster(spell, caster, targets.ChosenTile!)); }); + // Vomit Swarm + RemasterSpells.RegisterNewSpell("VomitSwarm", 2, (spellId, spellcaster, spellLevel, inCombat, spellInformation) => + { + return Spells.CreateModern(IllustrationName.InsectForm, "Vomit Swarm", [Trait.Concentrate, Trait.Manipulate, Trait.Arcane, Trait.Occult, Trait.Primal, RemasterSpells.Trait.Remaster], + "You belch forth a swarm of magical vermin.", + "You evoke and shape the creatures from your own imagination, allowing you to change the appearance of the creatures (typically a mix of centipedes, roaches, wasps, and worms), but this doesn't change the effect of the spell. " + + "The vermin swarm over anyone in the area, their bites and stings dealing " + S.HeightenedVariable(spellLevel, 2) + "d8 piercing damage (basic Reflex save). " + + "A creature that fails its saving throw also becomes sickened 1. Once the spell ends, the swarm disappears." + + S.HeightenedDamageIncrease(spellLevel, inCombat, "1d8"), + Target.Cone(6), spellLevel, SpellSavingThrow.Basic(Defense.Reflex)).WithSoundEffect(SfxName.AcidSplash) + .WithEffectOnEachTarget(async (CombatAction spell, Creature caster, Creature target, CheckResult checkResult) => + { + if (spell.SpellcastingSource == null) + { + throw new Exception("SpellcastingSource should not be null"); + } + int spellDC = spell.SpellcastingSource.GetSpellSaveDC(); + await CommonSpellEffects.DealBasicDamage(spell, caster, target, checkResult, spellLevel + "d8", DamageKind.Piercing); + if (checkResult == CheckResult.Failure || checkResult == CheckResult.CriticalFailure) + { + target.AddQEffect(QEffect.Sickened(1, spellDC)); + } + }); + }); + } private static Creature CreateIllusoryObject(IllustrationName illustration, string name) diff --git a/Dawnsbury.Mods.Remaster.Spellbook/description.txt b/Dawnsbury.Mods.Remaster.Spellbook/description.txt index 0060410..12cdd54 100644 --- a/Dawnsbury.Mods.Remaster.Spellbook/description.txt +++ b/Dawnsbury.Mods.Remaster.Spellbook/description.txt @@ -67,6 +67,7 @@ Some of these are essentially just a rename of existing spells, but many have ne [*]See the Unseen [*]Spiritual Armament (replaces Spiritual Weapon) [*]Stupefy (replaces Touch of Idiocy) + [*]Vomit Swarm [/list] [h3]Focus[/h3]