Commit Graph

2954 Commits

Author SHA1 Message Date
Aranclanos dd281bb6b2 Merge pull request #1561 from RobRichards1997/11/10/2013-Limbs-are-Objects
Changes Limbs into Objects [Merge/Give Feedback]
2013-10-22 00:41:09 -07:00
VistaPOWA c188c2374d Adds roman armour set and shield
Made by troots.
2013-10-21 22:43:19 +02:00
Giacom 1a23bc2326 Merge pull request #1555 from Ergovisavi/fire_explosion
Fiery Explosions! - And some wizard tweaks
2013-10-17 00:19:25 -07:00
Ergovisavi cd904826f1 Removed flame_range from meteor explosions, reduced flame_range on syndie minibomb, added flame_range to all welderbomb explosions, made args prettier 2013-10-16 22:10:26 -07:00
supersayu a7398c2205 Mecha fixes
Prevents mech actions from acting on the user's inventory.  Fixes #1487.
(Almost) fully prevents inventory use from within a mech, to be more consistent.  The internals GUI button still works on the theory that it's emergency equipment.
2013-10-16 01:30:00 -04:00
Atskadan 124e3f3c5f Fixes "Its locked! in lockbox.dm to say "It's locked!" as it should 2013-10-13 23:25:41 -05:00
Ergovisavi 470341ecfd Made explosion arguements more readable for the ones with flame_range added to them
flame_range explosions no longer call fire_act() on mobs in the range, but instead spawn a hotspot on them.
2013-10-11 20:07:53 -07:00
Robson Richards 1c70008d0c Changes Limbs into Obj's
Reworked all the paths for it
Reworked all the procs for it
2013-10-11 19:11:55 +01:00
Ergovisavi 7fd1465e17 Adds a new arg to explosion(), flame_range, for fiery explosions! Any mob in that range will be set on fire! Also creates some hotspots (mostly for ambience, won't generate them on existing space tiles) and changes the spawn explosion in the VV tab to let admins make fiery explosions.
Adds a cap for flame_range in global.dm
Added a flame_range for syndibombs, syndieminibombs, Wizard's fireball, fuel tank explosions, and meteors.

Adds firesuit level temperature protection to the wizard hardsuit for safety from your own fireballs setting you ablaze
Adds ExtinguishMob() for Ethereal Jaunt to make wizards a little less vulnerable to fire
2013-10-10 18:46:47 -07:00
Mloc-Argent db0a908038 Make energy weapons not get a bloody overlay and fixed alt-gr not calling AltClick()
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2013-10-08 20:15:56 +01:00
Giacomand 796f3ca9f1 Merge pull request #1517 from Mloc/tg-byond500
[MAP] Refactors the code to work with BYOND 500.  Big commit.
2013-10-07 07:05:46 -07:00
Giacomand acec04c001 Merge pull request #1483 from Ergovisavi/ied_fix
Fixes issue #1418
2013-10-06 16:02:48 -07:00
Mloc-Argent 79495f710a Refactors the code to work with BYOND 500. Big commit.
Var changes:
* /obj/item/var/color is now item_color
* /obj/machinery/portable_atmospherics/canister/var/color is now canister_color
* /obj/machinery/atmospherics/var/color is now pipe_color
* /mob/living/simple_animal/mouse/var/color is now body_color
* /mob/living/simple_animal/chicken/var/color is now body_color

Proc changes:
* /obj/machinery/door/proc/animate() is now do_animate()
* /obj/machinery/transformer/proc/transform() is now do_transform()

Map changes are due to pipe instances being changed from color to pipe_color

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2013-10-06 19:47:30 +01:00
Cheridan ad6fa779b5 Merge pull request #1446 from Ricotez/airlockpainterfixes
Fixes and improvements to airlock painters.
2013-09-30 19:15:30 -07:00
Ergovisavi e473b76335 Fixes issue #1418
Adds a range check for filling up IED'S.
2013-09-29 18:43:09 -07:00
Ricotez 5bd1a5bde7 -The airlock painter now shows a message when initially used on an airlock and out of ink/toner cardridge.
-Codewise the functionality of airlock_painter/use() was divided between two procs. Use() still works the same, but can_use() only checks if the painter can be used, without draining ink or playing sounds if it can.
2013-09-30 01:38:31 +02:00
Ricotez b012829467 -Fixed being able to open the paintjob selection window and just walking away to paint the airlock from a distance.
-Fixed a few runtimes that could occur if the toner cardridge were removed while the paintjob selection window is still open.
-If you remove the toner cardridge from the airlock painter, it will now try to be put in your hand before falling to the ground.
2013-09-29 17:40:41 +02:00
Aranclanos c219c9e4ba Merge pull request #1405 from Incoming5643/toyAI
Adds a toy AI to the arcade machine prize list
2013-09-28 14:58:53 -07:00
Cael Aislinn 4ea0fe35b0 Merge pull request #1469 from Ergovisavi/ergo_mobs_on_fire
Mobs on fire: The return: The reckoning
2013-09-28 10:00:24 -07:00
Ergovisavi 3bd07c39de Swapped extinguishers back to their default value. We'll see how it plays out. 2013-09-28 09:49:53 -07:00
Incoming5643 9035fa97de Cleaning up (1/2) 2013-09-26 12:49:38 -04:00
Ricotez 09663b8507 -Removed an unnecessary typecast and duplicate function call from the airlock painter code. 2013-09-25 11:59:49 +02:00
Ricotez 2668f82633 -You can now remove the toner cardridge from an airlock painter by clicking on the painter in your hand.
-You can now install a toner cardridge into an airlock painter by clicking on it with the toner.
2013-09-24 22:33:32 +02:00
Ricotez 0882d41574 Fixes and improvements to airlock painters.
-Airlock painter can now be used on finished airlocks to change their paintjob. Keep away from the Clown.
-Airlock painter description up to standards. It still shows the current ink level.
-Fixed a bug with painting airlock assemblies where painted glass airlocks deconstructed to assemblies reconstructed to airlocks would lose their glass status.
-Airlock painters now make a sound (effects/spray2.ogg) when used to paint an airlock.
2013-09-24 21:31:39 +02:00
Incoming5643 249ac94c59 Took the blink out of gift wrapper 2013-09-24 01:17:13 -04:00
Malkevin 08a8884b0c Merge branch 'master' of https://github.com/tgstation/-tg-station into radcollectors 2013-09-23 22:45:28 +01:00
Aranclanos f887f57511 Merge pull request #1412 from Rolan7/RainbowSwords
Rainbow swords
2013-09-23 01:36:10 -07:00
Cael_Aislinn 772acc95c4 mobs on fire system, by ergovisavi
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2013-09-22 04:59:48 +10:00
Rolan7 04fbcb4104 It's now hacking via multitool instead of emagging via emag... maybe people will actually do this (: 2013-09-20 13:12:30 -04:00
Rolan7 d2d664a193 Used Aranclanos's code for combining swords without dropping both hands! Re-added the icons to the fresh DMIs. Self-testing found no issues, this is ready for someone to approve. 2013-09-19 18:49:32 -04:00
Malkevin ce0828c600 Radiation Collector analyzing
Checking a collector's last power output via analyzers has been moved to multitools, because that actually made sense (betcha didn't know this existed, I know I didn't)

Analyzers can now be used to check the gas level of the tank in a loaded radiation collector (yay no more crowbars)
You can also use them on pipes to check gas levels (yay no more pipe meters)

Codewise, the several inconsistant instances of the analyzer code have been moved to a single proc. The following have been converted to use this:
-Pipes (they didn't have this before. Also changed the attackby code to be less dumb...)
-Pipe tanks (you know those big ones in maint everyone forgets about)
-Portable Atmospherics (canisters, air pumps, scrubbers)
-Flamethrower
-Tanks
-And now collectors
2013-09-19 22:15:11 +01:00
Rolan7 46b2b122c2 Should bring admins.txt in line with tgstation upstream, and the icon files match the upstream ones too. The icon files do still need to be edited, of course. 2013-09-19 15:46:35 -04:00
Rolan7 7b9e32c0da Merge branch 'master' of https://github.com/tgstation/-tg-station into RainbowSwords
Conflicts:
	code/game/objects/items/weapons/twohanded.dm
	config/admins.txt
	icons/mob/items_lefthand.dmi
	icons/mob/items_righthand.dmi
2013-09-19 14:31:05 -04:00
Pete Goodfellow 26088805b8 Fixes #121. 2013-09-19 15:54:02 +01:00
Incoming a8e4e185ae Adds a traitor item ToyAI that can upload the last ion law it generated via an upload console. Note that this is NOT a normal ToyAI that has been emagged, but rather an upload board mimicing a ToyAI (with a tell in the description).
This ToyAI has been added to the AI subversion bundle, note that since a traitor with this bundle already gets a hacked AI module there's no added benifit to it being there, its just for whimsical traitors who'd enjoy adding a little spice to the AI or false flag the changes as a badmin ioning an AI.
2013-09-19 01:15:39 -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 c172e52dce Adds telekinesis to click code. Fixes issue #1202, #1129, #247.
This adds two atom procs, attack_tk() and attack_self_tk().  attack_tk is used as per attack_hand; attack_self_tk exists on all atoms (not just items) but is similar to the item proc, but without the assumption that it is in the user's hand.

Removes the functionality where entering throw mode would create a tk grab, as it is redundant.

As a default, attack_tk does the following:
* Creates a telekinetic throw for items and un-anchored objects
* Does an attack_hand (paw, animal, etc) for anchored objects
* Does nothing to mobs

As a default, attack_self_tk does nothing.  An attack_self_tk was added to closets to open and close them since that's a common thing.

The following items have added attack_tk procs:
* Fire axe cabinet, extinguisher cabinet, and bedsheet bin will drop into their square instead of putting it in your hand
* Doors only open telekinetically if they require no access
* Chairs will rotate if nobody is buckled to them
* Filing cabinets will remove a paper at random.
* Tables and racks return to prevent telehulk smash

This is INCOMPLETE.  Adding proper TK interaction to everything is something best done in pieces.

In particular, interacting with mobs and items both open up the floodgates for bugs, so we/I need to decide how we want it to go before we commit, and then fix bugs along the way.  Stumbling forward, fixing bugs, and then changing course halfway would be a bad idea.
2013-09-17 18:19:09 -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
Pete Goodfellow 3cf60df02d Merge pull request #1334 from Malkevin/cargoexilimps
Cargo Bay: Exile Implants
2013-09-14 07:22:10 -07:00
Ergovisavi 439aec7b50 Merge remote-tracking branch 'remotes/upstream/master' into dualsaberreflectmerge
Conflicts:
	code/game/objects/items/weapons/twohanded.dm
2013-09-12 18:02:15 -07:00
Malkevin 8b90f8a92c Fixed the description on the new box 2013-09-12 11:12:14 +01:00
Aranclanos 95bfb86226 Merge pull request #1280 from Ergovisavi/improvexplosive
Adds createable Improvised Explosives!
2013-09-12 02:30:04 -07:00
Ergovisavi 0c33c684d0 Swaps dualsaber wielded force to 34 2013-09-11 18:39:14 -07:00
Ergovisavi fdb72fa3e7 Moves the fuel remaining in the fuel tank check around 2013-09-11 18:33:56 -07:00
Malkevin 84616d69aa Cargo Bay: Exile Implants
I forgot to add these the first time around.
2013-09-10 18:22:51 +01:00
Ergovisavi a224d36dd3 Ups the required fuel for improvised explosives to 50 units. 2013-09-09 01:50:01 -07:00
Ergovisavi 0a73de0e41 Fixes the issue of being hulked after wielding a dualsaber still giving you the reflection bonus. 2013-09-09 00:03:02 -07:00
Ergovisavi c2fe5edbd9 Adds a text message when a welding fuel tank has less than 30 fuel and you try to fill an iedcasing with it
No more -amount, cable coil is properly used up.
2013-09-08 23:20:15 -07:00
Cheridan a830ba2740 Merge pull request #1282 from MrPerson/grammer
Grammar fixes
2013-09-04 10:01:31 -07:00
Ergovisavi 926f809f3f removed redundant ..() from ghettobomb.dm 2013-09-02 15:30:27 -07:00