Commit Graph

279 Commits

Author SHA1 Message Date
elly1989@rocketmail.com
4c87332cc1 Resolves Issue 734
> A clown's medical, crew, and security records are updated with his newname. (read below for details)

> reject_bad_name() now checks for dumb names like "space","floor","wall","r-wall","monkey","unknown","inactive ai" (if you know any other important ones let me know)

> clname() [clown-name] and ainame() [AI name], procs which allow those players to rename themselves, were merged into /mob/proc/rename_self(var/role, var/allow_numbers=0)
This proc gives the mob 3 chances to name itself. It checks names using reject_bad_name() (the same thing that checks the round-start names). If it fails 3 times it will not change the name. If it succeeds it will call the proc in the next bullet point.

> /mob/proc/fully_replace_character_name(var/oldname,var/newname) will replace most references to a mob's oldname and replace it with newname. It updates name, real_name, mind.name, updates their id, updates their pda and updates all their data_core records (manifest records like medical, security, general, locked)

> data_core procs merged because they were massive and all identical.

> accidentally fixed an AI sound which accidentally played upon login. It conflicted with the "Welcome to the station crew" announcement. So I commented that out to try the 'new' fixed one. If people hate it I'll comment it back to how it was.

> naming a mob with the big name  at the top of viewvars will use fully_replace_character_name()

> Removed an uneccessary regenerate_icons() proc from every player which spawns. Should speed up spawns a smidge



git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4396 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-14 10:44:41 +00:00
johnsonmt88@gmail.com
e9671308bf Reorganized clothing as a whole.
Everything related to clothing should now be defined in modules/clothing. I'm almost certain there's clothing code hidden elsewhere but this should be the vast majority of it finished.

Everything is set up related to the object types themselves (meaning paths.)
So all hats will be in modules/clothing/head, all gloves will be in modules/clothing/gloves, ect...

I've removed 'modules/clothing/random.dm' and 'objects/items/clothing.dm' which both seemed to just be a place where people would put stuff they were too lazy to find a proper home for.

I've also moved files that had no, or very few blocks of code into more catagorized areas.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4388 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-13 02:17:14 +00:00
elly1989@rocketmail.com
a79f049ebd Moves mob/var/datum/changeling/changeling to datum/mind/var/datum/changeling (changeling datums are now held by minds rather than mobs)
As such, changelings can now be reported at round-end, even after gibbing. Resolves Issue 251

Changeling power proc_holders are now datums rather than objects.
Condensed all those changeling stings down a bit. This will make fixing issue 351 easier to fix

Replaced changeling fakedeath and a number of checks for the zombiepowder reagent with a bitflag: mob/var/status_flags & FAKEDEATH
setting the FAKEDEATH flag will make the mob appear dead in exactly the same way changeling parasting and parapens worked. I've updated changelings and zombiepowder to work with this flag.

Bug fixes for the staff of change. There was a type mismatch and I typo'd "alien" as "xeno" so xenos were not being randomly picked.

TODO:
changeling purchased verbs could probably be moved to mind/special_verbs. Likewise, other modular antag proc-holders can be merged with the changeling system using the same type of datum. (namely wizards)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4377 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-12 05:43:39 +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
df75514318 Preparations for minds - Part3.
Replaced mob/var/original_name with datum/mind/var/name.

Halved the speak-chances of every simple-animal because that constant squeaking was insufferable.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4346 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-09 12:40:17 +00:00
elly1989@rocketmail.com
81bff7c5f5 Important!
Minds part2 - Carn loses her mind.

The way datum/mind stuff works has been changed a lot. I really can't explain everything. If you have any questions it'd just be easier if you leave a comment or ask me in coderbus.
Generally, minds now represent IC characters rather than following a client around constantly. Minds can change owners, mobs, (names WIP).

Technical babble:
The var/current and var/original variables of the mind datum must always be of type mob/living (or null). Please do not mind.transfer_to(ghost_mob). If you want to ghost somebody use ghostize()! It will do all the technical stuff for you.

mob/dead/observer/var/corpse was removed. mob/dead/observer/var/mind is now used as a reference to the last mind the player had (so respawning code has something to reference), but also because mind.current is a far more useful way of tracking a corpse. If somebody triggers a mind.transfer_to() call on your corpse, your mind will be tranfered to another mob/living or something...that will then be considered your corpse. This could allow for more interesting mind_transfers. For instance, the "raise corpse" rune ghostizes any player in the corpse to be raised and selectes a random dead player to take possesion of their character! The person possesing them will have all of their memories, objectives, etc. The poor guy who was originally the owner cannot re-enter body if there is another player in his body...but if that player is ghosted he can once again return. Exorcisms anybody?

Changes to cloning and hydroponics. I will likely have to rework these later as they're hacky as hell right now.

A lot of stuff is now handled by Login/Logout rather than in hundreds of different places. One such example, mind datums get their variables updated at Login and Logout.

Fixed a few minor bugs. I'll update the issues manually in a bit because I literally cannot think atm.

TL;DR guide:
-If you want to make somebody a ghost use ghostize(). Or you will need to find a doctor to stitch your bits back on. :)
-You don't have to worry about making minds. Simply doing key="carnwennan" or whatever will either: A) make a new mind and initialise it if there isn't one or B) take possession of the mind currently attached to the mob.
-It's safe to transfer a mind even if a key isn't in-body (e.g. they are ghosted/admin-observing etc!) Minds have an active variable which tracks whether they are currently synced with a key. This is to avoid dragging ghosts back into their bodies when say, a wizard mind_transfers them.
-Transferring a mind whilst var/active=1 will cause the following: mob.key = mind.key. So no need to do that separately (in fact you'll lag things if you do, so don't)
-If you do want to initialize a mind manually, say if you don't have a client to login to the mob yet, simply do new_mob.mind_initialize(). Simple! When someody is logged into that mob they will take ownership of the mind and it will sync up.

NOTE: a lot is probably broken since this is a pretty massive change. Please let me know asap (with actual info! Shouting at me, "IT BORKED HALP", doesn't help)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4342 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-08 20:51:55 +00:00
johnsonmt88@gmail.com
0225ed33b7 Cleanup of proc/helpers.dm
Split a bunch of procs in helpers.dm into new files:
-helper_list
-helper_text
-helper_type2type

These files are sorted into groups internally. Hopefully people will make it easier for people to find useful procs.

I've added comments to a good chunk of these procs as well explaining what they do.

I've removed a few unused or unnecessary procs and fixed up a couple that were not working as intended.

I've also moved a mob proc 'get_equipped_items()' into mob/inventory.

All of the non-helper.dm files (besides mob/inventory.dm) are the result of fixing duplicate procs. It seems that there used to be text searching procs where one was case sensitive and one was not, and at some point someone removed the case-sensitivity of the case sensitive procs. I've re-added the case-sensitivity and as a result, I've had to go through extra files and ensure that they were calling the proper proc.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4341 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-08 19:32:08 +00:00
elly1989@rocketmail.com
fb600f9bce Ok, part 1 of this huge mind datum fix. I need to run over the next part again because I've made a lot inconsistencies in it. This is sort of all the misc stuff that got tidied up whilst I was trying to get my head around how everything related to eachother.
This part focuses on:
-structuring the way silicon mobs initialise upon login (there was some hideous copypasta in Login() and New() which used spawn() to change the order of the calls so it was all jumbled up. I think I've got it sorted now.
-Borgs var/real_name was not initialising as "Cyborg". Meaning the name checks were kind of borked.
-Ghosts are now deleted at logout if they no longer have a key. This will stop unneeded ghosts being left lying around. It will not delete ghosts with keys assigned (so people can't respawn or anything). Removed all the del(ghost_ref) stuff I could find. Generally movign the key from a ghost should be the last thing you do as the ghost will be deleted by Logout. However I've put it in a spawn() to hopefully avoid coders accisentally using it in a way which causes runtimes.
-Fixed clone-plants spawning dud potato-people left, right and centre. They'll now dump seeds if it fails for whatever reason.
-Cultist and Rev status are removed at mob/living/silicon/Login() rather than having to be called on a special-case basis everywhere. This may not be necessary when this stuff is finished.
-Removed a bunch of :
-Commented mob/living/Login() with the rest of the antag-indicator code from cloning.dm and hydroponics.dm for any coders whom feel brave/suicidal to fix the related issues

Next on the agenda, replacing mob/var/original_name with datum/mind/var/name to fix the ticker runtimes
Then, fixing mind/proc/transfer_to(mob) once and for all. (There are issues with duplicate minds, role updates, inconsistent initialisation etc etc *yawn*

There's probably a few obscure bugs in there somewhere. Might want to hold off on the updates for a bit. Coderbus will likely spot them all by the end of the week.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4322 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-05 15:29:15 +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
baloh.matevz
f908a610b7 - If someone enters the name of an AI or the word 'AI' in an adminhelp, a (CL) link is displayed along with the others, which is a shortcut to the 'check laws' secret panel button.
- The 'check laws' secret panel button now outputs AI laws, cyborg laws and also pai laws. It used to just be AI laws.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4190 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-27 07:13:08 +00:00
johnsonmt88@gmail.com
58910a2318 Secure closet 'Toggle Lock' verb now takes into account whether the locker is broken. Fixes Issue 683.
The admin 'Spawn Xeno' verb will not longer state that an admin spawned a xeno when they cancel out of the operation. Fixes Issue 688.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4185 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-26 15:51: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
sieve32@gmail.com
459c558898 -Make holodeck eswords a child of obj/item/weapon/holo instead of regular eswords, clumsy check removed as a result, and you can no longer do things like cutting through walls or doors or what have you. (Fixes Issue 665)
-Redid icons to be more optimized at compile by setting icon = 'icons/folder/icon.dmi' instead of just icon = 'icon.dmi', meaning that Dream Maker doesn't have to search through every single file for every single .dmi. This shouldn't lead to any errors because of how I went about it, plus the fact that Dream Maker would have freaked out if I screwed something up. Also moved around 2 icons that weren't sorted well.

r4146 compile time: 1 minute, 40 seconds
r4147 compile time: 45 seconds

[VGTG]

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4147 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-23 00:48:51 +00:00
baloh.matevz
f572819d51 - Removed an unneeded area
- Hopefully fixed the bug which allowed players to get a million toys from one arcade game.
- Removed poly's master controller failsafe due to it doubling up the master controller for no reason whatsoever.
- You can now redeem a full collection of mech toys at the quartermaster's for an actual mech!
- Added this stuff to the changelog.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4138 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-22 05:09:22 +00:00
elly1989@rocketmail.com
a4681d5d3d Merged all those vent-crawl procs D:
As such the same rules apply to all mobs now. They all make noise as they exit the vent. They can all be blocked by welded vents. They all cannot carry items through (except implants and facehuggers). They all have a delay in arriving at their destination.

This removes any meta "Vent noise! Must be aliums cos monkeys don't have that code!". Fixes a bug that stopped ventcrawl working. And, best of all, you can vent-crawl to any connected vent..not just one per area. :3

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4137 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-22 02:57:26 +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
giacomand@gmail.com
7575c9a9cf -Added a new global list. Cameras will hold every camera created and is kept up to date by the Camera's New() and Del(). Much faster than having everything loop the world. AI camera movement seems faster too.
-Fixed Issue 415

-Tweaked creating new cameras. When you create a camera from a camera assembly, it will now auto detect the direction it should be in. I also added a confirmation message which allows you to re choose the direction with up to 5 chances; to avoid infinite loops.

-Made the New Player Options window a little bit slimmer.

-Forgot to add a changelog for my last commit.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4096 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-17 16:23:47 +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
johnsonmt88@gmail.com
34ddd1a947 pAI emoticons by Willox and Messycake!
- This adds a list of emoticon choices for pAIs on the pAI OS
- These choices add small overlays on top of the screen
- Credit to Willox for the code and Messycake for the sprites.

Nodrak:
pAI's with null names now get a pick(ninja_names) name instead.
- If someone wants to make it pick from a different list feel free, but having null name causes problems down the line.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4075 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-15 04:35:56 +00:00
baloh.matevz
ef493f3b51 - Made the number of deciseconds someone has to be inactive to be considered AFK a define (AFK_THRESHOLD) which defaults to 3000ds = 300s = 5m, which is the same as it was before. This is still only used when an admin uses 'adminwho' to tell if admins are AFK.
- send2irc will now only send adminhelps to irc if there are no admins online or if all the admins online are AFK. If will add a "- No admins online" to the end of the message if there are no admins online or a " - All admins AFK (X)" with X being the number of admins currently online.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4038 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-11 17:39:16 +00:00
baloh.matevz
4c4153f248 - Added a 2 minute cool-down for adminhelps. You may now only adminhelp once per 2 minutes. So write the information you want to write in one adminhelp and then reply via admin PM-s! This obviously does not apply to PM-s.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4030 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-11 00:47:44 +00:00
johnsonmt88@gmail.com
8231234a64 Pile of bugfixes
Nodrak:
- Bags of Holding can no longer be brought to the clown planet
- Made a quick new sprite for broken telescreens
- Removed the clusterbang from the HoS safe. It is currently bugged and not in presentable condition, however, someone is working on it. 
- Added a machine check to shift+click. Partial fixes issue 534 (see Zek's stuff for more.) I'm not really sure of a better way to fix this that wouldn't involve a whole pile of coding...
- Cigarettes now evenly distribute chemicals injected into a pack of cigarettes. Partial fix for issue 548 (see Zek's stuff for more.)

Commit for Zekkeit/39kk9t
- The gibber now provides attack logs of who the mob gibbed, or who the mob was gibbed by. How can you tell who a mob was gibbed by when the mob gets destroyed? Well read the next enhancement!
- Attack logs now transfer to the ghost of the mob who dies
- You can no longer survive cold by cooling yourself down before jumping into space. Fixes issue 206.
- Ghost() is now a client proc, not a mob proc. Fixes issue 442
- Fix for issue 493.
- Added a range check to shift+click. Fixes issue 534.
- Cigarette packs are now limited to (15*number of cigarettes) units of reagents. Fixes Issue 548.
- Added organ inaccuracy to guns. This means, for example, that you wont hit the mob's chest with 100% accuracy. You may end up hitting the mob's arm, or head instead. Accuracy is directly related to distance.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4022 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-10 06:10:22 +00:00
quartz235@gmail.com
2e4504ba00 Quickfix to make adminhelp relay bot not throw out mile long href links due to the parser
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4016 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-08 16:01:18 +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
sieve32@gmail.com
9e35d8cda8 Changes to Syndicate Radios, which fixes Issue 595. Now if a an radio doesn't have the Syndicate encryption on it, it won't receive any messages over the Syndicate channel(If I can learn TCOMMs a bit better I'll try to make it a per-message basis)
Changed 'traitor' headsets to 'syndicate' headsets to have it make a bit more sense. Syndicate encryption is tied to the keys, so anything with a Syndicate Key can hear the Syndicate Channel. 
Also, added 2 intercoms to the Nuke OP shuttle that are on the Syndicate frequency and have the needed encryption.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3991 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-05 21:36:15 +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
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
elly1989@rocketmail.com
48088b79d9 ugh...this was horrible. I'm really sorry if I fucked anything up, I was literally going braindead towards the end.
Replaced every l_hand = and r_hand = and all that if(hand) crap to use standardised procs. This means we can use procs like Dropped() reliably as they will always be called when things are dropped.

Thorough documentation to come. But generally, if you want a mob's icons to update after deleting something in the inventory...use drop_from_inventory(the_thing_you_wanna_drop) just before deleting it. If you wanna put something in a mob's hands use put_in_hands() (or one of the variants). It'll try putting it in active hand first, then inactive, then the floor. They handle layers, overlays, screenlocs calling various procs such as dropped() etc for you. Easy

mob.equipped() is now mob.get_active_hand() because there was another totally unrelated proc named equipped() and stuff was confusing.

Weakening was made instantaneous.

Minor optimisations for human/handle_regular_status_updates(). I'll port these changes over to the other mobs next. Basically it should stop it constantly incrementing every status effect even after death.

umm... bunch of overlays related fixes... I think that's everything. :/

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3900 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-23 21:24:45 +00:00
mport2004@gmail.com
c86c8e1505 Finished moving the clothes in defines over to modules.
Several head objects path changed so they are not helmets, head means can fit on your head, helmet was securities helmets, space helmets currently still helmet.
Cult restricted job list now has the sec force + cap because you can’t convert them as is.
AI removed from protected traitor jobs as malf is currently effectively out of commission.
A Protected list was added to changling.
Removed the furry mob files that were not checked.
Moved two unchecked files to unused


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3896 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-23 19:25:01 +00:00
baloh.matevz
90041eaba4 - Fixed some odd behavior with the spam filter for admin pm-s.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3895 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-23 16:34:23 +00:00
baloh.matevz@gmail.com
9a94312431 - Added spam-prevention code. If someone sends the same message 5 times in a row, they will get the message "You are nearing the spam filter limit for identical messages." If they continue to send the same message (if they send it 10 times in total) they will get an auto-mute for the channel they are sending it through. The number of identical messages which triggers a warning and automute can be configured in setup.dm
- Added channel-specific admin muting. Admins can now mute someone from IC (say, me and whisper), OOC, PRAY, ADMINHELP (adminhelp, admin pm and asay) and DEADCHAT (say while dead and dsay)
- Added a (?) to adminhelps and prayers which displays the same quick overview that all the other (?)-s show, but for the person adminhelping or praying.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3888 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-22 05:54:43 +00:00
sieve32@gmail.com
2d7c62e605 -Change to mech drills, the regular ones mine sand just as they mine the asteroid walls (Meaning they mine a 1x3 area and stick it in an orebox)
-Asteroid floors cannot be burned into metal tiles anymore
-Added some better comments in the turf.dm as well
-Fixed Issue 329, so Triumvirate works again

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3886 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-21 22:54:18 +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
da06918446 - Removed the "Traitor (XY) has died." admin message. This was important in days of yore when there was only one traitor, so the traitor dying meant no more antagonists, but it is now just metagame information which unwillingly reveals the game mode to admins without actually providing any useful information.
- Fixed a problem where the adminhelp parser would give a "adminname attempted to override the admin panel!" when clicking the links in (?)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3785 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-10 15:41:15 +00:00
baloh.matevz
f1abbe0d27 - Added a parser to adminhelps. When someone sends an adminhelp it looks through the words for mob names, keys and ckeys. These are then displayed in bold and black with a (?) next to them. Clicking the questionmark will display additional information about the mob.
Screenshot:
http://www.kamletos.si/Adminhelp%20parser%206.PNG

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3778 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-09 22:15:59 +00:00
baloh.matevz
8400d7f9a2 - Added a cookie food type, which cannot be made ingame
- slightly altered the pray format to include a (SC) link, which stands for 'spawn cookie'. This attempts to spawn a cookie in the hands of the person who prayed. It's intent is to be a consolation prize when the prayer cannot be answered, due to it ruining the round. Only humans will get a cookie.

Screenshot:
http://www.kamletos.si/cookie%20spawner.PNG

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3766 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-08 16:06:20 +00:00
elly1989@rocketmail.com
40c2e25bde Fixed r500 (faces displaying above glasses and such) Cause: face layer was set to MOB_LAYER.
Fixed r501 (underwear not showing) Cause: bad indentation

A possible fix for some very odd bugs caused by restarting the MC related to the usr variable being passed into the MC. *shrug* Very hard to test.

Removed the need for the world to be in Debug2 mode to edit ticklag as the verb is hidden behind another proc now anyway, and it's become more of an annoyance than a thing to stop people accidentally clicking it.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3695 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-29 11:36:39 +00:00
johnsonmt88@gmail.com
fd529891ca Sanitized a large number of input()s.
- Hopefully this will cut down on the server spamming/crashing escapades happening on other servers. (This wont stop that from happening, this just makes it less severe)
- Some of the sanitizes were probably unnecessary, but better safe then sorry.

Added MAX_NAME_LEN constant which is initialized to 26.
- Please use MAX_NAME_LEN instead of typing in 26 when cutting inputs short. 26's are annoying when they have to be changed and you have to hunt through over a hundred files and tens of thousands of lines of code to find them all.

Moved uplink_kits.dm to code/game/objects/storage

Moved uplinks.dm to code/game/objects
- The stuff inside uplinks.dm could really be chopped up and split into separate dm files but this will do for now.


*********************************************************
**********************Important**************************
*********************************************************
When you create code that asks the user for an input consider whether or not it gets shown to the user through html or the like.

If it does please sanatize() or strip_html() it. Also use copytext() to cutoff spam by using MAX_NAME_LEN and MAX_MESSAGE_LEN as the cutoff var.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3652 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-24 19:34:04 +00:00
ericgfwong@hotmail.com
f5b0817bc0 Added confirmation prompt for admin gibself verb. For Breadstrong
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3648 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-24 03:36:55 +00:00
johnsonmt88@gmail.com
d336b65d1b Random button added to traitor uplinks.
- All traitor items are available in the random button so long as you have the crystals to purchase it.
- This means it's possible (though very unlikely) to get 5 sets of revolver ammo.
- It's RANDOM, don't expect great stuff every time.

Made startSinglo() a game-master only verb in the debug tab.
- It is incredibly useful and time saving when testing stuff out before committing.

Added borgs, AIs and dead players to the list of protected paths in the delete all verb. 
- Unless someone can give me a valid reason as to why an admin would delete all ghosts.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3595 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-15 00:32:26 +00:00
petethegoat@gmail.com
4cafc735d1 Updated DNA modifier consoles so they work in any direction.
Updated adminwho so the plebs can see ranks.
Removed the admin message from view range changes.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3545 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-03 10:19:18 +00:00
elly1989@rocketmail.com
37f471ff41 Fixes a pAI requests runtime caused by clients disconnecting.
Fixes a host of runtimes caused by lag delaying "transmissions" between telecomms machines. Various objects were being deconstructed during this lagtime resulting in a bunch of weird null errors. Tested for 24hours on another server. Seems to be all ok.

Added some rudimentary checks to advanced proccall. Calling procs owned by objects is now a little less prone to runtimes. still a bunch of stuff to do to get it safe enough though.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3542 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-02 04:44:16 +00:00
VivianFoxfoot@gmail.com
4dfe439b1a Adds BS12 dismemberment. Not all features of it are implemented yet, but it should be equal to our previous system.
Adds greater changeling code, but doesn't change the genome count yet on it. 
Renames registered to registered_name on IDs because bs12 had it and it seemed like a good idea to do last night.  For some reason.   
Adds an afterattack to mobs that can be used.  (In fairness, lots of shit in attack_hand should be in there instead, like stungloves and stuff, to minimize duplicated code)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3537 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-01 15:33:29 +00:00
baloh.matevz
cfc6f0c26d - Rejuvenate re added to the right click menu.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3536 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-01 08:42:20 +00:00
baloh.matevz
aa65f68d2b - Additional admin verbs and links will now display an ingame message to admins when used:
- rudimentary transformations from the player panel
- give spell
- make sound
- kill air
- make alien
- make metroid
- grant full access
- assume direct control
- select equipment
- spawn xeno
- gib will now log even when gibbing yourself
- gibself
- change view range
- call shuttle
- cancel shuttle

- Also removed the 'stabilize atmos' verb. I noticed it had all of it's code commented out, so it literlaly did not do anything.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3535 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-01 02:30:52 +00:00
baloh.matevz
eec06043da - Added a rudimentary transformation section to the options panel (show player panel verb). This allows rudimentary mob type changes to any mob. These are however generic and non-mob-specific, as they only copy over some of the most needed variables, such as the three name variables, dna and mind. They do not, for instance, create a MMI for cyborgs. A note of this is also added to the player panel.
- Once you click one of the links a popup will appear asking you whether you'd like to delete the old mob of the player (yes or no) or cancel this transformation.

Screenshot: http://www.kamletos.si/options%20panel%20rudamentary%20transformation.PNG

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3534 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-30 18:16:51 +00:00
baloh.matevz@gmail.com
a9365d38e1 - Redesigned the options panel (show player panel verb) to be less terrible. Screenshot: http://www.kamletos.si/options%20panel.PNG
- Made some changes to admin verbs:
- Rejuvenate verb removed from mobs, is now in the options panel above (heal).
- Drop everything verb moved into view variables, added a confirmation message.
- Mute verb removed from mobs, use the options panel.
- Warn verb removed from mobs, use the options panel.
- Grant full access moved to debug verbs. 
- Rejuvanate as a verb also still exists in debug verbs.

These changes were made to make right clicking a mob not show a million unneeded verbs. They were moved based on the statistics gathered via feedback logging:
http://www.kamletos.si/tgdb/latest_stats.html#adminverbs

Please post any additional feedback on the admin forum.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3532 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-30 03:13:04 +00:00
baloh.matevz@gmail.com
d484c5adab - Check antagonists is now a verb available to anyone who has access to the secrets panel. (Admin Candidate and up)
- set ticklag moved to debug verbs, enabled by calling 'debug verbs' as a game master.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3530 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-30 00:10:11 +00:00