Commit Graph
23287 Commits
Author SHA1 Message Date
skull132andGitHub 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
LordFowlandskull132 b88d6aaadb CrissCross Gamemodes Explained (#2522)
Gamemodes that haphazardly crash two or more other gamemodes together are now explained in their voting option, so we can stop having to explain it to OoC literally every round
2017-05-29 19:30:25 +03:00
Alberykandskull132 87c3a57b02 Heist base changes, arrivals dock changes and minor map fixes/tweaks (#2526)
-removes the flares from the officer's locker, because they are already added via code, it seems
-fixes the iaa being stuck inside the sec meeting room when they spawn
-fixes this #2326 again
-fixes the maint airlock before the kitchen having no access
-the heist base now uses dynamic lighting
-replaced the regular wardrobes with lockers with access in the spawn area checkpoint to avoid greytiders looting it
-the arrivals shutle dock is now its own area with its own apc
-added a robotic cryo console to the ai lift entrance
-replaces the hop's supply request console with a supply control console
-places the creed's office and the admin shuttle behind blast doors
Fixes #2505
-fixes being unable to sawn off double barrel shotguns
2017-05-29 13:13:01 +03:00
Lohikarandskull132 15c1b4969b Convert some overlays (#2525)
changes:

Converted some overlays to SSoverlay.
2017-05-29 13:04:57 +03:00
Alberykandskull132 aad350be12 Makes carp, drones and flying/floating mobs immune to fall (#2527)
Carps, combat drones, faithless, bats, caverns dwellers, parrots, viscerators and the like won't fall anywhere when they walk into an open turf, they can also travel across z levels in case a player is controlling them.

Also, makes cats immune to fall damage.
2017-05-29 13:04:34 +03:00
skull132andGitHub 36dfee27eb Leg actuators for RIGs (#2421)
Preview: https://kama.skullnet.me/index.php/s/GsEdb7q733nO1LK

Okay. These modules allow you to fall from any height without taking damage. As long as your suit is powered and they're enabled, anyways. Secondly, they allow you to leap! Civilian grade allow you to leap 4 tiles, military grade ones (syndicate + ERT commander) allow you to leap 7 tiles and to also grapple people (Vox leap feature).

On top of that, if you middle click on the tile you're on with them selected, you will try to leap upwards. If the tile you're facing above you is a solid (non-open turf, but not dense either), then you will start to climb onto that tile. Civilian grade model isn't powerful enough to jump you there fully, so you gotta spend 4 seconds grappling for your life. Get interrupted in that time, you fall. Military grade models hop you instantly.
2017-05-29 01:29:35 +03:00
LordFowlandskull132 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
skull132andGitHub 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
LordFowlandskull132 77521d0c7f Promotes Sergeant Columbo to Lieutenant Columbo (#2507)
Never code at 3am.
2017-05-28 19:28:59 +03:00
LordFowlandskull132 d9a6f3084d Mining Fixes (#2510)
Fixes #2509
Fixes #2508

Reduces mining slots to 3
Adds two stacks of metal rods to mining, for purpose of building mine tracks.
2017-05-28 19:28:40 +03:00
LordFowlandskull132 cae2fa1fdd New Map Pets and Z collateral (#2503)
Fixes #2499
Fixes #2495
Fixes #2493
Fixes #2480
Fixes #2487
Fixes #2491
Fixes #2492

Gives the head of security Lieutenant Columbo, an attack dog with a special sprite that deals slightly less damage compared to other attack dogs.
Replaces Poly with floor B.O.B.
Gives Lamarr's cage a little more breathing room.
2017-05-28 14:15:22 +03:00
skull132 e8e0954769 Merge branch 'development' of https://github.com/Aurorastation/Aurora.3 into development 2017-05-28 02:48:20 +03:00
skull132 70fde622b4 Fix AI eye falling 2017-05-28 02:48:09 +03:00
LordFowlandskull132 766f42ef2d New Map Roof (#2484)
Fixes the command roof
De-randomizes fall damage. Fall damage is now the base variable * z_levels_fallen * species.fallmod + rand(-base variable/2, base variable/2)
Incorporates the first try at reasonable z_velocity. Base variable + 5(z_levels_fallen^2)
Adds toilets to the main level
Adds Poly.
2017-05-28 02:45:25 +03:00
skull132andGitHub c9e5c8b5c4 Support/efixes (#2481)
Fixes for testing:

No more runtimes from greeting
Blue ahelps return, electric boogaloo
Maybe fix spawning errors
2017-05-28 02:44:20 +03:00
Lohikarandskull132 0f1079e840 Fix ZAS defines (#2478)
Properly moves ZAS defines into the ZAS defines file & removes docs file from compile. ZLEVELS has been renamed to MULTIZAS to better explain what it does.
2017-05-27 23:12:50 +03:00
skull132andGitHub 805d0a3d9f Signature fixes (#2477)
Two dumb bugs
2017-05-27 23:09:31 +03:00
LordFowlandskull132 4e09ed8a73 New Map Bug Batch (#2473)
Fixes #2362
Fixes #2232
Fixes #2234
Fixes #2214
Fixes #2385
Fixes #2386
Fixes #2356
Fixes #2406
Fixes #2409
Fixes #2404
Fixes #2432
Fixes #2439
Fixes #2437

Removes "You hear a click from the bottom of the door" message from airlocks when they bolt/unbolt.
Makes ghosttraps significantly easier to spot.
2017-05-27 22:43:48 +03:00
skull132 47666d2835 Fix things some more! 2017-05-27 20:36:51 +03:00
skull132 1290e2976e Fix Travis 2017-05-27 20:35:13 +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
skull132andGitHub fd6a8305a5 Letting skull touch logging is now strictly haram (#2476)
Turns out. I did a bad.
2017-05-27 18:56:22 +03:00
skull132 9b80bce9ab Merge branch 'master' into development 2017-05-27 12:43:53 +03:00
Ronandskull132 1804e18655 Fixes hear_say (#2465)
Prevents hear_say from runtiming if speaker is null.
2017-05-27 12:43:22 +03:00
Alberykandskull132 b6deb286d1 Enables dionae structures (#2471)
-enables dionae walls, vines and lights, to be used in future events
-adds a gestalt growth spell
2017-05-27 12:41:40 +03:00
Alberykandskull132 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
Wernerandskull132 101b251c93 Various Bugfixes (#2463)
Fixes #2291 
Fixes #2046 
Fixes #2454 
Lazyfix of #726
2017-05-27 12:40:18 +03:00
skull132andGitHub 4678b8bbcc Implement signatures (#2098) 2017-05-27 12:39:22 +03:00
skull132andGitHub 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
Lohikarandskull132 ad5c986093 Centcom Graytide proofing (#2472)
changes:

Centcomm airlocks can now be opened by hand again, but are still not emaggable.
Centcomm airlocks can no longer be damaged by any means. Hopefully.
Centcomm turrets can no longer be emagged or moved.
Windoors can no longer be used as a source for infinite glass and airlock electronics.
Removed spawns and some sleeps from turrets, replaced with timers.
2017-05-27 12:14:53 +03:00
Lohikarandskull132 193f89d206 Diagonal smoothing fixes & Shuttle Smoothing Tweaks (#2466)
Ports a refactor of diagonal smoothing underlays from /tg/, fixes a bug where diagonal smoothing did not work on shuttle walls, and updates shuttle walls to use the generic smoothing instead of mapped in icon states.

Fixes issues with shuttle corners not showing the correct underlay.
2017-05-27 12:14:01 +03:00
skull132andGitHub 755ce490db Rewriting multiz movement to be gooder (#2464)
Intent: implement all of the features from #2442 while also unfucking the multiz movement files to be more readable and not recurse.

To that end, this PR does the following:

All multiz travel is now arbitrated by SSfalling. This will eliminate the need for recursion without relying on timers. Timers would be a bit scary.
The call chain for multiz movement now looks like this (in terms of overwritable procs):
can_fall() (Can lead into fall_impact() & fall_collateral() if returns FALSE)
fall_through() IF current block is open space ELSE fall_impact() & fall_collateral()
Removed almost every istype(src, A) check in the movement.dm file by exercising proper parenting and call chains.
Documented and standardized the contents of multiz/movement.dm. Because this is an API we're going to be relying on very heavily, I'd like to get this right before we move on.
A lot of minor tweaks, like swapping usr over to the applicable mob, and so on.
2017-05-27 02:14:35 +03:00
Alberykandskull132 e71299699e Adds more mixed gamemodes and make them votable (#2420)
-allow voting for most mixed gamemodes, with exception of bughunt and infection
-adds crossfire(merc and heister), also adds a raider frequency to don't mix them with mercs
-adds siege(rev and merc)
-adds visitors(ninja and wizard)
2017-05-26 22:15:32 +03:00
Alberykandskull132 3dbfa61b65 Fix missing thermite walls missing their sprites and dionae titles (#2460)
-fix using thermite on walls leaving behind a black title
-fix the dionae titles having no sprite
-adds a bluespace walls that don't spread, for use in future events
2017-05-26 15:31:52 +03:00
Lohikarandskull132 79556375e7 Cascade performance tweaks (#2459)
changes:

Cascade turfs now use SScalamity to tick instead of addtimer loops.
On universal-state change to Cascade, SSgarbage's GC timeout period is set to 20 minutes, as we really don't care about hard-dels when the round ends in 5 minutes.
2017-05-26 14:38:39 +03:00
Lohikarandskull132 0fb7ce693e Openturf performance & appearance tweaks (#2453)
changes:

SSopenturf no longer abuses list Cut() (performance improvement)
Openspace overlay objects are now cleaned up after a delay, allowing for smooth animations when an object moves out of an openspace area.
Openspace multipliers are now properly copied by SSopenturf, leading to openturfs properly darkening more the deeper they are.
Openspace updates now cascade up turfs even if one of the turfs in the chain is already queued for update.
Objects entering openspace turfs that already have overlays or do not need an overlay no longer trigger openturf updates.
2017-05-26 14:21:59 +03:00
skull132andGitHub 7039840323 Implements IPIntel, Panic Bunker, and custom access control (#2436)
What it says on the tin.

IPIntel and BYOND account age relating panic bunker settings from TG. Also implements methods for potentially tagging VM users. Ontop of all of this, creates a spiffy UI for admins with R_SERVER to adjust the settings of the entire suite at runtime.
2017-05-26 13:26:58 +03:00
skull132 c27866e4af Merge branch 'master' into development
# Conflicts:
#	code/_helpers/logging.dm
#	code/modules/mob/living/living.dm
2017-05-25 15:06:32 +03:00
skull132andGitHub 3a3574da56 Fixes #2446 (#2450) 2017-05-25 15:00:35 +03:00
Ronandskull132 8386075565 Bug fixes (#2447)
Fixes #639
Fixes #2445
Fixes #1708
Makes succumb tell you if you can't succumb.
2017-05-25 14:42:57 +03:00
Alberykandskull132 6bbbf11402 Allows skeleton to play xylophone with their ribcages (#2441)
Increases skeleton spooky
2017-05-24 21:04:16 +03:00
skull132andGitHub ea071a4b24 Makes removable labels a thing (#2440)
Not sure if this is the best use of a variable! But in special cases, initial(name) doesn't work. And this is the next safer option!
2017-05-24 20:50:11 +03:00
skull132andGitHub 8cca057344 Feature - Rewriting jobbans! (#2114)
Current jobban system:

Jobbans stored as plain text and require a for loop to go through and search for specific ones.
Fiddly as shit, because, again, stored as plain text and not quickly break-up-able.
butts
No temporary jobbans on the old file system.
No centralized API to handle jobbanning. Jobbans have to be ran through separate procs in case of the MySQL system being used.
New jobban system:

Associated lists to store bans. This allows key based accessing and validation of a ban. Much faster than for-looping twice to compare text.
Associated lists saved to the ban file. Pretty good stuff that this works.
Temporary jobbans for file system. Bans which are expired are removed right as they're checked.
Binding of the MySQL procs with the old jobban API. More centralized design. (Less, "Oh god, I forgot to save this to the DB!")
Instant effect on unbans. As opposed to waiting 1 round for it to take effect.
Removal of dormant code.
2017-05-24 20:46:07 +03:00
skull132andGitHub 266f8c1d7d Unnecessary File Roundup (#2315)
Spotted these two in #2309 .

Will most certainly conflict as well once it's merged, so I can wait a little on it.
2017-05-24 02:55:30 +03:00
Lohikarandskull132 a65ad50f77 Update globals (#2433)
Updates the globals list used by garbage-debug.

You can tell how often people use TESTING based on how no one's complained that it doesn't compile.
2017-05-24 02:55:02 +03:00
Ronandskull132 db7e2d1426 Malfunction tweaks (#2425)
Tweaks several aspects of the newmalf based on feedback and testing. Also fixes some bugs.
2017-05-24 02:54:31 +03:00
Lohikarandskull132 ba59ef32b9 Make some ZAS lists lazy (#2339)
This PR converts some lists in ZAS to be only created when needed instead of always existing and pointlessly using memory. Might lead to reduced server memory usage.
2017-05-24 02:51:49 +03:00
Ronandskull132 457f62f804 Openturf falling change (#2428)
Falling now stacks based on distance and only applies the damage when you hit something solid.
Fixes part of #2416
2017-05-23 22:32:08 +03:00
Lohikarandskull132 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
Lohikarandskull132 4d6d382967 Job subsystem & Player Spawn Tweaks (#2403)
Converts the job controller into a subsystem, including absolute paths. Also cleans up some mob despawn code.

changes:

The job master is now a subsystem. Job init moved out of EMI.
Custom loadout now properly overrides job equipment on spawn.
Odin despawn timers are now deleted on arrival shuttle launch.
Cryogenic storage despawn is now handled by the job controller.
Backpack equipping has been fully moved to equip_backpack().
equip_backpack() will now equip departmental backpacks.
Job backpack selection is now set via. vars instead of overriding a proc.
Fixes #2180.
2017-05-23 12:10:30 +03:00