Make the Banishment ghost list keyboard-only: press the displayed letter to select, Enter to confirm, or Escape to cancel.
Remove the window's mouse raycaster and keep the cursor locked and invisible for its entire lifetime, eliminating cursor flicker even when no ghost is available.
0.10.11
Stop PEAK's native cursor manager from relocking and hiding the pointer every frame while the clickable Banishment ghost-selection window is open.
Keep the cursor stable even when the live ghost list is empty, then return control to PEAK immediately after closing the window.
0.10.10
Play PEAK's native right-hand reaching pose for 0.45 seconds whenever Teammate Push succeeds.
Synchronize the push gesture to other players running the mod while keeping the animation independent from PEAK's real helping/grab behavior.
0.10.9
Set the Banishment Cross to an approximately 0.5-percent roll in every luggage/chest item slot while retaining the one guaranteed beach spawn.
Replace free-text ghost-name entry with a live list of eligible ghosts. Select by mouse or the displayed letter, then confirm with the button or Enter; Escape still cancels.
Send the selected Photon actor ID to the host and keep host-authoritative holder, item, identity, death-state, and banishment validation.
Reclassify Mandrake, Tick, and Scorpion as harmful Poltergeist choices after auditing their gameplay behavior; keep the safe Weird Shroom and guaranteed-positive red/yellow Shroomberries green.
Increase ordinary-food frequency by reducing special green effects from 26 to 18 percent and special red effects from 30 to 22 percent, and reduce the combined rare-gear rate from one offer per five eligible ghost-hours to one per six.
Remove the Snowball object and icon from Freezing Cloud. Cosmetic cloud-VFX failures can no longer prevent the actual synchronized status cloud from being created.
0.10.8
Give the Banishment name prompt exclusive keyboard control while it is open: PEAK no longer samples character actions, and all sampled gameplay/UI flags are cleared before other systems can consume them.
Block the missing emote, ping, spectate, sprint-toggle, push-to-talk, Teammate Push, and Developer Tools inputs so letters typed into a player name cannot trigger gameplay features.
Keep only text entry, Backspace/Delete, Ctrl+V, Enter submission, and Escape cancellation active inside the prompt.
0.10.7
Keep the Banishment name window open after unknown, ambiguous, living, already-banished, or otherwise rejected targets; preserve the entered text and show the host's specific response in the window. Only a successful exact ghost name or Escape now closes it.
Keep the cursor locked and hidden while the keyboard-only Banishment prompt is open, preventing the game cursor manager and the mod from toggling it every frame at screen center.
Exclude the non-food Banishment Cross from ItemCooking.UpdateCookedBehavior, eliminating the repeated _Tint material warning stacks that caused pickup/drop synchronization hitches.
0.10.6
Fix the Banishment room-state reader confusing the beach run marker with a Boolean player-ban property, which previously produced a FormatException every frame and caused pickup/drop hitches through heavy log writing.
Guard Poltergeist against Unity's destroyed local-character references during scene transitions, preventing a second per-frame NullReferenceException loop.
Poll shared Banishment, Poltergeist, and Teammate Push room settings four times per second instead of every rendered frame, and validate their network value types without exception-driven conversion.
Throttle delayed bound-ghost portrait retries and their debug logging so missing player customization data cannot become another per-frame retry/log loop.
0.10.5
Route main Enter, Numpad Enter, and newline text events through one guarded Banishment submission path.
Make Backspace and Delete remove one typed character, including held-key repeat, with duplicate same-frame input protection.
Keep player-name matching case-insensitive and add specific host responses for unknown, ambiguous, living, and already-banished players.
0.10.4
Replace the Compass-derived proximity-dither material on every generated cross part with an opaque URP material, preventing the Banishment Cross from fading near the camera or while held.
Capture text directly from Unity's active keyboard layout while the Banishment prompt is open, so dynamically created UI no longer depends on PEAK's EventSystem text routing.
Add working Backspace and Ctrl+V handling while preserving Enter submission, Escape cancellation, the exact-name limit, and non-ASCII keyboard input.
0.10.3
Move the held Banishment Cross farther forward and to the right, use PEAK's stable one-hand hold, and put every generated model part on the native item layer so it remains visible while standing still.
Consume PEAK's mapped pause input as soon as the Banishment name prompt is open and guard the vanilla pause-menu opener, making Escape close the prompt without opening the pause menu.
Rename the German action and prompt text to Geist verbannen / GEIST VERBANNEN.
0.10.2
Make a banished ghost completely invisible to every modded player while preserving each client's original renderer state for revival.
Stop the banished player's local Photon Voice recorder and mute that actor's received voice on every modded client.
Restore normal ghost visibility and microphone transmission automatically as soon as the host clears the banishment on revival.
Keep the existing host-authoritative Poltergeist lock: open offers and stored effects are cleared, new offers are withheld, and forged selections remain rejected.
0.10.1
Added a host-only POLTERGEIST ZOMBIE TEST control to the in-game Developer Tools tab.
Adjust the Zombie Ambush probability from 0 to 100 percent in 0.5-percent steps, or use the dedicated SET 100% button.
At 100 percent, every newly generated red Poltergeist card is guaranteed to be Zombie Ambush; an already visible offer is intentionally left unchanged.
Added RESET TO AUTO, which restores the shipped interval-aware probability (2.5 percent per red card at the default three-minute interval, averaging about one offer per two eligible ghost-hours).
Persist an explicit override in the BepInEx configuration while keeping automatic probability as the default for new and existing installations.
0.10.0
Added the reusable BANISHMENT CROSS, a hand-sized crooked grave cross with a weathered PEAK-style silhouette, native inventory behavior, and a generated item icon.
Spawn exactly one guaranteed cross beside the beach starting positions for each new run; additional crosses can appear in every luggage/chest pool at native Rare weight.
Use primary action while holding the cross to open a PEAK-font player-name prompt. Enter validates an exact dead-player name on the lobby host; Escape cancels without using the item.
Synchronize banishment through the Photon room. A banished ghost immediately loses any open/stored Poltergeist result, receives no new choices, and cannot submit forged selections.
Show the bound player's actual skin color, eye texture, mouth texture, and name in a visible ghost portrait at the cross's center for every modded player.
Automatically release the ghost and reset the reusable cross as soon as that player is revived; leaving the lobby also cleans the state.
0.9.8
Added the rare red Poltergeist choice ZOMBIE AMBUSH, averaging roughly one offer per two hours at any configured interval.
Spawn PEAK's native networked Mushroom Zombie at a terrain-checked position beside the spectated living player, wake it after native initialization, and temporarily force that player as its first target.
Show the 60-second lifetime on the choice card and saved slot, then make the zombie collapse through its native dead state and clean it up three seconds later.
Zombie Ambush uses a native poisonous mushroom icon, can be saved in the Poltergeist slot, and is validated and spawned only by the lobby host.
0.9.7
Added the super-rare green Poltergeist choice RARE MIRACLE, averaging roughly one offer per twelve hours at any configured interval.
The selecting ghost is revived beside the living player being spectated through PEAK's original networked Scout Effigy revive routine and poof effect, without a post-revive curse.
Rare Miracle uses the native Scout Effigy icon, can occupy the saved Poltergeist slot, and remains host-authoritatively validated.
0.9.6
Rebuilt the Poltergeist choice overlay with PEAK's native TextMesh Pro font and HUD rendering instead of Unity's legacy IMGUI text.
Reduced both choice cards to 85 percent of their previous maximum size and separated every text, icon, and action region to prevent overlap.
Reworked the saved Poltergeist effect into a compact one-slot hotbar with a visible icon, item/effect name, color state, and the 1 activation key.
Added a visible fallback icon for Cure-Some, whose PEAK item data does not expose its own UI icon.
0.9.5
Fixed Twitch reward updates on PEAK's bundled runtime. Existing Cannon Launch rewards now receive the configured price, enabled state, and global cooldown.
Fixed Twitch redemption fulfillment/refund updates and reward disabling during disconnect for the same runtime compatibility issue.
0.9.4
Keep the current run active while the host's living F8 developer dummy exists, allowing the host to die, become a ghost, and test Poltergeist against the stationary dummy.
Patch only PEAK's authoritative all-players-dead check; the dummy remains local, occupies no Photon lobby slot, and a dead or removed dummy no longer holds the run open.
Explain the ghost-test behavior in the Developer Tools window and documentation.
0.9.3
Added one host-authoritative stored Poltergeist slot for each eligible ghost.
Hold either Ctrl key and press N or M to save the corresponding offered result instead of deploying it immediately.
Added a compact bottom-centre PEAK-styled slot with the stored result's native icon, name, helpful/harmful color and 1 binding.
Press 1 to throw or cast the stored result at the currently spectated living player. A successful deployment consumes it; a failed deployment keeps it.
Saving a new result replaces the previously stored result, while using an ordinary offer leaves the stored slot untouched.
Validate storing and delayed deployment on the lobby host so clients cannot invent unavailable effects locally.
0.9.2
Changed the Poltergeist test default to three minutes (180 seconds) and added a one-time migration for existing configurations.
Kept every offer open for exactly 45 seconds, then restarted the full configured interval after selection or expiry.
Reworked both ghost cards to show an explicit throw/cast question above a native PEAK icon and the N or M input below it.
Expanded the weighted pools to all unique playable food and direct consumables found in the installed PEAK item database while excluding hidden duplicates, props, containers, cheats and quest objects.
Added Healing, Warmth, Wakefulness, Poison, Drowsy, Freezing, Hunger, Heat and Spore clouds plus native Morale, Antidote and Cleansing bursts.
Expanded the curated rare pool with Cure-Some, Energy Elixir, Bugle of Friendship, Faerie Lantern, Pandora's Lunchbox and Scout Effigy while keeping permanent amulets, warp tools and run-breaking mythical items out.
Preserved the combined rare-result target of one offer per five continuously eligible ghost-hours; individual rare items share that total probability through a second weighted roll.
0.9.1
Renamed the public mod, package, DLL, pause-menu entry, and integration window to ImReave_Twitch_Integration while preserving the existing plugin ID and saved configuration.
Replaced the package artwork with ImReave's supplied character image, resized without altering the artwork to Thunderstore's required 256x256 PNG format.
Added a concise front-page notice that every participating player needs the mod while only the streamer signs in to Twitch.
Summarized Voice Balance, Channel Point rewards, Teammate Push, and Poltergeist in the package description.
0.9.0
Added the host-authoritative Poltergeist mechanic for dead players who are spectating a living teammate.
Added a PEAK-styled two-card ghost overlay: a green helpful choice on N and a red harmful choice on M, including native item icons and the currently spectated target.
Added weighted helpful and harmful PEAK food pools; powerful food is less common without making items such as Fortified Milk vanishingly rare.
Added independent Healing Cloud and Poison Cloud choices using PEAK's native healing/spore visuals plus synchronized stamina or poison effects.
Added very rare Rope Spool, Rope Cannon, First Aid Kit, Autoparachute, Blowgun, and Cure-All offers. The combined rare-gear rate averages one offer per five hours for each continuously eligible ghost.
Physically throw selected food and gear in an arc toward the currently spectated player.
Added a host-only shared Poltergeist enable switch and 1-60 minute interval control to the integration window and synchronized both through the Photon room.
Validate every ghost selection on the host and accept offer, result, and cloud events only from the current lobby host.
0.8.7
Changed Cannon Launch to 3000 Channel Points with a five-minute global cooldown for fresh and existing installations.
Added a 0-60 minute cooldown control and one combined APPLY TWITCH SETTINGS action to the in-game integration window.
Verify the reward settings returned by Twitch after every create or update before reporting synchronization success.
Detect an existing same-title reward that this Client ID cannot manage and report an actionable conflict instead of showing unverified local settings.
Serialize reward updates to prevent overlapping price and cooldown changes from racing each other.
Route launches only from the exact reward ID verified as manageable by this integration.
0.8.6
Restricted the developer push-test bot to Photon's current lobby host.
Blocked the Developer Tools toggle, spawn button, remove button, and F8 spawn hotkey for non-host players.
Automatically remove the local dummy and its HUD if the local player loses the host role.
Keep solo/offline testing available when no Photon room exists.
0.8.5
Doubled the default Teammate Push force from 200 to 400 and migrate untouched existing defaults automatically.
Added a 200-800 host-only force slider to the in-game integration window.
Synchronize the host's selected force through the Photon room so every player running version 0.8.5 or newer uses the same value.
Non-host players can see the shared force but cannot change it while connected to the room.
0.8.4
Replaced the large Ventus Bot and TWITCH INTEGRATION label in the main menu with one compact 64-pixel Twitch logo button in the top-right corner.
Removed the separate main-menu caption and oversized click area while keeping the pause-menu entry unchanged.
0.8.3
Added a second copy of PEAK's native stamina/debuff bar for the active developer push-test dummy.
Added live dummy stamina and injury percentages plus a red DAMAGE +N% indicator whenever injury increases.
Kept the developer dummy outside Teammate Push fall protection so it can be used to verify actual fall damage.
0.8.2
Anchored the developer push-test dummy to the local character's live body position instead of the character root that can remain at the level spawn.
The dummy now appears one metre in front of the player's current position, on the nearest valid ground and already within push range.
0.8.1
Increased the default Teammate Push forward force from 80 to 200 after in-game dummy testing.
Extended the brief knockdown from 0.85 to 1.1 seconds so the target travels instead of only tipping over.
Existing untouched 80-force configurations migrate automatically; custom force values are preserved.
0.8.0
Added separate INTEGRATION and DEVELOPER TOOLS tabs to the in-game window.
Added an opt-in local push-test bot spawner, disabled by default and bound to F8.
Added SPAWN / REPLACE TEST BOT and REMOVE TEST BOT controls.
The test dummy uses PEAK's loaded bot Character/Ragdoll prefab while bot AI and input translation are disabled.
Developer test bots are explicitly targetable by Teammate Push and are removed when the mod shuts down.
0.7.3
Enforced 1.5 metres as the hard maximum Teammate Push targeting range.
Existing configurations above 1.5 metres are migrated down automatically.
0.7.2
Added eight seconds of fall-damage protection to the player affected by Teammate Push.
The protection ends immediately after the first genuine landing so a later fall deals normal damage again.
Reduced the default push targeting range from 3.25 metres to 1.5 metres and migrate the old default on existing installs.
Added a configurable FallProtectionSeconds value from 1 to 30 seconds.
0.7.1
Added a TWITCH INTEGRATION button to PEAK's Escape pause menu.
The same integration window and live feature controls are now available during a run.
Escape closes the integration overlay first without also dismissing the pause menu in the same frame.
0.7.0
Added optional in-game Teammate Push, enabled or disabled from the integration window.
Added a configurable U hotkey, 3.25-metre line-of-sight targeting, and a short input cooldown.
Added an approximately one-metre forward shove with a small lift and brief ragdoll fall.
Reused PEAK's multiplayer character RPCs so the pushed target does not need the mod.
Kept the feature entirely in-game with no Twitch chat commands or additional OAuth scope.
0.6.2
Removed PEAK's long-lived zero-damage cap from Cannon Launch protection.
Fall damage is now skipped only for the launch's first genuine landing and is restored immediately afterward.
Prevented short, ineligible Land calls from clearing protection before the actual landing.
0.6.1
Colored the Cannon Launch countdown green for 3, yellow for 2, and red for 1.
Added a compact animated lower-left popup identifying the triggered Twitch reward.
Changed the Cannon Launch reward cost to 1000 Channel Points.
Added a one-time configuration migration so existing installations also receive the 1000-point cost and disabled cooldown.
0.6.0
Added a targeted three-second 3-2-1 countdown before Cannon Launch.
Styled the countdown with PEAK's active TextMeshPro font, bold outlined numbers, and a short pop animation above the screen center.
Synchronized the countdown to the selected player's mod client through Photon events.
Added a gentle 15% forward component in the selected player's facing direction while keeping the launch predominantly vertical.
Revalidated the selected player after the countdown and refunds the redemption if they leave or become unavailable.
0.5.2
Fixed Twitch reward updates and disconnect cleanup to use the required HTTP PATCH method.
Kept the discovered reward session active when a settings synchronization fails, so redemptions still reach the game.
Added exact-title fallback routing for Cannon Launch redemptions when Twitch reward synchronization is temporarily unavailable.
Added HTTP status details to Twitch API errors for easier diagnosis.
Moved the Ventus Bot and its Twitch Integration label to the top-right corner of the main menu.
0.5.1
Increased the default one-step Cannon Launch force from 500 to 2000.
Added an in-game launch-power slider with a range from 250 to 5000.
Disabled the Twitch reward's global cooldown by default.
Added a one-time migration so existing 0.5.0 configurations receive the stronger launch and disabled cooldown automatically.
0.5.0
Added automatic creation and live synchronization of the [PEAK] Cannon Launch reward.
Upgraded OAuth to channel:manage:redemptions; existing users authorize once again with the same Client ID.