Fixed medibot stupidity and bible shit.

This commit is contained in:
SkyMarshal
2012-01-09 00:06:57 -07:00
parent 7bd2773571
commit 7dec599f9b
2 changed files with 27 additions and 33 deletions
+16 -22
View File
@@ -33,18 +33,19 @@
var/heal_threshold = 15 //Start healing when they have this much damage in a category
var/use_beaker = 0 //Use reagents in beaker instead of default treatment agents.
//Setting which reagents to use to treat what by default. By id.
var/treatment_brute = "bicaridine"
var/treatment_oxy = "dexalin"
var/treatment_fire = "kelotane"
var/treatment_tox = "anti_toxin"
var/treatment_virus = "spaceacillin"
// var/treatment_brute = "bicaridine"
// var/treatment_oxy = "dexalin"
// var/treatment_fire = "kelotane"
// var/treatment_tox = "anti_toxin"
// var/treatment_virus = "spaceacillin"
var/reagent_id = "inaprovaline"
var/shut_up = 0 //self explanatory :)
/obj/machinery/bot/medbot/mysterious
name = "Mysterious Medibot"
desc = "International Medibot of mystery."
skin = "bezerk"
treatment_oxy = "dexalinp"
reagent_id = "dexalinp"
/obj/item/weapon/firstaid_arm_assembly
name = "first aid/robot arm assembly"
@@ -263,6 +264,9 @@
if ((C == src.oldpatient) && (world.time < src.last_found + 100))
continue
if(C.getOxyLoss() < 5 && reagent_id == "inaprovaline" && !src.emagged && !src.reagent_glass)
continue
if(src.assess_patient(C))
src.patient = C
src.oldpatient = C
@@ -333,25 +337,18 @@
continue
//They're injured enough for it!
if((C.getBruteLoss() >= heal_threshold) && (!C.reagents.has_reagent(src.treatment_brute)))
if(C.getBruteLoss() >= heal_threshold)
return 1 //If they're already medicated don't bother!
if((C.getOxyLoss() >= (15 + heal_threshold)) && (!C.reagents.has_reagent(src.treatment_oxy)))
if(C.getOxyLoss() >= (15 + heal_threshold))
return 1
if((C.getFireLoss() >= heal_threshold) && (!C.reagents.has_reagent(src.treatment_fire)))
if(C.getFireLoss() >= heal_threshold)
return 1
if((C.getToxLoss() >= heal_threshold) && (!C.reagents.has_reagent(src.treatment_tox)))
if(C.getToxLoss() >= heal_threshold)
return 1
for(var/datum/disease/D in C.viruses)
if((D.stage > 1) || (D.spread_type == AIRBORNE))
if (!C.reagents.has_reagent(src.treatment_virus))
return 1 //STOP DISEASE FOREVER
return 0
/obj/machinery/bot/medbot/proc/medicate_patient(mob/living/carbon/C as mob)
@@ -374,8 +371,6 @@
src.last_found = world.time
return
var/reagent_id = null
//Use whatever is inside the loaded beaker. If there is one.
if((src.use_beaker) && (src.reagent_glass) && (src.reagent_glass.reagents.total_volume))
reagent_id = "internal_beaker"
@@ -383,9 +378,7 @@
if(src.emagged) //Emagged! Time to poison everybody.
reagent_id = "toxin"
if (!reagent_id) reagent_id = "inaprovaline"
if(!reagent_id) //If they don't need any of that they're probably cured!
if(C.getOxyLoss() < 10 && reagent_id == "inaprovaline") //If they don't need any of that they're probably cured!
src.oldpatient = src.patient
src.patient = null
src.currently_healing = 0
@@ -409,6 +402,7 @@
src.icon_state = "medibot[src.on]"
src.currently_healing = 0
reagent_id = "inaprovaline"
return
// src.speak(reagent_id)
+11 -11
View File
@@ -6,20 +6,20 @@
new /obj/item/weapon/spacecash(src)
new /obj/item/weapon/spacecash(src)
/obj/item/weapon/storage/bible/proc/bless(mob/living/carbon/M as mob)
/*/obj/item/weapon/storage/bible/proc/bless(mob/living/carbon/M as mob)
if(ishuman(M))
var/mob/living/carbon/human/H = M
var/heal_amt = 10
for(var/datum/organ/external/affecting in H.organs)
if(affecting.heal_damage(heal_amt, heal_amt))
H.UpdateDamageIcon()
return
return */
/obj/item/weapon/storage/bible/attack(mob/M as mob, mob/living/user as mob)
var/chaplain = 0
if(user.mind && (user.mind.assigned_role == "Chaplain"))
chaplain = 1
// var/chaplain = 0
// if(user.mind && (user.mind.assigned_role == "Chaplain"))
// chaplain = 1
M.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been attacked with [src.name] by [user.name] ([user.ckey])</font>")
@@ -28,10 +28,10 @@
if (!(istype(user, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
user << "\red You don't have the dexterity to do this!"
return
if(!chaplain)
user << "\red The book sizzles in your hands."
user.take_organ_damage(0,10)
return
// if(!chaplain)
// user << "\red The book sizzles in your hands."
// user.take_organ_damage(0,10)
// return
if ((user.mutations & CLUMSY) && prob(50))
user << "\red The [src] slips out of your hand and hits your head."
@@ -47,7 +47,7 @@
M << "\red The power of [src.deity_name] clears your mind of heresy!"
user << "\red You see how [M]'s eyes become clear, the cult no longer holds control over him!"
ticker.mode.remove_cultist(M.mind)
if ((istype(M, /mob/living/carbon/human) && prob(60)))
/* if ((istype(M, /mob/living/carbon/human) && prob(60)))
bless(M)
for(var/mob/O in viewers(M, null))
O.show_message(text("\red <B>[] heals [] with the power of [src.deity_name]!</B>", user, M), 1)
@@ -59,7 +59,7 @@
M << "\red You feel dumber."
for(var/mob/O in viewers(M, null))
O.show_message(text("\red <B>[] beats [] over the head with []!</B>", user, M, src), 1)
playsound(src.loc, "punch", 25, 1, -1)
playsound(src.loc, "punch", 25, 1, -1) */
else if(M.stat == 2)
for(var/mob/O in viewers(M, null))
O.show_message(text("\red <B>[] smacks []'s lifeless corpse with [].</B>", user, M, src), 1)