Jump to content

[Game Update] - 480096

Release Date: 09/27/21


Update Information:

We had something else we were hoping to release this month, however we're going to need a little bit more time for that, so we're throwing in a surprise QOL update. The Beta Branch is open again, this time with the October QoL changes that will be coming with Hallowed Nights next month. 

The game is paused! Seriously it is! No seriously, with this update you can pause the game! It also contains many improvements to the chat, allowing you to view a recent history of messages sent in chat, along with maintaining your chat history when you go to the caves from the forest, or vice versa.

You can follow the directions here to join the beta.

Server Pausing:
Changes:

  • Server admins and local hosts can now pause the game.
    • This can be done via a keybind that defaults to ‘P’ or when more than one player is on the server, by the “Not a pause” Pause Screen.
  • When playing by yourself, on a server you locally host or are an admin for, the game can now automatically pause (“Auto-Pause”) when focus is taken away from the world.
    • For example: the “Not a pause” Pause Screen, cookbook, wardrobe, map, etc.
  • While other players are in the world, auto-pausing will be disabled.
  • When the game is paused, you can:
    • Manage your inventory
    • View crafting recipes
    • Look at the map
    • Talk to other players via ingame chat
    • Disconnect
  • Servers that are paused will show up as such in the server browser, and can be filtered based on that setting.
  • Worlds hosted without caves will now be paused while all players are in the lobby.

Notes for Modders:

Spoiler
  • You can hide the darkened pause underlay via the console command:
    • Profile:SetHidePauseUnderlay(true)
  • You can enable and disable the Console Command Screen auto-pausing separately in the Advanced menu in settings.
  • When the game is paused, you can run the command TheNet:AdvanceFrame() to make the game advance forward one Update(dt) call.
  • The game now has a new update loop: StaticUpdate(dt), StaticUpdate will run regardless of the game being paused.
    • Components now also have support for a OnStaticUpdate call, but this will only be executed when the game is paused, and will be skipped when the game is unpaused.
  • There is a new Scheduler called staticScheduler, this Scheduler is identical to the normal scheduler, except that it runs on the StaticUpdate loop, and not the Update loop, meaning it will update while the game is paused.
  • EntityScript now has a DoStaticPeriodicTask and DoStaticTaskInTime functions, these are identical to their non-static counterparts, except that because they run on StaticUpdate, they will run even when the game is paused.
  • All widgets and screens will now use DoStaticPeriodicTask and DoStaticTaskInTime by default.
  • Widgets and screens also have a DoSimPeriodicTask and DoSimTaskInTime, which will pause and stop updating when the game is paused.
  • Widgets and screens have a new function called UpdateWhilePaused, which is by default called with true, if called with false, DoPeriodicTask and DoTaskInTime will now point to their Sim variants instead of the Static variants.
  • All widget OnUpdate(dt) calls will need to check TheNet:IsServerPaused() if their behavior should stop updating when the game is paused.
  • All AnimState’s have a AnimateWhilePaused function, by default all normal in game objects won’t animate while the game is paused, and all widgets and screens will animate when paused, you can use this call AnimState:AnimateWhilePaused(animate_while_paused) to set the correct behavior for your animations.

If your widget/screen should continue to behave normally while paused, you will need to make all the following changes to it:

  • Replace any reference to scheduler with staticScheduler.
  • Replace any call to GetTime with GetStaticTime.
  • Replace any call to GetTick with GetStaticTick.

If your widget/screen should pause when the game pauses, you will need to make the following changes to it:

  • If you have an OnUpdate(dt) call, add the following to the first line in the function:
  • TheNet:IsServerPaused() then return end
  • Call self:UpdateWhilePaused(false) on the widget/screen, and on any child widgets that need to pause when the game is paused.
  • Call AnimState:AnimateWhilePaused(false) on any widgets that have an AnimState.

If you want your screen to autopause the game, you must do the following:

  • Add the following code to the constructor of your screen:
    • SetAutopaused(true)
  • Add/Create the following to the OnDestroy function of your screen:
    • SetAutopaused(false)
  • If the top center of your screen is being used, you can move the server paused text to somewhere else by adding this function to your screen:
    • function YourScreen:OffsetServerPausedWidget(serverpausewidget)
    • And then call serverpausewidget:SetOffset(x, y) inside the function.


In Game Chat:
Changes:

  • Announcements and Skin Announcements will now show up in the chat queue instead of at the top of the screen.
  • Announcements and Skin Announcements will now show up in the lobby chat window.
  • Chat now has a history of the last 100 messages, and can be scrolled to view those messages.
  • Chat history will persist between the character select screen, forest, and caves.
  • Messages sent while a player is traveling between the caves or forest will be received when the player finishes loading.

Other Changes:

  • The Bee Queen Crown can now be deconstructed.
  • Reduced the ingredients for crafting the Premier Gardeneer Hat
  • Changed the ingredients for crafting the Cookbook and it no longer requires a Science Machine to prototype.
  • Improved the Pick/Axe’s durability and damage.

Bug Fixes:

  • Fixed a bug where Wigfrid would gain inspiration twice when using ranged attacks
  • Wigfrid now properly calculates inspiration based on the actual damage done. This means buffs, debuffs, and electric damage now affect her inspiration gain. The target’s buffs and protective states, like a hiding Slurtle, will also affect her inspiration gain. Note: The inspiration gain rate has been adjusted to account for her natural +25% damage multiplier.
  • Fixed a bug where the Winged Sail would not save/load its state when built on land.
  • Fixed a bug where spiderdens on boats could grow again if you removed den decorations from them.

You can join in the Discussion Topic here.
If you run into a bug, please visit the Klei Bug Tracker.

×
  • Create New...