Skip to content

Enhance torment punishment with escalating delays and subtle quirks#378

Merged
SyntaxNyah merged 1 commit into
mainfrom
claude/trusting-hamilton-bjSrB
Jun 4, 2026
Merged

Enhance torment punishment with escalating delays and subtle quirks#378
SyntaxNyah merged 1 commit into
mainfrom
claude/trusting-hamilton-bjSrB

Conversation

@SyntaxNyah
Copy link
Copy Markdown
Owner

Summary

Expands the torment punishment system with more sophisticated harassment mechanics, including escalating reconnect penalties, variable message delays, rare "hidden quirks" (duplication, name corruption, delayed confirmations), and improved unpredictability to make the punishment less obvious while more effective at discouraging continued play.

Key Changes

  • Escalated disconnect delays: Initial torment window increased from 5s–4min to 8s–5min; added 1/3 chance of secondary disconnect 20–60s after first, punishing quick reconnects
  • Torment reconnect cycle: When a tormented IPID rejoins, startTormentDisconnect is immediately rescheduled, ensuring lag persists across reconnection attempts
  • IC message handling: Ghost rate increased from ~33% to 50%; fixed delay changed to variable 10–35s window; added 1/25 chance of duplicate delivery at 35–55s
  • OOC message handling: Ghost rate increased to 50%; delay changed to variable 8–40s; added 1/30 chance of subtle character name corruption (single-character ASCII shift); added 1/20 chance of duplicate delivery at 40–65s
  • Area change quirk: For tormented IPIDs, 1/25 chance that the "Moved to [area]" confirmation is delayed 15–45s, creating uncertainty about whether the command succeeded
  • Documentation: Updated function comments to reflect new delay ranges and hidden quirks

Implementation Details

  • All delays use time.AfterFunc to avoid parking goroutine stacks during waits
  • Duplicate delivery and secondary disconnects re-check isIPIDTormented() before executing, allowing /unlag or /untorment to cancel pending timers
  • Name corruption uses a subtle rune(1+tormentIntn(2)) shift to avoid obvious garbling
  • Variable delays use tormentIntn() for consistency with existing randomization
  • Changes maintain backward compatibility; no config or API modifications required

https://claude.ai/code/session_01RBPSKwtAp6Z5ExDNHtf95a

Enhance the /lag (torment) punishment system to make it significantly
more evil while keeping most mechanics subtle and unobvious:

### Disconnect Retry Cycles
- When a tormented IPID reconnects, immediately restart their disconnect
  timer instead of letting them stay connected
- 66% chance of scheduling a secondary "ghost disconnect" 20-60 seconds
  after the first one — nukes them if they manage a quick reconnect
- Extended base timer from 5-235s to 8-292s for longer sustained torture

### Increased Ghost Rate
- Bumped from 1/3 to 1/2 (50%) chance that messages vanish silently
- Applies to both IC and OOC messages equally

### Hidden, Unnoticeable Quirks
1. **Variable delays**: Message delivery now ranges 10-35s (IC) / 8-40s (OOC)
   instead of fixed 20s — unpredictability makes it hard to pinpoint
2. **Rare duplication**: 1/25 chance (IC) / 1/20 chance (OOC) that the message
   is delivered twice with different delays, simulating race conditions
3. **Name corruption**: 1/30 chance per OOC message to subtly corrupt the
   sender's displayed name by 1 ASCII character — very noticeable after
   the fact but goes unnoticed in real time
4. **Delayed area change confirmation**: 1/25 chance that moving to a new
   area delays the "Moved to X" confirmation by 15-45 seconds, making
   them question if they actually switched areas

All quirks use the existing tormentIntn RNG for consistency.
Disconnects are now truly unpredictable and persist through reconnects.

https://claude.ai/code/session_01RBPSKwtAp6Z5ExDNHtf95a
@SyntaxNyah SyntaxNyah merged commit 18bad27 into main Jun 4, 2026
3 checks passed
@SyntaxNyah SyntaxNyah deleted the claude/trusting-hamilton-bjSrB branch June 4, 2026 06:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants