Commit Graph

51 Commits

Author SHA1 Message Date
Bjorn Neergaard f19feb4505 Remove dupe file, remove colon cancer and add prespawned stacks 2016-02-08 01:16:30 -06:00
Firecage 754491ce4c Changes relatives paths into absolute paths and makes some if()'s better 2016-01-17 01:36:56 +02:00
kingofkosmos 156d9b558c Crossing a glass shard in space without shoes won't hurt and stun the user anymore. 2015-11-15 17:19:07 +02: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
Cheridan 87eae12f89 Merge pull request #11425 from bgobandit/golemsandglass
Golems no longer take damage from attacking with glass shards.
2015-08-29 11:17:34 -05:00
bgobandit 1009c08ff4 Golems no longer take damage from attacking with glass shards. 2015-08-27 14:55:48 -04:00
MrPerson b0d511eff2 Automatic stack merging
When a stock moves onto the same tile as another stack, they merge together. Unless it was being thrown, in which case no, they don't merge. Unless the stack was the original target to begin with, then yes, they do merge.

Just a convenience feature. The one downside is that crowbarring up a floor tile won't merge with other tiles on the floor, but if someone makes that event call Move() like it's supposed to, it should work fine. That would just be out of scope for this PR.
2015-08-01 10:34:50 -07:00
Firecage 4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02: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
Incoming 061478165a upgrades the HARDFEET species flag to PIERCEIMMUNE
In addition to keeping golem feet safe as always golems are now immune to object embeding. As a mitagating nerf and logical extension, golems can no longer be injected with chems either.
2015-05-31 18:54:30 -04:00
Firecage 1fb8dcecd1 Prevents golems and skeletons from dropping due to shards and mousetraps 2015-05-07 15:44:17 +02:00
kingofkosmos 1d14471d00 Ellipses to waiting messages. Warning-spanclasses to failing messages with an exclamation mark. 2015-04-24 20:50:50 +03:00
phil235 6996897b65 Fixes fulltile windows not spawning the correct amounts of shards and rods.
Fixes broken grille not dropping a rod when shot with buckshots.
2015-04-11 17:41:09 +02:00
xxalpha c9d600e653 Fixes stack duping. 2015-03-15 19:04:07 +00: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
hornygranny dce9dadea2 Merge pull request #5914 from paprka/removewindows
Changes most border windows/firelocks to full tile
Gets paprika killed
2014-11-21 11:47:04 -08:00
paprka fd910387c3 windows damage and such 2014-11-16 17:13:33 -08:00
phil235 2340caa309 Fixes drones cutting their hands when using shards. 2014-11-13 17:54:41 +01:00
phil235 47521d5081 More windoor bug fixes. You can no longer build two windoors on top of each other. You can make a windoor_assembly w/ rglass on the same tile as another one as long as they have different directions. 2014-09-30 23:05:18 +02:00
Daniel d29d3a37da Fixed welding shard message spam 2014-09-10 11:55:07 +02:00
Firecage 6c7af5eb32 SPANCLASSES!!!!! 2014-08-26 09:52:13 +02:00
Kelenius 698fde12f4 Two small bugs... 2014-06-13 01:01:10 +04:00
Kelenius 3908160998 One big update for stacks. 2014-06-10 20:36:08 +04:00
Alex 6686b2ec7c Merge pull request #3687 from Jordie0608/removerelativepathsfromtheeverythingplz
Fixes #3681: suicide messages when crit
2014-05-14 09:24:29 +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 aa2c65aaf4 removing some of my code 2014-04-25 20:44:32 +02:00
phil235 ff95095446 Fix for shard 2014-04-25 01:11:29 +02:00
Ergovisavi d55d72f049 Merge branch 'master' of https://github.com/tgstation/-tg-station into mineral_economy 2014-03-26 18:14:48 -07:00
Ergovisavi 57fe8ea3f4 Various mineral/material standardizations, minor mob changes 2014-03-19 18:28:56 -07: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 04aeb15af7 Rebalanced strange throwforces 2014-02-13 17:47:25 -08:00
Cheridan ad235cf18f Merge pull request #2563 from Razharas/NewTables
New PR for crafting tables
2014-02-03 08:46:56 -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
Razharas ea54257ab6 Ported cable coils to stacks crudely
Yeah
2014-01-22 02:11:19 +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
Miauw 0338a66c2a Adds fingerprints to a bunch of stuff. De-texts computer build paths. 2013-12-22 18:57:33 +01: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
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
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
Aranclanos 0ce01d1583 Adding Linda. 2013-08-10 06:15:14 -03:00
Incoming a99d04f88c Removed some redundant code 2013-07-22 18:34:57 -04:00
Incoming ef1f2d9d75 Did what I could to make the die/shard code for this not as shitty, as implored and largely written by Aranclanos 2013-07-21 00:44:43 -04: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
Ikarrus 6932c4e32d Requesting a re-merge of another change that has mysteriously disappeared, https://github.com/tgstation/-tg-station/pull/485
Originally merged by @Giacomand
2013-05-23 20:19:04 -06:00
carnie 5e7cffcf5c update_icons.dm changes for humans. This ties in with the dna changes and the changes to skin_tone and hair colours
>update_mutantrace() is no more, it is now part of update_body()
>Moved a lot of stuff into update_base_icon_state(), this will allow making mutantraces modular.
Almost all icon operations are now removed from human overlays (obviously some are still required for recolouring hair and eyes). Any remaining dynamically generated overlay icons are applied individually. This will allow byond to cache them better. This will also eliminate the bug where humans are initially invisible/unclickable when you first encounter them (due to network latency where the icons are being downloaded).
>UpdateDamageIcons() renamed to update_damage_overlays(), so it has the same sort of name as the other procs
>update_icons=true or false arguments removed from human overaly-update procs, no longer required. (i.e. the update_body() update_inv_whatever etc procs do not call update_icons() - see documentation for details)
>mutantrace icon_states moved into human.dmi
>skeletons are now a mutantrace, not a mutation.
>update_icons system should now be even more efficient (thanks partly to aranclanos)
>documentation rewritten
>copypasted code moved into helper procs - super tidy code :3

Other:
>Removed compile error where the core code was reliant on compiling away mission code. >:[
>s_tone renamed to skin_tone

Modified   code/modules/mob/living/carbon/human/update_icons.dm
Modified   code/__DEFINES.dm
Modified   code/datums/datumvars.dm
Modified   code/datums/limbs.dm
Modified   code/game/dna.dm
Modified   code/game/gamemodes/changeling/changeling_powers.dm
Modified   code/game/gamemodes/cult/cult_items.dm
Modified   code/game/gamemodes/cult/runes.dm
Modified   code/game/machinery/doors/airlock.dm
Modified   code/game/machinery/portable_turret.dm
Modified   code/game/machinery/teleporter.dm
Modified   code/game/mecha/combat/combat.dm
Modified   code/game/objects/items.dm
Modified   code/game/objects/items/stacks/medical.dm
Modified   code/game/objects/items/stacks/sheets/glass.dm
Modified   code/game/objects/items/weapons/storage/bible.dm
Modified   code/modules/assembly/mousetrap.dm
Modified   code/modules/hydroponics/hydroitemcode.dm
Modified   code/modules/mob/living/carbon/carbon.dm
Modified   code/modules/mob/living/carbon/human/death.dm
Modified   code/modules/mob/living/carbon/human/human.dm
Modified   code/modules/mob/living/carbon/human/human_damage.dm
Modified   code/modules/mob/living/carbon/human/human_defines.dm
Modified   code/modules/mob/living/living.dm
Modified   code/modules/mob/living/simple_animal/friendly/slime.dm
Modified   code/modules/mob/mob_grab.dm
Modified   code/modules/power/lighting.dm
Modified   code/modules/reagents/Chemistry-Reagents.dm
Modified   code/unused/_debug.dm
Modified   icons/effects/genetics.dmi
Modified   icons/mob/human.dmi
Modified   maps/RandomZLevels/wildwest.dm
Modified   tgstation.dme

Signed-off-by: carnie <elly1989@rocketmail.com>
2013-05-10 18:41:08 +01:00
aranclanos@hotmail.com 3a2673a284 Changes for all the different update icons procs of humans and monkeys, they now update their own sprite and hud icon (if it's a proc of a slot item) without having to call for update_icons().
A lot of different calls for update_inv_[slot] now won't call for update_icons.dm(). Such as dropping, throwing, picking up objects, moving objects around your gear, using your active hand, firing guns, stripping, etc.
All the different calls for UpdateDamageIcon() now they won't call for update_icons()
The different sprites of humans/monkeys will now have their own layer, humans starting with MUTANTRACE_LAYER in layer -1 to R_HAND_LAYER in layer -20, so the sprites don't get messy overlapping eachother if update_icons() is not called. To help this change, all layers numbers were changed, R_HAND_LAYER used to be 1, now it's 20. (This can be changed back if it ends up being confusing or ugly to read)

TL;RL I removed 90% of the calls for update_icons() modifying the different update procs of update_icons.dm of monkeys/humans. The goal is to reduce lag.

JUST IN CASE, lying down will call for update_icons(), so players have an easy way to update their icons if something goes horribly wrong. Which won't. I hope.


Fixes issue 842. Handcuffs sprites appearing on the player's UI if this one was handcuffed. Because I liked this we'll call it feature and add some awesome sprites made by Cheridan, you'll now have a new sprite on your UI telling you "you're handcuffed buddy!". (Also he named the sprites so don't blame me)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5809 316c924e-a436-60f5-8080-3fe189b3f50e
2013-03-04 05:01:07 +00:00
petethegoat@gmail.com a1ac5f0e66 Renamed /datum/organ/external to /datum/limb.
Updated all files.

Removed the skeleton and skin organs.

Updated WIP surgery.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5689 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-11 18:52:33 +00:00
elly1989@rocketmail.com 727bad70e4 Fixes compile error.
More gimmicky xmas content[SPOILERS]
..
..
random event: xmas trees become hostile carp-like mobs that run around eating everybody. Only occurs on Christmas Eve/Christmas day.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5227 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-29 16:06:46 +00:00