Commit Graph

44 Commits

Author SHA1 Message Date
Shdorsh
6f24f5bd4b [READY] Giving circuits possibility to load item while in assembly (#39454)
* Letting circuits get items in assembly

This adds a proc so that certain circuits can have an item inserted once they are in the assembly. Also gets rid of the second list in the attack_self() proc and removes that pesky list.Find() proc by turning the first list into an associative list, which should make the proc more reliable and slightly more optimized.

* Letting circuits get items in assembly 

Add a boolean var and an additem proc so that you can insert items inside some circuits after they are inside the assembly, while it is still open

* Fixed indentation error

Happens when I use copypaste for new code, sorry folks.

* fixed a little error due to false object path

* Fixed single-input assemblies

The choice variable detected the name of the association rather than the circuit associated to it in the list.

* Added a fix for batteries

There was this bug, where the battery would be transferred into the location of the assembly rather than its contents when putting it inside.

* fixed a little issue with analyzers

* Indentation error due to copy paste again

* fixing nonreactivity on input circuits

hey, it's not easy reworking a whole proc like this...

* further simplifications

* Adding new var

can_input_object_when_closed, which should make it possible for people to take items from an assembly.

* Adding the code to the corresponding new var

* small correction

forgot to make the var reference the circuit

* since most stuff just calls attackby(), why not let it relay directly?

* Whelp, since no one's reviewing, let's add onto this

* seeing if another travis check will still result in errors

* done it, Naksu!

thanks for giving this another chance!
2018-09-04 00:31:13 +03:00
Garen Crownguard
291583440f screwdriver_act signal (#39877) 2018-08-27 05:56:45 -04:00
Garen Crownguard
b0b011d274 Circuit logging and etc (#39582)
* need to merge before I conflict

* more logging, and etc.

* fix some mess

* forgot the switch statement
2018-08-19 09:51:10 -04:00
Hate9
1463784de5 Adds tiny circuits (#39123)
* Added tiny circuits

* fixed typo

* Update assemblies.dm

* Rename example - Copy.yml to example.yml

* Update circuit.dm

* Delete tinycircuits.yml
2018-08-01 09:27:37 +12:00
Tlaltecuhtli
2f6f52a2a3 makes integrated circuits less window spammy (#39168)
putting a cell and other not intended actions dont open the circuit window
2018-07-18 12:36:04 -04:00
Jordan Brown
96c92d5eb7 Merge pull request #38938 from ninjanomnom/b-b-bump
Converts collide back to bump and fixes double bumping in another way
2018-07-09 14:50:27 -04:00
ninjanomnom
059da44453 Converts collide back to bump and fixes double bumping in another way
This is in preparation for step_x support as the default behavior for these procs is necessary for proper functionality.

turf/Enter and atom/movable/Move default code got rewritten to replicate default byond functionality with minor changes.
2018-07-07 11:22:29 -04:00
Trevor Serpas
bee0b5b2c3 Afterattack() Signal (#38606)
* adds signal and modifies each call of afterattack to call it's inherited proc

* uses new macro for sendsignal()

* map fuck

* skip precommithooks

* combine and negate 2 ifs
2018-07-07 02:00:25 -04:00
Jordan Brown
26b6fab1fe Merge branch 'pr-38604'
Signed-off-by: Jordan Brown <Cyberboss@users.noreply.github.com>
2018-06-28 14:22:03 -04:00
Dax Dupont
da9f93e20c Allows admins to scan circuits + more logging (#38762)
* Allows admins to scan circuits

* Adds logging to screens that actually output to nearby

* incase they manually spam it

* Throw logs
2018-06-28 21:18:07 +03:00
Dax Dupont
7e9ad626e9 [READY] General Circuit Improvements (#38742)
* [WIP] General circuit improvements

* Fix

* s

* Adds sound logging

* oops

* mob user
2018-06-27 17:00:55 +03:00
ShizCalev
ff532a4ca4 Spellchecks TGStation 2018-06-19 18:57:44 -04:00
Dax Dupont
3aa97fe725 Removes circuits 2018-06-16 21:15:47 +02:00
theo2003
5bdf30b3ff Players who edited an integrated circuit assembly can scan it after dying. 2018-06-14 22:37:35 +03:00
vuonojenmustaturska
c65a99f130 Move NODROP_1, DROPDEL_1, ABSTRACT_1 and NOBLUDGEON_1 to item_flags where they belong (#38171)
* (mostly) nodrop

* (mostly) dropdel

* (mostly) abstract

* nobludgeon

* things i missed

* forgot one

* unintended changes

* energy handcuffs
2018-06-01 11:36:31 +02:00
Trevor Serpas
04a35c4f13 Some circuitry fixes and qol (#37755)
* some circuit fixes

I removed the ability for you to save whether or not an assembly is open since you always want the assebly to be open when its printed so you can put a battery in. I fixed the other three issues because they were bugs.

* tells user when they use a sensor or scanner

* oops

* revert last commit

* usr -> user
2018-05-24 07:24:03 +02:00
vuonojenmustaturska
1eccbcca18 Adds an EMP protection component, allowing ANYTHING to be protected from EMP (#37671)
The component is initialized with any combination of three flags, EMP_PROTECT_SELF protects against effects that target the object itself, EMP_PROTECT_WIRES protects against wires being messed with similar to the NO_EMP_WIRES_1 flag which this PR removes, EMP_PROTECT_CONTENTS protects against things that are inside the object like organs, internal "non-virtual" power cells and the like

This enables (but doesn't introduce) new mechanics such as adding EMP shielding at runtime to any atom, or taking it away.
2018-05-22 11:38:02 +12:00
r-esistor
7be20350ce Circuit Labels (sorta understanding git edition) (#37633)
* Customizable circuit names/descriptions

* Circuit descriptions are now copied

* Prevents code injection through the desc
2018-05-21 09:10:35 +02:00
Trevor Serpas
790a773ade Circuit gun inhands and grabber fix (#37836)
* Grabbers update when a thrower uses its inventory and throwers and gun circuits need to use the gun assembly

* visible_messages
2018-05-17 18:26:08 +03:00
Fox McCloud
057aa31cda Kills off /obj/item/device (#37297)
* Kills off /obj/item/device

* whoops

* whoops

* Fix
2018-04-23 15:00:23 +02:00
SailorDave
abe15054ad [READY] A few additions, tweaks, and fixes for integrated circuits (#36270)
* A few additions, tweaks, and fixes for integrated circuits, and some very minor tweaks to hydroponics and carbon/silicon examine() to support those changes.

🆑 SailorDave
rscadd: A new manipulation circuit, the Seed Extractor. Extracts seeds from produce, and outputs a list of the extracted seeds.
rscadd: A new list circuit, the List Filter. Searches through a list for anything matching the desired element and outputs two lists: one containing just the matches, and the other with matches filtered out.
rscadd: A new list circuit, the Set circuit. Removes duplicate entries from a list.
tweak: The Plant Manipulation circuit can now plant seeds, and outputs a list of harvested plants.
tweak: Reagent circuits can now irrigate connected hydroponic trays and inject blood samples into Replica pods.
tweak: The Examiner circuit outputs worn items and other examined details of carbon and silicon mobs into the description pin.
tweak: List Advanced Locator circuit now accepts refs as well as strings.
bugfix: Fixed the Power Transmitter circuit not properly displaying a message when activated.
bugfix: Medical Analyzer circuit can now properly scan non-human mobs.
/🆑

Additional details:
- Plant Manipulation: obj/item/seeds harvest() proc and obj/machinery/hydroponics attack_hand() procs were adjusted slightly to allow this, returning a list when harvested.

- Seed Extractor Module: obj/machinery/seed_extractor /proc/seedify() was adjusted to return a list of seeds.

- Hydroponics replica pod was adjusted to be injectable|drawable, and use reagents and on_reagent_change() rather than a hardcoded attackby(), so other injection methods can use it to allow blood sampling/future reagent reactions regardless of type.

- IC Examiner Module returns a list of examine() messages from mob/living/carbon, mob/living/carbon/human, mob/living/carbon/silicon, and mob/living/carbon/silicon/ai in the description data pin, rather than outputting null since they had an empty desc var. The relevant examine procs were adjusted to return their messages.

 - IC get_data() and set_pin_data() adjusted to return text/num properly and to WEAKREF/un-WEAKREF the contents of passed lists.

* fixes errors from screwy merge conflicts and replaces illegal proc name

* re-added a traits tag that accidentally got removed

* review changes

* plant analyzer outputs irrigation status and connected trays, search circuit uses 2 Cx down from 6

* examiner outputs the occupied turf of the examined object and can also scan turfs

* string inputs on circuit pins now use multiline input; fixed edit/remove not working on list pins; fixed large screens not outputting visible messages when held

* locomotion now has a cooldown of 0.1sec and their complexity + pathfinder complexity reduced

* assemblies can open doors they have access to from a card reader through collision

* Merge master branch; fixes pathfinder AStar runtime; fixes tile pointer; fixes material manager self-ref; various grammar touchups

* review changes

* fixes improper weakref type checking

* fixes seed extractor merge confict, removes unnecessary weakref change

* dang ol merge undoing my changes HECK

* updated to robbym's tile pointer PR with clearer var names

* added missing "not scanned" results to tile analyzer, removes duplicate circuit entries(???? how)
2018-04-21 16:00:25 +03:00
John Ginnane
3888041efd Reorganised component controls (#37054)
* Reorganised component controls

* Simplied menu further

Removed "rename" and "copy ref", renamed "remove" to just "-"

* Added similar changes to "built in" components and added "Rename"
2018-04-15 11:30:53 +02:00
vuonojenmustaturska
c028fc0406 Merge pull request #36736 from fludd12/light-up-the-night
Assemblies with lighting circuits now properly update light position.
2018-03-27 23:21:14 +03:00
fludd12
129ef53154 Moov'd 2018-03-26 16:37:48 -04:00
fludd12
a19ce28fa0 Assemblies with lighting circuits now properly update light position. 2018-03-26 13:46:12 -04:00
arsserpentarium
92fe820f3d [READY]pathfinding circuitry upgrade (#36398)
* all in one

* fixfixfix

* uhhhh

* demuxdemuxdemuxdemux

* wire eriw

* icon noci

* tihsxifixshit

* rewopower

* fixif

* screeneercs

* returnruter
2018-03-26 19:01:34 +03:00
kevinz000
f300a5c155 Interaction/Attack Hand Refactor (#36405) 2018-03-23 11:20:54 +01:00
JStheguy
8d5b771108 Electronic assembly changes and additions (#36394)
* the rainbow of mediocrity rides again

* whoops that wasn't supposed to be there
2018-03-19 20:09:38 -04:00
arsserpentarium
09051ddae5 [READY]Circuit balance (#35931)
* cooldowns, power cell,disks

* NUMBERS NUMBERS NUMBERS

* 1 8 9

* PR PR PR

* DESC DESCDSCDCC

* <br>

* GET ALL CONTENTS

* Update power.dm

* Update power.dm

* Update time.dm
2018-03-03 01:08:05 +02:00
Trevor Serpas
8b86e3b495 Adds circutry to diagnostic hud, adds action flags to circuits (#35718)
cl
add: Circuits integrity, charge, and overall circuit composition is displayed on diagnostic huds. If the assembly has dangerous circuits then the status icon will display exclamation points, if the assembly can communicate with something far away a wifi icon will appear next to the status icon, and if the circuit can not operate the status icon will display an 'X'.
add: AR interface circuit which can modify the status icon if it is not displaying the exclamation points or the 'X'.
tweak: Locomotive circuits can no longer be added to assemblies that can't use them.
spellcheck: Fixed a typo in the grenade primer description.
code: Added flags to circuits that help group subsets of circuits and regulate them.
/cl

The diagnostic hud addition is meant to allow more counter play to circuits by seeing the assemblies's healths and how dangerous they are. The flags are a useful addition to the code because players shouldn't be able to put circuits in assemblies if the assembly can't use that circuit (this can also be used later for other assemblies which could use unique circuits).

The following circuits are flagged as dangerous:
weapon firing mechanism
grenade primer
thrower

The following circuits are flagged as long range:
NTNet networking circuit
integrated signaler
video camera circuit

possible AR interface displays:
default
alert
move
2018-02-20 14:33:11 +13:00
Jordan Brown
d282c60c7d Quote the armor lists (#35668) 2018-02-16 01:25:42 -05:00
Ashe Higgs
ebafefc610 Adds sounds and some small QoL improvements to the circuit imprinter, and allows them to recycle empty assemblies (#35131)
🆑 Xhuis
tweak: Removing and printing integrated circuits will now attempt to place them into a free hand.
tweak: You can now hit an integrated circuit printer with an unsecured electronic assembly to recycle all of the parts in the assembly en masse.
tweak: You can now recycle empty electronic assemblies in an integrated circuit printer!
soundadd: Integrated circuit printers now have sounds for printing circuits and assemblies.
/🆑

Some low-hanging fruit for circuits. I was trying them earlier, and these were the main things that I was surprised didn't exist, so I added them. I'm not sure about the assembly manipulation yet (may have been intentional?) but it feels a lot smoother to use, especially since misprints can be emptied out and then recycled instead of awkwardly removing each component and then disposing of the case.
2018-02-16 09:45:40 +13:00
ACCount
c6e607dc17 Refactors use_sound and changes the way tools play sounds (#35521)
* Adds list support to usesound, ports drills to usesound

* Adds more tool sounds, changes usesound usage to play_tool_sound

* fix
2018-02-12 17:16:47 +02:00
ShizCalev
bfde5ac057 [s] Fixes altclick exploits (#35456)
* Fixes altclick exploits

* Removed free spam, fixes monkey altclicks

* replaced named args with proper defines

* More cleanup and fixes

* Better yet

* Another exploit fix

* pet carrier fix
2018-02-11 16:06:12 +13:00
Trevor Serpas
db5173f896 Integrated Circutry Readability Improvements (#35449)
* Integrated Circutry Readability Improvements

* support for old save files and fix a var I missed
2018-02-10 11:04:34 -05:00
Evsey Antonovich
31c973f38c Circuit drone + grabber/thrower balance changes (#34834)
* makes grabbers bulky and inventory max bulky

* makes circuit drones bulky

* removes drone stacking

* made grabbers max w class based on drone assembly, changed their w class back to small

* review stuff

* makes throwers max_w_class depend on assembly size

* uh

* kills sheer heart attack

* fuck off

* FUCK

* GR
2018-02-08 22:10:48 +13:00
arsserpentarium
c86fc91b55 [READY]Pulling claw 2 (#33817)
Pulling claw is integrated circuit,which allows drones to pull things.
2018-01-12 09:02:56 +13:00
arsserpentarium
95b9e19cd9 [READY]Circuitry upgrades (#33579)
* heater,xenobio scan,smoker fix,kill vines,pathfinder

* 1.drag component
2.damage for bot and machines(?)
3.EPv2 scaner(takes ref to thing.returns adress of epv2 adress if there is one)
4.fix work of arithmetic pins

* Update input.dm

* fix, scaner

* grinder,juicer,smokefix, runtime fix

* lag

* Update game_options.txt

* Update reagents.dm

* Update assemblies.dm

* Update grown.dm

* Update grown.dm

* 111

* Delete electronic_components.dmi

* 222

* merge

* Update reagents.dm

* Update assemblies.dm

* concat unfuck

* concat unfuck 2

* reagents

* fixes

* fix2

* hooks

* math

* 111

* sense

* leave it for now.

* fix

* fix(2)

* requested

* okay

* uhhh

* sorry

* kevinz's smoker nerf is enought

* hooks2

* fix for reagents push ref.
2017-12-23 22:55:37 -05:00
JStheguy
ff87753167 Adds Additional Electronic_Assembly Designs (#33466)
* bloats electronic_setups.dmi

* new assembly naming scheme, redone legacy sprites
2017-12-13 22:09:55 -05:00
ACCount
15d4205dc0 Fixes integrated circuit reagent components not working while in mobs, adds new helper procs (#33434)
* New IC helpers

* Fixes some reagent IC components
2017-12-10 20:37:30 -05:00
ACCount
302ca397a8 IC fixes (#33215) 2017-12-04 11:53:02 +01:00
ACCount
0d2955e554 More integrated circuit fixes and code improvements (#33034)
* More integrated circuit fixes and code improvements

* Rewrites thrower component code, adds a helper for future conversion to component datums

* Fixes a mislabeled input

* minor tweaks

* Renames components list

* Changes adj check in thrower

* Fixes tools metal cost
2017-11-26 11:56:47 +01:00
ACCount
b161b18599 Integrated circuit fixes and code improvements (#32773)
* Fucking conflicts

* Small code changes

* Makes the IC printer start upgraded to offset balance concerns caused by a fixed bug
2017-11-21 10:04:09 +01:00
arsserpentarium
bdfbafd54a [READY]integrated circuitry port+upgrade. (#32481)
* first

* printer, tools, prefab, assemblies, power.dm(looks like so)

* integrated circuit

* input memory epv2 exonet node

* input,manipulation,output,poweract

* fixes

* reagents fix

* time

* minor fixes

* all errors fixed

* bugfixes

* prefab, tickers, camera, led, assembling bugs,

* All except exonet node UI and led's

* cameras, led and some exonet

* 11

* 111

* lesser fixes.

* botanic shit

* icon

* nobludgeon for debugger

* gui, typos

* gui, typos

* dopil

* smaller diff, rm template and node

* mergefix

* list fix

* weakrefs

* fixes

* Clamp, crowbar, minor shit

* fukken refs

* exonet node refactor, put defines into defines.

* dme upload

* defines,helpers,exonet node, botanic

* TRUE/FALSE and minors

* datumfix

* moved init to ss

* quickfix

* cryo runtime fix

* datums quickfix

* admins

* minor fixes

* fixes

* refs,tools

* printer

* fixes

* fixes

* check interactivity redo.

* usercheck, fixes

* weakrefs

* T/F

* WEAKREF

* unfuckup

* fixes and shit

* Update assemblies.dm

* crypto

* fuck

* SS, final fixes

* looks like final fixes.

* release,crypto, ranged scnner

* defines

* Resets some files

* find/replace

* Associative addresses

* Update exonet_node.dm

* push

* there we go

* fix

* FINISH!

* WEAKREFUCK

* FixeS

* Woops

* Woops

* woops

* fix

* fixes

* loops

* fix or break?

* fix,dammit!

* fix,dammit![2]

* fix,dammit![3]

* disconnect

* fix

* input

* lag

* pin

* map

* sdegsds

* >>>lights

* fixes le map

* makes circuits actually speak

* halffix

* resets maps to tgstation master

* typeless loops in init

* Changes subsystem to not initialize new types and use initial instead.

* fix

* trying to get rid of obj list.

* get rid of .

* Better code makes better mind

* fixed

* pin fixes

* fix

* compiled tgui

* circuits config

* spelling
2017-11-14 04:05:22 -05:00