KCDS 0.2.2.1

0.2.2.1 brings the world's gates to life for everyone, puts the server's quests into the game's own quest menu and on its map, and gives resources a full set of map and compass tools: blips of every type, blips with your own picture, mesh markers and debug drawings.

Servers need the 0.2.2.1 server as well. The launcher updates itself to 0.2.2.1 on the next start.

Highlights

  • Gates, drawbridges and portcullises (#261). The Malešov drawbridge and the Suchdol portcullis move smoothly for every player, with their real collision; the gate series of both maps (the gates that open and close by swapping their parts) are taken over when the level loads, so the old closed gate never stays behind. A gate's wooden bar slides out before the gate opens and back after it closes. The server can take the bar out and put it back on its own (removeBar, placeBar, barred, hasBar, barState, close({ bar: false }), the event gateBarChanged), for roleplay where a player carries the bar away.
  • Quests in the quest menu (#81). Every quest the server gives a player is a row of the game's own journal under its section (Main, Side, ...), with its objectives under it. Selecting it shows its title and description; the track button (X) follows it or stops following it, and the server hears it (questTrackingChanged).
  • Quest marks on the map (#82). A followed quest's objectives show on the map as the game's own quest marks: red for main quests, green for side quests, lettered A, B, ... per quest.
  • Every blip type on the map (#69). All 83 blip types now show on the map. The quest types (Checkpoint, Main, Side, Micro, QuestGiver, ActivityGiver) and Dlcs, Bailiff, FistFight and Racing show as the game's quest marks; every other type with its own icon.
  • Blips with your own picture (#69, KCDS). Blip.create({ image: 'images/logo.dds' }) and blip.image take a .dds the resource ships (64 x 64, or an uncompressed 32-bit picture of any size). It is streamed to the players like a custom item icon and shown on the map and on the compass, scaled cleanly to the compass's size. Works for server blips and client blips.
  • Client blips (#69). Client resources can mark their own player's compass and map with Blip.create, getById, all, removeAll and the handle's position, type, state, label, compass, map, live and remove. compass: false makes a map-only blip, map: false a compass-only one.
  • Mesh markers (#69). Markers of shape cylinder, sphere, chevron, cube and plane stand in the world in their colour, spinning and bobbing as set (decal markers are unchanged). Marker.list(prefix) lists the game's 239 decal materials; markers and blips have remove().
  • Gizmos (#77). Server Gizmo.line, sphere, box, text and clear, and the client's own Gizmos.set, setTransform, remove and clear with areas, lines, arrows, capsules, cones, cylinders, circles, grids, axes, polylines and meshes; colour, fill, width, see-through and a lifetime.
  • Washing at a water tub (#200). Washing at a tub cleans the player's dirt and blood, as in the game, and everyone sees the clean player.
  • Horse knock-out (#56). A horse spawned with { knockOut: true } goes down from a real blow on every screen, and horse.wake() gets it up on all of them.
  • Drunk stagger (#228). Other players see a drunk player stagger.

Combat

  • Parry (#209). A parry reaches the attacker in about 60 ms (checked with two players).
  • NPC defence (#60). NPCs keep their distance in a fight; the defence chance from the SDK only lets through the defence the game itself chose, so an NPC no longer stops a blow it was never going to defend. Defending every blow of a sword combo is still in progress.

Not in this version

  • The HUD's quest tracker (the objective list on screen) still shows the game's quests only.
  • A knocked-out player stands for a moment before falling on other screens (#46), and the other combat items of #46 to #50 are still in progress.