Shielding Auras (#8760)

Ports Baystation12/Baystation12#19992 and Baystation12/Baystation12#27266.

    Added a personal shield device to the traitor tools uplink.
    Added a radiant shielding aura spell to Battlemage and Cleric.
    Added an exosuit shield drone to the mechfab.

This works, but I'm not entirely happy with the sprites. The personal shield has no on-mob shimmer, it uses a mindbatterer grenade as an icon sprite. The wizard radiant spell uses a pretty big and janky sprite as an on-mob, and the exosuit's shield sprite doesn't follow the dir the mech faces, but that one I can maybe fix on my own. If anyone knows about that last one, lemme know, Bay had code for it that we do not.
This commit is contained in:
Geeves
2020-05-15 22:37:27 +02:00
committed by GitHub
parent 3a4dc8e0f2
commit 097ea6cfbc
27 changed files with 439 additions and 128 deletions
@@ -22,6 +22,7 @@
/spell/aoe_turf/conjure/mirage = 1,
/spell/targeted/shapeshift/corrupt_form = 1,
/spell/targeted/flesh_to_stone = 1,
/spell/radiant_aura = 1,
/spell/noclothes = 1,
/obj/structure/closet/wizard/armor = 1,
/obj/item/gun/energy/staff/focus = 1,
@@ -24,6 +24,7 @@
/spell/aoe_turf/knock = 1,
/spell/targeted/equip_item/holy_relic = 1,
/spell/aoe_turf/conjure/grove/sanctuary = 1,
/spell/radiant_aura = 1,
/spell/targeted/projectile/dumbfire/fireball = 2,
/spell/aoe_turf/conjure/forcewall = 1,
/spell/targeted/subjugation = 1,
@@ -0,0 +1,27 @@
/spell/radiant_aura
name = "Radiant Aura"
desc = "Form a protective layer of light around you, making you immune to laser fire."
school = "transmutation"
feedback = "ra"
invocation_type = SpI_EMOTE
invocation = "conjures a sphere of fire around themselves."
school = "conjuration"
spell_flags = NEEDSCLOTHES
charge_max = 300
cooldown_min = 200
level_max = list(Sp_TOTAL = 2, Sp_SPEED = 2, Sp_POWER = 0)
cast_sound = 'sound/effects/snap.ogg'
duration = 250
hud_state = "gen_immolate"
/spell/radiant_aura/choose_targets()
return list(holder)
/spell/radiant_aura/cast(var/list/targets, mob/user)
var/obj/aura/radiant_aura/A = new /obj/aura/radiant_aura(user)
A.added_to(user)
QDEL_IN(A, duration)
/spell/radiant_aura/starlight
spell_flags = 0
charge_max = 400