* Handlers converted, now to fix 3532 compile errors
* 3532 compile fixes later, got runtimes on startup
* Well the server loads now atleast
* Take 2
* Oops
Shift middle click locks your direction again
Spacepods now move again(literally one letter fixed this)
Holster hotkey is back!(H to holster and unholster)
Hotkey Toggle button has been removed from the bottom bar and verbs
This adds the ability to lock your mob towards facing either a certain
direction or a certain atom. Direction is done by shift-middleclick,
atom is done by shift-ctrl-middleclick.
kills off anim() proc, removes ninja rigsuit electricity effect
gets rid of the flick() in temporary_visual.dm because pooling is dead
updates ethereal_jaunt.dm and makes it OOP, wraiths no longer show the wizard animation, jaunters cannot move after duration is over, fixes directions errors
turns many anim() into obj/effect/overlay/temp
smoother pet heart animation
This commit modifies all of our smoothing sprites to work properly when
the client's screen is rotated. It also does the same for the lighting
overlays, adding directional sprites so that they rotate correctly.
It also ports the movement input system from Baystation, which means
that your controls aren't suddenly reversed when your screen is rotated.
The primary function of this is a new button in the "Preferences" tab -
Set View Range. This functions similarly to the admin verb "Change View
Range", but it only allows you to set view ranges lower than the normal
world.view.
Full changelog:
- Added ViewMods system to clients.
- Everything that wants to change client.view should do it through
this system.
- Currently used by the Set View Range button and Marauders.
- Stretch mode is set to stretch when active, but the original
setting is preserved, as long as you set it with no ViewMods enabled.
- The basic way this works is that it keeps track of /datum/viewmods
on /clients, and whenever one is added or removed, it picks the
highest view range out of all of them and sets the client's vision to
that. This effectively means that, if you, say, set your view range
to 5x5, and get into a Marauder and use the "zoom" button, it will
always go to the marauder's zoom level.
- The HUD is set to minimal mode for any view ranges below
world.view, which means you only get absolutely critical buttons.
- It's set to invisible if you go down to view range 1 or 2,
because the buttons can't fit on the screen at those view
ranges.
- Removed canvas examine option. Just zoom in yourself!
This commit ports /tg/'s move refactor.
The throwing system has been replaced entirely, removing the necessity
of throw_at_fast and resolving multiple outstanding issues, such as
crossbows being unusable.
Spacedrifting has also been upgraded to function with the new throwing
system. It is now it's own process.
Tickcomp has been killed, and the config values have been adjusted to
more or less match live Paradise.
All mobs now share a common Bump() proc. There are only four mobtypes
which do not, including humans and simple animals. With the exception
of mob types that do not ever want to Bump() or be Bumped(), they should
call the parent proc.
Human movement slowdown has been moderately tweaked in how it stacks effects;
It shouldn't be significantly different from a player perspective.
Mobs will now spread fire if they bump into another mob. I don't want to set
the world on fiiiire, I just want start a flame in your heart~
For player facing changes: Input delay has been reduced by roughly ~50ms for
any direction keys, by advantage of a previously unknown flag on byond verbs
which allow them to operate independently from the tick rate of the server.
You may need to clear your interface.dmf file if you have a custom skin for
this change to function.
Start of porting the /tg/station mecha update.
This commit only cleans up the code and adds the proper dependencies for
the mecha.
- Removes relative pathing from /datum/events
- Updated Process_Spacemove() to use
atom/movable/proc/get_spacemove_backup()
- Basically just makes launching off of unanchored objects in space an
OOP behaviour
- Removed styling atrocities and relative pathing from most of the mecha files.
- Notable exceptions:
- code/game/mecha/mech_bay.dm
- code/game/mecha/mech_fabricator.dm
- code/game/mecha/mecha_construction_paths.dm
- code/game/mecha/mecha_parts.dm
- code/game/mecha/mecha_wreckage.dm
- code/game/mecha/paintkits.dm
- Removed dyndomove/dyndoattackby/dyndobulletact. No more icky dynamic
calls. Replaced by specific code for the 3 modules that used it.
- Refactored module cooldown. It now uses addtimer, and power usage is
hooked directly into the cooldown calls.
- Added atom/movable/proc/has_buckled_mobs(). Currently not that useful,
but, necessary for porting the multi-buckling system from /tg/.
- Split code/game/mecha/equipment/tools/tools.dm into multiple files.
- Removed snowflake behaviour from exosuit drill. It now calls
turf.drill_act(src).
- Different from /tg/: Allows you to drill any wall/floor normally.
- Drill no longer gibs mobs. It deals 80 organ damage instead.
- Drill can be used to harvest dead mobs.
- Removed all global_iterator systems from mecha and mecha equipment.
Everything now uses object processing.
- Mecha now have a turn sound variable and step sound variable. Updated
all subtypes to use these instead of snowflake domove procs.
- Removed mecha_do_after, mecha now uses the normal do_after.
- Removed enter_after, same as above.
- /obj/mecha/Process_Spacemove no longer strangely calls the user's
spacemove.
- /obj/mecha/return_pressure now uses return_air instead of copypasted
cabin air detection.
- Same for /obj/mecha/return_temperature
- Added /obj/mecha/Exited. Basically, properly clears occupant refs,
even if they teleport out/otherwise exit improperly.
- Added hooks for mecha action buttons; Didn't implement them yet.
- Moved mecha UI to code/game/mecha/mecha_topic.dm
- Fixed turfs not updating atmos when ChangeTurf(/turf/space) is used.
- Updated visible_message and audible_message. Both now use
get_mobs_in_view() to ensure that mobs inside containers can see
messages.
- Removed /obj/item/mecha_parts/mecha_equipment/tool subtype. It had no
use. Any subtypes are now just subtypes of
/obj/item/mecha_parts/mecha_equipment.