* why no work
angy
* weird errors
shit sucks
* fixved it
I can spell good
* fix?
POSSIBLY
* nope
wasnt this
* no more immutable
thhanks koffee
* ok
ok
* removes all the pref stuff
""removes""
* remove this
idiot
* this goes bye
bye
* these go too
genius
* bye
bye
* better night vision
* tries to fix camera
maybe
* ok fuck it we ball
we ball
* ok lets go back
go back go back go back
* WORK
DAMNIT
* ha
fuc kyou
* this
maybe
* this doesnt work :(
* maybe fix
maybe
* fucks everything
why do i do this
* test update
test
* Revert "tries to fix camera"
This reverts commit 2d14fbae66.
* reverts everything I just did
peko pain
* bye
bitch
* oh yeah add this
I guess
* Fucks up the camera net + chunk
why
* test maybe revert
* Revert "test maybe revert"
This reverts commit 98c5ef1b93.
* Revert "Fucks up the camera net + chunk"
This reverts commit 0e421ebf5f.
* this isnt going well
uh oh
* Attempts to rework out security camera
and probably more
* Revert "this isnt going well"
This reverts commit 1d8ceac867.
* Revert "Revert "this isnt going well""
This reverts commit e26fb61415.
* ok
ok
* Revert "ok"
This reverts commit 7e7a7f8372.
* Revert "Merge remote-tracking branch 'upstream/master' into NahI'dPortit"
This reverts commit 01094731c1, reversing
changes made to c0cf69ebf1.
* this doesn't need to be redefined
I guess
* no we need this
totally
* a familiar pain
* 515 is L
* yeah
yeah
* ok god
fine
* bye bye basemap :(
doesnt work on runtime station
* Fixes AI statis not working
god im good
* remove this
oh god
* Revert "Revert "Merge remote-tracking branch 'upstream/master' into NahI'dPortit""
This reverts commit b3fb3ba0db.
* proves to god I exist
and im pissed
* yog exclusive feature (tm)
plane master
* bring this back from previous push
* updates vendor emissives
as well as firealarms
* Updates barsign
and fucks everything up
* Fixes barsigns breaks all lights and updates barsigns to be machines and not structures
We will address this in a later patch
* not sure who changed that
oh well
* yeah
this got moved
* this needs updating
yeah
* turns off the carbon monoxide alarm
duh
* FIXES IT YES
thank you biome
* turns this off too
yeah
* Can't compile yet but ports a ton of shit
* L
* the game opens ig
* extra shit
* fixes
* signals and smooth queue
* look ma im going horribly out of scope
* fixes chasms
* this fixed nothing
* ???
* more barsigns
for later
* forgive me cowboy. also fuck diagonals
* oops
we need this apparently
* fuck it we ball
* Update _lists.dm
* Update icon_smoothing.dm
* it now works kinda
* Update atom_initializing_EXPENSIVE.dm
* lighting don't work
* we have light
* sort turfs better
* big fucking reorganize
* like everything except templates
* boy i sure hope nothing bad happens to these bar templates
* we're back
* no runtimes baby
* no errors
* shuttles are almost fixed i think
* Revert "shuttles are almost fixed i think"
This reverts commit 046058827c.
* Revert "Merge remote-tracking branch 'upstream/master' into icon_smoothing"
This reverts commit 863e1b776d, reversing
changes made to 884623e600.
* Revert "no errors"
This reverts commit 884623e600.
* too far back i think
* midround smoothing runtimes fixed i think
* comment cleanup
* should fix the component runtimes
* Revert "Revert "Merge remote-tracking branch 'upstream/master' into icon_smoothing""
This reverts commit a8ff8d63aa.
* NO RUNTIMES AND ICEMETA WORKS LET'S GOOOOOO
* please stay fixed icemeta
* organizing render dms
* woops this too in the reorganizing
* cryo fixed
* nah, i'd win
* parallax isn't my problem
* pls don't break icemeta
* runtime station gets a cam console
* well it compiles
* maybe fix the map
* woops
* man i hate maps
* was that it?
* PLEASE
* missing focus tests
* maybe that was it
* maybe
* let's take the batteries out of the carbon monoxide detector
* fuck osha
* i hate vending machines
* that's not a computer
* slot machine fix
* PLEASE
* that wasn't supposed to be there
* fuck it i can't fix everything at once
* BLUESPACE LOCKER?
* literally why
* hhh
* does this fix chasms?
* that should fix bad index
* please?
* turf_flags for reservations
* haha oops
* yolo (kill me)
* fix wood walls and other walls
* fix stairs
* that might have fixed shittles
* baseturfs are good now i think
* should fix plasma windows
* decals fixed
* please fix changelog
* shuttle lighting still fucky
* lighting is stinky slow and doesn't finish updating by the time the server starts guh
* lighting seemingly works
* slipping works
* shuttle sounds, slips, and windoors fixed
* why am i here
* fuck the changelog
* of course someone touched smoothing as i'm almost done
* we good?
* updating ai_eye and rename
* z updates and more ai cam updates
* ice fixed
* weather and ice fix
* clockies can see and other clean up catches
* windows fixed
* cowbot forgive me i'm trying to update flashlights to tg because there's no light on lower multi-z z's like ice meta bottom floor
* movable lighting works on multi-z
* gps fix
* item stacking from drag works
* falsewall fix
* job panel fixed
* AI HANDLED
* woops that comment should be gone
* i hate ai i hate ai
* brass glass visible again
* vents on top of tiles now
* sigdrobe sprite back
* centcomm portals work
* portals and see openspace mapping icons fixed
* icemeta my behated
* kill
* is that it
* lighting cutoff is old hat
* angery overlay
* not super necessary
* also extra but whatever
* ticker but thicker
* job fix i hope
* this isn't needed anymore
* latejoin fix?
* laserpointer, pipecrawl, and some consoles fixed
* i hate fixing bugs as they're made
* we're not ready for that
* redef cleanup
* gps arrows, gun flashlights, shuttle console placement, multi-z pulling fixed
* goofy ah gun code
* this was a good idea and necessary
* should fix caltrop component
* does this please the linter
* linter please accept this async function
* THERE
* take the batteries out
* make it stop
* cowbot stopped me from letting ghosts dab
* recycler loc fix
* fix border firedoors not blocking movement
* should fix screen fade out and fade in on round start and end
* darker command tile trim and fixed bronze wall sprites
* fuck you linter
* railings actually stop you from leaving
* probably fixes gibtonite overlay when struck
* armaments dispenser and clockwork catwalk
* turbine fix probably
* pointing at inhand items should be fixed
* fix overwatch app
* should hopefully fix cable rotation on shuttle move
* flashlights have better directionality logic
* hopefully fixes shuttle atmos on move
* grilles fixed
* hopefully this fixes shuttle buttons, airolocks, and other machinery not working after moving
* ice meta mining area finally not freezing
* fix lightbulb icons not updating
* lava mask and lighting dots
* we actually have this
* fuck glowshrooms GC
* fix light fixture interactions and icon updates
* hopefully catches all the updates
* lava lighting good to go
* seclite was missing inhands
* smoothing in replays
* light updates accurate in replays
* biome's multi-z requests
---------
Co-authored-by: cowbot92 <75333826+cowbot92@users.noreply.github.com>
Co-authored-by: Molti <gamingjoelouis@gmail.com>
Co-authored-by: Ringalong <53777086+JohnFulpWillard@users.noreply.github.com>
* Adds grep for mapload and var in Args
* vars in args
* some more
* stuff
* Update shuttle_creator.dm
* Update __techweb_helpers.dm
* fix
* Update discoball.dm
* Update check_grep.sh
* Update check_grep.sh
* Update check_grep.sh
* Update check_grep.sh
* I'll finish this later
* datum and lateinit maploads
* componentinit stuff
* mapload fixes
* why isnt CI catching these major issues
* MERGE CONFLICT FUCKED MY PR OVER
* Update check_grep.sh
* Update food.dm
Fixes throw_at() to look nicely for xeno leap by adding the diagonals_first argument.
Removes useless gateway/Crossed and gateway/Bumped().
Changes throw_at() to use diagonal directions.
I replaced the atom variable "throwpass" with the LETPASSTHROW pass_flags
I readded hit_check proc to catch things getting on the thrown thing's tile during its sleep(1) (especially needed for mobs running towards the thing), the only other possibility would've been to add throwing checks in atom/movable/Crossed() (called after every move) and I don't think it'd be worth it.
I added the item var "thrownby" to be able to continue to log the thrower of the item when it hits a mob. It removes the need for a thrower argument in throw_impact() and hitby().
They
This means that multi-tile things may not handle correctly, but the only thing that used it was atmos for double wide doors, and they are used in one location that is unlikely to have atmos changes
see: http://www.byond.com/forum/?post=1852790 for justifcation. (tl;dr: accessing .locs causes memory leaks)
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.
Modifies Adjacent() for items, to allow items to be accessed properly inside each other and the user. This fixes a few bugs seen in testing.
Sets a maximum telekinesis range (in case you were using cameras).
The telekinetic grab now does nothing at all in melee combat. This prevents double messages where you attack them with the object telekinetically, and then also attack them with the telekinetic grab.
Crayons had a bug where they were drawing at all distances. This is because in old click code, afterattack() only happened at range when you had the USE_DELAY flag, which is no longer true. Proper behavior is to use parameter 3 (proximity_flag), which is 1 when adjacent or 0 if inaccessible.
This adds two atom procs, attack_tk() and attack_self_tk(). attack_tk is used as per attack_hand; attack_self_tk exists on all atoms (not just items) but is similar to the item proc, but without the assumption that it is in the user's hand.
Removes the functionality where entering throw mode would create a tk grab, as it is redundant.
As a default, attack_tk does the following:
* Creates a telekinetic throw for items and un-anchored objects
* Does an attack_hand (paw, animal, etc) for anchored objects
* Does nothing to mobs
As a default, attack_self_tk does nothing. An attack_self_tk was added to closets to open and close them since that's a common thing.
The following items have added attack_tk procs:
* Fire axe cabinet, extinguisher cabinet, and bedsheet bin will drop into their square instead of putting it in your hand
* Doors only open telekinetically if they require no access
* Chairs will rotate if nobody is buckled to them
* Filing cabinets will remove a paper at random.
* Tables and racks return to prevent telehulk smash
This is INCOMPLETE. Adding proper TK interaction to everything is something best done in pieces.
In particular, interacting with mobs and items both open up the floodgates for bugs, so we/I need to decide how we want it to go before we commit, and then fix bugs along the way. Stumbling forward, fixing bugs, and then changing course halfway would be a bad idea.
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.