Commit Graph

23487 Commits

Author SHA1 Message Date
Alberyk
12bfdd2f79 Fixes foods not having the right tastes (#3019)
I forgot to do this in my old pr tastes, also includes changes from #3017.
2017-07-13 21:04:31 +03:00
Lohikar
216039eb2e Add weakrefs, because just two types of ref wasn't confusing enough (#3020)
Ports a new type of reference from bay: weakrefs.

They validate type like hard-refs, but don't block GC like soft-refs. Performance-wise are worse than both, but generally more convenient than softrefs.
2017-07-13 21:04:19 +03:00
Alberyk
c3fe2cf871 tweaks human/electrocute_act (#3022)
Reduces the damage taken from shocks, so people won't be husked by bumping into any airlock. Also adds the features of human/electrocute_act to the human proc, so, there is no need to call the carbon proc.
2017-07-13 21:02:35 +03:00
Lohikar
5876fa338c Better timer debug (#2968)
Ports improved SStimer debug logging from /tg/ + adds a bit of extra info.
2017-07-12 02:45:02 +03:00
Lohikar
617ace5609 Update globals (#3014)
Updates the garbage-debug globals list.
2017-07-12 02:00:07 +03:00
skull132
8495fdd084 Runtimes, 10JUL2017 (#3003)
Nukes a couple of RTs:
2017-07-12 00:15:11 +03:00
Lohikar
670834cf2b Port a mergeSort fix from /tg/ (#3012)
Port of tgstation/tgstation#27527.
2017-07-11 23:55:09 +03:00
Lohikar
5fcb59e23f Sort the hair lists (#3013)
Makes the various hair style lists sorted alphabetically for usability's sake.
2017-07-11 23:54:52 +03:00
MarinaGryphon
ebd50a8e00 Falling In Reverse: Hoists Update (#2573)
Adds hoists! Traverse Z-levels in style!
Use a hoist kit to deploy it on the same tile as you, in the direction you're facing.
Drag an object or mob to the hoist clamp in order to attach them to it.
Left click on a hoist to move up or down, depending on its current direction. This will also pull anything attached to the clamp along with it.
When the clamp is blocked and can't move up or down further, it will automatically switch direction.
To disconnect someone (or something) from a clamp, drag the clamp to the tile you want to put them on. It must be within one tile of both you and whatever is attached to the clamp.
When you're done using a hoist, you can collapse it back into a hoist kit with the Collapse Hoist verb, for easy transportation.
Hoist kits are not available on the map, so they have to be spawned in.
It is preferred to use hoist kits instead of directly spawning a hoist, where possible, when testing.
2017-07-10 21:32:26 +03:00
Lohikar
df2c571647 Convert a rogue area/New() to Initialize() (#3001) 2017-07-10 20:10:14 +03:00
Lohikar
606a9c7541 Icon caching & human icon tweaks (#3000)
changes:

Body marking icons are now cached in SSicon_cache.
Renamed the body-hair cache (used only by Resomi) to make it more clear what it is.
Humans now use SSoverlay for applying overlays, though they force-compile instead of waiting for it to tick.
Fixed a bug where getFlatIcon() did not work properly with SSoverlay overlays.
2017-07-10 20:09:52 +03:00
Alberyk
97d2a54ee4 Fixes canes (#2996)
Canes and concealed canes have the same size, also fixes and re-adds their old update icon proc. And also, probably fixes beepsky attacking the hos dog.
2017-07-10 20:08:54 +03:00
Lohikar
2ee49b1b9e Fix parallax (#2983)
changes:

Parallax now actually moves properly on Move().
Parallax movement can now be toggled as a preference.
Merged all movable/Move() overrides for performance reasons.
2017-07-09 19:35:02 +03:00
Lohikar
6d69abbd47 Fix an oversight (#2980)
Fixes a bug where lighting copy done by SSopenturf would not propagate updates to above openturfs.
2017-07-09 19:34:18 +03:00
Lohikar
83426c8f20 Make SSnightlight actually obey its config (#2981)
Whoops.

Fixes #2960.
2017-07-09 19:33:54 +03:00
skull132
82cc56dd62 Fix below.above not being nulled. (#2977)
Fixes RT spam. wew.
2017-07-09 01:48:46 +03:00
skull132
59683f601e Merge branch 'master' into development 2017-07-09 01:00:28 +03:00
skull132
83741f09c8 Make connecting turfs into an assoc list (#2976)
Turns connecting_turfs into an associated list. From testing a few years ago, assoc lists performed quite well when it came to key-access at runtime. This then allows us to make the loop at ConnectionGroup.dm:112 into a stable one, complexity wise. Only O(world.view^2) instead of O(connecting_turfs.len * world.view^2).

All references to connecting_turfs were edited to match this.
2017-07-09 00:48:56 +03:00
Lohikar
d3c3377f13 Minor parallax performance tweaks (#2967)
Speeds up parallax's update-values proc a little, but not much.
2017-07-09 00:25:12 +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
Lohikar
219fa07bc9 More SSoverlays micro-optimizations (#2972)
Ports some more SSoverlay micro-optimizations from upstream /tg/.
2017-07-09 00:23:48 +03:00
Lohikar
a0ed9a393e Character spawning fixes (#2975)
changes:

Fixed a bug where non-clothing custom loadout items would not spawn.
Fixed a bug where latejoining AIs would spawn at CC / Cryo instead of the core.
Added more SSjob debug statements.
Fixes #2942.
2017-07-08 01:39:06 +03:00
Lohikar
dbc70d9f49 Openturf & Lighting Improvements (#2961)
changes:

Openturf now uses ~200 MB less memory when sunlight is enabled.
Openturf now handles recursive OO copy better.
Lighting objects now update their existing color list if they can instead of creating a new one each time.
The sun can no longer fall out of the sky.
Openturfs should be a little gentler on clients.
Openturf darkening factor can be more easily changed.
Reset-Openturfs no longer hangs SSgarbage.
2017-07-06 23:40:16 +03:00
Lohikar
fd225cf97e Improved observ efficiency (#2958)
changes:

Lists are no longer created every time a movable moves (!)
Lists are no longer created every time a datum is destroyed (!)
Observation events now properly clean up references.
Removed the unused task_triggered event.
2017-07-06 23:39:33 +03:00
Lohikar
8af0051fd6 More macros (#2955)
changes:

Holomaps now use an area flag instead of a proc to determine which areas do not draw on the holomap.
The supply shuttle once more has a roof.
The supply shuttle's landing zone is now dynamically lit.
Turfs only generate visibility updates on Initialize() after mapload - visualnet is not initialized by then anyways.
Merged /datum/gas_mixture/(init) into /datum/gas_mixture/New().
Converted a ZAS proc into a macro.
Made ZAS attempt to remove a turf from a zone instead of always rebuilding it in a certain case.
Macroized two misc procs.
Fixes #2947.
2017-07-06 23:37:58 +03:00
Lohikar
f36c891fc3 Update lighting docs (#2952)
Updates the lighting docs to be a bit more up-to-date.
2017-07-06 23:36:51 +03:00
Alberyk
aca2af507b Updates the coat hanger (#2950)
Updates the coat hanger to have far more sprites and hold more types of coats
Also fixes #2919
2017-07-06 23:36:15 +03:00
Lohikar
2185094d35 Openturf fixes, dynamically lit holodeck, and quick-pickup tweaks (#2943)
changes:

The station's holodeck is now dynamically lit.
Improved quick-pickup's tick checking & converted to assoc lists instead of if (thing in list).
Fixed an edge case where openspace overlays would not properly cleanup on forceMove to a non-turf.
Fixes #2941.
2017-07-06 23:34:55 +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
Alberyk
a2717c11c5 Custom items 03/07 (#2948)
Adds the following items:

Mr. Monkey - Oz Auman - theiguanaman2
Maraziite Throw Over - Urzkrauzi Vizili - jackboot
Iron Mask - Urzkrauzi Vizili - jackboot
2017-07-04 23:51:36 +03:00
Alberyk
6637052899 Fixes #2939 (#2944)
Fixes #2939 by removing the simple animal mind datum that replaced the assigned_role with animal instead of keeping as it is.
Also, adds apprentices to the wizard antag list, allowing them to use aooc and etc.
2017-07-04 23:51:09 +03:00
skull132
405366d15f Fixes #2803, #2553, #2597 & #2498 (#2940)
Fixes #2803
Fixes #2553
Fixes #2597 (Couldn't find a cleaner way to make this work, unfortunately. Not all procs-as-verbs can be used as procs.)
Fixes #2498
Fixes #2912
2017-07-04 00:52:42 +03:00
Pacmandevil
85d0e3c1c5 Changes Electrocute_act (#2866)
As it works currently: Electrocute_act, the proc called when anybody gets shocked, has several problems.

As it is now - it only damages the hand. These changes Allow it to "arc" through one of 6 possible arcs:
*left to right hand
*right to left hand
*right hand to right foot
*right hand to left foot
*left hand to right foot
*left hand to left foot

*Snowflake hand to head to hair to ground fuck the braid

the "arcs" Check the siemens_coefficient of the entry and exit points of the Arcs when calculating damage - So you won't take any damage if you have insulated gloves, and I'm not sure if any shoes have that. but it tries to calculate it anyway. Who knows, Janitor might be buffed.

I've also taken the 60 seconds it took to add the proc to simple_animals. it's just flat damage right now though. I'll probably spruce it up in the future if nobody else does.

The proc shouldn't in theory work any differently if you provided a def_zone for it to target - it'll still just damage the one area. but if no specific area is provided. it'll "arc"
2017-07-03 21:59:37 +03:00
Ron
2477c80644 Dislocated jaw changes (#2925)
Speaking with a dislocated jaw causes a drunk-like effect and sometimes a pain message.

Related thread: https://forums.aurorastation.org/viewtopic.php?f=21&p=79658#p79658
2017-07-03 21:58:23 +03:00
Alberyk
320444fd00 Changes ipcs brute mods and fixes some issues with their external organs (#2894)
-removes the brute reduction from the regular baseline, because robotic limbs already have those
-reduces the industrial brute resist from 0.5 to 0.8, because again robotics limbs already have some
-fixes industrial and shells head not being tagged as vital and makes their max damage be equal as other external organs
2017-07-03 21:17:09 +03:00
Alberyk
6a26b8c1f3 Fix player controlled range hostiles mobs being unable to fire (#2928)
Pretty much fixes hostiles mobs that had a ranged attack being unable to use it if they are controlled by a player, so, we can have human controlled cavern dwellers and combat drones(in case of adminbus).

Also, fixes a broken design that needed mutagen and being able to transfer reagens to species without blood using an iv.
2017-07-03 12:05:42 +03:00
Lohikar
13ceff816c Inline some lighting stuff (#2929)
Inlines some really frequently called lighting procs, maybe will speed up lighting updates a bit.
2017-07-03 12:04:53 +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
d0fcc77f31 List stuff (#2932)
changes:

Converted some list procs to macros (why the fuck was islist() a proc?!)
Removed some old sorting procs and replaced their few remaining calls with sortTim() calls.
2017-07-03 12:03:14 +03:00
Lohikar
4bb96c0c09 Disable the memhack (#2926)
Disables the 510 lighting memory hack by default since we're on 511 now.
2017-07-03 02:41:45 +03:00
Alberyk
1b19877917 Ports taste mechanics from baystation (#2864)
This pr will port the baystation 12 taste system. Also tweaks some drink's strength.
2017-07-03 02:27:43 +03:00
skull132
3b483ea703 Ladders unittest (#2924)
The unit test checks for two things:

All ladders on the map are complete (have at least target_up or target_down).
All ladders have open space in the appropriate area.
2017-07-03 02:25:02 +03:00
Lohikar
dad575f3ca Misc changes & Fixes (#2922)
changes:

Roof auto-gen is now off by default and must be turned on at the area level.
Fixed #2921.
Added a unit test to check if all station areas have a roof.
Slightly tweaked how baseturf is populated; should be functionally the same.
2017-07-03 00:22:07 +03:00
Lohikar
c8ddab832a Map tweaks (#2923)
changes:

Crusher's ladder now properly has an openturf under it.
Made some aesthetic adjustments to the engine's cooling radiator.
2017-07-03 00:21:27 +03:00
Alberyk
9f45ea79fc Map fixes and detective access changes (#2905)
Fixes some messed up directions such as the map on the surface level and a newscaster in the cargo bay
Removes the extra holodeck console
Fixes #2897 (probably)
Fixes #2870
Fixes a broken camera at the vault
Fixes command doors at the bridge being named wrong
Removes the forensic access from the detective, and changes the access of his officer so the csi can't get inside
Fixed some areas of telecomms having roofs where they are not supossed to do

(yes, I used the mapmerge)
2017-07-02 19:56:23 +03:00
Wraithcraft
8b6ed6236b Wheeler Hairstyle (#2903)
Adds hair_wheeler_s to human_face.dmi, and adds a section for "wheeler"
hair in sprite_accessories.dm.
(I tested this and it works.)
The hairstyle is just a modification of "Mulder", adding some more floof, and making the hair itself a bit more grown out, hiding some of the forehead.
2017-07-02 19:48:16 +03:00
skull132
4422175921 Check a ZAS loop (#2896)
Inifinite loops begone.
2017-07-02 03:41:10 +03:00
skull132
b886ef644a Implement mixed secret (#2849)
Implements mixed secret as a gamemode. It's another snowflake mode which taps into more snowflake functions. :ree:

Went over all references to "secret" and swapped them for a macro where applicable. SSticker.hide_mode now holds a reference to which type of secret was picked. "random" gamemode will now pick from both secret lists for added randomness!

Implementation of https://forums.aurorastation.org/viewtopic.php?f=18&t=8253
2017-07-02 02:38:00 +03:00
Juani2400
5c76d89e78 [Newmap] Map additions and fixes. (#2893)
Adds a second OR.
Moves the engine radiator to the lower side of the asteroid.
Revises the quantity of newscasters and emergency lockers around the
station.
Fixes the missing tile in the Pool.
2017-07-02 02:31:13 +03:00
Lohikar
9abeb2c82e connection edge flow speedup (#2892)
Reduces the overhead from /connection_edge/proc/flow from 1 proc-call per connected_turf per movable to 3 proc-calls per movable + a list operation.
2017-07-02 00:33:15 +03:00