Commit Graph

187 Commits

Author SHA1 Message Date
elly1989@rocketmail.com
599430c3ff Re-added warnings. Admins can now give players formal warnings via the player panel. Even when they are offline. These warnings can no longer be reset by logging out.
The number of strikes a person gets is a define so hosts can modify it to their liking (I should probably move this to a config option but I can't be bothered to test it again). It defaults to 3 strikes, on the third strike you're out. It'll autoban you for 10 minutes.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5123 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-19 16:48:03 +00:00
elly1989@rocketmail.com
97e95e4ab0 Moved "there can only be one" to the secrets panel (fun)
Removed the last of the old promotion/demotion code.
Permissions panel accessible via player panel.
Uncommented the attack log verb. I mistakenly thought it wasn't used.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5102 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-17 23:28:54 +00:00
elly1989@rocketmail.com
50fbfa0c35 As per SoS' request, added a config option ALLOW_ADMIN_OOCCOLOR. If commented out, admins won't be able to have their own personal ooc colours (it will use the default dark red colour).
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5056 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-13 19:28:31 +00:00
elly1989@rocketmail.com
62c31d4e22 Moved triple-AI to the secrets panel (fun)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5046 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-12 16:38:40 +00:00
elly1989@rocketmail.com
03f0e24ca0 Moved the "spawn strike team" verb stuff into the secrets panel (fun).
Added a birthday cake to the bar for Pete's birthday *shhh*

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5045 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-12 16:21:00 +00:00
elly1989@rocketmail.com
bebf4983f8 Removed the toggle_gravity_on() and toggle_gravity_off() verbs and moved them into a single toggle in the FUN section of the secrets panel.
Likewise, removed the spawn_xeno verb and made an equivalent bit of code in the FUN section of the secrets panel.
Fixed the create_xeno proc. It was supposed to ask you which type of alien to spawn but it was sending the popup to src, which should have been usr.
Create_xeno can now spawn queens and larva.
Create_xeno is fed a ckey (optional) rather than a ghost mob. Which will make it more versatile and reliable should clients log out during popups and such.

Created an client.is_afk(duration) proc. If the client has been inactive for duration frames (11 frames is roughly 1 second), it will return the number of frames it has been inactive. Otherwise it returns 0. If no duration value is given it defults to 3000 which is roughly 5 minutes. There's a bunch of code I need to replace with this which I will do after I've got the rest of the admin rank stuff finished as that takes priority.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5040 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-11 19:15:11 +00:00
elly1989@rocketmail.com
8e52e8cbdf Game Panel is now available to all admins regardless of rights (spawning from that panel requires +SPAWN, and changing game mode requires +ADMIN)
Player panel (for an individual mob) is available to all admins regardless of rights (like above, each link on the page has its own rights requirements)
Essentially, with no rights you can see these panels, but you cannot use most of the tools they link to. Additional rights increase your access to corresponding tools.

Removed some duplicate code in /datum/admins/Topic for subtle messages, traitor panel and a few others. There's a lot more to do in this regard but it can wait for now.

We're near the end of the disruption now. I sort of have a clear idea what I'm meant to be doing so work will speed up. Full documentation describing exactly what can and can't be done with each flag will be available soon.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5035 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-11 06:40:00 +00:00
baloh.matevz
2f57200e82 - Fixes the broken population logging
- The current, file-based ban system is now a legacy system, the use of which is strongly discouraged for servers, which are constantly online.
- Added a database-based banning system, with a new baning panel, accessible through the 'banning panel' verb. Servers, which use this new banning system, will get the new panel up even if they use the old 'unban panel' or 'display job bans' verbs. These remain there for legacy support purposes. (Panel screenshot below)
- The most notable benefits of the new system are the ability to add offline bans, meaning the person does not have to be connected for a ban to be applied to their name. The second benefit is the ability to look up all previous bans that the person had.
- The major disadvantage is the complete incompatibility between the old and new system, meaning you have to either do a lot of copy-pasting or playing around in code to sync the old system with the new one. Servers upgrading to this system might want to consider a purge of all bans, if they don't want to go through this. Due to the incompatibility, there are no transition tools provided. Please contact me (errorage/rageroro) in #coderbus for help in syncing your database. The /tg/ legacy and database systems have been synced.
- The server configuration defaults to use the legacy system, as the new one requires the database to be set up. Please hash BAN_LEGACY_SYSTEM in config.txt as explained, to use the new system. If the database connection fails, the server reverts to the legacy system.

If any bugs or errors appear with either the legacy or new ban system, please let me know ASAP. The same applies if there are any syncronization problems between the legacy and new system, resulting in banned people unbanned or unbanned people banned.

Panel screenshot:
http://www.kamletos.si/new%20ban%20panel2.PNG

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5034 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-11 05:39:09 +00:00
elly1989@rocketmail.com
35cac8aefc Moved one or two bits out of +FUN and into a +SPAWN flag. The spawn flag allows mob transformations, spawning of items etc.
Moved fun (admin-event stuff) up to badmin rank.
deadchat visibility defaults to on
removed update_admin()
fixed associate so it won't accidentally add people to the admins list multiple times.
toggling ooc on/off is now available to any admin regardless of rights.
mass deletion is now restricted to DEBUG or SERVER flags
ADMIN, SERVER, DEBUG can all use the delete verb

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5032 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-09 21:58:10 +00:00
elly1989@rocketmail.com
8a3e9ab885 Secrets panel is now available to all admin-datum holders. Each subsection is restricted to specific permissions however.
Adminhelp now loops through all clients in var/list/admins rather than every client in the world.

Both SERVER and FUN can toggle random events on/off.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5029 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-08 17:08:18 +00:00
elly1989@rocketmail.com
11ced13b3d Reverts r5012
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5026 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-07 23:00:38 +00:00
baloh.matevz
dfa45366b8 - Added a new permission type called 'ADVDEBUG', which contains the debug verbs, which should really not be available to run-of-the-mill admins, but should be available to coders, who can use them properly. (debug-verbs and advanced proc call).
- Moved 'reload admins' into the SERVER permission. It already had a check for R_SERVER when it was run, so it being in the debug list was likely a typo. There should probably be an ADVANCEDADMIN permission type or something, that contains the admin-related tools that you don't want all admins to have access to. A 'game masters only' list of verbs, so to speak.
- Edited admin_ranks.txt and the other dm files accordingly.
- Standardized diagnostics.dm

PS: I really love permission based admin verb assignment. So much easier to work with!

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5012 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-06 06:17:57 +00:00
baloh.matevz
073e168086 - Updated the new admin system to support the database.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4994 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-02 17:56:47 +00:00
elly1989@rocketmail.com
50fe648a91 Admin ranks now use bitfields for permissions. Rather than checking the name of the rank, adminverbs will now check holder.rights to see if it has certain bits turned on.
SERVER HOSTS:
This commit replaces the existing admin-rank system. It is now more customizable.
Admin.txt essentially works the same as it always has. Each line should look like:
ckey - admin rank

There is now however, an admin_ranks.txt. This textfile allows you to define ranks like so:
admin rank +ADMIN +FUN +BUILD
the +KEYWORD are flags adding permissions to that rank. There are brief descriptions in the text-file explaining what they do.

You can now name the ranks anything you like, and give them the permissions you want them to have. This allows, for instance, ranks like:
Game Admin on disciplinary +ADMIN +BAN
This would give that game admin only the tools they need to admin. They would not have access to 'fun' verbs which control events and antags.
There's lots of things you can do. For instance, a coder rank whom can debug stuff but cannot do admin tasks:
Codermin +DEBUG +VAREDIT +SERVER

There's lots you can do. As it evolves it will hopefully become more flexible.

admin_ranks.txt defaults to use the old admin rank names.

Apologies in advance as there will be a lot of anomalies, such as ranks losing verbs they once had. Please let me know about any problems. I can fix them quite easily simply by moving verbs between the lists or splitting the lists up into new flags.

CODERS:
There is now a check_rights(flags) proc. 
It check is usr is and admin and has -at least one of- the rights specified.
It checks > usr < not src, so keep that in mind!
If you need to check if something other than usr has specific tights, you can do if(holder.rights & R_ADMIN) etc.

KNOWN ISSUES:
+FUN probably needs to be split up into +MOBS and +EVENTS
In-game promotion/demotion is currently disabled. It will be readded after everything else works ok.
Erro's sql rights changes stuff is currently commented out. It will be re-added.
There are still many many verbs which need updating.

Apologies in advance for any inconvenience.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4991 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-02 10:23:04 +00:00
d_h2005@yahoo.com
9fa23830cf Readds the ghostblob admin verb.
Smaller sprites for corn, from Farart.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4984 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-30 21:02:52 +00:00
elly1989@rocketmail.com
b1fdee2e32 Changed some global_list stuff:
>tried to make the comments less confusing.
>Removed the procs for rebuilding the lists (they weren't meant to be used and half were broken anyway).
>added a directory. It maps ckey to client like so directory[ckey] = client. It could be used for PMs, banning, and various other admin tools rather than using \ref[]
>var/list/admins is now a list of clients whom are admins.
>var/list/admin_datums is what var/list/admins used to be. A map from ckey -> admin datum
Most of this is so I can add modular admin ranks in a non-horrendous way and fix some existing issues.
>var/list/client_list is now var/list/clients (laziness sorry)
>removed some needless loops and stuff.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4951 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-24 20:11:39 +00:00
giacomand@gmail.com
2fe846065a -Added "give disease" VV dropdown option.
-You cannot spread diseases which are marked as SPECIAL or NON_CONTAGIOUS via blood injections.
-Carp no longer drift in space.
-Captain helmet now protects you from facehuggers.
-All humanoid aliens can now Regurgitate.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4946 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-24 00:29:27 +00:00
aranclanos@hotmail.com
ce94195578 Nerfed admin observers to the ground. Instead of listing what they can't do, I'l just list what they can do.
-Acces to asay chat, chatting included (asay comes with adminlogs alerts)
-Toggle adminhelp sound
-Deadmin themselves
-Answering adminhelps (They shouldn't be doing this acting like real admins)
-They can see prayers

Everything else is gone, VV, PP, subtle message, etc.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4903 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-17 13:17:34 +00:00
aranclanos@hotmail.com
d21fb3c87c Quick fix for trialmins being able to right click -> VV
Removing VV from observers. (More nerfs incomings)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4899 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-17 09:36:42 +00:00
johnsonmt88@gmail.com
05f2c58d9b Admin observers:
- No longer see antagonists via /who command.
- Now have the 'toggle adminhelp sound' verb.

Removed a bunch of the 'deadmin_self' verb from various admins and gave it to admin observers. All admins should have it now.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4895 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-17 01:13:26 +00:00
aranclanos@hotmail.com
ac5259836f My first commit, yay!
Removing:
 -Erro code of r4861. Xsi gave me permission p-please don't kill me.
Proc added:
 -Added a proc that checks the rank of the admin and compares it to a var given. If the check fails, returns a 0 and a "You need more acces" message. If not, returns an 1. admin_rank_check(var/rank, var/requested)
Admin option changes:
 -You need to be at least a trialmin to change a var in VV.
 -You need to be at least a trialmin to change the vars on the tator panel
 -You need to be at least a trialmin to allow votes or start a custom one. (All admins can cancel votes)
 -All mob transformations (of playerpanel and VV) and special options (like godmode), now requires trialmin status or higher.
 -All admins can use aghost now.
 -All admins can right click - VV if they are a ghosting.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4889 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-16 03:07:08 +00:00
baloh.matevz
266f163879 - To support the SQL based admin rank system, I added a permission assignment panel, which is accessible to the people who have the PERMISSIONS permission. This panel can be used to add new admins, remove or edit the rank of existing admins.
Screenshot:
http://www.kamletos.si/permissions%20panel.PNG

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4878 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-14 19:45:21 +00:00
giacomand@gmail.com
940808ee86 -New facehugger animation by Sly.
-Moved "debug_controller" to badmin, so if the controller needs debugging a game admin can promote a coder to badmin and allow them to debug it.
-Fixed an issue with aliens having two different status tabs.
-Moved all facehugger icons to icons/mob/alien.dmi

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4862 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-13 21:26:30 +00:00
johnsonmt88@gmail.com
a65f8c3ff8 Admin Observers have lost two verbs: 'gibself' and 'investigate' by request.
Telebacon has been commented out. Fixes(haha) issue 999.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4851 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-13 03:10:34 +00:00
giacomand@gmail.com
5eba2eda1d -Added a new Game Master fun button. It will set the default player OOC colour to whatever the user chooses.
http://i.imgur.com/xRM7j.png

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4845 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-11 22:24:08 +00:00
elly1989@rocketmail.com
01882fec26 Resolves issue 961 - invisibility is set in the define not in New for ghosts
Replaces usr with mob. Using usr means invisimin can't be used as a proc


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4765 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-28 03:56:51 +00:00
elly1989@rocketmail.com
9813d2bbec var/fakekey; var/ooccolor; var/sound_adminhelp moved from /client to /datum/admins. These settings will now persist through a round even through logouts.
var/stealth merged into var/fakekey as it was superfluous.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4753 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-25 13:09:43 +00:00
elly1989@rocketmail.com
f8da06db13 Re-added the default-vote config option for voting. For every client connected more than the total votes, it will add 1 to the default vote option (No restart or the current game-mode).
/obj/admins is now /datum/admins because that's what datums are for you silly people
Moved var/datum/marked_datum from /obj/ to /datum/admins
admin datums are persistent throughout the round. They are stored in the var/list/admins rather than the ranks. This is so admin preferences may be moved into the datum to have them persist even after Login/Logout/Disconnects.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4749 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-24 11:40:41 +00:00
elly1989@rocketmail.com
9e182f0e39 Fixes a possible problem where admins could be kicked if ghostize failed whilst they tried to Adminghostize
Fixes Issue 959 - the holder's state was not being set properly. It is now all handled at login. Verbs only update if rank or state have changed. You can bypass this simply by setting holder.state = null  before calling update_admins()
Moved obj/admins stuff into holder.dm so the core stuff is together, pending some possible work on admin-ranks.
Admins can no-longer adminghost whilst in the lobby.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4746 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-24 06:06:25 +00:00
petethegoat@gmail.com
c016c10bfa Fixes issue 955. (Signalers don't update bomb overlays)
Fixes issue 957. (Sexy mime costume causes incorrectly coloured cleavage)

Adds lipstick~
There are four colours to choose from, and they can be found in contraband crates. You can wipe off lipstick with paper.

Adds some feedback for when the invisimin verb is used.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4739 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-23 15:31:01 +00:00
elly1989@rocketmail.com
de35030dd6 Added an invisimin verb. It toggles your mob's invisibility between ghost-like invis and it's initial state. It is bound to the F8 key.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4710 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-17 03:25:37 +00:00
elly1989@rocketmail.com
9bb09aad58 Admins can adminghost via the F5 key.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4709 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-17 02:47:42 +00:00
elly1989@rocketmail.com
9265255ab5 Fixes an issue where areas were set with luminosity = 1. Not sure why the hell I done that and why the hell I never noticed it. Thanks Kor.
Once again, Only crates may be sold on the supply shuttle.
Changed adminverb updates to be called by Login if holder.state changes. This is so we don't have to mess around with it elsewhere and we don't have to call it as often.
Added some missing verbs to the clearadminverbs proc
Fixed a icon reference not using the fullpath (Goddamn stop doing that)
Going catatonic makes you fall down
All mobs with the resting variable can now unrest (god damn what were you doing).
"Lay down / Get up" was renamed to "Rest".
Rest now uses src rather than usr (again, wtf)
Added some ugly fatty fat hacky code to make admin-ghosted mobs appear braindead rather than catatonic
Admin-ghosting (set-observe and set-play) merged into one verb named "Aghost" (short for admin ghost, same convention as asay)



git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4708 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-17 02:27:12 +00:00
johnsonmt88@gmail.com
9a3ccb6d47 Re-added most of the one-click antag buttons back that the tensioner used to have.
The Admin tab now has a 'create antagonist' button that opens a panel with a list of options.

Make traitor, changeling, revolution, cult, malf AI and Wizard should all work just fine.

Make Nuke ops, space ninja, aliens and deathsquad all need some work.

Hopefully this at least covers the majority of what admins "need" this panel for, at least until the rest of the buttons can be fixed.

Please report any bugs found with this to the issue tracker. I'll get to them as soon as I can.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4707 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-17 01:44:36 +00:00
elly1989@rocketmail.com
0f98fd84dd Replaces the voting system. It should fix a pretty serious server-crashing exploit and simplify the code a fair bit.
Removed all the voting-related adminverbs. It's all built into ooc vote verb.
Admins can now make custom votes for literally anything.
If a vote draws it will pick one of the winners at random.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4677 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-12 00:44:13 +00:00
polyxenitopalidou@gmail.com
b5c57165ac •Newscaster overhaul, something I wanted to do since I made them.
•Centralised network, eliminated needless loops and worked out a better way than process(), since newscasters are a lot.
•Added Access News Network adminverb, which gives absolute freedom over the network. Check the Fun tab.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4595 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-31 11:00:59 +00:00
elly1989@rocketmail.com
e97813d2b6 Replaced the master_controller with the WIP sequential version.
Fixed a problem where TG was using this sequential master_controller but I had removed a spawn where master_controller.process() was called because I was working with the default master_controller. This problem was causing the master_controller to prevent the lighting_controller.process() ever running properly because it was hogging the current thread (thread isn't the right word there, not sure what you call it....stack?)

Added debugging to both the lighting_controller and master_controller. http://filesmelt.com/dl/debugging.png

Both lighting_controller and master_controller may be deleted to terminate their processes (this is done via the restart controller verb. This allows for clean restarts without 'doubling up' (where, for instance, the master_controller would be running more than one instance).

lighting_controller has a prototype recovery proc which is called by the "restart controller - lighting" verb. It's basically an overly paranoid version of process() which will only transfer light_sources to the replacement controller if they don't runtime. It's not needed at the moment as the process() has yet to runtime.

master_controller has the beginnings of self pruning lists. This method using list.Cut(index,index+1) is faster than doing list.Remove(thing) all over the place (the latter iterates through the list to find the thing).

Added more detailed time-measurements for the master_controller. It now displays the processing costs (in real-world seconds) of each part of the master_controller's cycle.

The stat panel only updates for mobs actually -looking- at the stat panel.

Explosion debugging is now hidden behind a if(Debug2). To have it print that data to world.log just click the DebugGame verb

debug controller and restart controller verbs are now both GameAdmin rank. Not sure how they got split up.

Fixed another cause of dark splotchy space turfs. (turf/wall/ex_act was replacing the turf with space and then deleting that new space turf)


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4593 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-31 04:14:26 +00:00
elly1989@rocketmail.com
6e274cd395 New lighting, it's essentially just the old DAL system with a queue.
Comments for lighting:
	Like sd_DAL (what we used to use), it changes the shading overlays of areas by splitting each type of area into sub-areas
	by using the var/tag variable and moving turfs into the contents list of the correct sub-area.

	Unlike sd_DAL however it uses a queueing system. Everytime we  call a change to opacity or luminosity
	(through SetOpacity() or SetLuminosity()) we are  simply updating variables and scheduling certain lights/turfs for an
	update. Actual updates are handled periodically by the lighting_controller. This carries additional overheads, however it
	means that each thing is changed only once per lighting_controller.processing_interval ticks. Allowing for greater control
	over how much priority we'd like lighting updates to have. It also makes it possible for us to simply delay updates by
	setting lighting_controller.processing = 0 at say, the start of a large explosion, waiting for it to finish, and then
	turning it back on with lighting_controller.processing = 1.

	Unlike our old system there is a hardcoded maximum luminosity. This is to discourage coders using large luminosity values
	for dynamic lighting, as the cost of lighting grows rapidly at large luminosity levels (especially when changing opacity
	at runtime)

	Also, in order for the queueing system to work, each light remembers the effect it casts on each turf. This is going to
	have larger memory requirements than our previous system but hopefully it's worth the hassle for the greater control we
	gain. Besides, there are far far worse uses of needless lists in the game, it'd be worth pruning some of them to offset
	costs.

	Known Issues/TODO:
		admin-spawned turfs will have broken lumcounts. Not willing to fix it at this moment
		mob luminosity will be lower than expected when one of multiple light sources is dropped after exceeding the maximum luminosity
		Shuttles still do not have support for dynamic lighting (I hope to fix this at some point)
		No directional lighting support. Fairly easy to add this and the code is ready.
		When opening airlocks etc, lighting does not always update to account for the change in opacity.

Explosions now cause lighting to cease processing temporarily.

Moved controller datums to the code/controllers directory. I plan on standardising them.
"Master","Ticker","Lighting","Air","Jobs","Sun","Radio","Supply Shuttle","Emergency Shuttle","Configuration","pAI" controller datums can be accessed via the debug controller verb (used to be the debug master controller verb)
Supply shuttle now uses a controller datum. Shuttles tend to arrive up to 30 seconds late, this is not a bug.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4537 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-25 16:06:57 +00:00
johnsonmt88@gmail.com
cc544acea0 Removed the tensioner. It was buggy and really only served to ruin rounds. The original purpose of the tensioner before Poly reworked it was to act as a stat tracker, which is now meaningless since erro has a fully operational stat tracker in place.
As a result, cyborg death squads were also removed.

This also fixes meteors and space dust so that they properly take into account the borders of the map. Please do not hardcode numbers when we have defines in place.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4374 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-11 20:02:31 +00:00
elly1989@rocketmail.com
6b56ef27ac Fix for admin-ghosting. Admins couldn't re-enter body after using set-observe.
Cause: I forgot to set the ghost's can_reenter_corpse to 1 after I changed something.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4344 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-09 01:36:19 +00:00
elly1989@rocketmail.com
99354f8c71 More gifts from FPstation. This fetches a list of known proxies and stops people from connecting whilst using them. Proxies are often used for nefarious reasons.
It needs to be kept as up-to-date as possible, so it autoupdates every 6+ hours or so to ensure the database is relatively up-to-date.

Like the previous commit, I'd only really recommend it if the other stuff isn't getting the job done.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4257 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-31 20:42:10 +00:00
sieve32@gmail.com
8658a64dc3 -Redid admin_list to be based off clients rather than mobs (Why I did it with mobs first, I'll never know). This fixes AdminWho and Asay and such not working pre-game.
-Added in the proper list stuff for changeling stasis
-Added a verb to the debug list (Game Admin+) to check the mob lists instead of requiring the item (Works the same way)
Fixes Issue 708


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4240 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-31 02:02:30 +00:00
elly1989@rocketmail.com
4fcbd6e169 Removes some seriously confused code regarding transferral of minds to ghosts upon death/gibbing.
The main problem is: if a mind is transferred to a ghost, objectives that have that mind as a target will treat the ghost as the target mob. Which is clearly a problem. This should fix exploits where people could force people to win/lose objectives via ghosting, gibbing, etc.

It should also eliminate any other weird bugs like the one Nodrak fixed a while ago where pais would keep their mind....meaning they were like, a cultist pai or something and could rat antags out to its owner using the HUD.

Removed some conditions from objectives (like those pertaining to the thunderdome) as they were bait for meta. >ghost >teleport to thunderdome >antag fails the objective she completed

Resolves issue 662

Fixes a few instances of original_name becomming null (there's still loads)


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4214 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-29 09:21:57 +00:00
sieve32@gmail.com
e3acc68917 Quick fixes again, firstly, you won't hear emotes at the login screen (Didn't realize new_player was being put into the dead list), and admins that are promoted/demoted will be added/removed to the list as needed.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4206 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-29 01:34:15 +00:00
baloh.matevz
18ad19d3cf - Me and noddie were both working on the same thing at the same time. So one of the doubled procs has to go. And since I'm making the update it's gonna be his proc that goes :3
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4191 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-27 07:51:27 +00:00
johnsonmt88@gmail.com
9822174a60 Changed the dormitory area from /area/crew_quarters to /area/crew_quarters/sleep so that wizards and the like who try to teleport there wont end up in completely unrelated places like /area/crew_quarters/hor (RD's office)
Moved 'Check AI Laws' to the admin tab instead of being hidden away in the secrets window.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4188 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-27 02:10:35 +00:00
sieve32@gmail.com
7bf6788082 -OPTIMIZATION TIME
-Almost every instance of 'for(mob in world)' has been killed. Because GODDAMN was it being run a bunch. Instead, a series of global lists have been made, and they are all handled auto-magically through New()'s, Del()'s, Login()'s, death()'s, etc...

Lists are as follows:
-mob_list : Contains all atom/mobs by ref
-player_list : Like mob_list, but only contains mobs with clients attached
-admin_list : Like player_list, but holds all mobs with clients attached and admin status
-living_mob_list : Contains all mobs that ARE alive, regardless of client status
-dead_mob_list : Contains all mobs that are dead, which comes down to corpses and ghosts
-cable_list : A list containing every obj/structure/cable in existence
Note: There is an object (/obj/item/debuglist) that you can use to check the contents of each of the lists except for cables (Since getting a message saying "a cable," x9001 isn't very helpful)

These lists have been tested as much as I could on my own, and have been mostly implemented. There are still places where they could be used, but for now it's important that the core is working. If this all checks out I would really like to implement it into the MC as well, simply so it doesn't check call Life() on every mob by checking for all the ones in world every damn tick.

Just testing locally I was able to notice improvements with certain aspects, like admin verbs being MUCH more responsive (They checked for every mob in the world every time they were clicked), many sources of needless lag were cut out (Like Adminwho and Who checking every single mob when clicked), and due to the cable_list powernet rebuilding is MUCH more efficient, because instead of checking for every cable in the world every time a powernet was broken (read: A cable was deleted), it runs though the pre-made list, and even with a singulo tearing all the way across the station, the powernet load was VERY small compared to pretty much everything else.

If you want to know how any of this works, check global_lists.dm, there I have it rigorously commented, and it should provide an understanding of what's going on.

Mob related in worlds before this commit: 1262
After: 4
I'm helping


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4179 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-26 03:04:05 +00:00
elly1989@rocketmail.com
85d28606ef Reduces the rank requirements for giveruntimelog from GM to Badmin. This is so coders can log into the TG servers and pester any present admin for log access.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4113 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-19 15:50:27 +00:00
ericgfwong@hotmail.com
d96e6a08b0 Merged classified report button with the regular command report button.
It now asks if you want to announce it to the crew or not.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4093 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-16 20:23:01 +00:00
ericgfwong@hotmail.com
627e5e295d -Telecoms now has its own style of doors, to be more visibly unique from Space Station 13
-Added new Create Classified Report button for admins. It's a more discreet way for Centcom to communicate with the heads of staff without announcing it to the entire crew.
-Uncommented admin notices for cyborg lockdowns/releases

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4091 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-16 19:44:05 +00:00