Commit Graph

7024 Commits

Author SHA1 Message Date
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
Lohikar
03bf22eee6 Convert most mobs to Initialize() (#2540)
I'm sure this won't break anything at all.
2017-05-31 22:58:54 +03:00
Alberyk
69bd8e5ae1 Fixes ipcs gender and maybe their tags (#2544)
-baselines and industrials ipcs will now have the neuter gender, shells can still be female or male, also they won't spawn with internal boxes anymore
-this may fix #1549
2017-05-31 22:56:52 +03:00
Lohikar
1db5663128 Move various icon caches into a new subsystem for organization (#2538)
changes:

Blood overlays are now cached and do not involve world iteration.
Moved every global icon cache I could find into a new SS for organization & easier debugging. SS does not fire or init.
2017-05-31 08:37:39 +03:00
skull132
c95cca4cd8 /tg/ style observer follow links (#2534)
Adopts the /tg/ style of ghost follow links. This is to make clicking them a less of a PITA when you're a ghost. All links tested as functional and properly formatted.
2017-05-29 23:03:19 +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
Lohikar
15c1b4969b Convert some overlays (#2525)
changes:

Converted some overlays to SSoverlay.
2017-05-29 13:04:57 +03:00
Alberyk
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
skull132
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
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
LordFowl
77521d0c7f Promotes Sergeant Columbo to Lieutenant Columbo (#2507)
Never code at 3am.
2017-05-28 19:28:59 +03:00
LordFowl
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
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
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
skull132
9b80bce9ab Merge branch 'master' into development 2017-05-27 12:43:53 +03:00
Ron
1804e18655 Fixes hear_say (#2465)
Prevents hear_say from runtiming if speaker is null.
2017-05-27 12:43:22 +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
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
Alberyk
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
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
Ron
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
Alberyk
6bbbf11402 Allows skeleton to play xylophone with their ribcages (#2441)
Increases skeleton spooky
2017-05-24 21:04:16 +03:00
Ron
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
Ron
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
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
Lohikar
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
Alberyk
3c6759f3d5 Carp migration and map fixes (#2384)
-fix cavern dwellers not spawning in carp migrations
-removes space dust as it should
-adds space shark
-adds a cryo console to communal, central command and robotics
-adds a glass to the arrivals shuttle, to avoid people reaching the shuttle controllers
-fixes some missing access in the bridge, like the command bar having no access in the airlock
2017-05-22 21:02:46 +03:00
LordFowl
8c119edefd Miningedits (#2363)
Does some mapping stuff, re-arranges mining. Adds catwalks.
Noises the open space sprite somewhat, effect could definitely be improved.
Adds a ghosttrap to mining drones
Adds holes to holes
Fixes some of the airlocks
2017-05-21 22:12:06 +03:00
skull132
2e87db1883 Fixes #2370 (#2371)
:ree: Lohikar with your lazy lazy lists.
2017-05-21 12:50:28 +03:00
Ron
790480c8da Removes all \red and \blue's (#2309)
Removes all \red's and \blues in favor of span classes. \red things that were bold were replaced with danger because it's warning but bold.
2017-05-21 12:07:57 +03:00
Alberyk
fe396373c6 Changes wizard checks and fix wizard apprentices (#2307)
-added a check to see if the mob is a wizard or apprentice
-replaced the faction check with the new check
-fixed wizard apprentices, also giving them a book with three spells uses
-you can now cast cure major wounds on yourself
-reduces the brain damage caused by swap
Fixes #2047
2017-05-21 03:44:16 +03:00
skull132
a498a8988c Improve Open Turf Traversal (#2337)
Aims to improve open turf traversal and interaction by doing two things:

If a mob is wearing magboots and has enabled magboots, they are now unable to walk onto an open turf. This includes open space turfs. It makes magboots useful again for miners, on the asteroid!
If a mob is wearing a jetpack with jetpack stabilization enabled (and the jetpack active), they can walk onto the open turf but will not fall down. They can now also, simply by having the jetpack active, move upwards. Keeping stabilization off in this stage will allow them to pop-up and down if they want, leading to hilarity.
Touches mob/proc/Check_Shoegrip() and makes it more useful + more used.
2017-05-21 03:07:41 +03:00
Alberyk
52137ac6b9 Rat king tweaks (#2342)
-fix some grammar issues
-gives the rat king night vision
-buffs the health. 1 mouse = + 5 hp while the rat king has twice as the health of any regular mouse by himself.
2017-05-21 01:20:40 +03:00
skull132
efee411ad7 Merge branch 'master' into development
# Conflicts:
#	code/modules/modular_computers/computers/modular_computer/damage.dm
2017-05-20 19:18:35 +03:00
Ron
5de06206e7 More bug fixes (#2305)
Fixes #2296
Fixes #1904
Fixes #2303
Fixes #2285
Fixes #1753
Fixes #1649
Fixes #789
Fixes #1779
2017-05-20 18:41:26 +03:00
Lohikar
277790a630 (Hopefully) Fix Mind GC Issues (#2301)
Should fix weirdness with mob GC such as ghosts jumping to their deleted bodies, observers failing to GC, and mobs with minds not GCing in general.

changes:

Mob cleanup relating to the mob has been moved to the mind.
On deletion a mob will now null out the current and original fields in the mind, if they pointed to it.
2017-05-20 14:24:47 +03:00
skull132
a073f5c111 Merge branch 'master' into development 2017-05-16 14:46:36 +03:00
Ron
85bd1a69f6 Bug Fixes (#2282)
Fixes #2125
Fixes #2048
Fixes #1690
Fixes #1689
Fixes #1667
Fixes #1089
Fixes #1971
Fixes #1848
Fixes #1190
Fixes #2139
Fixes #2111
2017-05-16 13:57:30 +03:00
Lohikar
5cec2cfa6d More discreet shells (#2272)
changes:

Shells Frames' species no longer show up on examine. They can still be detected via. other means such as checking pulse, health scanners, or them being damaged.
IPC Tags are now located in the head instead of the groin.
Note: This does not affect tags showing up on examine. They must be manually removed from the shell to completely disguise their examine text.
2017-05-15 22:23:06 +03:00
Ron
fa64b7cf7b AI Malfunction Update (#2193)
Incorporates many of the things from: https://forums.aurorastation.org/viewtopic.php?f=18&t=7845.
Added several new features to the Malf AI gamemode based on the thread above.
2017-05-15 22:20:40 +03:00
skull132
5065dea527 Merge branch 'master' into development 2017-05-14 20:52:53 +03:00
Ron
9543d5628b Bug fixes (#2109, #1437, and AI Slipper) (#2227)
Fixes #2109
Fixes #1437
2017-05-14 13:34:10 +03:00
Lohikar
6cf332bfa7 Merge voting controller into SSvote (#2183)
changes:

Merged the voting controller into the voting subsystem.
Changed the voting UI to use /datum/browser.
Converted /datum/browser to use HTML5 & attempt to use edge if available. All users of the browser datum have been confirmed functional with Edge.
Changed the ChemMaster to use SSassets for resource download.
2017-05-13 12:37:43 +03:00
Lohikar
6ef9191275 Kill airlocks' process(), SSpower, and misc. performance tweaks (#2175)
changes:

Airlocks no longer tick (exceptions: firedoors, uranium airlocks)
Airlock commands run before round-start are queued to run at round-start.
Airlock commands that failed to run are scheduled to try again in 2 seconds with timers.
Callbacks can now be registered with SSticker to run at round-start in a non-blocking way.
Added a new subsystem (SSpower) for handling power-related functions. Currently doesn't do a whole lot, but this will likely eventually change.
RCON functionality has been moved from SSmachinery to SSpower.
The global cable list has been moved into SSpower.
Powernet sensors no longer process purely to keep themselves in the global machines list, instead they are added to a list in SSpower.
Power terminals no longer pointlessly tick.
Removed some variables from SSticker that weren't used by anything.
Holographic overlays such as those used by consoles are now cached.
Xenoarcheology setup is now tick-checked.
ZAS now uses post-fire timing.
The req_access and req_one_access lists are no longer initialized by default on all /obj types.
Openturfs will only emit starlight if they are bordering a non-openturf dynamically lit turf.
Powernets are now stored in SSpower instead of being a global.
The global mouse list is now stored in SSmob instead of being a global.
Fixed some weirdness in APCs' Destroy() caused by a merge.
SSwireless now pre-bakes to reduce round-start processing.
SSwireless no longer uses processing queues.
2017-05-11 22:19:51 +03:00
Lohikar
36a07fa7b2 Cameranet sorting fixes (#2188)
changes:

The cameranet is now actually sorted like it's supposed to be. Whoops.
The obfuscations list on turfs is now only created when it is actually needed, instead of every turf in the game having the list created from the start.
Visualnet update buffers now use timers instead of spawn.
Fixes #2186.
2017-05-07 14:46:40 +03:00
Alberyk
d06ec8158b Rat king fixes (#2169)
-fix compile error
-update the overlay system
2017-05-03 23:15:31 +03:00
Alberyk
6f3e41ecf0 Adds the rat king (#2130)
Ports the rat king from apollo, as an admin tool for now.

The rat king can collect mouse as he walks by, getting stronger, and unlocking some skills, it also can speak to all mouse in the world via a special skill.
2017-05-03 22:23:43 +03:00