Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[HOLY SHIT!]Charlie, lets go to candy mountain, charlie #2903

Merged
merged 94 commits into from
Mar 5, 2016
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
80eb828
this shit dosen't even compile yet...
Aurorablade Dec 20, 2015
4b7253b
commit so i can swap branches...
Aurorablade Dec 22, 2015
046b0b9
almost....
Aurorablade Dec 23, 2015
96c5a5c
might as well fix fonglict
Aurorablade Dec 24, 2015
5d7aa0a
missed one
Aurorablade Dec 24, 2015
1a70e9c
Merge branch 'master' of https://github.com/ParadiseSS13/Paradise int…
Aurorablade Dec 24, 2015
027d966
IT COMPILES
Aurorablade Dec 25, 2015
4e1f63d
wot
Aurorablade Dec 25, 2015
2146cc0
things
Aurorablade Dec 26, 2015
5de62e2
conflicts AHHHHHHHHHHHHHHH
Aurorablade Dec 27, 2015
648ede2
AAAAAAAAAAAAAAAHHHHHHHHHHHHHHHH
Aurorablade Dec 27, 2015
b58ed5a
Merge branch 'master' of https://github.com/ParadiseSS13/Paradise int…
Aurorablade Dec 27, 2015
92e15c1
BREAK ALL THE THINGS
Aurorablade Dec 31, 2015
a4c420c
Conflict fixing time
Aurorablade Jan 2, 2016
bd19dc6
Merge branch 'master' of https://github.com/ParadiseSS13/Paradise int…
Aurorablade Jan 2, 2016
948adea
Added Asses as an organ
Aurorablade Jan 4, 2016
2623f75
progress
Aurorablade Jan 7, 2016
87d2023
so you can almost perform surgery with a claymore
Aurorablade Jan 8, 2016
678a2e9
commit so i can go bugfix and do other things
Aurorablade Jan 9, 2016
ba87398
conflict fixes
Aurorablade Jan 15, 2016
124fc7c
urgh i update the wrong file...hush
Aurorablade Jan 15, 2016
56d9a12
too early for this shit
Aurorablade Jan 15, 2016
5f7c634
Revert "too early for this shit"
Aurorablade Jan 15, 2016
b691b71
Revert "urgh i update the wrong file...hush"
Aurorablade Jan 15, 2016
0fa96f2
Revert "conflict fixes"
Aurorablade Jan 15, 2016
9b80140
way to early...
Aurorablade Jan 15, 2016
51013b9
Merge branch 'master' of https://github.com/ParadiseSS13/Paradise int…
Aurorablade Jan 15, 2016
cc8f402
progress
Aurorablade Jan 22, 2016
363da58
being conflict fix
Aurorablade Jan 22, 2016
95dca71
Merge branch 'OrganRefactor' of https://github.com/Aurorablade/Paradi…
Aurorablade Jan 22, 2016
f352c29
end conflict fix
Aurorablade Jan 22, 2016
20b1506
the map errors don't have a heart...
Aurorablade Jan 22, 2016
42d8ac6
xeno organ fail still...
Aurorablade Jan 23, 2016
53f4102
home streach.
Aurorablade Jan 27, 2016
5424446
Begin Conflict fixes(1/2)
Aurorablade Jan 27, 2016
9b5f844
begin conflict fix (2/2)
Aurorablade Jan 27, 2016
e9c2d27
being conflict fix(3/2)
Aurorablade Jan 27, 2016
b2881bd
Merge branch 'master' of https://github.com/ParadiseSS13/Paradise int…
Aurorablade Jan 27, 2016
3a39d9d
end conflict fixes
Aurorablade Jan 27, 2016
c4d151c
you buy organ, yaya?
Aurorablade Jan 31, 2016
e926935
onward to merge conflicts!
Aurorablade Feb 2, 2016
8daac69
i hate this shit right here...
Aurorablade Feb 2, 2016
276e5a0
Merge conflicts GO
Aurorablade Feb 2, 2016
25876fd
Merge branch 'master' of https://github.com/ParadiseSS13/Paradise int…
Aurorablade Feb 2, 2016
6001f3d
ayyy merge conflicts fix
Aurorablade Feb 3, 2016
0fc841f
can i sleep uyet
Aurorablade Feb 3, 2016
12b3ccb
why
Aurorablade Feb 5, 2016
e1899e4
almost
Aurorablade Feb 6, 2016
e5f5b68
fixed slime surgery
Aurorablade Feb 7, 2016
3b90cb7
almost ready for review
Aurorablade Feb 8, 2016
eca3edf
LIMBSTUMPS
Aurorablade Feb 9, 2016
5e8fa9d
commiting before fixing merge conflicts
Aurorablade Feb 11, 2016
0f77eb0
Conflicts
Aurorablade Feb 11, 2016
545d3ab
Merge branch 'master' of https://github.com/ParadiseSS13/Paradise int…
Aurorablade Feb 11, 2016
b42d865
almost ready for review
Aurorablade Feb 12, 2016
c501100
its done
Aurorablade Feb 12, 2016
7cb4534
Dionas have a liver
Aurorablade Feb 13, 2016
3f2ac37
Well that was fast..conflict fix
Aurorablade Feb 13, 2016
9a55bb1
Merge branch 'master' of https://github.com/ParadiseSS13/Paradise int…
Aurorablade Feb 13, 2016
400ed30
issue with identity transfer
Aurorablade Feb 13, 2016
d532473
gibs rustled, limbs logged
Aurorablade Feb 14, 2016
066fafa
spawning..no not in that way..
Aurorablade Feb 14, 2016
08d7976
AAHHHHHHHHHHHHHHHHHH
Aurorablade Feb 15, 2016
d81fbaf
riohgeroi
Aurorablade Feb 15, 2016
e725613
Fixes organ DNA and transfer
marlyn-x86 Feb 16, 2016
01ab404
Merge pull request #11 from Crazylemon64/OrganRefactor
Aurorablade Feb 16, 2016
29293dd
look ma no brain
Aurorablade Feb 18, 2016
3c952cc
MERGE CONFLICT TIME
Aurorablade Feb 18, 2016
b766120
activateing code delta
Aurorablade Feb 18, 2016
3bd1590
l-look at you hacker....
Aurorablade Feb 18, 2016
570dd61
Merge branch 'master' of https://github.com/ParadiseSS13/Paradise int…
Aurorablade Feb 19, 2016
7e07369
sgut w
Aurorablade Feb 19, 2016
7d612b0
jobs done
Aurorablade Feb 19, 2016
07381e8
just a jump to the left...
Aurorablade Feb 20, 2016
1b4fe03
....NOTHING TO SEE HERE
Aurorablade Feb 20, 2016
d861d86
halp
Aurorablade Feb 22, 2016
64d8354
ding
Aurorablade Feb 23, 2016
bbac400
fixc all the things.
Aurorablade Feb 23, 2016
c8aa308
fixed
Aurorablade Feb 24, 2016
c65b411
honk
Aurorablade Feb 24, 2016
7b1715f
here we go with this shit again
Aurorablade Feb 24, 2016
9a804eb
Merge branch 'master' of https://github.com/ParadiseSS13/Paradise int…
Aurorablade Feb 24, 2016
9e88c23
hello conflicts my old friend...
Aurorablade Feb 24, 2016
96d713f
moved up borer code to another surgery
Aurorablade Feb 24, 2016
71ebef0
honkkk
Aurorablade Feb 25, 2016
5f98feb
meanwhile as i driver tiger INSANE
Aurorablade Feb 25, 2016
9fea6b7
fixes
Aurorablade Feb 26, 2016
204d8bd
Return of the honk
Aurorablade Feb 26, 2016
8796724
comment not commenting
Aurorablade Feb 27, 2016
378c5d0
removes the removed so we can remove while we remove
Aurorablade Feb 28, 2016
60baa8c
futher removes the removed things so we can remove while we remove..
Aurorablade Feb 28, 2016
960e552
the honkening
Aurorablade Feb 29, 2016
ac02c8a
the honk strikes back
Aurorablade Feb 29, 2016
fe3eb50
I'M GOING TO OPERATE
Aurorablade Mar 1, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
16 changes: 16 additions & 0 deletions code/_onclick/hud/action.dm
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,22 @@
/datum/action/item_action/hands_free
check_flags = AB_CHECK_ALIVE|AB_CHECK_INSIDE

///prset for organ actions
/datum/action/item_action/organ_action
check_flags = AB_CHECK_ALIVE

/datum/action/item_action/organ_action/CheckRemoval(mob/living/carbon/user)
if(!iscarbon(user))
return 1
if(target in user.internal_organs)
return 0
return 1

/datum/action/item_action/organ_action/IsAvailable()
var/obj/item/organ/internal/I = target
if(!I.owner)
return 0
return ..()

//Preset for spells
/datum/action/spell_action
Expand Down
4 changes: 2 additions & 2 deletions code/datums/datumvars.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1006,7 +1006,7 @@ client
usr << "This can only be done to instances of type /mob/living/carbon"
return

var/obj/item/organ/rem_organ = input("Please choose an organ to remove.","Organ",null) as null|anything in M.internal_organs
var/obj/item/organ/internal/rem_organ = input("Please choose an organ to remove.","Organ",null) as null|anything in M.internal_organs

if(!M)
usr << "Mob doesn't exist anymore"
Expand All @@ -1017,7 +1017,7 @@ client
return

usr << "Removed [rem_organ] from [M]."
rem_organ.removed()
rem_organ.Remove(M)
message_admins("[key_name_admin(usr)] has removed the organ [rem_organ] from [key_name_admin(M)]")
log_admin("[key_name(usr)] has removed the organ [rem_organ] from [key_name(M)]")
qdel(rem_organ)
Expand Down
6 changes: 4 additions & 2 deletions code/datums/spells/inflict_handler.dm
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,11 @@
if("gib_brain")
if(ishuman(target))
var/mob/living/carbon/C = target
if(C.brain_op_stage != 4) // Their brain is already taken out
var/obj/item/organ/brain/B = new(C.loc)
var/obj/item/organ/internal/brain/B = C_target.get_int_organ(/obj/item/organ/internal/brain)//do we has brains?
if(B)
B.loc = get_turf(C_target)
B.transfer_identity(C)
C_target.internal_organs -= B
target.gib()
if("disintegrate")
target.dust()
Expand Down
2 changes: 1 addition & 1 deletion code/datums/spells/summonitem.dm
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
if(!marked_item) //linking item to the spell
message = "<span class='notice'>"
for(var/obj/item in hand_items)
if(istype(item, /obj/item/organ/brain)) //Yeah, sadly this doesn't work due to the organ system.
if(istype(item, /obj/item/organ/internal/brain)) //Yeah, sadly this doesn't work due to the organ system.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

note to self: make this work with this new organ system. Ripping someone's brain out would be hilarious.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it might, just something i can do later

break
marked_item = item
message += "You mark [item] for recall.</span>"
Expand Down
4 changes: 2 additions & 2 deletions code/game/asteroid.dm
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ var/global/max_secret_rooms = 6
walltypes = list(/turf/simulated/wall/r_wall=2,/turf/simulated/wall=2,/turf/simulated/mineral/random/high_chance=1)
floortypes = list(/turf/simulated/floor,/turf/simulated/floor/engine)
treasureitems = list(/obj/machinery/bot/medbot/mysterious=1, /obj/item/weapon/circular_saw=1, /obj/structure/closet/critter/cat=2)
fluffitems = list(/obj/effect/decal/cleanable/blood=5,/obj/item/organ/appendix=2,/obj/structure/closet/crate/freezer=2,
fluffitems = list(/obj/effect/decal/cleanable/blood=5,/obj/item/organ/internal/appendix=2,/obj/structure/closet/crate/freezer=2,
/obj/machinery/optable=1,/obj/item/weapon/scalpel=1,/obj/item/weapon/storage/firstaid/regular=3,
/obj/item/weapon/tank/anesthetic=1, /obj/item/weapon/surgical_drapes=2, /obj/item/device/mass_spectrometer/adv=1,/obj/item/clothing/glasses/hud/health=1)

Expand All @@ -72,7 +72,7 @@ var/global/max_secret_rooms = 6
treasureitems = list(/obj/item/device/soulstone=1, /obj/item/clothing/suit/space/cult=1, /obj/item/weapon/bedsheet/cult=2,
/obj/item/clothing/suit/cultrobes=2, /mob/living/simple_animal/hostile/creature=3)
fluffitems = list(/obj/effect/gateway=1,/obj/effect/gibspawner=1,/obj/structure/cult/talisman=1,/obj/item/toy/crayon/red=2,
/obj/item/organ/heart=2, /obj/effect/decal/cleanable/blood=4,/obj/structure/table/woodentable=2,/obj/item/weapon/ectoplasm=3,
/obj/item/organ/internal/heart=2, /obj/effect/decal/cleanable/blood=4,/obj/structure/table/woodentable=2,/obj/item/weapon/ectoplasm=3,
/obj/item/clothing/head/helmet/space/cult=1, /obj/item/clothing/shoes/cult=1)

if("wizden")
Expand Down
9 changes: 9 additions & 0 deletions code/game/gamemodes/changeling/powers/panacea.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,15 @@
/obj/effect/proc_holder/changeling/panacea/sting_action(var/mob/user)

user << "<span class='notice'>We cleanse impurities from our form.</span>"

var/obj/item/organ/internal/body_egg/egg = user.get_int_organ(/obj/item/organ/internal/body_egg)
if(egg)
egg.Remove(user)
if(iscarbon(user))
var/mob/living/carbon/C = user
C.vomit(0)
egg.loc = get_turf(user)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

egg.forcemove(get_turf(user))

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

code\game\gamemodes\changeling\powers\panacea.dm:20:error: egg.forcemove: undefined proc

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

forceMove, not forccemove.


user.reagents.add_reagent("mutadone", 10)
user.reagents.add_reagent("potass_iodide", 10)
user.reagents.add_reagent("charcoal", 20)
Expand Down
2 changes: 1 addition & 1 deletion code/game/gamemodes/changeling/powers/revive.dm
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
O.trace_chemicals = list()
O.wounds = list()
O.wound_update_accuracy = 1
for(var/obj/item/organ/IO in H.internal_organs)
for(var/obj/item/organ/internal/IO in H.internal_organs)
IO.damage = 0
IO.trace_chemicals = list()
H.updatehealth()
Expand Down
4 changes: 2 additions & 2 deletions code/game/gamemodes/cult/runes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -582,8 +582,8 @@ var/list/sacrificed = list()
if(!(iscultist(V)))
victims += V//Checks for cult status and mob type
for(var/obj/item/I in src.loc)//Checks for MMIs/brains/Intellicards
if(istype(I,/obj/item/organ/brain))
var/obj/item/organ/brain/B = I
if(istype(I,/obj/item/organ/internal/brain))
var/obj/item/organ/internal/brain/B = I
victims += B.brainmob
else if(istype(I,/obj/item/device/mmi))
var/obj/item/device/mmi/B = I
Expand Down
2 changes: 1 addition & 1 deletion code/game/gamemodes/wizard/artefact.dm
Original file line number Diff line number Diff line change
Expand Up @@ -461,7 +461,7 @@ var/global/list/multiverse = list()

if("cyborg")
if(M.get_species() != "Machine")
for(var/obj/item/organ/O in M.organs)
for(var/obj/item/organ/internal/O in M.organs)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should apply to every organ

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)
Expand Down
7 changes: 4 additions & 3 deletions code/game/gamemodes/wizard/godhand.dm
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,11 @@
var/mob/M = target
if(ishuman(M) || issmall(M))
var/mob/living/carbon/C_target = M
var/obj/item/organ/brain/B
if(C_target.brain_op_stage != 4) // Their brain is already taken out
B = new(C_target.loc)
var/obj/item/organ/internal/brain/B = C_target.get_int_organ(/obj/item/organ/internal/brain)
if(B)
B.loc = get_turf(C_target)
B.transfer_identity(C_target)
C_target.internal_organs -= B
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this has all been removed on main.

var/datum/effect/system/spark_spread/sparks = new
sparks.set_up(4, 0, M.loc) //no idea what the 0 is
sparks.start()
Expand Down
4 changes: 2 additions & 2 deletions code/game/machinery/adv_med.dm
Original file line number Diff line number Diff line change
Expand Up @@ -399,7 +399,7 @@
occupantData["extOrgan"] = extOrganData

var/intOrganData[0]
for(var/obj/item/organ/I in H.internal_organs)
for(var/obj/item/organ/internal/I in H.internal_organs)
var/organData[0]
organData["name"] = I.name
organData["desc"] = I.desc
Expand Down Expand Up @@ -579,7 +579,7 @@
else
dat += "<td>[e.name]</td><td>-</td><td>-</td><td>Not Found</td>"
dat += "</tr>"
for(var/obj/item/organ/i in occupant.internal_organs)
for(var/obj/item/organ/internal/i in occupant.internal_organs)
var/mech = i.desc
var/infection = "None"
switch (i.germ_level)
Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/cloning.dm
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@
if ((M.stat != 2) || (!M.client))
continue
//They need a brain!
if ((istype(M, /mob/living/carbon/human)) && (M:brain_op_stage >= 4.0))
if(istype(M, /mob/living/carbon/human) && !M.get_int_organ(/obj/item/organ/internal/brain))
continue

if (M.ckey == find_key)
Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/computer/cloning.dm
Original file line number Diff line number Diff line change
Expand Up @@ -349,7 +349,7 @@
scantemp = "<span class=\"bad\">Error: Unable to locate valid genetic data.</span>"
nanomanager.update_uis(src)
return
if (subject.brain_op_stage == 4.0)
if (!subject.get_int_organ(/obj/item/organ/internal/brain))
scantemp = "<span class=\"bad\">Error: No signs of intelligence detected.</span>"
nanomanager.update_uis(src)
return
Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/flasher.dm
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@
O.visible_message("<span class='disarm'><b>[O]</b> gasps and shields their eyes!</span>")
if (istype(O, /mob/living/carbon/human))
var/mob/living/carbon/human/H = O
var/obj/item/organ/eyes/E = H.internal_organs_by_name["eyes"]
var/obj/item/organ/internal/eyes/E = H.internal_organs_by_name["eyes"]
if (E && (E.damage > E.min_bruised_damage && prob(E.damage + 50)))
flick("e_flash", O:flash)
E.damage += rand(1, 2)
Expand Down
19 changes: 17 additions & 2 deletions code/game/objects/effects/aliens.dm
Original file line number Diff line number Diff line change
Expand Up @@ -322,8 +322,23 @@


/obj/structure/alien/egg/attack_hand(mob/user)
user << "<span class='notice'>It feels slimy.</span>"

if(user.getorgan(/obj/item/organ/internal/xenos/plasmavessel))
switch(status)
if(BURST)
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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

all of these are trailing returns, byond switches do not ever overflow

else
user << "<span class='notice'>It feels slimy.</span>"
user.changeNext_move(CLICK_CD_MELEE)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this changeNext_move is unnecessary


/obj/structure/alien/egg/proc/GetFacehugger()
return locate(/obj/item/clothing/mask/facehugger) in contents
Expand Down
6 changes: 3 additions & 3 deletions code/game/objects/items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -324,10 +324,10 @@

//the mob M is attempting to equip this item into the slot passed through as 'slot'. Return 1 if it can do this and 0 if it can't.
//If you are making custom procs but would like to retain partial or complete functionality of this one, include a 'return ..()' to where you want this to happen.
//Set disable_warning to 1 if you wish it to not give you outputs.
//Set disable_warning to 1 if you wish it to not give you outputs.
/obj/item/proc/mob_can_equip(mob/M, slot, disable_warning = 0)
if(!M)
return 0
return 0

return M.can_equip(src, slot, disable_warning)

Expand Down Expand Up @@ -427,7 +427,7 @@
"\red You stab yourself in the eyes with [src]!" \
)
if(istype(H))
var/obj/item/organ/eyes/eyes = H.internal_organs_by_name["eyes"]
var/obj/item/organ/internal/eyes/eyes = H.internal_organs_by_name["eyes"]
if(!eyes)
return
eyes.take_damage(rand(3,4), 1)
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/devices/laserpointer.dm
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@
severity -= 1
severity = min(max(severity, 0), 4)
var/mob/living/carbon/human/H = C
var/obj/item/organ/eyes/E = H.internal_organs_by_name["eyes"]
var/obj/item/organ/internal/eyes/E = H.internal_organs_by_name["eyes"]

switch(severity)
if(0)
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/devices/scanners.dm
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ REAGENT SCANNER
// user.show_message("\blue Bloodstream Analysis located [M.reagents:get_reagent_amount("epinephrine")] units of rejuvenation chemicals.")
if (M.has_brain_worms())
user.show_message("\red Subject suffering from aberrant brain activity. Recommend further scanning.")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

spans

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i only changed the internal organs path names and the cyber implant detectection... I AM NOT takking out the color macro code for the entire file that i only touched two things on. No. ;-;

else if (M.getBrainLoss() >= 100 || istype(M, /mob/living/carbon/human) && M:brain_op_stage == 4.0)
else if (M.getBrainLoss() >= 100 || istype(M, /mob/living/carbon/human) && !M.get_int_organ(/obj/item/organ/internal/brain))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only one species with that, and that is the IPC brain, which should be kinda maybe be a subtype, because then you can implant posibrains into people and they will live!

user.show_message("\red Subject is brain dead.")
else if (M.getBrainLoss() >= 60)
user.show_message("\red Severe brain damage detected. Subject likely to have mental retardation.")
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/weapons/defib.dm
Original file line number Diff line number Diff line change
Expand Up @@ -383,7 +383,7 @@
defib.deductcharge(revivecost)
add_logs(M, user, "revived", object="defibrillator")
else
if(tplus > tlimit)
if(tplus > tlimit|| !H.get_int_organ(/obj/item/organ/internal/heart))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Later, perhaps we can have organs take damage while in a dead body, and have that be the criterion for "too late for defib".

user.visible_message("<span class='boldnotice'>[defib] buzzes: Resuscitation failed - Heart tissue damage beyond point of no return for defibrillation.</span>")
else if(total_burn >= 180 || total_brute >= 180)
user.visible_message("<span class='boldnotice'>[defib] buzzes: Resuscitation failed - Severe tissue damage detected.</span>")
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/weapons/grenades/flashbang.dm
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@

if(!eye_safety && ishuman(M))
var/mob/living/carbon/human/H = M
var/obj/item/organ/eyes/E = H.internal_organs_by_name["eyes"]
var/obj/item/organ/internal/eyes/E = H.internal_organs_by_name["eyes"]
flick("e_flash", M.flash)
if (E)
E.damage += eye_damage
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/weapons/tools.dm
Original file line number Diff line number Diff line change
Expand Up @@ -358,7 +358,7 @@
var/safety = user:eyecheck()
if(ishuman(user))
var/mob/living/carbon/human/H = user
var/obj/item/organ/eyes/E = H.internal_organs_by_name["eyes"]
var/obj/item/organ/internal/eyes/E = H.internal_organs_by_name["eyes"]
if(!istype(E)) // No eyes? No problem!
return
switch(safety)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
if(buckled_mob && buckled_mob.buckled == src)
var/mob/living/M = buckled_mob

if(isalien(user))
if(user.get_int_organ(/obj/item/organ/internal/xenos/plasmavessel))
unbuckle_mob()
add_fingerprint(user)
return
Expand Down Expand Up @@ -50,9 +50,9 @@
if ( !ismob(M) || (get_dist(src, user) > 1) || (M.loc != src.loc) || user.restrained() || usr.stat || M.buckled || istype(user, /mob/living/silicon/pai) )
return

if(isalien(M))
if(M.get_int_organ(/obj/item/organ/internal/alien/plasmavessel))
return
if(!isalien(user))
if(!user.get_int_organ(/obj/item/organ/internal/alien/plasmavessel))
return

unbuckle_mob()
Expand Down
2 changes: 1 addition & 1 deletion code/modules/client/preferences.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1575,7 +1575,7 @@ datum/preferences
else
O.robotize()
else
var/obj/item/organ/I = character.internal_organs_by_name[name]
var/obj/item/organ/internal/I = character.internal_organs_by_name[name]
if(I)
if(status == "assisted")
I.mechassist()
Expand Down
2 changes: 1 addition & 1 deletion code/modules/food/recipes_microwave.dm
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@
/datum/recipe/microwave/brainburger
items = list(
/obj/item/weapon/reagent_containers/food/snacks/bun,
/obj/item/organ/brain
/obj/item/organ/internal/brain
)
result = /obj/item/weapon/reagent_containers/food/snacks/brainburger

Expand Down
2 changes: 1 addition & 1 deletion code/modules/food/recipes_oven.dm
Original file line number Diff line number Diff line change
Expand Up @@ -352,7 +352,7 @@
/obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/organ/brain
/obj/item/organ/internal/brain
)
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/braincake

Expand Down
2 changes: 1 addition & 1 deletion code/modules/mining/equipment_locker.dm
Original file line number Diff line number Diff line change
Expand Up @@ -988,7 +988,7 @@

/obj/item/weapon/hivelordstabilizer/afterattack(obj/item/M, mob/user)
var/obj/item/asteroid/hivelord_core/C = M
if(!istype(C, /obj/item/asteroid/hivelord_core))
if(!istype(C, /obj/item/organ/internal/hivelord_core))
user << "<span class='warning'>The stabilizer only works on hivelord cores.</span>"
return ..()
C.preserved = 1
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/language.dm
Original file line number Diff line number Diff line change
Expand Up @@ -363,7 +363,7 @@
var/mob/living/carbon/M = other
if(!istype(M))
return 1
if(locate(/obj/item/organ/wryn/hivenode) in M.internal_organs)
if(locate(/obj/item/organ/internal/wryn/hivenode) in M.internal_organs)
return 1

return 0
Expand Down
15 changes: 10 additions & 5 deletions code/modules/mob/living/carbon/alien/alien.dm
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,10 @@
/mob/living/carbon/alien/New()
verbs += /mob/living/carbon/verb/mob_sleep
verbs += /mob/living/verb/lay_down
internal_organs += new /obj/item/organ/brain/xeno
internal_organs += new /obj/item/organ/internal/brain/xeno
internal_organs += new /obj/item/organ/internal/xenos/hivenode
for(var/obj/item/organ/internal/I in internal_organs)
I.Insert(src)
..()

/mob/living/carbon/alien/get_default_language()
Expand Down Expand Up @@ -258,9 +261,11 @@ Des: Gives the client of the alien an image on each infected mob.
if (client)
for (var/mob/living/C in mob_list)
if(C.status_flags & XENO_HOST)
var/obj/item/alien_embryo/A = locate() in C
var/I = image('icons/mob/alien.dmi', loc = C, icon_state = "infected[A.stage]")
client.images += I
var/obj/item/organ/internal/body_egg/alien_embryo/A = C.get_int_organ(/obj/item/organ/internal/body_egg/alien_embryo)
var/I = image('icons/mob/alien.dmi', loc = owner, icon_state = "infected[stage]")
if(A)
var/I = image('icons/mob/alien.dmi', loc = owner, icon_state = "infected[stage]")
client.images += I
return


Expand Down Expand Up @@ -317,4 +322,4 @@ Des: Removes all infected images from the alien.

playsound(T, S, volume, 1, range)
return 1
return 0
return 0
8 changes: 6 additions & 2 deletions code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,12 @@
if(src.name == "alien drone")
src.name = text("alien drone ([rand(1, 1000)])")
src.real_name = src.name
verbs.Add(/mob/living/carbon/alien/humanoid/proc/resin,/mob/living/carbon/alien/humanoid/proc/corrosive_acid)
..()
internal_organs += new /obj/item/organ/internal/xenos/plasmavessel/large
internal_organs += new /obj/item/organ/internal/xenos/resinspinner
internal_organs += new /obj/item/organ/internal/xenos/acid
//verbs.Add(/mob/living/carbon/alien/humanoid/proc/resin,/mob/living/carbon/alien/humanoid/proc/corrosive_acid)
//..()

//Drones use the same base as generic humanoids.
//Drone verbs

Expand Down