Commit Graph

69 Commits

Author SHA1 Message Date
c0 6c9be9c82d Adds breathing tube implant, changes how heart works, reworks arm-mounted implants 2016-02-25 12:50:45 +03:00
phil235 8b11d87b1d Merge branch 'master' of https://github.com/tgstation/-tg-station into VisionUpdateRefactor
Conflicts:
	code/ATMOSPHERICS/components/unary_devices/cryo.dm
	code/_onclick/hud/alert.dm
	code/_onclick/hud/hud.dm
	code/datums/mutations.dm
	code/datums/wires/robot.dm
	code/game/atoms.dm
	code/game/gamemodes/blob/overmind.dm
	code/game/machinery/alarm.dm
	code/game/machinery/machinery.dm
	code/game/machinery/suit_storage_unit.dm
	code/game/objects/items/weapons/tanks/tanks.dm
	code/game/objects/items/weapons/tools.dm
	code/game/objects/structures/morgue.dm
	code/modules/admin/verbs/adminjump.dm
	code/modules/atmospherics/machinery/atmosmachinery.dm
	code/modules/mob/inventory.dm
	code/modules/mob/living/carbon/alien/humanoid/death.dm
	code/modules/mob/living/carbon/alien/larva/death.dm
	code/modules/mob/living/carbon/brain/death.dm
	code/modules/mob/living/carbon/carbon.dm
	code/modules/mob/living/carbon/human/death.dm
	code/modules/mob/living/carbon/human/human.dm
	code/modules/mob/living/carbon/human/human_damage.dm
	code/modules/mob/living/carbon/human/life.dm
	code/modules/mob/living/carbon/human/species.dm
	code/modules/mob/living/carbon/human/species_types.dm
	code/modules/mob/living/carbon/life.dm
	code/modules/mob/living/carbon/monkey/death.dm
	code/modules/mob/living/life.dm
	code/modules/mob/living/living.dm
	code/modules/mob/living/silicon/ai/ai.dm
	code/modules/mob/living/silicon/ai/death.dm
	code/modules/mob/living/silicon/ai/life.dm
	code/modules/mob/living/silicon/pai/death.dm
	code/modules/mob/living/silicon/pai/pai.dm
	code/modules/mob/living/silicon/robot/death.dm
	code/modules/mob/living/silicon/robot/life.dm
	code/modules/mob/living/silicon/robot/robot.dm
	code/modules/mob/living/silicon/silicon.dm
	code/modules/mob/living/simple_animal/guardian/guardian.dm
	code/modules/mob/login.dm
	code/modules/mob/mob.dm
	code/modules/projectiles/gun.dm
	code/modules/reagents/chemistry/reagents/blob_reagents.dm
	tgstation.dme
2016-02-04 14:34:45 +01:00
phil235 81ce777ec2 - you now only see turfs when inside gas pipes.
- I renamed some vars of datum/hud to be more selfexplanatory
- Moved all datum/hud mob code into the hud folder.
- fixed alien's zone selection button not using the correct sprites.
- I removed the update_hud() proc (that needed to be removed).
- Fixed a typo in /mob/living/carbon/ContractDisease , using "internals" instead of "internal" (very different things)
- Fixed doTeleport() calling Entered() twice on the destination area.
- To reference a mob's selected zone, you now use a direct mob var ("H.zone_selected" instead of "H.zone_sel.selecting")
- mobs lose certain screen objects var ("healths", "zone_sel", "internals", etc) which are now vars of the mob's datum/hud instead.
- the Blind spell is now done via the blind mutation instead of the blind disabilities.
- Give to mobs a version of forceMove(), so the mob is always properly unbuckled, his pull stopped, his vision updated, etc.
- The "user" var of mob/camera/aiEye/remote is renamed to "eye_user" to avoid confusion.
- reset_view() is replaced by reset_perspective(). Now all changes to client.eye and client.perspective are done with this proc.
- I reworked /obj/machinery/computer/security code, changing camera is instantaneous now, as well as cancelling.
- I reworked /obj/machinery/computer/camera_advanced code as well.
- I changed /obj/item/mecha_parts/mecha_equipment/mining_scanner's meson view to be constant instead of by intermittent.
- Fixes not being able to use /obj/item/device/camera_bug while buckled.
- removed admin_forcemove() proc, admin force moving now uses forceMove() simply.
- Removed the client var "adminobs"
- Added var/vision_correction to glasses.
- Added a thermal_overload() proc for glasses, to remove copypasta in emp_act code.
- Remove the hal_crit mob var
- We no longer delete the mob's hud everytime he logs in.
- Added a stat == dead check in mob's metabolize() so we immediately stop metabolizing if one of the chem kills the mob.
- Being inside disposal bin lowers your vision, like wearing a welding helmet.
- removed the remote_view mob var.
- I changed advanced camera EYE, some fixes, removed unnecessary code when the eye moves, now the mob client eye properly follows the camera mob.
- fixes mob var "machine" not being nullified on logout.
- larva/death() was calling two "living_mob_list -= src"
- I made the Blind screen objects into a global_hud instead of giving one to each mob (like damage overlay).
- I untied tint and eye_blind, TINT_BLIND doesn't give you eye_blind=1.
- gave a visual overlay when inside locker (vimpaired)
- when inside disposal/gas pipes you get sight |= (BLIND|SEE_TURFS)
- glasses toggling updates (atmos meson toggle): DONE
- The new adjust procs serve to properly change eye_blind etc and call vision update procs when needed.
- I added an on_unset_machine() proc to handle perspective reset for camera consoles.
- I moved consequences of eye_check fail inside eye_check() procs themselves.
- I fixed vision updates being fucked by forceMove, especially pipe vision.
- I decided that damage overlay not appearing when dead.
- mob's hud_used is no longer deleted on each login()
- I refactored mob huds a bit, creating subtypes for each mob (/datum/hud/human)
- f12's hud toggling is now available to all mobs
- gave borgs a low_power_mode var so unpowered borg do not use stat= UNCONSCIOUS (which made things weird since you were unconscious but not blind)
- Fixed double Area entering when forced teleporting.
- I fixed larva pulling not being broken when cuffing them, and larva not seeing handcuff alert (and they can resist by clicking it)
- I removed pull updates from life() since it onyl checked for puller's incapacitation.
- I renamed camera/deactivate() to toggle_cam() to be more accurate.
- I fixed mmi brain being immortal (by removing the brain and putting it back)
- I simplified mmi brain emp damage.
2016-02-04 00:33:16 +01:00
PKPenguin321 1b4b672af9 carrot shivs
git went rough on my ass and im not happy about it
2016-01-29 22:05:47 -08:00
bawhoppen 5c52fb44cb fixes periods 2015-12-24 08:47:59 -06:00
Lularian f77ac2a14e tactical gear 2015-12-22 13:59:02 -06:00
xxalpha deb60ae309 Replaced /proc/is_sharp() with /obj/item/proc/is_sharp(). 2015-09-24 03:08:28 +01:00
bear1ake f697ae90f5 removes a bunch of .0 2015-09-10 20:57:30 +09:00
xxalpha cfb5e724b6 Material container, all items can have materials, wake me up
cant wake up

go to sleep debug
2015-07-01 03:34:47 +01:00
Orange Borg d8bc3acea2 Stop triggering myself when viewing fork code 2015-06-28 18:48:40 +12:00
oranges 58c460a361 Fork eating no longer requires mouth zone sel
Instead, if there is a fork load you will simply eat the fork load.
2015-05-07 15:13:06 +12:00
phil235 0eb80a8607 Makes the standard kitchen knife fit inside your pocket. 2015-04-28 00:36:39 +02:00
phil235 752032628f Remove kitchen/utensil/spoon. Changes /kitchen/utensil stuff to simply be /kitchen.
Butchering spiders now is done in one step, not leg after leg. Changed simple_animal/harvest proc.
Kitchen knives are now weapon/kitchen/knife.
Fixes eating omelette with fork.
Changed some code to use is_sharp() instead of multiple type checks (spacevines and leather code).
Removes utensil/knife (we already have kitchen/knife).
2015-04-27 23:54:28 +02:00
Xhuis a5c9a7292f Makes butcher's cleaver a child of kitchen knife 2015-01-05 17:23:03 -05:00
Xhuis e7a9a0bdfc Makes the butcher cleaver a normal-sized item 2015-01-04 14:21:27 -05:00
Razharas 208b59c30e Fixed stuff tkdrg pointed out
Added comment to dualsaber and hulk checks to explain whats going on
Added defines that converts to mutation names
Fixed grammer again
2014-12-28 10:49:04 +03:00
Razharas 9a27fe7c8d Conflict fix
Yeah makes it all work
2014-12-21 06:12:33 +03:00
phil235 d5a7d82959 Fixes a lot of "the the" in messages. 2014-12-16 22:59:55 +01:00
Razharas 21a2c2d21e Made clumsiness into disability
I really dont want to make clumsy_act()
2014-12-14 08:04:48 +03:00
Razharas 0921aa201f Added datum mutations
Also removed some mob vars like sdisabilities and merged the usability
with disabilities
Removed need for mutations var, they are not handled in dna
Removed blinded var, now its handled by eye_blind being bigger than zero
Ands lots, lots of other shit in files that used mutations
2014-12-12 04:48:11 +03:00
phil235 537280b4b9 Removing many instances of the no longer used second argument of message_admins() proc.
Replacing "for(var/mob/M in viewers()) M.show_message()" by "visible_message()" or audible_message()" in many places.
Changing a few span classes.
2014-10-05 01:29:30 +02:00
Firecage 6c7af5eb32 SPANCLASSES!!!!! 2014-08-26 09:52:13 +02:00
Rolan7 e88528771d Merge branch 'master' of https://github.com/tgstation/-tg-station into Issue236_Trays
Conflicts:
	code/game/objects/items/weapons/kitchen.dm (Resolved, we were both removing snowflakey tray code)
2014-05-19 03:36:07 -04:00
Rolan7 a36afba82a Merge branch 'master' of https://github.com/tgstation/-tg-station into Issue236_Trays
Conflicts:
	_maps/map_files/tgstation.2.1.2.dmm (The map was deleted)
	code/game/objects/items/weapons/kitchen.dm (Someone fixed up tray attack code a little, whereas I moved trays to a subclass of bags and made the attack code very simple by comparison.  Went with my solution.)
2014-05-18 20:50:38 -04:00
Hornygranny 937170994d tray hit restored to glory 2014-05-16 16:36:53 -07:00
Hornygranny 10b4e9e138 Snowflake garbage removed 2014-05-16 15:22:37 -07: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
Rolan7 f2493b4c37 Makes trays a subclass of bag.
This somewhat changes how items are placed on them, but for the better as it's more consistent with existing mechanics.
Hitting someone with the tray still scatters the contents around!  Works on nonhumans.
Placing icons on the tray still makes them show up on the tray.  Using the tray on a table now places the items onto the table, or places the tray itself if it's empty.  Robots can't lose their tray this way, I checked.
Service borgs can actually use their tray to carry things!  Trays can hold all sorts of stuff, as long as it's small...
A service borg can carry the nuke disk around.  The pinpointer does follow it correctly.
If the service borg stashes its tray module, dies, explodes, gibselfs, or is forced to stash its modules by damage, it drops all the tray's contents on the ground.

Fixes #236 (service borgs can't use trays) and #2991 (Items on food trays can't be picked up).  Didn't address #1919, the layer issue.

Fixes the "bajillion lines changed" with the maps.
2014-05-07 13:04:22 -04:00
phil235 57bba34352 missed a parenthesis 2014-04-19 21:12:10 +02:00
phil235 7314993d76 Fixing rolling pin/tray attack stuff
* simplify the attack code.
* fix messages and lack of sound when attacking with the rolling pin.
* rolling pin and tray will now use their attack verbs hopefully.
2014-04-19 20:53:45 +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
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
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
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
Cheridan b9efeaa932 Merge pull request #2014 from kyrahabattoir/ItemNameFixingRound3
Item name fixing round3
2013-12-26 23:14:15 -08: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
Kyrah Abattoir d9fc4bdd5c code/game/object/items/weapons/* lowercase pass
code/game/object/structure/* lowercase pass (start)
2013-11-24 08:49:34 +01:00
Cheridan 189611e6d6 -Fixes the stuff Giacom pointed out.
-Updated some other items to use the hitsound var while I was at it.
2013-04-21 23:26:59 -05:00
johnsonmt88@gmail.com 1f07f31b64 Grammar fixes for item-suicides.
I got about half-way through changing these when SuperSayu came up and said he fixed this a while ago but never posted the fix. So technically half of these were fixed by me and half by him. Credit to both of us!

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5564 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-17 02:52:57 +00:00
johnsonmt88@gmail.com 2c3ae32f04 You can now commit suicide using certain items! There will be more items to come, this really just lays the groundwork.
Credit goes to CodenameB and Spike68 for the original proposed commit. Althought it ended up changing, this commit still uses all of their suicide messages. Thanks to carn for pseudo-coding the base of the system that I ended up using to implement this.

The suicide verb checks the item in your active hand and calls that item's suicide_act(). (/obj/item/proc/suicide_act(mob/user)) The proc displays the suicide message to any viewers and returns a damage type. The suicide verb then applies 175 damage to the mob divided by the number of damage types. If the proc returns null (meaning that the item does not have a suicide_act() defined) the regular suicide occurs.

To any coder wanting to add items to this: 
- You MUST return one or more damage types. "return (BRUTELOSS|FIRELOSS)" for example.
- Please do not manually type in the item's name; use [src] to refrence an it instead. It'll save time down the road if an item gets renamed. It also helps handle any child of that item without copy/pasting the proc to each child.
- Please do not use 'usr' for anything.

Parrots can now see which item they are holding onto in the stat panel.

The toy crossbow should once again work properly. Fixes Issue 1227.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5468 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-05 03:56:24 +00:00
rockdtben@gmail.com 169c96db1b Too remove potential excessive garbage collection per tick. We will be reusing lists for overlays instead of deleting and creating them.
the .Cut() proc on a list will empty a list by default. This also will set the len to 0.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5465 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-04 15:11:06 +00:00
johnsonmt88@gmail.com e7ebfae317 Another whack at the defines folder:
Removed defines/obj/toy.dm and moved the defines down to objects/items/toys.dm

Moved a big chunk of defines out of defines/obj/weapon.dm and into their respective .dm files.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5441 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-01 01:25:02 +00:00
aranclanos@hotmail.com 9fcf5b4a63 Fixes Issue 1071 - Kitchen trays doing crazy stuff when a person switch it between their hands.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5017 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-06 19:33:35 +00:00
johnsonmt88@gmail.com 0d9da06677 Added an attack sound to:
Glass shard
Broken bottle
Sord/Claymore/Katana
Cult blade
Kitchen knife/Butcher's cleaver
Nettle/Death nettle
Hatchet

Thank you carn for testing this for me :)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4580 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-29 16:04:23 +00:00
johnsonmt88@gmail.com 2e7b008d27 File structure again.
This cleans up all of the files in code/game/objects/items/weapons. Meaning that the re-organizing part of this endeavour is complete. All that is left is to start dragging down all of the object definitions from code/defines/ into their proper places.

While I'm certain this is all good, I'll apologize now if files or paths end up broken.

Again: Make sure your .dme is up to date! Delete it if necessary to SVN Upload it to the current revision.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4550 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-26 05:20:27 +00:00
elly1989@rocketmail.com 4073ac9b00 Replaced all 'file.extension' references with 'relativepath/file.extension' using a script by thvortex of ss13-daedalus.
All credits to the author for this handy little script.
I Committed the modified python script to tool directory. Although it needs to be in the root folder of your repo to work.

To notice the improved compile times, in dreammaker go to Build > Preferences > and untick "automatically set file_dir for subfolders"

If this commit inteferes with any large projects just revert it, do your thing, then rerun the script. Easy-peasy.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4488 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-18 16:33:40 +00:00