Commit Graph

843 Commits

Author SHA1 Message Date
KyrahAbattoir
fcb2fb9de3 Another lowercasing pass on a bunch of items and furnitures.
Synthflesh should be a plural.
Leg cuffs is better than legcuffs.
LaserTag -> laser tag is not a brand name.
centcom -> Centcom is always capitalised.
2014-07-27 19:14:40 +02:00
Cheridan
b02b93ce2a Notifications + Random Stuff
Adds sound notifications for Ninja and Wizard Apprentice spawning -- hopefully means fewer afk antags.

Adds a ghostnotice span class, used in the new notify_ghosts proc. Upon creation, things that require ghostly attention (NarSie, golem runes) give more visible messages to the dead.

Retires the 'moderate' span class, which was only used in tomato throwing? Refactors tomato code (this ended up being the meat of this PR, somehow...)

Reorganizes some item definition/procs.
2014-07-01 23:16:02 -05:00
ikarrus
4905beb67e Removes hacky code in favour of a process() check for the nuke disk's location
Instead of having a lot of hacky checks to prevent the disk from leaving the Z-level, it will be checked periodically by process() if Z > 2
2014-05-30 22:01:20 -06:00
Hornygranny
af2e792036 2oop4u 2014-05-27 12:07:53 -07:00
Hornygranny
6b7d3f49a9 muh OOP 2014-05-27 10:40:15 -07:00
Alex
3c2bff9fbc Merge pull request #3521 from phil235/BeartrapIconFix
Beartrap  fixes
2014-05-14 10:46:55 +01:00
Jordie0608
4078973a5c Unidentinization 2014-05-13 02:18:21 +10:00
Jordie0608
dfd2cc4b60 Changed suicide messages to visible_messages and fixed relative pathing 2014-05-13 01:44:29 +10:00
phil235
7f37c303e2 fix 2014-05-06 23:24:16 +02:00
phil235
1457506878 simplifying 2014-05-06 23:10:22 +02:00
phil235
0a163bcc43 target as mob -> mob/living/target 2014-05-03 17:01:16 +02:00
phil235
f3b6de4b61 fix missing 'proc' 2014-04-26 00:40:46 +02:00
phil235
ff4b6cd9e1 trying to reduce duplicate code. 2014-04-26 00:33:39 +02:00
phil235
a122e156c4 Fix legcuffing when stepping on two traps.
Prevents having two beartraps on your legs, which results in one of the two not appearing after resisting.
2014-04-25 00:07:28 +02:00
phil235
999e9eab15 missing parenthesis 2014-04-24 21:56:22 +02:00
phil235
ee6a8baed4 Some fixes for beartraps 2014-04-24 21:41:56 +02:00
Razharas
cb5eaf0b10 Tweaks and giggles 2014-04-11 01:36:38 +04:00
Giacomand
f2bfa3f5d4 Renamed maglite to seclite.
Refactor'd can_hold and cant_hold to use type paths instead of strings.
Removed an undefined object from the medical belt's can_hold list.
2014-03-29 11:10:35 +00:00
MrPerson
6b29fecda1 Merge branch 'master' of https://github.com/tgstation/-tg-station into qdel_r
Conflicts:
	code/game/machinery/bots/ed209bot.dm
	code/game/machinery/rechargestation.dm
	code/game/machinery/turrets.dm
	code/game/objects/structures/crates_lockers/closets.dm
	code/modules/research/circuitprinter.dm
2014-03-08 22:03:03 -08:00
Razharas
1eebd507ed Added better sprites 2014-03-02 04:59:14 +04:00
Razharas
876950a3cd Issues fixings
Yep
2014-02-24 15:53:24 +04:00
Razharas
8353c74168 Tiny refactoring
Yep
2014-02-24 07:55:11 +04:00
Razharas
b27d9c7396 Added RPED, some sprites and new power cell path
Your dreams of big part storage and fast machine part exchange came true
14 slot R&D part-only autoseeker/picker/dropper/exchager is in
Added different sprites for better capacitors and scanning modules
Changed the power cell type to be compatible with all this machine
changing faggotry
All sprites here are codersprites so ask nien/WJ for better ones if you
want
2014-02-24 05:14:43 +04: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
Razharas
e299b62400 Merge pull request #2817 from Sugarette/spellcheck
Spell check of origin_tech variables in items that no one deconstructs anyway
2014-02-20 16:25:57 -08:00
Sugarette
b48583a587 Merge pull request #3 from Sugarette/master
Wonder if it works
2014-02-18 22:07:56 +03:00
Hornygranny
2134add41b Items with throw_range over 7 reduced to throw_range 7. This does not affect players as there's no way to extend your vision range. 2014-02-17 15:44:07 -08:00
Sugarette
be3589a0be Fixed origin_tech in manipulator items 2014-02-17 10:28:01 +03:00
Hornygranny
9d3f8f6a2d second pass 2014-02-15 20:11:12 -08:00
Hornygranny
9e14c22747 Reduces throwspeeds on all items to realistic levels. 2014-02-15 19:58:03 -08:00
hornygranny
e0d0cedf36 passed over everything with throwforce 2014-02-13 18:06:50 -08:00
Tenebrosity
6f202788ea Fixes #2396 and #2395
- Banana peels are now grown weapons
- Banana peel slip duration is now based on their potency
- Clown spawns with a 50 potency banana, which is both regular sized and
produces a skin that's nice and slippery~
- Fixes nettle and deathnettle inhands not disappearing upon use
- Makes nettle and deathnettles use the hitsound variable instead of the
playsound proc directly. Now their hitsounds will scale in volume based
on damage done.
- Makes the banana mortar shoot potency 65 banana peels. Because
otherwise it'd shoot laughably tiny and short in slip duration potency
-1 ones.
- Moves corncobs to be grown weapons and updates their paths. Now their
size will scale based on the size of the corn that spawned them.
- Updates banan paths :)
2014-02-06 13:47:39 +13:00
Jesus Hussein Chris
52339906c4 Attack sounds for all melee weapons
Weapons that do no damage play a tap sound, except for the bike horn and banhammer.

Adds a different attack message for forceless attacks. It says tapped or
patted on instead of attacked in.

Adds force zero check to armour before attempting to block attacks.

Adds hitsounds to the welder, lighter, matches, cigarettes, energy sword and energy axe for when they're on and off.

Adds 5 force to the lighter when it's lit. Same as when you accidentally burn yourself lighting it. Adds a hitsound and the correct damage type to the lighter.

Adds hitsound volume scaling based on the weapon's force and its weight class. Adds tap sound scaling based on a weapon's weight class.

Removes boldness from item attack messages on non-human mobs. The attack is still bolded for the player
controlling the mob.

Adds a force check to blood spurts when attacking non-human mobs. If the weapon doesn't have a force, no blood will come out.

Adds adminhelp.ogg as the banhammer's hitsound with Cheridan's permission.

Adds a much needed period to the catatonic human examine message.

Makes the activation and deactivation sounds of toy swords, energy swords and energy shields quieter. What an earsore.

Makes description, item_state and name of matches that have burned out on their own consistent with those put out by the player. Changes match, cigarette and lighter attack verbs and forces based on whether they're lit or not.

Fixes a bug that allowed players to light cigarettes with burnt matches.

Names lit cigarettes and children of cigarettes lit [name].

Fixes a bug with the energy blade that kept it at weight class 5 after it was deactivated.

Changes the welder out of fuel message slightly to be less fragmented.

Removes dead air from most of the weapon sound effects used in this pull to make them more responsive. In other words, the fire extinguisher sound will play a lot sooner after you click than before. Equalised their peak volumes to all be -0.1dB and in an attempt to make altering volumes based on force more consistent.

Thank you @YotaXP for help with the item_attack.dm attack messages.

Thank you @optimumtact for help with code for testing item_attack volumes.

Thank you @Giacom for help with the code for scaling hitsound and tap sound volume by hitforce.

Thank you @Tastyfish for telling me why my proc wasn't working.

Thank you to anyone else on #coderbus who helped me who I've forgotten to mention.
2014-01-28 22:46:41 +13:00
fleure
ad49512b4e Merge pull request #2440 from Petethegoat/suicideformat
Updated all suicide_act()s to use a new span class, 'suicide'.
2014-01-20 11:11:23 -08:00
Pete Goodfellow
fd4df85045 Changed legcuffs to use slowdown instead of forcing the user to walk. 2014-01-19 20:17:23 +00:00
Pete Goodfellow
af4849ce72 Updated all suicide_act()s to use a new span class, 'suicide'. 2014-01-19 16:46:37 +00:00
Cheridan
58159a00ad Merge pull request #2105 from RobRichards1997/20/12/2013-Poker_Tables
Poker tables
2014-01-06 14:35:03 -08:00
Cheridan
bb9c09df46 Obsoletes flags = FPRINT | TABLEPASS*
*TABLEPASS was already totally obsolete.
FPRINT was used, but it was on virtually everything anyway.

Removes those flags from every instance where they were used. Also assigned and removed other flags where it made sense.

If it is desired, I can revive the flag as NOFPRINT, which would retain the original functionality, though inverted. That way it would be be used only  where it was intentional (holodeck items could use this for example).
2013-12-30 15:03:17 -06:00
Robson Richards
9dd0432697 Implements Gia's Superior Idea.
fixes some directions on Nienhaus's sprites
2013-12-21 20:09:52 +00:00
Robson Richards
b8d8975fe6 Fixes Kaze's Suggestion
Standardises the fuck out of Table attackby's (NO COPYPASTA ANYMORE YAY)
Adds a new proc which does the above.
2013-12-21 18:22:49 +00:00
supersayu
799c7ad2ce Replaces atom/HasEntered() with the builtin atom/movable/Crossed()
Crossed() is a byond builtin which is called automatically when two movable atoms overlap (as a side effect of Move(), but not when loc or x/y/z is changed).  Previously, turf/Entered() iterated through all objects in the turf in order to tell them an object had entered; with this change, HasEntered() becomes redundant and can be eliminated.

This may reduce lag when a large number of objects are moving in a small space (singularity, mining conveyors, etc) but should cause no changes to functionality at all.
2013-10-23 16:20:20 -04: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
475042a212 Click code rework
Fixes #646, #579, #863

Completely redoes the click code.  Moves all click related code into code/_onclick for reference.  Also moves hud datum code and all the screen object code I could find into code/_onclick/hud, as it is related.  Item attack(), attackby(), afterattack(), and attack_self() have been moved into item_attack.dm for consistency.

Completely removes dummy objects and adds atom.Adjacent(user).  This proc checks for border items and anything marked with throwpass for determining whether or not you can reach a given square.  A turf helper, ClickCross(), was added to facilitate this.

Removes the monolithic Atom.Click() proc in favor of an overridable click handler attached to mobs.  Click code no longer uses the : path operator as a consequence, and mob/lastDblClick has been moved to Client/next_click.  A few end arounds were necessary (screen objects, buildmode, and spells), but this has been handled by repurposing Atom.Click(); if you have special click code, insert it in the object's Click() function and return 1 to prevent normal processing.

This update adds support for attack_ghost(); the previous "new" click handler had support for it but was never finished.  I have taken the liberty of letting ghosts click portals, the gateway, and the teleporter to jump to the intended target square, and kept the previous default action of examine()ing every damn thing you click.  It is to be suggested that you could do more with this proc when ghost interactions are enabled.

This update also adds support for double clicking.  It is currently only used for ghosts and AIs, because the original (first) click still registers normally.  For both of these, double clicking a square will jump you to it, and double clicking a mob will follow it.  In the case of ghosts, double clicking bots and the singularity will also set you following it; if you double click your own corpse, you will re-enter it; this also works if your body is in a closet, sleeper, DNA scanner, etc.  Default mobs ignore double clicks as normal.

-- NOTE --

There are two flags which were previously unused or misused by click code: USEDELAY and NODELAY.  Ostensibly, USEDELAY would double the normal 1sec delay, and NODELAY would remove it.

Using either of these flags as intended would significantly affect the timing of the game.  In particular, USEDELAY is currently applied to guns and about everything else that acts at range.  I am adding USEDELAY as a half-second increase for now, but I have not put a significant amount of thought into it.  I considered lowering the normal 1sec delay to .8sec to balance it, but the consequences of that on combat involve more calculations than I care to make.

NODELAY seems to never have been used, and I did not implement it, but I could do so trivially.
2013-09-17 18:15:54 -04:00
Malkevin
32fa56980d HONK
Bike horns will now honk when you hit someone with it
2013-08-14 01:54:34 +01:00
Cael Aislinn
6531edd757 Merge pull request #576 from SuperSayu/camerabug
Fixes 'Camera Bug' item and makes it a viable tool.
2013-06-08 17:43:18 -07:00
Pete Goodfellow
b27b66a344 Fixes #672 Shards cut you when you put them into your bag
Moves the shard define into glass.dm
The "You step in the broken glass!" message only appears if you aren't wearing shoes.
Other misc changes and fixes.
2013-05-29 20:27:57 +01:00
supersayu
e8090ae34c Fixes 'Camera Bug' item and makes it a viable tool.
Camera bug acts as a mini-camera computer with access to all bugged cameras.

Adjusts camera checks to determine who is looking through them; instead of checking their machine, it now checks the client eye.

Adds camera bug to the uplink list with a cost of 2TC.
2013-05-12 17:52:40 -04:00
Cheridan
46920eeb39 COIN UPDATE
-Removes the unused/dumb access stuff from space cash.
-Fixes a bug where dice would vanish if you used a hand labeller on them.
-Moves space cash/coins/mint sprites into their own file, economy.dmi. Moves mineral sheets into mining.dmi.
-Coins are flippable! Features unique flipping sprites and sound effects, and two-headed coins.

-Oh and better sprites for wooden closets too.
2013-04-23 19:50:05 -05:00
Pete Goodfellow
75f7a529d1 Removes /obj/item/weapon/wire (it did nothing, it's not cables) 2013-04-18 19:57:24 +01:00
Pete Goodfellow
3496310ec3 Removes /obj/item/weapon/gift from the code, as it was completely unused.
Also removes the smallDelivery loop in /mob/proc/get_contents(). It's amazing that proc worked at all, it really does do what it's described as doing. I'm leaving it for now, as the game seems to have gotten on well enough so far, and it'll probably just increase processing for no gain if I fix it.
2013-03-28 13:02:46 +00:00