Inscryption
Install with App

Details

Latest version
0.1.6
Last Updated
First Uploaded
Downloads
327
Likes
1
Size
6.2MB
Dependants

Changelog

0.1.6

Public rooms, and a map-mode sync bug the room browser exposed, plus two visual-only fixes with no gameplay change.

  • Added: public online rooms. The host can mark a room public when creating it, and any player can browse open public rooms and join one directly (Find Match), with no invite code to share. A room only appears in that list while it is open and waiting for a peer.
  • Fixed: a peer joining without ever seeing the host's own map selection (the invite-code flow usually avoided this by coincidence, or players agreed on a map out loud beforehand) could end up mismatched with the host's actual choice, since the host only ever resent its map selection on an explicit change, never on a fresh connection. The host now always sends its current map selection the moment a new peer connects, regardless of whether it changed since the room was created.
  • Fixed: Lammergeier's and Stinky Deer's attack number displayed as their old ability icon instead of a plain number (their power has been fixed at 3 since 0.1.5, this was purely visual). Both now show a plain number like any other card.
  • Fixed (real root cause, confirmed): the PELES and COBAIAS starter deck icons rendered fully blank on the Ascension deck select screen. Texture2D.LoadImage was decoding these two embedded PNGs as ARGB32 instead of RGBA32, and the icon's SpriteMask shader reads alpha assuming RGBA order, masking the icon out entirely.
  • Changed: the feedback link behind F10's ENTER now opens a short web form instead of a GitHub issue page (the source repository is no longer public).

0.1.5

Another real bilateral playtesting round, focused on the duel's shared damage scale never actually reaching its own real threshold - several fixes below only became reachable/visible once the first one landed, since the old bug was hiding them.

  • Fixed: a battle could run forever with one side's board completely empty and the other side still attacking, because the shared damage scale's REAL value (not just its on-screen display) was capped at the same limit as vanilla's single-player scale, well short of this duel's own higher win/loss threshold - neither side could ever detect the battle was actually over.
  • Fixed: once the fix above let the losing side's scale move correctly, the winning side's own on-screen damage counter still stayed capped at the old limit, understating how far ahead they actually were.
  • Fixed: a third, separate spot in the game's own turn-resolution logic had the exact same old cap baked in, and could end a rematch's very first battle after a single turn with nobody having actually lost - only became visible after the two fixes above let the scale move past that old cap for the first time.
  • Fixed: the card offers on the Cost/Tribe/Trader nodes of the "Caminho Balanceado" (Balanced Route), Tribe Fight, and Pelt Draft maps were identical every single match - the two sides agreeing on the same offers within one match was intentional, but they were also supposed to change from match to match, which an unrelated fixed value silently prevented since the maps' current layouts were finalized. Same offers within a match, different every match now.
  • Fixed: a creature that scales its own power from the local player's own bone count read the WRONG player's bones on the side mirroring its true owner, making it show a completely different (and completely wrong) power for whichever side didn't actually own it.
  • Fixed: an internal log line could report a valid, correctly-sized deck on the Balanced Route as "invalid" - a false alarm only, never a real gameplay issue, now compared against the right expected size for that map.

0.1.4

A real two-player playtesting session found and fixed a series of board-desync bugs - several of them permanent (the two sides' boards never resynced on their own once triggered), confirmed against real bilateral logs rather than only local testing.

  • Fixed: a creature that materializes for free mid-combat (e.g. CorpseEater reviving an ally the instant another creature of yours dies) could permanently desync the two sides' boards. The automatic play now has its own dedicated network path (no longer requires the turn-ownership window a manual play needs), waits for that combat/TurnEnd cycle to fully settle before being broadcast, and is now correctly excluded from the surrounding turn's own state checksum until it's independently confirmed on both sides - closing several related STATE HASH MISMATCH/PROTOCOL_DESYNC_FATAL reports.
  • Fixed: Evolve (a creature that transforms into a stronger form after enough turns in play) could evolve for its real owner but never for the opponent watching it, whenever the evolving creature had just entered play automatically (e.g. via CorpseEater) - a permanent, non-self-correcting divergence that could change who actually wins a later fight. The transformation is now always decided by the card's real owner and applied identically on the other side, instead of each side trying to compute it independently.
  • Fixed: a creature that hits two lanes at once (e.g. Grizzly with SplitStrike) could push the shared damage scale past its visible limit differently for each player, letting the two sides' scores silently drift apart over several battles.
  • Fixed: the Death Card (created after defeating the first boss) was being silently stripped from the deck before it was ever sent to the match, so it never actually appeared in play.
  • Fixed: a dropped connection that only one side detected could leave the other side waiting forever with no error shown, and starting a new match afterward could mix leftover state from the dead one into the new one, producing a confusing desync error.
  • Fixed: a turn-ownership counter that resets at the start of each best-of-three battle could occasionally lose progress already made if the other side closed a turn quickly enough, causing a spurious "connection error" on turn 2.
  • Fixed: false-positive network-timeout desyncs during long or resource-constrained sessions (two full game instances competing for one machine, or a genuinely slow connection) - the relay's partial-frame timeout and the combat/TurnEnd settle window are both more generous now.
  • Fixed: the starter deck "PELTS" was shipping with 5 cards (an extra rabbit pelt by mistake) instead of the intended 3.
  • Fixed: the shared preparation map could stay visible over the duel board in rare timing cases.
  • Removed 4 placeholder joke card renames (Mayonnaise, Stepfather, Blue Pen, Cannabis) left over from an earlier build.
  • Replaced the old TVFsStarterDecks-dependent "PELTS" starter deck with a native equivalent - that mod is no longer a KayceePvP dependency (see Known limitations for what this means if it's still enabled on your profile).
  • Added: KayceePvP now refuses to let you ready up if any mod outside its own known-safe dependency set is enabled on your profile, after a real report of third-party cards leaking into the shared PvP pool - it tells you exactly which mod to remove.

0.1.3

  • Removed the feedback panel's local diagnostics generation entirely (the D option, its ZIP/log capture, and the sanitizer that cleaned it) - the panel now only offers ENTER (open the issue tracker) and ESC (close). 0.1.1 was rejected by Thunderstore's community review (Invalid submission, no reason given) and 0.1.2's narrower fix (removing just the Process.Start call that opened Explorer) was still rejected after re-upload, so this drops the whole file-generation surface rather than guess again at what a moderation heuristic is reacting to. No networking, balance, or protocol changes.

0.1.2

  • Fixed: the feedback panel's diagnostics option (D) no longer launches Explorer as an external process to open the diagnostics folder - it now copies the diagnostics file's full path to the clipboard instead, so the player can open it themselves. 0.1.1 was rejected by Thunderstore's community review (Invalid submission); this was the only new external-process launch introduced in that version and is the most likely cause, though moderators gave no explicit reason. No other behavior changes.

0.1.1

  • Replaced the simple "F10 opens the browser" feedback shortcut with a full in-game feedback panel: F10 (still configurable) now opens a modal, bilingual (English/Portuguese) panel instead of immediately opening anything. Inside it, ENTER opens the public issue tracker's "new issue" chooser in the browser, D creates a sanitized diagnostics file and opens its folder, and ESC closes the panel with no side effect if nothing was created. Nothing is ever uploaded automatically, and the panel blocks board/menu input (and the underlying screen's own Escape/Enter/Space handling) while it's open, restoring the exact previous input state on close.
  • New local diagnostics file (BepInEx/KayceePvP/Diagnostics/KayceePvP-diagnostics-<timestamp>-<role>.zip): a small diagnostics.txt (mod/assembly/protocol version, a hash of the loaded DLL, language, Host/Peer role, LAN-vs-online with no address or room code, map/mode, match/battle/turn/score, detected BepInEx/InscryptionAPI/dependency versions, and any desync/connection-lost flag) plus a sanitized copy of the local LogOutput.log tail and a short bilingual README - never the save, full config, deck contents, a memory dump, the other process' log, a screenshot, or any DLL/PDB/certificate/key. The log copy has invite/room codes, IPv4/IPv6 addresses, Windows user paths, tokens/passwords/authorization values and similar secrets automatically replaced with clearly-labeled placeholders before it ever touches the ZIP; the player reviews the file before attaching it anywhere.
  • Fixed a pre-existing hotkey collision: a developer-only debug shortcut (also bound to F10, "start a random duel") could fire on the exact same key press as the feedback shortcut's own default. The debug hotkey now yields automatically whenever the feedback shortcut is actually bound to F10.
  • Hiding the creator credit (ShowCreatorCredit=false) no longer also hides feedback access - the F10 hint is now its own independent line, shown regardless of that setting.

0.1.0

  • Initial Thunderstore packaging candidate.
  • LAN lobby and synchronized PvP duel flow, plus an online room/relay client and server staging implementation (TLS, one-shot invites, lifecycle deadlines and abuse limits).
  • Strict message type/role/sequence validation and bounded network queues.
  • Two-candle life system and best-of-three match orchestration, with rematch support and a final result screen.
  • Six selectable preparation maps (COM BATALHAS, SEM BATALHAS, FORJA SIMÉTRICA, DRAFT DE PELES, TRIBE FIGHT, CAMINHO BALANCEADO), plus a seventh (DRAFT ABERTO) present in the build but hidden pending a finished selection screen.
  • Global preparation-combat rule applied across every map: at most one shared test battle, and no mandatory boss fight - boss-style encounters grant a direct rare-card reward instead. Death Card creation only happens on the two maps that end in a boss-style flow (COM BATALHAS, FORJA SIMÉTRICA); every other map hands off straight to the duel.
  • Central forbidden-card filter (Great Kraken and its tentacle transformations, Frozen Opossum, Hrokkall) enforced across every card pool, Trader/pelt offer, and starter deck path, mod-wide.
  • Custom map-node icons for battle, campfire, rare reward, Death Card and PvP-exit nodes.
  • Several cross-process ownership/sync fixes: Totem effects apply only to their real owner's cards; QuadrupleBones, Tutor, DrawCreatedCard-family abilities and Morsel no longer double-apply or crash when replaying the opponent's mirrored actions.
  • Release-hardening pass: a malformed or unrecognized card name arriving over the network is now rejected explicitly (whole deck refused with a clear protocol error, or the duel ends via the same fail-closed screen used for other protocol violations) instead of crashing or silently substituting blank data. A dropped connection mid-duel now fails closed with a recoverable "connection lost" screen instead of one side silently continuing alone. The ready/countdown wait before a duel now has the same disconnect/timeout handling as the deck-exchange wait next to it. Activated abilities (manually-triggered card effects) are blocked during the duel - not yet synced over the network - as a release-scope limitation.
  • Fixed: the online relay connection could be silently dropped ("Connection reset by peer") after a long idle stretch (confirmed in a real session, ~27 minutes of both players independently walking their maps) - the relay client now sends a small periodic keep-alive frame while connected, invisible to gameplay, to prevent idle-connection timeouts from network infrastructure between the two players.
  • Full English/Brazilian Portuguese localization: the lobby, every preparation map/mode name, dialogue overrides, the duel HUD, the waiting/ready/final/rematch screens, and every card this mod renames now follow whichever language Inscryption itself is set to, with English as the fallback for any other language and immediate text updates on a language switch (no restart needed). A mandatory notice next to the online room controls explains, in the active language, that a room's invite code must be sent directly to the other player.
  • In-game feedback: pressing a configurable key (default F10) opens the issue tracker in the browser so players can report a bug or suggestion directly; it only opens a page and never collects, attaches, or sends any data automatically. The same link is documented as a fallback in the Thunderstore README.
  • Card sync stability: Ijiraq is removed from every pool (its Shapeshifter disguise never had a network-sync path). Amorphous-style random-ability rolls are replaced with deterministic, PvP-safe abilities on the card templates that support it; the remaining cards that still roll a real RandomAbility (e.g. PackRat's kit) now only roll it once, on its true owner's client - a remote-mirrored replay of the same card no longer rolls its own, independent result.
  • Fixed: TurnEnd's trigger now dispatches correctly after a SetupPhase-mirrored combat resolution, and a couple of stale combat-resolution gates plus a leftover release-only debug dialogue are cleaned up.

Online mode remains pre-release until the production relay and two-network runtime validation are complete.

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.