Commit Graph

556 Commits

Author SHA1 Message Date
Krausus 471d1d9c98 Lighting performance/profiling tweaks
- Lighting process now yields at 10% of a tick and defers at 80% of a
tick
- There is no longer a limit to how many sources/corners/overlays will
update in a single work run
- Source/corner/overlay totals are now simple counts instead of lists
- Lighting update stats now show updates over each of the previous 5
seconds
- Space turfs now remove their starlight when changing to a different
turf, fixing a runtime
2017-02-19 23:37:54 -05:00
Krausus a4ab111354 Adds shutdown-instead-of-reboot config options
These basically exist so we can set the server up to automatically kill
itself instead of rebooting.
2017-02-17 01:33:06 -05:00
Tigercat2000 577df3de36 Add debug light source/corner/overlay instance count 2017-02-12 17:30:10 -08:00
Tigercat2000 d0f1bc0a52 Readd lighting DI info 2017-02-12 09:05:14 -08:00
Fox-McCloud 1bd892e9e7 Tweaks Ticklag default config 2017-02-11 16:48:55 -05:00
Crazy Lemon cef7f35ce3 Merge pull request #6161 from tigercat2000/goonlights
Goonlights
2017-02-10 19:21:20 -08:00
Tigercat2000 5e8c14789b Merge remote-tracking branch 'upstream/master' into shuttle_hijack2 2017-02-05 07:41:14 -08:00
Tigercat2000 129a57bd9b Goonlights
Ports Goon Lighting from /vg/station.

Summary -
 This adds smooth edges to all lighting in order to increase the
 aesthetic appeal of the lighting system.
 It works by using a matrix to change the appearance of the lighting
 overlay sprite, which has been changed to be a base for the matrix to
 modify.
 Ported from /vg/station with the help of @PJB3005. This lighting
 system is a hybrid between Mloc's lighting rewrite and Tobba's
 Goonlights.

Notable changes:
 - Darksight now matters on mobs. The lighting overlays are not
 alpha=255 when they are completely dark, meaning you can still see the
 floor- assuming you can view the turf at all, because it retains the
 luminousity setting.
   - This means Tajaran have 100% night vision again as they are
   intended to. Humans can see in a 3x3 square centered around
   themselves.

   - No, I'm not changing this, if it's even possible. This is how
   BYOND's lighting is meant to work. If you have any complaints about
   game balance, please feel free to make a pull request to change
   see_in_dark values, which will be seperately evaluated.

 - The lighting controller now runs at world.tick_lag, to emulate the
 realtime function of StonedMC. So far with my testing, this hasn't
 caused any noticable performance decreases- the lighting system is
 obviously more expensive than our previous iteration, however, it's not
 the next ZAS ;)

Technical Details:
 - /atom/movable/lighting_overlay/proc/get_clamped_lum has been removed,
 succeeded by /turf/proc/get_lumcount. They behave identically.
 - Turf lighting is actually controlled by four "corner" datums, which
 feed information into the overlay.
 - The way opacity is factored into the system has changed. Anything
 that doesn't use set_opacity is not going to work to block light.
 - /area/lighting_use_dynamic has been renamed to
 /area/dynamic_lighting, for consistency with /turf/dynamic_lighting.
 - Lighting is no longer seperately initialized for away missions. It is
 handled in ChangeTurf() as it should be.

Known & Unfixable issues:
 - There is a 5-10 second delay from starting the round to the lights
 turning on. Attribute it to "the powernet being spun up" if you would
 like to- but it's actually just how long it takes the lighting system
 to update every single turf on the map.

 - When you walk with a light on you, the light will actually jump ahead
 of you before you visually get to the tile. This is because of the
 movement gliding on mobs, realtime lighting actually goes faster than
 the glide takes to complete, so it appears that your lights are moving
 faster than you.

Thank you krausy~

Animated Goonlights

This adds an animate() call to the update_overlays() proc. This makes it
so that any light changes will smoothly transition between the changes
instead of instantly changing their appearance.

Also fixes a few issues pointed out on Github.

Change lighting animation (turns out the old one totally breaks if you toggle a light quickly, whoopsies)

Kill LIGHTING_INSTANT_UPDATES

isturf
2017-02-05 07:08:17 -08:00
Markolie a50a3d59b9 Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into lavaland_megafauna
# Conflicts:
#	code/__DEFINES/is_helpers.dm
#	code/_globalvars/lists/objects.dm
#	code/game/machinery/turrets.dm
#	config/example/config.txt
#	goon/browserassets/css/browserOutput.css
#	icons/obj/library.dmi
#	icons/turf/floors.dmi
2017-01-20 23:43:35 +01:00
Tigercat2000 836d07189c Added config toggle + admin verb to disable OOC emoji (not PM) 2017-01-11 09:54:15 -08:00
Tigercat2000 22af92ad22 Hijacking a shuttle diverts it to the syndicate outpost.
tgstation/tgstation#22184

 - Hijacking the shuttle will make it dock to a new dock on the
 syndicate outpost.
 - Fixed shuttle_master not calling mobile/dockRoundstart().
 - Only Traitors, Changelings, Vampires, Nuclear Operatives, and
 Syndicate Deathsquads can now hijack the shuttle.
2017-01-06 10:08:00 -08:00
Markolie f4c4bfe288 Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into lavaland_megafauna
# Conflicts:
#	code/__HELPERS/unsorted.dm
#	code/_globalvars/lists/objects.dm
#	code/controllers/verbs.dm
#	code/game/gamemodes/cult/ritual.dm
#	code/game/gamemodes/cult/runes.dm
#	code/game/objects/items/stacks/sheets/sheet_types.dm
#	code/modules/mob/spirit/mask/mask.dm
#	code/modules/mob/spirit/viewpoint.dm
#	icons/effects/96x96.dmi
#	icons/effects/effects.dmi
#	icons/mob/actions.dmi
#	icons/obj/weapons.dmi
#	icons/obj/wizard.dmi
#	icons/turf/floors.dmi
2017-01-06 16:36:46 +01:00
Fox McCloud f915b24de4 Merge pull request #5547 from Crazylemon64/cid_randomizer_rip
[s] MSO's CID randomizer buster
2017-01-04 19:12:46 -05:00
Crazy Lemon 7e0183f23f Merge pull request #5224 from Kyep/jobs_unlock_system
Playtime Tracking
2017-01-03 18:06:28 -08:00
FalseIncarnate e72fd8eae2 Fixes up battle terminal connections
Also increases the range on the first battle turn announcement to be
audible by both combatants, just like the turn announcements during the
battle.
2016-12-30 00:12:02 -05:00
FalseIncarnate da421d841c Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into pogo 2016-12-29 21:13:00 -05:00
Markolie 8609157751 Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into lavaland_megafauna
# Conflicts:
#	_maps/map_files/cyberiad/cyberiad.dmm
#	code/_globalvars/mapping.dm
#	code/game/objects/effects/landmarks.dm
2016-12-30 00:17:56 +01:00
Markolie 01f2c85347 Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into lavaland_megafauna
# Conflicts:
#	code/__DEFINES/misc.dm
#	code/game/dna/genes/goon_powers.dm
#	code/game/dna/genes/vg_powers.dm
#	code/game/objects/effects/overlays.dm
#	code/game/objects/structures/crates_lockers/closets.dm
#	code/game/objects/structures/crates_lockers/closets/statue.dm
#	code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm
#	icons/mob/back.dmi
#	icons/obj/storage.dmi
2016-12-23 19:32:19 +01:00
Crazylemon64 a60aba8617 Ports MSO's CID randomizer 2016-12-22 10:44:44 -08:00
FalseIncarnate b0e87ea7d3 Moved/renamed controller file 2016-12-21 18:17:47 -05:00
Aurorablade c5e6c9323b addresses mrrowl comments
still haveing shuttle load issues after first one is loaded..
2016-12-11 23:11:21 -05:00
Aurorablade 19925a3313 Merge remote-tracking branch 'refs/remotes/ParadiseSS13/master' into DWI 2016-12-06 21:22:16 -05:00
Crazy Lemon 558a7c5d46 Merge pull request #5929 from Fox-McCloud/timer-update
Timer Controller Update
2016-12-05 08:57:46 -08:00
Crazy Lemon 51822ab940 Revert "Revert "Makes the admin logout tracking system actually work"" 2016-12-03 02:23:18 -08:00
Crazy Lemon c8f54b4d53 Revert "Makes the admin logout tracking system actually work" 2016-12-03 01:53:47 -08:00
Fox-McCloud c70e69004c Timer Controller Update 2016-11-30 17:50:16 -05:00
Kyep 7b20d7561e Merge remote-tracking branch 'ParadiseSS13/master' into jobs_unlock_system 2016-11-28 22:19:27 -08:00
Crazylemon64 8271a89dab Makes the admin logout tracking system actually work 2016-11-27 12:00:57 -08:00
Markolie 269ead92ea Legion fixes, debug controller additions, turret fix 2016-10-24 03:04:37 +02:00
Markolie 52355cba9d Added Legion megafauna, updated weather and some minor other refactors/changes. 2016-10-24 02:16:45 +02:00
Markolie 2e711d1337 Lay groundwork for megafauna, and add Ashdragon.
Includes a refactor for gun turrets (merged into portable turrets), hostile simple_animal behaviour, spells (sounds have been added) and poi_list items.
2016-10-23 23:15:57 +02:00
Aurorablade 01f4e64f12 Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into DWI 2016-10-12 20:37:09 -04:00
TheDZD 568e648bfb Merge pull request #5581 from Fox-McCloud/cloning-update
Cloning Update
2016-10-11 16:51:34 -04:00
Kyep 7e613798b0 Fixes merge conflict in admin_verbs.dm 2016-10-01 13:26:24 -07:00
Crazylemon64 11a37ae960 Should make the rnd console less prone to freezing
"wait_message" is now guaranteed to be unset provided that the timer
controller doesn't go down, and it'll be reset anyways by the `spawn` if
nothing runtimes in there
2016-09-27 14:12:15 -07:00
Aurorablade 2b19b81b99 Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into DWI 2016-09-17 01:38:02 -04:00
Fox McCloud c56961f6f0 Merge pull request #5642 from Krausus/UniqueIDs
Adds Unique Identifiers with Topic and VV Integration
2016-09-12 15:32:20 -04:00
FalseIncarnate 6c4bce1eac Changed Mob Hunt Server to be an abstract controller
Adds catch modifier support, track wild captures

Adds support for capture modifiers:
- These modifiers adjust the "effective run chance" of the mob,
potentially making it easier or harder to capture a mob based on the
total modifier
- Attempting to capture a mob in melee (running up and smacking it with
pda in hand) now grants a 20% capture bonus (reduces mob's effective run
chance by 20)
- Attempting to capture a mob at range (throwing the pda) does not grant
a bonus
- Support is in place for a client-based catch modifiers, to allow for
possible things such as bonuses or penalties from things like "item
cards" or achieving X number of captures. This is not currently planned
for this PR

Adds tracking of how many wild mobs you have captured to the game UI.
Mobs from trading cards will not increase this value, only mob you
captured from the wild will.
- Bragging rights for now, but could be used for a future "milestone"
system to earn bonuses

More cleanup and fixes

Thrown PDAs now properly trigger capture attempts

Mobs now properly consider their type preferences for spawning (may need
to up whitelist bonus weight)

Mobs no longer will spawn in holodeck areas, since this results in them
sometimes spawning on z2 in the holodeck source "templates"

show_message replaced with audible_message

Spawn area selection cleanup

Mobs will no longer attempt to spawn in the derelict solars,
constructionsite solars, or the unused /area/construction subtypes (the
base type is used, just not the subtypes as far as I can tell)
- Mobs will also avoid spawning on turfs that are not on the station
z-level, in the event an area is mistakenly mapped onto additional
z-levels or something
2016-09-09 02:20:57 -04:00
Kyep e4a9ced8f3 Changes syndi team radio display text
From 'syndteam' to '#unid'. Close enough to '#unkn' used by normal
traitor, but distinct enough you can tell them apart.
2016-09-06 21:50:36 -07:00
Krausus 92405288d2 UID mass replace: src=\ref[src] 2016-09-05 23:02:10 -04:00
Kyep 02ffbd084e Creates Syndicate Team Radio Frequency 2016-09-05 03:35:29 -07:00
Fox-McCloud bc7f3c67a6 Cloning Update 2016-08-31 01:48:02 -04:00
Aurorablade 65d1c781c8 Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into DWI 2016-08-26 21:54:56 -04:00
Fox McCloud 4f590f27c4 Merge pull request #5537 from Crazylemon64/debug_log_to_error_viewing
Moves from `log_debug` to `log_runtime` for non-fatal abberant states
2016-08-26 21:15:31 -04:00
Crazylemon64 b633cf53af Moves from log_debug to log_runtime for non-fatal abberant states 2016-08-23 17:03:52 -07:00
Crazylemon64 d3c5c6dbbb Adds the name back to the hash 2016-08-23 13:44:06 -07:00
Crazylemon64 ea669191d5 Moves airlocks to the addtimer system 2016-08-23 02:50:27 -07:00
Kyep 5d0c5d3dfd Update 8 - The Great Delete Of Useful Stuff 2016-08-21 23:35:13 -07:00
Krausus 541076b6b4 Conflict resolution 2016-08-17 22:54:22 -04:00
Fox McCloud d6f9b9ff7a Merge pull request #5459 from Crazylemon64/clicky_stat_button
Clicky stat buttons
2016-08-17 20:17:43 -04:00