KCDS 0.2.3.1 (work in progress)

A second work-in-progress build of milestone 0.2.3. The milestone stays open; its issues stay open until their live acceptance.

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

Fixes

  • Launcher updates no longer roll back when a file is held for a moment (for example by a virus scanner checking the new download): a busy file is tried again for a few seconds, and a file that stays locked is named in the launcher log.
  • NPCs fight like the game's own (#60). A server NPC now has its soul's own faction and social class, so a struck bandit or soldier fights back instead of running away, and keeps fighting.

New

  • The game's own interactions are off on a server until a resource allows them: the horse whistle key, "Talk" and the focus chat on NPCs, and talk on other players. Interactions.set(name, allowed) for everyone, player.setInteraction(name, allowed | null) for one player (horseWhistle, npcTalk, npcChat, playerTalk).
  • Horse whistle heard by others: a player's whistle plays on their body for everyone within 100 m in the same world, fading with the distance. player.whistle() makes a player whistle (their horse comes), and the event playerWhistle(player) tells resources.
  • NPC damage: npc.setCombatSkill({ damage }) scales an NPC's blows on players (0 to 10, null for the game's own damage); npc.fightsBack and Npc.create({ fightsBack }) choose whether a struck NPC attacks back.
  • crafting-kit resource (test servers): every player who joins knows all alchemy and smithing recipes and gets their materials; /kit [alchemy|smithing] gives more.
  • Containers' sort bar shows the server's item limit column on both sides (#262).

Known gaps

  • Milestone 0.2.3 is not closed. Still being worked on: an injured player's slower walk as others see it (#47) and a broken smithing workpiece seen live (#89).