Files
CHOMPStation2/code/modules/spells/spell_projectile.dm
PsiOmegaDelta 3185005496 Fixes #10410. Fixes #10411.
Removes improper code, that would cause spell projectiles to be deleted pre-maturely as well as cast the spell effect all too often.
Also removes completely unused code.
2015-08-11 13:36:56 +02:00

56 lines
1.5 KiB
Plaintext

/obj/item/projectile/spell_projectile
name = "spell"
icon = 'icons/obj/projectiles.dmi'
nodamage = 1 //Most of the time, anyways
var/spell/targeted/projectile/carried
penetrating = 0
kill_count = 10 //set by the duration of the spell
var/proj_trail = 0 //if it leaves a trail
var/proj_trail_lifespan = 0 //deciseconds
var/proj_trail_icon = 'icons/obj/wizard.dmi'
var/proj_trail_icon_state = "trail"
var/list/trails = new()
/obj/item/projectile/spell_projectile/Destroy()
for(var/trail in trails)
qdel(trail)
carried = null
return ..()
/obj/item/projectile/spell_projectile/ex_act()
return
/obj/item/projectile/spell_projectile/before_move()
if(proj_trail && src && src.loc) //pretty trails
var/obj/effect/overlay/trail = PoolOrNew(/obj/effect/overlay, src.loc)
trails += trail
trail.icon = proj_trail_icon
trail.icon_state = proj_trail_icon_state
trail.density = 0
spawn(proj_trail_lifespan)
trails -= trail
qdel(trail)
/obj/item/projectile/spell_projectile/proc/prox_cast(var/list/targets)
if(loc)
carried.prox_cast(targets, src)
qdel(src)
return
/obj/item/projectile/spell_projectile/Bump(var/atom/A)
if(loc && carried)
prox_cast(carried.choose_prox_targets(user = carried.holder, spell_holder = src))
return 1
/obj/item/projectile/spell_projectile/on_impact()
if(loc && carried)
prox_cast(carried.choose_prox_targets(user = carried.holder, spell_holder = src))
return 1
/obj/item/projectile/spell_projectile/seeking
name = "seeking spell"