Commit Graph

37 Commits

Author SHA1 Message Date
ShizCalev
b4208c6062 Old code 2017-09-29 15:58:18 -05:00
Jordan Brown
af4d9a85c9 Repaths /obj/item/weapon to /obj/item (#29929) 2017-08-16 10:38:51 -03:00
nicbn
77a2d3f5cd Replaces "istype"s with is_helpers macros (#28676) 2017-06-22 15:03:19 -03:00
kevinz000
d1108df80c [READY] The Portal Update - Linked portals, momentum conservation, and more! (#28055)
* THE PORTAL UPDATE

* portal gun checks

* damn functions

* o_range(s)

* Atmos Portals (#12)

* Rod Form's damage now scales with how much it's upgraded

* buffs chem grenades

* Fix getrev runtime

* Automatic changelog generation for PR #27948 [ci skip]

* Automatic changelog generation for PR #27951 [ci skip]

* Fixes admiral recall (#27861)

* the man with the 2 shotguns that blasted me to the end of the world with dualwielding. nerf (#27978)

* Beam rifles now slowdown while scoped (#27898)

* Update beam_rifle.dm

* Update beam_rifle.dm

* Update beam_rifle.dm

* Fixes a very silly clockwork false wall trick (#27996)

* Fixes #27979 (#28002)

* Automatic changelog generation for PR #28002 [ci skip]

* Fixes #27989 : Riot suits no longer hide jumpsuits (#28003)

* Fixes #27989

* remove tag

* Automatic changelog generation for PR #28003 [ci skip]

* Refactors a cooldown var to not require a spawn or sleep (#28011)

* wat (#28012)

* Remove spawns in favour of stacktrace calls, which don't stop the called (#28013)

proc

* Refactor another spawned cooldown var (#28014)

* Come on, pathetic (#28015)

* Refactor another spawn cooldown (#28016)

* Goodbye spawn (#28017)

* Another spawn timer (#28018)

* Remove a commented out function (#28019)

* Gotta go with the fro2.0 (#28010)

* This doesn't do anything (#28020)

* refactor another spawn cooldown (#28022)

* Refactors another spawn cooldown var (#28023)

* Refactor another spawn (#28024)

* Refactor another spawn var (#28027)

* woops

* woops2

* atmos links!

* unused

* wew

* ffs!

* Forced updates

* update

* Update portals.dm

* adjacent/atmospass checks

* Create portals.dm

* Update portals.dm

* Update other_tools.dm

* stuff

* crossed

* documentation

* reee

* no portal stacking!

* woops
2017-06-20 11:02:01 -04:00
Cyberboss
f3f6fb2ad7 Fixes the ghost transform shortcut 2017-04-01 22:57:52 -04:00
Lzimann
5a618297ce Replaces the default output with the to_chat wrapper. 2017-03-10 01:32:05 -03:00
Kyle Spier-Swenson
2243ab6036 [READY]Parallax (#22315)
* Ports Space Parallax from vg/yogs

* KILL ME

* fuck shit

* fixes

* rgfkbjhkefrhjkfrejhkfds

* Parallax, part 2.

* Gotta get these defines in before remie notices!

* DAMN IT! SHE FOUND ONE!

* fixes orbits

* fix orbits take 2

* Fixes some things with parallax

* Refactors parallax shuttle animations.
2016-12-20 21:55:10 -06:00
Jack Edge
7c0f7c02ec Ghosts can click to use transition space turfs
🆑
rscadd: If you are an observer, you can click on transition edges of a
Z-level in order to move as a mob would.
/🆑

Also removed some trailing returns.
2016-06-23 00:36:21 +01:00
Jack Edge
d4118f8798 Cleaned maps, ruin verbs
Also converts some into tgm
2016-06-12 01:32:59 +01:00
nullbear
8a2e8935c7 adds QoL hotkey for pointing. 2016-05-04 15:48:21 -07:00
AnturK
77ee2ded62 Renames click intercept method to avoid collision with ClickOn 2016-02-20 15:39:14 +01:00
AnturK
a1583f24ae Buildmode Refactor
Adds generic click intercept to clients
2016-02-10 16:29:47 +01:00
Shadowlight213
c2a35a7ab8 Changes click check 2015-12-25 15:07:06 -08:00
Shadowlight213
deac088c47 Adds a toggle for Admin AI interaction and makes it logged.
Also fixes Admin interaction with emagging borgs via the robotics console
2015-12-22 18:24:18 -08:00
tkdrg
4c4a413943 Merge pull request #13886 from AnturK/denyfreezegreentext
A handful of fixes.
2015-12-22 15:53:08 -03:00
AnturK
8fd14d063e Makes ghost able to click on active teleporter 2015-12-21 20:08:05 +01:00
AnturK
31a89ff320 Makes inquisitiveness client preference 2015-12-21 17:28:36 +01:00
Kyle Spier-Swenson
f4f847eb74 Ghosts can now double click on any movable atom to orbit it 2015-12-15 20:12:21 -08:00
Shadowlight213
3c35ac809e Hopefully finally fixes the nanoui issue. 2015-12-06 23:24:01 -08:00
Shadowlight213
1fa842c315 WIP commit one.
Allows admin ghosts to interact with the game world like an AI.
2015-12-05 21:31:37 -08:00
AnturK
e36853d7c9 Convert bots to simple animals - Updated 7.0 2015-11-26 22:06:07 +01:00
Firecage
4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
tkdrg
79e8ad4142 The singularity/narsie are no longer machines 2014-12-12 19:42:37 -03:00
MrPerson
a23dbe2357 Merge branch 'master' of https://github.com/tgstation/-tg-station into examinate_the_doctor
Conflicts:
	code/game/objects/items/devices/radio/radio.dm
	code/game/objects/items/toys.dm
	code/game/objects/items/weapons/tanks/tank_types.dm
	code/game/objects/items/weapons/tanks/tanks.dm
	code/modules/events/ninja.dm
	code/modules/power/cell.dm
	code/modules/power/port_gen.dm
	code/modules/reagents/reagent_dispenser.dm
2014-08-29 04:21:15 -07:00
Firecage
6c7af5eb32 SPANCLASSES!!!!! 2014-08-26 09:52:13 +02:00
MrPerson
d0c97aae72 Merge branch 'master' of https://github.com/tgstation/-tg-station into examinate_the_doctor
Conflicts:
	code/ATMOSPHERICS/components/unary/vent_pump.dm
	code/game/gamemodes/cult/ritual.dm
	code/game/gamemodes/nuclear/pinpointer.dm
	code/game/machinery/spaceheater.dm
	code/game/machinery/status_display.dm
	code/game/objects/effects/decals/crayon.dm
	code/game/objects/items/stacks/stack.dm
	code/game/objects/items/weapons/airlock_painter.dm
	code/game/objects/items/weapons/cigs_lighters.dm
	code/game/objects/items/weapons/storage/secure.dm
	code/game/objects/items/weapons/tanks/tank_types.dm
	code/modules/assembly/assembly.dm
	code/modules/assembly/holder.dm
	code/modules/assembly/mousetrap.dm
	code/modules/mob/living/carbon/alien/special/facehugger.dm
	code/modules/mob/living/carbon/slime/examine.dm
	code/modules/power/cable.dm
	code/modules/reagents/grenade_launcher.dm
	code/modules/reagents/reagent_containers/food/drinks.dm
	code/modules/reagents/reagent_containers/food/snacks.dm
	code/modules/reagents/reagent_containers/glass.dm
	code/modules/recycling/sortingmachinery.dm

Thanks Firecage, this is all your fault
2014-08-20 05:54:20 -07:00
MrPerson
1a991974e1 Sanity check to prevent ghosts from going to nullspace
Fixes #4310
2014-08-02 17:36:03 -07:00
ikarrus
a8432993c0 Cyborgs can no longer strip people or search storage items
-Secborgs can still use their handcuff module to uncuff people
2014-06-11 21:50:41 -06:00
MrPerson
9d9a657acf Change examine() from an atom verb to a mob verb
Just in time for the feature freeze, a big change that will introduce bugs! Yay!
Mob verb is called verb/examinate(target), which just calls target.examine(user) and face_atom(target)
For explanation why, see http://www.byond.com/forum/?post=1326139&page=2#comment8198716
Long story short, mob verbs are much faster than object verbs. The goal is to make right-click menus populate faster.

Also changes a bunch of examine() procs to always, ALWAYS call the parent. Except mobs, but you have 1 guess why I'm not touching them. Mostly this affects obj/item/examine().
And also remove a whole shitload of pointless set src in view(2) kind of crap. Also span classes.
2014-05-01 09:56:39 -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
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
Giacomand
16b35bf32f Made the follow verb less buggy.
Removed duplicated code.
2014-01-05 17:44:46 +00:00
Aranclanos
3e68d5ac70 Ghosts won't runtime if they click on the portal while the teleporter computer is gone 2013-11-22 00:00:24 -03:00
supersayu
fff7c61d10 More correct fix for #1164 that does not introduce new bugs (oops)
Re-adds the ability for mobs to turn when clicking on a wall object in their square (APC, etc)
Re-adds ghost shift- and alt-clicking, sorry about that.
2013-10-16 01:36:43 -04:00
supersayu
61c7595489 Re-adds buildmode to ghosts
Also makes buildmode more consistent for AI
2013-09-22 20:06:52 -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
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