Commit Graph

85 Commits

Author SHA1 Message Date
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
Giacomand
a5aca96dcc * Adds the active players for when you are getting the server status.
* Removed the unused player number followed by player name.
2013-10-29 20:48:56 +00:00
Cheridan
9204599fe8 Merge pull request #1597 from Giacom/misc_getrev
Added revision dates to getrev
2013-10-18 23:43:04 -07:00
Giacomand
ade13452da * Added revision dates to getrev.dm
* By converting the unix timestamp of the git log, I was able to get the date of the revision.
 * It uses the new unix2date, which figures out the date, since you can't convert unix time to byond time through byond.
2013-10-17 18:44:35 +01:00
Giacomand
47bc970a85 * Fixed SS13 causing players to stop auto-connecting to the server because of duplicate keys. 2013-10-14 15:25:27 +01:00
carnie
fc8ba2112d Removes TorBan.
Better alternatives are so cheap nowadays as to render it pretty useless.
2013-08-12 13:28:11 +01:00
carnie
26957f5357 Remote resources support.
There is now a PRELOAD_RSC define in code/_compile_options.dm. Setting it to 0 will allow you to use on-the-fly rsc downloads, or the new remote rsc features.

Normally (PRELOAD_RSC == 1) the game will send you all the resources for the game that existed at compile time, this is the long-delay before joining the game...but it means that the game isn't sluggish later on due to trying to download icons and such. Which is good, but uses a lot of bandwidth.

On-the-fly behaviour (PRELOAD_RSC == 0) is when the game only downloads icons when you see something for the first time...this is often responsible for things being briefly invisible on slow connections.

Remote RSC behaviour (PRELOAD_RSC == 0 and some urls defined in config/external_rsc_urls.txt), is a mixture of the two above behaviours. It allows you to connect without downloading lots of resources immediately. However, once you connect it will select a url from a list of urls which hold zipped up copies of the tgstation.rsc. This allows the load of downloading those large files to be distributed across a few cheap web-servers or free upload sites...whilst the main game-server is freed up for other stuff. Should preloading from a remote url fail, behavior will revert to on-the-fly.
2013-06-25 07:44:57 +01:00
carnie
043028db83 Resolves #283
DNA modification uses normally distributed random numbers. Radiation strength dictates the standard deviation of the change in the hex character which is hit (higher output means greater chance for a large change) . Similarly, radiation duration dictates how likely we are to hit the hex-character we clicked on (longer duration means more likely to hit). Irradiation is strength*duration. All balancing is done via multiplier defines so you can rebalance it easily.

DNA blocks and structuring all use defines. Making modification/expansion easier. I'll likely expand this into a datum-based system to allow more interesting features, reduce code further and allow admins to interact with the way dna strings behave.

DNA strings can be spliced together using merge_text().
 e.g. string 1: "Hello World"
 string 2: "Seeya______"
 result: "Seeya World"
 This isn't used except for admin-spawnable SE injectors at the moment.

r_hair, g_hair, b_hair, r_facial, g_facial, b_facial, r_eyes, g_eyes, b_eyes were removed and made into 3 short hex-colors.

Skin tones now support colours other than shades of brown. I've had to restrict it heavily until other stuff is done. Skin tones include Albino Caucasian, Oriental, Mediterranean, etc.

Data disks and DNA injectors were reworked to use associative lists so transferring data is just a matter of doing list.Copy()

var/dna is now defined at /mob/living/carbon level. Only monkeys and humans may have dna currently. Support is there for all carbon-based lifeforms to have dna.

DNA modifier console has almost all controls on one screen.

UIs and UEs can be injected separately (appearance and name, respectively)

dna helper procs like ready_dna() and such were changed to make them more versatile. There is now a hardset_dna() proc as an alternative to ready_dna which can initialize dna with properties passed into it or update an existing dna string (useful for cloning and antag spawning)

Every block of SEs are in randomised positions.

Disabled automatic logging of world.log, as it produced undesirable behaviour.

Mr Muggles and God Emperor of Mankind disks removed.

Floor() removed. (it was completely uneccesary, that is what round() is).

Fixed spelling mistakes in modularchangling.dm (thanks tenebrosity)

Tanning removed from beaches (again)

Experimental: monkeys and humans do not have dna until first attempt to read dna (using check_dna_integrity(mob))
This is mainly due to the way everything is hardcoded into New().

Changelog.html updated
Signed-off-by: carnie <elly1989@rocketmail.com>
2013-04-24 09:37:30 +01:00