|
12 | 12 | . = ..()
|
13 | 13 | if(.)
|
14 | 14 | robutt.RemoveComponentSource(REF(src), /datum/component/fluffy_tongue)
|
| 15 | + |
| 16 | +/obj/item/borg/upgrade/surgery |
| 17 | + name = "Surgical Toolset Upgrade" |
| 18 | + desc = "An upgrade to the Medical model cyborg's surgical tools, streamlining \ |
| 19 | + the surgical process." |
| 20 | + icon_state = "cyborg_upgrade3" |
| 21 | + require_model = TRUE |
| 22 | + model_type = list(/obj/item/robot_model/medical) |
| 23 | + model_flags = BORG_MODEL_MEDICAL |
| 24 | + var/list/adv_surgical_tools = list( /obj/item/circular_saw/augment, /obj/item/scalpel/borg, /obj/item/cautery/augment, /obj/item/retractor/augment, /obj/item/hemostat/augment) |
| 25 | + var/list/surgical_tools = list( /obj/item/circular_saw, /obj/item/scalpel, /obj/item/cautery, /obj/item/retractor, /obj/item/hemostat) |
| 26 | +/obj/item/borg/upgrade/surgery/action(mob/living/silicon/robot/R, user = usr) |
| 27 | + . = ..() |
| 28 | + if(.) |
| 29 | + for(var/obj/item/module in R.model.modules) |
| 30 | + if(module.type in surgical_tools) |
| 31 | + R.model.remove_module(module, TRUE) |
| 32 | + |
| 33 | + var/obj/item/circular_saw/augment/saw = new /obj/item/circular_saw/augment(R.model) |
| 34 | + R.model.basic_modules += saw |
| 35 | + R.model.add_module(saw, FALSE, TRUE) |
| 36 | + |
| 37 | + var/obj/item/scalpel/borg/scalpel = new /obj/item/scalpel/borg(R.model) |
| 38 | + R.model.basic_modules += scalpel |
| 39 | + R.model.add_module(scalpel, FALSE, TRUE) |
| 40 | + |
| 41 | + var/obj/item/cautery/augment/cautery = new /obj/item/cautery/augment(R.model) |
| 42 | + R.model.basic_modules += cautery |
| 43 | + R.model.add_module(cautery, FALSE, TRUE) |
| 44 | + |
| 45 | + var/obj/item/retractor/augment/retractor = new /obj/item/retractor/augment(R.model) |
| 46 | + R.model.basic_modules += retractor |
| 47 | + R.model.add_module(retractor, FALSE, TRUE) |
| 48 | + |
| 49 | + var/obj/item/hemostat/augment/hemostat = new /obj/item/hemostat/augment(R.model) |
| 50 | + R.model.basic_modules += hemostat |
| 51 | + R.model.add_module(hemostat, FALSE, TRUE) |
| 52 | + |
| 53 | +/obj/item/borg/upgrade/surgery/deactivate(mob/living/silicon/robot/R, user = usr) |
| 54 | + . = ..() |
| 55 | + if(.) |
| 56 | + for(var/advsurgtool in adv_surgical_tools) //For some reason only this is the only list that worked. |
| 57 | + for(advsurgtool in R.model.modules) |
| 58 | + R.model.remove_module(advsurgtool, TRUE) |
| 59 | + |
| 60 | + var/obj/item/retractor/retractor = new (R.model) |
| 61 | + R.model.basic_modules += retractor |
| 62 | + R.model.add_module(retractor, FALSE, TRUE) |
| 63 | + |
| 64 | + var/obj/item/scalpel/scalpel = new (R.model) |
| 65 | + R.model.basic_modules += scalpel |
| 66 | + R.model.add_module(scalpel, FALSE, TRUE) |
| 67 | + |
| 68 | + var/obj/item/circular_saw/saw = new (R.model) |
| 69 | + R.model.basic_modules += saw |
| 70 | + R.model.add_module(saw, FALSE, TRUE) |
| 71 | + |
| 72 | + var/obj/item/hemostat/hemo = new (R.model) |
| 73 | + R.model.basic_modules += hemo |
| 74 | + R.model.add_module(hemo, FALSE, TRUE) |
| 75 | + |
| 76 | + var/obj/item/cautery/cautery = new (R.model) |
| 77 | + R.model.basic_modules += cautery |
| 78 | + R.model.add_module(cautery, FALSE, TRUE) |
0 commit comments