Merge pull request #6448 from uraniummeltdown/rodform

Wizard Rod Form
This commit is contained in:
Fox McCloud
2017-02-16 11:49:07 -05:00
committed by GitHub
5 changed files with 55 additions and 4 deletions
+43
View File
@@ -0,0 +1,43 @@
/obj/effect/proc_holder/spell/targeted/rod_form
name = "Rod Form"
desc = "Take on the form of an immovable rod, destroying all in your path."
clothes_req = 1
human_req = 0
charge_max = 600
cooldown_min = 200
range = -1
include_user = 1
invocation = "CLANG!"
invocation_type = "shout"
action_icon_state = "immrod"
/obj/effect/proc_holder/spell/targeted/rod_form/cast(list/targets,mob/user = usr)
for(var/mob/living/M in targets)
var/turf/start = get_turf(M)
var/obj/effect/immovablerod/wizard/W = new(start, get_ranged_target_turf(M, M.dir, (15 + spell_level * 3)))
W.wizard = M
W.max_distance += spell_level * 3 //You travel farther when you upgrade the spell
W.start_turf = start
M.forceMove(W)
M.notransform = 1
M.status_flags |= GODMODE
//Wizard Version of the Immovable Rod
/obj/effect/immovablerod/wizard
var/max_distance = 13
var/mob/living/wizard
var/turf/start_turf
notify = FALSE
/obj/effect/immovablerod/wizard/Move()
if(get_dist(start_turf, get_turf(src)) >= max_distance)
qdel(src)
..()
/obj/effect/immovablerod/wizard/Destroy()
if(wizard)
wizard.status_flags &= ~GODMODE
wizard.notransform = 0
wizard.forceMove(get_turf(src))
return ..()
+6 -1
View File
@@ -106,6 +106,11 @@
spell_type = /obj/effect/proc_holder/spell/fireball
log_name = "FB"
/datum/spellbook_entry/rod_form
name = "Rod Form"
spell_type = /obj/effect/proc_holder/spell/targeted/rod_form
log_name = "RF"
/datum/spellbook_entry/magicm
name = "Magic Missile"
spell_type = /obj/effect/proc_holder/spell/targeted/projectile/magic_missile
@@ -853,7 +858,7 @@
spellname = "disintegrate"
icon_state ="bookfireball"
desc = "This book feels like it will rip stuff apart."
/obj/item/weapon/spellbook/oneuse/sacredflame
spell = /obj/effect/proc_holder/spell/targeted/sacred_flame
spellname = "sacred flame"
+5 -3
View File
@@ -29,14 +29,16 @@ In my current plan for it, 'solid' will be defined as anything with density == 1
anchored = 1
var/z_original = 0
var/destination
var/notify = TRUE
/obj/effect/immovablerod/New(atom/start, atom/end)
loc = start
z_original = z
destination = end
notify_ghosts("\A [src] is inbound!",
enter_link="<a href=?src=[UID()];follow=1>(Click to follow)</a>",
source=src, action=NOTIFY_FOLLOW)
if(notify)
notify_ghosts("\A [src] is inbound!",
enter_link="<a href=?src=[UID()];follow=1>(Click to follow)</a>",
source=src, action=NOTIFY_FOLLOW)
poi_list |= src
if(end && end.z==z_original)
walk_towards(src, destination, 1)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

After

Width:  |  Height:  |  Size: 86 KiB

+1
View File
@@ -306,6 +306,7 @@
#include "code\datums\spells\mind_transfer.dm"
#include "code\datums\spells\projectile.dm"
#include "code\datums\spells\rathens.dm"
#include "code\datums\spells\rod_form.dm"
#include "code\datums\spells\shapeshift.dm"
#include "code\datums\spells\summonitem.dm"
#include "code\datums\spells\touch_attacks.dm"