mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 20:16:55 +01:00
almost ready for review
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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>")
|
||||
|
||||
Reference in New Issue
Block a user