Commit Graph

49 Commits

Author SHA1 Message Date
AnturK e2c869bc77 - Adds generic action and action buttons system 2015-04-11 17:06:43 +02:00
kingofkosmos c8931f4cfc Only actual internals masks work now for internals. 2015-04-08 21:08:16 +03:00
kingofkosmos f114768c1d it broke 2015-04-08 19:17:18 +03:00
kingofkosmos 97cbc65d6d usr -> C 2015-04-06 10:38:51 +03:00
kingofkosmos 8e63fe05c1 Breath mask autotoggle
Now if you have a breath mask on your face, but lowered, and decide to start running on internals, you will automatically adjust the mask back on your face!
2015-04-05 22:03:24 +03:00
MrPerson e7ba8df654 Moved all pull icon updating to update_icon(), to reduce copy+paste.
Made the pull icon update_icon() as part of creation as requested by oranges.
2015-03-13 12:10:13 -07:00
paprka 1b62290572 remember to test your fixes before you act snarky 2015-02-27 04:35:46 -08:00
Remie Richards b1ff6b7220 Merge branch 'master' of https://github.com/tgstation/-tg-station into AttackbyParams
Conflicts:
	code/game/turfs/simulated/floor/light_floor.dm
2015-02-24 22:16:53 +00:00
phil235 e9a943218c Fixes being able to break free from a pull while handcuffed if the puller is buckled.
Add the incapacitated proc to mobs to check for stat, stun, weakened, paralysis, restrained. And replacing those checks by that new proc in some places.
2015-02-21 14:49:47 +01: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
xxalpha a9c181bbcc Repath all non jetpack tank types to tank/internals
Repath all portable tanks to tank/internals, except jetpacks

Update ministation
2015-02-01 18:25:39 +00:00
phil235 e354802d74 Fixes being able to remove clothing and inventory stuff while straightjacketed or handcuffed by clicking the inventory slot, not the worn item itself. 2014-12-14 18:03:49 +01:00
MrPerson c159878ace Throwing bugfixes
Removed an unused client verb, changed a usr to src where they're the same mob, and changed a type == check to istype().

Allow turning on throw mode when clicking the UI button (hotkeys already allow you to do this).
Disallow throwing when not on a turf.
Fixes #4823

Make storage items close out the onscreen stuff when they get thrown.
Fixes #5296
2014-11-09 00:29:20 -08:00
JJRcop 3318f50cd2 Fixes path typo 2014-11-03 12:21:57 -05:00
JJRcop 2dabc8fd39 Turns /obj/screen/Click() into subtypes 2014-10-30 15:49:38 -04:00
Remie Richards 4256e2f264 Merge branch 'master' of https://github.com/tgstation/-tg-station into XenoLeaping
Conflicts:
	icons/mob/alien.dmi //Curse you WJ!
2014-10-15 15:08:12 +01:00
Remie Richards d9dd60418d Alien hunters can now leap, Hitting a mob stuns it, Hitting anything dense stuns the alien for a short time 2014-10-11 02:40:27 +01:00
MrPerson 1995ac638b Allow activating implants even when stunned and such
Make ninja implants show up right
Add a changelog for the action_button stuff
2014-10-07 01:04:10 -07:00
Remie Richards 473bcd1858 Ports Drones from NTstation + New Improvements/Features 2014-09-13 15:02:57 +01:00
Hornygranny 02e527e938 Merge branch 'smoothaliens'
Conflicts:
	code/_onclick/hud/screen_objects.dm
	code/modules/mob/living/carbon/alien/alien.dm
2014-09-07 21:33:48 -07:00
Cheridan 7750a2baae Merge pull request #4525 from GunHog/HUDS_For_All
Silicon Medical and Security HUDs!
2014-09-07 20:01:12 -05:00
Cheridan e0d171e7bf Merge pull request #4483 from ChuckTheSheep/direct-intent
Direct intent clicking (redo)
2014-08-31 11:25:47 -05:00
Hornygranny ca77a4e31d more icons for stuff, nightvision for aliens with hud icon button and toggle verb 2014-08-27 15:16:28 -07:00
ikarrus ad4ba1126a Runtime fix 2014-08-24 22:03:14 -06:00
GunHog 1dbc2756a6 RR's tweak + derpfix
Makes the sensor augmentation check for silicon instead of one for both
the AI and Borgs, since they are not actually different procs.

Reverts an accidental removal of the borg camera function, thinking it
came from NT's code.
2014-08-22 08:00:02 -05:00
GunHog 81e178737d Silicon Medical and Security HUDs!
- The AI can now access both Security and Medical HUDs via a new button
on its UI. The Medical HUD is exactly equal to all others. The AI's
Security HUD cannot detect implants.

- Cyborg HUD modules have been removed in favor of an inbuilt command,
to make it less of a hassle to access them.

- HUD code has been given its own file such that it can be used by any
mob. In addition, HUD users are placed into a list instead of searching
for only humans and checking them for a HUD item. This is to make it
easier to expand.

- Security HUD messages can now be received by any mob using a SecHUD.
2014-08-21 22:59:30 -05:00
ChuckTheSheep c1d98ba7ae Did I do it right? 2014-08-19 18:15:11 -04:00
ChuckTheSheep 0682f1b3b8 mah elses 2014-08-18 13:58:55 -04:00
ChuckTheSheep 0d0f6f2157 Redo
This allows you to click which ever intent you want in the four-color
intent system humans have.
Other/simple mobs' still use the old single intent button.

F/G macros still work as well.

continued from: #4473
2014-08-18 06:23:25 -04:00
AndroidSFV fad2bb1244 Fully implemented AI photography, with HUD! 2014-07-30 15:21:30 -05:00
MrPerson fb6b7f1225 AI Tracking bugfixes
Fixes #4201 by adding a cancel button to the track mob list.
Fixes a runtime that pops up if you double click the "Track Mob" or "Show Camera List" buttons on the AI hud. Problem is that double clicking runs a proc that builds the datum of lists of trackable mobs twice, and then both procs sleep because of input(). When the first track completes it nulls the tracking datum, which causes problems for the second (or more) tracks which expect the tracking datum to not be null. Solution: Keep the datum around and simply rebuild the lists as-needed instead of creating and deleting the tracking datum datum pointlessly.
2014-07-20 03:21:02 -07:00
Rolan7 0fa91b06f1 Merge branch 'master' of https://github.com/tgstation/-tg-station into Issue3401
Conflicts:
	code/modules/mob/living/carbon/monkey/monkey.dm - I don't know why it thought there was a conflict.  Opening it in tortoisemerge showed no conflicts and automatically cleared the status.  I reset to the repo's version just to be safe, then re-added my freakin 2 line function which has caused 2-3 "conflicts" so far.
2014-07-07 13:42:31 -04:00
Rolan7 c7e52e8b40 Replaces the serviceborg beer bottle with a drinking glass, adds beer to the shaker. Emagging unlocks a second shaker with a different icon and description (but the same name) which dispenses beer2 (the disguise chloral) or mutagen or thermite.
MUTAGEN might be controversial I assume...  The service borg has no spray bottle though.

Moves update_robot_modules_display() to fix a UI glitch where using the home to unequip a module wasn't making the module appear in the storage list until it was otherwise updated.

Robots no longer take fire damage from fire stacks, since they're otherwise immune to heat... also, fire stacks will gradually burn off and the borg will stop being on fire.

Service borg emag beer (beer2) was oldchloral instead of newchloral.  Excellent argument against copy-paste.  Fixed.

Removed the dumb "if this happened to be a borg's drink container, refill whatever it's currently holding the most of after a delay" which lead to an easy reagent duplication glitch, and was generally shit.  Fixes issue #1673.

Uncapitalized some drink names which weren't proper nouns, and changed stuff like "Beer glass" to "glass of beer".

This still fixes #3401 too of course
2014-05-09 06:10:35 -04:00
Razharas 3000586e7b Merge pull request #3216 from Aranclanos/ClickDownRemoval2
Click cooldown removal take 2
2014-03-28 02:39:25 -07: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
YotaXP febfa4d1e5 Merge branch 'qdel-with-datums'
Conflicts:
	code/_onclick/hud/screen_objects.dm
	code/controllers/garbage.dm
	code/game/atoms.dm
	code/game/objects/items/weapons/storage/storage.dm
	code/modules/mob/mob.dm
2014-03-27 21:46:53 -04: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
YotaXP 3656217c29 Modified qdel() to accept any datum.
The garbage controller no longer bothers nulling out every variable on destroyed objects.
An object can opt to not be collected by returning true from Destroy().  Useful for pools or other edge cases.
Fixed boxes not being collected, along with a couple other things.
Turfs will not be monitored for collection.
generate_ion_law() is no longer a /datum proc, and I am an admin in the repo.  Deal with it.
2014-03-24 00:10:43 -04:00
Pete Goodfellow fd4df85045 Changed legcuffs to use slowdown instead of forcing the user to walk. 2014-01-19 20:17:23 +00:00
errorage bfcd050b77 Partial commit for the cyborg UI upgrade, which gets rid of the pop-up window for module selection, instead displaying the available modules in storage-item like fashion. 2014-01-06 12:17:07 +01:00
Aranclanos a4a13681f3 Merge branch 'master' of https://github.com/Razharas/-tg-station into ImGonnaStingYa
Conflicts:
	code/game/gamemodes/changeling/changeling_powers.dm
2013-12-05 07:01:09 -03:00
Zelacks c3e8fceefe Removes several more unused variables 2013-11-24 05:11:15 +08:00
Razharas f37b32a18f Further sting improvements
Now to sting someone with active sting you alt+click them
In usual mode active sting do nothing
Clicking sting icon will deactivate the sting(hasnt removed the verb
however)
Now all monkifying will grant the monkeys what they can wear from their
previous form
Now all humanizing autoequips things from under you
(Done by Gia's suggestion, the quality is meh)
One more little change in icons
2013-11-21 23:10:56 +04:00
supersayu a7398c2205 Mecha fixes
Prevents mech actions from acting on the user's inventory.  Fixes #1487.
(Almost) fully prevents inventory use from within a mech, to be more consistent.  The internals GUI button still works on the theory that it's emergency equipment.
2013-10-16 01:30:00 -04:00
Mloc-Argent d2e8531ee5 Made cyborg middle-clicks cycle through the list of selected modules, and added some new helper procs for selected modules.
New procs:
* module_selected(module) - Checks whether the module slot specified by "module" is currently selected.
* module_active(module) - Checks whether there is a module active in the slot specified by "module".
* get_selected_module() - Returns the slot number of the currently selected module.  Returns 0 if no modules are selected.
* select_module(module) - Selects the module slot specified by "module"
* deselect_module(module) - Deselects the module slot specified by "module"
* toggle_module(module) - Toggles the selection of the module slot specified by "module".
* cycle_modules() - Cycles through the list of selected modules.

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2013-10-08 20:15:57 +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 62f7bc11c2 Timing adjustments
attack_self use should be somewhat more standard; previously the activate object verb (and pagedown) had no delay at all.

Lowers the time taken when interacting with things on your person or in your square.
2013-09-17 18:18:34 -04:00
supersayu 0e25cc9b30 Adds click delay to item quick buttons. Updates changelog. 2013-09-17 18:18:30 -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