Commit Graph

70 Commits

Author SHA1 Message Date
phil235 79d25ef2d9 Fixes remotely detonating planted c4 with signaler.
Move CanUseTopic() procs to the correct files.
2015-11-11 15:57:05 +01:00
bear1ake f697ae90f5 removes a bunch of .0 2015-09-10 20:57:30 +09:00
Razharas 93b9f96cfa Merge pull request #11341 from bgobandit/suicideisnotajoke
Adds/tweaks several suicide messages.
2015-09-06 06:42:00 +03:00
c0 df7386a4ec Assemblies update 2015-09-04 11:22:37 +03:00
xxalpha 19947d4fa0 Added qdel(wires) to a bunch of objects Destroy proc.
Return ..()
2015-08-27 11:10:58 +01:00
bgobandit 4fe28339c5 Makes requested changes. 2015-08-26 18:37:14 -04:00
bgobandit 4909600303 Adds/tweaks several suicide messages. 2015-08-23 15:02:34 -04:00
Memendia 9ecee2251b Grammar Fix
Fixes 
Shiina Kishida activates the C-4 and holds it above  >>>  his  <<< head! It looks like she's going out with a bang!
2015-08-18 00:42:30 -07:00
Firecage 4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
MrStonedOne a262f9aac7 Attack logging tweaks
Removed the "feature" to have something log in an atom's vv attack log, but not the file attack log. all attack log items will go to the file as well as vv.

Replaced all hard coded src.name/name for attack log's object argument with an actual object (src) except where it made more sense not to.

All attack logging *should* happen AFTER damage is applied now.

Removed the confusing attack entry for when a changeling stings another changeling.

Tweaked how punch attack logs worked
2015-07-08 23:14:37 -07:00
Iamgoofball a8ec1c76df Merge branch 'master' of https://github.com/tgstation/-tg-station into graphics
Conflicts:
	code/ATMOSPHERICS/atmospherics.dm
	code/game/machinery/computer/computer.dm
	code/game/objects/items/weapons/explosives.dm
	code/game/objects/structures/crates_lockers/closets/fireaxe.dm
	code/game/objects/structures/musician.dm
	code/game/objects/structures/tables_racks.dm
	code/game/objects/structures/window.dm
2015-06-23 12:54:26 -07:00
Ikarrus 75d444b836 Fixes Broken C4s
Trying to place a C4 on an object will currently move the object onto your tile, and produce a runtime. This was because the code was trying to drop the target rather than the C4.
2015-06-21 10:18:15 -06:00
Cheridan a2948ba203 Merge pull request #9956 from Jordie0608/whocodesthecodemen
Various admin improvements
2015-06-20 00:53:30 -05:00
xxalpha b2e84a0d3c Put drop_item() calls inside ifs. Replaced some drop_item() with unEquip( 2015-06-14 20:11:40 +01:00
Jordie0608 a67de221cc JMP replaced with FLW, fixes and adds a bunch of key_name checks in adminlogging 2015-06-14 23:37:35 +10:00
Iamgoofball c2256d41fc BAR NOW SHOWS UP ON THE OBJECT YOU'RE INTERACTING WITH 2015-06-13 13:58:08 -07:00
Aranclanos e7c0d7e95c Removes unsimulated turfs.
Moves shuttle turfs to paths under /turf/simulated/floor and /turf/simulated/wall
Players can now safely build on top of shuttle turfs
Fixes #1711
Adds several but not all paths for the different types of floor turfs, most of them in plasteel_floor.dm
The turf pathings are still in need of a deeper organization, but this is at least a start
2015-06-01 23:24:18 -03:00
kingofkosmos de280c72b5 Removed some more spans from visible messages. 2015-04-24 21:06:59 +03:00
ACCount12 f10d0df8cf Merge remote-tracking branch 'origin/master' into mining 2015-03-31 18:31:12 +12:00
ACCount12 1c219f0ebe A lot of stuff 2015-03-31 18:30:09 +12:00
xxalpha 973f374276 Fixed the C4 being planted on the DA. 2015-03-22 16:26:58 +00:00
Xhuis 5e1c69a76a Removes unnecessary stuff 2015-03-09 16:48:41 -04:00
Xhuis 00e352cee2 Restores gibbing for suiciding with C4 2015-03-09 16:47:16 -04:00
Remie Richards 5fc7af7fbf attackby() now has an argument containing the parameters of the click that called it. Items placed on tables now center their icon where the user clicked. this is NOT true for racks, since racks look organised in their sprite.
Items reset their pixel_x and pixel_y values on pickup.
2015-02-19 13:02:43 +00:00
Razharas d5d7b7f4d7 Fix of c4 not deleting on signaler explosions
Fixes #6393
2014-12-16 00:47:09 +03:00
Razharas 7758a0afed Ok now explosions shall work properly
Changed severity to target, make items not destroy themselves on
severity lower than 1, all that stuff
2014-12-05 23:21:48 +03:00
Razharas b071a0167e Made explosions work in a slightly different way
Yep
2014-11-18 16:22:41 +03:00
Razharas 3a9c5be027 Fix of c4 incorrect behaviour
Yes yes its a bug there is issue with it and its called a bug and this a
a bug fix not a feature dont freeze
2014-11-16 13:59:36 +03:00
phil235 f5eb963720 You can no longer gib mobs by placing a c4 with a signaler on its wire in the hands/pocket/backpack of the mob and sending the signal. 2014-10-12 22:17:37 +02:00
Jordie0608 facb2744cb Standardizes name and path of plastique/plastic explosive/c4 to C4 2014-09-21 17:34:26 +10:00
Firecage 6c7af5eb32 SPANCLASSES!!!!! 2014-08-26 09:52:13 +02:00
Miauw 9173a46bfd Makes C4 unable to be planted on mobs and reduces C4 cost to 1 TC 2014-07-14 13:28:42 +02:00
Jordie0608 dfd2cc4b60 Changed suicide messages to visible_messages and fixed relative pathing 2014-05-13 01:44:29 +10:00
Aranclanos 129401c403 evidence bags will now use attackby() to add items to themselves
removed the preattack() proc
2014-04-29 08:38:51 -03:00
MrPerson ee716586b9 GEE THANKS GIA FOR MORE CONFLICTS (gravitygen changes to c4 vs qdel)
Merge branch 'master' of https://github.com/tgstation/-tg-station into qdel_r

Conflicts:
	code/game/objects/items/weapons/explosives.dm
2014-03-21 19:04:51 -07:00
MrPerson 6930283efc Merge branch 'master' of https://github.com/tgstation/-tg-station into qdel_r
Conflicts:
	code/game/gamemodes/changeling/changeling_mutations.dm
	code/game/gamemodes/changeling/changeling_powers.dm
	code/game/gamemodes/malfunction/Malf_Modules.dm
	code/game/objects/items/weapons/tanks/watertank.dm
	code/game/objects/structures/tables_racks.dm
	code/modules/research/server.dm
2014-03-21 03:05:39 -07:00
Giacomand cc4dd68bdf Added a new gravity generator which will produce gravity for the station.
Sprites by Ausop, which he posted in his sprite thread.

The gravity generator is very sturdy, as it is almost indestructible, but explosions can break it and it will need repairs.
Changed C4 to stop del()'ing and instead will only use ex_act().
Added an interact_offline variable for machines that will allow you to interact with them even if they are depowered. The gravity generator only uses this at the moment.

Removed the stun that people get when gravity changes.
Shuttles have gravity still.

Added a gravity generator room to the west of Engineering. It is very secure, with a foyer and requiring CE or Captain access. There are instructions on the table for repairing and enabling/disabling the machine.
2014-03-15 16:59:48 +00:00
Emil 59e5e4294f Fixing JMP-href in asay for C4 planting
The JMP-link in the message_admins() when planting C4 on walls/doors etc always teleported admins to 0,0,0. It has been fixed now.
2014-03-12 05:24:12 +01: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
adrix89 5bfe0cbd61 Merge branch 'master' of https://github.com/tgstation/-tg-station into attack_override
Conflicts:
	code/_onclick/item_attack.dm
2014-02-03 18:07:45 +02:00
adrix89 869f4efa0a I finally realize what was causing the click issues,so now it works with proximity flag. 2014-02-02 15:31:56 +02: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
adrix89 8658feae33 Remove adjenct check from click,and move it after attack self
Fixed https://github.com/tgstation/-tg-station/issues/761
2014-01-20 10:21:51 +02:00
Alek2ander ecf50f2de8 Goodbye nuke 2014-01-19 22:15:28 +04:00
Alek2ander 9fa38637ad Logs everywhere
Explosion game log now has epicenter coords
Powersink placement and explosion notifications
C4 notifications and logs
Logging singulo munchies and death
All SMES interactions now logged, because any of them can mess stuff up
Telesci logs what was teleported
2014-01-19 21:16:30 +04: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 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
Razharas 358a85eb3d Completed the transition to a new proc
All the logging i have found in the code was changed to use the
proc(maybe i missed something)
Killed all runtimes found so far
Proc now handles all the checks, no need to add checks in the body of
object
2013-12-17 22:56:04 +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