mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 20:16:55 +01:00
These updates has been committed for Petethegoat, Trubble_Bass and Derp__. Please yell at them and not be if anything is broken.
-------------------------------------------- Pete Changelog: Appendicitis! It's a new disease which must be cured surgically- instructions are available on the wiki: http://tgstation13.pretentiousfool.com/wiki/index.php/Surgery Tell Petethegoat either on the forums or on IRC if you find any problems. ------------------------------------------------ Trubble has fixed a bug with the hat crates. They can now be correctly opened. ----------------------------------------------- Derp has added the Medborg. YES!!! Service borg has also recieved some minor tweaks. It can now use the Booze-o-mat. it can also extrude enzymes. ------------------------------------------------ Report any problems to them via Forums or IRC. Thankyou. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1866 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -692,7 +692,7 @@
|
||||
user.show_message("\blue \t Body Temperature: [C.bodytemperature-T0C]°C ([C.bodytemperature*1.8-459.67]°F)", 1)
|
||||
for(var/datum/disease/D in C.viruses)
|
||||
if(!D.hidden[SCANNER])
|
||||
user.show_message(text("\red <b>Warning Virus Detected.</b>\nName: [D.name].\nType: [D.spread].\nStage: [D.stage]/[D.max_stages].\nPossible Cure: [D.cure]"))
|
||||
user.show_message(text("\red <b>Warning: [D.form] Detected</b>\nName: [D.name].\nType: [D.spread].\nStage: [D.stage]/[D.max_stages].\nPossible Cure: [D.cure]"))
|
||||
|
||||
if(2)
|
||||
if (!istype(C:dna, /datum/dna) || !isnull(C:gloves))
|
||||
|
||||
@@ -175,7 +175,7 @@ MASS SPECTROMETER
|
||||
user.show_message(text("\red Subject appears to have been imperfectly cloned."), 1)
|
||||
for(var/datum/disease/D in M.viruses)
|
||||
if(!D.hidden[SCANNER])
|
||||
user.show_message(text("\red <b>Warning: Virus Detected</b>\nName: [D.name].\nType: [D.spread].\nStage: [D.stage]/[D.max_stages].\nPossible Cure: [D.cure]"))
|
||||
user.show_message(text("\red <b>Warning: [D.form] Detected</b>\nName: [D.name].\nType: [D.spread].\nStage: [D.stage]/[D.max_stages].\nPossible Cure: [D.cure]"))
|
||||
if (M.reagents && M.reagents.get_reagent_amount("inaprovaline"))
|
||||
user.show_message(text("\blue Bloodstream Analysis located [M.reagents:get_reagent_amount("inaprovaline")] units of rejuvenation chemicals."), 1)
|
||||
if (M.brainloss >= 100 || istype(M, /mob/living/carbon/human) && M:brain_op_stage == 4.0)
|
||||
|
||||
@@ -52,54 +52,6 @@ MOP
|
||||
..()
|
||||
return
|
||||
|
||||
/obj/item/weapon/chemsprayer/New()
|
||||
var/datum/reagents/R = new/datum/reagents(1000)
|
||||
reagents = R
|
||||
R.my_atom = src
|
||||
R.add_reagent("cleaner", 10)
|
||||
|
||||
/obj/item/weapon/chemsprayer/attack(mob/living/carbon/human/M as mob, mob/user as mob)
|
||||
return
|
||||
|
||||
/obj/item/weapon/chemsprayer/afterattack(atom/A as mob|obj, mob/user as mob)
|
||||
if (istype(A, /obj/item/weapon/storage/backpack ))
|
||||
return
|
||||
else if (src.reagents.total_volume < 1)
|
||||
user << "\blue Add more cleaner!"
|
||||
return
|
||||
|
||||
var/obj/decal/D = new/obj/decal(get_turf(src))
|
||||
D.name = "chemicals"
|
||||
D.icon = 'chemical.dmi'
|
||||
D.icon_state = "chempuff"
|
||||
D.create_reagents(10)
|
||||
src.reagents.trans_to(D, 10)
|
||||
playsound(src.loc, 'spray2.ogg', 50, 1, -6)
|
||||
|
||||
spawn(0)
|
||||
for(var/i=0, i<6, i++)
|
||||
step_towards(D,A)
|
||||
D.reagents.reaction(get_turf(D))
|
||||
for(var/atom/T in get_turf(D))
|
||||
D.reagents.reaction(T)
|
||||
sleep(6)
|
||||
del(D)
|
||||
|
||||
if(isrobot(user)) //Cyborgs can clean forever if they keep charged
|
||||
var/mob/living/silicon/robot/janitor = user
|
||||
janitor.cell.charge -= 20
|
||||
var/refill = src.reagents.get_master_reagent_id()
|
||||
spawn(600)
|
||||
src.reagents.add_reagent(refill, 10)
|
||||
|
||||
return
|
||||
|
||||
/obj/item/weapon/chemsprayer/examine()
|
||||
set src in usr
|
||||
usr << text("\icon[] [] units of cleaner left!", src, src.reagents.total_volume)
|
||||
..()
|
||||
return
|
||||
|
||||
// MOP
|
||||
|
||||
/obj/item/weapon/mop/New()
|
||||
@@ -124,7 +76,7 @@ MOP
|
||||
for(var/obj/decal/cleanable/crayon/R in A)
|
||||
del(R)
|
||||
mopcount++
|
||||
else if (istype(A, /obj/decal/cleanable/blood) || istype(A, /obj/overlay) || istype(A, /obj/decal/cleanable/xenoblood) || istype(A, /obj/rune) || istype(A,/obj/decal/cleanable/crayon) )
|
||||
else if (istype(A, /obj/decal/cleanable/blood) || istype(A, /obj/overlay) || istype(A, /obj/decal/cleanable/xenoblood) || istype(A, /obj/rune) || istype(A,/obj/decal/cleanable/crayon) || istype(A,/obj/decal/cleanable/vomit) )
|
||||
for(var/mob/O in viewers(user, null))
|
||||
O.show_message(text("\red <B>[user] begins to clean [A]</B>"), 1)
|
||||
sleep(20)
|
||||
|
||||
@@ -19,6 +19,18 @@ CIRCULAR SAW
|
||||
if(!((locate(/obj/machinery/optable, M.loc) && M.resting) || (locate(/obj/table/, M.loc) && (M.lying || M.weakened || M.stunned || M.paralysis || M.sleeping || M.stat) && prob(50))))
|
||||
return ..()
|
||||
|
||||
if(user.zone_sel.selecting == "groin")
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
switch(M:appendix_op_stage)
|
||||
if(2.0)
|
||||
if(M != user)
|
||||
for(var/mob/O in (viewers(M) - user - M))
|
||||
O.show_message("\red [user] retracts the flap in [M]'s abdomen cut open with [src].", 1)
|
||||
M << "\red [user] begins to retract the flap in your abdomen with [src]!"
|
||||
user << "\red You retract the flap in [M]'s abdomen with [src]!"
|
||||
M:appendix_op_stage = 3.0
|
||||
return
|
||||
|
||||
if (user.zone_sel.selecting == "eyes")
|
||||
|
||||
var/mob/living/carbon/human/H = M
|
||||
@@ -80,6 +92,31 @@ CIRCULAR SAW
|
||||
if(!((locate(/obj/machinery/optable, M.loc) && M.resting) || (locate(/obj/table/, M.loc) && M.lying && prob(50))))
|
||||
return ..()
|
||||
|
||||
if(user.zone_sel.selecting == "groin")
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
switch(M:appendix_op_stage)
|
||||
if(1.0)
|
||||
if(M != user)
|
||||
for(var/mob/O in (viewers(M) - user - M))
|
||||
O.show_message("\red [user] is beginning to clamp bleeders in [M]'s abdomen cut open with [src].", 1)
|
||||
M << "\red [user] begins to clamp bleeders in your abdomen with [src]!"
|
||||
user << "\red You clamp bleeders in [M]'s abdomen with [src]!"
|
||||
M:appendix_op_stage = 2.0
|
||||
if(4.0)
|
||||
if(M != user)
|
||||
for(var/mob/O in (viewers(M) - user - M))
|
||||
O.show_message("\red [user] is removing [M]'s appendix with [src].", 1)
|
||||
M << "\red [user] begins to remove your appendix with [src]!"
|
||||
user << "\red You remove [M]'s appendix with [src]!"
|
||||
for(var/datum/disease/D in M.viruses)
|
||||
if(istype(D, /datum/disease/appendicitis))
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/appendixinflamed(get_turf(M))
|
||||
M:appendix_op_stage = 5.0
|
||||
return
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/appendix(get_turf(M))
|
||||
M:appendix_op_stage = 5.0
|
||||
return
|
||||
|
||||
if (user.zone_sel.selecting == "eyes")
|
||||
|
||||
var/mob/living/carbon/human/H = M
|
||||
@@ -140,6 +177,21 @@ CIRCULAR SAW
|
||||
if(!((locate(/obj/machinery/optable, M.loc) && M.resting) || (locate(/obj/table/, M.loc) && M.lying && prob(50))))
|
||||
return ..()
|
||||
|
||||
if(user.zone_sel.selecting == "groin")
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
switch(M:appendix_op_stage)
|
||||
if(5.0)
|
||||
if(M != user)
|
||||
for(var/mob/O in (viewers(M) - user - M))
|
||||
O.show_message("\red [user] is beginning to cauterize the incision in [M]'s abdomen with [src].", 1)
|
||||
M << "\red [user] begins to cauterize the incision in your abdomen with [src]!"
|
||||
user << "\red You cauterize the incision in [M]'s abdomen with [src]!"
|
||||
M:appendix_op_stage = 6.0
|
||||
for(var/datum/disease/appendicitis in M.viruses)
|
||||
appendicitis.cure()
|
||||
M.resistances += appendicitis
|
||||
return
|
||||
|
||||
if (user.zone_sel.selecting == "eyes")
|
||||
|
||||
var/mob/living/carbon/human/H = M
|
||||
@@ -210,6 +262,25 @@ CIRCULAR SAW
|
||||
|
||||
src.add_fingerprint(user)
|
||||
|
||||
if(user.zone_sel.selecting == "groin")
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
switch(M:appendix_op_stage)
|
||||
if(0.0)
|
||||
if(M != user)
|
||||
for(var/mob/O in (viewers(M) - user - M))
|
||||
O.show_message("\red [M] is beginning to have his abdomen cut open with [src] by [user].", 1)
|
||||
M << "\red [user] begins to cut open your abdomen with [src]!"
|
||||
user << "\red You cut [M]'s abdomen open with [src]!"
|
||||
M:appendix_op_stage = 1.0
|
||||
if(3.0)
|
||||
if(M != user)
|
||||
for(var/mob/O in (viewers(M) - user - M))
|
||||
O.show_message("\red [M] is beginning to have his appendix seperated with [src] by [user].", 1)
|
||||
M << "\red [user] begins to seperate your appendix with [src]!"
|
||||
user << "\red You seperate [M]'s appendix with [src]!"
|
||||
M:appendix_op_stage = 4.0
|
||||
return
|
||||
|
||||
if(user.zone_sel.selecting == "head" || istype(M, /mob/living/carbon/metroid))
|
||||
|
||||
var/mob/living/carbon/human/H = M
|
||||
|
||||
@@ -31,6 +31,15 @@
|
||||
openicon = "trashcartopen"
|
||||
closedicon = "trashcart"
|
||||
|
||||
/obj/crate/hat
|
||||
desc = "A crate filled with Valuable Collector's Hats!."
|
||||
name = "Hat Crate"
|
||||
icon = 'storage.dmi'
|
||||
icon_state = "hat"
|
||||
density = 1
|
||||
openicon = "hatopen"
|
||||
closedicon = "hat"
|
||||
|
||||
/obj/crate/medical
|
||||
desc = "A medical crate."
|
||||
name = "Medical crate"
|
||||
|
||||
Reference in New Issue
Block a user