Conflicts:
	code/game/objects/items/weapons/surgery_tools.dm

Did not do a pull in ages, all constants I sued in surgery code got renamed.
This commit is contained in:
comma
2012-08-08 13:21:47 +04:00
237 changed files with 17508 additions and 15761 deletions
+2 -2
View File
@@ -72,7 +72,7 @@ RCD
afterattack(atom/A, mob/user as mob)
if(istype(A,/area/shuttle)||istype(A,/turf/space/transit))//Nanotrasen Matter Jammer TM -Sieve
if(istype(A,/area/shuttle)||istype(A,/turf/space/transit))//NanoTrasen Matter Jammer TM -Sieve
disabled = 1
else
disabled = 0
@@ -168,7 +168,7 @@ RCD
/obj/item/weapon/rcd/industrial
name = "industrial rapid construction device"
max_matter = 60
New()
matter = max_matter
return ..()
+4 -4
View File
@@ -510,15 +510,15 @@ CRITTER GRENADE
deliveryamt = 5
origin_tech = "materials=3;magnets=4;syndicate=4"
/obj/item/weapon/spawnergrenade/spesscarp
/obj/item/weapon/spawnergrenade/carp
name = "carp delivery grenade"
spawner_type = /obj/effect/critter/spesscarp
spawner_type = /mob/living/simple_animal/carp
deliveryamt = 5
origin_tech = "materials=3;magnets=4;syndicate=4"
/obj/item/weapon/spawnergrenade/elitespesscarp
/obj/item/weapon/spawnergrenade/elitecarp
name = "elite carp delivery grenade"
spawner_type = /obj/effect/critter/spesscarp/elite
spawner_type = /mob/living/simple_animal/carp/elite
deliveryamt = 2
origin_tech = "materials=3;magnets=4;syndicate=4"
@@ -341,15 +341,20 @@ the implant may become unstable and either pre-maturely inject the subject or si
process()
var/mob/M = imp_in
var/area/t = get_area(M)
if(isnull(M)) // If the mob got gibbed
var/obj/item/device/radio/headset/a = new /obj/item/device/radio/headset(null)
a.autosay("states, \"[mobname] has died-zzzzt in-in-in...\"", "[mobname]'s Death Alarm")
del(a)
processing_objects.Remove(src)
else if(M.stat == 2)
var/area/t = get_area(M)
var/obj/item/device/radio/headset/a = new /obj/item/device/radio/headset(null)
a.autosay("states, \"[mobname] has died in [t.name]!\"", "[mobname]'s Death Alarm")
if(istype(t, /area/syndicate_station) || istype(t, /area/syndicate_mothership) || istype(t, /area/shuttle/syndicate_elite) )
//give the syndies a bit of stealth
a.autosay("states, \"[mobname] has died in Space!\"", "[mobname]'s Death Alarm")
else
a.autosay("states, \"[mobname] has died in [t.name]!\"", "[mobname]'s Death Alarm")
del(a)
processing_objects.Remove(src)
@@ -31,7 +31,7 @@
return
if(hasorgans(M))
var/datum/organ/external/target = M:get_organ(check_zone(user.zone_sel.selecting))
if(target.status & DESTROYED)
if(target.status & ORGAN_DESTROYED)
user << "What [target.display_name]?"
return
if(!target.implant)
@@ -114,8 +114,7 @@
..()
/obj/item/weapon/implanter/compressed/afterattack(atom/A, mob/user as mob)
if(istype(A,/obj/item))
var/obj/item/weapon/implant/compressed/c = imp
c.scanned = A
if(istype(A,/obj/item) && imp)
imp:scanned = A
A.loc.contents.Remove(A)
update()
+1 -1
View File
@@ -313,7 +313,7 @@ It is caused by the unexpected circumstances after awakening in cryo (if cloned
<li>Internal armor is plasteel for additional strength.</li>
<li>External armor must be installed in 2 parts, totaling 10 sheets.</li>
<li>Completed mech is more resiliant against fire, and is a bit more durable overall</li>
<li>Nanotrasen is determined to the safety of its <s>investments</s> employees.</li>
<li>NanoTrasen is determined to the safety of its <s>investments</s> employees.</li>
</ol>
</body>
</html>
+6 -6
View File
@@ -44,7 +44,7 @@ MEDICAL
if(!istype(affecting, /datum/organ/external))
affecting = H.get_organ("head")
if(affecting.status & ROBOT)
if(affecting.status & ORGAN_ROBOT)
user << "Medical equipment for a robot arm? Better get a welder..."
return
@@ -53,10 +53,10 @@ MEDICAL
if(!((affecting.name == "l_arm") || (affecting.name == "r_arm") || (affecting.name == "l_leg") || (affecting.name == "r_leg")))
user << "\red You can't apply a splint there!"
return
if(!(affecting.status & BROKEN))
if(!(affecting.status & ORGAN_BROKEN))
user << "\red [M]'s [limb] isn't broken!"
return
if(affecting.status & SPLINTED)
if(affecting.status & ORGAN_SPLINTED)
user << "\red [M]'s [limb] is already splinted!"
return
if (M != user)
@@ -75,7 +75,7 @@ MEDICAL
else
user.visible_message("\red [user] fumbles \the [src].", "\red You fumble \the [src].", "\red You hear something being wrapped.")
return
affecting.status |= SPLINTED
affecting.status |= ORGAN_SPLINTED
use(1)
M.update_clothing()
return
@@ -115,8 +115,8 @@ MEDICAL
"You hear gauze being ripped.")
use(1)
if (!ointment && (affecting.status & BLEEDING))
affecting.status &= ~BLEEDING
if (!ointment && (affecting.status & ORGAN_BLEEDING))
affecting.status &= ~ORGAN_BLEEDING
if (affecting.heal_damage(src.heal_brute, src.heal_burn))
H.UpdateDamageIcon()
@@ -24,8 +24,8 @@
var/mob/living/carbon/human/H = M
var/datum/organ/external/S = H.organs[user.zone_sel.selecting]
if(S.status & DESTROYED)
if(!(S.status & ATTACHABLE))
if(S.status & ORGAN_DESTROYED)
if(!(S.status & ORGAN_ATTACHABLE))
user << "\red The wound is not ready for a replacement!"
return 0
if(M != user)
@@ -51,17 +51,17 @@
user << "\red You mess up!"
S.take_damage(15)
S.status &= ~BROKEN
S.status &= ~SPLINTED
S.status &= ~ATTACHABLE
S.status &= ~DESTROYED
S.status |= ROBOT
S.status &= ~ORGAN_BROKEN
S.status &= ~ORGAN_SPLINTED
S.status &= ~ORGAN_ATTACHABLE
S.status &= ~ORGAN_DESTROYED
S.status |= ORGAN_ROBOT
var/datum/organ/external/T = H.organs["[limbloc]"]
T.status &= ~BROKEN
T.status &= ~SPLINTED
T.status &= ~ATTACHABLE
T.status &= ~DESTROYED
T.status |= ROBOT
T.status &= ~ORGAN_BROKEN
T.status &= ~ORGAN_SPLINTED
T.status &= ~ORGAN_ATTACHABLE
T.status &= ~ORGAN_DESTROYED
T.status |= ORGAN_ROBOT
M.update_body()
M.updatehealth()
M.UpdateDamageIcon()
@@ -108,11 +108,11 @@ Called when surgeon interupted operation, or was interrupted (was not there with
var/datum/organ/external/S = M.organs[user.zone_sel.selecting]
if (!S)
return 0
if(S.status & DESTROYED)
if(S.status & BLEEDING)
if(S.status & ORGAN_DESTROYED)
if(S.status & ORGAN_BLEEDING)
user << "\red There's too much blood here!"
return 0
if(!(S.status & CUT_AWAY))
if(!(S.status & ORGAN_CUT_AWAY))
user << "\red The flesh hasn't been cleanly cut!"
return 0
M.visible_message( \
@@ -234,10 +234,10 @@ Called when surgeon interupted operation, or was interrupted (was not there with
if(!S || !istype(S))
return 0
if(S.status & DESTROYED)
if(S.status & ORGAN_DESTROYED)
return 0
if(S.status & ROBOT)
if(S.status & ORGAN_ROBOT)
user << "Medical equipment for a robot arm? How would that do any good..."
return 0
@@ -245,7 +245,7 @@ Called when surgeon interupted operation, or was interrupted (was not there with
user << "\red There is skin in the way!"
return 0
if(S.status & BLEEDING)
if(S.status & ORGAN_BLEEDING)
user << "\red [H] is profusely bleeding in \his [S.display_name]!"
return 0
@@ -332,11 +332,11 @@ Called when surgeon interupted operation, or was interrupted (was not there with
var/datum/organ/external/S = H.organs[user.zone_sel.selecting]
if (!S)
return 0
if(S.status & DESTROYED)
if(!(S.status & BLEEDING))
if(S.status & ORGAN_DESTROYED)
if(!(S.status & ORGAN_BLEEDING))
user << "\red There is nothing bleeding here!"
return 0
if(!(S.status & CUT_AWAY))
if(!(S.status & ORGAN_CUT_AWAY))
user << "\red The flesh hasn't been cleanly cut!"
return 0
H.visible_message( \
@@ -346,7 +346,7 @@ Called when surgeon interupted operation, or was interrupted (was not there with
H.visible_message( \
"\red [user] finishes clamping bleeders in the stump where [H]'s [S.display_name] used to be with [src]!", \
"\red [user] finishes clamping bleeders in the stump where your [S.display_name] used to be with [src]!")
S.status &= ~BLEEDING
S.status &= ~ORGAN_BLEEDING
H.updatehealth()
H.UpdateDamageIcon()
return 1
@@ -426,7 +426,7 @@ Called when surgeon interupted operation, or was interrupted (was not there with
M.face_op_stage = 2.0
var/datum/organ/external/S = M.organs["head"]
S.status &= ~BLEEDING
S.status &= ~ORGAN_BLEEDING
M.updatehealth()
M.UpdateDamageIcon()
return 1
@@ -509,10 +509,10 @@ Called when surgeon interupted operation, or was interrupted (was not there with
if(!S || !istype(S))
return 0
if(S.status & DESTROYED)
if(S.status & ORGAN_DESTROYED)
return 0
if(S.status & ROBOT)
if(S.status & ORGAN_ROBOT)
user << "Medical equipment for a robot arm? How would that do any good?"
return 0
@@ -520,7 +520,7 @@ Called when surgeon interupted operation, or was interrupted (was not there with
user << "\red There is skin in the way!"
return 0
if(!(S.status & BLEEDING))
if(!(S.status & ORGAN_BLEEDING))
if(S.implant)
implant_surgery(H,user)
return 1
@@ -540,7 +540,7 @@ Called when surgeon interupted operation, or was interrupted (was not there with
if(user.zone_sel.selecting == "head" && H:brain_op_stage == 1)
H:brain_op_stage = 0
S.status &= ~BLEEDING
S.status &= ~ORGAN_BLEEDING
H.updatehealth()
H.UpdateDamageIcon()
else
@@ -721,7 +721,7 @@ Called when surgeon interupted operation, or was interrupted (was not there with
if(!S.open)
usr << "<b>You have to cut the limb open first!</b>"
return
if(S.status & ROBOT)
if(S.status & ORGAN_ROBOT)
user << "Medical equipment for a robot arm? How would that do any good?"
return
for(var/mob/O in viewers(M))
@@ -769,11 +769,11 @@ Called when surgeon interupted operation, or was interrupted (was not there with
var/datum/organ/external/S = H.organs[user.zone_sel.selecting]
if (!S)
return 0
if(S.status & DESTROYED)
if(S.status & BLEEDING)
if(S.status & ORGAN_DESTROYED)
if(S.status & ORGAN_BLEEDING)
user << "\red There's too much blood here!"
return 0
if(!(S.status & CUT_AWAY))
if(!(S.status & ORGAN_CUT_AWAY))
user << "\red The flesh hasn't been cleanly cut!"
return 0
if(S.open != 3)
@@ -788,7 +788,7 @@ Called when surgeon interupted operation, or was interrupted (was not there with
"\red [user] finishes adjusting the area around your [S.display_name]!")
S.open = 0
S.stage = 0
S.status |= ATTACHABLE
S.status |= ORGAN_ATTACHABLE
S.amputated = 1 // this should prevent the wound from hurting etc.
H.updatehealth()
H.UpdateDamageIcon()
@@ -850,10 +850,10 @@ Called when surgeon interupted operation, or was interrupted (was not there with
if(!S || !istype(S))
return 0
if(S.status & DESTROYED)
if(S.status & ORGAN_DESTROYED)
user << "What [S.display_name]?"
if(S.status & ROBOT)
if(S.status & ORGAN_ROBOT)
user << "Medical equipment for a robot arm? How would that do any good..."
return
if(!S.open)
@@ -935,7 +935,7 @@ Called when surgeon interupted operation, or was interrupted (was not there with
return
if(istype(H) && H.organs["head"])
var/datum/organ/external/affecting = H.organs["head"]
if(affecting.status & DESTROYED)
if(affecting.status & ORGAN_DESTROYED)
return ..()
if(brain_surgery(M,user))
return
@@ -1047,7 +1047,7 @@ Called when surgeon interupted operation, or was interrupted (was not there with
var/datum/organ/external/S = M.organs[user.zone_sel.selecting]
if (!S)
return
if(S.status & DESTROYED)
if(S.status & ORGAN_DESTROYED)
M.visible_message( \
"\red [user] is beginning to cut away at the flesh where [M]'s [S.display_name] used to be with [src].", \
"\red [user] begins to cut away at the flesh where [S.display_name] used to be with [src]!")
@@ -1055,7 +1055,7 @@ Called when surgeon interupted operation, or was interrupted (was not there with
M.visible_message( \
"\red [user] finishes cutting where [M]'s [S.display_name] used to be with [src]!", \
"\red [user] finishes cutting where your [S.display_name] used to be with [src]!")
S.status |= BLEEDING|CUT_AWAY
S.status |= ORGAN_BLEEDING|ORGAN_CUT_AWAY
M.updatehealth()
M.UpdateDamageIcon()
return 1
@@ -1115,10 +1115,10 @@ Called when surgeon interupted operation, or was interrupted (was not there with
if(!S || !istype(S))
return 0
if(S.status & DESTROYED)
if(S.status & ORGAN_DESTROYED)
return 0
if(S.status & ROBOT)
if(S.status & ORGAN_ROBOT)
user << "Medical equipment for a robot arm? How would that do any good..."
return 0
@@ -1134,7 +1134,7 @@ Called when surgeon interupted operation, or was interrupted (was not there with
"\red [user] cuts open the wound in [H]'s [S.display_name] with [src]!", \
"\red [user] cuts open the wound in your [S.display_name] with [src]!")
S.status |= BLEEDING
S.status |= ORGAN_BLEEDING
S.open = 1
if(S.display_name == "head")
H:brain_op_stage = 1.0
@@ -1210,10 +1210,10 @@ Called when surgeon interupted operation, or was interrupted (was not there with
var/datum/organ/external/S = H:organs[user.zone_sel.selecting]
if (!S)
return
if(S.status & DESTROYED)
if(S.status & ORGAN_DESTROYED)
return
if(S.status & ROBOT)
if(S.status & ORGAN_ROBOT)
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
spark_system.set_up(5, 0, H)
spark_system.attach(H)
@@ -1348,33 +1348,33 @@ Called when surgeon interupted operation, or was interrupted (was not there with
var/datum/organ/external/temp = M.organs[zone]
var/msg
if(temp.status & DESTROYED)
if(temp.status & ORGAN_DESTROYED)
return ..()
// quickly convert embryo removal to bone surgery
if(zone == "chest" && M.embryo_op_stage == 3)
M.embryo_op_stage = 0
temp.open = 2
temp.status &= ~BLEEDING
temp.status &= ~ORGAN_BLEEDING
// quickly convert appendectomy to bone surgery
if(zone == "groin" && M.appendix_op_stage == 3)
M.appendix_op_stage = 0
temp.open = 2
temp.status &= ~BLEEDING
temp.status &= ~ORGAN_BLEEDING
msg = get_message(1,M,user,temp)
for(var/mob/O in viewers(M,null))
O.show_message("\red [msg]",1)
if(do_mob(user,M,time))
if(temp.open == 2 && !(temp.status & BLEEDING))
if(temp.open == 2 && !(temp.status & ORGAN_BLEEDING))
if(temp.broken_description in wound)
if(temp.stage in stage)
temp.stage += 1
if(IsFinalStage(temp.stage))
temp.status &= ~BROKEN
temp.status &= ~SPLINTED
temp.status &= ~ORGAN_BROKEN
temp.status &= ~ORGAN_SPLINTED
temp.stage = 0
temp.perma_injury = 0
temp.brute_dam = temp.min_broken_damage -1
@@ -1472,17 +1472,17 @@ Called when surgeon interupted operation, or was interrupted (was not there with
var/mob/living/carbon/human/H = M
for(var/name in H.organs)
var/datum/organ/external/e = H.organs[name]
if(e.status & DESTROYED) // this is nanites, not space magic
if(e.status & ORGAN_DESTROYED) // this is nanites, not space magic
continue
e.brute_dam = 0.0
e.burn_dam = 0.0
e.status &= ~BANDAGED
e.status &= ~ORGAN_BANDAGED
e.max_damage = initial(e.max_damage)
e.status &= ~BLEEDING
e.status &= ~ORGAN_BLEEDING
e.open = 0
e.status &= ~BROKEN
e.status &= ~DESTROYED
e.status &= ~SPLINTED
e.status &= ~ORGAN_BROKEN
e.status &= ~ORGAN_DESTROYED
e.status &= ~ORGAN_SPLINTED
e.perma_injury = 0
e.update_icon()
H.update_body()
@@ -1516,4 +1516,4 @@ Called when surgeon interupted operation, or was interrupted (was not there with
if(!isnull(user))//If the user still exists. Their mob may not.
user.show_message(text("\red You inject [M]"))
return
return
+2 -2
View File
@@ -327,7 +327,7 @@ WELDINGTOOOL
/obj/item/weapon/weldingtool/attack(mob/M as mob, mob/user as mob)
if(hasorgans(M))
var/datum/organ/external/S = M:organs[user.zone_sel.selecting]
if(!(S.status & ROBOT) || user.a_intent != "help")
if(!(S.status & ORGAN_ROBOT) || user.a_intent != "help")
return ..()
if(S.brute_dam)
S.heal_damage(15,0,0,1)
@@ -404,4 +404,4 @@ WELDINGTOOOL
M.update_clothing()
return
else
..()
..()