mirror of
https://github.com/KabKebab/GS13.git
synced 2026-07-19 03:50:32 +01:00
Merge pull request #381 from quotefox/circuits
Intergrated circuit additions (Vendors, and 2 new circuits)
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -760,11 +760,19 @@
|
||||
name = "type-e electronic machine"
|
||||
icon_state = "setup_large_tall"
|
||||
desc = "It's a case, for building large electronics with. This one has a tall design."
|
||||
density = 1
|
||||
|
||||
/obj/item/electronic_assembly/large/industrial
|
||||
name = "type-f electronic machine"
|
||||
icon_state = "setup_large_industrial"
|
||||
desc = "It's a case, for building large electronics with. This one resembles some kind of industrial machinery."
|
||||
density = 1
|
||||
|
||||
/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."
|
||||
density = 1
|
||||
|
||||
/obj/item/electronic_assembly/drone
|
||||
name = "electronic 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 ability to be impregnated."
|
||||
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 |
@@ -2900,6 +2900,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"
|
||||
|
||||
Reference in New Issue
Block a user