KCDS 0.3.4

Milestone 0.3.4: the world a server can build and change (level objects, doors, smart objects, trees, herbs, lights), custom buffs and recipes, and many combat and animation fixes.

Servers and players both need 0.3.4: a client and a server of different versions refuse each other when joining. The launcher updates itself on the next start; servers update from their update channel or the new packages.

World and level

  • Level objects (#519): a raycast hit and a level edit name the object they met (a brush, a tree, a bush, a plant, an entity), so a script can hide or move exactly that one. Trees, bushes and plants are level objects too, and an edit follows the copies the game streams in and out. A hidden house takes the level's own colliders with it, and a restored brush is solid again (#623).
  • Doors (#514): Door.spawn hangs a working door where the level has none, Door.models lists the models, a world export can hang doors; level doors can be taken out and restored.
  • Smart objects (#513): SmartObject.spawn places the game's seats, beds, tables and stations; placed stations join Dice.tables and Crafting.stations; a world export can place them; SmartObject.stations() lists the level's stations and remove takes one out of a world.
  • Lights (#512): point lights from server and client scripts.
  • Trees (#594): fell the level's trees with an axe, a synced fall, trunks cut into items, regrowth; Trees.state and Trees.restore keep the state across a restart.
  • Herbs (#518): the level's own herbs, Gathering.herbsWithin and clearHerbs, and the herbs of an area; the Kutnohorsko mushrooms are in the catalogue.
  • Props with physics (#515): rigid props simulated by one game, pushed and reported (impulse, velocity, mass, sleep, propRest).
  • Stash (#504, #514): the level's own chests, Stash.lockStyle, Stash.spawn builds a container as any model; lock-picking difficulty set by scripts on one exact door or chest (#540).
  • Areas (#518): collision floor, ceiling and thickness.
  • World map (#541): WorldMap.clearFog and discover.

Items, buffs and recipes

  • Custom buffs (#516): Buffs.register(id, definition) with modifiers that add, multiply or set (health, stamina, exhaust, hunger, the game's own max stamina, carry capacity, run speed, attributes and skills), per-second health regeneration, hunger drain and energy drain, stacks, ticks and events; horse buffs. A buff cannot change the maximum health or the armor rating.
  • Recipes (#517): Crafting.defineRecipe adds recipes to the game's own tables, with steps and pictures.
  • Items.model (#597): the mesh a class lies on the ground as; no more invisible ground stacks. Preparation (cooking, smoking, drying) gains station and items (#513).

Combat and NPCs

  • weaponHit and playerWeaponHit (#520): a swing meeting the level.
  • NPCs (#628): Npc.brain switches the game's brain off (no thinking, perceiving or fighting on its own, no revenge) and Npc.targetable takes an NPC out of the lock-on, for people and animals; invulnerable stays the switch for "cannot be hurt".
  • NPC conversations are off for good (#627): npcTalk and npcChat cannot be turned on any more, because the game's NPC conversation (the "Vyřešíme to spolu" option) crashed a player's game.
  • Fixes: a takedown on a server NPC or player no longer crashes (#558); a relayed sword blow sounds like a sword's (#561); knockouts stay down; no fighting at crafting stations.

Players and animations

  • Women on the female skeleton (#530), with the player's clips; a woman may use alchemy tables, horses, the grindstone and more (#571); her own head no longer fills the first-person view (#551).
  • Player.setLockable, visorDown, removeXp and the Epic id (#520); overhead text (Player.showOverheadText, #601).
  • Animations: a tags-only playAnimation whose tags the body does not have is refused (#596); EmoteWheel.getCatalog names each emote's fragment and tags (#598); animations driven props (#499); grindstone sync (#524); NoClip keeps the moves right after enable() (#595).
  • Dice: after "end round" the camera leaves the dice (#563).

Web views, keys and the client

  • Resource actions in the game's key binding settings, kept per server (#609).
  • KeyboardEvent.code is filled (#600); typed text in a page shows at once (#573); a page's frame is never lost while the game holds it; pages work after a join from the server browser (#564); full-screen views follow the resolution.
  • ActionHint on E and U fires while the game offers its own action (#535); held client events; third-person camera out of walls; Blip.legend; story cutscenes can be switched off (Hud.setCutscenes).
  • Weather is the same for every player (#562).

Types, docs and builds

  • The SDK reference gains 28 members it was missing (#541); chatMessage and browser events are typed (#599); optional parameters and Blip.state are fixed (#546, #547). Vfx.list has its reference description (#549).

Known issues, planned for the 0.3.4.1 patch

  • A cuffed player's legs look stretched and the feet twisted while they walk (#625): the tied pose raises the pelvis.
  • Grave digging is not synced between players, and a digger can lose the lock-on (#626).
  • After a gallows death and revive a player can lie convulsing and not get up (#631).
  • A woman's clothes sometimes vanish for the other players (#621).