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..
* Adds Necropolis curses for cursed items in Necropolis ruins
* Adds sounds credit @FuryMcFlurry
* stat tweak
* these are painful enough
* a bit stronger
* i kind of wish there was a version of get_ranged_target_turf() that worked off of angle.... but there isn't
* smart coder 2000
* bossed around
* 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
* Reorganizes martial arts and stores them in the MIND.
* Moves martial arts to mind.
* Added more sanity checks
* MORE sanity checks!
* Fixes the checks.