almost ready for review

This commit is contained in:
Aurorablade
2016-02-08 01:16:13 -05:00
parent e5f5b68c92
commit 3b90cb703a
9 changed files with 48 additions and 23 deletions
@@ -45,7 +45,7 @@
internal_organs += new /obj/item/organ/internal/xenos/plasmavessel
internal_organs += new /obj/item/organ/internal/xenos/acidgland
internal_organs += new /obj/item/organ/internal/xenos/neurotoxin
//..()
..()
/mob/living/carbon/alien/humanoid/sentinel/handle_regular_hud_updates()
..() //-Yvarov
@@ -50,7 +50,7 @@
internal_organs += new /obj/item/organ/internal/xenos/eggsac
internal_organs += new /obj/item/organ/internal/xenos/resinspinner
internal_organs += new /obj/item/organ/internal/xenos/neurotoxin
// ..()
..()
/mob/living/carbon/alien/humanoid/empress
@@ -85,8 +85,8 @@
src << "<span class='noticealien'>There's already an egg here.</span>"
return
if(powerc(75,1))//Can't plant eggs on spess tiles. That's silly.
adjustToxLoss(-75)
if(powerc(250,1))//Can't plant eggs on spess tiles. That's silly.
adjustPlasma(-250)
for(var/mob/O in viewers(src, null))
O.show_message(text("\green <B>[src] has laid an egg!</B>"), 1)
new /obj/structure/alien/egg(loc)
@@ -28,7 +28,7 @@
internal_organs += new /obj/item/organ/internal/xenos/eggsac
internal_organs += new /obj/item/organ/internal/xenos/resinspinner
internal_organs += new /obj/item/organ/internal/xenos/neurotoxin
// ..()
..()
/mob/living/carbon/alien/humanoid/queen
@@ -67,7 +67,7 @@
return
if(powerc(75,1))//Can't plant eggs on spess tiles. That's silly.
adjustToxLoss(-75)
adjustPlasma(-75)
for(var/mob/O in viewers(src, null))
O.show_message(text("<span class='alertalien'>[src] has laid an egg!</span>"), 1)
new /obj/structure/alien/egg(loc)
@@ -60,9 +60,13 @@
switch(M.a_intent)
if(I_HELP)
if(health >= config.health_threshold_crit)
help_shake_act(M)
add_logs(src, M, "shaked")
return 1
for(var/datum/surgery/S in M.surgeries)
if(istype(S.get_surgery_step(), /datum/surgery_step/cavity/place_item))
return 1
else
help_shake_act(M)
add_logs(src, M, "shaked")
return 1
if(!H.check_has_mouth())
H << "<span class='danger'>You don't have a mouth, you cannot perform CPR!</span>"
return
+3 -1
View File
@@ -18,7 +18,9 @@
if(istype(target,/mob/living/carbon/human))
var/mob/living/carbon/human/H = target
var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting)
if(affected.status & ORGAN_ROBOT)
if((affected.status & ORGAN_ROBOT))
return 0
if(target.get_species() == "Machine")
return 0
if(!(affected.encased))
return 0
+1 -1
View File
@@ -14,7 +14,7 @@
var/mob/living/carbon/human/H = target
var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting)
if(affected)
if(!affected)
return 0
return 1
+10 -10
View File
@@ -167,7 +167,7 @@
//same as surgery step /datum/surgery_step/open_encased/close/
current_type = "finish"
if(affected.encased)
if(affected && affected.encased)
var/msg = "[user] starts bending [target]'s [affected.encased] back into place with \the [tool]."
var/self_msg = "You start bending [target]'s [affected.encased] back into place with \the [tool]."
user.visible_message(msg, self_msg)
@@ -375,19 +375,19 @@
max_duration = 70
/datum/surgery_step/saw_carapace/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery)
/datum/surgery_step/saw_carapace/begin_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool,datum/surgery/surgery)
user.visible_message("[user] begins to cut through [target]'s [target_zone] with \the [tool].", \
"You begin to cut through [target]'s [target_zone] with \the [tool].")
..()
/datum/surgery_step/saw_carapace/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery)
/datum/surgery_step/saw_carapace/end_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool,datum/surgery/surgery)
user.visible_message("<span class='notice'> [user] has cut [target]'s [target_zone] open with \the [tool].</span>", \
"<span class='notice'> You have cut [target]'s [target_zone] open with \the [tool].</span>")
return 1
/datum/surgery_step/saw_carapace/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery)
/datum/surgery_step/saw_carapace/fail_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool,datum/surgery/surgery)
user.visible_message("<span class='warning'> [user]'s hand slips, cracking [target]'s [target_zone] with \the [tool]!</span>" , \
"<span class='warning'> Your hand slips, cracking [target]'s [target_zone] with \the [tool]!</span>" )
@@ -412,19 +412,19 @@
max_duration = 60
/datum/surgery_step/cut_carapace/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery)
/datum/surgery_step/cut_carapace/begin_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool,datum/surgery/surgery)
user.visible_message("[user] starts the incision on [target]'s [target_zone] with \the [tool].", \
"You start the incision on [target]'s [target_zone] with \the [tool].")
..()
/datum/surgery_step/cut_carapace/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery)
/datum/surgery_step/cut_carapace/end_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool,datum/surgery/surgery)
user.visible_message("<span class='notice'> [user] has made an incision on [target]'s [target_zone] with \the [tool].</span>", \
"<span class='notice'> You have made an incision on [target]'s [target_zone] with \the [tool].</span>",)
return 1
/datum/surgery_step/cut_carapace/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery)
/datum/surgery_step/cut_carapace/fail_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool,datum/surgery/surgery)
user.visible_message("<span class='warning'> [user]'s hand slips, slicing open [target]'s [target_zone] in a wrong spot with \the [tool]!</span>", \
"<span class='warning'> Your hand slips, slicing open [target]'s [target_zone] in a wrong spot with \the [tool]!</span>")
@@ -442,7 +442,7 @@
max_duration = 40
/datum/surgery_step/retract_carapace/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery)
/datum/surgery_step/retract_carapace/begin_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool,datum/surgery/surgery)
var/msg = "[user] starts to pry open the incision on [target]'s [target_zone] with \the [tool]."
var/self_msg = "You start to pry open the incision on [target]'s [target_zone] with \the [tool]."
if (target_zone == "chest")
@@ -454,7 +454,7 @@
user.visible_message(msg, self_msg)
..()
/datum/surgery_step/retract_carapace/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery)
/datum/surgery_step/retract_carapace/end_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool,datum/surgery/surgery)
var/msg = "<span class='notice'> [user] keeps the incision open on [target]'s [target_zone] with \the [tool]</span>."
var/self_msg = "<span class='notice'> You keep the incision open on [target]'s [target_zone] with \the [tool].</span>"
if (target_zone == "chest")
@@ -466,7 +466,7 @@
user.visible_message(msg, self_msg)
return 1
/datum/surgery_step/generic/retract_carapace/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery)
/datum/surgery_step/generic/retract_carapace/fail_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool,datum/surgery/surgery)
var/msg = "<span class='warning'> [user]'s hand slips, tearing the edges of incision on [target]'s [target_zone] with \the [tool]!</span>"
var/self_msg = "<span class='warning'> Your hand slips, tearing the edges of incision on [target]'s [target_zone] with \the [tool]!</span>"
if (target_zone == "chest")
+18
View File
@@ -2,7 +2,25 @@
//////////////////////////////////////////////////////////////////
// INTERNAL WOUND PATCHING //
//////////////////////////////////////////////////////////////////
/datum/surgery/bleeding
name = "internal bleeding"
steps = list(/datum/surgery_step/generic/cut_open,/datum/surgery_step/generic/clamp_bleeders,/datum/surgery_step/generic/retract_skin,/datum/surgery_step/generic/retract_skin, /datum/surgery_step/open_encased/saw,
/datum/surgery_step/open_encased/retract,/datum/surgery_step/fix_vein,/datum/surgery_step/open_encased/close, /datum/surgery_step/glue_bone, /datum/surgery_step/set_bone,/datum/surgery_step/finish_bone,/datum/surgery_step/generic/cauterize)
possible_locs = list("chest","head","groin")
/datum/surgery/bleeding/can_start(mob/user, mob/living/carbon/target)
if(ishuman(target)
var/mob/living/carbon/human/H = target
var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting)
if(!affected) return 0
var/internal_bleeding = 0
for(var/datum/wound/W in affected.wounds) if(W.internal)
internal_bleeding = 1
break
if(internal_bleeding)
return 1
return 0
/datum/surgery_step/fix_vein
name = "mend internal bleeding"
+3 -2
View File
@@ -24,7 +24,7 @@
if(istype(target,/mob/living/carbon/human))
var/mob/living/carbon/human/H = target
var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting)
if(affected.status & ORGAN_ORGANIC)
if(affected)
return 0
return 1
@@ -289,7 +289,7 @@
user.visible_message("[user] begins reattaching [target]'s [off_tool] with \the [tool].", \
"You start reattaching [target]'s [off_tool] with \the [tool].")
target.custom_pain("Someone's rooting around in your [affected.name]!",1)
else if(istype(tool,/obj/item/device/mmi/))
else if(istype(tool,/obj/item/device/mmi))
current_type = "install"
if(target_zone != "chest")
@@ -400,6 +400,7 @@
if(I && istype(I))
I.status &= ~ORGAN_CUT_AWAY
qdel(off_tool)
else if (current_type == "install")
user.visible_message("<span class='notice'> [user] has installed \the [tool] into [target]'s [affected.name].</span>", \
"<span class='notice'> You have installed \the [tool] into [target]'s [affected.name].</span>")