Toribash 5.60

Date: Wed, 05 Jul 2023
Game: Toribash
Toribash Game Banner
Genre: Action, Free to Play, Indie, Strategy
Developer: Nabi Studios
Release Date: Fri, 16 May 2014

Hi, Toribash 5.60 is now available!


This release features major updates to Toribash scripting, brings lots of usability improvements and more!




What's new:



New room list menu


The updated room list is better in every way, both having nicer looks and providing easy access to more information about rooms!

It also has a much better "Create Room" menu that you can actually use now, isn't that amazing?

In addition to that, room list now shows several featured rooms with active players on top, more visibly separates official rooms from player-made ones, shows if the room is password protected so you don't have to guess and has more (and better working!) filters.


Lua replay hacking improvements & updated replay format


This one is for replaymakers - remember how you had to go around those weird bugs with Lua replay hacking working but also not always and then replays getting all glitchy and messed up and not nice at all?
This is no more! (unless you actually want to make your replay glitchy then sure you're welcome)

Along with a number of newly added Lua functions, with the help of Kris and Tom we've made replay hacking more straight forward with all your changes being properly stored in replay files, changes not getting randomly carried over to new fights and so on.



If you're interested in writing Lua scripts for replay hacking, make sure you check the list of changes below!


Toribash Lua scripting updates


Majority of Toribash scripting classes now have annotations with EmmyLua which should vastly improve your coding experience if you're using a compatible editor.

All built-in Toribash functions are now properly documented and listed in system/system_defines.lua meta script which means you no longer need to wonder whether a function to do something exists or not - you can always look it up there and make use of autocompletion in your IDE when using it in your code!

Get EmmyLua plugin for VS Code: https://marketplace.visualstudio.com/items?itemName=sumneko.lua


More UI updates


More menus have received a facelift with 5.60, getting rounded corners and uniform design.
You'll notice the changes in moveable windows like Gamerules or MoveMemory, Replays menu and so on.



Other changes


Below goes a list of other new features, tweaks and bug fixes included in Toribash 5.60

  • News menu will now show notifications for unread news and events
  • Windows version now saves screenshots as PNG instead of BMP for easier sharing
  • Vastly improved 3D item loading performance
  • Blood particles will now collide with static environments
  • Collisions with static environment (e.g. walking on mod objects) will no longer generate blood particles by default
  • Replay and replay folders now support non-latin characters in their names
  • Added ability to invert camera axes in game settings
  • Added lower quality fluid blood option in graphics settings
  • Improved flame rendering performance
  • Improved UI rendering performance

  • Fixed bug with blood reflections not showing up
  • Fixed bug with DQ ring always being rendered at 100% opacity
  • Fixed bug with report post submission screen getting broken in some scenarios
  • Fixed bug with Toribash Discord server link in report post submission screen being broken
  • Fixed bug with camera getting stuck when looking up in freecam mode
  • Fixed bug with replay speed getting stuck at 0 in some scenarious
  • Fixed bug with special Toribash characters (!^%) not getting escaped in Login and Register screens
  • Fixed bug with item effects not being rendered in UI viewports
  • Fixed bug with Kiai sounds not playing on match start
  • Fixed bug with mod triggers not working on instagib bodyparts and when grabbing env objects
  • Fixed bug with menu resolution not updating after changing gui scale or game resolution



Toribash Lua scripting updates


In addition to replay hacking changes touched upon earlier, 5.60 introduces some other updates to Lua scripting:

  • Raycasting
    Say you want to create a clickable object in 3D world. What you'd probably do earlier is get the 2D position of object's coordinates and then do some manual calculations and guesswork on whether your click position is still within object bounds on screen - which is not always easy on rotated cubes or capsules.
    What you can do with Lua raycasting is create a raycastable body and then shoot rays to it to test it instead! This is essentially the same functionality as what Toribash uses for detecting joint clicks, now available through scripting.

  • System classes updates
    Aside from getting EmmyLua annotations, majority of system classes have been majorly reworked, both to increase performance and match more modern scripts' code style.
    While this means there are now new features to use in your scripts, some of old methods have been marked deprecated (and will be phased out in future Toribash releases) or had already been removed from public access.

    One of the examples that we had come across during beta testing is that some third party scripts use TBMenu:displayTextField() method with manual setup instead of using the generic TBMenu:spawnTextField() method, which will throw an error in 5.60 as the former function has been moved to TBMenu internal helper class and is no longer exposed publicly. These issues, however, can be fixed pretty quickly in most cases, and migrating to the generic UI element spawner methods guarantees your scripts will be able to use any new features related to those elements in future automatically.

  • New Lua functions added with 5.60

  • set_obj_linear_vel()
  • set_obj_angular_vel()
  • get_joint_state_name()
  • get_color_rgba()
  • get_clipboard_text()
  • generate_texture_gradient()
  • create_raycast_body()
  • set_raycast_body_pos()
  • set_raycast_body_sides()
  • set_raycast_body_rot()
  • set_raycast_body_rot_m()
  • destroy_raycast_body()
  • shoot_ray()
  • shoot_camera_ray()
  • add_chat_history()
  • generate_font()
  • players_accept_input()
  • get_body_bruise()
  • get_joint_bruise()
  • refresh_roomlist()
  • get_roomlist_num_rooms()
  • get_roomlist_room_info()
  • get_obj_color()
  • get_obj_shape()
  • toggle_game_pause()
  • is_game_paused()
  • get_shader_option()
  • set_shader_option()


  • No longer available Lua functions

  • download_ranking_toplist()
  • download_ranking_trends()
  • get_qi_reset_info()
  • set_gameover_limit()
  • draw_chat_input()
  • get_num_blood_particles()
  • set_decal()
  • get_payment_mode()
  • set_payment_mode()
  • get_beginner()
  • open_post_tutorial_menu()
  • close_post_tutorial_menu()
  • set_post_tutorial_alpha()
  • market_call()
  • move_replay()
  • sopen_replay()
  • end_tutorial()
  • open_upmenu()

Write your comment!