Commit Graph

487 Commits

Author SHA1 Message Date
Remie Richards
7ae7fa0d88 Merge pull request #14113 from tkdrg/DUPES
Adds a "dupe marked datum" option to Game Panel
2015-12-29 07:04:14 +00:00
Tkdrg
a87ea29c84 Adds a "dupe marked datum" option to Game Panel
Useful when something bugs out in-game and you want to test it without
fucking the original up, or maybe if you want to spam some varedited
item quickly.
2015-12-28 01:45:33 -03:00
KorPhaeron
70060cb6c1 Weather datums 2015-12-22 05:31:46 -06:00
Shadowlight213
0cc98d3d09 WIP 2
Most content is done. Just need Comms console and Fixing the Nanoui error.
2015-12-06 00:24:09 -08: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
Shadowlight213
9fe0bdf583 Adds emote bans. 2015-11-07 18:32:35 -08:00
Shadowlight213
f52bb39674 Adds OOC banning 2015-10-25 00:45:48 -07:00
GunHog
0a2be62d55 Royal Xeno Expansion
- Queens are now GIANT.
- Queens are now under the /royal type
- Added Praetorian caste.
- Buffed queen health to 400
- Royals now resist all but the strongest space winds
- Drones now must evolve into Praetorian before becoming queen.
- Queens without a Praetorian may now promote one.
- Royal Xenos now are not stunned by hulks or mechs.
- Hulks no longer push back royals, but still deal more damage.
2015-09-29 18:58:40 -05:00
Orange Borg
a9e4429d57 Better error messages for start game verb 2015-09-08 11:30:15 +12:00
Jordie0608
b7754d5ed7 announce login message as a config 2015-09-04 21:49:09 +10:00
Jordie0608
00123edb18 double whoops 2015-09-03 20:45:24 +10:00
Jordie0608
4e4324d9ce whoops 2015-09-03 20:44:39 +10:00
Jordie0608
9de0f3567d config announce admin login/out 2015-09-03 20:38:36 +10:00
Razharas
752454e239 Merge pull request #11509 from Aranclanos/playerplanel
Fixes the player panel not opening on clientless mobs
2015-09-01 15:49:42 +03:00
Razharas
087758925f Merge pull request #11336 from Aranclanos/IactuallyHateThem
Adds a happy greeting for my friends the admins who I love!
2015-09-01 10:07:31 +03:00
Aranclanos
e3b443abd5 Fixes the player panel not opening on clientless mobs 2015-08-31 05:27:02 -03:00
Jordie0608
62fa9a163c interface for watchlist, improvements to memo, varedit, ban interfaces 2015-08-27 20:57:01 +10:00
Aranclanos
2476ddfbad Adds a happy greeting for my friends the admins who I love! 2015-08-23 09:55:00 -03:00
Jordie0608
e4b21e30d3 autoconvert notes to sql procs 2015-08-17 15:24:50 +10:00
Incoming5643
af04cfa0b7 I almost got through a PR without any follow up commits
but I'm using the web interface so I must be pretty cocky
2015-07-21 14:54:35 -04:00
Incoming
59217b2b06 Adds a server admin version of end round now; a semi obscure admin tool that came about in the mulligan push but never really got advertised. It will print out a round end report and attempt to database round stats before restarting. Suggested use is when the round has SLOWED down to an unplayble crawl for some reason but the game is still technically responcive. Pressing end round doesn't preclude the use of reset if it doesn't seem to be working, but end round should usually be tried first.
Removes the 20 second confirmation between prompts for the normal admin version of end round now.

If admins force end a round escape objectives will be good faith greentexted if the antagonists were still in a position to escape alive.

The survival rate will always be printed at round end now, even if the shuttle makes it to centcom (evac rate will be printed too in that case).
2015-07-20 23:06:42 -04:00
Firecage
4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
Cheridan
7b6fdbc8ce Merge pull request #9556 from Jordie0608/thisisnothebeginningoftotalatarinismthathappenedearlier
Ports watchlist flagging for ckeys
2015-06-22 23:36:06 -05:00
Cheridan
a2948ba203 Merge pull request #9956 from Jordie0608/whocodesthecodemen
Various admin improvements
2015-06-20 00:53:30 -05:00
phil235
f976ae8a58 Merge pull request #9957 from MrStonedOne/boomboomshaketheroom
Makes the bomb cap a config option.
2015-06-17 14:17:09 +02:00
Jordie0608
0bf6f09969 Merge branch 'master' of https://github.com/tgstation/-tg-station into whocodesthecodemen
Conflicts:
	code/modules/admin/verbs/pray.dm
2015-06-16 17:24:20 +10:00
MrStonedOne
7cfff6f1ca Secrets clean up/configurable bomb cap
Moves Secrets to it own file so its not stinking up admins.dm and topic.dm

Makes the bombcap configurable rather then being a per-round only thing.
2015-06-14 09:08:27 -07:00
Jordie0608
a67de221cc JMP replaced with FLW, fixes and adds a bunch of key_name checks in adminlogging 2015-06-14 23:37:35 +10:00
kingofkosmos
c8d79e7034 Removed unnecessary spaces in these situations:
"span class = '" changed to "span class='"
"'> " changed to "'>"
2015-06-14 12:13:19 +03: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
Aranclanos
fe4d28a376 Newscaster code big cleanup.
Removes lots of copypaste.
Admin newscaster barely modified, they still are a gigantic copypaste from the topic.dm() of the newscaster object.
Printed diaries will now only report the information available when they were printed, including wanted status and the different types of censorship.
All datums are now under /datum/newscaster
Wanted is now a different type of datum, /datum/newscaster/wanted_message
Fixed a bug where you couldn't censor normal submissions, made by crewmembers.
Fixes #944
2015-05-19 09:32:46 -03:00
Jordie0608
4763d22f5b Ports watchlist flagging for ckeys 2015-05-19 03:11:18 +10:00
MrStonedOne
eb7d5fefa5 Merge remote-tracking branch 'upstream/master' into step-aside-aran-im-here-to-touch-your-precious
Conflicts:
	code/controllers/subsystem/ticker.dm
2015-05-02 03:03:29 -07:00
MrStonedOne
fe1d3c22d5 Minor rework of lobby admin verbs
Both me and #9228 fixed the same bug, so I reverted mine

Starting the round with the start now verb will now show a tip of the round.
2015-04-30 18:27:58 -07:00
MrStonedOne
ccf90332c2 Fixes delay start giving the wrong message 2015-04-29 02:51:10 -07:00
MrStonedOne
bd6d51a0b5 Massive MC and subsystem rewrite
MC:
	No longer tracks a subsystem's cpu usage. This was basically worthless and took up space on the stat panel
	Can calculate wait down to a tenth of a decisecond to make it fps/world.ticklag agnostic
	Now allows subsystems to have a dynamic wait, that is based on a ratio of how long that subsystem has been taking to process(cost). (This system allows for upper and lower bounds, and an changeable cost delta for each subsystem)
	MC can now be told to init a zlevel

All Subsystems:
	Stats panel now allows child subsystems to pass it a message to add to its stats entry. All subsystems have been moved over to this system - This should cut down on subsystems having to copy and paste the stats proc in order to add to it
	All subsystems now properlly handle being given a zlevel in their init proc

Subsystem changes:
	Air:
		Added air to the dynamic wait subsystem. upper bound: 50, lower bound: 5, cost delta: 3 times process cost
		Air now fires 4 times faster when it can do so without lagging things up
		Pipenet has been merged into air
		Atmos machinery now processes with process_atmos(), ticked by air, not machinery.
		Hotspots (the fire object) are now object pooled
	Pipenet:
		Deleted, added to air
	Machinery:
		Moved all atmos calcualtions in all objects's process() to process_atmos().
	Lighting:
		Added Lighting to the dynamic wait subsystem. upper bound: 20, lower bound: 5, cost delta: 3 times process cost
	Ticker:
		Fixed ticker not updating the lobby panel when game start delayed
		Fixed the game start timer updating rapidly from queued fires when game start delay is removed
	Garbage/qdel:
		qdel will now limit its process time to 2ds a fire.
		qdel can now be given hints as a return to Destroy() as to what should be done with the object.
		the options are:
			queue: (default) this is the normal behavior.
			letmelive: old default to non-null/zero. does nothing with the object
			iwillgc: functionally the same as above, mainly to let people working with objects know that the object will not be queued for GC checking
			harddel: this will queue the object to be deleted without storing a soft reference, mainly to save locate() processing time.
			harddel_now: this will del() the object. To allow for a clean removal of every del() not in qdel
		All objects have been updated to the new system, harddel and iwillgc was not added to any new objects.
		Fixed some objects not GCing because they didn't properlly clear references in Destory()
		Fixed some objects getting qdel'ed preventing other objects from getting GCed because they did not null their reference to that object.
2015-04-29 02:00:25 -07:00
Ikarrus
3b96d74955 Admins can now adjust pre-game delay time
Instead of just a simple Pause/Play toggle, it lets admins set a longer (or shorter) time if they want.

Admins can still set -1 for indefinite delays.
2015-04-28 23:00:42 -06:00
MrStonedOne
2227b7adb3 Adds some sanity checks to admin ghost drag. 2015-04-15 02:58:54 -07:00
MrStonedOne
e1338fed2b fixes a minor mishap with ghostize in admin ghost drops 2015-04-14 07:21:23 -07:00
MrStonedOne
f2e2940255 Makes admin ghost drag use ghostize 2015-04-14 06:01:42 -07:00
MrStonedOne
39decb8bf6 Admins can now drag ghosts to mobs to put that ghost in control of that mob.
This functions the same way as editing the ckey in vv, and has the same permission checks
It requires the admin also be a ghost to avoid conflicts with other drag drop code.
2015-04-13 17:33:04 -07:00
MrStonedOne
af35d31bd9 Fixes the rank button on player panel 2015-04-09 03:19:20 -07:00
phil235
29609457f5 Makes the message when you're attacked slightly bigger for better visibility."
Changes two "for... show_message()" into "visible_message()".
2015-03-12 23:15:54 +01:00
Incoming
cbcc52beeb Updates Manage Job Slots to work with assistant slots
Any (non-silicon) job can now be set to be an unlimited slot job from Manage Job Slots

People will be allowed to join as assistant if no other jobs are availible

Removes a redundant sanity check from AssignRole()
2015-02-24 16:06:36 -05:00
Menshin
9af151878d Added a "Send back to Lobby" option in Player Panel. 2015-01-28 18:45:26 +01:00
phil235
a55e6a70be Fixes malf AI lockdown affecting doors on z levels other than station and mining.
Replaces a lot of z level numbers in code by their respective defines.
Adding a define for the Mining asteroid z level.
2015-01-11 15:39:32 +01:00
carnie
4bcc5ec791 Resolves #6864 - Sets ticker can_fire=1 inside the start_now verb. 2015-01-07 17:13:23 +00: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