Commit Graph

70 Commits

Author SHA1 Message Date
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
paprka 4761563571 removes carp and blood checks from holodeck 2015-01-31 23:18:21 -08:00
paprka f071655ea4 updates and optimizations 2015-01-24 01:12:57 -08:00
phil235 d5a7d82959 Fixes a lot of "the the" in messages. 2014-12-16 22:59:55 +01:00
Hornygranny af3f1aa4d8 Merge remote-tracking branch 'remotes/upstream/master' into emagrefactor
Conflicts:
	code/game/machinery/deployable.dm
	code/game/objects/items/weapons/storage/lockbox.dm
	code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm
	code/modules/clothing/glasses/hud.dm
	code/modules/mob/living/silicon/robot/robot.dm
2014-12-09 16:03:45 -08: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
Hornygranny 678a13c451 moves emag effects from attackby() into atom proc emag_act() 2014-11-20 17:49:06 -08:00
Razharas ff456ebaf4 Unwinded most of shit
Meh
2014-11-19 21:36:45 +03:00
tkdrg 70f4cd24ef Floor refactor MkII: Fixes a few potential bugs 2014-11-14 21:36:45 -03:00
tkdrg ed4c03b099 Floor cleanup: Repaths /turf/simulated/floor to /turf/simulated/floor/plasteel
Repaths carpet and grass to /turf/simulated/floor/fancy/carpet and /turf/simulated/floor/fancy/grass
Cleans up a few floor procs
2014-11-12 22:50:32 -03:00
tkdrg 9526b8804b Merge remote-tracking branch 'upstream/master' into attackoftheturfs 2014-10-30 19:35:03 -03:00
tkdrg 95f6c29442 Floor refactor: fixes floor tile icon_state switching, removes uneeded spawns, cleans up old cruft and redundant code
Fixes #1839

Fixes #2797
2014-10-22 08:59:37 -03:00
tkdrg cd5720b6a7 Floor refactor, try #1 2014-10-19 16:48:35 -03:00
phil235 dbea503e88 Removing the fourth argument (air_group) of CanPass() everywhere, because it isn't used anywhere.
Fixing one instance of "for(mob in viewers) show_message()" to "visible_message()"
2014-10-15 18:03:06 +02:00
Firecage f3051ba582 Absolute paths for the other machinery files 2014-08-07 09:45:17 +02:00
Rolan7 e89a07dcf4 Dodgeballs now call the super code so they can be caught, theoretically deal real impact damage, and they actually give messages on hit. Fixes #1063, and makes dodgeball not so eerily quiet. Also fixes "too large to fit in this the backpack" in storage.dm. 2014-05-21 14:37:55 -04:00
Cheridan 3a0bd3de28 Merge branch 'master' of https://github.com/tgstation/-tg-station into MeteorsSuck
Conflicts:
	code/game/turfs/simulated/walls.dm
2014-05-13 14:03:42 -05:00
phil235 7083f6961b Gives name and hitsounds to holo esword 2014-05-01 00:01:51 +02:00
Cheridan 4d8160ab14 meteorhit() is kill 2014-04-22 12:16:02 -05:00
Razharas 6cb3ae5183 Revert "Merge pull request #3142 from Alek2ander/master"
This reverts commit 6f9b58abce, reversing
changes made to eda7110a23.

Im so sorry aran, so sorry
2014-03-29 18:02:54 +04:00
Alek2ander 81b1b189de paipairing
Stuff
2014-03-22 22:33:09 +04: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
Ergovisavi ac269baacb Fixes bullet_act not checking for damagetype on many, many objects.
Replaces Holodamage with Stamina damage, if your stamina damage exceeds your current health, you get weaken(5)'d. Stamina heals itself slowly over time.
Makes the hallucination enemies deal more stamina damage than they did holodamage, but stamina damage heals now so it's mostly for just seeming threatening at the moment.
Adds the Disabler, a gun that does stamina damage. It has a range of your screen, but no more. Adds a disabler crate to cargo (security lock)
Fixes Lasertag ED209's because they were busted as shit
Reduces ED209's view range to 9 from 12, which was several times longer than your screen view, now is only a little bit more
Lastertag now does stamina damage instead of an instant stun for that GRITTY LASERTAG EXPERIENCE
2014-03-01 16:39:22 -08: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
Miauw 3b24bb64f4 Merge branch 'master' of https://github.com/tgstation/-tg-station into NODROP
Conflicts:
	code/modules/mob/transform_procs.dm
2014-02-18 18:22:40 +01:00
Hornygranny 9d3f8f6a2d second pass 2014-02-15 20:11:12 -08:00
Miauw 9b8656247c u_equip is now called unEquip PANIC 2014-02-13 20:58:33 +01:00
Miauw 1307a9e388 Makes NODROP work for carbons, adds sanity checks to u_equip calls. 2014-02-12 21:08:09 +01: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
Jordie0608 b143783881 Holocarp, like normal but cooler and less corpsey. 2014-01-25 04:11:10 +11: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
Giacomand ceec829294 Tons of typo fixes and renames Centcomm to Centcom. Manual merge of #1950. 2013-12-13 21:14:23 +00:00
Aranclanos 055f7246c5 Sparks won't be spawned in a null location if the holodeck changes the target before their time to spawn. This will stop some runtimes.
Shotguns won't runtime when pumped.
2013-11-26 10:25:43 -03:00
Kyrah Abattoir 595d4f8b00 FIX dna console and lush grass 2013-11-18 20:07:13 +01:00
Kyrah Abattoir 422f11900e code/game/machinery/computer/* lowercase pass 2013-11-18 18:54:40 +01: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
KazeEspada cbb041637b Merge branch 'master' of https://github.com/tgstation/-tg-station into computers 2013-09-17 16:43:19 -07: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
KazeEspada 630a691c6d Cleans up computer code severely. fixes issue #1004. Aliens and Monkeys can now smash computers. However, this only applies to computers with buildable circuit boards. Computers without boards are now impervious to attack and deconstruction(can't steal atmos computers or slash up the escape shuttle computer).
Hologram computer has been moved to unused. It has some interesting ideas, but it needs sprites and fix up.
2013-09-17 13:22:39 -07:00
Aranclanos 03aeca1119 Small change for the power_change() proc of the holodeck. 2013-07-24 12:55:37 -03:00
Aranclanos 6024ba732c Holodeck computers will use power_change() now, who will call their emergencyShutdown() proc. This will make the holodeck shut down if the power of the area dies.
Added a check on the emergencyShutdown to see if the holodeck area is already empty.
Removed the unused togglePower() proc of the holodeck computer.
2013-06-26 22:30:47 -03:00
Cheridan 725718dd5b -Replaces the holodeck boxing ring that no longer works with a dodgeball arena. Adds dodgeball sprites and defines.
-Fixes the crew monitoring console disappearing when damaged (meant to do this before but the change didn't go through somehow)
-Readds the space piano, removes the useless /device subtype from its path.

-Makes tables use a less hardcoded method to determine iconstate.
2013-05-02 11:52:55 -05:00
petethegoat@gmail.com bdf8abff40 Overhauled grabs. They should pretty much do the same thing as before, although they should be a fair bit more effective.
Updated some text styles and such along the way.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5818 316c924e-a436-60f5-8080-3fe189b3f50e
2013-03-07 01:30:29 +00:00
giacomand@gmail.com 46dc7d6084 Committing Faerdan's UI overhaul. Includes a UI browser class to easily manage and standardize user interfaces. This first release does not convert all the user interfaces in the game but only most of them. You can find samples of these user interfaces here: http://imgur.com/a/5dr6E
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5794 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-27 20:02:42 +00:00
giacomand@gmail.com 76a6ef2252 -Cleaned up computers. Fixes Issue 1195
-Made computers use idle_power_usage and active_power_usage that it used from the MC.

I'm sure something is likely to break because I removed a lot of snowflake code. I tried to test all the computers with what I can but if you find something odd then please tell me.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5369 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-21 20:38:36 +00:00
aranclanos@hotmail.com ac116cb88d . Fixed the runtime of the holodeck
If an object gets deleted, it won't be removed from the holodeck list of objects. So the stupid proc will try to do stuff with null. Bad proc.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5368 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-21 18:34:20 +00:00
giacomand@gmail.com 6a2d78bc94 -Killed the updateDialog lag. I added a check to see if there were any mobs to update, if not it will stop checking until a user uses the machine again. I had to replace all the machine = src and machine = null with procs to help make it manageable. I believe this is one of the culprits causing the server to lag as the round goes on, as more players will interact with machines.
-Atmos delay is now based on active players, to help fight lag for massive player rounds.

-Changed some for(blah in world) loops to use the correct lists.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4958 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-25 19:15:51 +00:00
Kortgstation@gmail.com a713ab64a2 More visible_message stuff. This is terrible.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4936 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-22 23:40:02 +00:00
giacomand@gmail.com 6616314ca6 -Cleaned up Simple Animals by having a hostile class which will handle standard attacking, then the childs of that class can override the procs to do something different, if needed.
-Cameras won't shock you anymore, when cutting the power wire.
-Cultists cannot be gibbed by placing more runes that is allowed, instead it says no and to clear any unused runes.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4926 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-21 01:31:41 +00:00
aranclanos@hotmail.com 7bbf30c800 Fixes issue 1007. Changed the throwforce of the holodeck energy swords from 5(!) to 0.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4921 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-20 14:39:11 +00:00