Commit Graph

208 Commits

Author SHA1 Message Date
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
Kortgstation@gmail.com
0ed6f00100 Cleaned up the wizards spellbook, it no longer has the option of using client verb spells instead of object based ones. Object based spells are superior in every way and are the ones currently tracked by Erro, the client verbs weren't even supported anymore so there was really no reason for a ton of if statements everywhere/code for three different spellbook types (including one that used telecrystals).
Changed the config, item list, wizard spawn gear etc to eliminate the possibility of the old type of spell book

Removed commented out (non functional) code from change.dm

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4383 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-12 20:22:08 +00:00
elly1989@rocketmail.com
49a8f89a42 Resolves Issue 766
Fix for colours bleeding over in the end-of-round announcements.
Cause: laziness :3

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4362 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-11 02:02:32 +00:00
elly1989@rocketmail.com
40c2238c24 Minds part 3
Removed mob/var/original_name. Totally replaced by datum/mind/var/name now.

Fixed round-end reports. They're now sort of follow the same format as each-other. Not sure how the ew format will work out on high-pop servers. if it's too spammy I'll tone it down a bit.

Fixed pais. Their life.dm got unticked. Resolves issue 759

Known issues: 
Borgs keep their human objectives when borged. I'll try playing with the way minds work for silicon mobs whe the freeze is over.
No way to edit minds when they are not attached to a mob. Need some sort of debugging tool.
datum/mind/var/mob/living/original isn't realy used for much. I could probably replace it with something more useful.
Changeling stuff is messy. The changeling object should be referenced by the mind not the mob (or something)

Part 4 on hold will try to address some of these known issues. Taking a break from minds to fix some issues on the tracker now (like lighting)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4355 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-09 23:41:01 +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
sieve32@gmail.com
d403ae7cb1 -Fixes an unreported bug, where the equipment on wizards/nukeops/headrevs/cultists wouldn't appear until you picked up an item (Fixed by calling the appropriate icon update)
-Fixed the issue with cookies not appearing mobs until they picked up something
-Now when you are in the process of suiciding, Life() will treat all breaths as failed and you will take more oxyloss than someone in crit that isn't suiciding (Instead of being in crit forever because you could still breathe just fine).
-Fixed a pretty dumb bug in human life, where you would be treated as dead at -100 health, but you didn't die until you hit -101. This mostly caused issues with oxyloss, because once you hit -100 you stopped breathing, but were still alive.
-You can no longer put borg items on monkies, and while I was at it I made directionals for their handcuffs
Fixes Issue 728
Fixes Issue 731
Fixes Issue 714
Fixes Issue 694

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4310 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-04 00:47:55 +00:00
Kortgstation@gmail.com
2b55391ed7 Shades name will now be based on the victims real name (so them wearing a gas mask or fake ID won't effect the shades name, and they won't have names like Shade of Unknown (As X).
Also, Shades will be assigned a real name and original name upon creation, to prevent them from getting a random name when ghosted.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4278 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-02 03:22:37 +00:00
Cael_Aislinn
469a8bb601 ported over the majority of /tg's simple_animal code and changed a lot of things for simple_animals and critters
- added bears, mice (cats will chase mice, mice squeak occasionally)
- removed some unique simple_animals (ian and runtime will be the only ones for now)
- structure improvements, tweaks and cleanup for simple_animals and critters
- space carp should work fine now
2012-08-02 03:22:44 +10:00
giacomand@gmail.com
cf266fca97 I've made some adjustments to the Fireball spell. I've changed it to shoot in the player's facing direction instead of you having to pick a name from a list. It will explode upon contact of a person, if it hits an obstacle or if it shoots for too long. To make up for the fireball not being able to go diagonal I've shortened the cooldown to 10 seconds. It still can hurt you badly and knock you down if you shoot it at a wall. Lastly, it now lights up so it'll show up in dark rooms easily.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4265 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-01 11:29:29 +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
6adacc576d - Removed the 'alive' variable from simple animals. It was redundant, since stat already tells that.
- Standardized critter proc declarations
- Added an AdjustBruteLocc() proc to simple animals
- Fixed the bug where simple animals would move when bumped, even when buckled
- Added space bears. They have some decently complex AI which revolves around stances, which include idle, alert, attack, attacking and tired. They are quite a fun little thing. Sprites were in code forever.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4153 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-23 05:25:13 +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
ericgfwong@hotmail.com
60260aed98 -Nuke ops and wizards spawn with their preferred backpacks now
-Minor changes to the map, includes fixing that odd setup with the o2 locker in the locker room

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4144 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-22 21:09:18 +00:00
Albert Iordache
d47b71b7c8 Added cancel button to teleport dialog, close button to PDA window and cancel button to telepathic mind projection 2012-07-10 16:31:19 +03:00
elly1989@rocketmail.com
60c7b28274 Resolves issue 499. Blood runes are now totally invisible to AIs.
Created defines for disabilities and sdisabilities bitflags. Thos areas of code really need attention. Why are there so many blind variables/flags D= disability bitflags are located in setup.dm

Handcuff overlays now update when beepsky/ed-209s cuff you.

Resolves issue 628. Took a stab at tidying up handle_regular_hud_updates() for humans. If it's all working perfectly as it appears to be I'll start doing the same for other mobs. Whomever started 'fixing' this and then just abandoned it with redundant and heavily-broken code should be ashamed :[ It was/is in a real sorry state.

Resolves issue 617. Shades can no longer be weakened (stunbatons etc).

Fixed an issue with one of the antag deaf-sting/rune/whatever-it-was-I-forget causing nearsightedness rather than deafness :P


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3985 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-05 07:44:18 +00:00
johnsonmt88@gmail.com
bb901f7583 Mob define cleanup: Part 2
Moved the simple_animal folder into /mob/living.
- Thanks to tortoiseSVN issues, I will have to remove the old simple_animal folder in a second commit.

Moved to living:
- maxHealth
- health
- control_object
- incorporeal_move

Moved to carbon:
- silent
- alien_egg_flag

Moved to human: (human_defines.dm)
- All vars that used to be defined in human.dm
- underwear
- backbag
- miming

Deleted from mob:
- r_epil	//Old var, not used anymore
- r_ch_cou	//Old var, not used anymore
- r_Tourette	//Old var, not used anymore
- spellvoice() 	//Old proc, not used anymore
- get_damage()	//Unused, we have getHealth() that does the same thing

Removed some unticked files that have already been replaced.

This also fixes cyborgs being 'knocked unconscious' by rolling pins and secure breifcases
- Additionally; to knock someone out with a rolling pin you must now be targeting the victims head.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3976 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-03 17:14:49 +00:00
Erthilo
ae63e9ec9f Mind Transfer now requires wizard garb. 2012-06-28 19:56:20 +01: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
trubblebass@gmail.com
616336f17a - Couple of minor changes to the Wizard's den.
- Removed Veil-Render from the possible Wizard artifacts.
It's still available for adminspawn with the path /obj/item/weapon/veilrender
If any of you should want it for shenanigans.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3872 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-19 19:56:06 +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
Erthilo
36effbacc2 TG: There's a metric assload of stuff here, mostly in preparation to my massive
traitor expansion, so I'll try to be brief:

- I added in the foundations for traitor factions. See factions.dm for all the
different faction datums. They don't do anything yet.

- I completely ported mob/var/mutations from a bitfield to a generic list.
Mutation enumerated-identifiers are added into this list. For instance, TK = 1,
COLD_RESISTANCE = 2, XRAY = 3, etc... The purpose of this was because bitwise
operations could not actually be used after a certain size (because BYOND is
stuck in the 16bit era).

- I've added in completely-functional nano-augmentations. Check under
implantnanoaug.dm for a list of implants and implaners. As mentioned previously,
they are completely functional but may be slightly OP. Among these nanoaugs are
Super Strength, Psionic Radar, Electric Hands, Energy Blade/Sword Synthesizer,
Rebreather, Dermal Armor, Combat Reflexes, and Regenerative Nanorobots. I won't
go into detail as to what they do, but hopefully they should be self-
explanitory. If not, check out their descriptions in the file previously
mentioned.

- Added in a future traitor item, the Mind Batterer. Along with it a new .ogg
file.

- New telecomms bus mainframe sprite, thanks to WJohnston.

- New holdable shield, sprites courtesy of Muncher (i had to mangle the side
sprites because of a technical little issue. I'll change it back to the original
soon). It can be retracted and expanded. Probably only going to be given to
traitors.

- A couple of minor bugfixes here and there, along with some code tidying.

Hope this isn't too large a commit. I intended it to be MUCH larger, but I've
decided to split up my Traitor Factions expansion into smaller commits.
Revision: r3692
Author: 	 vageyenaman
2012-06-02 19:46:18 +01:00
vageyenaman@gmail.com
49647d329a There's a metric assload of stuff here, mostly in preparation to my massive traitor expansion, so I'll try to be brief:
- I added in the foundations for traitor factions. See factions.dm for all the different faction datums. They don't do anything yet.

- I completely ported mob/var/mutations from a bitfield to a generic list. Mutation enumerated-identifiers are added into this list. For instance, TK = 1, COLD_RESISTANCE = 2, XRAY = 3, etc... The purpose of this was because bitwise operations could not actually be used after a certain size (because BYOND is stuck in the 16bit era).

- I've added in completely-functional nano-augmentations. Check under implantnanoaug.dm for a list of implants and implaners. As mentioned previously, they are completely functional but may be slightly OP. Among these nanoaugs are Super Strength, Psionic Radar, Electric Hands, Energy Blade/Sword Synthesizer, Rebreather, Dermal Armor, Combat Reflexes, and Regenerative Nanorobots. I won't go into detail as to what they do, but hopefully they should be self-explanitory. If not, check out their descriptions in the file previously mentioned.

- Added in a future traitor item, the Mind Batterer. Along with it a new .ogg file.

- New telecomms bus mainframe sprite, thanks to WJohnston.

- New holdable shield, sprites courtesy of Muncher (i had to mangle the side sprites because of a technical little issue. I'll change it back to the original soon). It can be retracted and expanded. Probably only going to be given to traitors.

- A couple of minor bugfixes here and there, along with some code tidying.


Hope this isn't too large a commit. I intended it to be MUCH larger, but I've decided to split up my Traitor Factions expansion into smaller commits.



git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3692 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-29 03:16:47 +00:00
Erthilo
a7dd312b3e TG: - Removed support for the ONBACK and ONBELT flags.
- Replaced them with a whole range of inventory slot flags. These now govern
whether an item can or can't be placed in a certain inventory slot. See setup.dm
for information on the flags. These flags only affect humans tho, as humans are
the only beings with an inventory to talk of.
- Standardized some gun code and some other pieces of code as I came accross
them. I hate indented variable definitions!

This commit should not bring any change whatsoever to the game from a player's
perspective.
Revision: r3659
Author: 	 baloh.matevz
2012-05-28 22:58:57 +01:00
Erthilo
6e289dabfc TG: 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.
Revision: r3652
Author: 	 johnsonmt88
2012-05-26 00:09:56 +01:00
baloh.matevz@gmail.com
18ccabb33a - Removed support for the ONBACK and ONBELT flags.
- Replaced them with a whole range of inventory slot flags. These now govern whether an item can or can't be placed in a certain inventory slot. See setup.dm for information on the flags. These flags only affect humans tho, as humans are the only beings with an inventory to talk of.
- Standardized some gun code and some other pieces of code as I came accross them. I hate indented variable definitions!

This commit should not bring any change whatsoever to the game from a player's perspective.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3659 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-25 07:38:36 +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
Erthilo
238eb9de78 TG: Fixed Summon Guns spawning broken eguns. Replaced the decloner and freezegun
with aegun and mateba (for list of possible guns).

Added Ausops gateway sprite.

Added placeholder structures so the people working on the map have something to
mark where the recieving gate will be.

And unfinished Behemoth code because the dme needed to be updated to include
Ausops stuff.
Revision: r3572
Author: 	 kortgstation
2012-05-10 21:00:57 +01:00
Erthilo
91a20e9811 Fixes a separate infinite loop error, as detailed here: https://github.com/ss13-daedalus/daedalus/issues/2
Credit to: @thvortex
2012-05-10 14:34:32 +01:00
kortgstation@gmail.com
d15ce2c40d Fixed Summon Guns spawning broken eguns. Replaced the decloner and freezegun with aegun and mateba (for list of possible guns).
Added Ausops gateway sprite.

Added placeholder structures so the people working on the map have something to mark where the recieving gate will be.

And unfinished Behemoth code because the dme needed to be updated to include Ausops stuff.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3572 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-10 05:33:01 +00:00
Erthilo
a40b911ce5 TG: Shades, Juggernauts, Wraiths, Artificers all now have minds.
If a cultist builds a construct, that construct will be a cultist. This means
they can see cultists finally (and will probably count for the escape objective,
so that might need changing numbers wise)

Fixed some typos in the cult runes (godamnit Urist) and the blind rune can no
longer be made into a talisman, cause a handheld, instant, AoE blind that lasts
20 seconds with no counter is retarded.
Revision: r3507
Author: 	 kortgstation
2012-05-06 18:32:39 +01:00
Erthilo
5eddc86f6b TG: Added Wjohntsons little toy mechas.
Removed restrictions for cultists, anyone can be converted now.

Bibles no longer deconvert cultists to stop the random bible smashing from
ruining rounds

Soulstones can no longer capture the manifested ghosts. No more infinite
constructs.

Removed the telecomm traffic control from the map until its fixed.
Revision: r3500
Author: 	 kortgstation
2012-05-06 00:51:43 +01:00
Erthilo
84cb9b65ef TG: Updated the barman's shotgun, it acts like a double-barrel now, and he can saw
it off.
Added Khodoque's new shotgun sprites.

Added my new gasmask sprites. Removed emergency gasmasks, as the distinction is
non-existent.

Very slightly reshuffled some mask stuff around, but it's still godawful.
Medical masks are now /obj/item/clothing/mask/breath/medical

Removed the define for HALFMASK, as it was completely unused.
Revision: r3493
Author: 	 petethegoat
2012-05-05 23:20:19 +01:00
kortgstation@gmail.com
7a23c1509e Okay, NOW constructs can see cultists/update properly their minds properly.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3514 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-26 07:08:39 +00:00
kortgstation@gmail.com
4577df235e Fixes some runtimes my last commit caused. Sets construct real_names so they don't mess up the show antagonist list.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3511 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-26 02:51:49 +00:00
kortgstation@gmail.com
6236ff0d85 Shades, Juggernauts, Wraiths, Artificers all now have minds.
If a cultist builds a construct, that construct will be a cultist. This means they can see cultists finally (and will probably count for the escape objective, so that might need changing numbers wise)

Fixed some typos in the cult runes (godamnit Urist) and the blind rune can no longer be made into a talisman, cause a handheld, instant, AoE blind that lasts 20 seconds with no counter is retarded.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3507 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-25 21:29:03 +00:00
Ren Erthilo
707b6caa1e TG: Integrated BS12's improved uplink code, courtesy of SkyMarshal.
This means items now spawn in your hand if possible, items are sorted into
categories, and only items you have enough telecrystals to purchase will be
displayed.  Also, the same basic code is now used for PDA, headset and nuke-
round uplinks, and it should be easier to add new items.
Revision: r3216
Author: 	 musketstgstation
2012-04-25 00:35:54 +01:00
kortgstation@gmail.com
d3523a3e91 Added Wjohntsons little toy mechas.
Removed restrictions for cultists, anyone can be converted now.

Bibles no longer deconvert cultists to stop the random bible smashing from ruining rounds

Soulstones can no longer capture the manifested ghosts. No more infinite constructs.

Removed the telecomm traffic control from the map until its fixed.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3500 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-24 05:16:58 +00:00
petethegoat@gmail.com
f91dfe2e0d Updated the barman's shotgun, it acts like a double-barrel now, and he can saw it off.
Added Khodoque's new shotgun sprites.

Added my new gasmask sprites. Removed emergency gasmasks, as the distinction is non-existent.

Very slightly reshuffled some mask stuff around, but it's still godawful.
Medical masks are now /obj/item/clothing/mask/breath/medical

Removed the define for HALFMASK, as it was completely unused.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3493 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-22 03:18:17 +00:00
Ren Erthilo
ee5149accc New verb: rightandwrong
When used, it will arm every human mob that is not already a special role (and
with a client assigned) with a random gun from the following list:
-Taser
-Egun
-Laser
-Revolver
-C20r
-Decloner
-Desert Eagle
TG: -Gyrojet Pistol
-Pulse Rifle
-Silenced Pistol
-Laser Cannon
-Combat Shotgun
-Mini-Uzi
-Mini-Ebow

It will then inform the player that
"You are the survivor! Your own safety matters above all else, trust no one and
kill anyone who gets in your way. However, armed as you are, now would be the
perfect time to settle that score or grab that pair of yellow gloves you've been
eyeing..."

And make them a traitor/give them the objective to survive till the round ends.

After use, rightandwrong will remove itself from the users list of verbs.

rightandwrong addeded to the Spellbook under "Summon Guns"
The verb will appear in the spell tab.

Updated changelog
Revision: r3071
Author: 	 kortgstation
2012-04-22 02:54:46 +01:00
Ren Erthilo
2b72fd42c7 TG: Added a new one-use artefact, Veil Render(sprites by Ausops), for the wizard
which will summon Nar-Sie after a few seconds of delay. Yes believe it or not I
got permission to add this.

Added Veil Render to the spellbook

Added the effect "rend" as part of Veil Render's summoning process. Rend spawns
Nar-Sie and deletes itself after a 3 second delay.

Updated the changelog.
Revision: r3067
Author: 	 kortgstation
2012-04-22 02:48:53 +01:00
Ren Erthilo
23cb47f0b1 TG: The armoured construct is now known as the Juggernaut. Its health was lowered
and it takes massive damage from being hit with a bible. The Juggernaut has a
lesser version of force wall.

Added the Wraith construct, a faster, more fragile construct which has a lesser
version of Ethereal Jaunt. It too is vulnerable to bibles.

The Chaplain is now immune to blood boil, stun talismans, and cult blind/deafen

Constructs are finally creatable by using a full soulstone on an empty construct
shell. The creator will be able to choose which kind of construct is created.

Cultists can get construct shells from their supply talisman

Wizards now get the spell "Artificer" which allows them to create construct
shells for free when they select the soulstone belt.

Medical Borgs are now relentless to prevent them losing hold of incapacitated
patients.

Added the Artificer (conjure construct shell), Phase Shift (lesser jaunt), and
Shield (lesser forcewall) spells
Revision: r3054
Author: 	 kortgstation
2012-04-21 20:49:59 +01:00
Ren Erthilo
242648c256 Properly adds attack logging to a separate attack log. Also adds logging for flashbangs. Config change too! 2012-04-19 20:18:24 +01:00
Ren Erthilo
841105e1f5 TG: Widespread grammar fixes! Still loads I've yet to fix. It'll take forever.
Resolved  Issue 333 : The plastic flaps on the mining station now actually block
air-flow. http://code.google.com/p/tgstation13/issues/detail?id=333
Fix for runtime in  issue 332  until getrev is fixed.
https://code.google.com/p/tgstation13/issues/detail?id=332
Resolved  Issue 331  https://code.google.com/p/tgstation13/issues/detail?id=331
Resolved  Issue 304  https://code.google.com/p/tgstation13/issues/detail?id=304
Removed a lever I found randomly placed within the asteroid rock.
Revision: r3021
Author: 	 elly1...@rocketmail.com
2012-04-17 22:11:45 +01:00
Ren Erthilo
692a6f8e0e Merge fix. 2012-04-17 00:47:36 +01:00
Ren Erthilo
70aa34fd39 TG: added stats logging for spell learning (object based spell system only) and
fixed alert level change logging for the comms console.
Revision: r2980
Author: 	 baloh.matevz
2012-04-16 22:32:24 +01:00
kortgstation@gmail.com
0e62a55fd5 Added cult girders (sprites by Ausops).
Cult walls can now be reduced to said girders.

Artificers can now create cult floors with a new 

Added the damaged cult floor sprites by Ausops.



git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3466 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-16 06:11:41 +00:00
Ren Erthilo
5f54641c82 TG: - Welding shards while on top of a stack of glass (with less than 50 sheets) now
adds the produced glass to the stack.
- Some runtime fixes r2919 Author: quartz235
2012-04-09 15:06:03 +01:00
quartz235@gmail.com
1f2e67f9ff Runtime fixes
Moved delete to trial admins because they can already mass delete and that's not particularly as helpful as regular delete (but a lot more destructive)
Trialmins can now toggle adminhelp sounds without observing

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3397 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-03 00:09:44 +00:00