Commit Graph

45 Commits

Author SHA1 Message Date
ComicIronic
d490e1f970 Removed one line ifs and elses. (#11389) 2016-08-15 05:36:21 -05:00
PJB3005
84acff1107 Allows admins to edit transform matrices. (#11226)
* Allows admins to edit transform matrices.

* Manual and reset.

* Fix non-numbers.
2016-08-14 19:19:15 +01:00
Intigracy
35acd2de17 fucky flags pt 2 (#9606) 2016-04-23 21:59:05 -05:00
Intigracy
d539ca2edb fixes some stupid flag requirements (#9598) 2016-04-23 17:27:39 -05:00
PJB3005
f46f02dc9e Goon-style chat.
Credits to goon for most of the work.
2016-03-27 17:23:07 +02:00
PJB3005
1a2f9ab059 All the EOLs are now LF.
Fuck you too 0D :^)
2016-01-16 23:28:07 +01:00
clusterfack
f5db03db78 Merge pull request #6625 from PJB3005/better-chat-the-beginning
Adds a to_chat() macro, and refactors the entire chat to use it, to pave the way to a non shit chat.
2015-11-28 22:32:49 -06:00
ShiggyPiggy
be1269e182 Fixes https://github.com/d3athrow/vgstation13/issues/6754
My issues are fly, my commits are sick. Seriously though, THIS IS
IMPORTANT! Fixing people, and shit.
2015-11-26 20:10:34 +06:00
PJB3005
99bf59d80e Adds a to_chat() proc, to pave the way to a non shit chat. 2015-11-25 15:55:15 +01:00
PJB3005
3cca5692af Removes the panic writer messages. 2015-11-20 03:17:06 +01:00
unid15
a478a1d717 V0.1 2015-08-29 22:38:31 +02:00
D3athrow
915a715f44 no messages 2015-07-31 10:50:02 -05:00
D3athrow
feb35d507a no no no 2015-07-31 01:10:25 -05:00
PJB3005
3bc5d86263 LIGHTING IS BACK.
AND A SHITLOAD FASTER.

SANIC.
2015-07-21 14:16:27 +02:00
D3athrow
d59f6a07b0 comment out panicwriter and saytesting 2015-07-20 16:04:48 -05:00
D3athrow
7a3ff4efc3 THE LIGHTING IS DEAD, LONG LIVE DAL 2015-07-18 23:05:18 -05:00
D3athrow
41d7df01fd just fuck my shit up 2015-07-18 02:30:51 -05:00
PJB3005
ae7ab25539 BAY LIGHTING PEOPLE 2015-06-06 22:15:21 +02:00
D3athrow
e53357d9f0 Properly fucking edit lists in view variables
If you want new list, MAKE ONE
If you want to edit a list that has named indexes? DO IT
Fuck you old coders
2015-05-08 20:17:13 -05:00
D3athrow
01d2471fc9 Merge branch 'color_replace_2_electric_boogaloo' into Bleeding-Edge
Conflicts:
	code/ATMOSPHERICS/pipe/pipe_dispenser.dm
	code/game/machinery/computer/HolodeckControl.dm
	code/game/machinery/embedded_controller/embedded_controller_base.dm
	code/modules/mining/money_bag.dm
	code/modules/mob/living/carbon/carbon.dm
	code/modules/mob/living/silicon/mommi/mommi.dm
	code/modules/mob/living/simple_animal/friendly/farm_animals.dm
	code/modules/research/destructive_analyzer.dm
	code/modules/research/rdconsole.dm
	code/modules/research/xenoarchaeology/machinery/analysis_base.dm
	code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm
	code/modules/research/xenoarchaeology/tools/ano_device_battery.dm
2015-04-12 16:40:59 -05:00
ririchiyo
6a59e73d41 fixing the stylesheet not being able to be reset and changing single-line
edit var to multi-line.
2015-01-10 19:14:50 -05: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
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
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
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
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
johnsonmt88@gmail.com
22c872a2a3 Fixed damagetypes not working in admin investigate (The (?) button when someone adminhelps)
Committing for Zekkeit/39kk9t
- Attack logs now display the reagents the pill/snack had when you forced it down someone's throat.
- List entries can now be edited and deleted! (don't try editing any of the contents list entries, it spits a runtime and I don't know how to make it uneditable)
- Fix for issue 598. Now pAI carriers can re-enable the pAI radio settings.
- Adminmoreinfo now displays the status of the mob.
- Added a confirmation message to unjobbanning from the Display Job bans panel.
- When being exposed to a virus, resistances are now taken into account. In addition, list entries that contained a virus that has been cured are now deleted.

Proposed commit: http://nanotrasen.com/phpBB3/viewtopic.php?f=16&t=9262

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4008 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-07 19:32:31 +00:00
elly1989@rocketmail.com
0db2c72ebe removed html from the VarEdit logging stuff ebcause it's reaaaaaaally annoying :P
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3965 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-02 00:03:28 +00:00
elly1989@rocketmail.com
f1e66b05a9 Using ViewVars logs to the runtime log now. This is so it's easier for coders to tell which runtimes were caused by admins rather than normal gameplay.
Decided to add this after one of our admins put a human inside a toilet cistern causing untold mayhem in the runtime log :P

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3938 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-28 20:46:36 +00:00
elly1989@rocketmail.com
8961bd96d0 WARNING: This has been thoroughly tested and I'm happy that it's -stable- (it shouldn't runtime). However, it might have a few niggly bugs caused by specific items using no-standard or weird code. Most bugs will be stuff like it not updating overlays and such and can be fixed simply by dropping the item. That being said, if you're not comfortable with this, I'd suggest waiting to update past this revision.
update_clothing() has been broken up into it's key parts. A full explanation can be found in code/modules/mob/living/carbon/human/update_icons.dm
the tl;dr of it is that overlay updates are no longer called by the gameticker. Instead they are called by procs such as u_equip db_cick etc. This means faster updates (although admittedly, more of them can be called per tick). This however is offset by the fact that specific overlays can be updated now, vastly improving its efficiency. This will especially help when there are large numbers of dead mobs.

Fixed the throw code for TKgrab so it can be toggled.

Cloaking for aliens/humans/ninjas was changed. It's very crude at the moment and for that I apologise. But it works and is very efficient.It also stops cloaked individuals becomming invincible due to people being unable to hit them (even when they know exactly where  they are)

Fixed a bunch of bugs with damage-overlays. They  were updating FAR FAR to frequently. They were also horribly inefficient. They should now be virtually seamless when updating and only use cached icons, so they aren't affected by lag as badly. This may help with explosions lag a little.

There's still a tonne of stuff I need to refine with this. I'll be refining it down into some helper procs to reduce on code duplication and such

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3811 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-13 19:03:25 +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
baloh.matevz
1ce3d7440f - Admins can no longer MASS - varedit objects of type /obj/admin and /datum/feedback_variable and /obj/machinery/blackbox_recorder.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3143 316c924e-a436-60f5-8080-3fe189b3f50e
2012-02-18 15:55:52 +00:00
baloh.matevz@gmail.com
859ab89a96 - It is now forbidden by code for admins to edit an object of type /obj/admins, which gives them their admin power.
- It is also forbidden by code for admins to edit the variables of feedback datum types and the blackbox for consistent data gathering.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3135 316c924e-a436-60f5-8080-3fe189b3f50e
2012-02-17 02:30:54 +00:00
baloh.matevz
c0c7f7482c - All edit var and mass edit var inputs now have cancel buttons
- And when I say all I mean all except for when you want to add to lists, those don't have cancel buttons because those procs are confusing.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2246 316c924e-a436-60f5-8080-3fe189b3f50e
2011-09-21 22:17:55 +00:00
baloh.matevz
7e73121ecd "get key" verb for admins
Also fixed runtime errors related to the new 'mark object' thing.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2227 316c924e-a436-60f5-8080-3fe189b3f50e
2011-09-19 06:12:00 +00:00
baloh.matevz
2b1b121141 - You can now recolor jumpsuits, shoes, gloves and bedsheets using the washing machine.
Screenshot: http://www.kamletos.si/laundry.png
- Some religions (currently Islam, Scientology and Atheism) set your chapel's symbols to the symbols of that religion.
Screenshot: http://www.kamletos.si/view%20variables%206.JPG (The tiles)
- Detective now has his stuff in an old-styled cabinet. (Sprite by Hempuli)
- Got rid of some.. uhh... Runtime errors... and... uhh... A certain dungeon master... I... I WAS ORDERED TO DO IT, YELL AT URIST AND CREED!
- I doubt you'll get this far in reading this changelog due to the previous point, but just in case you do... Admin tools updated:
- View variables now has a "Mark Object" option. After you've marked an object or datum, you will be able to assign the value to a variable. An example would be if you try to put an item into a closet. You'd open view variables on the item you want to move, select "mark object", open 'view variables' of the closet, click E or C next to contents and select "marked datum (type)". After this, you select 'No' for the reference question.
Screenshot: http://www.kamletos.si/references.jpg
- Also in View variables, you can now access a player's 'Player panel' if you view a mob's variables.
- Updated changelog with these changes

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2225 316c924e-a436-60f5-8080-3fe189b3f50e
2011-09-18 22:05:00 +00:00
baloh.matevz
0a974b3c0e Edit variables and view variables combined.
Screenshot:
http://www.kamletos.si/view%20vars3.JPG

What C and E mean is written on the window itself.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2178 316c924e-a436-60f5-8080-3fe189b3f50e
2011-09-11 19:18:04 +00:00
uporotiy
ccf2162e73 Fix for my fix.
I derped. Note to self: next time, don't write even the littlest bits of code at 1 in the night after a long period of not coding at all.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2042 316c924e-a436-60f5-8080-3fe189b3f50e
2011-08-22 19:28:43 +00:00
uporotiy
ebf4e0ad25 Fix for an ages-old exploit.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2031 316c924e-a436-60f5-8080-3fe189b3f50e
2011-08-20 19:38:33 +00:00
vageyenaman@gmail.com
eee36e4f7e Okay, this is a pretty big revision!
Viruses:
     The virus system was COMPLETELY reworked.

     Good news, Virologists! This means people can now be infected by multiple viruses at once. Some of the virus-spreading protocols were tweaked to support this change, and as a result, they are now considerably more infectious. I also changed some background reagent variables to better support DNA, blood type, and virus combination.


Turrets:
     Fixed some lingering bugs that would bog down the global event processor.


Changelings:
     People turned into "husks" after being drained of their DNA by changelings can no longer be cloned.


Miscellaneous:
     I tweaked a LOT of mob code. This shouldn't have any noticeable impact on anything, but was required in order support the virus overhaul.



git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1753 316c924e-a436-60f5-8080-3fe189b3f50e
2011-07-02 04:00:25 +00:00
uporotiy
26e33a0a3c A couple of small changes before I tackle the buffing-up project.
Luminosity
Admins editing the luminosity var now properly uses sd_SetLuminosity().
 Britcup
A cup spawns for Kingston in hydroponics.
 Taser guns
New sprites, courtesy of Arcalane. Now with an actual 4-shot gauge!
 Interface
16x16 mode re-enabled for shits and giggles.
 Mining
Reverted the uranium ore sprite.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1507 316c924e-a436-60f5-8080-3fe189b3f50e
2011-04-29 14:27:49 +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
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