Commit Graph

111 Commits

Author SHA1 Message Date
elly1989@rocketmail.com
73b54b017b Removed mob/var/UI, it now uses client.prefs.UI_style
Removed var/constant/Pi It's already defined in setup.dm
Moved a bunch of global_lists to global_lists.dm
Fixed hair randomisation. (still bits to do)
Moved a lot of preferences_setup.dm stuff into __HELPERS/mobs.dm They'll be FAR more helpful as generic procs, rather than something tied to preferences.
Merged mob/var/nopush into status_flags with the CANPUSH flag
Merged mob/var/nodamage into status_flags with the GODMODE flag
Removed mob/var/be_syndicate and mob/var/be_random_name as they are not used.
Added /proc/ui_style2icon(ui_style) proc. It converts a string like "Midnight" into its corresponding dmi file. The code fore creating a new hud uses it.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5164 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-22 15:22:08 +00:00
elly1989@rocketmail.com
27a53e211b removed client/var/be_alien and client/var/be_pai, everything now uses client.prefs.be_special
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5126 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-19 18:35:14 +00:00
elly1989@rocketmail.com
14ed3f155b Mutes are now in datum/preferences. That means they are persistent! You can't avoid them by logging out you naughty little spammers.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5124 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-19 17:09:05 +00:00
elly1989@rocketmail.com
bebf4983f8 Removed the toggle_gravity_on() and toggle_gravity_off() verbs and moved them into a single toggle in the FUN section of the secrets panel.
Likewise, removed the spawn_xeno verb and made an equivalent bit of code in the FUN section of the secrets panel.
Fixed the create_xeno proc. It was supposed to ask you which type of alien to spawn but it was sending the popup to src, which should have been usr.
Create_xeno can now spawn queens and larva.
Create_xeno is fed a ckey (optional) rather than a ghost mob. Which will make it more versatile and reliable should clients log out during popups and such.

Created an client.is_afk(duration) proc. If the client has been inactive for duration frames (11 frames is roughly 1 second), it will return the number of frames it has been inactive. Otherwise it returns 0. If no duration value is given it defults to 3000 which is roughly 5 minutes. There's a bunch of code I need to replace with this which I will do after I've got the rest of the admin rank stuff finished as that takes priority.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5040 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-11 19:15:11 +00:00
elly1989@rocketmail.com
50fe648a91 Admin ranks now use bitfields for permissions. Rather than checking the name of the rank, adminverbs will now check holder.rights to see if it has certain bits turned on.
SERVER HOSTS:
This commit replaces the existing admin-rank system. It is now more customizable.
Admin.txt essentially works the same as it always has. Each line should look like:
ckey - admin rank

There is now however, an admin_ranks.txt. This textfile allows you to define ranks like so:
admin rank +ADMIN +FUN +BUILD
the +KEYWORD are flags adding permissions to that rank. There are brief descriptions in the text-file explaining what they do.

You can now name the ranks anything you like, and give them the permissions you want them to have. This allows, for instance, ranks like:
Game Admin on disciplinary +ADMIN +BAN
This would give that game admin only the tools they need to admin. They would not have access to 'fun' verbs which control events and antags.
There's lots of things you can do. For instance, a coder rank whom can debug stuff but cannot do admin tasks:
Codermin +DEBUG +VAREDIT +SERVER

There's lots you can do. As it evolves it will hopefully become more flexible.

admin_ranks.txt defaults to use the old admin rank names.

Apologies in advance as there will be a lot of anomalies, such as ranks losing verbs they once had. Please let me know about any problems. I can fix them quite easily simply by moving verbs between the lists or splitting the lists up into new flags.

CODERS:
There is now a check_rights(flags) proc. 
It check is usr is and admin and has -at least one of- the rights specified.
It checks > usr < not src, so keep that in mind!
If you need to check if something other than usr has specific tights, you can do if(holder.rights & R_ADMIN) etc.

KNOWN ISSUES:
+FUN probably needs to be split up into +MOBS and +EVENTS
In-game promotion/demotion is currently disabled. It will be readded after everything else works ok.
Erro's sql rights changes stuff is currently commented out. It will be re-added.
There are still many many verbs which need updating.

Apologies in advance for any inconvenience.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4991 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-02 10:23:04 +00:00
elly1989@rocketmail.com
4d9876fd65 Fixes issues with pen bbcode. Replacetext did not work correctly after I changed text2list - (It was missing 'needles' at the beginning of 'haystacks').
>dd_replacetext and dd_replacetext_case are now replacetext and replacetextEx respectively.
>replacetext and replacetextEx works using strings only; it doesn't convert it into a list and then back into a string.

Fixes some dumb-dumbs in textlist and text2listEx
> "<" where there should be a "<="
> no else case for when the separator is longer than the text (causing empty lists to be returned)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4971 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-27 21:21:17 +00:00
giacomand@gmail.com
7d6fb8fd6a Commiting for Aranclanos.
http://nanotrasen.com/phpBB3/viewtopic.php?f=16&t=10189&p=143580&hilit=https%3A%2F%2Fwww.dropbox.com%2Fs%2Fcwflgm7793ts20s%2FBorgsForCasualsRELOADED.patch#p143580

-Fixed some ugly text in Ion laws "THE STATION IS [0x6006265] FETISHES...LAWS UPDATED".
-Fixed some typos on the Ion laws.
-When borgs are emagged, now they show their laws for themselves.
-When new laws are uploaded, the borg gets instantly the new laws, just like the AI, instead of the confusing message "Your AI has set your 'laws waiting' flag.". Remember this is a patch for casuals.
-The borgs gets the same message than the AI in Ion storms.
-Made the admin Ion storm show the "...LAWS UPDATED" text.
-Borgs get a different law 0 telling them to help their master.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4837 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-09 05:37:28 +00:00
elly1989@rocketmail.com
cc2c4de49b Merged var/muted_ic; var/muted_ooc; var/muted_deadchat; var/muted_pray; var/muted_adminhelp into var/muted as bitflags
Added a config option config.automute_on It toggles automuting.
Admins cannot be muted.
Made the proc/cmd_admin_mute code shorter.
Automuting defaults to off

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4758 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-25 21:23:02 +00:00
elly1989@rocketmail.com
9813d2bbec var/fakekey; var/ooccolor; var/sound_adminhelp moved from /client to /datum/admins. These settings will now persist through a round even through logouts.
var/stealth merged into var/fakekey as it was superfluous.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4753 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-25 13:09:43 +00:00
giacomand@gmail.com
384b2717b0 -Added a "landmarks_list"; the game will now check for landmarks in the list instead of the world.
-Did some optimizing to AI freelook.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4670 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-09 22:27:06 +00:00
polyxenitopalidou@gmail.com
b5c57165ac •Newscaster overhaul, something I wanted to do since I made them.
•Centralised network, eliminated needless loops and worked out a better way than process(), since newscasters are a lot.
•Added Access News Network adminverb, which gives absolute freedom over the network. Check the Fun tab.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4595 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-31 11:00:59 +00:00
elly1989@rocketmail.com
4073ac9b00 Replaced all 'file.extension' references with 'relativepath/file.extension' using a script by thvortex of ss13-daedalus.
All credits to the author for this handy little script.
I Committed the modified python script to tool directory. Although it needs to be in the root folder of your repo to work.

To notice the improved compile times, in dreammaker go to Build > Preferences > and untick "automatically set file_dir for subfolders"

If this commit inteferes with any large projects just revert it, do your thing, then rerun the script. Easy-peasy.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4488 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-18 16:33:40 +00:00
baloh.matevz
5a199fc564 I started with the desire to fix issue 634. It sounded like a simple issue, right? Well one complete rewrite of how equipping and stripping works later, this commit fixes issue 645
Code-wide changes: /mob -level procs:
equip_if_possible() is now known as equip_to_slot_or_del() to prevent confusion with equip_to_slot_if_possible() and to better describe what it does.

equip_to_slot_if_possible(item, slot, del_on_fail, disable_warning, redraw_mob)

equip_to_appropriate_slot() is now a /mob - level proc.

equip_to_slot() is an unsafe proc, which just handles the final step of actually getting an item onto the mob. It has no checks of whether it can or can't do that. Use equip_to_slot_if_possible() for that purpose.

New /obj/item -level proc:
/obj/item/proc/mob_can_equip(M as mob, slot, disable_warning = 0)

This proc can be used to determine whehter a mob can pick up an item from the item's side.

Carn, I'll need you to review code/modules/mob/living/carbon/human/inventory.dm to ensure that I'm not redrawing the mob too many times.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4423 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-15 23:15:55 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
elly1989@rocketmail.com
575654babb Rewrote the cinematic system to be centralised and controlled by the gameticker, rather than handled per mob with like, 3 loops and a seperate process for each mob.dmPlease report any bugs/derps to me asap. I've tested it as much as I can locally, but because it relates to events that require a large number of players it's very hard to test.
TODO: I was intending to use dust to kill players off on a nuclear-loss. However dust() is very very broken. So I've hardcoded everything to die until I can fix dust().

Added an adminverb for 'Game Master's. It was a debug verb so I could test cinematics but I've left it in as it might be handy for events, especially if we get more cinematics. To access it type "cinematic" in full into the input bar as a Game Master, then follow the prompts. At the moment, it only handles nuclear stuff (that's all there is anyway). You can choose where the nuke detonated 0= on station; 1= near station but in space; 2= off the z-level. You can also force a cinematic from another game-mode to play with the prompt after that one.

Note: All mobs are buckled to a bed located inside the gameticker (odd I know) whilst a cinematic is playing. The bed is deleted afterwards releasing all players. If off_station=0 then all mobs will be killed too. This is to stop people running around and doing stuff during the cinematic. I really didn't want to add more variables/checks to mobs.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3481 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-19 20:33:19 +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
1b0661c26b Fixed my derp in cmd_admin_pm where the input popup was being displayed to usr rather than src (usr is the mob src is the client)
AdminHelps are now client verbs rather than mob verbs. Which means adminhelp can be called from cmd_admin_pm when an admin disconnects or something. This will stop non-admins getting the message "Client not found" (read as: license to grieffe) when an admin disconnects for whatever reason.

Moved AdminPM stuff to adminpm.dm

Fixed some run-times in posters and fixed posters eternally having the laying poster icon_state(whatever it was called) when something went awry.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3456 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-14 14:24:46 +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
elly1989@rocketmail.com
d775e1ac80 Runtime fixes for:
runtime error: Cannot modify null.layer. proc name: done (/obj/effect/equip_e/human/done) usr: Ramona Fawkes (/mob/living/carbon/human) src: the human (/obj/effect/equip_e/human)
call stack: the human (/obj/effect/equip_e/human): done() the human (/obj/effect/equip_e/human): process()

runtime error: Cannot execute null.use(). proc name: attackby (/obj/structure/barricade/wooden/attackby) usr: Jeffery Long (/mob/living/carbon/human) src: the wooden barricade (/obj/structure/barricade/wooden) call stack: the wooden barricade (/obj/structure/barricade/wooden): attackby(null, Jeffery Long (/mob/living/carbon/human)) the wooden barricade (/obj/structure/barricade/wooden): DblClick(the floor (159,129,1) (/turf/simulated/floor), "mapwindow.map", "icon-x=15;icon-y=12;left=1;scr...")

Rewrote wielded weapons to be their own weapon subclass. There was no point having a var/wielded var/twohanded var/force_unwielded var/force_wielded for every damn item when there is only 1 wield-able weapon anyway. All the wield-able stuff is now in twohanded.dm

Changed the adminhelpsound to some creative commons sound I pinched. Until somebody can get a better one. I'm sick of MAAAAAAAAOOOOOOW.

All PMs trigger the adminhelp sound. That means when you OM a player they get the sound, if a admin is PMed they only hear it if their adminhelp sounds are enabled. This should allow people to get eachother's attention when t he chat is busy.

Fixed some bad code with poddoors (which is used for the shutters in QM)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3435 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-11 05:01:44 +00:00
elly1989@rocketmail.com
9ea4bebb00 Fixed Admin-PM again. Sorry. Note to others, BYOND can't sort associative lists.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3391 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-02 05:30:45 +00:00
elly1989@rocketmail.com
fcb10e6e32 Runtime fix for paint
Shuttle call/recall announcements are now more noticeable. Removed a few ways they could be spammed.
Cats and Dogs can see in the dark.
Recommitted some of the poop stuff by Doohl because, hell it's only one day and I don't hate fun.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3382 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-01 06:39:22 +00:00
elly1989@rocketmail.com
81d6e5abb3 Changed private messages to forward to client from mob rather than the other way around. As it makes more sense.
Merged the Admin-PM verb and the PM stuff in Topic() as it was 99% the same code anyway.
Admin to Admin PMs are no longer annoying and LOUD: "-- ADMIN PRIVATE MESSAGE --"
All Admin PM messages to non-admins are now 'LOUD'.
Admin-PM verb is now sorted by Mob rather than client as per request
Can again PM mobs by right clicking them.
Apologies for totally missing the last 2 things on my last commit :S

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3381 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-01 02:28:30 +00:00
elly1989@rocketmail.com
38a9e343a6 Fixes Issue 441 (it was a typo)
Fixes Issue 424 (it was some code in turrets.dm which was setting all the turret controls in the lobby area to off...for no raisin.)
Admins can now PM people in the lobby
Admin-PM verb now uses clients instead of mobs
Removed a vulnerability in the PM system that allowed unauthorised access to a select few admin-tools.
Text changes in examine verbs for monkeys and humans (typos)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3366 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-28 10:06:32 +00:00
VivianFoxfoot@gmail.com
b97447781a PDA messages now require an active messaging server.
The admin rejuvenate command now stabilizes body temperature as well.  

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3282 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-13 05:12:21 +00:00
Superxpdude@gmail.com
298932e028 Committing Carn's patch from here: http://bit.ly/ww7gmD
Game Admins and Game Masters can now toggle random events from happening during a round, it is also an option in the config file.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3017 316c924e-a436-60f5-8080-3fe189b3f50e
2012-01-30 15:54:16 +00:00
VivianFoxfoot@gmail.com
1c7d1fbd33 Moves /obj/special/stop into /obj/effect/stop.
Thunks people when gravity changes.  

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2918 316c924e-a436-60f5-8080-3fe189b3f50e
2012-01-06 17:12:46 +00:00
VivianFoxfoot@gmail.com
8730d375cf Adds a new special object (stop) that can be used when you need someone to stop moving right away, even before the next life(). Used in door crushing to prevent people from inertiaing through. Checks for /obj/special/stop in loc every move. Compared to the number of other checks, I don't expect this to be an undo burden, but can be commented out in case of OH SHIT LAG under heavy load.
Moves /area/entered to its own file.  
Adds a new area var called has_gravity.  Determines if floor tiles count for movement control (planning on adding more, currently can only be badmined)
Adds a new mob var called lastarea that is updated with the area you're in every time /area/entered is called. 

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2917 316c924e-a436-60f5-8080-3fe189b3f50e
2012-01-06 06:24:55 +00:00
mport2004@gmail.com
2ea375091e Renamed the prisoner computer's file to prisoner and added a sanity check.
The singularity is now able to eat things like signs and chameleon projectors' projections.
A few other misc runtime fixes.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2916 316c924e-a436-60f5-8080-3fe189b3f50e
2012-01-05 05:26:13 +00:00
kortgstation@gmail.com
3bada93424 The Wizard no longer starts with Ethereal Jaunt.
Instead, the spellbook simply starts with an extra use. This will save you the trouble of re-memorizing if you do not want to take ethereal jaunt.

Put an Ion Rifle on the nuke ops shuttle which will hopefully help with nuke teams getting routinely destroyed by sec borgs.

Fixed a wizard spawn message which referred to a no longer existing item (it mentioned "two" artifacts in your pockets,though you no longer spawn with a scrying gem)

Added Magus Helm sprites/object, which as of now does not spawn and is just an alternative wizard hat (counts for spell requirements).

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2743 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-19 11:54:11 +00:00
uporotiy
3f5b76aff0 Added stun, weaken and paralysis-related procs in place of directly editing the vars. Hulk is 5% chance now due to being completely immune to any sort of stunning (will nerf more later). Think that's all but not entirely sure.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2683 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-14 16:38:46 +00:00
rockdtben
c2eaca7b29 Removed all global modifications of toxloss.
Added a setToxLoss() proc.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2653 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-10 14:36:08 +00:00
vageyenaman@gmail.com
25f8e20822 New adminshit. A verb that lets admins force players to have completely random identities when they join/latejoin. Only works before rounds.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2564 316c924e-a436-60f5-8080-3fe189b3f50e
2011-11-27 21:51:39 +00:00
mport2004@gmail.com
ec507d8277 Anything that used the updateappearance proc will no longer update hair/beards. The things that use it are DNA changes, Cloned mobs, Changlings. The proc was runtiming due code on lines 234 and 246, I looked into it a bit but don't currently know how to fix it. The proc is currently commented out so at least the skin color/body updates properly.
Thanks to Exadv1 the reagent checking code for chem got a nice performance tweak.
Minor text change to the steal ai objective.
Few runtimes/nullchecks fixed.
HoS does not spawn with a flash, Warden does not spawn with a taser, Security officers now spawn with a flash.
Wizarditis has been uncommented and nerffed quite a bit.
Moved most of the suits over to the clothing module folder.
Force 0 items won't damage humans.
The two lockboxes have been readded to the armory.
The brigs extra large power cell has been cut in half. (still twice as large as normal apcs)


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2480 316c924e-a436-60f5-8080-3fe189b3f50e
2011-11-04 12:14:39 +00:00
baloh.matevz@gmail.com
fe49e1c149 Okay in relation to the previous commit r2391 muting is now tied to clients and not mobs. So if you get muted as a human and then die and change into a ghost you will no longer 'loose' your mute.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2392 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-19 13:05:36 +00:00