Commit Graph

30 Commits

Author SHA1 Message Date
Firecage d1327d4076 Merge conflict fix 2016-01-19 10:02:50 +02:00
Bjorn Neergaard 0a7236d955 Allow relabeling any canister; port MULEbot to tgui 2016-01-18 14:21:56 -06:00
Firecage 754491ce4c Changes relatives paths into absolute paths and makes some if()'s better 2016-01-17 01:36:56 +02:00
Firecage 4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
norill bb93aaf8c1 Move_Pulled around corners
- can now move dense objects around corners in a non-gimmicky way
2015-04-08 02:47:56 +02:00
phil235 456a64f8fd slime from carbon to simple animal 2015-03-14 23:40:57 +01:00
tkdrg be85bb6d17 Merge pull request #6707 from phil235/HostileAttackingTargetFix
Fixes player controlled hostile simple animal not calling AttackingTarget() for their melee attack.
2015-01-01 12:47:27 -03:00
phil235 27d8c489ee Fixes carp, mimic and tree nog being able to knockdown their target.
Fixes player controlled hostile simple animal not calling AttackingTarget() for their melee attack.
Fixes player controlled hostile simple animal's ranged attack targeting the target from their previous melee attack instead of the target clicked.
2014-12-31 15:01:23 +01:00
Razharas 418e3a0613 General cleanup
Fixed the magic text failing in monkey injectors
Removed lots of comments
Didnt fix mysterious list bounds runtime in tourettes
2014-12-29 11:36:01 +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
Remie Richards fa184f5487 Cuts /disease variables from 28 to 23 (includes new ones)
a disease may now have more than one spread type
added "infectivity" variable which replaces a prob(65), defaults to 65
affected_species is now viable_mobtypes, and lists typepaths, this is due to us actually having a species system now so it's confusing
adds defines for a bunch of stuff
2014-10-30 06:21:14 +00: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
Aranclanos c65aa2b5a4 Merge pull request #4000 from Cheridan/terribleidea
MONKEY MODE REDUX
2014-06-30 16:27:22 -03:00
Rolan7 98367cb162 Changelings can use hivechat while muzzled.
Monkey-lings can use hivechat.
Lings can return to human form even if monkeyed through genetics.
One-line fix for Destroying Angels (..() wasn't being called)
Spelling correction in Destroying Angel description
2014-06-17 00:13:56 -04:00
Cheridan 352d5a5627 MONKEY MODE REDUX
AHUAHEUAHUHEGUEHGAUHEGUAEH

monkeys will now possibly transfer all diseases on bite because that's how diseases kinda work
2014-06-14 21:30:25 -05:00
Aranclanos 7bcb69ad88 Removes the click cooldown from almost everything, now it should be always be 0.1 seconds.
Ranged weapons and laser eyes have a cooldown of 0.4.
Grilles, windows, windoors, walls and blobs have a cooldown of 0.8.
Hitting mobs will also have a cooldown of 0.8.
Removes the unused USEDELAY flag.
2014-03-28 06:32:47 -03:00
Mloc-Hibernia 8af8a43d6f Initial pass to convert LF to CRLF
Signed-off-by: Mloc-Hibernia <colmohici@gmail.com>
2014-03-24 08:53:40 +00:00
hornygranny aa303fac2d Monkey attack messages now use span class 2014-02-12 16:43:31 -08:00
hornygranny 4933571c5e Changed "Monkey (420) has bit x" messages to "(Monkey (420) bites x" 2014-02-12 13:57:47 -08:00
Razharas aa71a5f2ca Monkey trouble fix
It wasnt even checking is monkey had a disease. it was monkifying humans
straight, assuming all cuffed monkeys should be jungle fevered
2014-02-10 10:42:54 +04:00
Razharas eb8b23b873 Fixed some issues
Removed all item stings legacy
Removed game balance changes
Moved stings handling to AltClickOn, added the dead check i forgot to
add
Reverted monkeyizing keeping items from previous form
Fixed the grammar in the comments
2013-12-03 00:45:05 +04:00
Razharas b7b45881b2 Made abstract a flag and other stuff
Everything that had abstract var now has ABSTRACT flag
Everything that checked abstract var now checks ABSTRACT flag
Fixed some runtimes
Fixed click code and face direction changing while cuffed
Added del to all attack_* of the proboscis in case shit goes real
AStar is still weird so added  a simple sanity check
2013-11-18 03:53:50 +04:00
Razharas 6d0bbc8b24 Further improvement of ling code
Yadda yadda
2013-11-17 02:09:43 +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 a3ba991d2f Additional comments, move some code
Should improve documentation of new and old click code
2013-09-17 19:03:22 -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 4c44e7cd89 Glove update
Integrates gloves into click code.  Gloves now have a proc/Touch(atom, proximity) which is called before humans do an attack_hand().  It can also occur when you click on something at range, so be sure to check the proximity flag.

Adds code to make ninja gloves work properly with this and pulls it out of the various attack_hand() procs.

Other suggested uses: secret society rings, magic/cult gloves, weaponized gloves (chemical, electric, needles, etc), powered exosuit hands (for picking up crates), I dunno, there are options
2013-09-17 18:19:13 -04:00
supersayu 50583dfa72 Adds an alt-click to vents for mobs that can ventcrawl.
Reorganizes the ventcrawl code to be a little flatter.

Removes the attack_animal default from slime attacks.  Apparently some code had assumptions about animals and I don't want to get into what that all is yet.
2013-09-17 18:18:32 -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