Ports Biotypes (#15471)

* Ports Biotypes

* styling

* converts a species trait

* comment
This commit is contained in:
Fox McCloud
2021-02-25 15:55:55 +00:00
committed by GitHub
parent 30194fedd3
commit 07d505b33b
75 changed files with 175 additions and 53 deletions
+17 -7
View File
@@ -66,12 +66,17 @@
max_charges = 3 //3, 2, 2, 1
/obj/item/gun/magic/wand/death/zap_self(mob/living/user)
var/message ="<span class='warning'>You irradiate yourself with pure energy! "
message += pick("Do not pass go. Do not collect 200 zorkmids.</span>","You feel more confident in your spell casting skills.</span>","You Die...</span>","Do you want your possessions identified?</span>")
to_chat(user, message)
user.adjustFireLoss(3000)
charges--
..()
charges--
if(isliving(user))
if(user.mob_biotypes & MOB_UNDEAD) //negative energy heals the undead
user.revive()
to_chat(user, "<span class='notice'>You feel great!</span>")
return
to_chat(user, "<span class='warning'>You irradiate yourself with pure negative energy! [pick("Do not pass go. Do not collect 200 zorkmids.", "You feel more confident in your spell casting skills.", "You Die...", "Do you want your possessions identified?")]</span>")
if(ismachineperson(user)) //speshul snowfleks deserv speshul treetment
user.adjustFireLoss(6969)
user.death(FALSE)
/////////////////////////////////////
//WAND OF HEALING
@@ -86,10 +91,15 @@
max_charges = 3 //3, 2, 2, 1
/obj/item/gun/magic/wand/resurrection/zap_self(mob/living/user)
..()
charges--
if(isliving(user))
if(user.mob_biotypes & MOB_UNDEAD) //positive energy harms the undead
to_chat(user, "<span class='warning'>You irradiate yourself with pure positive energy! [pick("Do not pass go. Do not collect 200 zorkmids.", "You feel more confident in your spell casting skills.", "You Die...", "Do you want your possessions identified?")]</span>")
user.death(FALSE)
return
user.revive()
to_chat(user, "<span class='notice'>You feel great!</span>")
charges--
..()
/////////////////////////////////////
//WAND OF POLYMORPH
+29 -19
View File
@@ -25,15 +25,21 @@
var/exp_flash = 3
var/exp_fire = 2
/obj/item/projectile/magic/death/on_hit(mob/living/carbon/C)
/obj/item/projectile/magic/death/on_hit(mob/living/carbon/target)
. = ..()
if(isliving(C))
if(ismachineperson(C)) //speshul snowfleks deserv speshul treetment
C.adjustFireLoss(6969) //remember - slimes love fire
else
C.death()
if(isliving(target))
if(target.mob_biotypes & MOB_UNDEAD) //negative energy heals the undead
if(target.revive())
target.grab_ghost(force = TRUE) // even suicides
to_chat(target, "<span class='notice'>You rise with a start, you're undead!!!</span>")
else if(target.stat != DEAD)
to_chat(target, "<span class='notice'>You feel great!</span>")
return
if(ismachineperson(target)) //speshul snowfleks deserv speshul treetment
target.adjustFireLoss(6969) //remember - slimes love fire
target.death(FALSE)
visible_message("<span class='danger'>[C] topples backwards as the death bolt impacts [C.p_them()]!</span>")
target.visible_message("<span class='danger'>[target] topples backwards as the death bolt impacts [target.p_them()]!</span>")
/obj/item/projectile/magic/fireball/Range()
var/turf/T1 = get_step(src,turn(dir, -45))
@@ -73,21 +79,25 @@
name = "bolt of resurrection"
icon_state = "ion"
/obj/item/projectile/magic/resurrection/on_hit(var/mob/living/carbon/target)
/obj/item/projectile/magic/resurrection/on_hit(mob/living/carbon/target)
. = ..()
if(ismob(target))
var/old_stat = target.stat
target.suiciding = 0
target.revive()
if(!target.ckey)
for(var/mob/dead/observer/ghost in GLOB.player_list)
if(target.real_name == ghost.real_name)
ghost.reenter_corpse()
break
if(old_stat != DEAD)
to_chat(target, "<span class='notice'>You feel great!</span>")
if(target.mob_biotypes & MOB_UNDEAD) //positive energy harms the undead
target.death(FALSE)
target.visible_message("<span class='danger'>[target] topples backwards as the death bolt impacts [target.p_them()]!</span>")
else
to_chat(target, "<span class='notice'>You rise with a start, you're alive!!!</span>")
var/old_stat = target.stat
target.suiciding = FALSE
target.revive()
if(!target.ckey)
for(var/mob/dead/observer/ghost in GLOB.player_list)
if(target.real_name == ghost.real_name)
ghost.reenter_corpse()
break
if(old_stat != DEAD)
to_chat(target, "<span class='notice'>You feel great!</span>")
else
to_chat(target, "<span class='notice'>You rise with a start, you're alive!!!</span>")
/obj/item/projectile/magic/teleport
name = "bolt of teleportation"