mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
Merge pull request #10957 from Core0verload/surgery-organs-implants
Implants, Surgery and Organs rework: Phase 1
This commit is contained in:
@@ -3,15 +3,18 @@
|
||||
return
|
||||
//Handle items on mob
|
||||
|
||||
//first implants
|
||||
//first implants & organs
|
||||
var/list/implants = list()
|
||||
var/list/int_organs = list()
|
||||
|
||||
if (tr_flags & TR_KEEPIMPLANTS)
|
||||
for(var/obj/item/weapon/implant/W in src)
|
||||
implants += W
|
||||
|
||||
if(tr_flags & TR_KEEPITEMS)
|
||||
for(var/obj/item/W in (src.contents-implants))
|
||||
unEquip(W)
|
||||
if (tr_flags & TR_KEEPORGANS)
|
||||
for(var/obj/item/organ/internal/I in internal_organs)
|
||||
int_organs += I
|
||||
I.Remove(src, 1)
|
||||
|
||||
//Make mob invisible and spawn animation
|
||||
regenerate_icons()
|
||||
@@ -70,6 +73,14 @@
|
||||
I.loc = O
|
||||
I.implanted = O
|
||||
|
||||
//re-add organs to new mob
|
||||
if(tr_flags & TR_KEEPORGANS)
|
||||
for(var/obj/item/organ/internal/I in O.internal_organs)
|
||||
qdel(I)
|
||||
|
||||
for(var/obj/item/organ/internal/I in int_organs)
|
||||
I.Insert(O, 1)
|
||||
|
||||
//transfer mind and delete old mob
|
||||
if(mind)
|
||||
mind.transfer_to(O)
|
||||
@@ -98,12 +109,19 @@
|
||||
return
|
||||
//Handle items on mob
|
||||
|
||||
//first implants
|
||||
//first implants & organs
|
||||
var/list/implants = list()
|
||||
var/list/int_organs = list()
|
||||
|
||||
if (tr_flags & TR_KEEPIMPLANTS)
|
||||
for(var/obj/item/weapon/implant/W in src)
|
||||
implants += W
|
||||
|
||||
if (tr_flags & TR_KEEPORGANS)
|
||||
for(var/obj/item/organ/internal/I in internal_organs)
|
||||
int_organs += I
|
||||
I.Remove(src, 1)
|
||||
|
||||
//now the rest
|
||||
if (tr_flags & TR_KEEPITEMS)
|
||||
for(var/obj/item/W in (src.contents-implants))
|
||||
@@ -187,6 +205,13 @@
|
||||
I.implanted = O
|
||||
O.sec_hud_set_implants()
|
||||
|
||||
if(tr_flags & TR_KEEPORGANS)
|
||||
for(var/obj/item/organ/internal/I in O.internal_organs)
|
||||
qdel(I)
|
||||
|
||||
for(var/obj/item/organ/internal/I in int_organs)
|
||||
I.Insert(O, 1)
|
||||
|
||||
if(mind)
|
||||
mind.transfer_to(O)
|
||||
O.a_intent = "help"
|
||||
|
||||
Reference in New Issue
Block a user