SneakyMasks
Comedy and Tragedy hold the use key for you, crawl out of your pocket on their own, and get faster every time they do. They only attack once climbed all the way onto your face - but carry one long enough and there is no climb left to see.Changelog
1.6.0
- Fixed: masks killed almost the instant they started attaching. The kill had been moved onto
MaskClampToHeadAnimationEventon the understanding that it marked the end of the climb. It does not — vanilla raises it about 0.4 s in, and all it means is that the mask has latched onto the face and the item in hand is gone. The five seconds of suffocation that actually kill you are theattachTimercountdown that follows. Treating the latch as the kill cut the whole attack to a fraction of a second, which is also why the escalation was impossible to see. - The kill is back on
attachTimer, where vanilla has it. The one thing still taken from vanilla is the condition:FinishAttachingis refused unless the mask actually latched on, so a climb that was interrupted cannot kill when the clock runs out. - Climb speed and escalation now scale both halves — the latch animation through
maskAnimator.speed, and the suffocation by dividingattachTimer. At 1x that is vanilla's 0.4 s + 5 s; at the 8x ceiling it is 0.05 s + 0.6 s. DebugModereports the suffocation time before and after scaling, and how long the latch took.
1.5.0
- Fixed: a takeover that drew the climb-on-arrival flip could kill instantly, with no climb animation at all. The climb was being started in the same frame the mask was equipped out of the pocket, on an animator that had not updated since, and the seat event could fire at once. The climb is now started on the following frame, once the mask has settled in the hand.
- Masks get faster the longer you keep them. Every time a mask has had to pull itself out of your pocket, the next climb plays quicker than the last. Carry one long enough and the climb is over before you have seen it start — the kill is still at the top of the climb, there is simply nothing left to react to.
- Escalation is counted per mask and survives being pocketed. Only throwing the mask on the floor puts it back to zero, so shuffling one between slots does not calm it down.
- New
[Escalation]section:Enabled,SpeedPerTakeover(default 0.5),MaxSpeed(default 8). DebugModenow reports the escalation step alongside each climb's speed and duration.
1.4.0
- A two-handed item no longer keeps a pocketed mask down. When the mask's moment comes, the
heavy item is dropped first — through
DiscardHeldObject, the same call the drop key ends in — and the mask takes the hand once the game has confirmed the throw. - Half of all takeovers arrive already climbing. A coin flip (
ClimbAtOnceChance, default 50) decides whether a mask that came out on its own gets the usual run-up or presses the key and callsBeginAttachmentthe moment it lands in the hand. The climb can still be cancelled the usual way; only the run-up is skipped.
1.3.0
- A mask in a pocket does not stay there. Every 20 to 90 seconds (rolled fresh each time it
is pocketed) it switches your held item to itself, through the game's own
SwitchToItemSlotandSwitchToSlotServerRpc, so the switch is a real one that other players see. From there it is a mask in the hand, hidden delay and all. Carrying one becomes a game of noticing. - It cannot come out while you hold a two-handed item. That moment is lost and a new wait is rolled, rather than deferred — so putting the heavy thing down is never the cue.
- It also will not come out anywhere the game would not let you scroll: a menu open, an animation playing, typing, the terminal, the slot-switch cooldown. Nor in orbit; the timer holds and runs its full length after landing.
- New
[Takeover]section:Enabled,MinDelay,MaxDelay.
1.2.0
- Tragedy and Comedy no longer climb at the same speed. Since the kill happens at the top of
the climb, the animation's speed is the whole of the reaction window, so that is what the new
[Climb Speed]section sets. Tragedy defaults to 1.6x and Comedy to 0.7x; the base game runs both at 1x, and setting both back to 1 restores that. - The section is keyed by mask name and written in full on first launch, so masks added by other mods get their own entry without this mod needing to know about them.
DebugModenow prints how long each climb actually took, in seconds, which is the practical way to tune the speeds.
1.1.0
- The mask now holds the use key for you rather than setting the game's flag behind its back.
It goes through
UseItemOnClient, the same call your own mouse makes, so the hold animation and the networking that come with a real press happen too — your character visibly raises the mask, and the people around you can see it. - The kill is now the animation's to decide. Vanilla kills on a five-second stopwatch started when the mask begins climbing, regardless of where the mask actually got to. That stopwatch is now refused, and the kill happens on the animation event raised when the mask seats itself. A mask that has not climbed all the way onto your face cannot attack you, and nothing else can kill through it.
- New
PreventDroppingoption. Vanilla locks you out of dropping and slot switching while the use key is held; the mod lifts that lock by default so putting the mask away stays possible. Set it totrueto keep the lock and make a mask in the hand close to a death sentence.
1.0.0
First release.
- Haunted masks lift themselves to the face on their own, after a hidden delay of 1-5 seconds in the hand. Nothing is shown or heard while that delay runs.
- A protection window of 2 seconds once the mask reaches the face, during which the game's roll to take the player cannot happen at all.
- Putting the mask away at any point resets it; the next time it comes out, a new delay is rolled.
- Configurable delay range, protection window, and a switch to turn the whole thing off.
