Commit Graph

37 Commits

Author SHA1 Message Date
Lo6a4evskiy
62d4bd604d Refactor quick-equip verb 2015-12-12 16:29:24 +04:00
oranges
7e12a51ebf YEAH THIS HAPPENING
GET OUT
2015-10-21 13:13:12 +13:00
Aranclanos
2e3caf5c85 Merge pull request #10736 from xxalpha/shakeitoff
Fixed changeling shields dropping when ling is prone.
2015-07-24 06:59:23 -03:00
xxalpha
a3e29da443 Fixed changeling shields dropping when ling is prone.
Fixed pathing

Better fix

Nevermind, back to what it was
2015-07-23 13:08:49 +01:00
phil235
d72cbcaf2f - fixes handcuff overlay on monkey not showing.
- Fixes the lack of handcuff icon on the hand screen object for alien humanoids..
- fix legcuff overlay not showing on monkey.
- fixes fire overlay for monkey, aliens and cyborg, no longer looks human shaped.
- Made the regenerate_icons's subprocs at the carbon level more OOP.
2015-07-17 01:15:21 +02:00
Firecage
4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
xxalpha
5951aeccb8 Fixed dropping items in mechs AND EVERYTHING ELSE
Better fix for dropping items in mechs.
2015-05-16 02:04:42 +01:00
phil235
be1708483e - Fixed nettle soup recipe says abstract nettle.
- Fixes hostile animals weakening non carbons, and adjusted weakening values 1958.
- fixes being able to drop defib paddle by resting, fix a runtime linked to this.
- can no longer pick card from deck while resting, same for paper bin and bedsheet bin.
- examining extinguisher and atmos watertank nozzle gives you the amount of water remaining.
2015-05-02 01:34:38 +02: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
Giacomand
7f4369ae99 Added a "put_in_hand_check" which returns 1 if the item can be equipped in the hand. Replaced the duplicated checks in "put_in_l/r_hand"
Silicons override the check and return 0.
2014-04-28 19:26:09 +01:00
Nnelg
9f0f60204a Added can_equip proc for polymorphism. 2014-04-14 14:59:58 -05:00
Perakp
fa56f9892e Merge with master, dissonant shriek and organic space suit
- Changed dissonant shriek and organic space suit from old verb system
to new system.
2014-03-15 13:49:26 +02: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
Miauw
8c7ef19be6 Replaced before_take_item() and drop_from_inventory() with u_equip 2014-02-12 19:51:37 +01:00
Miauw
dd7c8f53a7 Adds the basic framework of NODROP 2014-02-10 20:13:04 +01:00
Giacomand
e3bb626ce9 * Removed an unnecessary update_icons() 2014-01-06 19:01:12 +00:00
Razharas
bc6e79b041 The icons and some inventory change
Since my personal icons were considered ok by some people i used them
Added new one for poison sting and tiny tiny bit changed the older ones,
also proboscis is still there just because
Also now put_in_?_hand will check for ABSTRACT flag, things with it will
be put in hand anyway
With this even while downed you can sting someone if you are quick
enough to do it before sting gets deleted from your hand(100% hack but
whatever)
Things like not dropping items from hands completely and other stuff
cheri suggested to make after we switch to v500
If you will find any bugs just tell and ill fix them
Thats probably it, ive done everything i wanted and implemented
everything i was asked for
Now will hope this PR will be merged, would be sad to do all this work
for nothing
2013-11-19 08:24:56 +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
Pete Goodfellow
62b848c6ce Removes equip_e - Fixes #423
This updates everything that used equip_e, particularly the strip panel, but also DNA injectors and CPR.

Removed unused mob vars:
 var/obj/effect/organstructure/organStructure
 var/other
 var/proc_holder_list[]

Removed unused alien suit and head slots.
 Removed var/obj/item/weapon/card/id/wear_id from monkeys, and updated ed209s to not use :

Renamed HUMAN_STRIP_DELAY to STRIP_DELAY.

Muddled Topics() around so that mobs are now a bit more OO. Also updated quite a few misc inventory procs to various degrees.

Updated monkey and aliens huds a little bit.

Random movement when confused now happens half the time.

Fixed monkey breathmask onmobs.

Added a .unconscious text style, for that nice bold blue text you get when you're unconscious. Only CPR uses it at the moment.

This has been tested fairly extensively, and everything seems to work fine.

-Merged commits ~carnie
Signed-off-by: carnie <elly1989@rocketmail.com>
2013-04-24 04:07:39 +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
58c7f79398 Moved
var/obj/item/weapon/back
var/obj/item/clothing/mask/wear_mask
var/obj/item/weapon/tank/internal

from /mob to /mob/living/carbon.

/mob/proc/abiotic() no longer does any extra checks even if full_body == 1.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5722 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-17 18:53:09 +00:00
johnsonmt88@gmail.com
32ebb82e68 Updated books linking to the Nanotrasen wiki to the wiki's new url. Fixes Issue 1218.
Picking up items will now automatically stop you from pulling them. Fixes Issue 1107.



git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5453 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-03 00:46:41 +00:00
johnsonmt88@gmail.com
4ddf9100f5 Sending a message should no longer work if you are incapacitated. Fixes issue 1120.
Moved some mob vars to carbon:
mob/var/handcuffed -> mob/living/carbon/var/handcuffed
mob/var/legcuffed -> mob/living/carbon/var/legcuffed

As a result, I've turned some procs into pure virtual procs and moved their code into carbon.dm.

mob/proc/restrained() -> mob/living/carbon/restrained()
mob/proc/can_use_hands() -> mob/living/carbon/can_use_hands()

The hand and legcuff portion of mob/proc/u_equip() was moved into mob/living/carbon/u_equip().

The handcuffed portion of mob/proc/show_inv() was moved into mob/living/carbon/show_inv().

Fixes issue 1114.

Made parrots immune to bear traps since parrots should be flying over them anyway.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5184 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-25 00:28:47 +00:00
quartz235@gmail.com
a6e7c085ef Revert's cib's BS12 merge by XSI's orders
- Tested with various damtypes/locations/mobs but if i'm a dumbass and overlooked a problem feel free to punch me and revert this

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4762 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-27 02:14:21 +00:00
CIB123
d6dfd49a75 Ported parts of the BS12 organ system.
This includes:
- Individual wounds
- Dismemberment
- Bone breaking

It also adds configuration values to config/game_options.txt to control the point at which bones break and limbs are cut off.

Does not include surgery or bleeding yet.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4720 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-18 21:32:39 +00:00
baloh.matevz
5a199fc564 I started with the desire to fix issue 634. It sounded like a simple issue, right? Well one complete rewrite of how equipping and stripping works later, this commit fixes issue 645
Code-wide changes: /mob -level procs:
equip_if_possible() is now known as equip_to_slot_or_del() to prevent confusion with equip_to_slot_if_possible() and to better describe what it does.

equip_to_slot_if_possible(item, slot, del_on_fail, disable_warning, redraw_mob)

equip_to_appropriate_slot() is now a /mob - level proc.

equip_to_slot() is an unsafe proc, which just handles the final step of actually getting an item onto the mob. It has no checks of whether it can or can't do that. Use equip_to_slot_if_possible() for that purpose.

New /obj/item -level proc:
/obj/item/proc/mob_can_equip(M as mob, slot, disable_warning = 0)

This proc can be used to determine whehter a mob can pick up an item from the item's side.

Carn, I'll need you to review code/modules/mob/living/carbon/human/inventory.dm to ensure that I'm not redrawing the mob too many times.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4423 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-15 23:15:55 +00:00
johnsonmt88@gmail.com
0225ed33b7 Cleanup of proc/helpers.dm
Split a bunch of procs in helpers.dm into new files:
-helper_list
-helper_text
-helper_type2type

These files are sorted into groups internally. Hopefully people will make it easier for people to find useful procs.

I've added comments to a good chunk of these procs as well explaining what they do.

I've removed a few unused or unnecessary procs and fixed up a couple that were not working as intended.

I've also moved a mob proc 'get_equipped_items()' into mob/inventory.

All of the non-helper.dm files (besides mob/inventory.dm) are the result of fixing duplicate procs. It seems that there used to be text searching procs where one was case sensitive and one was not, and at some point someone removed the case-sensitivity of the case sensitive procs. I've re-added the case-sensitivity and as a result, I've had to go through extra files and ensure that they were calling the proper proc.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4341 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-08 19:32:08 +00:00
elly1989@rocketmail.com
fa26585dc5 Fixes an inconsistency with update_icons stuff.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4320 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-05 09:22:10 +00:00
elly1989@rocketmail.com
1120fb50c9 put_in_hands() now makes objects behave like they were just dropped when it dumps them on the floor due to there being no free hand to put it in. (i.e. it calls object.dropped() and resets the layer.)
Fixes issue 699 - in-hands for pipes are removed when placing a pipe back in the dispenser.
Fixes issue 684 - Evidence bag code simplified a bit.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4213 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-29 07:19:53 +00:00
baloh.matevz
af99faf4a3 - Made legcuffs a thing. At the moment the only legcuff type is the beartrap, but it needs sprites before it can get added to the map. The bear-trap triggers when you arm it and then someone runs over it. It attaches to their leg, making them unable to run until they remove it. You remove a legcuff by resisting out of it or by getting someone else to do it for you in the same way that handcuffs are removed. Resisting out of a beartrap takes
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4164 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-24 07:09:57 +00:00
elly1989@rocketmail.com
f92bec2a22 Resolves issue 594 - You can no longer use Mech-drills/clamps/etc to interact with your hud items.
Fixed an old feature that diverted clicks on a hud inventory-slot (say, the place you put your bag) to the object in that slot (i.e. making it easier to click small items and also making it possible to remove things that have borked and turned invisible

Fixed admins being able to change their own rank via chgadlvl.

Insignificant tweaks to DblClick() just removed some useless bits near the top.

Known issues:
Can't put straight jackets on aliums anymore for some reason
Aliums can remove straight jackets from themselves.
Can still mecha-drill a few things you shouldn't be able to >_>

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4032 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-11 07:48:14 +00:00
petethegoat@gmail.com
7f5de70b91 Reverted r3944, with the exception of stock_parts.dmi
Fixed issue 605.

Committing minor adjustments to watercloset.dm and paperbin.dm too!

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3947 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-29 15:56:51 +00:00
vageyenaman@gmail.com
9a7675ce5a Implemented Tobba's new lighting system. This grants some infrastructure to allow for colored light sources. It should also, theoretically, but more efficient.
Created a quick variable to let projectiles automatically illuminate.

Implemented some of Ausops' sprites.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3944 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-29 03:43:30 +00:00
elly1989@rocketmail.com
9c407b9516 Adds a type check for put_in_l_hand() and put_in_r_hand() to avoid server crashing runtimes caused by bad code or var editing.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3940 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-28 22:06:24 +00:00
elly1989@rocketmail.com
48088b79d9 ugh...this was horrible. I'm really sorry if I fucked anything up, I was literally going braindead towards the end.
Replaced every l_hand = and r_hand = and all that if(hand) crap to use standardised procs. This means we can use procs like Dropped() reliably as they will always be called when things are dropped.

Thorough documentation to come. But generally, if you want a mob's icons to update after deleting something in the inventory...use drop_from_inventory(the_thing_you_wanna_drop) just before deleting it. If you wanna put something in a mob's hands use put_in_hands() (or one of the variants). It'll try putting it in active hand first, then inactive, then the floor. They handle layers, overlays, screenlocs calling various procs such as dropped() etc for you. Easy

mob.equipped() is now mob.get_active_hand() because there was another totally unrelated proc named equipped() and stuff was confusing.

Weakening was made instantaneous.

Minor optimisations for human/handle_regular_status_updates(). I'll port these changes over to the other mobs next. Basically it should stop it constantly incrementing every status effect even after death.

umm... bunch of overlays related fixes... I think that's everything. :/

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3900 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-23 21:24:45 +00:00
elly1989@rocketmail.com
9fd4e8cc70 Here's the new files.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3857 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-18 09:51:56 +00:00