Removes the get_organ_target proc because I'm to lazy to fully
refactor laser eyes. It is embarrassing that we have a proc like this
in the code. Also makes mob code less cursed, one proc at the time.
cl Skoglol
code: New helper proc for alt-click turf listing, bypasses any interaction overrides.
code: Ghosts and revenants now use the new proc.
fix: Ghosts can no longer toggleopen sleepers, adjust skateboard speed or close laptops
fix: Revenant can now alt-click turf to list contents.
tweak: Revenant now slightly less nosy, use shift click to examine.
tweak: Alt-clicking the same turf again no longer closes the turf listing tab.
/cl
Fixes#22410
Use the new helper when you want something to have alt-click turf content listing, but no other world interaction.
cl Floyd / Qustinnus (thx to mrdoombringer for sprite + idea)
add: The clowncar now comes with an inbuilt cannon that can be activated by emagging its circuits
fix: cars can only kidnap if they have the CAN_KIDNAP trait
fix: removes a dot too much in a to_chat in clown car actions
/cl
* Sets notransform on the mob and makes few more things respect it.
* Makes if location contains any indestructible walls. (I need to switch these
to flag instead of path checking)
* Adds it to smite.
* adds support for non-1:1 screen ratios for fullscreen overlays
* prevents future copypasta, adds widescreen support to clickcatchers
* oops, makes it actually compile
* HOPEFULLY makes it actually compile, makes projectiles and mouse_angle_from_client support widescreen
* i need shittier shitcode
* !!!HOPEFULLY!!! fixes the screen fuckery
* Fixes compiling errors. Tested locally, it seems like it works
* fixes runtime in mouse_angle_from_client
* Fixes non-1:1 TGUI runtimes for borgs and ghosts
* adds actual defines for fullscreen overlay resolution
* makes varediting view call change_view to make clickcatcher regenerate proper
* testmerge toggle widescreen verb and fixes vving view
* FUCK - fixes test verb to properly use change_view, so clickcatchers regenerate and such
* fixes parallax runtimes - how'd i miss this
* removes debug verb
ITT worst coder tries not to break everything and improve the code.
fixes#29211🆑
refactor: Legacy projectiles have been removed. Instead, all projectiles are now PIXEL PROJECTILES!
rscadd: Reflectors can now be at any angle you want. Alt click them to set angle!
/🆑
Also lets just
fixes#18133
because the shortest path from point A to B is a straight line, when projectile ranges are "number of times moved/processed" ofcourse it's going to be shorter if you fire diagonally. It will be a problem as long as range is done like that or if range are in "pixels/tiles" moved without outright using get_dist.
Scale()s the icon when range is below 16, if it's above 16, scales the icon to 16 and transforms the rest of the way.
This replaces the other method of creating one click catcher image per tile in the range of the users view, which was pretty memory hungry and inefficient. A single icon operation while the view range changes should still be pretty performant and require less memory bookkeeping.l
This ensures it works when the users view range changes, but does not result in a loss of precision for view ranges up to 16 when moving the mouse (it triggers per pixel which simply get larger when transformed)
fixes#29342
Click catcher now supports mousemove/mousedrag. Basically, mouse location can now be captured even if the user isn't mousing over a visible location
Added procs to allow for projectiles to be fired with just an angle for pixel projectiles, instead of requiring a target turf and pixel x/y
Added procs to get angle of user's mouse from their viewpoint (Time to rework gang machine guns again!)
Beam rifles now have different zoom modes
Free directional zooms out and tracks the angle of your mouse from the center of the screen. However, you can't target with very good accuracy on this (Shots can't be properly aimed on non dense objects/lying down mobs.)
Locked directional zooms like free directional but doesn't automatically turn if your aim changes.
Center view, just increases your view in all directions (2x weaker)
No zoom mode, in which you just retain your normal view.
You can select beam rifle zooming rates to be instant or stepped.
Stepped zooming rates zoom out 5 tiles per second. This will likely help with people not being able to use it without lagging because their computers aren't as beefy!
Beam rifles no longer require zoom to be fired
Beam rifle aiming beams now instantly update instead of on process
Beam rifle aiming beams are now one object instead of 150. This'll help with the lag caused by it during gameplay that I've observed.
Angular penalty reduced by 0.1 for a nice even number.
Instances of client.view = have been replaced with client.change_view() as that'll properly update the click catcher
Hopefully shooting yourself in the face when you hit a blob tile or whatnot is fixed with the new and improved code..
* Reorganizes martial arts and stores them in the MIND.
* Moves martial arts to mind.
* Added more sanity checks
* MORE sanity checks!
* Fixes the checks.