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.
This commit changes how NanoUI's live data updating system works.
Previously, data for the template was directly gathered in the
ui_interact proc. Now, it is seperated into the proc `ui_data`.
To players, this does absolutely nothing.
To coders, this opens up the potential for a much more complicated and
fancy graphical updating system in the future, because the data is
available on-demand without ever having to call
nanomanager.try_update_ui.
Removes server instability, random disconnects, and server crash due to
trap mobs / high player count
Trap mobs are now capped just like normal spawns
- If a trap mob is created that would push the total number of trap mobs
over this limit, the server will remove the oldest trap mob (effectively
replacing it)
Changes health from a list using magic numbers to an associated list for
readability (doesn't make sense to have two vars for what little uses
this)
Converts mob displaying to use the alternate appearance system, to allow
for a per-mob control over visibility
- Only will show for mobs that are holding a PDA with a game client that
is connected to the game server.
- Nanomobs properly are concealed from player mobs after being interacted
with (capture/escape), PDA dropped, or game client disconnection
- Game client will disconnect from game server when you change the active
PDA app (including going to PDA main menu) and/or eject the game cartridge
Also finished my thought in that one comment. It's about time I-
Adds catch modifier support, track wild captures
Adds support for capture modifiers:
- These modifiers adjust the "effective run chance" of the mob,
potentially making it easier or harder to capture a mob based on the
total modifier
- Attempting to capture a mob in melee (running up and smacking it with
pda in hand) now grants a 20% capture bonus (reduces mob's effective run
chance by 20)
- Attempting to capture a mob at range (throwing the pda) does not grant
a bonus
- Support is in place for a client-based catch modifiers, to allow for
possible things such as bonuses or penalties from things like "item
cards" or achieving X number of captures. This is not currently planned
for this PR
Adds tracking of how many wild mobs you have captured to the game UI.
Mobs from trading cards will not increase this value, only mob you
captured from the wild will.
- Bragging rights for now, but could be used for a future "milestone"
system to earn bonuses
More cleanup and fixes
Thrown PDAs now properly trigger capture attempts
Mobs now properly consider their type preferences for spawning (may need
to up whitelist bonus weight)
Mobs no longer will spawn in holodeck areas, since this results in them
sometimes spawning on z2 in the holodeck source "templates"
show_message replaced with audible_message
Spawn area selection cleanup
Mobs will no longer attempt to spawn in the derelict solars,
constructionsite solars, or the unused /area/construction subtypes (the
base type is used, just not the subtypes as far as I can tell)
- Mobs will also avoid spawning on turfs that are not on the station
z-level, in the event an area is mistakenly mapped onto additional
z-levels or something
* bicon regex run
* Remove all \black
* Goonchat from /vg/ / Goon
Whoo!
Special thanks to @Tastyfish for the macro2html thing so all of our
horrible color macros keep working and don't fail horribly <3
* Fixes and changes n stuff
- Made ping sane again (the fuck PJ)
- Updated chat CSS
- Fixed like one problem with a color macro
* whoops
* Restore /vg/'s pingloop stuff (used to avoid fucking up is_afk)
* Strip problematic tags from tcomm scripts
- <audio>
- <video>
- <iframe>
- <script>
* Fix human examine icon
* Name hotkey elements
* Removed old stylesheet
Currently, to_chat is literally just a proc that does user << message.
But it'll let us do output modification in the future, especially for
something like Goon's HTML chat.
Big thanks to PJB for his to_chat script, see
https://github.com/d3athrow/vgstation13/pull/6625 for more details.