How to use the invocations.TargetEmptySpot function in invocations

To help you get started, we’ve selected a few invocations examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github jwvhewitt / dmeternal / spells / necrospells.py View on Github external
# CIRCLE ONE

ICE_BOLT = Spell( "Icy Bolt",
    "This attack does 1d8 cold damage to a single target.",
    effects.OpposedRoll( att_modifier=15, on_success = (
        effects.HealthDamage( (1,8,0), stat_bonus=stats.INTELLIGENCE, element=stats.RESIST_COLD, anim=animobs.BlueExplosion )
    ,), on_failure = (
        effects.HealthDamage( (1,3,0), stat_bonus=None, element=stats.RESIST_COLD, anim=animobs.BlueExplosion )
    ,) ), rank=1, gems={LUNAR:1,WATER:1}, com_tar=targetarea.SingleTarget(), shot_anim=animobs.BlueBolt, mpfudge=-1,
    ai_tar=invocations.TargetEnemy() )

RAISE_SKELETON = Spell( "Raise Skeleton",
    "You conjure dark forces to animate a skeleton which will fight on your behaf.",
    effects.CallMonster( {context.MTY_UNDEAD: True, context.DES_LUNAR: context.MAYBE, context.GEN_UNDEAD: context.MAYBE}, 2, anim=animobs.PurpleSparkle ),
    rank=1, gems={EARTH:1,LUNAR:1}, com_tar=targetarea.SingleTarget(reach=2), ai_tar=invocations.TargetEmptySpot() )

# CIRCLE 2

RAISE_CORPSE = Spell( "Raise Corpse",
    "You conjure dark forces to animate a lesser undead creature which will fight on your behaf.",
    effects.CallMonster( {context.MTY_UNDEAD: True, context.DES_LUNAR: context.MAYBE, context.GEN_UNDEAD: context.MAYBE}, 4, anim=animobs.PurpleSparkle ),
    rank=2, gems={EARTH:1,LUNAR:1}, com_tar=targetarea.SingleTarget(reach=2), ai_tar=invocations.TargetEmptySpot(), mpfudge=4 )

TOUCH_OF_DEATH = Spell( "Touch of Death",
    "You touch one opponent, delivering the chill of the grave. The target suffers 2d5 cold damage and may be paralyzed.",
    effects.OpposedRoll( att_modifier=10, on_success = (
        effects.HealthDamage( (2,5,0), stat_bonus=stats.INTELLIGENCE, element=stats.RESIST_COLD, anim=animobs.BlueExplosion ),
        effects.Paralyze( max_duration = 3 )
    ,), on_failure = (
        effects.HealthDamage( (2,5,0), stat_bonus=stats.INTELLIGENCE, element=stats.RESIST_COLD, anim=animobs.BlueExplosion )
    ,) ), rank=2, gems={LUNAR:1,WATER:1}, com_tar=targetarea.SingleTarget(reach=1),ai_tar=invocations.TargetEnemy(), mpfudge=-2 )
github jwvhewitt / dmeternal / spells / waterspells.py View on Github external
# CIRCLE SIX

TSUNAMI = Spell( "Tsunami",
    "Conjures a tidal wave which strikes foes for 5d10 water damage.",
    effects.OpposedRoll( on_success = (
        effects.HealthDamage( (5,10,0), stat_bonus=stats.INTELLIGENCE, element=stats.RESIST_WATER, anim=animobs.Bubbles )
    ,), on_failure = (
        effects.HealthDamage( (2,12,1), stat_bonus=None, element=stats.RESIST_WATER, anim=animobs.Bubbles )
    ,) ), rank=6, gems={WATER:3}, com_tar=targetarea.Cone(reach=10),
    ai_tar=invocations.TargetEnemy() )

CALL_WATER_ELEMENTAL = Spell( "Call Water Elemental",
    "This spell will call forth a living embodiment of the seas to do your bidding.",
    effects.CallMonster( {context.DES_WATER: True, context.SUMMON_ELEMENTAL: True }, 12, anim=animobs.GreenSparkle ),
    rank=6, gems={WATER:3}, com_tar=targetarea.SingleTarget(reach=5), ai_tar=invocations.TargetEmptySpot(), mpfudge = 12 )


# CIRCLE SEVEN

HAIL_STORM = Spell( "Hail Storm",
    "Conjures a storm of freezing hail. All targets caught within a 5 tile radius take 10d6 cold damage.",
    effects.OpposedRoll( on_success = (
        effects.HealthDamage( (10,6,0), stat_bonus=stats.INTELLIGENCE, element=stats.RESIST_COLD, anim=animobs.IceStorm )
    ,), on_failure = (
        effects.HealthDamage( (3,10,0), stat_bonus=None, element=stats.RESIST_COLD, anim=animobs.IceStorm )
    ,) ), rank=7, gems={WATER:4}, com_tar=targetarea.Blast(radius=5), shot_anim=animobs.BlueComet, 
    ai_tar=invocations.TargetEnemy(min_distance=6) )


# CIRCLE EIGHT
github jwvhewitt / dmeternal / spells / magespells.py View on Github external
effects.OpposedRoll( on_success = (
            effects.HealthDamage( (2,4,0), stat_bonus=stats.INTELLIGENCE, element=stats.RESIST_FIRE, anim=animobs.RedCloud )
        ,), on_failure = (
            effects.HealthDamage( (1,4,1), stat_bonus=None, element=stats.RESIST_FIRE, anim=animobs.RedCloud )
        ,)),
        effects.Enchant( enchantments.FireSignEn, anim=None )
    ) ), rank=3, gems={AIR:1,FIRE:1}, com_tar=targetarea.SelfCentered(), ai_tar=invocations.TargetEnemy() )

    # Slow (AL)

# CIRCLE FOUR

ANIMATION = Spell( "Animation",
    "This spell will temporarily imbue inanimate objects with life.",
    effects.CallMonster( {context.MTY_CONSTRUCT: True, context.DES_AIR: context.MAYBE, context.DES_FIRE: context.MAYBE}, 8, anim=animobs.RedSparkle ),
    rank=4, gems={AIR:1,FIRE:1}, com_tar=targetarea.SingleTarget(reach=2), ai_tar=invocations.TargetEmptySpot(), mpfudge = 10 )

INCINERATE = Spell( "Incinerate",
    "Eldritch flames envelop a single foe, doing 6d6 fire damage and possibly setting the target alight.",
    effects.OpposedRoll( on_success = (
        effects.HealthDamage( (6,6,0), stat_bonus=stats.INTELLIGENCE, element=stats.RESIST_FIRE, anim=animobs.RedCloud ),
        effects.Enchant( enchantments.BurnLowEn )
    ), on_failure = (
        effects.HealthDamage( (6,6,0), stat_bonus=stats.INTELLIGENCE, element=stats.RESIST_FIRE, anim=animobs.RedCloud ),
    ) ), rank=4, gems={FIRE:1,LUNAR:1}, com_tar=targetarea.SingleTarget(), shot_anim=animobs.FireBolt, ai_tar=invocations.TargetEnemy() )

    # Polymorph (AL)

# CIRCLE FIVE

    # Word of Pain (AL)
    # Unstable Bolt (AF)
github jwvhewitt / dmeternal / spells / druidspells.py View on Github external
rank=3, gems={EARTH:2,SOLAR:1}, com_tar=targetarea.SingleTarget(reach=2), ai_tar=invocations.TargetEmptySpot(), mpfudge = 6 )

SLIMY_WEAPON = Spell( "Slimy Weapon",
    "One ally's weapon will be coated in caustic slime which causes an extra 1d10 acid damage and may corrode an opponent's armor.",
    effects.Enchant( enchantments.AcidWepEn, anim=animobs.OrangeSparkle ),
    rank=3, gems={EARTH:1}, com_tar=targetarea.SingleTarget(),
    ai_tar=invocations.TargetAllyWithoutEnchantment(enchantments.AcidWepEn) )

    # Firebird (FS)

# CIRCLE FOUR

CALL_BEAST = Spell( "Call Beast",
    "This spell will summon a powerful creature to fight on your behaf.",
    effects.CallMonster( {context.MTY_CREATURE: True, context.DES_EARTH: context.MAYBE, context.GEN_NATURE: context.MAYBE, context.DES_SOLAR: context.MAYBE}, 8, anim=animobs.OrangeSparkle ),
    rank=4, gems={EARTH:2,SOLAR:1}, com_tar=targetarea.SingleTarget(reach=2), ai_tar=invocations.TargetEmptySpot(), mpfudge = 9 )

    # Tame Plants (FS)
    # Web (EF)

# CIRCLE FIVE

CALL_MONSTER = Spell( "Call Monster",
    "This spell will summon a powerful monster to fight on your behaf.",
    effects.CallMonster( {context.MTY_CREATURE: True, context.DES_EARTH: context.MAYBE, context.GEN_NATURE: context.MAYBE, context.DES_SOLAR: context.MAYBE}, 10, anim=animobs.OrangeSparkle ),
    rank=5, gems={EARTH:2,SOLAR:2}, com_tar=targetarea.SingleTarget(reach=2), ai_tar=invocations.TargetEmptySpot(), mpfudge = 10 )

ELEMENTAL_STORM = Spell( "Elemental Storm",
    "The wrath of nature is brought to bear on your foes. All targets within a 3 tile radius take 2d4 damage from each of fire, cold, lightning, and acid.",
    effects.OpposedRoll( on_success = (
        effects.HealthDamage( (2,4,0), stat_bonus=stats.INTELLIGENCE, element=stats.RESIST_FIRE, anim=animobs.OrangeExplosion ),
        effects.HealthDamage( (2,4,0), stat_bonus=stats.INTELLIGENCE, element=stats.RESIST_COLD, anim=animobs.BlueBoom ),
github jwvhewitt / dmeternal / spells / earthspells.py View on Github external
import stats
import context
import invocations

# CIRCLE 1

EARTHBIND = Spell( "Earthbind",
    "Conjures plants which grab at travelers, making passage through the area very difficult.",
    effects.PlaceField( enchantments.Entanglement, anim=animobs.OrangeSparkle ),
    rank=1, gems={EARTH:1}, com_tar=targetarea.Blast(radius=4), mpfudge=1,
    ai_tar=invocations.TargetEnemyWithoutField(enchantments.Entanglement,5) )

CALL_CRITTER = Spell( "Call Critter",
    "This spell will summon a small woodland creature to fight on your behaf.",
    effects.CallMonster( {context.MTY_CREATURE: True, context.DES_EARTH: context.MAYBE, context.GEN_NATURE: context.MAYBE}, 2, anim=animobs.OrangeSparkle ),
    rank=1, gems={EARTH:1}, com_tar=targetarea.SingleTarget(reach=2), ai_tar=invocations.TargetEmptySpot(), mpfudge = 3 )

# CIRCLE 2

ACID_BOLT = Spell( "Acid Bolt",
    "This attack does 2d5 acid damage to a single target, and may corrode the target's armor.",
    effects.OpposedRoll( on_success = (
        effects.HealthDamage( (2,5,0), stat_bonus=stats.INTELLIGENCE, element=stats.RESIST_ACID, anim=animobs.GreenExplosion ),
        effects.OpposedRoll( def_stat=stats.TOUGHNESS, on_success = (
            effects.Enchant( enchantments.ArmorDamage, anim=animobs.OrangeSparkle )
        ,))
    ), on_failure = (
        effects.HealthDamage( (1,5,0), stat_bonus=None, element=stats.RESIST_ACID, anim=animobs.GreenExplosion )
    ,) ), rank=2, gems={EARTH:1}, com_tar=targetarea.SingleTarget(), shot_anim=animobs.GreenSpray,
    ai_tar=invocations.TargetEnemy() )

BEASTLY_MIGHT = Spell( "Beastly Might",
github jwvhewitt / dmeternal / spells / firespells.py View on Github external
HEAT_WAVE = Spell( "Heat Wave",
    "A rapidly expanding wall of heat is projected from your hands. Anyone standing in its way takes 6d6 points of fire damage.",
    effects.OpposedRoll( on_success = (
        effects.HealthDamage( (6,6,0), stat_bonus=stats.INTELLIGENCE, element=stats.RESIST_FIRE, anim=animobs.DragonFire )
    ,), on_failure = (
        effects.HealthDamage( (3,6,0), stat_bonus=None, element=stats.RESIST_FIRE, anim=animobs.DragonFire )
    ,) ), rank=5, gems={FIRE:3}, com_tar=targetarea.Cone(), ai_tar=invocations.TargetEnemy() )


# CIRCLE 6

CALL_FIRE_ELEMENTAL = Spell( "Call Fire Elemental",
    "This spell will call forth a living vortex of fire to serve you for the duration of combat.",
    effects.CallMonster( {context.DES_FIRE: True, context.SUMMON_ELEMENTAL: True }, 12, anim=animobs.RedSparkle ),
    rank=6, gems={FIRE:3}, com_tar=targetarea.SingleTarget(reach=5), ai_tar=invocations.TargetEmptySpot(), mpfudge = 12 )

    # Quickness

# CIRCLE SEVEN

DISINTEGRATION = Spell( "Disintegration",
    "The primal flames of the universe are called forth to reduce a single target to dust. This spell does 10d10 atomic damage on a successful hit.",
    effects.OpposedRoll( att_modifier=10, def_stat=stats.REFLEXES, on_success = (
        effects.HealthDamage( (10,10,0), stat_bonus=stats.INTELLIGENCE, element=stats.RESIST_ATOMIC, anim=animobs.Nuclear )
    ,), on_failure = (
        effects.NoEffect( anim=animobs.SmallBoom )
    ,) ), rank=7, gems={FIRE:3}, com_tar=targetarea.SingleTarget(), shot_anim=animobs.Fireball, ai_tar=invocations.TargetEnemy() )


# CIRCLE EIGHT
github jwvhewitt / dmeternal / spells / druidspells.py View on Github external
ACID_SPRAY = Spell( "Acid Spray",
    "A stream of acid sprays forth, burning enemies for 1d6 damage. This spell has a short range but can affect several targets.",
    effects.OpposedRoll( on_success = (
        effects.HealthDamage( (1,6,0), stat_bonus=stats.INTELLIGENCE, element=stats.RESIST_ACID, anim=animobs.GreenExplosion )
    ,), on_failure = (
        effects.HealthDamage( (1,2,0), stat_bonus=None, element=stats.RESIST_ACID, anim=animobs.GreenExplosion )
    ,) ), rank=1, gems={FIRE:1,EARTH:1}, com_tar=targetarea.Cone(reach=3), ai_tar=invocations.TargetEnemy() )


# CIRCLE TWO

CALL_ANIMAL = Spell( "Call Animal",
    "This spell will summon a natural creature to fight on your behaf.",
    effects.CallMonster( {context.MTY_CREATURE: True, context.DES_EARTH: context.MAYBE, context.GEN_NATURE: context.MAYBE, context.DES_SOLAR: context.MAYBE}, 4, anim=animobs.OrangeSparkle ),
    rank=2, gems={EARTH:1,SOLAR:1}, com_tar=targetarea.SingleTarget(reach=2), ai_tar=invocations.TargetEmptySpot(), mpfudge = 4 )

    # Tame Animal (FS)
    # Wolf Form (EF)

# CIRCLE THREE

CALL_CREATURE = Spell( "Call Creature",
    "This spell will summon a large natural creature to fight on your behaf.",
    effects.CallMonster( {context.MTY_CREATURE: True, context.DES_EARTH: context.MAYBE, context.GEN_NATURE: context.MAYBE, context.DES_SOLAR: context.MAYBE}, 6, anim=animobs.OrangeSparkle ),
    rank=3, gems={EARTH:2,SOLAR:1}, com_tar=targetarea.SingleTarget(reach=2), ai_tar=invocations.TargetEmptySpot(), mpfudge = 6 )

SLIMY_WEAPON = Spell( "Slimy Weapon",
    "One ally's weapon will be coated in caustic slime which causes an extra 1d10 acid damage and may corrode an opponent's armor.",
    effects.Enchant( enchantments.AcidWepEn, anim=animobs.OrangeSparkle ),
    rank=3, gems={EARTH:1}, com_tar=targetarea.SingleTarget(),
    ai_tar=invocations.TargetAllyWithoutEnchantment(enchantments.AcidWepEn) )
github jwvhewitt / dmeternal / spells / airspells.py View on Github external
DISMISSAL = Spell( "Dismissal",
    "Forces one demon, elemental, or spirit to leave the mortal realm and return to its home plane.",
    effects.TargetIs( effects.OTHERWORLDLY, anim=animobs.BlueSparkle, on_true=(
        effects.OpposedRoll( on_success = (
            effects.InstaKill( anim=animobs.CriticalHit )
        ,), on_failure = (
            effects.HealthDamage( (3,12,0), stat_bonus=stats.INTELLIGENCE, element=stats.RESIST_SOLAR, anim=animobs.YellowExplosion ), )
        ),
        ), on_false = (effects.NoEffect( anim=animobs.Caption ),)
    ), rank=6, gems={AIR:2}, com_tar=targetarea.SingleTarget(), shot_anim=animobs.MysticBolt )

CALL_AIR_ELEMENTAL = Spell( "Call Air Elemental",
    "This spell will summon a living embodiment of the skies to fight on your behalf.",
    effects.CallMonster( {context.DES_AIR: True, context.SUMMON_ELEMENTAL: True }, 12, anim=animobs.BlueSparkle ),
    rank=6, gems={AIR:3}, com_tar=targetarea.SingleTarget(reach=5), ai_tar=invocations.TargetEmptySpot(), mpfudge = 12 )



# CIRCLE SEVEN

    # Identify All


# CIRCLE EIGHT

THUNDER_STORM = Spell( "Thunder Storm",
    "Calls down the wrath of the heavens. All targets within a 5 tile radius will be struck for 10d8 lightning damage.",
    effects.OpposedRoll( on_success = (
        effects.HealthDamage( (10,8,0), stat_bonus=stats.INTELLIGENCE, element=stats.RESIST_LIGHTNING, anim=animobs.ThunderStorm )
    ,), on_failure = (
        effects.HealthDamage( (4,10,0), stat_bonus=None, element=stats.RESIST_LIGHTNING, anim=animobs.ThunderStorm )