Commit Graph

540 Commits

Author SHA1 Message Date
Alberyk
eb80d3ec68 Ports weapons cleaving and reaching features from polaris (#3969)
-axes, chainswords and longswords can now cleave, hitting targets around the user, ported from polaris
-added support for melee weapons that can hit targets two titles away, as well ported from polaris
2017-12-23 21:12:06 +02:00
Lohikar
f73849368f Make get_smooth_underlay_icon work properly with space parallax (#3906)
Fixes an issue where space underlays on diagonally smoothed turfs would not work properly with space parallax.
2017-12-18 00:20:35 +02:00
skull132
c0f22a1cdd Merge branch 'master' into development
# Conflicts:
#	maps/aurora/aurora-1_centcomm.dmm
2017-10-29 16:15:53 +02:00
Lohikar
fc78e49b14 Fix AO being broken on ChangeTurf() (#3732)
Fix AO being broken on ChangeTurf()
2017-10-22 17:53:39 +03:00
Lohikar
5a888996b8 Convert some duplicate code to a macro (#3623)
Shouldn't change behavior, just reduces amount of copypaste code.
2017-10-20 19:13:43 +03:00
Lohikar
61b5203d24 Runtime Map Loading (#3597)
changes:

Maps are no longer compiled in, instead loaded directly from the DMMs at runtime.
Z level defines have been moved from the config to map datums.
Unit tests now use typecaches.
DMMS now actually works.
DMMS has been updated slightly.
DMMS is now capable of loading simple lists of non-text types.
DMMS is now faster when loading many types without mapped in attributes and when loading area instances.
Asteroid generation is now defined on the map datum instead of being hard-coded in SSasteroid.
Holodeck presets are now defined on the map datum.
Atmos machinery now uses Initialize().
2017-10-18 23:07:34 +03:00
Lohikar
146726ffcf Fix AO not initializing on mine turfs (#3639)
Fixes #3638.
2017-10-14 19:32:33 +03:00
Alberyk
5c2d8407b6 Opens the pool (#3459)
This pr adds some water/pool turf mechanics, such as water slowing you down, people suffocating if lying inside a pool title, and fire being extinguished if you enter the pool. Ported mostly from vore station.

Also adds a diving suit rig, with sprites take from Europa. I swear I have plans to use it on an event.
2017-09-21 08:11:03 +03:00
Juani2400
d4a6ea6949 [MAP] Several major remaps, and additions #3 (#3465)
- Remap: Atmopsherics.
- Remap: Captain's Office.
- Remap: Head of Staff Conference Room.
- Remap: Chief Medical Officer's Office.
- Remap: Medical Briefing Room.
- Remap: Security Processing and Holding Cell.
- Modification: Robotics Laboratory.
- Addition: Desk Ringers in several locations.
- Fix: #3391, #3374, #3345, #3341, #3308, #3306, #3277, #3244, #3173,
#3094.
- Several other minor changes.
- A new subtype of folder has been sprited for the Security folders.
- More colours of flooring decals were added.
- New colours for pipes were added (Lohikar).
2017-09-20 16:42:02 +02:00
Lohikar
fe8d586b31 Ambient Occlusion (#3419)
Adds an implementation of Europa's wall ambient occlusion, extended to operate on openturfs as well.
2017-09-15 09:49:53 -05:00
Lohikar
3803b29661 More ZAS performance stuff (#3186)
Should be good.
2017-09-14 21:19:07 +03:00
Alberyk
c52b4f5775 Fixes some walls and turf types (#3368)
Fixes the rusty walls, dionae walls(credits goes to thegreatjorge), all cult walls being reinforced by default and fixes snow and lava turfs.
2017-09-01 17:54:15 -05:00
Lohikar
4ed82ce486 Add Runtime Station (#3350)
Ports Runtime Station from /tg/, a debugging map meant to speed up boot time during development.
Also adds RTGs, a low-output (< 10 kW) upgradable buildable infinite power source, and allows placement of cables on catwalks.
2017-08-29 12:39:35 -05:00
skull132
1ed2f3c556 Merge branch 'master' into development 2017-08-11 22:56:23 +03:00
Lohikar
d6e8e781eb Fix changeturf not working quite right with space turfs (#3269)
ChangeTurf(/turf/space) will now always changeturf to openturfs if there is a below Z; this fixes some oddities with singularities.
2017-08-11 18:27:01 +03:00
Ron
cb5e227320 Converts some istype's to use helpers (#3224)
Converts various istype's to use helpers. Mainly:
Cable
Wrench
Screwdriver
Multitool
Crowbar
Wirecutter

And makes the helpers defines.
2017-08-06 22:08:42 +03:00
Lohikar
f8cdcd013c More initialize tweaks (#2971)
changes:

Organs now use Initialize().
The observe message now shows the configured respawn delay instead of always 30 minutes.
Seed datums no longer have a timer in New().
External organs no longer have a timer in New()/Initialize()
Converted some spawns in organs to timers.
Floor init no longer breaks to plating first for mapped in tiles.
Added the INITIALIZE_IMMEDIATE macro to make Initialize() not wait for SSatoms init.
Mannequins now use INITIALIZE_IMMEDIATE instead of a custom-defined New().
Mannequins (from get_mannequin) now delete themselves if unused for 5 minutes or longer.
2017-07-28 12:00:36 +03:00
Alberyk
2f949ecb45 Ports baystation armor system (#2954)
Ports Baystation12/Baystation12#12658

Changing how the calculation of armor works , instead of just being a check if it is protected fully, half or nothing. Making armor more reliable and less rng dependant.

Also, uranium meteors will irradiate nearby people when they explode.
2017-07-15 16:24:03 +03:00
Lohikar
41e39f52d1 Wall Icon Refactor (#3023)
changes:

Atom types can now define custom adjacency code for the smoothing system.
Walls now draw using the generic icon smoothing system.
Walls now pre-bake colors into their icons instead of doing it client-side with the color var.
Walls can now use the SSoverlay appearance cache; wall icon updates should be faster.
The "rusty" wall type now actually works.
Smoothing now uses mutable_appearance instead of image in some places.
Should be a bit easier on clients, though I haven't done profiling.

This PR breaks 510 compatibility.
2017-07-15 16:22:21 +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
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
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
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
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
LordFowl
f604e14933 Refactors baseturf (#2778)
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
2017-06-22 13:16:06 +03:00
skull132
36cb778548 Add roofs (#2737)
Implements roofs
2017-06-17 22:18:39 +03:00
Lohikar
a28fbd1415 Icon smoothing fixes (#2624)
Fixes some issues with smoothing, including asteroid flooring losing its sprite for no apparent reason.
2017-06-05 11:15:47 +03:00
LordFowl
ed5c571e19 Z Level Conscientious Dark Lords of Destruction (#2595)
The great dark lords, Nar'Sie and Singuloth, now respect multi-z. Nar'Sie will move up/down to match it's target Z. Singularity will move up/down whenever it fails to move laterally, or to chase it's singularity beacon.

Singularity will also consume everything above and below it.

As a bonus, supermatter cascades will also spread vertically.
2017-06-04 20:00:48 +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
Juani2400
5c8b33d4f4 [Newmap] Modifications and bugfixes. (#2543)
Fixes: #2380, #2475, #2496, #2500, #2504, #2506, #2514, #2518, #2519.

Adds new flooring decals for the Medical Bay. These are of the same style that those that already existed,
but fit to the layout and naming of the new map's Medical Bay. There are new signs for the EMT, General Treatment Room, ICU, Ward and Cloning.(Images below)

Slightly modifies the layout of the Medbay, and the CE's office.
(Images below)
2017-05-31 00:01:12 +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
Lohikar
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
Alberyk
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
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
52a4f3a4e3 Shuttle refactor (#2171)
Rewrites the area movement code used by shuttles & elevators in an effort to make it faster, more extensible, and generally easier to read. Also fixes some bugs relating to lighting & moving areas, such as lighting overlays suddenly being teleported into space for absolutely no reason.

Fixes #2161.
Fixes #2166.
2017-05-05 10:16:53 +03:00
Lohikar
149aee4afe Smoothing fixes (#2163)
* Fix some bad smoothing

* Fix unsimulated objects being vaporized by bluespace

* Fix admin turf-delete

* Minor lighting responsiveness tweak
2017-05-02 20:59:22 -04:00
Lohikar
f6dc33a465 Newmap - SMC, Openturf, Arrivals Controller, and Mine Turf Improvements (#1958)
* Replace SSingulo with SScalamity; processing cleanup
- SScalamity now handles blobs as well as singularity-types.
- Processing subtypes have been simplified to not require a stop_processing definition.

* this is probably important

* Remove cascade disabling SSgarbage

* Fixed a bug where dust() did not qdel the target mob

* Misc fixes

* Fix decals surviving break-to-plating

* Subsystem flag tweaks

* Apparently subsystems are new'd before config is.

* Fix paper icons

* Speculative fix for insane lag

* Better machinery stat

* Make organs not use SSoverlay

* Misc bugfixes & tweaks

* Nightmode fixes

* Changelog for SMC

* Port /tg/'s improved MC crash handling

* Add some more SS Recover() procs

* supply_controller -> SScargo

* More New() -> Initialize()

* pAI and robot construction overlays

* Fix cargo unit tests

* Merge the DMM Suite's atom/New() into atoms_init

* Lighting pre-baking

* Lighting initialization logging

* Fix some bad SS init orders

* Fix SSlighting logging; rename Processes to MC

* Speculative fix for insane GC lag

* Prebaked openturf/icon_smooth & fix lighting prebake

* SS init status; SSatoms LATEQDEL

* Fix bug with MC init stat panel

* Fix parallax

* Misc

* Ignore SS_NO_DISPLAY during init

* apparently this is important

* REEEEEE

* Image GC fixes; broadcaster radio-new sanity

* RCON Cleanup

* Move pAI recruiter into subsystem

* Move global solars list into sun subsystem

* Make chickens not use a global

* Demote SSdisposals to SS_BACKGROUND; garbage-debug cleanup

* Speed up space init a little

* Fix bad timer flags on floor drying

* Subsystem panic-restart verb for mins

* Explosion speedup

* Minor subsystem & MC logging tweaks

* SSopenturf improvements

* Make pipenet actually initialize (whoops)

* Minor tweaks

* Implement lighting rounding

* comments are hard okay

* Minor lattice tweaks

* Fix some timer issues & better closet init

* Timer sanity

* Request console tweaks + Storage init sanity

* Minor SSmachiner RCON improvements

* Further reduce world-start timer count

* Standardize subsystem logging

* Garbage hard delete profiling from /tg/

* Timer hang detection & recovery

* Log machines that sleep in process() and fuck up SSmachinery

* Fix an issue with external airlocks sleeping in process()

* Failsafe logging

* Minor tweaks

* Revert "Request console tweaks + Storage init sanity"

This reverts commit 98d3579e35.

* Re-implement RC changes

* Fix SQL FT saving

* Fix SSmachinery sleep in disposals

* Minor SS tweaks

* Paper fixes

* Blood drying fixes

* Merge gameticker and SSticker

* Minor global list init cleanup

* Lagcheck biogenerator & bags

* Tweak SScargo init order; RIG Initialize()

* Caching tweaks

* Remove rogue comma

* Initialize fixes

* Lighting destroy cleanup

* Fix emagging airlocks

* Initial SSicon implementation

* Tweaks & Fixes

* Fire + Air alarm queued icon updates

* Overlays + Queued icon cleanup

* Runtime & background fixes

* Kill some meaningless set statements

* Kill some image qdels

* Bump up lighting rounding val

* Fix adv. scanner destroy runtimes

* Remove unneeded icon update limiting

* Move icon smoothing into helpers

* Show a warning if DM 510 compiles without memory leak hack enabled

* Re-organize subsystems & MC defines a little

* Airlock SFX

* Log of Changes

* Make SSicon_update disable itself when not doing anything

* Fix respawn verb runtime when used early in server-init

* Add more information to MC's stat_entry()

* Replace direct refernces to gcDestroyed with QDEL* macros

* plant_controller -> SSplants

* More plant tweaks

* Add more humor to changelog

* Move parallax globals into SSparallax

* Lighting responsiveness tweaks

* Fix parallax init order & better MC init panel stat

* Make mobs GC

* More overlays + Remove intercom spawn()

* SSfast_process; make pinpointers not use spawn-recursion to process
Also made the SM Cascade beach process with SSprocessing instead of a spawn loop.

* Update changelog

* Mob GC tweaks

* Del() cleanup

* Fix insomniac ZAS connection edges

* Minor pAI cleanup

* Convert more things to SSoverlay; fix duplicated overlay in field gens

* SM Bluespace turf tweaks

* Update SSgarbage debug globals list

* Human-type qdel tweaks

* Subsystem suspension; stat_entry improvements

* SQL Statistics cleanup

* Fix runtimes with ambrosia

* More disable() -> suspend(); fix nightmode again

* Human qdel fix; minor tweaks

* Update turbolift to work with StonedMC

* Make lifts use timers instead of a subsystem

* Make SSassets start earlier

* Convert the radio controller into a subsystem

* Fix some missing CHECK_TICKs in asteroid generation

* MC stat tweaks; make shouldnt_see a typecache

* Kill some redundant debug-controller entries

* radio_controller -> SSradio

* Better SSgarbage hard-del logging from /tg/ upstream

* Logging tweaks + GELF

* Misc client caching improvements

* Slime SSoverlay

* Oven icon fixes

* Implant fixes
- Death implants will no longer spam Common on death of user.
- Death implants should handle a deleted user better.

* Holder tweaks + Welding tool Initialize()

* Fix some bad subsystem logging

* Fix suit cooling units spawning without cells

* Starlight tweaks

* Gibber infinite gib fix

* More SSoverlay stuff

* Make crates use CUT_OVERLAY_IN

* Make SSarrivals suspend instead of disable

* Make openturf use split/phased tick checks

* Speculative fix for unwet timer runtimes

* Blood overlay tweaks/fixes

* Update crusher to play nice with SMC + SSoverlay

* Openturf improvements and fixes

* Minor turbolift tweaks

* Lighting performance improvements + ChangeTurf tweaks

* this is probably important

* Fix wall weld noises on changeturf

* More ChangeTurf tweaks

* Explosion tweaks

* Pre-game lobby tweaks

* Openturf tweaks

* Prevent admins from starting the game before init finishes

* Fix Travis

* Kill an unused var

* Fix ChangeTurf runtimes on openturfs

* Fixes

* Browser datum fixes, asset caching

* Update changelog

* Changelog

* Lobby tweaks

* Ticker tweaks; kill ticker var

* Further lobby tweaks

* Cascade tweaks

* air_master -> SSair

* Reduce overhead from radio autosay

* alarm_manager -> SSalarm

* bomb_processor -> SSexplosives

* corp_regs -> SSlaw

* ZAS overlay fixes

* Small wall icon optimization

* Fix effects master

* Assembly tweaks

* Megavend fixes

* Shuttle fixes

* Camera alert performance improvements

* Fix some world.log spam from lighting overlays

* Fix some Initialize() procs

* Openspace responsiveness tweaks

* Make HE pipes animate through openturfs

* Kill a spawn
2017-05-02 14:40:40 -04:00
skull132
a5848c2802 Merge branch 'development' into map-development
# Conflicts:
#	baystation12.dme
#	code/game/objects/random/random.dm
#	code/game/turfs/turf_changing.dm
#	code/modules/mining/ore.dm
#	code/modules/mob/living/silicon/robot/robot_modules.dm
2017-05-01 01:07:56 +03:00
Lohikar
3834fd9dec Darkness Fixes & Shell Tweaks (#2066)
changes:

ChangeTurf no longer breaks lighting when switching from statically lit turfs to dynamically lit turfs.
Human-types' is_noisy value is now updated on spawn; boots should now make footstep SFX without having to take them off and put them back on.
Fixed a logic error in is_noisy calculations which could have lead to false-negatives.
Shells can now wear socks & undershirts.
Fixed a bug where changing the dynamic lighting status on an area would attempt to build lighting overlays for the entire map.
Fixes #2027.
Fixes #1982.
2017-04-10 11:55:56 +03:00
Lohikar
dcf1b7d3ea Fix merge conflicts with mining changes 2017-03-22 17:54:52 -05:00
LordFowl
3c64b62c27 New Map Mining (#1935)
* Alpha Commit

* Alpha Commit

* Seconds

* Some Commit

* Final Commit

* Fixing minedrone synth ID

* Dance Fever

* Fixing Travis part 1

* Satisfying the demands

* Stuff

* Sub-final commit

* Sculpting update

* more sculpting. pr is 99% sculpting, in fact

* kkk

* brightness_off

* swjaugyuwvhuw
2017-03-22 18:14:37 -04:00
Lohikar
a13f3d9f7d Merge master into map-development 2017-03-21 18:28:39 -05:00
Lohikar
27d328f6fb Lighting fixes (#1952)
Changes:

Fixes #1949.
Removes some pooling in favor of new-qdel.
Lighting startup spam is now correctly sent to R_DEBUG.
Fixes some spark runtimes.
2017-03-21 06:51:21 +02:00
NanakoAC
67bb388a5a Additional Pylons (#1870)
This PR adds a new utility mechanic for the cult. Pylons can now be upgraded into arcane defensive turrets, which fire bolts of demonic energy. These turrets are entirely automated, somewhat-rapid firing, extremely accurate and quite long ranged, but their damage is very low, and thus their total DPS, even with the fire rate, is still far lower than most real ranged weapons.
2017-03-19 00:06:36 +02:00
Lohikar
63eafb3643 Code Cleanup: Destroy() fixes part 1 + Misc Fixes (#1933)
In this PR:

Destroy() fixes backported from PR #1783.
JaniPDA fixes & improvements.
Chickens no longer consume their own eggs.
Language adding in setup is now 100% more sane.
Chemical dispensers now actually check that the user is still alive before renaming.
Ghosts are now marked as non-simulated atoms.
Non-simulated atoms no longer trigger proximity listeners.
Vendors no longer accept synthetic tools as stocking options.
Fixes #812.
Fixes #1877, Fixes #1929.
Fixes #1930.
Fixes #1152, Fixes #1917.
Fixes #1902.
Fixes #1165.
2017-03-18 23:06:24 +02:00
Lohikar
97856e8735 Improved scheduler (#1864)
changes:

Rewrote scheduler to use a sorted linked-list to store scheduled tasks so that only one element needs to be checked if none of the tasks are ready to fire.
Scheduler now checks tasks every 2 ds.
Adding tasks to an empty scheduler or tasks that are triggered after any existing tasks is fast, but adding tasks that trigger between two existing tasks requires iterating through some of the task list.

It's no addtimer(), but it's something.
2017-03-05 02:01:06 +02:00
Lohikar
2080e40183 Merge with development 2017-03-04 15:58:56 -06:00
Lohikar
2945dc9f0d Do the thing (#1812) 2017-02-20 12:34:24 -05:00
NanakoAC
6e16ad88ff Nanako's cooking rework (#1743) 2017-02-17 20:08:45 +02:00