Commit Graph

83 Commits

Author SHA1 Message Date
errorage
3537b5ea9a - Added an option to the secrets tab which displays the current list of admins and their ranks. 2013-11-10 02:52:41 +01:00
AlexanderUlanH
16d17921f9 Cha-cha-cha-changes
Changed the shuttle controller to a datum, changed the appearance of the
labor shuttle, and fixed stackers giving one free stack of each ore.
2013-11-02 17:01:54 -04:00
AlexanderUlanH
87b72833bd Added the labor shuttle 2013-11-02 15:16:39 -04:00
Cheridan
882b376eb2 Code Cleanup! Moves Area-finding into a helper, uses a parent anomaly-event datum to cut down on repeated code! 2013-09-19 23:39:32 -05:00
Cheridan
d19e7f6493 Converts bluespace events into the anomaly system. Adds some sprites and polishes up some effects
Next up: Moving all of the anomalies into an event subtype to cut down on copied code!
2013-09-19 22:08:04 -05:00
Cheridan
2ee9e23ea9 Initial Event Rework
Adds anomalies, special effects which tie into the event system.

Ports bholes into an anomaly, cleans up their code.
Adds new gravitational anomalies. Imagine a trampoline.
Flux event is now an anomaly.
Adds a new pyro anomaly.
2013-09-17 15:46:00 -05:00
Cheridan
a4b17f7ef3 Merge pull request #1246 from Intigracy/adminchangingstuff
Standardizing permissions for admins
2013-08-29 21:38:49 -07:00
Intigracy
0962cd2679 Start of standardizing required permissions for admins.
Using the dropdown menu / changing health / names of people in view variables now actually requires +VAREDIT.

Shuttle moving moved from +FUN to +ADMIN for convenience sake.

+ADMIN now required to view antagonists / law changes, before it was only required to check antags via verbs, which you could get around through the secrets menu.

+ADMIN Also now required to view all of the special information given about players in who menu (like antagonist status), but all admins can still see stealth keyed admins.
2013-08-28 15:51:45 -07:00
Cheridan
1ee6c4f5c7 Merge pull request #1166 from Carn/admin_ranks
Fixes #1147 (type-mismatch) +features
2013-08-28 11:57:21 -07:00
Cheridan
dfa2750f41 The auto-notes which are added when a ban is applied won't cause logs. 2013-08-21 00:14:57 -05:00
carnie
bbe7354265 Fixes #1147 - type-mismatch
Added helper: /proc/findchar(haystack, needles, start=1, end=0)
works like findtext except it finds the first occurrence of one of the characters from the needles string, within haystack.

Permissions can now be removed as well as added, by replacing the + with a -. e.g. +BAN adds bans permissions, -BAN removes them. This applies to admin_ranks.txt and the permissions panel.

Verb overrides are now possible for admins_ranks. Specific verbs can be forced-on, or forced-off via keywords like +/client/proc/mimespeak or -/client/verb/ooc. This applies both to admin_ranks.txt and the permissions panel. SQL system is not compatible.

admin_ranks are now datums. This means admin_ranks actually behave more like permission groups as intended.
When you temporarily modify an admin's permissions via the permissions panel, their rank_name is appended with "([ckey])". This prevents modifications to their rights affecting everyone.

admin rank names now support - _ and @ characters (since ckeyEx() does not strip these).

SQL permissions system was modified. SQL databases will have to be updated or they will no longer work.

WARNING: admin_ranks.txt and admins.txt format has changed slightly! You will need to redo those txt files!
2013-08-14 18:10:26 +01:00
carnie
ffa9bb51cd Helper proc /proc/find_record(field, value, list/L)
It will search list/L for a /datum/data/record with fields[field] == value, and return it.

This removes a vast amount of copypasta (there's still so much left in there though). It also removes all the locate(\ref[record]) I could find, which were normal used with topic(), meaning it was susceptible to abuse.

Secbots, ed209s and turrets are now smarter with their record-checks. They now prefer to use our face-name rather than id-name. ICly, this is the bot using facial recognition. This fixes an issue where it'd try to use the name variable which could be in the format "Unknown (as their id name)" when they were disfigured, etc. causing record-lookup to fail.

Additionally, these bots will treat those without a valid record in the security database, to be treated like criminals.
2013-08-11 12:49:55 +01:00
Cheridan
642194d4f3 Merge pull request #1082 from errorage/2013-08-07_clear_clients_from_lobby_at_round_end
Disconnects clients who have not joined the round before restarting
2013-08-09 13:31:13 -07:00
errorage
c32f56e750 - When clients in the lobby are kicked at round end, only afk clients actually get kicked.
- The admins now have the ability to kick all or just afk clients from the lobby
- When admins use this action, a list of kicked clients is sent to admins and into the log.
- Added a confirmation message to the admin command.
2013-08-07 18:09:38 +02:00
carnie
ada01c7e5f Reverting some accidental changes.
Medical consoles emp_act uses random_blood_type() random_name() etc, rather than hardcoded pick/rand.
2013-08-07 16:44:17 +01:00
errorage
134ba32236 - In an effort to decrease the number of unneeded client connections, I've made it so when the round ends, all the clients who are in the lobby get kicked before the restart. This is only effective when rounds end 'organically' (not when restart commands or votes are used, for example). The intention is to prevent people from leaving their computers on and connected indefinitely, because all clients contribute to the total. The assumption is that if you are in the lobby when the round ends, you have not participated in the previous round, meaning you are probably not actually present.
- Also added a button to the player panel, which allows admins to do the same thing. The admin's name is reported to all the kicked clients.
2013-08-07 03:15:44 +02:00
carnie
02be173c60 Renamed variables:
b_type to blood_type
h_color to hair_color
f_color to facial_hair_color
f_style to facial_hair_style
h_style to hair_style
2013-08-01 13:48:41 +01:00
Intigracy
293fc7ce6c Removed the check in jobbans that prevented admins from banning each other. Everything is already logged up the yinyang, admins are able to regular ban themselves, even perma, and sometimes an admin NEEDS to be jobbanned for something. 2013-07-27 03:30:33 -07:00
errorage
86a68cb55b - Expands the maximum number of admin permission flags you can have from 16 to 31.
To test: add these debug lines somewhere:

//START COPY PASTE

mob/verb/give_allrights()
	src.client.holder.rights = 393087

mob/verb/hasright()
	var/hi = input(src,"Choose a file to access:","Download",null) as null|num
	var/r = check_rights(hi, 1);
	world << "[r]"

mob/verb/checkrights()
	for(var/i = 0; i < 32; i++)
		var/n = 1 << i
		var/r = check_rights(n , 1);
		world << "has right 2^[i] = [n]? [r]"

//END COPY PASTE

Start the game, run 'give allrights', which doesn't give all rights, but some of the rights. 128 and 131072 are missing. Then you can either run 'hasright' to check whether you have the permissions that correspond to a user defined number, or you can run 'checkrights' to check for all 31 theoretical permissions.
2013-07-22 19:22:47 +02:00
errorage
5925d3a876 Added the ability to define the ip and computer id for a manual ban (in the banning panel). This is so mirroring bans or banning people who were not online during the round in progress does not require admins to spawn a mob, set their variables and then ban the mob.
If however an admin attempts to add a manual ban for a player who was present during the current round, a player who still has a mob somewhere in the game world, the proc will prioritize the mob's ip and computer id variables, not the things entered in the banning panel form.
2013-07-16 07:26:51 +02:00
KazeEspada
b2b2705c58 Merge pull request #925 from Giacomand/blob_vamp
Blob Gamemode Revamp
Blob gamemode is back and better than ever.
The blob is selected from be_alien candidates and is controled like a real time strategy game.
2013-07-09 21:33:29 -07:00
Giacomand
33e8976274 Removed the nuke code. You cannot nuke the station anymore.
Added a Jump to Node power.
Cleaned up the code.
Changed some more values.
Added a blob_act() to camera.
Removed most "if(gamemode == "blob") checks to stop people from using it to metagame.
Removed cells exploding when being blob_act()'d
2013-07-10 01:49:06 +01:00
Giacomand
6b39c6b1f9 Blob revamp!
Re-introduced the concept of a player controlling the blob in an RTS fashion, expanding the blob and building structures such as nodes and factories.

All blobs will try to find ghosts, with the BE_ALIEN flag, to be the blob overmind. Even random event blobs will try to get players to play as the overmind.

Added a /mob/camera that is now being used by the AI eye and the blob overmind. It is a mob that isn't dead but acts as a camera for the player, to be controlled by something like the AI or the blob.

There are now a resource currency for the blob to spend it's points on blob expansion and upgrades.

Added a small blob_act to mechs.

Made all camera mobs max invisibility. Because of this I removed the AI best friend button as it would be not working.

Blob mode will send a normal intercept report.
2013-07-06 21:19:33 +01:00
Intigracy
2b0c4dd187 Cheridan broke my git the first time, here's try #2!
Makes the "coder secrets" in secrets panel become general secrets for all admins. Adding myself to admins.txt for test server purposes, in case I ever forget to change it again.

Reasons:
It's very helpful to use the admin log for a quick glance to see who spawned the mateba for the clown, rather than open the serverlog to check.

Plus I see no reason why it should be restricted to coders, considering it's not really at all able to affect the game by admins seeing it.

Testing force overwrite

Cheridan broke my git the first time, here's try #2!

Makes the "coder secrets" in secrets panel become general secrets for all admins. Adding myself to admins.txt for test server purposes, in case I ever forget to change it again.

Reasons:
It's very helpful to use the admin log for a quick glance to see who spawned the mateba for the clown, rather than open the serverlog to check.

Plus I see no reason why it should be restricted to coders, considering it's not really at all able to affect the game by admins seeing it.
2013-07-03 22:20:15 -07:00
Giacomand
06e7f401cd Merge branch 'master' of https://github.com/Giacomand/-tg-station into tator_typos
Conflicts:
	code/modules/admin/topic.dm
2013-06-20 21:37:30 +01:00
Giacomand
58b63f33f2 * Fixed spelling typos. Tratior -> Traitor 2013-06-20 21:29:14 +01:00
Cheridan
5a83f85c83 Merge pull request #804 from Ikarrus/tplog
Traitor Panel Improvements
2013-06-19 21:08:14 -07:00
Ikarrus
9b395d65ca Admins get notified when someone replies to a syndicate transmission. 2013-06-17 22:46:16 -06:00
Ikarrus
26becb3937 Traitor Panel Improvements
-Added logging for admins editing objectives
-Added logging for admins adding new antagonists
-Changed the antag role assignment buttons to something more appropriate for the game modes. Will now tell you if someone is loyal (implanted).
-Added a isloyal() proc to check if a mob is loyalty implanted.
-Made the headrev message more noticeable
2013-06-17 22:39:32 -06:00
Cael Aislinn
cc66ec46db Merge pull request #552 from dumpdavidson/monkeyize
Monkey - Human transformation
2013-06-10 02:27:52 -07:00
AndroidSFV
af667da901 Makes the admin "Show Crew Manifest" verb inside the secrets window actually show the Crew Manifest, instead of the old dumb way of just looking at whatever ID human players are holding. 2013-06-02 19:22:47 -05:00
dumpdavidson
53529ea8f9 Changes behind the scene stuff regarding transformation from monkey to human.
-Adds a humanize() proc
-Changes monkeyize() proc to a child of mob/living/carbon (not implemented or tested with anything beside humans, though)
-Adds various options for monkeyize and humanize as binary flags
-Removed all instances of monkey transformation code being copy pasted (dna, changeling, adminverbs) and replaced them with monkeyize(). This fixed various issues with admin-verbs where mobs would ghost after transformation due to invalid use of transfer_to (mind transfer proc).

-Humans will now retain their old name if turned into a monkey and back provided their UE are unchanged
-Transformation from monkey into human will now deal the same amount of damage as human to monkey.

Signed-off-by: dumpdavidson <gtb.schmidt@gmail.com>
2013-05-10 17:23:20 +02:00
AndroidSFV
9063eaf9f4 -Makes the Energetic Flux event admin trigger-able via the secrets panel. 2013-04-23 12:15:26 -05:00
Pete Goodfellow
976e1f0136 Fixed 'break all lights' not breaking all (or any) lights 2013-04-18 19:58:44 +01:00
Cael Aislinn
de4a906c25 Merge pull request #329 from Carn/Issue304
Resolves Issue #304
2013-04-08 00:28:50 -07:00
carnie
6a98fc89d0 >datum/event and datum/event_control were renamed to datum/round_event and datum/round_event_control. This is because datum/event was already used by a different/more-general event queue system (used primarily on mechas)
Removed overriding of event values via feeding in an associative list into datum/round_event/New(). Instead you can do basic initializations (i.e. feed it constants) by doing new /datum/round_event{variablename=5;}(). This method is handled well by the compiler (it's the same method the maps use), so it will detect unrecognized variablenames etc.
More complex initializations for post setup() stuff can be done by accessing variables directly Event.variablename = whatever;
round_events now have a processing variable, which effectively pauses them.
2013-04-08 07:42:46 +01:00
errorage
3da9741500 Update to latest version of tgstation + resolves a conflict 2013-04-05 16:02:02 +02:00
errorage
912815f1d1 Admin bans
- Adds two new types of bans: admin tempbans and admin permabans. These ban types are in reaction to the rising number of banworthy admin issues. The original intent was to make admins unbannable ingame, so players could not spoof admin computer ids to get admins banned, with the assumption that admin issues will be rare and a big deal when they happen. They have however started becoming ever more common, so some tools are required to allow for admin self-policing.
- Each admin can have a maximum of one active admin ban (temporary or permanent) logged to their name. This is to prevent rogue admins from just banning everyone who could ban them. These bans are also not intended to be 'permanent-permanent'. They are intended to serve as a temporary fix, to get rid of rogue admins until the server host or another admin with rdp access (or +PERMISSIONS if you use DB_Admin) can deal with the rogue admin's removal. Once that is done, a normal permaban or tempban can be applied, and the admin permaban/tempban removed, restoring the banning admin's 1 allowed admin ban.
- Admin bans are considered a big deal, so they also send a message to irc, when they are applied.
- NOTE: Admin bans only check the connecting person's ckey. The risk of computer id spoofing still exists, so it's better not to have them check ips and computer ids. The admin abilities are given based on ckey anyway, so a ckey ban should be enough in most cases.

Other changes to bans
- Added a few variables to the funciton that adds a ban: maxadminbanchec (which is for admin bans and checks how many bans the admin can still apply); announceinirc and blockselfban (which prevents admins from applying the ban type on themselves. Currently applied for permaban, tempban, admin permaban, admin tempban)
- Changed the appearance ban database constant from APPEARANCE_BAN to APPEARANCE_PERMABAN, to make it more compatible with the ban log at http://www.ss13.eu/tgdb/banoverview.php
- Added a missing sanity check to topic.dm for appearance bans
- Renamed appearance bans to identity bans in admin panels (as per Pete's request)
2013-04-03 23:28:24 +02:00
carnie
8c489f662b Muting now uses uses a ckey in its href rather than a mob reference.
You can now mute admins.
2013-03-31 23:06:56 +01:00
carnie
66e6a2dbf0 Mobs each now have a unique tag which are not after they are deleted (unlike byond's \ref[] macro)
Since tag replaces the output of the \ref[] macro, this means that menus which use hrefs with \ref[mob] will no longer be able to accidentally link to the wrong mob.
The tags are of the form "mob_475" etc

Admin_pms now use ckey instead of client-reference. This means that PMs will no longer accidentally get sent to the wrong people.
There is no risk of players using hrefs to send adminhelps to known admin ckeys to see if they are online (as I'd already changed the PM system to not tell non-admin users whom received their message).

key_name() now accepts text input (key or ckey) - it is slightly more efficient to feed it a client or mob however!
This functionality is provided to allow certain admintools to become more robust when we want to talk about e.g. a griefer whom has just DCed whom no-longer has a corpse (no client/mob...just a ckey reference).
key_name() now reports DCed players properly.
2013-03-31 11:26:22 +01:00
Pete Goodfellow
fe3cc313f6 Adds name/appearance bans. They're based on jobban code, but prevent the banned player from using their preset names and appearances.
Also corrects a spelling error (Indentity) in the char prefs panel.
2013-03-28 15:51:35 +00:00
MrPerson
a88b30ab31 Removed mind.original
All usage of it on silicons is replaced by is_special_character()
is_special_character moved from admin.dm to mob_helpers.dm
Also fixed a runtime having to do with objectives.
2013-03-11 05:40:21 -07:00
Pete Goodfellow
b02c459505 Adding google code commits r5836 to r5849. RIP in peace google code. 2013-03-11 04:26:54 +00:00
petethegoat@gmail.com
97e0f9b6f7 Smallified Centcomm and removed a large amount of the unused machines. This affects most stuff on z2.
Removed the administration shuttle and the stupid alien dinghy.
Removed the beach (hey, it's an away mission now).

Removed syndicate deathsquads on account of them being stupid and redundant.
Temporarily removed regular deathsquads- search for "DEATH SQUADS" to find the locations to uncomment. Additional code is in unused/specops.dm and unused/specops_shuttle.dm.

Added a single tile fake window for unsim windows.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5831 316c924e-a436-60f5-8080-3fe189b3f50e
2013-03-09 04:35:37 +00:00
elly1989@rocketmail.com
8849cd16d3 Replaced get_apprentice_candidates() with get_candidates(BE_WIZARD)
/proc/testing("message") will now only print message to world.log if #define TESTING is uncommented. This will allow coders to make in-depth debug messages for confusing bits of code. Said debug messages would not be visible on th elive server, but coders can enable them by compiling with #define TESTING uncommented. This should make debugging ikky horrible code easier (assuming people bother to use testing())

Temporarily removed the weightless (aka gravity failure) event, due to people hating it. ;(

Replaced references to KILL with PROCESS_KILL (I didn't realise I had already defined something like that). Setup.dm and global.dm are rather cluttered. I will be cleaning them up and will remove a few unused defines like #define KILL in my next commit.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5822 316c924e-a436-60f5-8080-3fe189b3f50e
2013-03-08 17:16:29 +00:00
d_h2005@yahoo.com
7effacfcad Committing for Summoner: Fixes issue 1217 - xenos being unable to hiss.
Readds ghostblob verbs.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5787 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-26 03:23:48 +00:00
johnsonmt88@gmail.com
69b7e1e384 Updated config/rules.html to our new server rules. Fixes issue 1346.
Admin rejuvinate now clears the mob's reagent's list meaning that mobs who died due to toxins in their bloodstream wont just fall over dead after being revived again. Fixes issue 1338.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5785 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-26 01:09:48 +00:00
johnsonmt88@gmail.com
8d0e094460 A little bit of admin button cleanup from the Secrets Panel.
Renamed "Toggle station artificial gravity" to "Trigger a gravity-failure event" to better describe what the button does.

Removed the following buttons:
- Make all items look like guns
- Japanese Animes Mode (Resolves issue 1024.)
- Remove 'internal' clothing
- Remove ALL clothing
- Remove firesuits, grilles and pods

- Toggle Prison Shuttle Status(Use with S/R)
- Send Prison Shuttle
- Return Prison Shuttle
- Warp all Players to Prison

- Ghost mode

The first five are just plain dumb, made worse by the fact that they apparently haven't worked in ages.

The next four, prison station buttons, are being removed because we have no prison station!

Ghost mode was removed for being horribly coded, laggy and has the potential to break some of our other code.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5758 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-22 01:31:54 +00:00
giacomand@gmail.com
78abe5bfda - The user wasn't being put into the arguments of the proc, which allows admins to create their own disesases. I put the argument back. Fixes Issue 1312
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5753 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-21 13:46:03 +00:00
giacomand@gmail.com
4989c88a22 Committing carn's modifications to events and other things. Full details below.
http://forums.nanotrasen.com/viewtopic.php?f=16&t=12245#p189186

Ported all the random events to Pete/Gia's event system:
>Event system now supports weighting. default is 10. a weight of 5 is half as likely as default, 20 twice as likely....etc.
>Increased the frequency of events (dust happens over 60% of the time though)
>tidied up some ninja code: ninjas now get ~5 objectives. So they are hardmode.
>made the gravity toggle into a random event
>event system now supports round-start events
>event system now supports holiday events
>event system now supports events which can only happen after the round has lasted a certain number of ticks
>event system now supports max_occurrences for events. Setting any event's max_occurrences to 0 will stop it randomly occurring
>events now support being fed associative lists inside new(). This allows you to override their variables easily.
>wormhole events no longer cause loads of lag. They are extremely deadly. wormholes should be avoided

Other:
>replaced the procs for fetching candidates for ninjas and aliums with /proc/get_candidates(be_special_flag), it returns a list of active clients with that be_special preference enabled.
>minor fixes to minds
>your memories are displayed to you at Login()
>removed aliens_allowed
>removed ninjas_allowed
>pick_n_take() is now more efficient (uses Cut() rather than Remove()


Things I added:

 - Made the pandemic call ..() instead of doing the checks itself.
 - Made the staff of animation use more charge.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5720 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-17 11:44:37 +00:00