mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-17 10:03:50 +01:00
meanwhile as i driver tiger INSANE
This commit is contained in:
@@ -27,7 +27,6 @@
|
||||
#define ORGAN_DEAD 1024
|
||||
#define ORGAN_MUTATED 2048
|
||||
#define ORGAN_ASSISTED 4096
|
||||
#define ORGAN_ORGANIC 8192
|
||||
|
||||
#define DROPLIMB_EDGE 0
|
||||
#define DROPLIMB_BLUNT 1
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
//socks
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/socks, socks_list, socks_m, socks_f)
|
||||
|
||||
//init_subtypes(/datum/surgery_step, surgery_steps)
|
||||
init_subtypes(/datum/surgery_step, surgery_steps)
|
||||
|
||||
for(var/path in (subtypesof(/datum/surgery)))
|
||||
surgeries_list += new path()
|
||||
|
||||
@@ -72,4 +72,5 @@ var/global/list/blocked_mobs = list(/mob/living/simple_animal,
|
||||
var/global/list/med_hud_users = list()
|
||||
var/global/list/sec_hud_users = list()
|
||||
var/global/list/antag_hud_users = list()
|
||||
var/global/list/surgeries_list = list()
|
||||
//items that ask to be called every cycle
|
||||
|
||||
@@ -27,4 +27,3 @@ var/global/list/power_monitors = list()
|
||||
var/global/list/beacons = list()
|
||||
var/global/list/shuttle_caller_list = list() //list of all communication consoles and AIs, for automatic shuttle calls when there are none.
|
||||
var/global/list/tracked_implants = list() //list of all current implants that are tracked to work out what sort of trek everyone is on. Sadly not on lavaworld not implemented...
|
||||
var/global/list/surgeries_list = list() //list of all surgeries by name, associated with their path.
|
||||
@@ -34,13 +34,18 @@
|
||||
if(istype(src,/obj/item/robot_parts))//popup ovveride for direct attach
|
||||
if(!attempt_initiate_surgery(src, M, user,1))
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
if(istype(src,/obj/item/weapon/screwdriver) && M.get_species() == "Machine")
|
||||
if(!attempt_initiate_surgery(src, M, user))
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
if(is_sharp(src))
|
||||
if(!attempt_initiate_surgery(src, M, user))
|
||||
return 0
|
||||
return
|
||||
else
|
||||
return 1
|
||||
|
||||
if (istype(M,/mob/living/carbon/brain))
|
||||
messagesource = M:container
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
implant_overlay = null
|
||||
origin_tech = "biotech=4"
|
||||
slot = "eye_ling"
|
||||
status = ORGAN_ORGANIC
|
||||
status = 0
|
||||
|
||||
/obj/item/organ/internal/cyberimp/eyes/shield/ling/on_life()
|
||||
..()
|
||||
@@ -64,7 +64,7 @@
|
||||
implant_overlay = null
|
||||
origin_tech = "biotech=5;magnets=5"
|
||||
slot = "eye_ling"
|
||||
status = ORGAN_ORGANIC
|
||||
status = 0
|
||||
aug_message = "We feel a minute twitch in our eyes, and darkness creeps away."
|
||||
|
||||
/obj/item/organ/internal/cyberimp/eyes/thermals/ling/emp_act(severity)
|
||||
|
||||
@@ -161,7 +161,7 @@
|
||||
user <<"<span class='warning'>...and you don't feel any different.</span>"
|
||||
|
||||
user.drop_item()
|
||||
src.insert(user) //Consuming the heart literally replaces your heart with a demon heart. H A R D C O R E
|
||||
insert(user) //Consuming the heart literally replaces your heart with a demon heart. H A R D C O R E
|
||||
|
||||
/obj/item/organ/internal/heart/demonheart/remove(mob/living/carbon/M, special = 0)
|
||||
..()
|
||||
|
||||
@@ -462,7 +462,7 @@ var/global/list/multiverse = list()
|
||||
|
||||
if("cyborg")
|
||||
if(M.get_species() != "Machine")
|
||||
for(var/obj/item/organ/internal/O in M.organs)
|
||||
for(var/obj/item/organ/O in M.organs)
|
||||
O.robotize()
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/eyepatch(M), slot_glasses)
|
||||
M.equip_to_slot_or_del(sword, slot_r_hand)
|
||||
|
||||
@@ -324,17 +324,13 @@
|
||||
user << "<span class='notice'>You clear the hatched egg.</span>"
|
||||
playsound(loc, 'sound/effects/attackblob.ogg', 100, 1)
|
||||
qdel(src)
|
||||
return
|
||||
if(GROWING)
|
||||
user << "<span class='notice'>The child is not developed yet.</span>"
|
||||
return
|
||||
if(GROWN)
|
||||
user << "<span class='notice'>You retrieve the child.</span>"
|
||||
Burst(0)
|
||||
return
|
||||
else
|
||||
user << "<span class='notice'>It feels slimy.</span>"
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
|
||||
/obj/structure/alien/egg/proc/GetFacehugger()
|
||||
return locate(/obj/item/clothing/mask/facehugger) in contents
|
||||
|
||||
@@ -247,7 +247,7 @@ REAGENT SCANNER
|
||||
user.show_message("\blue Subject's pulse: <font color='[H.pulse == PULSE_THREADY || H.pulse == PULSE_NONE ? "red" : "blue"]'>[H.get_pulse(GETPULSE_TOOL)] bpm.</font>")
|
||||
var/implant_detect
|
||||
for(var/obj/item/organ/internal/cyberimp/CI in H.internal_organs)
|
||||
if(CI.status == ORGAN_ROBOT )
|
||||
if(CI.status == ORGAN_ROBOT)
|
||||
implant_detect += "[H.name] is modified with a [CI.name].<br>"
|
||||
if(implant_detect)
|
||||
user.show_message("<span class='notice'>Detected cybernetic modifications:</span>")
|
||||
|
||||
@@ -112,10 +112,6 @@
|
||||
affecting.heal_damage(src.heal_brute, src.heal_burn, 0)
|
||||
use(1)
|
||||
else
|
||||
//if (can_operate(H)) //Checks if mob is lying down on table for surgery
|
||||
// if (do_surgery(H,user,src))
|
||||
// return
|
||||
//else
|
||||
user << "<span class='notice'>The [affecting.name] is cut open, you'll need more than some ointment!</span>"
|
||||
|
||||
/obj/item/stack/medical/bruise_pack/comfrey
|
||||
@@ -177,10 +173,6 @@
|
||||
affecting.heal_damage(heal_brute,0)
|
||||
use(1)
|
||||
else
|
||||
//if (can_operate(H)) //Checks if mob is lying down on table for surgery
|
||||
// if (do_surgery(H,user,src))
|
||||
// return
|
||||
//else
|
||||
user << "<span class='notice'>The [affecting.name] is cut open, you'll need more than a bandage!</span>"
|
||||
|
||||
/obj/item/stack/medical/advanced/ointment
|
||||
@@ -210,10 +202,6 @@
|
||||
affecting.heal_damage(0,heal_burn)
|
||||
use(1)
|
||||
else
|
||||
//if (can_operate(H)) //Checks if mob is lying down on table for surgery
|
||||
// if (do_surgery(H,user,src))
|
||||
// return
|
||||
//else
|
||||
user << "<span class='notice'>The [affecting.name] is cut open, you'll need more than a bandage!</span>"
|
||||
|
||||
/obj/item/stack/medical/splint
|
||||
|
||||
@@ -27,10 +27,6 @@
|
||||
var/mob/living/carbon/human/H = M
|
||||
var/obj/item/organ/external/S = H.get_organ(user.zone_sel.selecting)
|
||||
|
||||
//if(can_operate(H))
|
||||
// if (do_surgery(H,user,src))
|
||||
// return
|
||||
|
||||
if (S && (S.status & ORGAN_ROBOT))
|
||||
if(S.get_damage())
|
||||
S.heal_damage(15, 15, robo_repair = 1)
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
if(!M.can_eat())
|
||||
user << "<span class=warning>[M] cannot eat with a fork!</span>"
|
||||
return
|
||||
|
||||
|
||||
if(M == user)
|
||||
M.visible_message("<span class='notice'>\The [user] eats some [loaded] from \the [src].</span>")
|
||||
reagents.trans_to(M, reagents.total_volume)
|
||||
@@ -69,9 +69,6 @@
|
||||
overlays.Cut()
|
||||
return
|
||||
|
||||
//if (can_operate(M))
|
||||
// do_surgery(M, user, src)
|
||||
|
||||
/obj/item/weapon/kitchen/utensil/fork
|
||||
name = "fork"
|
||||
desc = "It's a fork. Sure is pointy."
|
||||
|
||||
@@ -1640,7 +1640,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
|
||||
else
|
||||
O.robotize()
|
||||
else
|
||||
var/obj/item/organ/internal/I = character.get_int_organ(name)
|
||||
var/obj/item/organ/internal/I = character.get_int_organ_tag(name)
|
||||
if(I)
|
||||
if(status == "assisted")
|
||||
I.mechassist()
|
||||
|
||||
@@ -58,7 +58,6 @@
|
||||
|
||||
|
||||
/mob/living/carbon/alien/adjustToxLoss(amount)
|
||||
//moved to xeno organs
|
||||
return
|
||||
|
||||
/mob/living/carbon/alien/adjustFireLoss(amount) // Weak to Fire
|
||||
@@ -68,8 +67,6 @@
|
||||
..(amount)
|
||||
return
|
||||
|
||||
///mob/living/carbon/alien/getPlasma()
|
||||
// return storedPlasma
|
||||
|
||||
/mob/living/carbon/alien/eyecheck()
|
||||
return 2
|
||||
@@ -83,16 +80,6 @@
|
||||
|
||||
/mob/living/carbon/alien/handle_environment(var/datum/gas_mixture/environment)
|
||||
|
||||
//If there are alien weeds on the ground then heal if needed or give some toxins
|
||||
/*if(locate(/obj/structure/alien/weeds) in loc)
|
||||
if(health >= maxHealth - getCloneLoss())
|
||||
adjustToxLoss(plasma_rate)
|
||||
else
|
||||
adjustBruteLoss(-heal_rate)
|
||||
adjustFireLoss(-heal_rate)
|
||||
adjustOxyLoss(-heal_rate)
|
||||
*///moved to organs
|
||||
|
||||
if(!environment)
|
||||
return
|
||||
|
||||
@@ -179,8 +166,6 @@
|
||||
|
||||
..()
|
||||
|
||||
//if (client.statpanel == "Status")//ORGANS
|
||||
// stat(null, "Plasma Stored: [getPlasma()]/[max_plasma]")
|
||||
|
||||
show_stat_emergency_shuttle_eta()
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
internal_organs += new /obj/item/organ/internal/xenos/acidgland
|
||||
internal_organs += new /obj/item/organ/internal/xenos/resinspinner
|
||||
..()
|
||||
//
|
||||
|
||||
//Drones use the same base as generic humanoids.
|
||||
//Drone verbs
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
// Queen check
|
||||
var/no_queen = 1
|
||||
for(var/mob/living/carbon/alien/humanoid/queen/Q in living_mob_list)
|
||||
if(!Q.key && Q.get_int_organ(/obj/item/organ/internal/brain/))//Q.brain_op_stage != 4)
|
||||
if(!Q.key && Q.get_int_organ(/obj/item/organ/internal/brain/))
|
||||
continue
|
||||
no_queen = 0
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ var/const/ALIEN_AFK_BRACKET = 450 // 45 seconds
|
||||
/obj/item/organ/internal/body_egg/alien_embryo/on_find(mob/living/finder)
|
||||
..()
|
||||
if(stage < 4)
|
||||
finder << "It's small and weak, barely the size of a foetus."
|
||||
finder << "It's small and weak, barely the size of a fetus."
|
||||
else
|
||||
finder << "It's grown quite large, and writhes slightly as you look at it."
|
||||
if(prob(10))
|
||||
@@ -72,10 +72,6 @@ var/const/ALIEN_AFK_BRACKET = 450 // 45 seconds
|
||||
|
||||
|
||||
if(stage == 5 && prob(50))
|
||||
//for(var/datum/surgery/S in owner.surgeries)
|
||||
// if(S.location == "chest" && istype(S.get_surgery_step(), /datum/surgery_step/manipulate_organs))
|
||||
// AttemptGrow(0)
|
||||
// return
|
||||
AttemptGrow()
|
||||
|
||||
/obj/item/organ/internal/body_egg/alien_embryo/proc/AttemptGrow(var/gib_on_success = 1)
|
||||
|
||||
@@ -19,9 +19,6 @@
|
||||
var/obj/item/head = null
|
||||
var/obj/item/clothing/suit/wear_suit = null //TODO: necessary? Are they even used? ~Carn
|
||||
|
||||
//Surgery info
|
||||
//var/datum/surgery_status/op_stage = new/datum/surgery_status
|
||||
|
||||
//Active emote/pose
|
||||
var/pose = null
|
||||
|
||||
|
||||
@@ -253,13 +253,13 @@
|
||||
if(getBrainLoss() >= 60)
|
||||
msg += "[t_He] [t_has] a stupid expression on [t_his] face.\n"
|
||||
|
||||
if(species.show_ssd && (!species.has_organ["brain"] || src.get_int_organ(/obj/item/organ/internal/brain)) && stat != DEAD)
|
||||
if(species.show_ssd && (!species.has_organ["brain"] || get_int_organ(/obj/item/organ/internal/brain)) && stat != DEAD)
|
||||
if(!key)
|
||||
msg += "<span class='deadsay'>[t_He] [t_is] fast asleep. It doesn't look like they are waking up anytime soon.</span>\n"
|
||||
else if(!client)
|
||||
msg += "[t_He] [t_has] suddenly fallen asleep.\n"
|
||||
|
||||
if(!src.get_int_organ(/obj/item/organ/internal/brain) && !species.name == "Diona")
|
||||
if(!get_int_organ(/obj/item/organ/internal/brain))
|
||||
msg += "<span class='deadsay'>It appears that [t_his] brain is missing...</span>\n"
|
||||
|
||||
var/list/wound_flavor_text = list()
|
||||
|
||||
@@ -4,10 +4,8 @@
|
||||
eyes.update_colour()
|
||||
regenerate_icons()
|
||||
|
||||
///mob/living/carbon/var/list/internal_organs = list()
|
||||
/mob/living/carbon/human/var/list/organs = list()
|
||||
/mob/living/carbon/human/var/list/organs_by_name = list() // map organ names to organs
|
||||
//mob/living/carbon/human/var/list/internal_organs_by_name = list() // so internal organs have less ickiness too
|
||||
|
||||
// Takes care of organ related updates, such as broken and missing limbs
|
||||
/mob/living/carbon/human/proc/handle_organs()
|
||||
|
||||
@@ -216,7 +216,7 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
|
||||
if(!(species.flags & RADIMMUNE))
|
||||
if (radiation)
|
||||
|
||||
if(src.get_int_organ(/obj/item/organ/internal/nucleation/resonant_crystal))
|
||||
if(get_int_organ(/obj/item/organ/internal/nucleation/resonant_crystal))
|
||||
var/rads = radiation/25
|
||||
radiation -= rads
|
||||
radiation -= 0.1
|
||||
@@ -886,7 +886,7 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
|
||||
//Vision //god knows why this is here
|
||||
var/obj/item/organ/vision
|
||||
if(species.vision_organ)
|
||||
vision = src.get_int_organ(species.vision_organ)
|
||||
vision = get_int_organ(species.vision_organ)
|
||||
|
||||
if(!species.vision_organ) // Presumably if a species has no vision organs, they see via some other means.
|
||||
eye_blind = 0
|
||||
@@ -1206,7 +1206,7 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
|
||||
/mob/living/carbon/human/proc/handle_heartbeat()
|
||||
var/client/C = src.client
|
||||
if(C && C.prefs.sound & SOUND_HEARTBEAT) //disable heartbeat by pref
|
||||
var/obj/item/organ/internal/heart/H = src.get_int_organ(/obj/item/organ/internal/heart)
|
||||
var/obj/item/organ/internal/heart/H = get_int_organ(/obj/item/organ/internal/heart)
|
||||
|
||||
if(!H) //H.status will runtime if there is no H (obviously)
|
||||
return
|
||||
|
||||
@@ -144,15 +144,14 @@
|
||||
|
||||
|
||||
for(var/obj/item/organ/internal/iorgan in H.internal_organs)
|
||||
if((iorgan in H.internal_organs))
|
||||
if(iorgan in H.internal_organs)
|
||||
qdel(iorgan)
|
||||
|
||||
for(var/obj/item/organ/organ in H.contents)
|
||||
if((organ in H.organs))
|
||||
if(organ in H.organs)
|
||||
qdel(organ)
|
||||
|
||||
if(H.organs) H.organs.Cut()
|
||||
//if(H.internal_organs) H.internal_organs.Cut()
|
||||
if(H.organs_by_name) H.organs_by_name.Cut()
|
||||
|
||||
H.organs = list()
|
||||
|
||||
@@ -360,7 +360,7 @@
|
||||
assailant.attack_log += text("\[[time_stamp()]\] <font color='red'>Pressed fingers into the eyes of [affecting.name] ([affecting.ckey])</font>")
|
||||
affecting.attack_log += text("\[[time_stamp()]\] <font color='orange'>Had fingers pressed into their eyes by [assailant.name] ([assailant.ckey])</font>")
|
||||
msg_admin_attack("[key_name(assailant)] has pressed his fingers into [key_name(affecting)]'s eyes.")
|
||||
var/obj/item/organ/internal/eyes/eyes = affected.internal_organs_by_name["eyes"]
|
||||
var/obj/item/organ/internal/eyes/eyes = affected.get_int_organ(/obj/item/organ/internal/eyes)
|
||||
eyes.damage += rand(3,4)
|
||||
if (eyes.damage >= eyes.min_broken_damage)
|
||||
if(M.stat != 2)
|
||||
|
||||
@@ -186,7 +186,7 @@
|
||||
continue
|
||||
// Where we're going, we don't need eyes.
|
||||
// Prosthetic eyes will also protect against this business.
|
||||
var/obj/item/organ/internal/eyes/eyes = l.get_int_organ(/obj/item/organ/internal/eyes/)
|
||||
var/obj/item/organ/internal/eyes/eyes = l.get_int_organ(/obj/item/organ/internal/eyes)
|
||||
if(!istype(eyes))
|
||||
continue
|
||||
l.hallucination = max(0, min(200, l.hallucination + power * config_hallucination_power * sqrt( 1 / max(1,get_dist(l, src)) ) ) )
|
||||
|
||||
@@ -50,9 +50,6 @@
|
||||
/obj/item/weapon/reagent_containers/attack_self(mob/user as mob)
|
||||
return
|
||||
|
||||
/obj/item/weapon/reagent_containers/attack(mob/M as mob, mob/user as mob, def_zone)
|
||||
return
|
||||
|
||||
// this prevented pills, food, and other things from being picked up by bags.
|
||||
// possibly intentional, but removing it allows us to not duplicate functionality.
|
||||
// -Sayu (storage conslidation)
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
/datum/surgery/bone_repair
|
||||
name = "bone repair"
|
||||
steps = list(/datum/surgery_step/generic/cut_open,/datum/surgery_step/generic/clamp_bleeders,/datum/surgery_step/generic/retract_skin, /datum/surgery_step/glue_bone, /datum/surgery_step/set_bone,/datum/surgery_step/finish_bone,/datum/surgery_step/generic/cauterize)
|
||||
possible_locs = list("chest","l_arm", "l_hand","r_arm","r_hand","r_leg","r_foot","l_leg","l_foot","groin")
|
||||
possible_locs = list("chest", "l_arm", "l_hand", "r_arm", "r_hand","r_leg", "r_foot", "l_leg", "l_foot", "groin")
|
||||
|
||||
/datum/surgery/bone_repair/skull
|
||||
name = "bone repair"
|
||||
steps = list(/datum/surgery_step/generic/cut_open,/datum/surgery_step/generic/clamp_bleeders, /datum/surgery_step/generic/retract_skin, /datum/surgery_step/glue_bone, /datum/surgery_step/mend_skull,/datum/surgery_step/finish_bone,/datum/surgery_step/generic/cauterize)
|
||||
steps = list(/datum/surgery_step/generic/cut_open, /datum/surgery_step/generic/clamp_bleeders, /datum/surgery_step/generic/retract_skin, /datum/surgery_step/glue_bone, /datum/surgery_step/mend_skull, /datum/surgery_step/finish_bone, /datum/surgery_step/generic/cauterize)
|
||||
possible_locs = list("head")
|
||||
|
||||
/datum/surgery/bone_repair/can_start(mob/user, mob/living/carbon/target)
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
datumvars//note i am putting External in robolimbs.
|
||||
|
||||
#define STUN_SET_AMOUNT 2
|
||||
|
||||
/obj/item/organ/internal/cyberimp
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
/obj/item/organ/internal/body_egg/New(loc)
|
||||
if(iscarbon(loc))
|
||||
src.insert(loc)
|
||||
insert(loc)
|
||||
return ..()
|
||||
|
||||
/obj/item/organ/internal/body_egg/insert(var/mob/living/carbon/M, special = 0)
|
||||
|
||||
@@ -5,7 +5,7 @@ var/list/organ_cache = list()
|
||||
icon = 'icons/obj/surgery.dmi'
|
||||
var/dead_icon
|
||||
var/mob/living/carbon/human/owner = null
|
||||
var/status = ORGAN_ORGANIC
|
||||
var/status = 0
|
||||
var/vital //Lose a vital limb, die immediately.
|
||||
var/damage = 0 // amount of damage to the organ
|
||||
|
||||
@@ -32,31 +32,6 @@ var/list/organ_cache = list()
|
||||
var/sterile = 0 //can the organ be infected by germs?
|
||||
var/tough = 0 //can organ be easily damaged?
|
||||
|
||||
|
||||
/*/obj/item/organ/Destroy()
|
||||
if(!owner)
|
||||
return ..()
|
||||
|
||||
|
||||
if(istype(owner, /mob/living/carbon))
|
||||
if((owner.internal_organs) && (src in owner.internal_organs))
|
||||
var/obj/item/organ/internal/O = src
|
||||
O.remove(owner)
|
||||
if(istype(owner, /mob/living/carbon/human))
|
||||
var/obj/item/organ/internal/O = src
|
||||
O.remove(owner)
|
||||
if((owner.organs) && (src in owner.organs))
|
||||
owner.organs -= src
|
||||
if((owner.organs_by_name) && (src in owner.organs_by_name))
|
||||
owner.organs_by_name -= src
|
||||
|
||||
if(src in owner.contents)
|
||||
owner.contents -= src
|
||||
|
||||
return ..()*/
|
||||
|
||||
|
||||
|
||||
/obj/item/organ/proc/update_health()
|
||||
return
|
||||
|
||||
@@ -97,8 +72,6 @@ var/list/organ_cache = list()
|
||||
owner.death()
|
||||
|
||||
/obj/item/organ/process()
|
||||
//if(loc != owner)
|
||||
// owner = null
|
||||
|
||||
//dead already, no need for more processing
|
||||
if(status & ORGAN_DEAD)
|
||||
@@ -287,11 +260,6 @@ var/list/organ_cache = list()
|
||||
if(!istype(owner))
|
||||
return
|
||||
|
||||
//if(is_primary_organ())//Toddo from fethas:Do i need to move ths?
|
||||
// owner.internal_organs_by_name[organ_tag] = null
|
||||
// owner.internal_organs_by_name -= organ_tag
|
||||
// owner.internal_organs_by_name -= null // uh what does this line even do this seems silly
|
||||
|
||||
owner.internal_organs -= src
|
||||
|
||||
var/obj/item/organ/external/affected = owner.get_organ(parent_organ)
|
||||
@@ -320,7 +288,7 @@ var/list/organ_cache = list()
|
||||
processing_objects -= src
|
||||
affected.internal_organs |= src
|
||||
if (!target.get_int_organ(src))
|
||||
target.internal_organs |= src
|
||||
target.internal_organs += src
|
||||
src.loc = target
|
||||
if(robotic)
|
||||
status |= ORGAN_ROBOT
|
||||
|
||||
@@ -69,7 +69,6 @@
|
||||
for(var/obj/item/organ/internal/O in internal_organs)
|
||||
internal_organs -= O
|
||||
O.remove(owner,special = 1)
|
||||
//qdel(O)
|
||||
|
||||
if(children)
|
||||
for(var/obj/item/organ/external/C in children)
|
||||
|
||||
@@ -389,6 +389,12 @@
|
||||
M.mutations.Remove(CLUMSY)
|
||||
M.mutations.Remove(COMICBLOCK)
|
||||
genemutcheck(M,COMICBLOCK,null,MUTCHK_FORCED)
|
||||
if(isturf(loc))
|
||||
visible_message("<span class='warning'>[src] honks in on itself!</span>")
|
||||
playsound(src, 'sound/items/AirHorn.ogg', 100, 1)
|
||||
new /obj/item/weapon/bananapeel(get_turf(src.loc))
|
||||
qdel(src)
|
||||
|
||||
|
||||
/obj/item/organ/internal/honktumor/on_life()
|
||||
|
||||
@@ -396,7 +402,7 @@
|
||||
return
|
||||
|
||||
if(organhonked < world.time)
|
||||
organhonked = world.time+600
|
||||
organhonked = world.time+900
|
||||
owner << "<font color='red' size='7'>HONK</font>"
|
||||
owner.sleeping = 0
|
||||
owner.stuttering = 20
|
||||
|
||||
@@ -293,7 +293,7 @@
|
||||
I.remove(target)
|
||||
I.loc = get_turf(target)
|
||||
else
|
||||
user.visible_message("[user] can't seem to extract anything from [target]'s [parse_zone(target_zone)]!",
|
||||
user.visible_message("<span class='notice'>[user] can't seem to extract anything from [target]'s [parse_zone(target_zone)]!</span>",
|
||||
"<span class='notice'>You can't extract anything from [target]'s [parse_zone(target_zone)]!</span>")
|
||||
else if(current_type == "finish")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user