Commit Graph

3488 Commits

Author SHA1 Message Date
skull132
56ac9238cd Merge branch 'master' into development 2017-08-04 22:19:20 +03:00
Alberyk
193e15c224 Fixes ai core airlock, lack of bluespace crystals and a bit more (#3225)
-fixes #3218
-fixes #3213
Fixes a messed up table at telescience
Fixes a wrong cable at engineering
Fixes a broken uplink item
Fixes a wrong named camera
Changes the location of the heister and merc shuttles in the under station z level to be near the engine pipe area
2017-08-04 22:18:25 +03:00
Alberyk
b4fa4a8b3a Baystation12 merchant port (#3155)
Port of the merchant mechanics from baystation12.
All of the trader, prices and most essential system are done, as well the job datum and the like. Mapping the shuttle, the base and a new dock will be done in a later pr.
Also adds phazon construction and several other items used in this pr.
The chance of the merchant slow being open at round start can be changed via the config, it is 20% by default.
2017-08-04 21:36:04 +03:00
Ron
0a760075ee Adds the gravity generator (#3183)
Works like it did in old code with some minor additions. The sprite is the one TG uses.
2017-08-02 19:48:54 +03:00
Lohikar
36164a15d4 Better action progress bars (#3175)
changes:

Progress bars will now stack if there is multiple ones on a single turf.
Progress bars' update speed is now mediated by stoplag() instead of arbitrary numticks numbers.
A callback can now be passed to do_after or do_mob which will be called every check - if the callback returns FALSE, the action is cancelled.
Progress bars no longer show an X briefly when their associated action is cancelled.
Progress bar itself is from /tg/, do_after changes are not.
2017-07-31 20:23:47 +03:00
Alberyk
fe151484de Hardsuit tweaks, tech levels fixes and pAI EAL addition (#3099)
-removes the plasma cutter from the ce and eva's suit, replacing it with a drill that fills the same purpose of the old plasma cutter
-adds more access restriction to the rigs as whole
-adds actuators to the terminator rig
-adds the cmo labcoats to the locker
-fixes #3097
-fixes #3098
2017-07-19 13:41:39 +03:00
skull132
97817469d2 Fixes #2978 and #3084 (#3086)
Fixes #2978
Fixes #3084
2017-07-18 12:22:52 +03:00
skull132
d765f2e808 Fixes #3063, #3064 (#3069)
Fixes #3063
Fixes #3064

Makes the asteroid area equivalent to the space area: cannot be powered with an APC, an APC cannot be placed there, and blueprints will allow you to create new areas there. Also tick checks a blueprint proc which caused the lag in the first place, just for future reference.
2017-07-16 20:46:01 +03:00
skull132
0fc67f2cb9 Remove a whole bunch of in world loops and rework machinery global lists (#3053)
Removes a whole bunch of in world loops.
Reworks SSmachinery to hold two lists: all_machines and processing_machines. all_machines contains all machines 5ever. All of them. Literally. Forever. And ever. processing_machines only contains machines that process with the SSmachinery controller.

I checked most types at runtime on the live server to see whether they're in processing_machines or in all_machines, and did debug to ensure that most machinery ends up and stays in all_machines.

Includes a basic UT to make sure all mapped in machinery types remain within the all_machines list post-init.
2017-07-16 20:32:33 +03:00
Alberyk
ac5b4ea055 Food, hair and grammer fixes (#3058)
Fixes #3051
Fixes #3055
Fixes #3057
Fixes #3061
Fixes some food having no taste, also fixe cheese tasting like meat and other minor things like grammar.
Removes the ,45 magazine from the warden's locker, and give them a helmet to match his armor
Fixes a missing window at the main central level
Fixes a messed up hall at central command
Adds a small room for interview for the ccia in the odin, that was left out due to map issues
Adds the captain chair overlay that I forgot to add way back
2017-07-16 11:56:13 +03:00
Lohikar
4e0057daa0 Minor storage & SSair init fixes (#3049)
changes:

Storage objects can now defer shrinkwrapping of contents until the next stackframe if things are being put in them without using fill() (such as autodrobes & BSTs)
SSair init properly yells at the admins when it's done.
2017-07-16 02:06:00 +03:00
Lohikar
1b0995e25f Make storage objects a bit saner (#3042)
changes:

Storage object overlays are no longer force-compiled during mapload, since people can't look at them at that point anyways.
Storage screen objects now involve (hopefully) no appearance-churn and use types better.
Added profanity to storage code.
2017-07-15 22:34:37 +03:00
Ярослав
4e8ee11c6e Robotics module packs overhaul (#2880) (#2949)
Reposting from PR #2880 because of branches conflict

Finally did find a way to add blueprints to construction cyborg. Engineering cyborg modules are now more related to construct things inside of an area, while construction cyborg is now have all tools which might be needed to create new areas (+APC's, air alarms and such). A bucket and a matter decomplier to a janiborg.
Maint.drones did receive their wires limit being lowered from 30 to 15, wood and plastic dispensers capacity is multiplied by 2, and a standart engi module pack is now contains 45 wire length instead of 30
2017-07-15 16:25:44 +03:00
Alberyk
2f949ecb45 Ports baystation armor system (#2954)
Ports Baystation12/Baystation12#12658

Changing how the calculation of armor works , instead of just being a check if it is protected fully, half or nothing. Making armor more reliable and less rng dependant.

Also, uranium meteors will irradiate nearby people when they explode.
2017-07-15 16:24:03 +03:00
Lohikar
b5472e50f4 Convert a fuck ton of machines to Initialize() (#2985)
Needs testing, but shouldn't break anything. Also adds Destroy() to the SMES base class.
2017-07-14 20:08:59 +03:00
Lohikar
687e56a8e0 Replace a bunch of overlay calls (#3005)
changes:

Converts a bunch of manual overlay manipulation to SSoverlay calls.
Moved more cache lists to SSicon_cache.
2017-07-13 21:12:53 +03:00
Lohikar
33c61f9f1e Remove some world loops (#2965)
changes:

Replaces a lot of in-world loops with more specific lists.
Recipes are now copied in SSmachinery/Recover()
Fixed bad sorting on all_areas list.
Added skeleton Destroy() to SMESes as they did not have one and are failing to GC.
Seems to shorten SSatoms init a bit, maybe from removal of in-world in MULEs?
2017-07-09 00:24:28 +03:00
skull132
e92f1fdd2e Fix some RTs - 03JUL2017 (#2938)
Fix the most common RTs from Sunday's testing.

Also works on orebags. Limits their capacity to 200, as anything higher than that breaks the fancy inventory system something awful. Maybe I should write a UT to test and confirm this. Expanding: I don't think TICK_CHECK in inventory procs is a good idea, without fully implementing a non-fancy storage subclass. Non-fancy would just be speedy without all of the fancy inventory orientation bullshit. But CBA to do that now and I'm not sure if it's worth it for the edgecase of drone satchels atm.
2017-07-05 23:26:35 +03:00
Lohikar
9c010f92d1 isopenturf() macro, update_above improvements (#2931)
changes:

Added a isopenturf() macro, equivalent to istype(thing, /turf/simulated/open).
Converted most/all instances of istype(/turf/simulated/open) to isopenturf().
Made update_above()' aware of queue status & inlined a proc-call.
2017-07-03 12:04:18 +03:00
Lohikar
c077b12899 Convert storage objects to initialize (#2850)
changes:

Converted storage objects to Initialize().
Removed timer from storage New/Initialize in favor of LateInitialize.
Removed some pointless src from storage objects.
Fixed GC of some screen objects used by storage objects.
Changed storage objects' filling to be done by fill() instead of New()/Initialize().
Medkits actually work this time!
2017-06-28 23:09:59 +03:00
Alberyk
bb7dde3dc9 Gives zipties a purpose to exist (#2808)
Adds elastic var of the cable cuffs to the zipties, allowing them to cuff people inside hardsuits, unlike regular cuffs, and adds a box of them to the nonlethal crate at cargo.

Also, purges the boxes.dmi of shortened paths.
2017-06-26 12:10:06 +03:00
Lohikar
c838fddb22 initialize() -> atmos_init() (#2816)
Renames Atmos machinery's initialize() proc to atmos_init(), to better distinguish it from atom Initialize().
2017-06-26 12:06:57 +03:00
Lohikar
c8fde7832f Add floor catwalks (#2786)
Adds floor-mounted catwalks, a special variant of catwalks that can be placed on regular turfs without deleting themselves.
Constructed with 4 rods from the rod construction menu, and are layered above wiring and power terminals. Can be disassembled with a welder, or (un)anchored with a screwdriver.
2017-06-22 13:22:12 +03:00
LordFowl
f604e14933 Refactors baseturf (#2778)
Modifies baseturf to be used instead of not used. Now all functions that used to call "get_base_turf_by_area(T)" will now call "T.baseturf". Turfs that do not have a baseturf defined will set their baseturf to be the result of "get_base_turf_by_area()", which will descend into "get_base_turf_by_z" and ultimately into "turf/space", if none of the previous stages catch.

ChangeTurf will now only keep baseturf persistent from father to child if the child has no baseturf set by code.

This allows for special turfs, such as ceilings, to have their own base turf, such as open space, to be used instead of the area/z baseturf.

Fixes #2763
2017-06-22 13:16:06 +03:00
Lohikar
8445d042dc Miscellaneous fixes (#2774)
changes:

Fixed various GC failures.
Converted integrated radios (used in PDA cartridges) to Initialize.
Added a missing Destroy to the QM PDA cartridge's integrated radio.
Fixed a runtime when mineturfs with no ore were destroyed by explosions.
Fixed a runtime when explosions attempted to Z-travel.
Minor radio performance improvements.
Converted radio globals to defines.
Changed the Security-I and Medical-I frequencies to use the same colors as their respective departments.
Fixes #2646.
2017-06-21 00:09:55 +03:00
Lohikar
fa5a8eecd9 PDA sorting fixes & tweaks (#2760)
changes:

Fixed the PDA list not being sorted.
PDAs now show if they have a pen in them or not in their examine text.
PDAs can be ctrl-shift-clicked to remove their pen.
Added a proc designed to simplify common mob sanity checks; see comments for documentation.
2017-06-19 01:26:24 +03:00
Lohikar
521705dc62 Soft-delete fixes & Tajara Coffee overdose tweak (#2749)
changes:

Fixed issues with parallax objects not deleting properly due to hanging refs. (this also seems to fix some mob delete failures, like BSTs)
Fixed issues with hyperzine, inaprovaline, and synaptazine not soft-deleting due to hanging modifier references.
Removed coffee overdoses poisoning Tajara at Mofo's request.
2017-06-18 13:35:24 +03:00
Lohikar
1423250412 Update DMM Suite (#2711)
Updates the DMM Suite from /tg/ upstream, adding the ability to load tgm format maps, tick-checks, and better compatibility with SSatoms / Initialize().

Also adds some framework for random ruin generation, though it is not functional yet.
2017-06-15 12:41:45 +03:00
NanakoAC
17850e797e Box Nibbling Rework (#2131)
Currently, a mouse gnawing open a box to get its contents generates about a screen's worth of chatspam. And the same applies to eating a box of raisins or similar large meal. I feel this isn't appropriate for the size of the creature nor the severity of the act. In any case ive come up with a better method.

Main attraction of this PR, is that the box nibbling no longer uses visible messages, it only outputs to chat once, when it finally ruptures. In the meantime, any nibbling which doesn't break the box will instead shake it around and make a nibbling sound. Shaking code stolen from locker resist
Mice nibbling things is a quiet clicking noise, easy to ignore. so its unintrusive
Update: I've now extended this to all animal nibbling, not only boxes, but also on food too. To cut down on chatspam from small animals eating things.

The result of this change is that a creature eating a box or a meal is simultaneously easier than before to notice, if you care about it. And easier to ignore, if you don't care.

Also included, two bugfixes:

Re-adds the reverted console canpass behaviour that was lost a couple patches ago
adds a little robustness fix to animals, to deal with an issue where they were getting their stat set back to 0 without properly waking up. still not sure why it happens but now the icons will properly update when they do
2017-06-15 12:32:40 +03:00
skull132
a6b9bdd508 Merge branch 'master' into development
# Conflicts:
#	code/modules/mob/living/silicon/pai/pai.dm
2017-06-13 13:44:41 +03:00
NanakoAC
0310a7cba8 PAI Access Fix (#2707)
Fixes a bug that gave PAI's all access.
It seems at some point silicons were changed to use an internal ID, and pais were given that same ID which had all access.

Changed it so their internal ID only has basic access and rerouted pai ID functions to it. This restores them to intended functionality, that is: They can only walk in public areas, and wherever their master has access, once the master has scanned their ID
2017-06-13 13:37:24 +03:00
Ron
ecb8a31443 Tweaks the transformer (#2692)
Does some tweaking and fixing to the transformer.
Fixes #2634
Fixes #2635
2017-06-12 23:14:15 +03:00
Alberyk
912738129b Bug fixes; resomi language, bloody hand and feets, suit cooling and more (#2653)
Fixes #2652
Fixes #2276
Fixes #1975
Fixes #1590
2017-06-10 19:58:20 +03:00
Lohikar
4cf407ea33 More stack icons (#2654)
Top is a stack over 2/3 full, middle is between 1/3 and 2/3 full, bottom is under 1/3 full.

Also converted stacks to use Initialize().

affected stacks:

Ointment
Bandages
Steel Sheets
Plastic Sheets
Glass Sheets
Plasteel Sheets
Reinforced Glass Sheets
Leather
Wet Leather
Hide
Sprites from /tg/.
2017-06-10 09:30:18 +03:00
Lohikar
7eac158f6c Fix constructed borgs being utterly broken (#2632)
New() was runtiming since it can't pass named arguments.
2017-06-06 22:58:20 +03:00
Lohikar
6878459216 Convert ion trails to new effect system (#2618)
Converts the ion trail effect to use SSeffects instead of a spawn-loop for processing, as well as makes it also manifest on openturfs instead of just space.
2017-06-05 11:15:07 +03:00
Alberyk
264b12ce42 Adds more sounds (#2590)
Adds sounds for turning on flashlights, flares, flipping coins, shuffling deck of cards, using lighters and zippos, drills, sonic jackhammers, bikes and some weapon related sounds.
2017-06-04 13:32:49 +03:00
Alberyk
e8cbf0fe50 Adds violin destruction (#2575)
Attacking people with the violin will not break said instrument. Also, shooting bottles will now break them as well
2017-06-03 11:32:37 +03:00
Synnono
ebaffcfaf5 Synnono Meme Foods Recipe Expansion (#2567)
Adds 26 new recipes (18 Microwave, 5 Oven, 3 Fryer) to the kitchen, including curries, dank (and sliceable) brownies, and bear meat recipes!

Adds 2 new reagents: Space Spice, a condiment found in the kitchen flour closet and used in many of the new recipes, and Brownie Mix, a dry mix of flour, sugar and cocoa that serves as the base for brownie recipes and doesn't conflict with other baked recipes.

Adds sprites for new foods, as well as new trash sprites for dumplings and brownies.
2017-06-02 16:39:24 +03:00
Alberyk
681a658890 Replaces all references in game of the exodus with the nss aurora II (#2555)
Fixes #2501
Also, using cameras won't show exodus anymore
2017-06-01 19:47:18 +03:00
Alberyk
a1b11731ec fix planting c4 in open turfs (#2539)
Fixes #2468
2017-05-29 23:39:05 +03:00
Alberyk
b490769175 Adds netgun, haywire rounds and gun related fixes (#2456)
-adds the netgun, replacing the syndicate cyborg energy crossbow with a downgraded mounted version, and giving the heisters a chance of getting one of those in their random gun spawn
-fix the meteor gun, giving it a new sprite and fixing the wrong icon state on the projectile
-ports emp/haywire rounds from baystation, only .38 and 12 gauge rounds
-fix the action button of the am rifle not wielding it
-gives the wizard staffs tech levels
-removes the xray crate from cargo
Fixes #1923
2017-05-29 22:41:38 +03:00
skull132
a3ec0cf45d Better SQL prepared statements (#2474)
The system used to be of complexity O(n^2). Essentially two for loops running per every argument. Which ended up being surprisingly slow (there were instances where I saw the argument parser as using quite a lot of CPU time).

This replaces it with a more linear algorithm. It's somewhere near O(n) where n is the length of the unparsed query. Which is more stable and faaaster. This comes with two changes, however:

Parameters inside the query now have to be delimited from both sides with : (colons). The alternative to this would be to use something like $n or just assume that space marks the end of a marker. Only the former is workable, the latter would break a few queries already.
Arguments in the argument array no longer have to be prefixed by : (colons). So, while in the query you would write :thing:, you'd initialize the array of args as: list("thing" = somevar). It could be made to work without it, but eh, I think this is fine.
Argument validation is slightly weaker. What I mean by this is that with the old system, unused keys would result in an error. This is no longer a thing. Missing keys will still result in an error, however.
One more improvement: double delimiting removes an edge case where if key A partially covers key B, depending on the order, key A would mangle key B.
Updated and tested all queries that I could find. So this should be good.
2017-05-29 21:17:41 +03:00
LordFowl
a5d7d50a69 Mining Fixes II (#2517)
Seismic Charges are now much cheaper.
KA can now fit into suit storage and the explorer's belt.
Several more items can now fit into the explorer's belt.
KA's with multiple installed modkits can now properly be turned into a RIG module, which keeps said modkits.
RIG thermal drills now work properly.
Mining drones should now spawn with a jetpack.
Mining drone ore bags are now much larger, as they cannot drag crates.
2017-05-28 23:53:27 +03:00
skull132
11edd7e548 Loads-a-fixes for dev (#2515)
Fixes #2488 .
Fixes #2489 .
Fixes the bug of dying upon spawn.
Fixes new player recognition.
2017-05-28 21:23:05 +03:00
skull132
22c7748336 Merge branch 'master' into development
# Conflicts:
#	code/game/machinery/computer/shuttle.dm
#	code/game/machinery/doors/firedoor.dm
#	code/game/objects/items/weapons/weaponry.dm
#	code/modules/admin/admin_attack_log.dm
#	code/modules/admin/admin_verbs.dm
2017-05-27 20:11:54 +03:00
skull132
fd6a8305a5 Letting skull touch logging is now strictly haram (#2476)
Turns out. I did a bad.
2017-05-27 18:56:22 +03:00
Alberyk
c598c84fae Loadout, clothing fixes and additions (#2467)
-adds turbans at some people's request
-adds the forensic technician's allowed roles to sec related custom loadout
-fixes shoes having two species_restricted vars
-add species restrictions to galoshes and the like
-changed how the force var works on the shoes, regular shoes have 0, boots have 3 and combat boots/magboots have 5
-adds nitrile gloves after a forum request
2017-05-27 12:41:10 +03:00
Werner
101b251c93 Various Bugfixes (#2463)
Fixes #2291 
Fixes #2046 
Fixes #2454 
Lazyfix of #726
2017-05-27 12:40:18 +03:00
skull132
547e78d93c Implement powersink surge (#2452)
Implements suggestion https://forums.aurorastation.org/viewtopic.php?f=21&p=78011 in the following fashion:

Powersinks explode ~18 minutes after being placed on normal SMES setup. Obviously more input from engineering will make this process go faster.
Upon reaching their capacity, they will now cause a larger area power surge. The surge will smash all lights belonging to APCs within close to moderate proximity, and call EMP act on all connected powernet items that are within range (severity depending on distance). All of those items have a small chance to cause a minor explosion as well, primarily because EMP act is fucking whimpy.
2017-05-27 12:25:47 +03:00