The build server is back up and running which means it’s time for a new update! It should be out in the next hour or so across the platforms, please bear with us as server counts will (as always) drop and rise again as they update!
You guys rock!
Big thanks to Fuzzle, Skinney, Makmoud98, Verra, Zerd, and Kodysch/Oodle for a lot of the code and map fixes contributed in this build, it’s wonderful to see the community chipping in and making the changes that they want to see in the game for themselves. We’re really keen to see the modding API get as much use as possible, especially for changes that can make their way to the vanilla game!
Notable changes from the community in this build:
- Many “consistency” fixes from Fuzzle
Many things including size mismatches (boulder but not keg fitting in inventory), vote crashing (leo you know who to thank) vehicle detaching strangeness, bad tile cursor, missing menus, missing animations, teammates breaking held items, and many more have been whack-a-mole’d by Fuzzle. The sheer number of contributions has been great, often small things but KAG is definitely a case of devil-in-the-details! Many great quality-of-life changes here!
- Siege engine GUI from Makmoud98
Mak has got a lot of work done on making the siege engine GUI look and feel even better since the previous build. The angle counter has been removed which may be controversial, but the charge bar now has a nice slider that shows where the previous shot was made, which is very important for shot consistency and making your stone and bolts count (particularly in gather)!
- Fixes to Archers for Verra and Zerd
Two separate issues with the archer firing code have been identified and fixed by Verra and Zerd, arrow jamming and the overcharge “auto-hold” that was a 3 frame trick. Should make archer play a little more consistent, particularly in high tension situations. Verra also contributed some changes fixing “weirdness” with setting knights alight with fire arrows.
- Kodysch fixed some map “bugs”
These have been a long time coming now due to the delay between builds, but a few stray pixels here and there really put a damper on the TDM experience.
(More to come in that department soon, stay tuned!)
Notable changes and additions to the modding API:
- Map Loading and Saving
The console-exposed /savemap command has long been defunct, but has been renewed for preliminary use and tied to the scripting API with this build. You can now implement map saving functionality in the same file as used to define map loading of a particular format.
These format loads/saves should be as 1:1 as possible, meaning if a format implements saving, it should be able to load the maps that it saves. The currently implemented example of this is any map saved with .png extension is compatible with the .png loading functionality (Credit to Skinney for the implementation of the actual map saving functionality)
- CFileImage can now save png files to cache and maps
This is obviously important for the map saving functionality above, but could be used to save other data in a pictorial form, and even potentially allow saving and loading some client side drawings, or any other use you can dream of. The file saving is restricted inside maps and cache for security reasons, however, as we cant have you spamming image files in abitrary disk locations.
- Mod Detection on rebuild/reload commands
We’ve been told that people are intentionally skirting the mod detection side of stuff to create server side mods – while we don’t necessarily disagree with the intent there (nothing needs to be downloaded to the client), we recieved multiple complaints from other admins about this. As such, running rebuild, reload, or reloadall will mark the server as modded.
We’d much rather people just host modded servers for variety and to enforce to the community that it is ok; quick join joins modded servers as of a few builds ago and this build brings changes for fewer “naggy” messages about joining modded servers as well.
- Map Tile Hooks
More info and examples of using this will come (at latest with the release of Trench Run), but basically hooks have been added to map scripts for tile flag setting/syncing and to make damaging tiles an easier process to script (ie working with server_DestroyTile). The hooks are as follows:
TileType server_onTileHit(CMap@ this, f32 damage, u32 index, TileType oldTileType) void onSetTile(CMap@ this, u32 index, TileType newtile, TileType oldtile)
Get in touch with me if you need more information; they generally need to go in the map load script as its the only one present upon map loading (when you want to set the flags for the first time).
The modding community has been picking up a bit recently, with a few ongoing community projects able to use as much attention as they can get:
- ReBalance Mod
Rayne, Skinney and Verra have been working on a mod to rebalance the game for more pub-friendly play, with the freedom to break/remove/add stuff that we just don’t have with the vanilla game. They’re also happy to collaborate with anyone competent and pleasant to work with. They’re taking any and all community input on board and adding new things literally every day of the week; find out how to play the mod and leave feedback in the thread HERE.
Cameron1010’s Gather mod and setup is in need of more patronage and feedback on what people would like to see changed/added (gamemode changes? captains mode?), as well as contributers to help lighten the load. Gather is a “casual competitive” mode where players can have a competitive experience without joining a clan or waiting for clan matches to be arranged. Remember though, it only works if people join and add!
- Shiprekt and Roleplay
Less opportunities and more shout-outs to perseverent modders; community additions to Shiprekt and the ongoing role-play mod have been great to see continue well into 2015. Keep doing what you’re doing guys!
We’ll be posting some big news about Trench Run soon too, so keep your eyes peeled for that!
Full Changelog (messy due to incorporation of some sub-changelogs):
[modified] console gives warning on trying to run scripts on client (was double-protected) [added] total mod files download progress bar [removed] thumbs down in servers browser for unverified mods [modified] mod downloads prompt appears only once [added] can save/create image files from CFileImage - only to Base/Maps/ and Cache/ though. [modified] /savemap calls a hook in registered map scripts [fixed] custom map "formats" (eg .yourformat.png) not being registered right - this allows proper saving and loading of different "types" of png files. [fixed] 32 bit maps wrongly loaded [fixed] sometimes collisions wouldn't update with tilemap hook flags [added] [script] hooks for the tilemap hitting tiles and on setting tiles (for syncing of tile flags for custom tiles in TR and mods) [script][added] bool CScriptedBrowser::getServerPlayers( APIServer@ server, APIPlayer@@ players ) [script][added] CopyToClipboard and getFromClipboard [added] updated vehicle charge bar from makmoud89 - adds a "last charge" slider which turns red when you are close to the charge of your last shot - adds a cooldown bar for the ballista - fixed various display bugs - removes the angle display (noone contacted thought it was necessary) [fixed] eggs can be stored in inventory [fixed] food is the same size as materials [fixed] missing arrows on Catapult seat [fixed] shielded knights can be burned from the back now + 0 damage hits with fire don't ignite. (thanks Verra!) [fixed] triple shot "jam" and archer speed mismatch (was still 70% sometimes) (thanks Zerd!) [added] savemap functionality for pngs - Thanks Skinney! - TODO: fix up any weird stuff with the derived loaders, which probably wont work for saving at the moment. [fixed] idiot doors on The Cauldron map [added] can save images [added] more fuzzle fixes: [fixed] Vehicles Buttons only show if you overlap the vehicle. [fixed] Vehicles Buttons won't show if you're attached to the vehicle. [fixed] buttons didn't show after you'd detached from a seat. [fixed] could use buttons on enemy vehicles. [fixed] Firing on detach. [fixed] Catapult animation. [modified] lock button icon ("immobilise") [fixed] hit logic, could hit items carried by players from the same team, could hit blocks carried by the Builder. [fixed] Items dropped on class switch [fixed] couldn't switch class if you'd detached from the blob not not "re-touched" (boat, ballista) [added] helpful death tip about resource resupplies at workshops [fixed] that animals could be ridden through the barrier [fixed] more vote crash issues [modified] tile background script simpler - careful any modder that uses it for big objects though, it wont work any more [modified] catapult rocks more consistent - can hit same-team blocks, carried items etc [fixed] bunk crate offsets [modified] big work on ballista bolts hitting/mechanics by Fuzzle (should be less "???") [modified] fish not consumed when destroyed in someone's hands (thanks Fuzzle) [modified] mines cant be hit by team builders to prevent them getting "smashed" in hands - better fix coming (thanks Fuzzle) [fixed] arrows hitting blobs (eg platforms) through tile walls (thanks Fuzzle) [added] EXPERIMENTAL: siege weapons shot angles are affected by their in game angle - didn't work this way due to fears of overpowered ballista placement but we can try it out. [fixed] tutorial didn't know about new triple shot [fixed] ballista eats materials on class switch [modified] merge behaviour a little - can merge going into inventory too. [modified] mines set damage owner when added to inventory [modified] swapping class preserves your stun (thanks makmoud!) [added] changes from Fuzzle: - boulder doesn't fit in inventory - tile cursor "fixed" - item name code centred on blob - pickup/throw double tap issue fixed - food doesn't stack in inventory - quarters no menu after sleeping issues fixed - boat shop menu uses 2x2 icons - popping wheels off ballista/cata removes driver seat - shops put items where they "should" go - things used from hands go to hands, or inventory if not available - things used from inventory go to inventory, or hands if not available - if neither are available whatever you were holding is dropped [fixed] "crash in spawnfish" when failed to load map. [fixed] missing traders on kodysch_Upshoot map (TDM)