Aliens now bleed green when you hit them. The green blood can be mopped and cleaned.
Hurt people and bodies leave behind blood when you drag them.
Monkeys now also bleed when struck with items.
Added variable "update_icon" for mobs. Basically you can now change the icon on aliens and monkeys as an admin and it will not change back when you move around.
You can spawn monkey and alien "RolePlay" bodies which have update_icon = 0 at start.

Fixed:
Monkeys not slipping on wet floor and causing runtime errors.
Monkeys and Aliens not being able to speak on station bounced radios or intercoms and causing runtime errors.
Anything else than humans not being able to attack humans with items (did no damage).
Food sometimes dealing damage when you eat it (such as chips).

Changed:
Alien weeds and the blob now spread at a reasonable pace.
Removed some redundant code, such as what was left of poo and urine.
Removed nutrient.dm again, someone brought it back at some point, it's redundant.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@118 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
Skiedrake
2010-09-19 22:19:32 +00:00
parent 8a85acc5e2
commit 9eb0e80ae7
26 changed files with 166 additions and 91 deletions

View File

@@ -452,14 +452,16 @@ to clean it up, or just beat the shit out of it (which takes ages).
src.zone_sel.overlays += image("icon" = 'zone_sel.dmi', "icon_state" = text("[]", src.zone_sel.selecting))
if (src.lying)
src.icon = src.lying_icon
if(src.update_icon)
src.icon = src.lying_icon
src.overlays += src.body_lying
if (src.face_lying)
src.overlays += src.face_lying
else
src.icon = src.stand_icon
if(src.update_icon)
src.icon = src.stand_icon
src.overlays += src.body_standing

View File

@@ -297,6 +297,12 @@
if(B.virus.type in src.resistances)
continue
src.contract_disease(new B.virus.type)
for(var/obj/decal/cleanable/xenoblood/X in range(4, src))
if(X.virus && X.virus.spread == "Airborne")
if(X.virus.affected_species.Find("Alien"))
if(X.virus.type in src.resistances)
continue
src.contract_disease(new X.virus.type)
else
src.virus.stage_act()
/*

View File

@@ -547,6 +547,7 @@
var/datum/disease/D = new M.virus.type //Making sure strain_data is preserved
D.strain_data = M.virus.strain_data
src.contract_disease(D)
for(var/obj/decal/cleanable/blood/B in view(4, src))
if(B.virus && B.virus.spread == "Airborne")
if(B.virus.affected_species.Find("Alien"))
@@ -555,6 +556,15 @@
var/datum/disease/D = new B.virus.type
D.strain_data = B.virus.strain_data
src.contract_disease(D)
for(var/obj/decal/cleanable/xenoblood/X in view(4, src))
if(X.virus && X.virus.spread == "Airborne")
if(X.virus.affected_species.Find("Alien"))
if(src.resistances.Find(X.virus.type))
continue
var/datum/disease/D = new X.virus.type
D.strain_data = X.virus.strain_data
src.contract_disease(D)
else
src.virus.stage_act()

View File

@@ -24,8 +24,9 @@
if(src.client && src.stat == 2)
src.verbs += /mob/proc/ghostize
var/tod = time2text(world.realtime,"hh:mm:ss") //weasellos time of death patch
mind.store_memory("Time of death: [tod]", 0)
if(mind) // Skie - Added check that there's someone controlling the alien
var/tod = time2text(world.realtime,"hh:mm:ss") //weasellos time of death patch
mind.store_memory("Time of death: [tod]", 0)
var/cancel
for (var/mob/M in world)

View File

@@ -475,6 +475,14 @@
var/datum/disease/D = new B.virus.type
D.strain_data = B.virus.strain_data
src.contract_disease(D)
for(var/obj/decal/cleanable/xenoblood/X in view(4, src))
if(X.virus && X.virus.spread == "Airborne")
if(X.virus.affected_species.Find("Alien"))
if(src.resistances.Find(X.virus.type))
continue
var/datum/disease/D = new X.virus.type
D.strain_data = X.virus.strain_data
src.contract_disease(D)
else
src.virus.stage_act()

View File

@@ -792,11 +792,11 @@
var/t = M.pulling
M.pulling = null
//this is the gay blood on floor shit
// if (M.lying && (prob(M.bruteloss / 6)))
// var/turf/location = M.loc
// if (istype(location, /turf/simulated))
// location.add_blood(M)
//this is the gay blood on floor shit -- Added back -- Skie
if (M.lying && (prob(M.bruteloss / 6)))
var/turf/location = M.loc
if (istype(location, /turf/simulated))
location.add_blood(M)
step(src.pulling, get_dir(src.pulling.loc, T))
@@ -2316,11 +2316,6 @@
onclose(user, "mob[src.name]")
return
/mob/living/carbon/human/verb/fuck()
set hidden = 1
alert("Go play HellMOO if you wanna do that.")
// called when something steps onto a human
// this could be made more general, but for now just handle mulebot
/mob/living/carbon/human/HasEntered(var/atom/movable/AM)

View File

@@ -809,6 +809,7 @@
var/datum/disease/D = new M.virus.type //Making sure strain_data is preserved
D.strain_data = M.virus.strain_data
src.contract_disease(D)
for(var/obj/decal/cleanable/blood/B in view(4, src))
if(B.virus && B.virus.spread == "Airborne")
if(B.virus.affected_species.Find("Human"))
@@ -817,6 +818,15 @@
var/datum/disease/D = new B.virus.type
D.strain_data = B.virus.strain_data
src.contract_disease(D)
for(var/obj/decal/cleanable/xenoblood/X in view(4, src))
if(X.virus && X.virus.spread == "Airborne")
if(X.virus.affected_species.Find("Human"))
if(src.resistances.Find(X.virus.type))
continue
var/datum/disease/D = new X.virus.type
D.strain_data = X.virus.strain_data
src.contract_disease(D)
else
src.virus.stage_act()

View File

@@ -564,6 +564,7 @@
var/datum/disease/D = new M.virus.type //Making sure strain_data is preserved
D.strain_data = M.virus.strain_data
src.contract_disease(D)
for(var/obj/decal/cleanable/blood/B in view(4, src))
if(B.virus && B.virus.spread == "Airborne")
if(B.virus.affected_species.Find("Monkey"))
@@ -572,6 +573,15 @@
var/datum/disease/D = new B.virus.type
D.strain_data = B.virus.strain_data
src.contract_disease(D)
for(var/obj/decal/cleanable/xenoblood/X in view(4, src))
if(X.virus && X.virus.spread == "Airborne")
if(X.virus.affected_species.Find("Monkey"))
if(src.resistances.Find(X.virus.type))
continue
var/datum/disease/D = new X.virus.type
D.strain_data = X.virus.strain_data
src.contract_disease(D)
else
src.virus.stage_act()

View File

@@ -251,47 +251,55 @@
return
/mob/living/carbon/monkey/update_clothing()
..()
for(var/i in src.overlays)
src.overlays -= i
if(src.buckled)
if(istype(src.buckled, /obj/stool/bed))
src.lying = 1
else
src.lying = 0
if (!( src.lying ))
src.icon_state = "monkey1"
else
src.icon_state = "monkey0"
if(src.update_icon) // Skie
..()
for(var/i in src.overlays)
src.overlays -= i
if (!( src.lying ))
src.icon_state = "monkey1"
else
src.icon_state = "monkey0"
if (src.wear_mask)
if (istype(src.wear_mask, /obj/item/clothing/mask))
if (istype(src.wear_mask, /obj/item/clothing/mask) && src.update_icon)
var/t1 = src.wear_mask.item_state
if (!( t1 ))
t1 = src.wear_mask.icon_state
src.overlays += image("icon" = 'monkey.dmi', "icon_state" = text("[][]", t1, (!( src.lying ) ? null : "2")), "layer" = src.layer)
src.wear_mask.screen_loc = ui_mask
if (src.r_hand)
src.overlays += image("icon" = 'items_righthand.dmi', "icon_state" = src.r_hand.item_state ? src.r_hand.item_state : src.r_hand.icon_state, "layer" = src.layer)
if(src.update_icon)
src.overlays += image("icon" = 'items_righthand.dmi', "icon_state" = src.r_hand.item_state ? src.r_hand.item_state : src.r_hand.icon_state, "layer" = src.layer)
src.r_hand.screen_loc = ui_rhand
if (src.l_hand)
src.overlays += image("icon" = 'items_lefthand.dmi', "icon_state" = src.l_hand.item_state ? src.l_hand.item_state : src.l_hand.icon_state, "layer" = src.layer)
if(src.update_icon)
src.overlays += image("icon" = 'items_lefthand.dmi', "icon_state" = src.l_hand.item_state ? src.l_hand.item_state : src.l_hand.icon_state, "layer" = src.layer)
src.l_hand.screen_loc = ui_lhand
if (src.back)
if (!( src.lying ))
src.overlays += image("icon" = 'monkey.dmi', "icon_state" = "back", "layer" = src.layer)
else
src.overlays += image("icon" = 'monkey.dmi', "icon_state" = "back2", "layer" = src.layer)
if(src.update_icon)
if (!( src.lying ))
src.overlays += image("icon" = 'monkey.dmi', "icon_state" = "back", "layer" = src.layer)
else
src.overlays += image("icon" = 'monkey.dmi', "icon_state" = "back2", "layer" = src.layer)
src.back.screen_loc = ui_back
if (src.handcuffed)
if (src.handcuffed && src.update_icon)
src.pulling = null
if (!( src.lying ))
src.overlays += image("icon" = 'monkey.dmi', "icon_state" = "handcuff1", "layer" = src.layer)
else
src.overlays += image("icon" = 'monkey.dmi', "icon_state" = "handcuff2", "layer" = src.layer)
if (src.client)
src.client.screen -= src.contents
src.client.screen += src.contents