Commit Graph

607 Commits

Author SHA1 Message Date
Leshana
347e759b10 Make the multi-z explosion strength scalar configurable.
* Its much easier to test out and decide what explosion scalar is nice if you can configure it.
* As an added bonus, by setting it to zero this lets you disable multi-z explosions altogether without turning off all of multi-z.
2017-05-04 20:27:15 -04:00
Anewbe
0207066256 Merge pull request #3332 from VOREStation/aro-pol-planets
Controllerized Planets
2017-04-22 09:36:04 -05:00
Arokha Sieyes
33c28bbcf3 Allows turf unalloc in planets 2017-04-18 22:03:04 -04:00
Arokha Sieyes
d00c5941ca Controllerized Planets
Controller with deferrals and SCHECKs to be specific. Won't lag while updating the sun, weather, or temperature.

Also moved some vars around. Namely the planet walls are stored on the planet, not in the weather_holder.

Planets now have their own turfs, the controller 'gives' them to the planets each cycle if there are any unallocated turfs in the global lists, to avoid iterating over other planets' turfs if you have more than one, then cuts the lists if you were crazy and some turf added some invalid type. This saves us type-checking in the for() loops later to make them crunch faster. The former operation should only happen once at the start of the game (and maybe very rarely when turfs are added/removed from a map during the game).

With regards to the temperature updates, rebuilding the zone entirely is an intensive operation. Instead we can use this new cheaty proc to do it from over here. ZAS code outside ZAS oh noooo. Well, the option is to snowflake this case into ZAS which is maybe worse?

Only downside to all this is that if you manually set weather and time it might take between 1-60 seconds for the controller to get around to checking if you wanted to update it. That's not that big a deal. If you really want you can now debug that controller and call doWork on it.
2017-04-18 20:08:22 -04:00
Leshana
9a7dda1ad1 Implements footstep sound system and adds sounds to various floor types.
* Adds system for turfs to have "footstep sounds" that play when someone walks over them.
* Adds system for floor types (the kind of turfs where you can put tiles on them) to support the footstep sounds.
* Adds sounds to plating, tiles, wood, and carpet floor types.
* Footstep sound system is configurable in game_options.txt, it can be turned off completely or the volume adjusted.
2017-04-18 11:33:44 -04:00
Neerti
22c329e906 Merge pull request #3305 from VOREStation/aro-pol-planets
Make planets more generic
2017-04-16 01:30:55 -04:00
Arokha Sieyes
aaeae6695a Make planets more generic
So that Sif doesn't have to be the only one!
2017-04-14 21:36:48 -04:00
Leshana
e8af4afc88 Port tg/paradise/good soft-edge lighting
Ports https://github.com/ParadiseSS13/Paradise/pull/6161
Its merged in nearly verbatim as far as the lighting module goes.
Changes outside the lighting module are merged based on our codebase.
2017-04-12 19:11:45 -04:00
Neerti
75cc189723 Merge pull request #3271 from VOREStation/aro-pol-panic
Quick & Dirty Panic Bunker Port
2017-04-11 21:55:59 -04:00
Neerti
f24a252a8e Merge pull request #3281 from VOREStation/fix-scheduled-task-controller
Fix null pointer runtime in scheduled task controller.
2017-04-11 21:54:37 -04:00
Leshana
4f3029fcb2 Fix null pointer runtime in scheduled task controller.
* If the "scheduler" controller is restarted by the process scheduler for
any reason, it will start throwing runtimes every status panel update
because the new replacement instance doesn't initialize its list of
schedule tasks.
* Fix that by copying over the unfinished list from the old instance, but
doing some safety checks to make sure it doesn't copy over bad stuff.
2017-04-11 19:16:35 -04:00
Arokha Sieyes
66327aecc7 Quick & Dirty Panic Bunker Port
Tested on our server, works. Doesn't work if you don't have a DB (how would it?).
2017-04-11 00:13:43 -04:00
Krausus
b183ce3ad2 Process deferral and profiling improvements
* Merges Krausus's https://github.com/ParadiseSS13/Paradise/pull/5472 from Paradise
2017-04-10 22:55:02 -04:00
Anewbe
88b0c6086e Antag Radio changes 2017-03-25 14:19:57 -05:00
Leshana
78563a608e Fix runtime in mob controller loop.
* Any nulls present in the mob_list would cause a runtime when checked if they are gcDestroyed.  Add a null check.
* Noticed that the object controller has the same bug, might as well fix now too.
2017-03-17 18:02:59 -04:00
Anewbe
ae599bb68d Merge pull request #3065 from Neerti/3/6/2017_invisible_spaceships
Ports Vore's Space Traffic Controller feature.
2017-03-13 15:59:09 -05:00
Neerti
b706595d57 Makes red alert and evacs silence the atc
Comments out military ships because lore for them is not finalized.
2017-03-13 07:41:10 -04:00
Neerti
9dbd05e8d4 Ports Vore's Space Traffic Controller feature.
Ports Vore's fluff spaceships that talk on comms every ~40 minutes.
2017-03-08 22:06:48 -05:00
Leshana
8355428e4e Adds Supply Shuttle Hook
* Adds a global hook for when the supply shuttle reaches centcom.  The existing sell_crate hook is too limited, as it only detects what is in crates, and is fired many times, making it hard to produce a summary for events that might want stuff shipped on the shuttle.
2017-03-06 12:36:19 -05:00
Neerti
411bd2b05b Ports Turbolifts from Bay. 2017-03-04 21:35:00 -05:00
Neerti
12abb2d6f2 Ports a large chunk of the map datum system that europa/bay uses.
Links many map-specific details such as the station name, z-level information, and allowed jobs from global vars to map datum vars, which should help us maintain multiple maps at once in the future, which will be needed for the future Southern Cross.
Note that a config change will be needed to change GENERATE_ASTEROID to GENERATE_MAP, otherwise no changes should be required to continue normal map usage.
To change to a different map, it's suggested to tick the file that ticks all the other needed files, which for the Northern Star is called northern_star.dm.
2017-02-27 07:36:41 -05:00
Neerti
1d9e7c8c08 works on planet stuff 2017-02-06 20:45:21 -05:00
Anewbe
2eeb4134a8 Ports Bay's Antag Player Age blocker 2017-01-14 17:37:46 -06:00
Neerti
4f81ae340b Map change + entertainment monitor tweak
Adds TV drone to librarian's office.
Entertainment monitors now broadcast the entertainment frequency when powered.
2017-01-09 08:34:16 -05:00
Neerti
f393dafa5d Ports Bay's Journalist TV Drone
Also ports prerequisite entertainment radio frequency code.
2017-01-09 05:03:40 -05:00
Neerti
3e3036aaa8 Correct new and old event tickers. 2016-10-02 18:39:56 -04:00
Neerti
699e04adf9 Adds Groundwork for New Event System
Adds what I hope to be able to make a sort of intelligent system that in the future will be able to decide what event would be the best to choose at any given moment.  A lot of this will probably get rewritten later.
You can use the new debug verb Show GM Status to have it show some data about itself, such as player activity across the whole server.
Currently, the system cannot actually run any events, as they don't exist and it's been disabled.  The plan is to have the events themselves do most of the heavy lifting for stuff like set-up and weights.
When the overarching system is more refined, a lot of new events will be madem and most of our old ones will be ported, and improved upon too.
For now, adding this lets me see what the system thinks about a round that has people playing on it and not just me on a test server.
2016-10-02 12:35:16 -04:00
Spades
9c78d6a2a1 Naming inconsistencies fixed
The short naming of central command has been really inconsistent across
the game's files. This has always annoyed the shit out of me.

CentComm and Centcomm and Centcom are now all CentCom, specifically with
that capitalization. Why one M instead of two M's? Because Comm with two
'M's = Communications. Hence, Telecomms, NOT Telecoms. Telecoms is
incorrect. CentCom was also chosen because CentCom with one M and this
casing is most found throughout the game's files.

Speaking of Telecomms, I corrected one instance in the game where it's
Telecom. Like I said, this is not correct. There was only one
inconsistency.

Likewise, Nanotrasen has been changed to NanoTrasen. Nanotrasen only
appears 20 times, where NanoTrasen appears 62. NanoTrasen is clearly the
preferred, correct naming.
2016-09-13 16:36:43 -04:00
PsiOmegaDelta
c32003e973 Adds missing runtime viewer Topic calls.
Relocates them to the datum itself rather than it being an admin topic for maximum self-containment.
Also adds 'adminplayerobservefollow', making it possible for admins to not only jump to mobs but also follow them with a single click.
Misc tweaks from Paradise.
2016-08-25 18:43:50 +01:00
Yoshax
7573757613 Corrects error handling proc 2016-08-25 18:25:26 +01:00
Yoshax
a42f0c90af fixes exception handling runtiming 2016-08-25 02:57:52 +01:00
SinTwo
eabefc538a Revert "Merge branch 'master' of https://github.com/PolarisSS13/Polaris into NanoGrade"
This reverts commit 6bb5409349, reversing
changes made to f6a83d5ee0.
2016-08-15 12:58:00 -04:00
SinTwo
f50adb9554 Merge branch 'master' of https://github.com/PolarisSS13/Polaris into NanoGrade
Conflicts:
	code/_helpers/time.dm
	code/modules/economy/ATM.dm
2016-08-09 15:46:24 -04:00
EmperorJon
8110fbbf3c Merge pull request #2232 from SinTwo/scheduler
510 scheduler
2016-08-08 10:36:36 +01:00
SinTwo
a17d42a84c mode name and ert sechud fix 2016-08-05 16:27:07 -04:00
SinTwo
fe46fac5cc final new NanoUI fixes and tgui port 2016-07-27 23:01:26 -04:00
PsiOmegaDelta
d2b4db716d Ports Paradise's 510 scheduler.
Conflicts:
	code/__defines/btime.dm
	code/__defines/process_scheduler.dm
	code/_helpers/time.dm
	code/controllers/ProcessScheduler/core/_stubs.dm
	code/controllers/ProcessScheduler/core/processScheduler.dm
	polaris.dme
2016-07-27 17:20:37 -04:00
SinTwo
0086d61d56 Merge branch 'master' of https://github.com/PolarisSS13/Polaris into NanoGrade
Conflicts:
	code/modules/client/client procs.dm
	nano/templates/robot_control.tmpl
2016-07-27 16:11:55 -04:00
woodratt
55562aeb3f - Adds Serena's Trade Ship along with all the odds and ends required to have it work properly.
- Adds a special snowflake mutt as well for ease of teleportation to the trade ship area prep area.
2016-07-04 14:07:14 -07:00
Anewbe
e2f210f5bd Developers now appear in Staffwho 2016-06-27 18:51:40 -05:00
EmperorJon
254a1a04e0 Revert "Adds byond hub visibility as a config option 2" 2016-06-25 01:15:35 +01:00
spookerton
9a0aef4b83 *Compiles with the correct hub password set in hub.dm by default.
*Sets world visibility to 0 to maintain prior behavior.
*Adds a configuration toggle for setting the world public on startup.
2016-06-24 07:39:48 +01:00
SinTwo
4fa126b7e7 a whole lot of nanoui upgrades 2016-06-24 00:43:16 -04:00
Arokha Sieyes
c86ede43bd log_debug, even better. 2016-06-08 02:49:54 -04:00
Arokha Sieyes
a5995b8e21 Don't echo things to everyone on the server
Nobody knows what to do about your hung object processing, sry.
2016-06-08 02:47:34 -04:00
Yoshax
f75d509e7f Ports event system from Bay 2016-06-01 22:05:04 +01:00
Yoshax
0fb98bbabd Scheduler now uses btime, and other improvements 2016-06-01 17:56:07 +01:00
Datraen
9e09720be5 Final Initial Implementation of Xenobio2 System.
Kinks worked out, everything is functioning as it should.
2016-05-25 14:11:37 -04:00
Arokha Sieyes
8e90199052 Generic Station & System Name
Makes the name of the starsystem and station generic such that it can be modified in global.dm and replace the strings where it is used. This won't have an effect on Polaris itself, but makes changing the name much more simple for forks. Using string concat constants on the advice of Psi.
2016-05-16 15:34:03 -04:00
Hubblenaut
f09df76e4a Hacktool (#1607)
* Adds hacking tool.

In normal mode a hacking tool acts and functions just like any multitool. Use a screwdriver to toggle between normal and hacking mode.
Hacking attempts will take 20 +(0 to 20) seconds (triangular distribution, averages at +10 seconds).
Once an airlock has been successfully hacked the user will have full access to the door operation interface normally restricted to silicons.

A hacking tool will remember the last 6 to 8 hacked airlocks.  No time is needed to again hack remembered airlocks.
Once the limit has been reached the least recently accessed airlock is forgotten. Hacking a remembered airlock will update the last accessed time.

Also adds a basic observer/listener pattern implementation to, for example, make it easier to catch when objects have been destroyed and clear references.

* Corrects and adds more sanity checking.

* Adds hacktool to uplink devices
2016-05-15 09:38:10 -04:00