intergrated circuit additions

intergrated circuit additions
This commit is contained in:
QuoteFox
2020-08-06 06:46:56 +01:00
parent 7abca70569
commit 5a3f1875a4
5 changed files with 83 additions and 3 deletions
@@ -70,6 +70,7 @@ PROCESSING_SUBSYSTEM_DEF(circuit)
/obj/item/electronic_assembly/large/arm,
/obj/item/electronic_assembly/large/tall,
/obj/item/electronic_assembly/large/industrial,
/obj/item/electronic_assembly/large/vendor,
/obj/item/electronic_assembly/drone/default,
/obj/item/electronic_assembly/drone/arms,
/obj/item/electronic_assembly/drone/secbot,
@@ -766,6 +766,11 @@
icon_state = "setup_large_industrial"
desc = "It's a case, for building large electronics with. This one resembles some kind of industrial machinery."
/obj/item/electronic_assembly/large/vendor
name = "type-g electronic machine"
icon_state = "setup_large_vendor"
desc = "It's a case, for building large electronics with. This one resembles a vending machine."
/obj/item/electronic_assembly/drone
name = "electronic drone"
icon_state = "setup_drone"
@@ -0,0 +1,76 @@
/obj/item/integrated_circuit/input/gmeasurement
name = "body measurement"
desc = "Used to get a measurement of a refs genitals size and body size."
icon_state = "medscan"
complexity = 5
extended_desc = "Upon activation, the circuit will attempt to measure all body parts on the refs body within one tile away."
inputs = list("target" = IC_PINTYPE_REF)
outputs = list(
"penis length" = IC_PINTYPE_NUMBER,
"breast size" = IC_PINTYPE_NUMBER,
"testicle size" = IC_PINTYPE_NUMBER,
"body size" = IC_PINTYPE_NUMBER
)
activators = list("scan" = IC_PINTYPE_PULSE_IN, "on scanned" = IC_PINTYPE_PULSE_OUT)
spawn_flags = IC_SPAWN_RESEARCH
power_draw_per_use = 40
cooldown_per_use = 20
ext_cooldown = 25
/obj/item/integrated_circuit/input/gmeasurement/do_work()
var/mob/living/L = get_pin_data_as_type(IC_INPUT, 1, /mob/living)
if(!istype(L) || !L.Adjacent(get_turf(src)) ) //Invalid input
return
var/obj/item/organ/genital/penis/P = L.getorganslot("penis")
var/obj/item/organ/genital/breasts/B = L.getorganslot("breasts")
var/obj/item/organ/genital/testicles/T = L.getorganslot("testicles")
//reset data, just incase they dont have that genitle
set_pin_data(IC_OUTPUT, 1, 0)
set_pin_data(IC_OUTPUT, 2, 0)
set_pin_data(IC_OUTPUT, 3, 0)
set_pin_data(IC_OUTPUT, 4, 0)
//get sizes
set_pin_data(IC_OUTPUT, 1, P.length)
set_pin_data(IC_OUTPUT, 2, B.cached_size)
set_pin_data(IC_OUTPUT, 3, T.cached_size )
set_pin_data(IC_OUTPUT, 4, L.size_multiplier*100)
push_data()
activate_pin(2)
/obj/item/integrated_circuit/input/pregtest
name = "pregnancy tester"
desc = "A circuit used to determine whether someone is pregnant or not and if they possess the abbility to be imprengated."
icon_state = "medscan"
complexity = 5
inputs = list("target" = IC_PINTYPE_REF)
outputs = list(
"is pregnant" = IC_PINTYPE_BOOLEAN,
"breedable" = IC_PINTYPE_BOOLEAN
)
activators = list("scan" = IC_PINTYPE_PULSE_IN, "on scanned" = IC_PINTYPE_PULSE_OUT)
spawn_flags = IC_SPAWN_RESEARCH
power_draw_per_use = 40
cooldown_per_use = 20
ext_cooldown = 25
/obj/item/integrated_circuit/input/pregtest/do_work()
var/mob/living/L = get_pin_data_as_type(IC_INPUT, 1, /mob/living)
if(!istype(L) || !L.Adjacent(get_turf(src)) ) //Invalid input
return
var/obj/item/organ/genital/womb/W = L.getorganslot("womb")
set_pin_data(IC_OUTPUT, 1, null)
set_pin_data(IC_OUTPUT, 2, null)
set_pin_data(IC_OUTPUT, 1, W.pregnant)
set_pin_data(IC_OUTPUT, 2, L.breedable)
push_data()
activate_pin(2)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 18 KiB

+1 -3
View File
@@ -245,7 +245,6 @@
#include "code\controllers\subsystem\idlenpcpool.dm"
#include "code\controllers\subsystem\input.dm"
#include "code\controllers\subsystem\ipintel.dm"
#include "code\controllers\subsystem\item_spawning.dm"
#include "code\controllers\subsystem\job.dm"
#include "code\controllers\subsystem\jukeboxes.dm"
#include "code\controllers\subsystem\language.dm"
@@ -1031,7 +1030,6 @@
#include "code\game\objects\structures\tank_dispenser.dm"
#include "code\game\objects\structures\target_stake.dm"
#include "code\game\objects\structures\traps.dm"
#include "code\game\objects\structures\trash_piles.dm"
#include "code\game\objects\structures\watercloset.dm"
#include "code\game\objects\structures\windoor_assembly.dm"
#include "code\game\objects\structures\window.dm"
@@ -1819,7 +1817,6 @@
#include "code\modules\jobs\job_types\civilian_chaplain.dm"
#include "code\modules\jobs\job_types\engineering.dm"
#include "code\modules\jobs\job_types\job.dm"
#include "code\modules\jobs\job_types\job_alt_titles.dm"
#include "code\modules\jobs\job_types\medical.dm"
#include "code\modules\jobs\job_types\science.dm"
#include "code\modules\jobs\job_types\security.dm"
@@ -2900,6 +2897,7 @@
#include "hyperstation\code\modules\clothing\head.dm"
#include "hyperstation\code\modules\crafting\bounties.dm"
#include "hyperstation\code\modules\crafting\recipes.dm"
#include "hyperstation\code\modules\integrated_electronics\input.dm"
#include "hyperstation\code\modules\patreon\patreon.dm"
#include "hyperstation\code\modules\resize\holder_micro.dm"
#include "hyperstation\code\modules\resize\resizing.dm"