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.
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.
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.
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.
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.
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.
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!
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.
Added more languages for borgs, plus a short explanation on how borg languages work code-wise for future reference
* Swapped the basic and default/classic icons for all modules
Closes#2781
Adds an end game power for changelings (15 genomes points), allowing them to turn into a robust mob for around five minutes.
Fixes some issues with arm blades and shields, also adds a chem costs to using them.
Adds new changeling related sounds.
Ports vorestation's implementation of /vg/'s holomaps.
Holomaps are an in-game object that shows a map of (most) of the station with departments highlighted, to aid in navigation around the station. Maintenance, high-security, and asteroid areas are excluded from the maps.
Adds approximately 1.5 seconds to server boot to generate maps.
Holomaps were added at:
Arrivals shuttle dock, north of checkpoint.
Surface level lift.
By entrance to security on main level.
North of the kitchen.
South of Engineering, near tech storage.
Beside the IA office.
Near the lift on each sub-level department.
Updates some map tests to use the configured station levels instead of hard-coded values, as well as removes some tests that do not make sense on newmap.
The top of the Tajaran industrial mining RIG chestpiece has been lowered to no-longer obscure the Tajaran's mouth from the front when the helmet is down. (Inconsistent with sidesprites anyway.)
The Ivancarp plushie can now spawn whenever the game calls for a random plushie, and the carp himself has a chance of appearing in cargo's warehouse.
Also made the latest attempt at fixing the phasing cigarettes.
Also changed that thing where part of the face is clearly exposed on the Rescue RIG's helmet when it is ''sealed''.
Removes:
sleep in floorbot/Life() (Fixes#2578)
sleep in medbot/Life()
sleep in farmbot/Life()
a sleep in Diona specific proc chains, which sneaked into human/Life()
a sleep in coldingtons/activate, which sneaked into human/Life()
sleep in bear/misc_command (uncertain if this was ever called in Life(), but hey!)
sleep in corgi/*/Life
This covers all debug references I could find on graylog from the past 30 days.
Refactors:
Removes Nanako-style comments from diona_base.dm which break formatting in VSCode and Github
Swaps diona_base.dm to use to_chat over <<
Adds Banners for the following real world religions:
Christianity
Sikhism
Islam
Buddhism
Hinduism
Judaism
Also adds banners for:
Anime Memes
The Sun
There is no code attached only the items. I'm not entirely sure what I'd be doing with the code as I'm not fully confident with my ability in it right now so for now I'll just provide the sprites.
Picture of said sprites: http://i.imgur.com/hrqSrnK.png
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.
Fixes the gamma solar array having too much wires
Rename airlocks in eva to voidsuit instead of hardsuit
Adds an atm near the bar counter
Fixes a missing robotic storage console in the drone room
Fixes an issue with the wizard transformation
Fixes a marking that I somehow overwrote from this pr #2662Fixes#2796Fixes#2798Fixes#2797Fixes#2770Fixes#2792
Experimental tweaks to how parallax's movement hooks work; the current ones appear to be fairly expensive for all movable movement, doing locate(/mob) in src on every forceMove(). This PR creates a new lazylist (contained_mobs) containing a list of every mob directly contained by an object. contained_mobs is updated on mob/forceMove().
Not sure how to handle mobs located deeper than directly inside an object.
Only alternative to this I see is to make SSparallax tick.
Reworks #2689
Includes: Vent crawling up and down.
Quote from original PR:
Main feature is that ventcrawling between Z levels now works perfectly. It takes 10 seconds to climb up or down a pipe...
Mostly micro-optimizations on a few loops, but also includes more non-mem-hack optimizations for white light such as that created by the default sun.
Movable light updates are done on Move/forceMove now instead of Entered/Exited.
Removed pointless cache_u value.
changes:
Queued icon updates now update the atom's associated openspace overlay or openturf.
update_oo() renamed to update_above(), and moved up to /atom. Only meaningful on /turf (updates above openturf if present) and /atom/movable (updates associated OO if present).
Demoted SSfalling to a regular subsystem (1ds tickrate).
Increased SSlighting's tickrate from 2 ds to 1 ds.
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.
changes:
Chameleon items now use appearance copy to duplicate appearance.
Chameleon items now support contained sprites.
Chameleon items will now explicitly qdelete the temporary copy-item instead of assuming it will GC.
Fixes#2753.
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
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.
Adds a dock at arrivals for the mercenary shuttle to dock, also places the admin shuttle to a dock in the bridge.
Also, fixes the belt at robotics at last and adds a hull shield to engineering. And adds a hacked candy vending to the wizard base and ninja spawn, together with a suit cooling unit for ipc ninjas.
This makes it possible to get the railgun and decloner eaiser. It's still rare and costly. Also made it possible to get the mech teleporter (It's really not as good as some people think) by using antag items to get bluespace research up to 6. Also removed a duplicate decloner fab.
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.
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.