New wizard fixes and tweak (#1741)

-fix familiars being hungry and having wrong attack verbs
-add some extra mechanical differences to familiars
-fix some issues with buckling when it comes to jaunt and polymorph
-fix siphon life not working
Fixes #1737
This commit is contained in:
Alberyk
2017-02-11 15:36:45 +02:00
committed by skull132
parent e99ab0ae68
commit decf210cf0
7 changed files with 58 additions and 30 deletions
@@ -18,7 +18,8 @@
/spell/targeted/ethereal_jaunt/cast(list/targets) //magnets, so mostly hardcoded
for(var/mob/living/target in targets)
target.transforming = 1 //protects the mob from being transformed (replaced) midjaunt and getting stuck in bluespace
if(target.buckled) target.buckled = null
if(target.buckled)
target.buckled.unbuckle_mob()
spawn(0)
var/mobloc = get_turf(target.loc)
var/obj/effect/dummy/spell_jaunt/holder = new /obj/effect/dummy/spell_jaunt( mobloc )
@@ -47,25 +47,25 @@
hud_state = "wiz_vampire"
cast_sound = 'sound/magic/enter_blood.ogg'
amt_dam_brute = 15
amt_dam_fire = 15
message = "You feel a sickening feeling as your body weakens."
/spell/targeted/life_steal/cast(var/list/targets, var/mob/living/carbon/human/caster)
for(var/mob/M in targets)
if(!(M.stat == DEAD))
amt_dam_brute = 15
amt_dam_fire = 15
/spell/targeted/life_steal/cast(list/targets, mob/living/user)
for(var/mob/living/M in targets)
if(M.stat == DEAD)
user << "There is no left life to steal."
return
if(isipc(target))
if(isipc(M))
user << "There is no life to steal."
return
M.visible_message("<span class='danger'>Blood flows from \the [M] into \the [caster]!</span>")
caster.adjustBruteLoss(-15)
caster.adjustFireLoss(-15)
M.visible_message("<span class='danger'>Blood flows from \the [M] into \the [user]!</span>")
gibs(M.loc)
user.adjustBruteLoss(-15)
user.adjustFireLoss(-15)
..()
..()
/spell/targeted/raise_dead
name = "Raise Dead"
@@ -139,16 +139,17 @@
invocation_type = SpI_EMOTE
invocation = "entones an obscure chant..."
max_targets = 1
level_max = list(Sp_TOTAL = 0, Sp_SPEED = 0, Sp_POWER = 0)
hud_state = "wiz_lich"
/spell/targeted/lichdom/cast(mob/target,var/mob/living/carbon/human/user as mob)
if(isskeleton(target))
if(isskeleton(user))
user << "You have no soul or life to offer."
return
user.visible_message("<span class='cult'>\The [user]'s skin sloughs off bone, their blood boils and guts turn to dust!</span>")
new /obj/effect/gibspawner/human
gibs(user.loc)
user.verbs += /mob/living/carbon/proc/immortality
user.set_species("Skeleton")
user.unEquip(user.wear_suit)
@@ -23,6 +23,7 @@
amt_stunned = 3
amt_dam_fire = 10
cast_prox_range = 0
/spell/targeted/projectile/magic_missile/prox_cast(var/list/targets, atom/spell_holder)
spell_holder.visible_message("<span class='danger'>\The [spell_holder] pops with a flash!</span>")
+13 -5
View File
@@ -24,6 +24,10 @@
if(M.stat == DEAD)
user << "[name] can only transform living targets."
continue
if(M.buckled)
M.buckled.unbuckle_mob()
var/new_mob = pick(possible_transformations)
var/mob/living/trans = new new_mob(get_turf(M))
@@ -76,7 +80,7 @@
feedback = "BP"
possible_transformations = list(/mob/living/simple_animal/lizard,/mob/living/simple_animal/mouse,/mob/living/simple_animal/corgi)
share_damage = 0
invocation = "Yo'balada!"
invocation_type = SpI_SHOUT
spell_flags = NEEDSCLOTHES | SELECTABLE
@@ -86,6 +90,8 @@
level_max = list(Sp_TOTAL = 2, Sp_SPEED = 2, Sp_POWER = 2)
newVars = list("health" = 50, "maxHealth" = 50)
hud_state = "wiz_poly"
@@ -98,13 +104,15 @@
return "Your target will now stay in their polymorphed form for [duration/10] seconds."
/spell/targeted/shapeshift/avian
name = "Avian Form"
name = "Polymorph"
desc = "This spell transforms the wizard into the common parrot."
feedback = "AV"
possible_transformations = list(/mob/living/simple_animal/parrot)
invocation = "Poli'crakata!"
invocation_type = SpI_SHOUT
drop_items = 0
share_damage = 0
spell_flags = INCLUDEUSER
range = -1
duration = 150
@@ -143,9 +151,9 @@
return "You will now stay corrupted for [duration/10] seconds."
if(2)
newVars = list("name" = "\proper corruption incarnate",
"melee_damage_upper" = 25,
"melee_damage_upper" = 35,
"resistance" = 6,
"health" = 125,
"maxHealth" = 125)
"health" = 250,
"maxHealth" = 250)
duration = 0
return "You revel in the corruption. There is no turning back."