Shocking Grasp renamed Disintegrate. Effects are slightly changed and the target is turned into a pile of dust instead of gibbed.
Moved contents of oil.dmi into robots.dmi for consistency. Deleted oil.dmi. New alien gibs as well as gibing animations for monkeys, aliens, and robots. Disintegrate animations for monkeys, aliens, robots, and humans. Updated clean bot to remove robot and alien gibs/blood/oil. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@588 316c924e-a436-60f5-8080-3fe189b3f50e
@@ -15,6 +15,8 @@
|
|||||||
/obj/decal/cleanable
|
/obj/decal/cleanable
|
||||||
var/list/random_icon_states = list()
|
var/list/random_icon_states = list()
|
||||||
|
|
||||||
|
//HUMANS
|
||||||
|
|
||||||
/obj/decal/cleanable/blood
|
/obj/decal/cleanable/blood
|
||||||
name = "Blood"
|
name = "Blood"
|
||||||
desc = "It's red."
|
desc = "It's red."
|
||||||
@@ -33,22 +35,6 @@
|
|||||||
virus.cure(0)
|
virus.cure(0)
|
||||||
..()
|
..()
|
||||||
|
|
||||||
/obj/decal/cleanable/xenoblood
|
|
||||||
name = "Xeno blood"
|
|
||||||
desc = "It's green."
|
|
||||||
density = 0
|
|
||||||
anchored = 1
|
|
||||||
layer = 2
|
|
||||||
icon = 'blood.dmi'
|
|
||||||
icon_state = "xfloor1"
|
|
||||||
random_icon_states = list("xfloor1", "xfloor2", "xfloor3", "xfloor4", "xfloor5", "xfloor6", "xfloor7")
|
|
||||||
var/datum/disease/virus = null
|
|
||||||
|
|
||||||
Del()
|
|
||||||
if(virus)
|
|
||||||
virus.cure(0)
|
|
||||||
..()
|
|
||||||
|
|
||||||
/obj/decal/cleanable/blood/splatter
|
/obj/decal/cleanable/blood/splatter
|
||||||
random_icon_states = list("gibbl1", "gibbl2", "gibbl3", "gibbl4", "gibbl5")
|
random_icon_states = list("gibbl1", "gibbl2", "gibbl3", "gibbl4", "gibbl5")
|
||||||
|
|
||||||
@@ -75,6 +61,49 @@
|
|||||||
/obj/decal/cleanable/blood/gibs/core
|
/obj/decal/cleanable/blood/gibs/core
|
||||||
random_icon_states = list("gibmid1", "gibmid2", "gibmid3")
|
random_icon_states = list("gibmid1", "gibmid2", "gibmid3")
|
||||||
|
|
||||||
|
//ALIENS
|
||||||
|
|
||||||
|
/obj/decal/cleanable/xenoblood
|
||||||
|
name = "xeno blood"
|
||||||
|
desc = "It's green."
|
||||||
|
density = 0
|
||||||
|
anchored = 1
|
||||||
|
layer = 2
|
||||||
|
icon = 'blood.dmi'
|
||||||
|
icon_state = "xfloor1"
|
||||||
|
random_icon_states = list("xfloor1", "xfloor2", "xfloor3", "xfloor4", "xfloor5", "xfloor6", "xfloor7")
|
||||||
|
var/datum/disease/virus = null
|
||||||
|
|
||||||
|
Del()
|
||||||
|
if(virus)
|
||||||
|
virus.cure(0)
|
||||||
|
..()
|
||||||
|
|
||||||
|
/obj/decal/cleanable/xenoblood/xsplatter
|
||||||
|
random_icon_states = list("xgibbl1", "xgibbl2", "xgibbl3", "xgibbl4", "xgibbl5")
|
||||||
|
|
||||||
|
/obj/decal/cleanable/xenoblood/xgibs
|
||||||
|
name = "xeno gibs"
|
||||||
|
desc = "Gnarly..."
|
||||||
|
icon = 'blood.dmi'
|
||||||
|
icon_state = "xgib1"
|
||||||
|
random_icon_states = list("xgib1", "xgib2", "xgib3", "xgib4", "xgib5", "xgib6")
|
||||||
|
|
||||||
|
/obj/decal/cleanable/xenoblood/xgibs/body
|
||||||
|
random_icon_states = list("xgibhead", "xgibtorso")
|
||||||
|
|
||||||
|
/obj/decal/cleanable/xenoblood/xgibs/limb
|
||||||
|
random_icon_states = list("xgibleg", "xgibarm")
|
||||||
|
|
||||||
|
/obj/decal/cleanable/xenoblood/xgibs/core
|
||||||
|
random_icon_states = list("xgibmid1", "xgibmid2", "xgibmid3")
|
||||||
|
|
||||||
|
/obj/decal/cleanable/blood/xtracks
|
||||||
|
icon_state = "xtracks"
|
||||||
|
random_icon_states = null
|
||||||
|
|
||||||
|
//ROBOTS
|
||||||
|
|
||||||
/obj/decal/cleanable/robot_debris
|
/obj/decal/cleanable/robot_debris
|
||||||
name = "robot debris"
|
name = "robot debris"
|
||||||
desc = "Useless heap of junk."
|
desc = "Useless heap of junk."
|
||||||
@@ -94,7 +123,7 @@
|
|||||||
density = 0
|
density = 0
|
||||||
anchored = 1
|
anchored = 1
|
||||||
layer = 2
|
layer = 2
|
||||||
icon = 'oil.dmi'
|
icon = 'robots.dmi'
|
||||||
icon_state = "floor1"
|
icon_state = "floor1"
|
||||||
var/datum/disease/virus = null
|
var/datum/disease/virus = null
|
||||||
random_icon_states = list("floor1", "floor2", "floor3", "floor4", "floor5", "floor6", "floor7")
|
random_icon_states = list("floor1", "floor2", "floor3", "floor4", "floor5", "floor6", "floor7")
|
||||||
@@ -107,6 +136,8 @@
|
|||||||
/obj/decal/cleanable/oil/streak
|
/obj/decal/cleanable/oil/streak
|
||||||
random_icon_states = list("streak1", "streak2", "streak3", "streak4", "streak5")
|
random_icon_states = list("streak1", "streak2", "streak3", "streak4", "streak5")
|
||||||
|
|
||||||
|
//OTHER
|
||||||
|
|
||||||
/obj/decal/cleanable/generic
|
/obj/decal/cleanable/generic
|
||||||
name = "clutter"
|
name = "clutter"
|
||||||
desc = "Someone should clean that up."
|
desc = "Someone should clean that up."
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/mob/proc/kill(mob/M as mob in oview(1))
|
/mob/proc/kill(mob/M as mob in oview(1))
|
||||||
set category = "Spells"
|
set category = "Spells"
|
||||||
set name = "Shocking Grasp"
|
set name = "Disintegrate"
|
||||||
if(usr.stat)
|
if(usr.stat)
|
||||||
usr << "Not when you're incapicated."
|
usr << "Not when you're incapicated."
|
||||||
return
|
return
|
||||||
@@ -26,4 +26,4 @@
|
|||||||
s.set_up(4, 1, M)
|
s.set_up(4, 1, M)
|
||||||
s.start()
|
s.start()
|
||||||
|
|
||||||
M.gib(1)
|
M.dust()
|
||||||
|
|||||||
@@ -343,7 +343,7 @@
|
|||||||
dat += "<I>Each item costs 1 telecrystal. The number afterwards is the cooldown time.</I><BR>"
|
dat += "<I>Each item costs 1 telecrystal. The number afterwards is the cooldown time.</I><BR>"
|
||||||
dat += "<A href='byond://?src=\ref[src];spell_magicmissile=1'>Magic Missile</A> (10)<BR>"
|
dat += "<A href='byond://?src=\ref[src];spell_magicmissile=1'>Magic Missile</A> (10)<BR>"
|
||||||
dat += "<A href='byond://?src=\ref[src];spell_fireball=1'>Fireball</A> (10)<BR>"
|
dat += "<A href='byond://?src=\ref[src];spell_fireball=1'>Fireball</A> (10)<BR>"
|
||||||
dat += "<A href='byond://?src=\ref[src];spell_shock=1'>Shocking Grasp</A> (60)<BR>"
|
dat += "<A href='byond://?src=\ref[src];spell_disintegrate=1'>Disintegrate</A> (60)<BR>"
|
||||||
dat += "<A href='byond://?src=\ref[src];spell_emp=1'>Disable Technology</A> (60)<BR>"
|
dat += "<A href='byond://?src=\ref[src];spell_emp=1'>Disable Technology</A> (60)<BR>"
|
||||||
dat += "<A href='byond://?src=\ref[src];spell_smoke=1'>Smoke</A> (10)<BR>"
|
dat += "<A href='byond://?src=\ref[src];spell_smoke=1'>Smoke</A> (10)<BR>"
|
||||||
dat += "<A href='byond://?src=\ref[src];spell_blind=1'>Blind</A> (30)<BR>"
|
dat += "<A href='byond://?src=\ref[src];spell_blind=1'>Blind</A> (30)<BR>"
|
||||||
@@ -381,7 +381,7 @@
|
|||||||
src.uses -= 1
|
src.uses -= 1
|
||||||
usr.verbs += /client/proc/fireball
|
usr.verbs += /client/proc/fireball
|
||||||
src.temp = "This spell fires a fireball at a target. Be careful not to fire it at people that are standing next to you."
|
src.temp = "This spell fires a fireball at a target. Be careful not to fire it at people that are standing next to you."
|
||||||
else if (href_list["spell_shock"])
|
else if (href_list["spell_disintegrate"])
|
||||||
if (src.uses >= 1)
|
if (src.uses >= 1)
|
||||||
src.uses -= 1
|
src.uses -= 1
|
||||||
usr.verbs += /mob/proc/kill
|
usr.verbs += /mob/proc/kill
|
||||||
@@ -490,7 +490,7 @@
|
|||||||
src.menu_message += "<I>Each item costs 1 telecrystal. The number afterwards is the cooldown time.</I><BR>"
|
src.menu_message += "<I>Each item costs 1 telecrystal. The number afterwards is the cooldown time.</I><BR>"
|
||||||
src.menu_message += "<A href='byond://?src=\ref[src];buy_spell=magicmissile'>Magic Missile</A> (10)<BR>"
|
src.menu_message += "<A href='byond://?src=\ref[src];buy_spell=magicmissile'>Magic Missile</A> (10)<BR>"
|
||||||
src.menu_message += "<A href='byond://?src=\ref[src];buy_spell=fireball'>Fireball</A> (10)<BR>"
|
src.menu_message += "<A href='byond://?src=\ref[src];buy_spell=fireball'>Fireball</A> (10)<BR>"
|
||||||
src.menu_message += "<A href='byond://?src=\ref[src];buy_spell=shock'>Shocking Grasp</A> (60)<BR>"
|
src.menu_message += "<A href='byond://?src=\ref[src];buy_spell=disintegrate'>Disintegrate</A> (60)<BR>"
|
||||||
src.menu_message += "<A href='byond://?src=\ref[src];buy_spell=emp'>Disable Technology</A> (60)<BR>"
|
src.menu_message += "<A href='byond://?src=\ref[src];buy_spell=emp'>Disable Technology</A> (60)<BR>"
|
||||||
src.menu_message += "<A href='byond://?src=\ref[src];buy_spell=smoke'>Smoke</A> (10)<BR>"
|
src.menu_message += "<A href='byond://?src=\ref[src];buy_spell=smoke'>Smoke</A> (10)<BR>"
|
||||||
src.menu_message += "<A href='byond://?src=\ref[src];buy_spell=blind'>Blind</A> (30)<BR>"
|
src.menu_message += "<A href='byond://?src=\ref[src];buy_spell=blind'>Blind</A> (30)<BR>"
|
||||||
@@ -522,11 +522,11 @@
|
|||||||
src.uses -= 1
|
src.uses -= 1
|
||||||
usr.verbs += /client/proc/fireball
|
usr.verbs += /client/proc/fireball
|
||||||
src.temp = "This spell fires a fireball at a target. Be careful not to fire it at people that are standing next to you."
|
src.temp = "This spell fires a fireball at a target. Be careful not to fire it at people that are standing next to you."
|
||||||
if("shock")
|
if("disintegrate")
|
||||||
if (src.uses >= 1)
|
if (src.uses >= 1)
|
||||||
src.uses -= 1
|
src.uses -= 1
|
||||||
usr.verbs += /mob/proc/kill
|
usr.verbs += /mob/proc/kill
|
||||||
src.temp = "This spell instantly kills somebody standing next to you. It has a long cooldown."
|
src.temp = "This spell instantly kills somebody adjacent to you with the vilest of magick. It has a long cooldown."
|
||||||
if("emp")
|
if("emp")
|
||||||
if (src.uses >= 1)
|
if (src.uses >= 1)
|
||||||
src.uses -= 1
|
src.uses -= 1
|
||||||
|
|||||||
@@ -189,9 +189,13 @@ text("<A href='?src=\ref[src];operation=oddbutton'>[src.oddbutton ? "Yes" : "No"
|
|||||||
/obj/machinery/bot/cleanbot/proc/get_targets()
|
/obj/machinery/bot/cleanbot/proc/get_targets()
|
||||||
src.target_types = new/list()
|
src.target_types = new/list()
|
||||||
if(src.blood)
|
if(src.blood)
|
||||||
|
|
||||||
target_types += /obj/decal/cleanable/xenoblood/
|
target_types += /obj/decal/cleanable/xenoblood/
|
||||||
|
target_types += /obj/decal/cleanable/xenoblood/xgibs
|
||||||
target_types += /obj/decal/cleanable/blood/
|
target_types += /obj/decal/cleanable/blood/
|
||||||
target_types += /obj/decal/cleanable/blood/gibs/
|
target_types += /obj/decal/cleanable/blood/gibs/
|
||||||
|
target_types += /obj/decal/cleanable/oil
|
||||||
|
target_types += /obj/decal/cleanable/robot_debris
|
||||||
|
|
||||||
/obj/machinery/bot/cleanbot/proc/clean(var/obj/decal/cleanable/target)
|
/obj/machinery/bot/cleanbot/proc/clean(var/obj/decal/cleanable/target)
|
||||||
src.anchored = 1
|
src.anchored = 1
|
||||||
|
|||||||
@@ -11,6 +11,8 @@
|
|||||||
return
|
return
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
//Gibs.spread proc in gibs.dm
|
||||||
|
|
||||||
/obj/decal/cleanable/blood/gibs/proc/streak(var/list/directions)
|
/obj/decal/cleanable/blood/gibs/proc/streak(var/list/directions)
|
||||||
spawn (0)
|
spawn (0)
|
||||||
var/direction = pick(directions)
|
var/direction = pick(directions)
|
||||||
@@ -23,6 +25,18 @@
|
|||||||
if (step_to(src, get_step(src, direction), 0))
|
if (step_to(src, get_step(src, direction), 0))
|
||||||
break
|
break
|
||||||
|
|
||||||
|
/obj/decal/cleanable/xenoblood/xgibs/proc/streak(var/list/directions)
|
||||||
|
spawn (0)
|
||||||
|
var/direction = pick(directions)
|
||||||
|
for (var/i = 0, i < pick(1, 200; 2, 150; 3, 50; 4), i++)
|
||||||
|
sleep(3)
|
||||||
|
if (i > 0)
|
||||||
|
var/obj/decal/cleanable/xenoblood/b = new /obj/decal/cleanable/xenoblood/xsplatter(src.loc)
|
||||||
|
if (src.virus)
|
||||||
|
b.virus = src.virus
|
||||||
|
if (step_to(src, get_step(src, direction), 0))
|
||||||
|
break
|
||||||
|
|
||||||
/obj/decal/cleanable/robot_debris/proc/streak(var/list/directions)
|
/obj/decal/cleanable/robot_debris/proc/streak(var/list/directions)
|
||||||
spawn (0)
|
spawn (0)
|
||||||
var/direction = pick(directions)
|
var/direction = pick(directions)
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
//HUMANS
|
||||||
|
|
||||||
/proc/gibs(atom/location, var/datum/disease/virus)
|
/proc/gibs(atom/location, var/datum/disease/virus)
|
||||||
var/obj/decal/cleanable/blood/gibs/gib = null
|
var/obj/decal/cleanable/blood/gibs/gib = null
|
||||||
if(virus && virus.spread_type == SPECIAL)
|
if(virus && virus.spread_type == SPECIAL)
|
||||||
@@ -63,6 +65,75 @@
|
|||||||
gib.virus.holder = gib
|
gib.virus.holder = gib
|
||||||
gib.virus.spread_type = CONTACT_FEET
|
gib.virus.spread_type = CONTACT_FEET
|
||||||
|
|
||||||
|
//ALIENS
|
||||||
|
//mostly carbon copy of the human code. N
|
||||||
|
|
||||||
|
/proc/xgibs(atom/location, var/datum/disease/virus)
|
||||||
|
var/obj/decal/cleanable/xenoblood/xgibs/gib = null
|
||||||
|
if(virus && virus.spread_type == SPECIAL)
|
||||||
|
virus = null
|
||||||
|
|
||||||
|
// NORTH
|
||||||
|
gib = new /obj/decal/cleanable/xenoblood/xgibs(location)
|
||||||
|
if (prob(30))
|
||||||
|
gib.icon_state = "xgibup1"
|
||||||
|
if(virus && prob(20))
|
||||||
|
gib.virus = new virus.type
|
||||||
|
gib.virus.holder = gib
|
||||||
|
gib.virus.spread_type = CONTACT_FEET
|
||||||
|
gib.streak(list(NORTH, NORTHEAST, NORTHWEST))
|
||||||
|
|
||||||
|
// SOUTH
|
||||||
|
gib = new /obj/decal/cleanable/xenoblood/xgibs(location)
|
||||||
|
if (prob(30))
|
||||||
|
gib.icon_state = "xgibdown1"
|
||||||
|
if(virus && prob(20))
|
||||||
|
gib.virus = new virus.type
|
||||||
|
gib.virus.holder = gib
|
||||||
|
gib.virus.spread_type = CONTACT_FEET
|
||||||
|
gib.streak(list(SOUTH, SOUTHEAST, SOUTHWEST))
|
||||||
|
|
||||||
|
// WEST
|
||||||
|
gib = new /obj/decal/cleanable/xenoblood/xgibs(location)
|
||||||
|
if(virus && prob(20))
|
||||||
|
gib.virus = new virus.type
|
||||||
|
gib.virus.holder = gib
|
||||||
|
gib.virus.spread_type = CONTACT_FEET
|
||||||
|
gib.streak(list(WEST, NORTHWEST, SOUTHWEST))
|
||||||
|
|
||||||
|
// EAST
|
||||||
|
gib = new /obj/decal/cleanable/xenoblood/xgibs(location)
|
||||||
|
if(virus)
|
||||||
|
gib.virus = new virus.type
|
||||||
|
gib.virus.holder = gib
|
||||||
|
gib.virus.spread_type = CONTACT_FEET
|
||||||
|
gib.streak(list(EAST, NORTHEAST, SOUTHEAST))
|
||||||
|
|
||||||
|
// RANDOM BODY
|
||||||
|
gib = new /obj/decal/cleanable/xenoblood/xgibs/body(location)
|
||||||
|
if(virus && prob(20))
|
||||||
|
gib.virus = new virus.type
|
||||||
|
gib.virus.holder = gib
|
||||||
|
gib.virus.spread_type = CONTACT_FEET
|
||||||
|
gib.streak(alldirs)
|
||||||
|
|
||||||
|
// RANDOM LIMBS
|
||||||
|
for (var/i = 0, i < pick(0, 1, 2), i++)
|
||||||
|
gib = new /obj/decal/cleanable/xenoblood/xgibs/limb(location)
|
||||||
|
if(virus && prob(20))
|
||||||
|
gib.virus = new virus.type
|
||||||
|
gib.virus.holder = gib
|
||||||
|
gib.virus.spread_type = CONTACT_FEET
|
||||||
|
gib.streak(alldirs)
|
||||||
|
|
||||||
|
// CORE
|
||||||
|
gib = new /obj/decal/cleanable/xenoblood/xgibs/core(location)
|
||||||
|
if(virus && prob(20))
|
||||||
|
gib.virus = new virus.type
|
||||||
|
gib.virus.holder = gib
|
||||||
|
gib.virus.spread_type = CONTACT_FEET
|
||||||
|
|
||||||
|
//ROBOTS
|
||||||
/proc/robogibs(atom/location, var/datum/disease/virus)
|
/proc/robogibs(atom/location, var/datum/disease/virus)
|
||||||
var/obj/decal/cleanable/robot_debris/gib = null
|
var/obj/decal/cleanable/robot_debris/gib = null
|
||||||
if(virus && virus.spread_type == SPECIAL)
|
if(virus && virus.spread_type == SPECIAL)
|
||||||
|
|||||||
@@ -1872,7 +1872,9 @@
|
|||||||
// world << "[src] ~ [src.bodytemperature] ~ [temperature]"
|
// world << "[src] ~ [src.bodytemperature] ~ [temperature]"
|
||||||
return temperature
|
return temperature
|
||||||
|
|
||||||
/mob/proc/gib(give_medal)
|
//This is the proc for gibbing a mob. Cannot gib ghosts. Removed the medal reference,
|
||||||
|
//added different sort of gibs and animations. N
|
||||||
|
/mob/proc/gib()
|
||||||
|
|
||||||
if (istype(src, /mob/dead/observer))
|
if (istype(src, /mob/dead/observer))
|
||||||
var/virus = src.virus
|
var/virus = src.virus
|
||||||
@@ -1884,12 +1886,19 @@
|
|||||||
src.canmove = 0
|
src.canmove = 0
|
||||||
src.icon = null
|
src.icon = null
|
||||||
src.invisibility = 101
|
src.invisibility = 101
|
||||||
|
|
||||||
|
animation = new(src.loc)
|
||||||
|
animation.icon_state = "blank"
|
||||||
|
animation.icon = 'mob.dmi'
|
||||||
|
animation.master = src
|
||||||
if(ishuman(src))
|
if(ishuman(src))
|
||||||
animation = new(src.loc)
|
flick("gibbed-h", animation)
|
||||||
animation.icon_state = "blank"
|
else if(ismonkey(src))
|
||||||
animation.icon = 'mob.dmi'
|
flick("gibbed-m", animation)
|
||||||
animation.master = src
|
else if(isalien(src))
|
||||||
flick("gibbed", animation)
|
flick("gibbed-a", animation)
|
||||||
|
else
|
||||||
|
flick("gibbed-r", animation)
|
||||||
|
|
||||||
if (src.client)
|
if (src.client)
|
||||||
var/mob/dead/observer/newmob
|
var/mob/dead/observer/newmob
|
||||||
@@ -1902,6 +1911,8 @@
|
|||||||
var/virus = src.virus
|
var/virus = src.virus
|
||||||
if (istype(src, /mob/living/silicon))
|
if (istype(src, /mob/living/silicon))
|
||||||
robogibs(src.loc, virus)
|
robogibs(src.loc, virus)
|
||||||
|
else if (istype(src, /mob/living/carbon/alien))
|
||||||
|
xgibs(src.loc, virus)
|
||||||
else
|
else
|
||||||
gibs(src.loc, virus)
|
gibs(src.loc, virus)
|
||||||
|
|
||||||
@@ -1909,12 +1920,53 @@
|
|||||||
var/virus = src.virus
|
var/virus = src.virus
|
||||||
if (istype(src, /mob/living/silicon))
|
if (istype(src, /mob/living/silicon))
|
||||||
robogibs(src.loc, virus)
|
robogibs(src.loc, virus)
|
||||||
|
else if (istype(src, /mob/living/carbon/alien))
|
||||||
|
xgibs(src.loc, virus)
|
||||||
else
|
else
|
||||||
gibs(src.loc, virus)
|
gibs(src.loc, virus)
|
||||||
//CRASH("Generating error messages to attempt to fix random gibbins.") //no longer necessary
|
//CRASH("Generating error messages to attempt to fix random gibbins.") //no longer necessary
|
||||||
sleep(15)
|
sleep(15)
|
||||||
del(src)
|
del(src)
|
||||||
|
|
||||||
|
/*
|
||||||
|
This is the proc for turning a mob into ash. Mostly a copy of gib code (above).
|
||||||
|
Originally created for wizard disintegrate. I've removed the virus code since it's irrelevant here. N
|
||||||
|
*/
|
||||||
|
/mob/proc/dust()
|
||||||
|
|
||||||
|
if (istype(src, /mob/dead/observer))
|
||||||
|
return
|
||||||
|
src.death(1)
|
||||||
|
var/atom/movable/overlay/animation = null
|
||||||
|
src.monkeyizing = 1
|
||||||
|
src.canmove = 0
|
||||||
|
src.icon = null
|
||||||
|
src.invisibility = 101
|
||||||
|
|
||||||
|
animation = new(src.loc)
|
||||||
|
animation.icon_state = "blank"
|
||||||
|
animation.icon = 'mob.dmi'
|
||||||
|
animation.master = src
|
||||||
|
if(ishuman(src))
|
||||||
|
flick("dust-h", animation)
|
||||||
|
else if(ismonkey(src))
|
||||||
|
flick("dust-m", animation)
|
||||||
|
else if(isalien(src))
|
||||||
|
flick("dust-a", animation)
|
||||||
|
else
|
||||||
|
flick("dust-r", animation)
|
||||||
|
new /obj/decal/ash(src.loc)
|
||||||
|
|
||||||
|
if (src.client)
|
||||||
|
var/mob/dead/observer/newmob
|
||||||
|
|
||||||
|
newmob = new/mob/dead/observer(src)
|
||||||
|
src:client:mob = newmob
|
||||||
|
if (src.mind)
|
||||||
|
src.mind.transfer_to(newmob)
|
||||||
|
|
||||||
|
sleep(15)
|
||||||
|
del(src)
|
||||||
|
|
||||||
/mob/proc/get_contents()
|
/mob/proc/get_contents()
|
||||||
var/list/L = list()
|
var/list/L = list()
|
||||||
@@ -1943,14 +1995,15 @@
|
|||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
|
||||||
// adds a dizziness amount to a mob
|
/*
|
||||||
// use this rather than directly changing var/dizziness
|
adds a dizziness amount to a mob
|
||||||
// since this ensures that the dizzy_process proc is started
|
use this rather than directly changing var/dizziness
|
||||||
// currently only humans get dizzy
|
since this ensures that the dizzy_process proc is started
|
||||||
|
currently only humans get dizzy
|
||||||
// value of dizziness ranges from 0 to 1000
|
|
||||||
// below 100 is not dizzy
|
|
||||||
|
|
||||||
|
value of dizziness ranges from 0 to 1000
|
||||||
|
below 100 is not dizzy
|
||||||
|
*/
|
||||||
/mob/proc/make_dizzy(var/amount)
|
/mob/proc/make_dizzy(var/amount)
|
||||||
if(!istype(src, /mob/living/carbon/human)) // for the moment, only humans get dizzy
|
if(!istype(src, /mob/living/carbon/human)) // for the moment, only humans get dizzy
|
||||||
return
|
return
|
||||||
@@ -1962,9 +2015,11 @@
|
|||||||
dizzy_process()
|
dizzy_process()
|
||||||
|
|
||||||
|
|
||||||
// dizzy process - wiggles the client's pixel offset over time
|
/*
|
||||||
// spawned from make_dizzy(), will terminate automatically when dizziness gets <100
|
dizzy process - wiggles the client's pixel offset over time
|
||||||
// note dizziness decrements automatically in the mob's Life() proc.
|
spawned from make_dizzy(), will terminate automatically when dizziness gets <100
|
||||||
|
note dizziness decrements automatically in the mob's Life() proc.
|
||||||
|
*/
|
||||||
/mob/proc/dizzy_process()
|
/mob/proc/dizzy_process()
|
||||||
is_dizzy = 1
|
is_dizzy = 1
|
||||||
while(dizziness > 100)
|
while(dizziness > 100)
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 98 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 31 KiB |