Numerous bugfixes.

This commit is contained in:
SkyMarshal
2012-04-17 11:55:53 -07:00
parent 1aa29c3c4c
commit 23f13cb95d
10 changed files with 87 additions and 47 deletions

View File

@@ -999,7 +999,7 @@
var/blood_max = 0
for(var/name in organs)
var/datum/organ/external/temp = organs[name]
if(!temp.bleeding)
if(!temp.bleeding || temp.robot) //THAT WAS DUMB.
continue
// else
// if(prob(35))

View File

@@ -1021,3 +1021,29 @@
parts -= picked
updatehealth()
UpdateDamageIcon()
/mob/living/carbon/monkey/getBruteLoss()
var/amount = 0.0
for(var/name in organs)
var/datum/organ/external/O = organs[name]
if(!O.robot) amount+= O.brute_dam
return amount
/mob/living/carbon/monkey/adjustBruteLoss(var/amount, var/used_weapon = null)
if(amount > 0)
take_overall_damage(amount, 0, used_weapon)
else
heal_overall_damage(-amount, 0)
/mob/living/carbon/monkey/getFireLoss()
var/amount = 0.0
for(var/name in organs)
var/datum/organ/external/O = organs[name]
if(!O.robot) amount+= O.burn_dam
return amount
/mob/living/carbon/monkey/adjustFireLoss(var/amount,var/used_weapon = null)
if(amount > 0)
take_overall_damage(0, amount, used_weapon)
else
heal_overall_damage(0, -amount)

View File

@@ -95,6 +95,13 @@
L |= E:contents
for(var/obj/item/smallDelivery/S in L)
L |= S.wrapped
if(hasorgans(src))
for(var/named in src:organs)
var/datum/organ/external/O = src:organs[named]
for(var/obj/item/weapon/implant/I in O.implant)
L |= I
if(istype(I, /obj/item/weapon/implant/compressed))
L |= I:scanned
for(var/obj/B in L)
if(B.type == A)
@@ -114,6 +121,13 @@
L |= E:contents
for(var/obj/item/smallDelivery/S in L)
L |= S.wrapped
if(hasorgans(src))
for(var/named in src:organs)
var/datum/organ/external/O = src:organs[named]
for(var/obj/item/weapon/implant/I in O.implant)
L |= I
if(istype(I, /obj/item/weapon/implant/compressed))
L |= I:scanned
for(var/obj/item/weapon/reagent_containers/B in L)
for(var/datum/reagent/R in B.reagents.reagent_list)

View File

@@ -339,7 +339,7 @@
for(var/mob/M in listening)
eavesdroppers.Remove(M)
for(var/mob/M in eavesdroppers)
if(M.stat || !M.client)
if(M.stat || !M.client || istype(M, /mob/living/silicon/pai) || M == src)
eavesdroppers.Remove(M)
for (var/obj/O in ((W | contents)-used_radios))

View File

@@ -16,8 +16,8 @@
if (length(message) >= 2)
if ((copytext(message, 1, 3) == ":s") || (copytext(message, 1, 3) == ":S"))
if(istype(src, /mob/living/silicon/pai))
return ..(message)
// if(istype(src, /mob/living/silicon/pai))
// return ..(message)
message = copytext(message, 3)
message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN))
robot_talk(message)