Commit Graph

92 Commits

Author SHA1 Message Date
Kyle Spier-Swenson
b4d1ec813f TimeStamped runtime logs.
````
runtime error:
[23:55:40]list index out of bounds
[23:55:40]proc name: testpickweight (/mob/verb/testpickweight)
[23:55:40]  source file: client.dm,296
[23:55:40]  usr: (src)
[23:55:40]  src: MrStonedOne (/mob)
[23:55:40]  src.loc: null
[23:55:40]  call stack:
[23:55:40]MrStonedOne (/mob): testpickweight()
runtime error:
[23:55:43]list index out of bounds
[23:55:43]proc name: testpickweight (/mob/verb/testpickweight)
[23:55:43]  source file: client.dm,296
[23:55:43]  usr: (src)
[23:55:43]  src: MrStonedOne (/mob)
[23:55:43]  src.loc: null
[23:55:43]  call stack:
[23:55:43]MrStonedOne (/mob): testpickweight()
````
2016-03-01 00:14:46 -08:00
Tkdrg
b441767693 Improves admin counting for irc
This is intended to support future improvements to the #adminbus bot.
2016-02-09 21:37:44 -03:00
Bjorn Neergaard
063dd9fb84 Get the code running on 510
* Travis for 510
* Remove json, list2text, text2list, bygex
* Change blind and click catcher to a low plane
2016-02-04 17:19:40 -06:00
Kyle Spier-Swenson
050f699dec Adds a 1 second delay to initializing the MC.
This is so clients can actually connect from world.reboot before the mc starts hogging the cpu, and mainly so i can actually see how long the minimap subsystem is taking to initialize without having to play "race against the mc"
2016-01-27 19:35:11 -08:00
Bjorn Neergaard
97ca70cd34 Rework Master Controller, Failsafe, and Subsystem code 2015-12-04 15:40:58 -06:00
Tkdrg
598fea785e Jobban cleanup & performance improvements
Clients now cache their jobbans to save on DB queries.
Legacy jobbans and "new" (savefile) jobbans have been removed.
These are old cruft that has been unused for years, and since we require
a DB for notes anyway we might as well just get rid of the legacy stuff.

I considered removing legacy bans as well, but I was unsure if that
would go way beyond the scope of this PR (my main goal here is making
jobban_isbanned not awful).

Also note that this was basically untested, as I do not have a test
database. Any help testing this would be much appreciated.
2015-11-28 12:35:54 -03:00
MrStonedOne
4f652da4bd Adds a config option for the round end restart delay.
This should enable more murder death kill at round end before the next round starts.
New servers will default to 90 seconds while old servers will default to the old 25 seconds until they import the config option to their server.
2015-10-26 05:04:43 -07:00
oranges
f570aa6410 Move autoadmin to a protected config datum
This prevents any admin with permission to debug controller being able to edit this setting
2015-10-20 14:42:21 +13:00
Razharas
d9f2f14ac4 Makes space transition real cool
Makes space transition real cool
No more txt shite
Only defines now
Fixes away missions derping
2015-10-13 13:41:46 +03:00
MrStonedOne
701e966f8f choosen -> chosen 2015-10-06 21:50:19 -07:00
MrStonedOne
8d30d50c63 Adds a next map status tab entry. 2015-10-06 21:21:10 -07:00
MrStonedOne
e27e9e8371 Map rotation fixes:
Fixes mutiple rotate operations from breaking the server, map rotation will properly detect rotation operations as well as update operations and abort.
Fixes max pop being treated as minpop
Adds more feedback to admin verbs.
2015-10-06 21:12:00 -07:00
MrStonedOne
29cf9bd265 Some map rotation tweaks.
Adds a config option for the map rotation chance.
Ups default rotation chance from 50% of round length to 75% of round length.
Moves the procs around.
Adds two new admin verbs:
Force map rotation.
Change map.
2015-10-02 10:48:09 -07:00
MrStonedOne
fb01e5ce71 Cleans up map rotation code, removes debugging code 2015-09-30 08:43:22 -07:00
MrStonedOne
fcc8402f31 map rotation base code 2015-09-30 07:13:38 -07:00
Kyle Spier-Swenson
f01e5a0275 Update world.dm 2015-08-31 15:32:13 -07:00
Kyle Spier-Swenson
1e075da4dd Adds logging of admins who use client side debugging tools to restart the server 2015-08-31 15:31:52 -07:00
Kyle Spier-Swenson
4713b1440d Fixes reboot world in dd or client side debugging tools acting odd.
Using the server->reboot option in client side debugging tools will sleep the current proc and call world.Reboot(1).

These cases should immediately reboot with no code to clog it up so that admins with client side debugging tools can restart the world even if its hung. (this being the reason i gave all admins client side debugging tools)
2015-08-31 00:27:39 -07:00
Orange Borg
2c5a3360c5 clean up world.dm
The war on commented code and bad comments continues
2015-08-18 14:35:55 +12:00
Firecage
4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
Cheridan
6ca4cb1e64 Merge pull request #9735 from Jordie0608/whyevenhavetwoverbs
World.Reboot() Improvement
2015-06-05 16:43:13 -05:00
Jordie0608
bd7019e033 standardizes Reboot(), allows round to be delayed after it finishes and removes immediate reboot verb 2015-06-01 22:07:22 +10:00
Firecage
f79e0fc1aa Updates more paths, for example obj/stuff to /obj/stuff 2015-05-31 17:48:33 +02:00
Jordie0608
357b131a52 compile fix 2015-05-22 18:23:25 +10:00
Incoming
f892127b24 Adds the "set round end sound" fun button so admins can override the generic sounds to play something else if want be. 2015-04-18 15:34:03 -04:00
Miauw
82bc75c263 Moves chat toggles into their own variable. 2015-03-05 18:38:07 +01:00
Swag McYolosteinen
f5359aba3b Merge pull request #7257 from Lo6a4evskiy/Sec_record_photo
Adds photos and some other stuff to security and medical records
2015-02-05 18:45:53 +01:00
Lo6a4evskiy
50cc057504 Lots of fixes and improvements 2015-02-04 17:35:42 +04:00
Menshin
1534c82240 * Build the area list at world startup
* Fix the station areas not being processed in the jump_to_area proc
2015-01-26 19:09:05 +01:00
tkdrg
7394d3c0e6 Merge pull request #6806 from paprka/endroundshuttle
Adds a new endround sound
2015-01-06 01:19:24 -03:00
paprka
2d1cdf7d10 Adds a new endround sound 2015-01-04 16:26:44 -08:00
carnie
a029a49392 SubSystem rewrite
Misc:

+Fixes unreported issue with initializing lighting on a specific zlevel

+Fixes two similar issues with moveElement and moveRange. Where fromIndex or toIndex could be adjusted incorrectly in certain conditions. Potentially causing bad-sorts, or out of bound errors.

+Rewrites listclearnulls(list/L) to no longer iterate through L.len elements for every null in the list (plus 1). i.e. went from L.len*(number_of_nulls+1) list-element reads (best-case), to L.len list-element reads (worst-case)

+New proc/getElementByVar(list/L, varname, value) which finds the first datum in a list, with a variable named varname, which equals value. You can also feed it atoms instead of lists due to the way the in operator functions.

+Fixes an unreported issue with Yota's list2text rewrite. Under certain conditions, the first element would not be converted into a string. Causing type-mismatch runtimes.

+New global map_ready variable. This is not fully implemented yet, but will be used to avoid duplicate calls to initialize() for map objects.

+All turfs now maintain references to all lights currently illuminating them. This will mean higher memory use unfortunately, due to the huge number of turfs. However, it will speed up updateAffectingLights significantly. I've used list husbandry to reduce baseline memory usage, so it shouldn't be any worse than some past atmos modifications memory-wise.

-Removed 'quadratic lighting', can add this back at some point. Sorry.

+modified the way lum() works slightly, to allow turfs to have overridden delta-lumen. i.e. space cannot be illuminated more than its default ambiance. This allowed removal of some iffy special-snowflake lighting areas implemented by somebody else.

+Lighting images in the dmi can now use arbitrary naming schemes. It is reliant on order now. This allows the dmi to be replaced by simply dropping in a new dmi.

-Removed all subtypes of /area/shuttle. Shuttles now create duplicate 'rooms' of /area/shuttle. (More on this later). This will conflict with most maps. Guide on how to fix to follow.

+All verbs/tools relating to world.tick_lag were refactored to use world.fps. However old config text for setting tick_lag will still work (it converts the value to fps for you)

+MC stats improved using smoothing. They now have their own tab so they dont get in the way when you're playing as an admin.

-removed the push_mob_back stuff due to conflicting changes. Sorry Giacom.

_OK, NOW THE ACTUAL INTERESTING STUFF_

Following systems moved over to subsystem datums:
air_master
garbage_manager
lighting_controller
process_mobs (aka Life())
nanomanager
power
sun
pipenets
AFK kick loops
shuttle_controller (aka emergency shuttle/pods), supply_shuttle and other shuttles
voting
bots
radio
diseases
events
jobs
objects
ticker

Subsystems hooks and variables should be commented fairly in-depth. If anything isn't particularly clear, please make an issue.

Many system-specific global variables have been refactored into

All tickers which previously used world.timeofday now use world.time

some subsystems can iterate before round start. this resolves the issue with votes not working pregame
2014-12-31 13:25:41 +00:00
Wild Bill
66d36f74d2 Reserve PascalCase inits 2014-12-16 12:29:04 +02:00
Menshin
b76b3fa298 * The Space Cube is now generated at world start, before away missions are loaded
This means away missions don't have space transitions
* The setup_map_transition proc is protected from excessive tiles proceeding (the proc is set to the background if too much tiles are processed)
* Added a comment explaining the Space Cube, by Incoming
* Fixes #4903 : "mobs don't maintain momentum on z-level transition"
* Serendipitiously fixes #2614
2014-10-04 21:16:23 +02:00
Menshin
f080432baf Powernets are now made after secret rooms and away missions have been created
Fix powernets not working for away missions.
2014-10-02 23:38:41 +02:00
Aranclanos
b453189945 Moves the asteroid secret room creation and away mission load from the master controller New() to the world New() 2014-09-23 05:42:55 -03:00
Firecage
6c7af5eb32 SPANCLASSES!!!!! 2014-08-26 09:52:13 +02:00
AlexanderUlanH
fbe3a9f13f Remove areas
Dedicated space area icons, deleted areas will now default to
area/space, all instances of area/ replaced with area/space on box and
ministation.
2014-07-09 14:04:41 -04:00
Nalar
da5e54bc41 Fixed world/topic() administrator counter for the HUB, banners and other admin tools 2014-05-04 17:29:35 +01:00
VistaPOWA
9c3f31d86b Security fixes for PR announcer
Thanks @Giacom for the info!
PR announcer is now able to authenticate with Nickserv.
Communications key moved out of config controller.
Even better Regex validation.
Reading now has even more exception handling.
2014-04-21 10:51:04 +02:00
VistaPOWA
10889bd303 huge update
Makes the announcer better in every aspect (less bugs, less fun, more
merging announcement capability)! Also makes it require *just* .Net 4.0
instead of 4.5.
Adds the option for players to disable the PR announcements.
2014-04-14 21:07:00 +02:00
VistaPOWA
8453cf9af8 Removes a redundant message part. 2014-04-13 19:10:30 +02:00
VistaPOWA
ca4402332a [CONFIG][BACKEND] Adds PR announcing to the game.
Adds a C# program that allows you to parse GitHub Pull request opening
notifications sent to an IRC and display them in-game.
Adds authentication to the world/Topic() procs, allowing you to easily
and securely input data into the game (EXPORT DOES NOT REQUIRE IT!)
2014-04-13 18:59:11 +02:00
Mloc-Argent
2f931aefc8 Big(gish) map reorganization.
Moved all main .dmm maps to _maps/map_files
Each main map gets a .dm file in _maps, this is what's ticked, -NOT- the .dmm file.
This allows use of a MAP_NAME define for various purposes, and lays the groundwork for map customization in the future.

Also included a hacky dm.sh script which supports swapping maps.
For example, "./dm.sh tgstation.dme -Mmetastation" would compile with metastation.

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2014-01-13 22:38:11 +00:00
Giacom
c8120da49c Merge pull request #2283 from YotaXP/list2text-refactor
Optimized and refactored list2text, text2list, and replacetext.
2014-01-11 10:11:13 -08:00
Giacomand
f1e7637bab Disabled the game using set background by making all instances of it use a define, which can be changed in code/_compile_options.dm
Testing has revealed that it reduces the sluggishness of the game, though it will spike from lag when the singularity is loose. Thanks to ChuckTheSheep for suggesting it.

Server owners who want to keep set background enabled can do so by changing the define.
2014-01-10 18:32:28 +00:00
YotaXP
f98a57b750 Optimized and refactored list2text, text2list, and replacetext.
Also fixed some grammar in the station blueprint code.
2014-01-07 22:15:25 -05:00
YotaXP
91d7150eed NTSL, parrots, and ID consoles hate apostrophes less.
NTSL's timestamp() will fetch the proper station time.

ID consoles enforce standard player name restrictions on the ID name and assignment.
2013-11-30 14:33:02 -05:00
errorage
b830dfd06b - Status query now also replies with the map name. 2013-11-10 01:32:01 +01:00
errorage
821067a955 - The server also replies with the game state when a status query is sent. 2013-11-09 22:25:14 +01:00