Repository navigation
Count roleplay chat only when someone else hears it - #96
Conversation
The Roleplay Chat activity counted messages sent to nobody. A message now counts only if RPCharacters delivered it to at least one other player in the channel's radius. Spectators and vanished staff do not count as listeners. Unheard lines are skipped before the repeat history, so a line rehearsed alone can still count once someone hears it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
@coderabbitai review |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Summary
Merge Risk: ⚪ Minimal · up to
|
✅ Action performedReview finished.
|
Summary
The Roleplay Chat activity (
ic_chat) counted in-character messages even when nobody was around to hear them. A message now counts only if RPCharacters delivered it to at least one other player.CharacterChatListenerreadsCharacterChatEvent#getRecipients(). RPCharacters fills this from the channel's radius (rp 15, whisper 2, shout 24, yell 48, action/scene 20, dm 64) and always includes the sender.vanishedmetadata) do not count as listeners.ic_chattooltip gains "Someone else must be in earshot." Existing servers keep their config.yml, so the line has to be added there by hand.Testing
mvn clean verify: all 962 tests pass, andCharacterChatListenerhas full line and branch coverage. Locally the coverage gate only misses lines inActivityCommand/PlayerStore, because their POSIX-permission tests are skipped on Windows. CI runs them on Linux.TestChar1speaking/rpandTestChar2listening,ic_chatrevealed, 9/9 checks passed:/vanishdoes not count🤖 Generated with Claude Code