Commit Graph

23466 Commits

Author SHA1 Message Date
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
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
Lohikar
f885bffdae More tweaks (#2889)
changes:

Clipboard overlays are now a little gentler on SSoverlays.
Ported potential performance improvements for getFlatIcon and listclearnulls from /tg/.
Icon smoothing now clears the base icon by default; SMOOTH_NO_CLEAR_ICON disables this behavior.
Potential SSoverlays performance improvement from /tg/.
Speculative fix for #2826.
2017-07-01 23:09:10 +03:00
Alberyk
1365befb04 Fixes some things (#2886)
Fixes #2832
Fixes #2821
Fixes #2805
Adds a tint to the bomb suit helmet
Fixes the wizard voidsuit an outdated wizard faction check
Fixes pants don't convering the legs
Fixes hailers showing their messages on the lobby
Reduces the recharge cost of the mounted thermal drill, so, it won't use an entire powercell when you fire it once
2017-07-01 21:53:49 +03:00
Lohikar
42f91d8117 Remove privacy poll & other tweaks/fixes (#2863)
changes:

Removed the privacy poll as it is unused.
Observing no longer creates a new mannequin, instead fetching one from SSmobs.
Observer ghosts now have a description again.
Converted new_player.dm to absolute pathing.
Fixed a bad init on holomaps.
Removed a sleep from light fixture Initialize().
Added a queue length stat to the MC panel for Icon Smoothing.
Halved time taken to create lighting overlay objects.
Species & body marking lists are now sorted alphabetically.
Commented out calls to lighting profiler to remove overhead of string interpolation in some procs.
Blood dries instantly if present during mapload instead of setting a timer.
2017-07-01 21:53:39 +03:00
Lohikar
de2efd09ac Fix a parallax runtime (#2887)
Fixes #2835.
2017-07-01 21:25:14 +03:00
Lohikar
7419971a02 Vision flag tweaks (#2779)
Normalizes some vision flag operations & adds SEE_BLACKNESS to all mobs if the compiler supports it.
Shouldn't break 510 clients even if the server is 511 & using SEE_BLACKNESS.
Should fix some visual glitches with wall-mounted objects being visible when the wall they're on isn't visible.
2017-07-01 18:03:02 +03:00
LordFowl
077196f0d1 Removes the Chapel, Reverts God. (#2739)
Removes the chapel and replaces it with a holodeck.
Replaces the old holodeck with a pool/gymnasium.
Properly sets up the holodeck, mapwise. All holorooms have been adjusted to be the appropriate size for the now slightly smaller holodeck (7x10).
The Chaplain now has an office above hydroponics, which has all of his necessary things - crematorium, morgue tray, tools of office, and even a slight semi-confessional for private council.
Adds a chapel to the holodeck, for when the chaplain wishes to conduct a service. Additional holodecks for specific lore-religions are pending.
Adds a gymnasium holoroom.
2017-07-01 17:54:56 +03:00
Ron
c876437f91 Changes the placement of some items in the uplink (#2853)
Rearranges some items in the uplink datums so they all go from least expensive to most expensive. It appears that most items were already placed like that.
2017-07-01 17:53:14 +03:00
Lohikar
c486724efa Speed up asteroid generation a bunch (#2872)
Shaves 10-20 seconds off of asteroid generation time, bringing it down to 20 seconds, as well as renames some macros so their function is more clear.
2017-06-30 13:11:11 +03:00
Lohikar
27251ee9ee Remove the datum pool (#2873)
Removes the datum pool.

New-qdel is faster than pooling, and we didn't use it anyways.
2017-06-30 13:10:14 +03:00
Lohikar
cf7359e03e Atmos icon tweaks (#2874)
changes:

Airlock vents now use icon_states instead of atmos icon manager overlays.
Omni vents now use SSoverlay caching instead of atmos icon manager caching.
Added missing icon_states from #2812.
2017-06-30 13:09:41 +03:00
Lohikar
84f2ec8105 Area fixes (#2875)
changes:

Fixes copy_contents_to not working.
Fixes elevators attempting to spawn roofs when it didn't really make sense.
Minor efficiency tweaks in move_contents_to and elevators.
2017-06-30 13:09:19 +03:00
Lohikar
1e965826d5 Fix a stupid mistake (#2861)
AAAAAAAAAAAAAAAAAAAAAAAaaaaaaaaaaaaaaaAAAAAAAAAAAAAAA
2017-06-29 01:32:53 +03:00
Lohikar
ce54f5a76c Significantly speed up testing server boot (#2846)
Dramatically speeds up boot with testing (MC_TICKLIMIT_INIT > 100) configs; stoplag() would penalize procs that go over 100% tick-usage by delaying them further. This is not required during server boot & the lobby, and resulted in significantly longer boot times.

This PR ports a fix from /tg/ that forces stoplag() only sleep 1 tick if it sleeps during server boot, as well as adjusting the example config to be more suited for testing.
2017-06-29 00:20:14 +03:00
skull132
9b00464951 Swap brains to absoloute pathing (#2860)
Mobs are touchy things, so having them on relative pathing is a sin.
2017-06-29 00:12:03 +03:00
skull132
ca09aeaeef Remove Global Iterators (#2842)
Removes the global iterators, which mechs use heavily, and replaces it with standard process() calls from SSfast_process and SSprocessing.
2017-06-28 23:15:50 +03:00
Lohikar
bc9fc4d9cc Fix a mulebot runtime (#2859)
Fixes a runtime that could happen when a MULE was shot.
2017-06-28 23:13:05 +03:00
Lohikar
51c967d554 Kill a bunch of unneeded lists (#2851)
Removes a bunch of default lists from /obj, /obj/item, and /obj/structure, replacing them with either lazylists or adding behavior to the null value.

Null armor is now considered identical to having armor with 0 armor in each category, null attack_verb results in the text "attacked" being used.
2017-06-28 23:10:33 +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
Lohikar
9a899801b1 more closet initialize (#2855)
Converts some closets to fill() that I missed in my first pass.
2017-06-28 14:37:42 +03:00
Lohikar
ea7b9b56b7 Fix loadout overwrite issues (#2854)
changes:

Fixed a bug where items overflowing from EquipCustomDeferred would not be passed to EquipItemsStorage.
Added debug lines to EquipCustom, EquipCustomDeferred, and EquipItemsStorage.
Fixes #2762.
2017-06-28 14:37:00 +03:00
Lohikar
16322d55d9 Beam tweaks (#2852)
Speculative fix for #2769.
2017-06-28 14:35:51 +03:00