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.
Two new terminals have been added just outside the holodeck, capable to
projecting holograms of your Nano-Mobs for you to pit in battle against
your rival (or your other Nano-Mobs).
Battling is turn-based, with each side choosing to either attack,
recall, or surrender (if they don't have a mob on the field). Reducing
your rival's Nano-Mob to 0 health will down it, earning your mob
valuable battle experience and even increasing it's level! Surrendering
ends the battle, but does not grant experience as the battle was not
completed.
Additionally, Medical has provided a brand new Nano-Mob Hunter GO!
Restoration Terminal for use in their lobby area. Simply swipe any
Nano-Mob card through and it will be restored to full health instantly!
Adds a cooldown to the manual reboot command, to prevent anti-fun
comdoms from endlessly rebooting to lock crew out of the game.
In the event of the game server being knocked offline, the manual reboot
can be used even if it was on cooldown from a previous restart. This
still initiates a fresh cooldown.
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
Changes to spawn selection:
- Elemental types now have a set of area and turf black/whitelists to
eliminate copy-pasted ones for same-type mobs
- Mobs still have their own black/whitelists to further customize their
spawn preferences beyond their elemental type preferences
- Whitelisted areas/turfs now increase weight by 4 per whitelist they
are on
- Blacklisted areas/turfs now decrease weight by 2 per blacklist they
are on (if the ending weight is less than 1, the area/turf is removed
from consideration)
- Creation of weighted lists for area and turf selection moved to
separate procs for readability
- Spawn area selection now uses pickweight
Elemental Types now use the defines instead of hardcoded paths for their
lists
- Fixed a mistake with Rock Type resistances improperly including Grass
and not including Flying
* 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.
Prize counters now spend your tickets when you purchase something
- Had removed the ticket spending during my testing, forgot to re-add it
before submit
Toy Crossbows now properly display the name of their user when they
"start scrounging for ammo"
Water balloons can now be filled from sinks, ANY reagent dispenser
structure (not just watertanks), and drinking glasses in addition to
beakers and buckets.
- Watch out for security hurling pepper-spray balloons!
Temporarily adds a prize counter to the bar on Cyberiad and Fitness Room
(dorms) on Metastation
- The metastation one might stay, but the Cyberiad one will very likely
get moved in the near future.
Adds a fully upgraded prize counter to the ninja's holding pen on
Cyberiad's z2
(map-merged)
Cleans up some src and src.loc in the toys, arcade, and prize counter
files
Replaces some text macros with proper spans
Removes the attack proc from the toy chainsaw, preventing them from
making sounds on hit.
- Still makes the revving sound when you wield them
Adds in a new toy: Magic Eight Ball!
- Discern your fate with the wondrous Magic Eight Ball!
- Obtainable from Claw Game prize balls
Adds in the mighty MAGIC CONCH SHELL.
- Submit to the will of the all-knowing Magic Conch.
- Admin-spawn only (too powerful)
Fixes#2795
- Game will now close if you wander away from the machine
- Cannot use the game while laying down/dead
- Game can now be closed like a normal window, and will behave properly
when doing so
- Dropped prizes will actually visibly fall before the game over screen
appears
- Claw game will now properly use machine processing for power and such
Also some code adjustments to help make it more organized or something.
- Seriously though, it does clean some stuff up and removes a redundant
variable
Adds claw games, the absolute most-infuriating arcade game known to
mankind.
- Uses new fancy HTML5 / Javascript code stuff
- Is buildable!
- Science can produce the board with programming 2
- Requires a matter bin, manipulator, some cables, and a sheet of glass
- Costs money!
- Accepts cash or ID swipes, 15 credits per play token
- Dispenses prizeballs!
- Open them for a random plushie, carp plushie, or action figure!
- Two sets of sprites, thanks to FoS and Stephanov
Notes for the coders / future:
This provides a basic example for introducing new HTML5 / Javascript
arcade games, as well as a base type machine to use for such games.
While this may seem silly, this proves that we are not doom to have to
tolerate only the battle game and Orion Trail forever, and can even make
our own games for the arcade.