mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-15 09:03:23 +01:00
Renames all typepaths + names of implants to biochips (#23172)
* The fix * Contraaaaaa * Fixes CI * Fixes the pads + cases * Uplink datums * Update code/datums/mind.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/__HELPERS/unsorted.dm Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> * Update code/modules/research/designs/medical_designs.dm Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> * Update code/modules/research/designs/medical_designs.dm Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> * Update code/modules/research/designs/medical_designs.dm Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> * Update code/modules/research/designs/medical_designs.dm Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> * Update code/modules/surgery/implant_removal.dm Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> * Outfits now use a proper variable name * Fixes surgery (oops) * More .dme changes * Renames the folder * Fixes bad merge * Contra review * Update code/game/objects/items/weapons/dice.dm Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> * Fixes CI fail --------- Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com>
This commit is contained in:
@@ -3505,8 +3505,8 @@
|
||||
N.target = H
|
||||
N.point_at(N.target)
|
||||
N.modelocked = TRUE
|
||||
if(!locate(/obj/item/implant/dust, hunter_mob))
|
||||
var/obj/item/implant/dust/D = new /obj/item/implant/dust(hunter_mob)
|
||||
if(!locate(/obj/item/bio_chip/dust, hunter_mob))
|
||||
var/obj/item/bio_chip/dust/D = new /obj/item/bio_chip/dust(hunter_mob)
|
||||
D.implant(hunter_mob)
|
||||
if(killthem)
|
||||
var/datum/objective/assassinate/kill_objective = new
|
||||
|
||||
@@ -154,14 +154,14 @@ GLOBAL_VAR_INIT(sent_syndicate_infiltration_team, 0)
|
||||
|
||||
// Implants:
|
||||
// Uplink
|
||||
var/obj/item/implant/uplink/sit/U = new /obj/item/implant/uplink/sit(src)
|
||||
var/obj/item/bio_chip/uplink/sit/U = new /obj/item/bio_chip/uplink/sit(src)
|
||||
U.implant(src)
|
||||
if(flag_mgmt)
|
||||
U.hidden_uplink.uses = 2500
|
||||
else
|
||||
U.hidden_uplink.uses = num_tc
|
||||
// Dust
|
||||
var/obj/item/implant/dust/D = new /obj/item/implant/dust(src)
|
||||
var/obj/item/bio_chip/dust/D = new /obj/item/bio_chip/dust(src)
|
||||
D.implant(src)
|
||||
|
||||
// Radio & PDA
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
to_chat(H, chat_box_red(messages.Join("<br>")))
|
||||
|
||||
for(var/obj/item/I in H)
|
||||
if(istype(I, /obj/item/implant))
|
||||
if(istype(I, /obj/item/bio_chip))
|
||||
continue
|
||||
qdel(I)
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
S.copy_to(H)
|
||||
|
||||
for(var/obj/item/I in H)
|
||||
if(istype(I, /obj/item/implant))
|
||||
if(istype(I, /obj/item/bio_chip))
|
||||
continue
|
||||
qdel(I)
|
||||
|
||||
|
||||
@@ -155,7 +155,7 @@ GLOBAL_VAR_INIT(sent_syndicate_strike_team, 0)
|
||||
equip_to_slot_or_del(new /obj/item/gun/projectile/automatic/l6_saw(src), SLOT_HUD_RIGHT_HAND)
|
||||
equip_to_slot_or_del(new /obj/item/ammo_box/magazine/mm556x45(src), SLOT_HUD_IN_BACKPACK)
|
||||
|
||||
var/obj/item/implant/dust/D = new /obj/item/implant/dust(src)
|
||||
var/obj/item/bio_chip/dust/D = new /obj/item/bio_chip/dust(src)
|
||||
D.implant(src)
|
||||
var/obj/item/card/id/syndicate/W = new(src) //Untrackable by AI
|
||||
W.name = "[real_name]'s ID Card"
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
/obj/item/antag_spawner/nuke_ops
|
||||
name = "syndicate operative teleporter"
|
||||
desc = "A single-use teleporter designed to quickly reinforce operatives in the field."
|
||||
icon = 'icons/obj/implants.dmi'
|
||||
icon = 'icons/obj/bio_chips.dmi'
|
||||
icon_state = "locator"
|
||||
var/borg_to_spawn
|
||||
var/checking = FALSE
|
||||
|
||||
@@ -376,11 +376,11 @@
|
||||
continue
|
||||
|
||||
// Any kind of implant gets potentially removed (mindshield, freedoms, etc)
|
||||
if(istype(I, /obj/item/implant))
|
||||
if(istype(I, /obj/item/implant/storage)) // Storage items are removed and placed in the confiscation locker before the implant is taken.
|
||||
var/obj/item/implant/storage/storage_implant = I
|
||||
for(var/it in storage_implant.storage)
|
||||
storage_implant.storage.remove_from_storage(it)
|
||||
if(istype(I, /obj/item/bio_chip))
|
||||
if(istype(I, /obj/item/bio_chip/storage)) // Storage items are removed and placed in the confiscation locker before the implant is taken.
|
||||
var/obj/item/bio_chip/storage/storage_chip = I
|
||||
for(var/it in storage_chip.storage)
|
||||
storage_chip.storage.remove_from_storage(it)
|
||||
stuff_to_transfer += it
|
||||
qdel(I)
|
||||
continue
|
||||
@@ -553,7 +553,7 @@
|
||||
victim_belongings = list()
|
||||
|
||||
// Clean up
|
||||
var/obj/item/implant/uplink/uplink_implant = locate() in M
|
||||
var/obj/item/bio_chip/uplink/uplink_implant = locate() in M
|
||||
uplink_implant?.hidden_uplink?.is_jammed = FALSE
|
||||
|
||||
QDEL_LIST_CONTENTS(temp_objs)
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
/obj/item/encryptionkey/binary,
|
||||
/obj/item/jammer,
|
||||
/obj/item/clothing/under/syndicate/silicon_cham,
|
||||
/obj/item/implanter/freedom,
|
||||
/obj/item/bio_chip_implanter/freedom,
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
qdel(uplink)
|
||||
|
||||
// Check for an uplink implant
|
||||
var/uplink_implant = locate(/obj/item/implant/uplink) in M.contents
|
||||
var/uplink_implant = locate(/obj/item/bio_chip/uplink) in M.contents
|
||||
if(uplink_implant)
|
||||
qdel(uplink_implant)
|
||||
|
||||
|
||||
@@ -333,10 +333,10 @@
|
||||
visible_message("<span class='warning'>[H] looks to be stunned by the energy!</span>")
|
||||
H.Weaken(40 SECONDS)
|
||||
return
|
||||
for(var/obj/item/implant/mindshield/L in H)
|
||||
for(var/obj/item/bio_chip/mindshield/L in H)
|
||||
if(L && L.implanted)
|
||||
qdel(L)
|
||||
for(var/obj/item/implant/traitor/T in H)
|
||||
for(var/obj/item/bio_chip/traitor/T in H)
|
||||
if(T && T.implanted)
|
||||
qdel(T)
|
||||
visible_message("<span class='warning'>[H] gets an eerie red glow in their eyes!</span>")
|
||||
|
||||
@@ -409,8 +409,8 @@
|
||||
for(var/obj/O in H)
|
||||
if(isclothing(O)) //clothing gets skipped to avoid cleaning out shit
|
||||
continue
|
||||
if(istype(O,/obj/item/implant))
|
||||
var/obj/item/implant/I = O
|
||||
if(istype(O,/obj/item/bio_chip))
|
||||
var/obj/item/bio_chip/I = O
|
||||
if(I.implanted)
|
||||
continue
|
||||
if(O.flags & NODROP || stealthmode)
|
||||
|
||||
@@ -513,7 +513,7 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven
|
||||
if(iscarbon(src) && contents.len && ventcrawlerlocal < 2)//It must have atleast been 1 to get this far
|
||||
for(var/obj/item/I in contents)
|
||||
var/failed = 0
|
||||
if(istype(I, /obj/item/implant))
|
||||
if(istype(I, /obj/item/bio_chip))
|
||||
continue
|
||||
if(istype(I, /obj/item/reagent_containers/patch))
|
||||
continue
|
||||
|
||||
@@ -1987,7 +1987,7 @@ Eyes need to have significantly high darksight to shine unless the mob has the X
|
||||
if(thing != null)
|
||||
equip_list[i] = thing.serialize()
|
||||
|
||||
for(var/obj/item/implant/implant in src)
|
||||
for(var/obj/item/bio_chip/implant in src)
|
||||
implant_list[implant] = implant.serialize()
|
||||
|
||||
return data
|
||||
@@ -2031,7 +2031,7 @@ Eyes need to have significantly high darksight to shine unless the mob has the X
|
||||
for(var/thing in implant_list)
|
||||
var/implant_data = implant_list[thing]
|
||||
var/path = text2path(implant_data["type"])
|
||||
var/obj/item/implant/implant = new path(T)
|
||||
var/obj/item/bio_chip/implant = new path(T)
|
||||
if(!implant.implant(src, src))
|
||||
qdel(implant)
|
||||
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
H.equip_to_slot_or_del(new /obj/item/clothing/suit/toggle/owlwings/griffinwings(H), SLOT_HUD_OUTER_SUIT)
|
||||
H.equip_to_slot_or_del(new /obj/item/clothing/head/griffin/(H), SLOT_HUD_HEAD)
|
||||
|
||||
var/obj/item/implant/freedom/L = new/obj/item/implant/freedom(H)
|
||||
var/obj/item/bio_chip/freedom/L = new/obj/item/bio_chip/freedom(H)
|
||||
L.implant(H)
|
||||
|
||||
|
||||
|
||||
@@ -414,7 +414,7 @@
|
||||
L += get_contents(S)
|
||||
for(var/obj/item/clothing/accessory/storage/S in contents)//Check for holsters
|
||||
L += get_contents(S)
|
||||
for(var/obj/item/implant/storage/I in contents) //Check for storage implants.
|
||||
for(var/obj/item/bio_chip/storage/I in contents) //Check for storage implants.
|
||||
L += I.get_contents()
|
||||
for(var/obj/item/gift/G in contents) //Check for gift-wrapped items
|
||||
L += G.gift
|
||||
|
||||
@@ -64,15 +64,15 @@
|
||||
for(var/i in list(IMPTRACK_HUD, IMPMINDSHIELD_HUD, IMPCHEM_HUD))
|
||||
holder2 = hud_list[i]
|
||||
holder2.icon_state = null
|
||||
for(var/obj/item/implant/I in H)
|
||||
for(var/obj/item/bio_chip/I in H)
|
||||
if(I.implanted)
|
||||
if(istype(I, /obj/item/implant/tracking))
|
||||
if(istype(I, /obj/item/bio_chip/tracking))
|
||||
holder2 = hud_list[IMPTRACK_HUD]
|
||||
holder2.icon_state = "hud_imp_tracking"
|
||||
else if(istype(I, /obj/item/implant/mindshield))
|
||||
else if(istype(I, /obj/item/bio_chip/mindshield))
|
||||
holder2 = hud_list[IMPMINDSHIELD_HUD]
|
||||
holder2.icon_state = "hud_imp_loyal"
|
||||
else if(istype(I, /obj/item/implant/chem))
|
||||
else if(istype(I, /obj/item/bio_chip/chem))
|
||||
holder2 = hud_list[IMPCHEM_HUD]
|
||||
holder2.icon_state = "hud_imp_chem"
|
||||
var/image/holder3 = hud_list[WANTED_HUD]
|
||||
|
||||
@@ -392,7 +392,7 @@
|
||||
if(prob(10))
|
||||
l_pocket = pickweight(list(/obj/item/bikehorn/golden = 3, /obj/item/bikehorn/airhorn= 1 ))
|
||||
if(prob(10))
|
||||
r_pocket = /obj/item/implanter/sad_trombone
|
||||
r_pocket = /obj/item/bio_chip_implanter/sad_trombone
|
||||
if("Golem")
|
||||
mob_species = pick(list(/datum/species/golem/adamantine, /datum/species/golem/plasma, /datum/species/golem/diamond, /datum/species/golem/gold, /datum/species/golem/silver, /datum/species/golem/plasteel, /datum/species/golem/titanium, /datum/species/golem/plastitanium))
|
||||
if(prob(30))
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
INVOKE_ASYNC(client, TYPE_PROC_REF(/client, colour_transition), get_screen_colour(), flash_time)
|
||||
|
||||
/proc/ismindshielded(A) //Checks to see if the person contains a mindshield implant, then checks that the implant is actually inside of them
|
||||
for(var/obj/item/implant/mindshield/L in A)
|
||||
for(var/obj/item/bio_chip/mindshield/L in A)
|
||||
if(L && L.implanted)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
use_power_cost = DEFAULT_CHARGE_DRAIN * 200
|
||||
incompatible_modules = list(/obj/item/mod/module/pathfinder)
|
||||
/// The pathfinding implant.
|
||||
var/obj/item/implant/mod/implant
|
||||
var/obj/item/bio_chip/mod/implant
|
||||
|
||||
/obj/item/mod/module/pathfinder/Initialize(mapload)
|
||||
. = ..()
|
||||
@@ -60,7 +60,7 @@
|
||||
playsound(mod, 'sound/machines/ping.ogg', 50, TRUE)
|
||||
drain_power(use_power_cost)
|
||||
|
||||
/obj/item/implant/mod
|
||||
/obj/item/bio_chip/mod
|
||||
name = "MOD pathfinder implant"
|
||||
desc = "Lets you recall a MODsuit to you at any time."
|
||||
implant_data = /datum/implant_fluff/pathfinder
|
||||
@@ -77,21 +77,21 @@
|
||||
var/tries = 0
|
||||
|
||||
|
||||
/obj/item/implant/mod/Initialize(mapload)
|
||||
/obj/item/bio_chip/mod/Initialize(mapload)
|
||||
. = ..()
|
||||
if(!istype(loc, /obj/item/mod/module/pathfinder))
|
||||
return INITIALIZE_HINT_QDEL
|
||||
module = loc
|
||||
jet_icon = image(icon = 'icons/obj/clothing/modsuit/mod_modules.dmi', icon_state = "mod_jet", layer = LOW_ITEM_LAYER)
|
||||
|
||||
/obj/item/implant/mod/Destroy()
|
||||
/obj/item/bio_chip/mod/Destroy()
|
||||
if(path)
|
||||
end_recall(successful = FALSE)
|
||||
module = null
|
||||
jet_icon = null
|
||||
return ..()
|
||||
|
||||
/obj/item/implant/mod/proc/recall()
|
||||
/obj/item/bio_chip/mod/proc/recall()
|
||||
target = get_turf(imp_in)
|
||||
if(!module?.mod)
|
||||
to_chat(imp_in, "<span class='warning'>Module is not attached to a suit!</span>")
|
||||
@@ -126,12 +126,12 @@
|
||||
mod_move(target)
|
||||
return TRUE
|
||||
|
||||
/obj/item/implant/mod/proc/set_path(list/newpath)
|
||||
/obj/item/bio_chip/mod/proc/set_path(list/newpath)
|
||||
if(newpath == null)
|
||||
end_recall(FALSE)
|
||||
path = newpath ? newpath : list()
|
||||
|
||||
/obj/item/implant/mod/proc/end_recall(successful = TRUE)
|
||||
/obj/item/bio_chip/mod/proc/end_recall(successful = TRUE)
|
||||
if(!module?.mod)
|
||||
return
|
||||
module.mod.cut_overlay(jet_icon)
|
||||
@@ -141,14 +141,14 @@
|
||||
to_chat(imp_in, "<span class='warning'>Lost connection to suit!</span>")
|
||||
path = list() //Stopping endless end_recall with luck.
|
||||
|
||||
/obj/item/implant/mod/proc/on_move(atom/movable/source, atom/old_loc, dir, forced)
|
||||
/obj/item/bio_chip/mod/proc/on_move(atom/movable/source, atom/old_loc, dir, forced)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
var/matrix/mod_matrix = matrix()
|
||||
mod_matrix.Turn(get_angle(source, imp_in))
|
||||
source.transform = mod_matrix
|
||||
|
||||
/obj/item/implant/mod/proc/mod_move(dest)
|
||||
/obj/item/bio_chip/mod/proc/mod_move(dest)
|
||||
dest = get_turf(dest) //We must always compare turfs, so get the turf of the dest var if dest was originally something else.
|
||||
if(get_turf(module.mod) == dest) //We have arrived, no need to move again.
|
||||
for(var/mob/living/carbon/human/H in range(1, module.mod))
|
||||
@@ -184,7 +184,7 @@
|
||||
|
||||
return TRUE
|
||||
|
||||
/obj/item/implant/mod/proc/mod_step() //Step,increase tries if failed
|
||||
/obj/item/bio_chip/mod/proc/mod_step() //Step,increase tries if failed
|
||||
if(!path || !length(path))
|
||||
return FALSE
|
||||
for(var/obj/machinery/door/D in range(2, module.mod))
|
||||
@@ -203,7 +203,7 @@
|
||||
tries = 0
|
||||
return TRUE
|
||||
|
||||
/obj/item/implant/mod/proc/increment_path()
|
||||
/obj/item/bio_chip/mod/proc/increment_path()
|
||||
if(!path || !length(path))
|
||||
return
|
||||
path.Cut(1, 2)
|
||||
@@ -222,7 +222,7 @@
|
||||
|
||||
/datum/action/item_action/mod_recall/New(Target)
|
||||
..()
|
||||
if(!istype(Target, /obj/item/implant/mod))
|
||||
if(!istype(Target, /obj/item/bio_chip/mod))
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
@@ -230,7 +230,7 @@
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
var/obj/item/implant/mod/implant = target
|
||||
var/obj/item/bio_chip/mod/implant = target
|
||||
if(!COOLDOWN_FINISHED(src, recall_cooldown))
|
||||
to_chat(usr, "<span class='warning'>On cooldown!</span>")
|
||||
return
|
||||
|
||||
@@ -588,54 +588,54 @@
|
||||
////////////Regular Implants/////////////
|
||||
/////////////////////////////////////////
|
||||
|
||||
/datum/design/implanter
|
||||
/datum/design/bio_chip_implanter
|
||||
name = "Bio-chip Implanter"
|
||||
desc = "A sterile automatic bio-chip injector."
|
||||
id = "implanter"
|
||||
req_tech = list("materials" = 2, "biotech" = 3, "programming" = 2)
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 600, MAT_GLASS = 200)
|
||||
build_path = /obj/item/implanter
|
||||
build_path = /obj/item/bio_chip_implanter
|
||||
category = list("Medical")
|
||||
|
||||
/datum/design/implantcase
|
||||
/datum/design/bio_chip_case
|
||||
name = "Bio-chip Case"
|
||||
desc = "A glass case containing a bio-chip."
|
||||
id = "implantcase"
|
||||
req_tech = list("biotech" = 2)
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_GLASS = 500)
|
||||
build_path = /obj/item/implantcase
|
||||
build_path = /obj/item/bio_chip_case
|
||||
category = list("Medical")
|
||||
|
||||
/datum/design/implant_chem
|
||||
/datum/design/bio_chip_chem
|
||||
name = "Chemical Bio-chip Case"
|
||||
desc = "A glass case containing a bio-chip."
|
||||
id = "implant_chem"
|
||||
req_tech = list("materials" = 3, "biotech" = 5)
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_GLASS = 700)
|
||||
build_path = /obj/item/implantcase/chem
|
||||
build_path = /obj/item/bio_chip_case/chem
|
||||
category = list("Medical")
|
||||
|
||||
/datum/design/implant_sadtrombone
|
||||
/datum/design/bio_chip_sad_trombone
|
||||
name = "Sad Trombone Bio-chip Case"
|
||||
desc = "Makes death amusing."
|
||||
id = "implant_trombone"
|
||||
req_tech = list("materials" = 3, "biotech" = 5)
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_GLASS = 500, MAT_BANANIUM = 500)
|
||||
build_path = /obj/item/implantcase/sad_trombone
|
||||
build_path = /obj/item/bio_chip_case/sad_trombone
|
||||
category = list("Medical")
|
||||
|
||||
/datum/design/implant_tracking
|
||||
/datum/design/bio_chip_tracking
|
||||
name = "Tracking Bio-chip Case"
|
||||
desc = "A glass case containing a bio-chip."
|
||||
id = "implant_tracking"
|
||||
req_tech = list("materials" = 2, "biotech" = 3, "magnets" = 3, "programming" = 2)
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
|
||||
build_path = /obj/item/implantcase/tracking
|
||||
build_path = /obj/item/bio_chip_case/tracking
|
||||
category = list("Medical")
|
||||
|
||||
//Cybernetic organs
|
||||
|
||||
@@ -368,7 +368,7 @@ GLOBAL_LIST_EMPTY(ert_request_messages)
|
||||
box = /obj/item/storage/box/responseteam
|
||||
gloves = /obj/item/clothing/gloves/combat
|
||||
|
||||
implants = list(/obj/item/implant/mindshield)
|
||||
bio_chips = list(/obj/item/bio_chip/mindshield)
|
||||
|
||||
/obj/item/radio/centcom
|
||||
name = "centcomm bounced radio"
|
||||
|
||||
@@ -84,9 +84,9 @@
|
||||
/obj/item/organ/internal/cyberimp/chest/nutriment/hardened
|
||||
)
|
||||
|
||||
implants = list(
|
||||
/obj/item/implant/mindshield,
|
||||
/obj/item/implant/death_alarm
|
||||
bio_chips = list(
|
||||
/obj/item/bio_chip/mindshield,
|
||||
/obj/item/bio_chip/death_alarm
|
||||
)
|
||||
|
||||
/datum/outfit/job/centcom/response_team/commander/gamma
|
||||
@@ -113,9 +113,9 @@
|
||||
/obj/item/organ/internal/cyberimp/arm/flash
|
||||
)
|
||||
|
||||
implants = list(
|
||||
/obj/item/implant/mindshield,
|
||||
/obj/item/implant/death_alarm
|
||||
bio_chips = list(
|
||||
/obj/item/bio_chip/mindshield,
|
||||
/obj/item/bio_chip/death_alarm
|
||||
)
|
||||
|
||||
//////////////////// SECURITY ///////////////////
|
||||
@@ -169,9 +169,9 @@
|
||||
/obj/item/organ/internal/cyberimp/eyes/hud/security
|
||||
)
|
||||
|
||||
implants = list(
|
||||
/obj/item/implant/mindshield,
|
||||
/obj/item/implant/death_alarm
|
||||
bio_chips = list(
|
||||
/obj/item/bio_chip/mindshield,
|
||||
/obj/item/bio_chip/death_alarm
|
||||
)
|
||||
|
||||
/datum/outfit/job/centcom/response_team/security/gamma
|
||||
@@ -201,9 +201,9 @@
|
||||
/obj/item/organ/internal/cyberimp/chest/reviver/hardened
|
||||
)
|
||||
|
||||
implants = list(
|
||||
/obj/item/implant/mindshield,
|
||||
/obj/item/implant/death_alarm
|
||||
bio_chips = list(
|
||||
/obj/item/bio_chip/mindshield,
|
||||
/obj/item/bio_chip/death_alarm
|
||||
)
|
||||
|
||||
//////////////////// ENGINEER ///////////////////
|
||||
@@ -265,9 +265,9 @@
|
||||
/obj/item/organ/internal/cyberimp/brain/wire_interface/hardened
|
||||
)
|
||||
|
||||
implants = list(
|
||||
/obj/item/implant/mindshield,
|
||||
/obj/item/implant/death_alarm
|
||||
bio_chips = list(
|
||||
/obj/item/bio_chip/mindshield,
|
||||
/obj/item/bio_chip/death_alarm
|
||||
)
|
||||
|
||||
/datum/outfit/job/centcom/response_team/engineer/gamma
|
||||
@@ -296,8 +296,8 @@
|
||||
/obj/item/organ/internal/cyberimp/brain/wire_interface/hardened
|
||||
)
|
||||
|
||||
implants = list(/obj/item/implant/mindshield,
|
||||
/obj/item/implant/death_alarm
|
||||
bio_chips = list(/obj/item/bio_chip/mindshield,
|
||||
/obj/item/bio_chip/death_alarm
|
||||
)
|
||||
|
||||
//////////////////// MEDIC ///////////////////
|
||||
@@ -362,9 +362,9 @@
|
||||
/obj/item/organ/internal/cyberimp/chest/nutriment/hardened
|
||||
)
|
||||
|
||||
implants = list(
|
||||
/obj/item/implant/mindshield,
|
||||
/obj/item/implant/death_alarm
|
||||
bio_chips = list(
|
||||
/obj/item/bio_chip/mindshield,
|
||||
/obj/item/bio_chip/death_alarm
|
||||
)
|
||||
|
||||
/datum/outfit/job/centcom/response_team/medic/gamma
|
||||
@@ -397,9 +397,9 @@
|
||||
/obj/item/organ/internal/cyberimp/brain/anti_stam/hardened
|
||||
)
|
||||
|
||||
implants = list(
|
||||
/obj/item/implant/mindshield,
|
||||
/obj/item/implant/death_alarm
|
||||
bio_chips = list(
|
||||
/obj/item/bio_chip/mindshield,
|
||||
/obj/item/bio_chip/death_alarm
|
||||
)
|
||||
|
||||
//////////////////// PARANORMAL ///////////////////
|
||||
@@ -449,9 +449,9 @@
|
||||
/obj/item/organ/internal/cyberimp/chest/nutriment/hardened
|
||||
)
|
||||
|
||||
implants = list(
|
||||
/obj/item/implant/mindshield,
|
||||
/obj/item/implant/death_alarm
|
||||
bio_chips = list(
|
||||
/obj/item/bio_chip/mindshield,
|
||||
/obj/item/bio_chip/death_alarm
|
||||
)
|
||||
|
||||
/datum/outfit/job/centcom/response_team/paranormal/gamma
|
||||
@@ -475,9 +475,9 @@
|
||||
/obj/item/organ/internal/cyberimp/brain/anti_stam/hardened
|
||||
)
|
||||
|
||||
implants = list(
|
||||
/obj/item/implant/mindshield,
|
||||
/obj/item/implant/death_alarm
|
||||
bio_chips = list(
|
||||
/obj/item/bio_chip/mindshield,
|
||||
/obj/item/bio_chip/death_alarm
|
||||
)
|
||||
|
||||
//////////////////// JANITORIAL ///////////////////
|
||||
@@ -529,9 +529,9 @@
|
||||
/obj/item/organ/internal/cyberimp/chest/nutriment/hardened
|
||||
)
|
||||
|
||||
implants = list(
|
||||
/obj/item/implant/mindshield,
|
||||
/obj/item/implant/death_alarm
|
||||
bio_chips = list(
|
||||
/obj/item/bio_chip/mindshield,
|
||||
/obj/item/bio_chip/death_alarm
|
||||
)
|
||||
|
||||
/datum/outfit/job/centcom/response_team/janitorial/gamma
|
||||
@@ -555,7 +555,7 @@
|
||||
/obj/item/organ/internal/cyberimp/brain/anti_stam/hardened
|
||||
)
|
||||
|
||||
implants = list(
|
||||
/obj/item/implant/mindshield,
|
||||
/obj/item/implant/death_alarm
|
||||
bio_chips = list(
|
||||
/obj/item/bio_chip/mindshield,
|
||||
/obj/item/bio_chip/death_alarm
|
||||
)
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
equip_item(H, /obj/item/radio/headset/deadsay, SLOT_HUD_LEFT_EAR)
|
||||
H.dna.species.before_equip_job(/datum/job/assistant, H)
|
||||
H.dna.species.remains_type = /obj/effect/decal/cleanable/ash
|
||||
var/obj/item/implant/dust/I = new
|
||||
var/obj/item/bio_chip/dust/I = new
|
||||
I.implant(H, null)
|
||||
for(var/gear in save_to_load.loadout_gear)
|
||||
var/datum/gear/G = GLOB.gear_datums[text2path(gear) || gear]
|
||||
|
||||
+14
-14
@@ -9,7 +9,7 @@
|
||||
/datum/surgery_step/generic/clamp_bleeders,
|
||||
/datum/surgery_step/generic/retract_skin,
|
||||
/datum/surgery_step/proxy/open_organ,
|
||||
/datum/surgery_step/extract_implant,
|
||||
/datum/surgery_step/extract_bio_chip,
|
||||
/datum/surgery_step/generic/cauterize
|
||||
)
|
||||
possible_locs = list(BODY_ZONE_CHEST)
|
||||
@@ -21,20 +21,20 @@
|
||||
/datum/surgery_step/robotics/external/unscrew_hatch,
|
||||
/datum/surgery_step/robotics/external/open_hatch,
|
||||
/datum/surgery_step/proxy/robotics/repair_limb,
|
||||
/datum/surgery_step/extract_implant/synth,
|
||||
/datum/surgery_step/extract_bio_chip/synth,
|
||||
/datum/surgery_step/robotics/external/close_hatch
|
||||
)
|
||||
requires_organic_bodypart = FALSE
|
||||
|
||||
/datum/surgery_step/extract_implant
|
||||
/datum/surgery_step/extract_bio_chip
|
||||
name = "extract bio-chip"
|
||||
allowed_tools = list(TOOL_HEMOSTAT = 100, TOOL_CROWBAR = 65)
|
||||
time = 6.4 SECONDS
|
||||
repeatable = TRUE
|
||||
var/obj/item/implant/I = null
|
||||
var/obj/item/bio_chip/I = null
|
||||
var/max_times_to_check = 5
|
||||
|
||||
/datum/surgery_step/extract_implant/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
/datum/surgery_step/extract_bio_chip/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
|
||||
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
@@ -45,7 +45,7 @@
|
||||
)
|
||||
return SURGERY_BEGINSTEP_SKIP
|
||||
|
||||
I = locate(/obj/item/implant) in target
|
||||
I = locate(/obj/item/bio_chip) in target
|
||||
user.visible_message(
|
||||
"[user] starts poking around inside [target]'s [affected.name] with \the [tool].",
|
||||
"You start poking around inside [target]'s [affected.name] with \the [tool]."
|
||||
@@ -53,7 +53,7 @@
|
||||
affected.custom_pain("The pain in your [affected.name] is living hell!")
|
||||
return ..()
|
||||
|
||||
/datum/surgery_step/extract_implant/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
/datum/surgery_step/extract_bio_chip/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
. = ..()
|
||||
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
@@ -64,9 +64,9 @@
|
||||
affected.receive_damage(10)
|
||||
return SURGERY_STEP_RETRY
|
||||
|
||||
/datum/surgery_step/extract_implant/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
/datum/surgery_step/extract_bio_chip/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
I = locate(/obj/item/implant) in target
|
||||
I = locate(/obj/item/bio_chip) in target
|
||||
if(I && prob(80)) //implant removal only works on the chest.
|
||||
user.visible_message(
|
||||
"<span class='notice'>[user] takes something out of [target]'s [affected.name] with \the [tool].</span>",
|
||||
@@ -75,14 +75,14 @@
|
||||
|
||||
I.removed(target)
|
||||
|
||||
var/obj/item/implantcase/case
|
||||
var/obj/item/bio_chip_case/case
|
||||
|
||||
if(istype(user.get_item_by_slot(SLOT_HUD_LEFT_HAND), /obj/item/implantcase))
|
||||
if(istype(user.get_item_by_slot(SLOT_HUD_LEFT_HAND), /obj/item/bio_chip_case))
|
||||
case = user.get_item_by_slot(SLOT_HUD_LEFT_HAND)
|
||||
else if(istype(user.get_item_by_slot(SLOT_HUD_RIGHT_HAND), /obj/item/implantcase))
|
||||
else if(istype(user.get_item_by_slot(SLOT_HUD_RIGHT_HAND), /obj/item/bio_chip_case))
|
||||
case = user.get_item_by_slot(SLOT_HUD_RIGHT_HAND)
|
||||
else
|
||||
case = locate(/obj/item/implantcase) in get_turf(target)
|
||||
case = locate(/obj/item/bio_chip_case) in get_turf(target)
|
||||
|
||||
if(case && !case.imp)
|
||||
case.imp = I
|
||||
@@ -98,6 +98,6 @@
|
||||
)
|
||||
return SURGERY_STEP_CONTINUE
|
||||
|
||||
/datum/surgery_step/extract_implant/synth
|
||||
/datum/surgery_step/extract_bio_chip/synth
|
||||
allowed_tools = list(TOOL_WIRECUTTER = 100, TOOL_HEMOSTAT = 60)
|
||||
|
||||
@@ -294,7 +294,7 @@
|
||||
/obj/item/organ/internal/cyberimp/arm/combat/centcom
|
||||
name = "NT specops cybernetics implant"
|
||||
desc = "An extremely powerful cybernetic implant that contains combat and utility modules used by NT special forces."
|
||||
contents = newlist(/obj/item/gun/energy/pulse/pistol/m1911, /obj/item/door_remote/omni, /obj/item/melee/energy/blade/hardlight, /obj/item/reagent_containers/hypospray/combat/nanites, /obj/item/gun/medbeam, /obj/item/borg/stun, /obj/item/implanter/mindshield, /obj/item/flash/armimplant)
|
||||
contents = newlist(/obj/item/gun/energy/pulse/pistol/m1911, /obj/item/door_remote/omni, /obj/item/melee/energy/blade/hardlight, /obj/item/reagent_containers/hypospray/combat/nanites, /obj/item/gun/medbeam, /obj/item/borg/stun, /obj/item/bio_chip_implanter/mindshield, /obj/item/flash/armimplant)
|
||||
icon = 'icons/obj/guns/energy.dmi'
|
||||
icon_state = "m1911"
|
||||
emp_proof = 1
|
||||
|
||||
Reference in New Issue
Block a user