Commit Graph

447 Commits

Author SHA1 Message Date
elly1989@rocketmail.com
a9eabb0561 Created global lists for hair and facial_hair datums since they are referenced frequently. This means those datums are only ever created once. Also, the list is indexed by hairstyle name. This means means we only need to store one variable to find the hair datum. It also means admins can change h_style and f_style to the name of the hair and use the Regenerate Icons function in viewvars to update a human's hair icon. If an incorrect f_style or h_style is input it won't affect anything adversely (besides hair not showing for that mob).
The hub will no longer report admins who are stealthminning.

Added a server byond_version check. All it does is tell you if your byond_version is below RECOMMENDED_VERSION and encourages you to update BYOND.

Underwear and bag lists are now a single global list rather than creating the same list for every new player.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4268 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-01 13:40:43 +00:00
elly1989@rocketmail.com
066ec983fe Added byond_version checking to client/New(). If a client's installed byond_version is lower than MIN_CLIENT_VERSION then they will be autokicked.
It is not in effect yet (minimum version is v0 :P). However, <b>everyone must update to at least byond version 494 by the end of the month, or they may find themselves unable to connect</b>.

If anyone has a legitimate reason for why they need to use an older version (linux, language-support etc) please get in touch and we'll work something out.

Why is this even necessary? Encouraging the payerbase to keep up-to-date BYOND clients will allow us to implement newer BYOND features reliably. It also makes sure all clients are behaving similarly.

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

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

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4257 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-31 20:42:10 +00:00
elly1989@rocketmail.com
c4dc6fcb0b Committing this because I just merged it into Facepunch code for like the 49548083603th time ;_; - Added the ability to ban somebody by IP-address when giving permabans.
It's not quite as well done as I'd like it but it works and can be helpful.

IP bans are kinda lame so please only use them for multikeyers/extreme-douchebags and such.

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


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

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

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

Resolves issue 662

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


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4214 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-29 09:21:57 +00:00
johnsonmt88@gmail.com
cfd5cff352 The 'Check AI Laws' verb now shows which AI (if any) the cyborgs are synced to.
Fix for a runtime due to an attack_verb being a string instead of a list. (You can once again robust people with toolboxes!)

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

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4188 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-27 02:10:35 +00:00
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
baloh.matevz
db63780bac - Added unban logging to DB_ban
- Fixed a runtime error which happened when you tried to unban someone through the 'display job bans' verb.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4148 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-23 01:24:54 +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
f6ded04899 Minor optimisations for explosions (again). Only removed some unnecessary lists, nothing major. Added some logging to world.log which gives explosion location/duration etc so we actually have something to compare it to whenever that damn code gets changed again :P
Added a shortcut to player notes into the investigate verb. Just type investigate notes

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4132 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-21 02:20:16 +00:00
elly1989@rocketmail.com
c94b35dc00 Added a very stripped-down version of player-notes I made a while ago for a ban system. It's very no-thrills as it was intended merely as storage for the various parts to reference.
I've pretty much stripped everything, added a switch to obj/admins/Topic and linked to a simple browser interface from the player panels.

It's just a single buffer per ckey. You can  use the [+] and [-] links to add/remove notes. Clicking the ckeys will allow you to navigate between player notes. They are listed chronologically.

Their main perk is also their main flaw, they are only a single buffer, which is fast and small. But it kinda means playing with the format won't update existing notes. If you have any complaints about the format please make them known soonish.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4129 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-20 20:47:44 +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
ericgfwong@hotmail.com
c93200ed5f -Added salt and pepper to kitchen
-A few changes to admin stuff:
--Set-Play now auto-disables deadchat visibility. Set-Observe still auto-enables deadchat visiblity
--Emagging/overriding the holodeck now logs
--Removed Admin Notices for emagging and locking down cyborgs (still logs normally)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4085 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-16 09:14:52 +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
elly1989@rocketmail.com
65ff691098 Fixed evidence bags so the items inside are now visible even when the bag is inhand (the problem was that overlays += obj uses the object's layer variable rather than the default FLOAT_LAYER. So the hud was appearing over the overlays. Fixed it by using image(obj) to take a snapshot). Changed the overlays to underlays to make them look better. Fixed issue 637 where putting objects in bags which were currently in your inventory did not remove the item from your inventory.
Replaced the obj variable var/see_face. It was used to determine whether something (namely masks/hats) hid your identity. Replaced with the HIDEFACE bitflag for var/flags_inv variable. Moved the var/flags_inv variable from atom/ to obj/item/ as only /obj/item/ can be in your inventory in the first place.

Fixed get_visible_name() so it takes into account any item on the var/head when deciding if your face is obscured. (While I'm at it, just dump a comment here if there's anything that should hide your face which doesn't and I'll add the flag.)

Removed the var/alien_egg_flag variable from mob/living/carbon/ and replaced it with the XENO_HOST bitflag for var/status_flags variable. You can now suicide whilst impregnated with a xeno (since you will chestburst even after death, that restriction is no longer necessary).

Any mob/living descendent can ghost even when not dead. However, ghosting whilst not dead results in the ghost eing unable to return to it's body for the remainder of the round. (It has a warning popup)

The suicide verb can only be used by humans when they can move and are not cuffed. These verbs will be totally replaced very soon with the 'fun' IC suicides I'm working on. Suicide is largely redundant given that anybody can ghost now, just didn't want to jump the gun in removing it.

Known Issues:
We've got var/flags_inv, var/slot_flags which could possibly be merged as they both deal with obj/items, although I'm not sure if we can fit oth into the 16-bit limit. Just something to look into.
There are bitflags GLASSESCOVERSEYES, MASKCOVERSEYES, HEADCOVERSEYES, MASKCOVERSMOUTH, HEADCOVERSMOUTH in the var/flags variable which should really be merged with or moved alongside the very similar flags in var/flags_inv. Comments next to the defines suggest as much.
You can borg dead/clientless brains but can't remove the brain fromt he borg once you realise it's a dud. >.<

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4072 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-14 21:43:54 +00:00
johnsonmt88@gmail.com
ba18f631c0 Emergency Field Generators are now live!
- Now have an emp_act
- Can now be (un)locked by engineering IDs

Reverted ghosts getting mob attack logs and moving the ghost verb to clients
- This should fix the ghosting issues, but it's possible I've missed something. If there's any problems ping me(Nodrak) in #coderbus on IRC and I'll fix it.
- Attack logs moving to ghosts would be an amazing feature, it's not that admins can't get that information already but it makes it much easier. If it can be implemented without all of these bugs, it'd defiantly be an asset
- Fixes Issue 647

Removed logging from the cremator as it was causing runtimes and the cremator to lock up. Fixes Issue 649

Fixed an issue with unjobbanning players.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4044 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-11 19:55:20 +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
elly1989@rocketmail.com
f92bec2a22 Resolves issue 594 - You can no longer use Mech-drills/clamps/etc to interact with your hud items.
Fixed an old feature that diverted clicks on a hud inventory-slot (say, the place you put your bag) to the object in that slot (i.e. making it easier to click small items and also making it possible to remove things that have borked and turned invisible

Fixed admins being able to change their own rank via chgadlvl.

Insignificant tweaks to DblClick() just removed some useless bits near the top.

Known issues:
Can't put straight jackets on aliums anymore for some reason
Aliums can remove straight jackets from themselves.
Can still mecha-drill a few things you shouldn't be able to >_>

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4032 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-11 07:48:14 +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
elly1989@rocketmail.com
23bb27645e Resolves issue 635: cause, no checks for mob/M being null even though M = locate([ref]) in world >_> so basic
simplified armour rune code a little bit.

Added IP and ID fields to the unban panel. because I told somebody that I'd add it for them aaaages ago but forgot.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4003 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-07 01:17:20 +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
quartz235@gmail.com
ecd057f10d Fixes Issue 502
- Absorbing someone with the same real_name as a prior victim now properly adds to your genome count for end-round report
 - Done via new changeling datum var (ugh) called absorbcount that is just a number that increases on any successful absorb (also increases properly in the event of absorbing another changeling,) couldn't see a better way about this without overhauling the entire changeling datum layout, objective checks, etc.

Removed direct narrate (not global) rank check, since everyone gets subtlemessage and the like it didn't make sense to restrict this

Readded timestamps on fingerprints_hidden which I guess were removed during a revert?

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3968 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-02 11:09:02 +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
johnsonmt88@gmail.com
80b15df54b ** Mob Define Cleanup: Part 1 **
I'm currently working on moving all of the vars in mob_defines.dm and some procs in mob.dm into more fitting places. For example, ghosts and simple animals can not be cloned, so they do not need a cloneloss var. Cloneloss would be better fitting to /mob/living or even /mob/living/carbon. 

By moving these defines into proper children of /mob we lower the amount of resources that must be set aside every time a mob is created and we lower the amount of data that gets transfered between mobs when we combine, transfer or transform them. In theory, this should help free up some resources and combat lag.

Due to how integrated some of these defines are in the rest of the code, I'm going to be committing this cleanup in small batches. Doing it this way instead of one massive commit means that bugs will be easier to locate and identify. It is also less likely to overwhelm players with bugs, and if it still does, it will make it easier for us to revert only the section that is causing problems. Smaller commits also means merging with existing code will be less of a nightmare and has less potential for merging mistakes.

One of my goals in this cleanup is to add a description to every single variable in mob defines. While some of them are self explanatory, there are some there that are used in horribly obscure ways on top of having no comment to describe their use.

-----------------------

Mob defines moved to living:
- last_special*
- bruteloss
- oxyloss
- toxloss
- fireloss
- cloneloss
- brainloss
- halloss
- hallucination
- hallucinations(list)

*Note: I believe this variable is not needed, but the code it is used in (the resist verb) is cluttered and messy. That chunk of code probably use a re-write. I'll put it on my TODO list and if I survive mob_defines I'll try to get around to it but if anyone wants to do it for me, that would certainly help!

-----------------------

Mob procs moved to living:
- getBruteLoss()
- adjustBruteLoss()
- getOxyLoss()
- adjustOxyLoss()
- setOxyLoss()
- getToxLoss()
- adjustToxLoss()
- setToxLoss()
- getFireLoss()
- adjustFireLoss()
- getCloneLoss()
- adjustCloneLoss()
- setCloneLoss()
- getHalLoss()
- adjustHalLoss()
- setHalLoss()
- getBrainLoss()
- adjustBrainLoss()
- setBrainLoss

Mob procs moved to carbon:
getDNA()
setDNA()

-----------------------

Mob verbs moved to carbon:
- Sleep
- Lay down / Get up

-----------------------

The : operator...

The thing that has been killing me through this whole cleanup is people using or copy/pasting the : operator everywhere. 


*** Please use obj.var_or_procname. Do not use obj:var_or_procname ***


Using obj:procname will not throw a compiler error if obj does not have that specific var or proc. This means that the coder making changes will NOT be informed of an error which will result in a proc failing, potentially being completely unusable and definatly causing a runtime error.

With that said, I fully anticipate that most bugs (if any) caused by this mob define cleanup to be the result of : operators.

I've been replacing many : operators in favour of the . operator as I've been going, most noteably I went out of my way to remove almost every : operator from the 4000+ line Chemistry-Regents.dm
Exceptions:
- Water: Turf and Atmos related vars. I'm not familiar with the members and methods in those class' hierarchy.
- Silicate: because it's commented out and I honestly dont see it returning.
- Thermite: Turf and Atmos related vars.
- Corn Oil: Turf and Atmos related vars.

Final note: While this may be the source of some mob-related bugs, there are two other revisions that have been committed between now and the last time either of the the two tgstation servers have been updated. These revisions both touch mob-related files. I'm not blaming these other revisions for anything, especially since one of them is mine anyway, I'm just listing them here for refrence to help quickly identify any problems.
- My human/life() changes in r3925 
- Carn's life() standardizations in r3933

Stuff unrelated to mob defines:
- Fixed borgs and such being able to go into DNA modifiers.
- Changelog updated and I added Sieve to the list of coders.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3934 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-28 17:06:19 +00:00
baloh.matevz
4fe200c4e1 (printing SQL to world is a bad idea...)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3917 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-25 11:03:41 +00:00
baloh.matevz
0007122cff - Added basic ban logging for DB_Ban. First step for the cross-server ban system.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3916 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-25 11:02:52 +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
mport2004@gmail.com
69753b0190 Worked on blob mode a bit
Readded the AM stuff to the dme
Added another explosion edit from Willox


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3903 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-24 00:03:31 +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
baloh.matevz
ab734d0472 - Coded in a debug report feature for the master controller. If the MC's delaying loop does not pass within 600 iterations (roughly 60 seconds) it means the procs are likely broken. A warning + report is displayed to admins as well as it being saved to the admin log.
The MC Delayer in the screenshot is an item coded for testing purposes which simulates a proc break. It is not part of this commit. Clicking on it will open up the view variables panel for the item.

Last-processed-item logging is supported for diseases, processing objects and machinery.

Screenshot:
http://www.kamletos.si/MC%20debug%20report.PNG

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3848 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-17 06:20:24 +00:00
elly1989@rocketmail.com
ba545bbee9 Added some #undef (undefines) to try speed compile times up a little bit.
Added resources.dm where FILE_DIR can be defined manually. It should speed clean-compiles up by reducing the number of places the compiler searches for resource-files to put in the resource-cache (stuff in ' ' quotes. e.g. icon='human.dmi').

To use manual FILE_DIR defines go to: 
Build > Preferences for tgstation
in dreammaker. Then un-tick "Automatically set FILE_DIR for sub-directories"

It also means you have less crap to clean up in the .dme before every commit C:

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3820 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-14 21:47:45 +00:00