From 81101d30daa5d5d6a4c92867c6fdc8f93f4921e1 Mon Sep 17 00:00:00 2001 From: Neerti Date: Sun, 27 Jan 2019 00:47:37 -0500 Subject: [PATCH] Fixes some circuit bugs. --- .../integrated_electronics/core/assemblies.dm | 2 +- .../integrated_electronics/passive/power.dm | 4 +- .../integrated_electronics/subtypes/output.dm | 11 +- .../integrated_electronics/subtypes/time.dm | 126 +++++++----------- .../electronic_components.dmi | Bin 20208 -> 20469 bytes 5 files changed, 59 insertions(+), 84 deletions(-) diff --git a/code/modules/integrated_electronics/core/assemblies.dm b/code/modules/integrated_electronics/core/assemblies.dm index 8367e2096a2..3009c625690 100644 --- a/code/modules/integrated_electronics/core/assemblies.dm +++ b/code/modules/integrated_electronics/core/assemblies.dm @@ -339,7 +339,7 @@ if(battery) var/lost = battery.use(amount * CELLRATE) net_power -= lost - return TRUE + return lost > 0 return FALSE // Ditto for giving. diff --git a/code/modules/integrated_electronics/passive/power.dm b/code/modules/integrated_electronics/passive/power.dm index 829027303c8..a98f414e0e3 100644 --- a/code/modules/integrated_electronics/passive/power.dm +++ b/code/modules/integrated_electronics/passive/power.dm @@ -57,7 +57,7 @@ desc = "A complicated piece of technology which converts bodily nutriments of a host into electricity." extended_desc = "The siphon generates 10W of energy, so long as the siphon exists inside a biological entity. The entity will feel an increased \ appetite and will need to eat more often due to this. This device will fail if used inside synthetic entities." - icon_state = "setup_implant" + icon_state = "implant_power" complexity = 10 origin_tech = list(TECH_POWER = 4, TECH_ENGINEERING = 4, TECH_DATA = 4, TECH_BIO = 5) spawn_flags = IC_SPAWN_RESEARCH @@ -82,8 +82,6 @@ desc = "A small circuit designed to be connected to an internal power wire inside a synthetic entity." extended_desc = "The siphon generates 10W of energy, so long as the siphon exists inside a synthetic entity. The entity need to recharge \ more often due to this. This device will fail if used inside organic entities." - icon_state = "setup_implant" - complexity = 10 origin_tech = list(TECH_POWER = 3, TECH_ENGINEERING = 4, TECH_DATA = 3) spawn_flags = IC_SPAWN_RESEARCH diff --git a/code/modules/integrated_electronics/subtypes/output.dm b/code/modules/integrated_electronics/subtypes/output.dm index c3ff9b36d5d..467ce7725b2 100644 --- a/code/modules/integrated_electronics/subtypes/output.dm +++ b/code/modules/integrated_electronics/subtypes/output.dm @@ -4,12 +4,14 @@ /obj/item/integrated_circuit/output/screen name = "small screen" desc = "This small screen can display a single piece of data, when the machine is examined closely." + extended_desc = "This will show the data loaded into it when the machine is examined." icon_state = "screen" inputs = list("displayed data" = IC_PINTYPE_ANY) outputs = list() activators = list("load data" = IC_PINTYPE_PULSE_IN) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH power_draw_per_use = 10 + cooldown_per_use = 0 // Can be updated frequently. var/stuff_to_display = null @@ -30,8 +32,9 @@ stuff_to_display = I.data /obj/item/integrated_circuit/output/screen/medium - name = "screen" + name = "medium screen" desc = "This screen allows for people holding the device to see a piece of data." + extended_desc = "This will display a message to the user holding the assembly when activated." icon_state = "screen_medium" power_draw_per_use = 20 @@ -45,8 +48,10 @@ /obj/item/integrated_circuit/output/screen/large name = "large screen" desc = "This screen allows for people able to see the device to see a piece of data." + extended_desc = "This will display a message to everyone who can see the assembly when activated." icon_state = "screen_large" power_draw_per_use = 40 + cooldown_per_use = 1 SECOND // Because everyone will get the output instead of just the user/examiner. /obj/item/integrated_circuit/output/screen/large/do_work() ..() @@ -114,8 +119,8 @@ /obj/item/integrated_circuit/output/text_to_speech name = "text-to-speech circuit" - desc = "A miniature speaker is attached to this component." - extended_desc = "This unit is more advanced than the plain speaker circuit, able to transpose any valid text to speech." + desc = "A miniature speaker is attached to this component. It is able to transpose any valid text to speech." + extended_desc = "This will emit an audible message to anyone who can hear the assembly." icon_state = "speaker" complexity = 12 cooldown_per_use = 4 SECONDS diff --git a/code/modules/integrated_electronics/subtypes/time.dm b/code/modules/integrated_electronics/subtypes/time.dm index b03a5a2ada0..8ee55583ac0 100644 --- a/code/modules/integrated_electronics/subtypes/time.dm +++ b/code/modules/integrated_electronics/subtypes/time.dm @@ -7,79 +7,38 @@ category_text = "Time" /obj/item/integrated_circuit/time/delay - name = "two-sec delay circuit" - desc = "This sends a pulse signal out after a delay, critical for ensuring proper control flow in a complex machine. \ - This circuit is set to send a pulse after a delay of two seconds." - icon_state = "delay-20" - var/delay = 2 SECONDS + name = "delay circuit" + desc = "This sends a pulse signal out after a delay defined in tenths of a second, critical for ensuring proper \ + control flow in a complex machine. This circuit's delay can be customized, between 1/10th of a second to one hour. \ + The delay is updated upon receiving a pulse." + extended_desc = "The delay is defined in tenths of a second. For instance, 4 will be a delay of 0.4 seconds, or 15 for 1.5 seconds." + icon_state = "delay" + inputs = list("delay time" = IC_PINTYPE_NUMBER) activators = list("incoming"= IC_PINTYPE_PULSE_IN,"outgoing" = IC_PINTYPE_PULSE_OUT) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH power_draw_per_use = 2 + var/delay = 20 /obj/item/integrated_circuit/time/delay/do_work() - set waitfor = 0 // Don't sleep in a proc that is called by a processor. It'll delay the entire thing - - sleep(delay) - activate_pin(2) - -/obj/item/integrated_circuit/time/delay/five_sec - name = "five-sec delay circuit" - desc = "This sends a pulse signal out after a delay, critical for ensuring proper control flow in a complex machine. \ - This circuit is set to send a pulse after a delay of five seconds." - icon_state = "delay-50" - delay = 5 SECONDS - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - -/obj/item/integrated_circuit/time/delay/one_sec - name = "one-sec delay circuit" - desc = "This sends a pulse signal out after a delay, critical for ensuring proper control flow in a complex machine. \ - This circuit is set to send a pulse after a delay of one second." - icon_state = "delay-10" - delay = 1 SECOND - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - -/obj/item/integrated_circuit/time/delay/half_sec - name = "half-sec delay circuit" - desc = "This sends a pulse signal out after a delay, critical for ensuring proper control flow in a complex machine. \ - This circuit is set to send a pulse after a delay of half a second." - icon_state = "delay-5" - delay = 5 - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - -/obj/item/integrated_circuit/time/delay/tenth_sec - name = "tenth-sec delay circuit" - desc = "This sends a pulse signal out after a delay, critical for ensuring proper control flow in a complex machine. \ - This circuit is set to send a pulse after a delay of 1/10th of a second." - icon_state = "delay-1" - delay = 1 - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - -/obj/item/integrated_circuit/time/delay/custom - name = "custom delay circuit" - desc = "This sends a pulse signal out after a delay, critical for ensuring proper control flow in a complex machine. \ - This circuit's delay can be customized, between 1/10th of a second to one hour. The delay is updated upon receiving a pulse." - icon_state = "delay" - inputs = list("delay time" = IC_PINTYPE_NUMBER) - spawn_flags = IC_SPAWN_RESEARCH - -/obj/item/integrated_circuit/time/delay/custom/do_work() var/delay_input = get_pin_data(IC_INPUT, 1) if(delay_input && isnum(delay_input) ) - var/new_delay = between(1, delay_input, 36000) //An hour. + var/new_delay = CLAMP(delay_input, 1, 1 HOUR) delay = new_delay - ..() + addtimer(CALLBACK(src, .proc/activate_pin, 2), delay) /obj/item/integrated_circuit/time/ticker name = "ticker circuit" - desc = "This circuit sends an automatic pulse every four seconds." - icon_state = "tick-m" - complexity = 8 - var/ticks_to_pulse = 4 - var/ticks_completed = 0 - var/is_running = FALSE - inputs = list("enable ticking" = IC_PINTYPE_BOOLEAN) + desc = "This circuit sends an automatic pulse every given interval, defined in tenths of a second." + extended_desc ="This circuit sends an automatic pulse every given interval, defined in tenths of a second. \ + For example, setting the time pin to 4 will send a pulse every 0.4 seconds, or 15 for every 1.5 seconds.
\ + The power consumption will scale based on how fast this ticks. Also, note that most components have a short \ + internal cooldown when activated." + icon_state = "tick-f" + complexity = 10 + inputs = list("enable ticking" = IC_PINTYPE_BOOLEAN, "delay time" = IC_PINTYPE_NUMBER) activators = list("outgoing pulse" = IC_PINTYPE_PULSE_OUT) +<<<<<<< HEAD spawn_flags = IC_SPAWN_RESEARCH power_draw_per_use = 4 @@ -87,11 +46,29 @@ if(is_running) processing_objects -= src . = ..() +======= + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 5 + var/delay = 2 SECONDS + var/next_fire = 0 + var/is_running = FALSE + // Power consumption scales based on how fast it ticks. + // This, plus the fact it ticks more often will increase consumption non-linearly, + // and the circuit cooldown and will hopefully discourage stupidly fast ticking machines. + var/max_power_draw = 500 +>>>>>>> dcc6cad... Fixes some circuit bugs. (#5897) /obj/item/integrated_circuit/time/ticker/on_data_written() + var/delay_input = get_pin_data(IC_INPUT, 2) + if(delay_input && isnum(delay_input) ) + var/new_delay = CLAMP(delay_input, 1, 1 HOUR) + delay = new_delay + power_draw_per_use = CEILING((max_power_draw / delay) / delay, 1) + var/do_tick = get_pin_data(IC_INPUT, 1) if(do_tick && !is_running) is_running = TRUE +<<<<<<< HEAD processing_objects |= src else if(is_running) is_running = FALSE @@ -107,24 +84,19 @@ else ticks_completed = 0 activate_pin(1) +======= + tick() + else if(!do_tick && is_running) + is_running = FALSE +>>>>>>> dcc6cad... Fixes some circuit bugs. (#5897) -/obj/item/integrated_circuit/time/ticker/fast - name = "fast ticker" - desc = "This advanced circuit sends an automatic pulse every two seconds." - icon_state = "tick-f" - complexity = 12 - ticks_to_pulse = 2 - spawn_flags = IC_SPAWN_RESEARCH - power_draw_per_use = 8 -/obj/item/integrated_circuit/time/ticker/slow - name = "slow ticker" - desc = "This simple circuit sends an automatic pulse every six seconds." - icon_state = "tick-s" - complexity = 4 - ticks_to_pulse = 6 - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - power_draw_per_use = 2 +/obj/item/integrated_circuit/time/ticker/proc/tick() + if(is_running && check_power()) + addtimer(CALLBACK(src, .proc/tick), delay) + if(world.time > next_fire) + next_fire = world.time + delay + activate_pin(1) /obj/item/integrated_circuit/time/clock name = "integrated clock" @@ -148,4 +120,4 @@ set_pin_data(IC_OUTPUT, 4, text2num(time2text(station_time_in_ticks, "ss") ) ) push_data() - activate_pin(2) \ No newline at end of file + activate_pin(2) diff --git a/icons/obj/integrated_electronics/electronic_components.dmi b/icons/obj/integrated_electronics/electronic_components.dmi index 129491755ef612c82bf1250f24492a91b95a826c..b9b82061caf62c9541efe750f172ee145db8508d 100644 GIT binary patch literal 20469 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 literal 20208 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