Commit Graph

57 Commits

Author SHA1 Message Date
Geeves
1a7cc1a1c7 Some Silicon Code (#8394)
Tweaked a hell of a lot of silicon code to make synthetics better.

Synths with scrambled codes that prevent them from being on robotics computers will now appear on Merc camera networks.

Both variants of the engineering borg can now deploy the malf borging machine.

Medical borgs no longer get polyacid sprays, instead getting Wulumunusha CMO Hyposprays, which cause muteness.

You must now be on help intent to use items like crowbars and screwdrivers on borgs. Otherwise you hit them with it.
2020-03-13 13:29:35 +01:00
Werner
cb4a712851 Enforces Lineendings and adds Editorconfig (#7657) 2019-12-21 16:19:24 +01:00
Werner
af16a489a6 Removes Weapons (#7415)
* Adds icon and hitsound where needed.

* Moves alt_attack to /obj/item and deletes weapons.dm

* Replaced /obj/item/weapon with /obj/item

* Fixes merge issues.

* Fix merge issues.
2019-11-16 18:36:13 +01:00
SonicGotNuked
6e1382da0c Sonic Buffs Traitor Borgs (#7093)
Readds the ancient Reset Identity Codes command.
Allows traitor borgs to toggle their overclock
2019-10-09 21:24:34 +03:00
LordFowl
8d436c4a03 Converts all necessary << outputs into the to_chat() macro. (#6076)
This PR will lead us towards the Promised Day, for in its wake there shall be much celebration and ecstasy as this world becomes a world suitable for developer hegemony. The first strike is thusly;

All << is converted into to_chat().
2019-03-10 23:39:03 +02:00
Alberyk
5e915363a8 Bugfixes: the hour of reckoning (#4989)
-fixes #3766
-fixes #4619
-fixes #4842
-fixes #4948
-fixes #4439
-fixes some extra white pixels on the dead spider icon
-fixes the hacker event not taking people's money if it is a success
-fixes an oversight that allowed people to explode emmaged cyborgs using the robot console
-fixes messed up shotgun icons when wielded
-fixes the butcher knife sprite being messed up
-replaces all userdanger span class with danger, since userdanger is not really a thing
-vaurca should now spawn with proper survival gear, as requested by their lore person
-cleans up some martial art texts and logging
2018-07-14 12:38:16 +03:00
Alberyk
4bd7b4505b Makes emagged borgs immune to robotics console self destruct (#4151)
Makes emagged borgs immune to robotics console self destruct.
2018-01-27 21:00:02 +02:00
Alberyk
b680aa1fb5 Borg and dionae vines fixes (#3758)
Fixes emmaged borgs being locked down by the robotics console.
Also, fixes a dionae structure being dense, turnings dionae mazes into a pain to use.
2017-10-27 22:56:36 +03:00
Lohikar
3be27b9efa Merge SSnanoui & Nanomanager (#2427)
Merges the NanoUI subsystem with Nanomanager, as well as cleans up some nanomanager code.
Most of the files in this commit are changed as a result of removing the nanomanager global in favor of the SSnanoui global.
2017-05-23 16:33:00 +03:00
MarinaGryphon
f849657a62 Fixes #1163 (#2054)
Made the robotics control console check for R.lockcharge instead of !R.canmove to avoid issues with chairs.
Gave silicons their own custom /update_canmove() proc to deal with lockdown.
Made the robotics control console use SetLockdown(), like the lockdown wire.
2017-04-08 17:32:13 +03:00
Werner
59e7377798 UDP Logging (#1997)
This implements UDP Logging with GELF.
It will allow full text search over all the logs and attributes sent over GELF to the log server.
2017-04-01 23:47:00 +03:00
LordFowl
5ccb627531 BayMerge Bugfix; Fixing guns, update computers. (#1263)
Fixes all the snowflake guns unique to our codebase with multiple firemodes so that they now actually behave correctly. Fixes a few bugs relating to computers, and updates modular_computers to use holoscreens.
2016-12-21 21:48:04 +02:00
skull132
87e041aa75 Merge remote-tracking branch 'bay12-upstream/master' into development 2016-10-07 00:58:39 +03:00
NanakoAC
27ff6d3e4c Borg Jetpack Overhaul (#341)
Somewhat rewrote the cyborg jetpack to be an internal component instead of a software upgrade. this allows it to be removed or destroyed, and to work without putting something in the borg's inventory. Also fixed it, it was broken. Cyborg jetpack can now be installed on a wider array of borgs that have reason to go EVA: Crisis, security, engineering, construction (also the unused combat borg, incase that gets re-enabled)
2016-06-23 02:16:37 +03:00
PsiOmegaDelta
7ce27f76fd Macro refactoring.
Turns several of the is* procs into istype defines.
2015-09-16 12:57:14 +02:00
PsiOmegaDelta
87d4cf4f68 Computers are now overlay based.
Computers now use an overlay based system, instead of demanding a full set of icons (on, off, broken) for every different computer.
Partially ports ParadiseSS13/Paradise#1468 which is a port of tgstation/-tg-station#9931.
2015-07-07 17:23:49 +02:00
GinjaNinja32
dfd871f168 code/machinery, fix for code/antagonist merge string causing false positive 2015-05-30 14:05:32 +01:00
Atlantis
b0334ac331 isrobot() fix, attempt two 2015-05-20 12:22:33 +02:00
Atlantis
5592534ecc Revert "isrobot() fix"
This reverts commit 61c0eaa4a3.
2015-05-20 12:18:23 +02:00
Atlantis
61c0eaa4a3 isrobot() fix 2015-05-19 17:44:51 +02:00
Atlantis
4149fead4e Merge branch 'dev' of https://github.com/Baystation12/Baystation12 into nanocrusade-two 2015-05-19 17:39:43 +02:00
Atlantis
3008087a95 Suggestions + Changelog
- Implements PsiOmegaDelta's suggestions
- Adds changelog
2015-05-19 17:39:25 +02:00
Mloc
7780287d3a mood lighting for computers
Signed-off-by: Mloc <colmohici@gmail.com>
2015-05-10 20:54:29 +01:00
Atlantiscze
21fb94bb27 Robot Control Console v2
- Bugfix - Cyborgs can no longer lock/unlock other cyborgs or themselves. They can still self destruct themselves via the console.
- Bugfix - Antag AI hacking now properly shows apropriate button
- Modified UI a little.
2015-04-30 22:34:36 +02:00
Atlantis
8595b25e48 NanoUI for Robot Control Console v1 2015-04-11 17:04:29 +02:00
PsiOmega
dfd83f787a Fixes #8258.
Main correction is the removal of Topic() in code/game/machinery/computer/computer.dm.
Issue introduced in #7617 where I stated multiple times this Topic()-return value was incorrect.

Ensures that computers return the correct value after the ..() check.
2015-02-25 09:47:50 +01:00
Amunak
158573f066 Corrects names of computers, code formatting, updated computer descriptions.
Everything in game/machinery/computers/ and modules/shuttles should now have properly (de)capitalized names. Computer, board and research names should now be coherent, too. Adds a research for employment records circuit board.
2014-12-14 05:00:38 +01:00
Zuhayr
90d65aed57 Removed attack_paw, attack_animal and attack_slime. 2014-11-13 17:15:29 +10:30
Walter0o
7416d26197 robot computer emagging exploit fix
so an emagged borg can in turn emag all others ?
the more you know.
seems extremely OP to me but i am just closing the exploit, not changing the game.
2014-07-31 10:38:34 +02:00
Zuhayr
4da14198cf Stops drones from self-destructing or being locked down by the RD console. 2014-05-12 13:06:18 +09:30
giacomand@gmail.com
6a2d78bc94 -Killed the updateDialog lag. I added a check to see if there were any mobs to update, if not it will stop checking until a user uses the machine again. I had to replace all the machine = src and machine = null with procs to help make it manageable. I believe this is one of the culprits causing the server to lag as the round goes on, as more players will interact with machines.
-Atmos delay is now based on active players, to help fight lag for massive player rounds.

-Changed some for(blah in world) loops to use the correct lists.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4958 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-25 19:15:51 +00:00
Kortgstation@gmail.com
d85e161c4d Fixed checking for assassination targets. It checked for them on 8 or higher, the away mission Z is 7.
A number of computers no longer work on Z7 (away mission).

-AI upload
-Security cameras
-Crew monitoring computer
-Comms console
-Robotics console
-Security records

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4699 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-16 04:36:58 +00:00
elly1989@rocketmail.com
73e5c38a56 Preparations for reducing the number of processing machines at round-start. There are currently 8000 or so at round start, this was already pruned to 2800ish by doohl's stuff.
machine.process() now uses a return value to remove itself from the processing machines list. This is more efficient and will help reduce costs especially at round start where some 5000+ machines were removed from the list using first-find. Now there is no searching involved. Instead of machines.Remove(src) just do .=PROCESS_KILL that will return the flag to the proc which called it (the MC) and trigger its removal from the list. If you're deleting something don't even bother removing it from the machines list, there is no need to.

Simplified the last_processed stuff for the MC. It's now a single variable rather than 3. It is simply a typepath rather than a reference to an object (this is so it works even if said object is deleted)

MC stats in admin status_panels now show the length of the processing lists (indicated by #). I've just realised I forgot to mention what the abbreviations are:
The less obvious ones are: Dis=diseases; Net=pipes; Pnet=powernets; Mch=Machines; Tick=the game-mode ticker.

Beach-water now uses an overlay image rather than a separate object.

Fixed a typo in the shuttle console.

Hydroponics trays no longer use first-find within their process() for checking the plant is in the tray (why is that even there anyway? talk about lazy)

Removed some junk/placeholder procs like organ/proc/process() return

Removed newscasters from the processing machines lists.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4603 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-02 20:32:01 +00:00
sieve32@gmail.com
7bf6788082 -OPTIMIZATION TIME
-Almost every instance of 'for(mob in world)' has been killed. Because GODDAMN was it being run a bunch. Instead, a series of global lists have been made, and they are all handled auto-magically through New()'s, Del()'s, Login()'s, death()'s, etc...

Lists are as follows:
-mob_list : Contains all atom/mobs by ref
-player_list : Like mob_list, but only contains mobs with clients attached
-admin_list : Like player_list, but holds all mobs with clients attached and admin status
-living_mob_list : Contains all mobs that ARE alive, regardless of client status
-dead_mob_list : Contains all mobs that are dead, which comes down to corpses and ghosts
-cable_list : A list containing every obj/structure/cable in existence
Note: There is an object (/obj/item/debuglist) that you can use to check the contents of each of the lists except for cables (Since getting a message saying "a cable," x9001 isn't very helpful)

These lists have been tested as much as I could on my own, and have been mostly implemented. There are still places where they could be used, but for now it's important that the core is working. If this all checks out I would really like to implement it into the MC as well, simply so it doesn't check call Life() on every mob by checking for all the ones in world every damn tick.

Just testing locally I was able to notice improvements with certain aspects, like admin verbs being MUCH more responsive (They checked for every mob in the world every time they were clicked), many sources of needless lag were cut out (Like Adminwho and Who checking every single mob when clicked), and due to the cable_list powernet rebuilding is MUCH more efficient, because instead of checking for every cable in the world every time a powernet was broken (read: A cable was deleted), it runs though the pre-made list, and even with a singulo tearing all the way across the station, the powernet load was VERY small compared to pretty much everything else.

If you want to know how any of this works, check global_lists.dm, there I have it rigorously commented, and it should provide an understanding of what's going on.

Mob related in worlds before this commit: 1262
After: 4
I'm helping


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4179 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-26 03:04:05 +00:00
sieve32@gmail.com
459c558898 -Make holodeck eswords a child of obj/item/weapon/holo instead of regular eswords, clumsy check removed as a result, and you can no longer do things like cutting through walls or doors or what have you. (Fixes Issue 665)
-Redid icons to be more optimized at compile by setting icon = 'icons/folder/icon.dmi' instead of just icon = 'icon.dmi', meaning that Dream Maker doesn't have to search through every single file for every single .dmi. This shouldn't lead to any errors because of how I went about it, plus the fact that Dream Maker would have freaked out if I screwed something up. Also moved around 2 icons that weren't sorted well.

r4146 compile time: 1 minute, 40 seconds
r4147 compile time: 45 seconds

[VGTG]

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4147 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-23 00:48:51 +00:00
ericgfwong@hotmail.com
627e5e295d -Telecoms now has its own style of doors, to be more visibly unique from Space Station 13
-Added new Create Classified Report button for admins. It's a more discreet way for Centcom to communicate with the heads of staff without announcing it to the entire crew.
-Uncommented admin notices for cyborg lockdowns/releases

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4091 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-16 19:44:05 +00:00
ericgfwong@hotmail.com
c93200ed5f -Added salt and pepper to kitchen
-A few changes to admin stuff:
--Set-Play now auto-disables deadchat visibility. Set-Observe still auto-enables deadchat visiblity
--Emagging/overriding the holodeck now logs
--Removed Admin Notices for emagging and locking down cyborgs (still logs normally)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4085 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-16 09:14:52 +00:00
johnsonmt88@gmail.com
52dd7b3af5 Cleaning up machine process()s
But first! Unrelated to process():
- Only humans and monkeys can move into sleepers.
- Immovable rods no longer delete themselves if they hit a shuttle. Instead they act as if the shuttle doesn't exist. This should help cut down on rods deleting themselves before going through the station.

And now back to our regularly scheduled programming...

Removed process() that were doing nothing from:
- Dispenser(the one that dispenses O2 and Plasma tanks)
- Robotic Fabricators
- Crew Monitoring computer

Reworked hydroponic's process(). 
- Merged if statements together since most of them lacked "else if"s or were duplicate checks.
- Changed a while loop into a for loop as sloppy coding or an admin var-editing could cause an infinite loop.

Removed a sleep(100) { process() } from the operating table's constructor as the MC will call process() regardless.

Cleaned up shieldgen.dm
- Changed a while loop into an if statement. The loop was unnecessary
- Moved some stuff around so it's not nearly as confusing.
- Standardized the proc and variable definitions.
- These are not currently in-game but they are amazing items. I'll see about sorting out their bugs and getting them in proper working order.

Removed a for(var in world) from
- cleanbot process()
- floorbot process()

Removed computer/engine/process() from robot/computer code
- /obj/machinery/computer/engine does not exist in the first place...

Note: These are only some of the machinery process()s. I didn't want to potentially break too much at once. More to come.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4017 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-08 19:40:10 +00:00
elly1989@rocketmail.com
48088b79d9 ugh...this was horrible. I'm really sorry if I fucked anything up, I was literally going braindead towards the end.
Replaced every l_hand = and r_hand = and all that if(hand) crap to use standardised procs. This means we can use procs like Dropped() reliably as they will always be called when things are dropped.

Thorough documentation to come. But generally, if you want a mob's icons to update after deleting something in the inventory...use drop_from_inventory(the_thing_you_wanna_drop) just before deleting it. If you wanna put something in a mob's hands use put_in_hands() (or one of the variants). It'll try putting it in active hand first, then inactive, then the floor. They handle layers, overlays, screenlocs calling various procs such as dropped() etc for you. Easy

mob.equipped() is now mob.get_active_hand() because there was another totally unrelated proc named equipped() and stuff was confusing.

Weakening was made instantaneous.

Minor optimisations for human/handle_regular_status_updates(). I'll port these changes over to the other mobs next. Basically it should stop it constantly incrementing every status effect even after death.

umm... bunch of overlays related fixes... I think that's everything. :/

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3900 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-23 21:24:45 +00:00
baloh.matevz@gmail.com
c2c7a3bcda - Variable declaration standardization. Big commit.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3671 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-25 19:26:36 +00:00
quartz235@gmail.com
d22c7cd6d5 Fixin runtimes and wooing the hot womenfolk
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3340 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-23 00:45:53 +00:00
VivianFoxfoot@gmail.com
5cf9243b20 In line with the current test of modifications to borgs, traitor borgs can no longer be blown by a robotics console if they hack themselves. Lockdowns have a mechanic to prevent meta.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3273 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-11 21:44:40 +00:00
VivianFoxfoot@gmail.com
d4eb845626 Adds a new config option called 'Tensioner'. If enabled, if the tensioner thinks the round is going too slow (Not enough deaths and explosions, pretty much, atm) it suggests adding more antagonists. Unless overriden by an admin (any holder) it automatically creates antagonists from a random round type. Feedback and round-end conditions (except for nuke team) will not (should not) function for additional antagonists.
Tratior borgs who hack themselves cannot be blown by their AI.
The AI can now open doors with shift+click, bolt them with ctrl+click, and shock them with alt+click
Adds a new wire to doors that controls the time delay before they close.  If pulsed, they close like a sliding glass door.  If cut, they do not close by themselves.  
Borgs who have died, ghosts, and are then blown up will now have their ghosts properly transfered to their dropped MMIs.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3269 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-11 20:08:31 +00:00
mport2004@gmail.com
b5944308c7 Moved most of the computer defines into the proper code file.
Moved a few of the computers into their own files.
Security records now shows rank on the browse screen.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2909 316c924e-a436-60f5-8080-3fe189b3f50e
2012-01-03 21:16:48 +00:00
rastaf.zero@gmail.com
4f7030a426 Jack Rost updates:
-more dismantable consoles:
--Teleporter
--Supply ordering console
--Supply shuttle console
--Power Monitor
-new circuit boards (both constructable and destructable)
--Supply ordering console (programming 2)
--Supply shuttle console (programming 3)
--Outpost Status Display(programming 2)
--Operating Computer (programming 2, biotech 2)
-R&D Console circuit now requires programming 4 (was 6).


Balagi updates:
-Trash bag: works as mining satchels but for trash.
-Started redesign computers code
-fixed candles sprites
-trashbag now has "in hands" sprite
-fixed emagging supply shuttle console

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1883 316c924e-a436-60f5-8080-3fe189b3f50e
2011-07-18 19:17:58 +00:00
rastaf.zero@gmail.com
e074166845 Added sanitize() to verb/me().
Enabled adminlogging of using robotic console.
Some admin messages are duplicated to log file now.
Fixed bug with ghosts sometimes not hearing people.
WIP stuff from Nikie:
a sprite for detective's armor
an alternative sprite for SWAT armor


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1391 316c924e-a436-60f5-8080-3fe189b3f50e
2011-04-06 08:47:51 +00:00
n3ophyt3@gmail.com
4368bc7564 Borged traitors can no longer hack themselves with a robotics terminal.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1207 316c924e-a436-60f5-8080-3fe189b3f50e
2011-03-18 22:46:11 +00:00
n3ophyt3@gmail.com
f5350a0119 Fixed up Deeaych's round-start cyborgs, they no longer spawn on the title screen
As a side effect of fixing this, since digging into the related code to make it not the case would be a chore and a half, round-start cyborgs are capable of being traitors, receiving the same objective/law set as an AI would. Much like a traitor AI, they can use a robotics terminal to hack themselves to unlock the emag module, at the cost of RED ANTENNA ROUGE BORG.

It has been suggested that they get additional perks, such as immunity to robotics terminal detonation/lockdown, but I am wary of adding such things right off the bat. We shall see.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1204 316c924e-a436-60f5-8080-3fe189b3f50e
2011-03-18 21:06:38 +00:00
n3ophyt3@gmail.com
f10af06a6b Monkeys can now be stungloved
Cyborgs got a makeover
  Standard model now gets an energy sword when emagged
  Engineering model
    RCDs now run on cell charge for engyborgs
    Emagged engyborgs get the functional equivalent of stungloves
  Security model gets a laser when emagged
  Janitor model 
    Spraybottle contents slowly refill at the cost of cell charge
    Emagged janitors get a spraybottle full of space lube
  Brobot
    Bottle contents slowly refill at the cost of cell charge
    Emagged brobots get a bottle of Mickey Finn's Special Brew

Traitor/malf AIs can 'emag' their borgs with the robotics terminal (subject to removal/conversion to malf module should it prove hilariously overpowered)
  

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@634 316c924e-a436-60f5-8080-3fe189b3f50e
2010-12-16 03:11:49 +00:00
n3ophyt3@gmail.com
1b4d6517c7 You can now stick IDs in PDAs.
If you look at your PDA window, there should be an option to stick an ID in, like with some computers.
  While carrying an ID, a PDA can be used for almost everything an ID can.
    While ID scanners can read cards through a PDA, it is difficult to shove a PDA into the ID slot on some computers.
    It is possible I missed some functions, but I was quite thorough in my sweep through the code.
    In the event of PDA destruction, any inserted ID is ejected unharmed.

It is now possible to stick PDAs in your jumpsuit's ID slot.
  Since PDAs are named, you can disguise yourself as someone else using one.
  Beepsky/ED-209 can see through a PDA disguise if you stick your real ID in for access.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@592 316c924e-a436-60f5-8080-3fe189b3f50e
2010-12-12 04:37:39 +00:00