Hello mates, Baron here! Update 1.3 is now released and this is number 3 of 4 in the series of free Byeth Updates, with the goal being to canonize some of the extended lore of Blade & Sorcery through additional content and maps.
But of course it wouldn't be a Warpfrog release if I wasn't able to tell you that as per usual, the update completely derailed off plan and in a typical pattern of self-flagellation we ended up scope-creeping like crazy. ːsteamlaughcryː
But the good news is that's extra content for you guys!
Welcome to Khar-Tib

The desert nation east of Eraden and across the Khemenet Sea is known for its blazing sands, unorthodox weaponry and unique armour crafting.
Update 1.3 brings canonical lore content from Khar-Tib to the base game, and a couple of new features to boot. This was a fun update for the design team as they were able to work on stuff that was more unorthodox than usual.
Now, let's get into what's new!
Kharese Themed Weapons
All Byeth Updates come with faction themed weapons, and Khar-Tib is no different.
The Kharese make use of the unique resources available in the desert, crafting unusual weapons of bone reinforced steel. This makes Kharese weaponry quite unlike anything else seen in Byeth.
For the first time in Blade & Sorcery, we have a double headed axe.
This labrys inspired weapon has a cool feature in that it can be imbued independently on both sides, so each blade can have a different magical function.

For sword enthusiasts, we have one-handed scimitar and two-handed khopesh-inspired blades, with a Khar-Tib spin.
Both of these weapons have unique bone reinforcements crafted along their spines.

For stealth fans, a new entry to the dagger category is this unusual little dual-bladed dagger.

In larger weapons, we have a war-scythe inspired weapon and dual-bladed staff.
The staff can be imbued with magic on both sides (like the labrys) but it is not a magical staff that sorcerers use, it is just a regular weapon.
Next up, another unusual first for the Byeth updates; a spiked Kharese shield.
The spike can be used offensively, giving the shield some extra function.

Retractable Blade
And finally, a little bonus tweak was added to the current wrist blade in the game.
The blade is visually unchanged, but now it can be activated to extend and retract the blade using the alt-use button.
While holding it with a spell equipped, you can also imbue it in your hand like you can with arrows. So if you had two wrist blades equipped, you could imbue them both in your hands without needing to unequip one hand to imbue the other.

Automatic Crossbow
A brand new weapon category for Blade & Sorcery: introducing the Kharese crossbow!

The crossbow is small and versatile, and can be used single handed as a nice offhand weapon, or with both hands.
It shoots bolts automatically from a top-loader, which is great for speed and convenience, but the top-loader would need to be reloaded once empty. Similar to the regular bow, you can also retrieve bolts from the ground to load back into the crossbow, since the bolts are physical.

The automatic crossbow carves out its own little niche to separates it from the traditional bow and Sentari firearm. It's not as punchy as the larger longbows and nowhere near the explosive power of the Sentari firearm, but it is fast and reliable.
With dual-wielding crossbows, a player could pepper the enemy in a shower of bolts before they even got close.
Kharese Themed Armour
The Khar-Tib update introduces a new armour set. The Kharese make their unique looking armour from carapaces of desert-dwelling creatures.
The armour is a mix of leather, cloth and hard carapace, making it a mid-tier T2 armour.
It will be available in Sandbox and Crystal Hunt mode, appearing in the shop as a T2 item to purchase in the latter.
Kharese Bombs
Another brand new weapon category is being introduced in 1.3: Kharese bombs. The Kharese use a mixture of physical components and crystal dust to craft devastating bombs.
Whereas the Sentari potions were mostly about utilitarian function, the Kharese bombs are most certainly intended for offense.
There are three variants:
Fire Bomb
A proximity-based trigger will detonate the fire bomb and engulf the area in flames, making it a good chokepoint weapon.
As a nice bonus, it can be stuck to things like walls or objects, so you can get a bit creative with your devious traps.

Lightning Bomb
This bomb embeds itself into the target before unleashing electrical mayhem. Similar to electrical imbued arrows, this bomb has an assisted seek feature that enables it to hone in on a target when you throw it.

Gravity Bomb
Throwing this bomb creates a pocket of gravity where all those caught in the vicinity are flung with a springboard effect, including the player. All targets will get launched up in the air, followed by a less elegant landing.
If you are a creative player you could potentially use the gravity bombs for dungeon traversal, such as leaping wide chasms or tall ledges, but be careful!

Khar-Tib Enemies
To accompany the new armour in the game, a new Khar-Tib enemy faction has been added to Sandbox and Crystal Hunt.
In Crystal Hunt the faction can be encountered in their own faction map, or they can be spawned in Sandbox dungeons as one of the selectable factions.
New Khar-Tib Themed Map
Presenting map number 3 in the Byeth series:
The Kharese Fortress is tucked away deep in the desert mountains of Khar-Tib. Now abandoned, the site exhibits evidence of a previous battle.
This ended up being a very large map, with lots of nooks and crannies to explore, as well as climbing and parkour opportunities.

When designing the Khar-Tib environment, it was unlike our other very European-influenced Eraden maps in terms of architecture and art direction, so the team got to go all out in giving this place an exotic feeling.

Interactable Ballistae
A cool feature of the Khar-Tib map is that it contains elements of interactivity.
There are several ballistae dotted around the Khar-Tib map that can be interacted with and fired.

Though slow-firing, the ballista bolt is devastatingly powerful and will easily skewer armoured enemies.
One nice QoL feature is that the ballista will adjust to height, so it should be comfortable for everyone to use in VR.

Traps
Continuing on the topic of interactive elements, the Khar-Tib map also contains triggerable traps which are positioned about the map in strategic areas and chokepoints.
Hitting the activation button will spring the trap and release spinning blades that can sever enemy limbs.
Town Square: Daytime Map
Big dawg is back. The return of a classic!
A daytime version of Town Square has been added, to resemble the map as it was before 1.0 release.
You can now select a day or night version from the mapboard when selecting the map.

When we converted Town Square to the night version for 1.0, we were really surprised by just how many players felt an affinity for the daytime version. This was tricky for us because we had already made deep changes by converting it to nighttime, so offering an alternate version was not super easy because of how the lighting works.
However, with a little work we were able to recreate the map and we are now happy to be able to offer this old version as an option.
Dungeon to Arena Maps
Continuing with the map madness in 1.3, a large new feature is the conversion of many dungeon environments to standalone arena maps!
Ten maps have been converted from Outpost and Dalgarian dungeons, and can be found on the sandbox mapboard under new tabs.
These maps can be played in regular sandbox mode where you can spawn any weapons or waves, etc, but what is also super cool is that they all work with the new Survival Mode from Sentara Update!
That means they will also work perfectly with any modded Survival modes too.
Some of the maps will be very familiar to you as they were selected from the pool of most iconic of the dungeon rooms.
These would be really classic rooms that you will have surely encountered in dungeon runs many times before, such as the Library, etc.
However some of the Dalgarian dungeon rooms may surprise you, as they are much rarer, less often generated rooms.
These would be dungeon rooms like the Dalgarian Senate, Dalgarian Forge, etc.
New Khar-Tib Faction Music
A new music track has been created for the Khar-Tib faction map by Glamdok, author of the Blade & Sorcery OST.
If you want a little preview, check it out here:
Phew! Well that's it for the Khar-Tib Update, folks!
The B&S team are likely going to be spending the next few weeks working on any 1.3 bugs that pop up, and then after that it will be on to the final Byeth Update: Madlu.
Have fun, and bye for now!
The Khar-Tib Update - Full 1.3.0 Changelog
FEATURES
- \[New] Added Khar-Tib Desert level
- \[New] Added Khar-Tib Weapons
- \[New] Added Khar-Tib Armor
- \[New] Added Khar-Tib Waves
- \[New] Added Shopkeeper Khar-Tib Items voice lines
- \[New] Converted 10 Dungeon rooms into Arena maps (5 Outpost + 5 Dalgarian)
- \[New] Added retractability to wrist blade
- \[New] Implement Spell Modules
- \[New] Added Market Day/Night level variants
IMPROVEMENTS
- \[Improvement] Climbing rope has be separated in to segments to allow multiple light volumes to affect it
- \[Improvement] Improved the Infuser room's river underwater fog
- \[Improvement] Improved rotation event linker functionality
- \[Improvement] Improved logging on FxModifierCollision
- \[Improvement] Optimized bundles to reduce duplicate assets
- \[Improvement] Optimized Sentara Ship scene island with HSR bake
- \[Improvement] Cleaned up the navmesh of many levels
- \[Improvement] New bird particles
- \[Improvement] Tweaked background smoke effect on the Citadel map
- \[Improvement] Improved some text translations
- \[Improvement] Improved achievements initialization
- \[Improvement] Added Exposure transitions and new exposure profiles for the Canyon map
- \[Improvement] Removed audio PCM data generation at runtime, allowing us to compress audioclips to reduce memory usage
- \[Improvement] Added candles on some item/wave books which automatically light up when you are close to help you see the books in darker areas
CHANGES
- \[Change] Updated falchion lore to indicate its Sentari origin instead of Kharese
- \[Change] Updated Bladed Staff and Wrist Blade lore
- \[Change] Disabled the "Equip" button for wearable items that the player is currently already wearing
- \[Change] The spell menu now closes when pointing at a menu
- \[Change] The swimming tutorial will no longer repeat in Dungeons if player has already completed it
- \[Change] Our birds have been retrained to squawk in a more copyright-safe manner
- \[Change] Now only allow damagers to be used with a collisionHandler, so they dont require an item component
- \[Change] Blunt damage requires less velocity to register, which makes pommel strikes possible. this is a noticeable balance change across all weapons
- \[Change] Adjust breakable rock settings (make rocks harder to break)
- \[Change] Fixed terrain physics material on Home map
FIXES
- \[Fix] Fixed Canyon ambiance audio being included in the scene bundle instead of being loaded via addressables
- \[Fix] Fixed various SFX which were normalised are no longer normalised.
- \[Fix] Fixed how ItemData sets its file name string, to prevent it replacing all underscores with item type
- \[Fix] Adjusted the damage multiplier on the shopkeeper's head to fix him surviving a stab through the head
- \[Fix] Made LevelModuleResetSpawners take parent spawners into account to avoid spawning out of order
- \[Fix] You can no longer select the Main Menu buttons while the Warpfrog intro is playing
- \[Fix] You can no longer open the player menu while the game's ending and credits are playing
- \[Fix] You can no longer skip the credits with a single trigger press (to prevent accidental skipping)
- \[Fix] The Crystal Musket hammer now moves at a proper time scale
- \[Fix] Character selection's "Death Penalty" option description is now localized
- \[Fix] Fixed haptics triggering when NPCs cast spells
- \[Fix] The first bookmark is now selected for the default map when the world map is initalized
- \[Fix] When another world map is selected, the previously selected location is now deselected
- \[Fix] Fixed a point caches NRE when vfx PositionMap, NormalMap properties didn't exist
- \[Fix] Ignore trigger colliders when computing the item bounds
- \[Fix] Do not spawn multiple inventory devices if spamming grab + release
- \[Fix] The inventory orb no longer spawns multiple times if spam-grabbed
- \[Fix] The NPCs no longer show their inventory device when spawned
- \[Fix] Fix being able to blast a hole in your own chest with lightning beam
- \[Fix] Make ragdoll parts inherit the locomotion velocity of a creature when the state changes
- \[Fix] Missing haptics on sfx for some effects
- \[Fix] Fixed missing Fence Wall 4x4 collider.
- \[Fix] Fixed missing collider on Metal Pile Ingots_Piles_03_Divider
- \[Fix] Fixed LOD1 unlit asset on Dalg_House_20x12
- \[Fix] Fixed lighting on tent LOD in DalgarianGate
- \[Fix] Adjusted Lighting of Floor_Ruined_06
- \[Fix] Fixed missing physics materials on MetalPottery 1/2
- \[Fix] Fix rack not loading in build
- \[Fix] Fixed incorrect reflection of some meshes in Observatory
- \[Fix] Fixed lighting problems in several levels
- \[Fix] Fixed a hole in Citadel
- \[Fix] Fixed hole in the river of the Golem Infuser Room
- \[Fix] Adjustments to Out of Bounds colliders in DalgarianGate and Golem Arena.
- \[Fix] Removed Z-Fighting on the roof of the TwoFloorCorridor dungeon area
- \[Fix] Fix for bubbles going over the player's hands while underwater
- \[Fix] Made walls in Arena map have thicker colliders to prevent items phasing through them
- \[Fix] Fixed "Meshes cannot create physics mesh due to triangles being too large" error in Tower scene
- \[Fix] Fixed Cut stone pieces in Dungeons having no physics material
- \[Fix] Fixed lighting issues around the barrel area in FallenCorridor dungeon area
- \[Fix] Fixed Cutstone Trim material
- \[Fix] Fixed missing colliders on Town Square Towers
- \[Fix] Fix creatures teleporting due of death animations when killed
- \[Fix] Change Outpost Watermill location in the world map
- \[Fix] Fixed issues with the male "Nomad" shoulder armor
- \[Fix] Fixed being unable to grab empty quivers off racks, prevent mix-and-match of throwables in different quivers
- \[Fix] Fixed missing damager on MetalPortcullis
- \[Fix] Fixed incorrect localization for sandbox character creation
- \[Fix] Avoid Inventory NREs during the level unload while assets are being despawned
- \[Fix] RagdollPart bounds NullReferenceException prevention
- \[Fix] Avoid Haptics to break if it's trying to access an audio source that was destroyed
- \[Fix] Avoid NRE accessing the skill tree crystal item model before being initialized
- \[Fix] Fixed a clipping issue with Blackened Glove
- \[Fix] Avoid NRE when releasing the Inventory Orb on Nomad
- \[Fix] Fixed mercenary shoulder meshes
- \[Fix] Fixes to baron hat damager
- \[Fix] Wristblade renderer issue fixed
- \[Fix] Fixed Outpost end chest having negative collider
- \[Fix] Fixed the issue where the mask clips through Madene male face; Fixed the issue with shoulder and neck skinning
- \[Fix] Fixed chandelier damager
- \[Fix] Fixed rustic braces missing collision handler
- \[Fix] Fixed DalgCliff_01 mesh missing a physics material
- \[Fix] Fixed handle issue in mininghub
- \[Fix] Fixed incorrect spawner ID in XSTransi_Castle_19
- \[Fix] Misc NRE fixes on the InventoryChestHolder, Creature and Holder classes
- \[Fix] Fixed mercenary torso broken parts
- \[Fix] Fixed Bastard sword mesh not being read/write causing incorrect imbue particles
- \[Fix] Removed incorrectly added reveal decal on broken parts F and G of barrel.
- \[Fix] Removed incorrectly added reveal decal on ArcheryTarget.
- \[Fix] Item/Wave books will stop updating scroll components when the UI is hidden
- \[Fix] Improved collisionHandler performance when holstered or not moving
- \[Fix] Fix exception that could occur if the shopkeeper has nothing to say about an item
- \[Fix] Avoid NRE on mapboard when a broken modded map is installed
- \[Fix] Prevent NRE spam from position event linker while unloading levels
- \[Fix] Prevent NREs in SpellTelekinesis TryRelease if spellcaster is destroyed
- \[Fix] Fixed gravity boost force not resetting if spell is unequipped before you land on the ground
- \[Fix] Fixed ShaderSorcery render queue override + Set render queue on transparent stained glass materials (fix survival rewards text behind environment elements)
- \[Fix] Fixed invalid references on Roots Handles in Shop
- \[Fix] Adjustments to doors in CrackedRoom and CaveTerrace so they hopefully align better
- \[Fix] Fix wristblade position on left hip
- \[Fix] No longer show level option descriptions if the option is hidden
- \[Fix] Prevent stunned creatures from sliding around if they were grabbed when stunned
- \[Fix] Assign imbue emission renderer for all items to fix floating VFX and other status effects
- \[Fix] Sanctuary Stairs navigation fix + some audio improvement
- \[Fix] Fix lightmaps not being applied correctly on dalgarian rocks
- \[Fix] Updated Armor Items that differentiate between genders with icons that have both
- \[Fix] Fixed home cave incorrectly culling near scaffolding area
- \[Fix] Fixed Occlusion issue in Shop
MODDING
- \[Mods] Added LevelModuleAddressableSpawner which lets you spawn addressable prefabs in a level as part of level mode
- \[Mods] Added catalog pinning
- \[Mods] Added System.Numerics to Link.xml so its included in the build for mods
- \[Mods] Removed runtime generated PCMData for audioclip based haptics - use editor baked Amplitude Curves instead on audiocontainers for haptics and mouth movements
SDK
- \[SDK] Audiocontainer amplitude curve generation in catalog editor not serializing/running at the right time
- \[SDK] Changed how the Catalog Editor parses a new file name string for its ID
- \[SDK] Enabled the save button on overrider GameDatas
- \[SDK] Fixed TextData ID dropdowns not showing modded text groups or text IDs
- \[SDK] Added imbue skills to imbue controller
- \[SDK] Prevent null skills going into the spell skill datas list in ImbueController
- \[SDK] Cache dismemberment enabled and default layer mask variables outside for loop in SpellCastLightning
- \[SDK] Added holder data unsnap collider enable delay
- \[SDK] Don't try collider enable after unsnap if item is destroyed or despawned before the unsnap collider delay ends
- \[SDK] Added dummy colliders list to holder which are enabled when the holder has items and disabled when empty
- \[SDK] Made "Whoosh" component & gameobject be added to an Item when the Item Component is added
- \[SDK] Fixed issue with exporting after build bundles not taking into account the export mode
- \[SDK] Added warning to ItemMagnet to add a Rigidbody to GameObject or parent object, fix inspector dropdowns
- \[SDK] Script bridge for using custom scripts in Catalog Editor, and exporting DLLs automatically when building mods
- \[SDK] Add Item_Misc_Button JSON
- \[SDK] Improve AudioContainer and AdvancedAudioContainer inspectors
- \[SDK] Fixed catalog merging overrides if loaded automatically (not by Catalog Editor)
- \[SDK] Added Wave events on GameEventLinker for wave start, loop, end, win, cancel, and loss
- \[SDK] Fixed NRE on voicedata when loading amplitude curves.
- \[SDK] Added editor tool to find misconfigured reveal decals, add require component and disallow multiple attributes to RevealDecal
- \[SDK] Moved officer boots wardrobedata out of mercenary folder (Misplaced)
- \[SDK] Added no holster collision object handling to Items
- \[SDK] Added Random Chance Activator component
- \[SDK] Added force allows grabbables to LevelModuleSurvival which can be used to force specific items to be grabbable
- \[SDK] Exposed default constructor for ContentCustomDataAnimatorParams.AnimatorParam to fix being unable to create it in the SDK
- \[SDK] Added OutOfBoundsFader that can be used to fade the player's vision and teleport them when going out of bounds
- \[SDK] Fixed groupPath being enabled on overrider datas (Could break hierarchy rendering)
- \[SDK] Fixed status type dropdown in StatusData not showing in public SDK, prevent null values from breaking rendering
- \[SDK] Added SpellModifierDictionary that inherits UnitySerializedDictionary to fix heldStaffModifiers not showing in inspector
- \[SDK] Make WaveModules serializable and abstract, initialize list to prevent exceptions in the inspector
- \[SDK] Added BuildStaging/Assemblies to gitignore, fix assembly build if build configuration name has spaces in it
- \[SDK] Fixed mod asset bundle groups not saving their attached script bridges
- \[SDK] Fix for `Application.dataPath` causing exceptions when used in a thread (during build) which could cause infinite hang
- \[SDK] Slight improvement for logging when building assemblies via inspector buttons in ScriptBridge

