Skip to content

Commit

Permalink
Adds generic implant and known_cybernetics to adv medscanner (#4970)
Browse files Browse the repository at this point in the history
* add generic implant and known_cybernetics

* more implant, psion fix

gives you ability to have 3 generic implants instead of just 1, shifts the cost of implanter to tracking implant and makes psions be able to take generic implants (since they can be renamed to non implant things like scars)
  • Loading branch information
Delams-The-SM authored Jan 27, 2024
1 parent 2fdbcfd commit d90475b
Show file tree
Hide file tree
Showing 8 changed files with 47 additions and 5 deletions.
13 changes: 13 additions & 0 deletions code/game/machinery/adv_med.dm
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,13 @@
/obj/item/implant/core_implant/cruciform,
/obj/item/implant/excelsior
)
var/known_cybernetics = list(
/obj/item/organ_module/active/simple/wolverine,
/obj/item/organ_module/active/simple/armblade/energy_blade,
/obj/item/organ_module/active/simple/armblade/bs_tomahawk,
/obj/item/organ_module/active/simple/armblade/longsword,
/obj/item/organ_module/active/simple/armblade/ritual
)
var/delete
var/temphtml
name = "body scanner console"
Expand Down Expand Up @@ -367,6 +374,12 @@
if(is_type_in_list(I,known_implants))
var/obj/item/implant/device = I
other_wounds += "[device.get_scanner_name()] implanted"
else if(is_type_in_list(I,known_cybernetics))
var/obj/item/organ_module/active/simple/device = I
other_wounds += "[device.get_scanner_name()] detected"
else if(istype(I, /obj/item/implant/generic))
var/obj/item/implant/device = I
other_wounds += "[device.get_scanner_name()] detected"
else if(istype(I, /obj/item/material/shard/shrapnel))
other_wounds += "Embedded shrapnel"
else if(istype(I, /obj/item/implant))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@
armor_penetration = ARMOR_PEN_MODERATE
tool_qualities = list(QUALITY_CUTTING = 20)

/obj/item/organ_module/active/simple/proc/get_scanner_name()
return name

/obj/item/organ_module/active/simple/armblade
name = "embedded armblade"
desc = "A mechanical blade designed to be inserted into an arm. Gives you a nice advantage in a brawl."
Expand Down
1 change: 1 addition & 0 deletions code/game/objects/items/weapons/implant/implanter.dm
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/obj/item/implanter
name = "implanter"
desc = "An implanter that allows safe and hygienic implant implantation even to untrained personel"
icon = 'icons/obj/items.dmi'
icon_state = "implanter"
item_state = "syringe_0"
Expand Down
4 changes: 4 additions & 0 deletions code/game/objects/items/weapons/implant/implants/generic.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/obj/item/implant/generic
name = "implant"
desc = "An generic implant that serves no function, no use."
icon_state = "implant_tracking"
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/obj/item/implant/tracking
name = "tracking implant"
desc = "Track with this."
desc = "A small device used for tracking individuals."
icon_state = "implant_tracking"
var/id = 1.0
origin_tech = list(TECH_MATERIAL=2, TECH_MAGNET=2, TECH_DATA=2, TECH_BIO=2)
Expand Down
26 changes: 23 additions & 3 deletions code/modules/client/preference_setup/loadout/lists/general.dm
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,29 @@
display_name = "spaceball booster pack"
path = /obj/item/pack/spaceball

/datum/gear/trackingimplanter
display_name = "implanter (tracking)"
path = /obj/item/implanter/tracking
/datum/gear/implanter
display_name = "implanter (empty)"
path = /obj/item/implanter
cost = 0

/datum/gear/implant_tracking
display_name = "implant (tracking)"
path = /obj/item/implant/tracking

/datum/gear/implant_generic_1
display_name = "implant (generic) 1"
path = /obj/item/implant/generic
cost = 0

/datum/gear/implant_generic_2
display_name = "implant (generic) 2"
path = /obj/item/implant/generic
cost = 0

/datum/gear/implant_generic_3
display_name = "implant (generic) 3"
path = /obj/item/implant/generic
cost = 0

/datum/gear/photo_frame
display_name = "photograph frame"
Expand Down
2 changes: 1 addition & 1 deletion code/modules/psionics/psion.dm
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@

// This proc removes all implanters other then non-metal ones.
/obj/item/organ/internal/psionic_tumor/proc/remove_implanted(metal_implant)
if(istype(metal_implant, /obj/item/implant))
if(istype(metal_implant, /obj/item/implant) && !istype(metal_implant, /obj/item/implant/generic))
var/obj/item/implant/R = metal_implant
if(R.implanted)
owner.visible_message(SPAN_DANGER("[R.name] rips through [owner]'s body."),\
Expand Down
1 change: 1 addition & 0 deletions sojourn-station.dme
Original file line number Diff line number Diff line change
Expand Up @@ -1222,6 +1222,7 @@
#include "code\game\objects\items\weapons\implant\implants\excelsior.dm"
#include "code\game\objects\items\weapons\implant\implants\explosive.dm"
#include "code\game\objects\items\weapons\implant\implants\freedom.dm"
#include "code\game\objects\items\weapons\implant\implants\generic.dm"
#include "code\game\objects\items\weapons\implant\implants\health.dm"
#include "code\game\objects\items\weapons\implant\implants\spying.dm"
#include "code\game\objects\items\weapons\implant\implants\tracking.dm"
Expand Down

0 comments on commit d90475b

Please sign in to comment.