Commit Graph

28 Commits

Author SHA1 Message Date
Arokha Sieyes
47ccc655db Deprecate the stream operator 2020-02-12 19:38:43 -05:00
Neerti
be73b8c36a for(var/bad_code in world)
Removes a very large amount of world loops.
Adds a macro to painlessly generate a global list, and the needed code to modify the list when an object is made or deleted automatically.
Cleans up some commented out code.
2018-04-29 17:55:04 -04:00
Yoshax
5d9596a72d Makes it possible to have more than 16 preferences 2016-03-21 18:56:27 +00:00
volas
2ad8d26aeb Play server sound verb for admins 2015-03-09 12:19:47 +03:00
mwerezak
a8816823a5 Replaces get_turf_loc() with get_turf()
The former does exactly the same thing as get_turf(), except it runtimes
if one of the atoms has a null loc.
2014-06-10 13:43:11 -04:00
Mloc-Argent
a084f74c7d Expansion of every "icon = ''" path.
Supposed to help compilation times.  Who knows.

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2013-09-01 21:53:36 +01:00
elly1989@rocketmail.com
2e68af07c1 Merged listen_ooc, seeprayers, STFU_ghosts, STFU_radio, deadchat, sound_adminhelp, ghostears, ghostsight, canplaysound, midis, no_ambi and lobby_music into client.prefs.toggles as bitflags.
Toggling these preferences in-game will update your savefile. Meaning that your preferences will persist between rounds.

Added some savefile_version updating stuff. It's pretty crude. If you're changing any of the savefile stuff just ask and I can change it/help.

Removed some unused client vars

Ghosts no longer hear ambience. Simplified ambience code.

Simplified lobby music code. It will no longer cause a massive queue of events (which would eventually balloon in memory use)

Moved ooccolor and sound_adminhelp back to prefs. It's easier and allowed me to remove the setupclient() stuff completely.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5143 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-21 05:58:04 +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
petethegoat@gmail.com
7023909912 Changed toggle midis to a client verb.
Fixed it even harder this time. Worked fine in testing, please report any issues to me straight away.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4750 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-24 12:24:33 +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
65a84484cf Removed a debug message.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3909 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-24 09:01:17 +00:00
baloh.matevz@gmail.com
d1d0fd5e4f - hand tools now fit on your belt slot
- added feedback logging for newscasters
- added feedback logging for admin verbs
- added shuttle timers to escape pods
- added feedback logging to chemical reactions
- clipboard can now fit on your belt

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3465 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-16 04:00:36 +00:00
elly1989@rocketmail.com
04f0a79866 Rewrote blackholes (gravitational anomalies) and wormholes to try and optimise them a little. If you have any concerns about how I've done so just give me a shout and I'll either rework them or revert my changes back. Wormholes especially seem a bit faster on my laptop. Smoke has temporarily been removed from the blackhole event until I get time to investigate why the hell effect_systems are using so much memory ( spark effects were using 40% of my processor a second ago D: ). To compensate this I made them a new sprite.
Commented out the authentication system. It was the remnants of the old goon authentication stuff (or maybe even older) and wasn't actually used in our code at all (at least not in any useful way, it was merely called and short-circuited to 1, so all those if(authenticated) were totally pointless. This has removed 3 unused variables from every client, a bunch of unused variables from the config and two empty text files!

Committed (as a config option) a feature requested by Apoc station. It causes a 'reply to' window to popup when an admin PMs a non-admin player. It's meant to grab their attention so they can't say "I didn't see your PM". It defaults to off. To turn it on just uncomment the #POPUP_ADMIN_PM line in config/config.txt

Fixed a derp in isday where it was fetching the month instead of the day.

Removed medal references from Gib()

Removed the medal_hub global variables because they aren't used in any way shape or form.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3444 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-12 21:54:51 +00:00
mport2004@gmail.com
b471da4ed4 The modified Changeling mode should end properly now.
Tracking implants can now be used to message the holder.
Mini Readme update.
Explosive implants will explode when the host dies.  Might try and wrap these into nuke or as a new traitor item.
Added a play local sound proc.
Fixed most of the runtimes in the latest log.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2074 316c924e-a436-60f5-8080-3fe189b3f50e
2011-08-30 07:29:59 +00:00
musketstgstation@gmail.com
22ec2a84ad BY CONSENSUS OF THE ADMIN TEAM:
Music buttons and song files removed.
Consequently, bananaphone kitchen recipe removed.
This saves over 10MB from the resource download, making it go faster for everyone and reducing lag.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1881 316c924e-a436-60f5-8080-3fe189b3f50e
2011-07-18 17:46:20 +00:00
noisomehollow@lycos.com
a14cfd6464 Added expanded piano code by HornyGranny. Instead of like 8 notes, it plays all the notes (?). Improved by me.
Admin midis should probably not screw up when played by more than one admin at the same time.
Added ninja RD hacking.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1687 316c924e-a436-60f5-8080-3fe189b3f50e
2011-06-12 23:51:51 +00:00
uporotiy
f05a9843af Hydroponics
Fixed bug with mutated plants not being harvestable.
Added glowshrooms. They (maybe) glown in the dark. To get their seeds, you need to hack the seed machine. They're pretty straightforward. To plant a glowshroom on the floor, you need to click it while it's in your hand.
 Badmin
Added a "Honk" button.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1515 316c924e-a436-60f5-8080-3fe189b3f50e
2011-05-01 20:19:18 +00:00
morikou@gmail.com
b06cc3ee34 Two new microwave recipes:
- Tele Bacon: Requires one piece of meat and a remote signaler. It is delicious and may allow 

people to teleport to your location.
- Banana Phone: Requires a banana, a radio, and 5 units of psilocybin. Basically an edible radio. Eat at your own risk (MAY CAUSE HOMICIDAL URGES, NOT LIKE THAT IS ANYTHING UNUSUAL).

On a totally unrelated note:
- Banana Phone (full version of the song, not the short loop version) can now be played via the "Banana Phone" fun admin command. It only runs once.
- Fixed a potential runtime error in the juicer code.

DRINKS!
- Potato juice added, produced from putting a potato in a juicer.
- 10 Potato Juice + 2 Enzyme = Vodka
- 5 coffee + 5 sugar + 2 enzyme = Kahlua

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1484 316c924e-a436-60f5-8080-3fe189b3f50e
2011-04-21 17:52:16 +00:00
baloh.matevz
4485874260 Renamed the admin ranks which were set as placeholders:
- Admin who sinned renamed to Badmin
- Admin observer renamed to Moderator (the rank won't be used anyway)
- Punnished Admin renamed to Admin observer (as i sorta switched these two around by accident)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1322 316c924e-a436-60f5-8080-3fe189b3f50e
2011-03-31 05:08:55 +00:00
baloh.matevz
c34592100b SCAREDOFSHADOWS READ THIS ONE!!!
HOSTS OF OTHER SERVERS, READ THIS ONE TOO!!!!

Administrator ranks renamed:
- Host => Game Master
- Coder => Game Agmin
- Shit Guy => Admin who Sinned
- PA => Trial Agmin
- Administrator => Agmin Candidate
- SA => Temporary Agmin
- Moderator => Agmin Observer
- Filthy Xeno => Punnished Agmin

Promotion and Demotion ingame can now only be done by Game Admins and Game Masters.

THIS COMMIT INCLUDES THE NEW admins.txt FILE FOR TGSTATION. IT USES THE NEW RANK NAMES. ALL OTHER SERVER HOSTS ARE TO UPDATE THEIR ADMIN FILES TO THE NEW RANK NAMES WHEN THEY UPDATE PAST THIS REVISION. Don't yell at me, as if I didn't tell you in caps...

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1318 316c924e-a436-60f5-8080-3fe189b3f50e
2011-03-31 03:21:58 +00:00
polyxenitopalidou
d44791fadd •Comitting space_asshole song for when traitors are winning.
Im sorry for the filesize. The lowQ version was plain unhearable.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@539 316c924e-a436-60f5-8080-3fe189b3f50e
2010-12-05 18:32:23 +00:00
uporotiy
7c008e61e1 -Fixed midis not playing at all.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@377 316c924e-a436-60f5-8080-3fe189b3f50e
2010-11-06 18:16:57 +00:00
uporotiy
d840398dc9 -Fixed TK through cameras.
-Fixed rune 4 not counting the cultist in the middle. 
-Expanded the explanation of a cultist objective.
-Moved the "midis" setting to client, so it carries over when you ghost/robot/alien/etc.
-Little extra something for Host level admins.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@374 316c924e-a436-60f5-8080-3fe189b3f50e
2010-11-06 12:35:24 +00:00
uporotiy
50b8c9dd35 Added a new disease.
Removed GBS.
Fixed mime invisiwall.
Removed the red stripe on HoS's suit AGAIN.
Added metroid jam.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@314 316c924e-a436-60f5-8080-3fe189b3f50e
2010-10-18 18:29:59 +00:00
uporotiy
5490a3e40e Changed a lot of things, too lazy to recall them atm. Attempted a shotgun-on-back fix, but didn't work.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@305 316c924e-a436-60f5-8080-3fe189b3f50e
2010-10-17 14:27:57 +00:00
uporotiy
d981500978 Half-finished mime job (yes, I like releasing raw things).
Cuban Pete Time button for admins.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@293 316c924e-a436-60f5-8080-3fe189b3f50e
2010-10-16 20:16:52 +00:00
Skiedrake
cbec1b6f3d Removed files that were 0 bytes in size.
Made sure every verb now has a name which starts with a capital letter and makes sense, because OCD.
Changed the categories of verbs a lot, now they are in much more sensible tabs.
Added a couple of admin verbs:
 - Right click monkeyize
 - Call Shuttle
 - Recall Shuttle
Removed some goon verbs.
Gave "Coder" admin group a little more admin verbs:
 - Monkeyize, Cultistize, Abominationize, Call Shuttle, Recall Shuttle, Make Sound
Added mobs a "say_message" variable. Now admin-created mobs can "scree", "squeak" etc. instead of just "chimper" or "hiss".

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@138 316c924e-a436-60f5-8080-3fe189b3f50e
2010-09-22 00:41:07 +00:00
only.lurking
662c08272a git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2 316c924e-a436-60f5-8080-3fe189b3f50e 2010-08-23 14:29:20 +00:00