Commit Graph

15 Commits

Author SHA1 Message Date
Sawu 850673c684 Fixes Spraycans bugs
* Fixes Spraycans being used at a range
* Fixes Spraycans not consuming ammo when used as a stun.
* Changes the stun mechanic, so people with eye protection are only blinded, without it they are stunned fully.
2015-04-11 14:27:25 +10:00
Sawu 6103b2a5e1 Fixes Spraycans not coloring faces correctly
* Changes Spraycans and lipstick to use a fully tintable overlay.
* Lipstick now comes in more colors and (codewise) can be changed with one var.
* Spraycans now color the face overlay correctly, racism for everyone!
2015-04-08 15:02:32 +10:00
Sawu bfd0436324 See #7217
* Spraycans are given to Revheads
* Spraycans act as instant use crayons.
* Spraycans can be used on walls.
* Spraycans can be used as ghetto pepper spray, but leave the target with a coloured face (can be removed with space-cleaner)

(Old pictures, there is now only one can that changes color)

![can1](https://cloud.githubusercontent.com/assets/3829126/5812999/c3992e38-a0c9-11e4-8620-3e1ecbc97630.PNG)
![can2](https://cloud.githubusercontent.com/assets/3829126/5813002/c92d56d0-a0c9-11e4-8592-6ae15f594ca8.PNG)
![cap3](https://cloud.githubusercontent.com/assets/3829126/5825994/88a9260a-a143-11e4-8cd7-cd4491b0db2a.PNG)
![can4](https://cloud.githubusercontent.com/assets/3829126/5828055/28766ffc-a154-11e4-8bfb-f8475c84c6a4.PNG)
2015-03-31 02:26:05 +11:00
TZK13 18e4cec460 Adds a new body outline graffiti for crayons, gives the detective a white crayon, changes the sprite for the mime crayon, and puts a waistcoat in the detective's closet. 2015-01-03 13:44:23 -06:00
Lo6a4evskiy b5f0753c8f Prevented from using popups away from crayon, popup now updates properly, mime colours are properly shown. 2014-09-28 14:02:08 +04:00
Lo6a4evskiy 8ab6bf0c15 Super Awesome Crayons! 2014-09-24 22:19:12 +04:00
Lo6a4evskiy 82e1ce9141 Choosing graffiti instead of drawing random one 2014-09-16 20:57:24 +04:00
Firecage 6c7af5eb32 SPANCLASSES!!!!! 2014-08-26 09:52:13 +02:00
MrPerson 9eee3e5067 First pass at a qdel() garbage collection system for tgstation
Works pretty well. If it can't GC something, it'll just del() it and be done.
Speed is amazing, holy shit.

New procs you should be aware of:
qdel(atom/movable) - sets up an object for garbage collection. Call this rather than del(atom/movable).
atom/movable/Destroy() - called right before the object is GC'd, so it still has a loc. Also called if the object is del()'d.
new controller - garbage.dm has all the details on this. Basically it nulls all references on GC'd objects and force del() them if necessary.
Generally speaking, objects should use Destroy() for behavior prior to deletion rather than Del(). You should also always call the parent so the object gets the right gc_destroyed var set.

ISSUES:
Tries to GC mobs atm. This actually works for new players, not so much for humans/monkies/simple_animals/anything. I'm guessing it needs to clear out their mind and HUD and maybe other things.
Gibbing is really bugged. It works, but the overlays just sit there for awhile and ugh. I'm very tempted just to del() mob/living and mob/camera and call it a day.
qdel() equipment doesn't unequip the item.
Pipes don't generally GC correctly. Debugging suggests they get referenced in many pipenets and that isn't cleared properly. However some do work fine. Need assistance here.
Bots don't GC, probably in the radio controller.
Lots of other shit doesn't GC but it's hard to find them because of the pipe spam.
I think I'm calling Destroy() twice by accident.
2014-02-23 14:55:12 -08:00
Giacomand 11bca59614 Refactored the code to remove most icon operations for changing an icon's colour. I had to manually set all the icons, which are subject to colour change, to be have a white/grey icon, so that the colours added properly, and then have them coloured in the code. This means the icons for runes, the reagent beaker overlay, smoke and etc will all be white. They now all use the new 500+ color variable.
The only noticeable gameplay difference is that you can't choose your graffiti's shade.
2014-01-15 21:30:55 +00:00
AstralSerpent 73d4b247a2 Changes some stuff Giacom provided input on. Thanks Aranclanos and Kaze Espada for the help. 2013-10-06 07:21:19 +11:00
AstralSerpent 113d6c0193 Crayons can now be grinded down for coloured crayon powder, which can be used and combined to override reagent colours. 2013-10-05 17:23:17 +10:00
supersayu a993ce62db Bugfixen and minor changes. Fixes #136.
Adjusts the click code to not use client/Click().  The code is largely unchanged, except that it allows the compiler default behaviour of calling atom/Click(), and then forwards the call to mob/ClickOn().  I had some reports that melee combat mixed with movement was behaving oddly, and I believe it may be due to the use of client/Click; the byond documentation says that redefining client/Click() causes additional overhead, and it isn't strictly necessary.

Alters the way double clicks are handled, in an attempt to better handle clickspam, as often occurs during pitched combat.  This may also be responsible for the above, but I don't know.

Inserts proximity (aka flag) checks in all afterattack() procs.  The old assumption was that unless an item used the USEDELAY flag, afterattack() was only called when adjacent, but this is no longer true.  This led to beakers, soap, crayons, etc, all being usable at all ranges.

Removes the NODELAY flag, which was unused.  Removes all existing uses of the USEDELAY flag so that it can be readded to things that need extra delay.

Removes the hand_* procs, previously used by restrained actions.  Instead, the mob helper mob/RestrainedClickOn() has abosrbed basically all the functionality they were used for, which is really only monkeys with jungle fever.

Adds a special case of the Adjacency() proc for doors.  This fixes #136, airlocks being unreachable due to border fire doors.  However, this only takes us back to the unpleasant position where you have to open-hand the door, switch to a crowbar, and pry open the firedoor; it still needs a better fix.
2013-09-17 18:19:14 -04:00
supersayu 0aa3ce39e4 Bugfixen
Modifies Adjacent() for items, to allow items to be accessed properly inside each other and the user.  This fixes a few bugs seen in testing.
Sets a maximum telekinesis range (in case you were using cameras).

The telekinetic grab now does nothing at all in melee combat.  This prevents double messages where you attack them with the object telekinetically, and then also attack them with the telekinetic grab.

Crayons had a bug where they were drawing at all distances.  This is because in old click code, afterattack() only happened at range when you had the USE_DELAY flag, which is no longer true.  Proper behavior is to use parameter 3 (proximity_flag), which is 1 when adjacent or 0 if inaccessible.
2013-09-17 18:19:10 -04:00
johnsonmt88@gmail.com d36387607f More file structure stuff.
- The folders themselves are now finished
- Next I'll go through each file and organize them
- Lastly I'll start pulling the object definitions out of /code/defines/ and put them into their respective files.

**Note to committers**
Make sure the .dme file updates when you update to this revision. If necessary delete the .dme and svn-update.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4546 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-26 01:20:02 +00:00