Repository navigation
Releases: ccccd333/RimStripperPoleExFull
Release list
StripperPoleEx(Fork)
[New Feature]
Auto-Prostitution (Auto Service)
-
Enable Auto Service
Select a Stripper Pole and toggle "Auto Service" to ON. -
Configure Service Menu
Select the Stripper Pole and open "Service Menu Settings".
You can set up to 3 preferences (1st, 2nd, and 3rd Priority) separately for Male and Female guests.
★ Category-based Selection:
These options represent broad sexual interaction categories rather than single specific animations (e.g., "Anal" covers all available anal acts, "Vaginal" covers vaginal penetration, etc.).
Randomize Option:
Enabling "Randomize Registered Menu" will randomly pick one available act among your configured 1st to 3rd preferences instead of following the strict priority order.
(Note: If none of the configured preferences are currently possible, the mod safely falls back to the manual negotiation dialog.)
StripperPoleEx(Fork)
[New Feature]
Added sensitive interaction logging for RimTalk integration.
-
Stripper Pole Mod Settings (Options Menu)
Open the in-game menu: Options → Mod Options.
Select Stripper Pole from the mod list.
Scroll down to the bottom to find [RimTalk Integration Settings].
Check "Enable sensitive interactions for RimTalk" to turn it ON. -
RimTalk Settings & Verification
Go to Mod Options and select RimTalk from the list.
Under RimTalk's General Settings, ensure that "Override all interactions with AI dialogue" is enabled.
Click the gear icon next to that checkbox. This will open the Priority Interactions window.
Locate the Stripper Pole section and enable the following:
SP_DancePerformed_Sensitive (Triggered when performing a pole dance)
SP_InviteToDance_Sensitive (Triggered when inviting a guest to dance)
SP_WatchDance_Sensitive (Triggered when a guest starts watching the dance)
Once enabled, RimTalk will prioritize generating dialogues during pole dance events.
(Tip: If you weren't aware of this setting, enabling other RJW animation interactions here will also prioritize conversations during intimate acts.)
[Bug Fix]
Fixed an issue where invited guests would switch to another job right after the dance, skipping the prostitution negotiation dialog.
StripperPoleEx(Fork)
Updated About.xml with direct links to the GitHub Releases page.
StripperPoleEx(Fork)
<バグ修正>
ポールダンス後、StopGroupAnimationをしていたがUAPがlist<>に対して行っているのに、もともとはpawnを渡しているだけだったため、アニメーション後スタックしていた。
Fix pawn freeze after pole dance due to unreleased UAP position lock
StopGroupAnimation was originally called with a single Pawn, but UAP's position-lock patch only intercepts the List overload, causing pawns to remain permanently stuck after the dance animation finished.
StripperPoleEx(Fork)
Changelog
Fixed UAP Teleport & NullReferenceException (
JobDriver_StripperPoleBase.cs
)
Changed move toil mode to avoid UAP's arrival hook, completely preventing teleport bugs when interrupted.
Removed the hacky targetA = Invalid workaround that caused NullReferenceException on arrival.
Fixed Permanent Stalling in Prostitution Toil (
JobDriver_StripperPoleBase.cs
)
Wrapped initAction in try-catch to ensure the job always finishes cleanly even on exceptions.
Added a tick watcher to automatically complete the toil when the negotiation dialog closes.
Guaranteed Cleanup on Dialog Close (
Dialog_ProstitutionNegotiation.cs
)
Ensured dancer pawns are reliably released if the dialog window is closed unexpectedly.
ーーーーーーーーーーーーー
修正履歴(要約)
UAPテレポート防止 & Nullエラー解消 (
JobDriver_StripperPoleBase.cs
)
移動Toilのモードを変更してUAPの強引なフックを回避(テレポート根本防止)。
Nullエラーの原因だった targetA = Invalid の小細工を削除。
売春Toilの永久スタック防止 (
JobDriver_StripperPoleBase.cs
)
try-catch を追加し、例外発生時でも確実にジョブを終了。
ダイアログが消えたら自動でToilを完了して脱出する監視処理を追加。
ダイアログ破棄時の安全保証 (
Dialog_ProstitutionNegotiation.cs
)
ウィンドウが予期せず閉じられた場合でも、必ずダンサーを解放する処理を追加。
StripperPoleEx(Fork)
Fixed an issue where ongoing services would be interrupted after saving and loading the game.
Fixed a reservation gap between the "invite customer" → "dance" → "service" sequence.
Fixed an issue where reassigning ownership of a stripper pole from Pawn A to Pawn B during customer solicitation could cause the WorkGiver to fail to reserve the pole, resulting in the job ending unexpectedly.
Fixed an issue where silver payment calculations were multiplied by 0 when Beauty was 0.
Fixed an incorrect tick calculation for wandering behavior during customer solicitation.
Added support for Facial Animation during customer solicitation, dancing, and services (requires [NL] Facial Animation - WIP; the mod remains fully functional without it).
Added social log entries for customer solicitation and dancing interactions.
ーーーーーーーーーーーー
<バグ修正>
・行為中にセーブ→ロードしたとき行為が中断された状態でロードされるのを修正
・客呼び→ダンス→行為でReserveが途切れる箇所の修正
・ポールの所有をAポーンに割り当てた後、Aポーンで客呼び時にBポーンに所有を移すとWorkGiverが予約を取れずジョブが異常終了していたので修正
・美しさが0の時のシルバーの支払いの計算で0を乗算してしまっていたため修正
・客呼び中のうろつき時間のTick計算をミスしていたため修正
<機能追加>
・客呼び中と踊り中、行為中でのFacial Animationを追加(要:[NL] Facial Animation - WIP なくても動作します)
・客呼び中と踊り中のインタラクトをログに追加
StripperPoleEx(Fork)
<Bug Fix (Test)>
Added null checks around the stripper dance mote effects to prevent potential null reference exceptions.
The root cause is still unclear and may be related to the mote Maintain() calls, performance-related mods, or asset bundle loading/unloading behavior. This change is being released as a test fix for further verification.
ーーーーーーーーーーーーーー
<バグ修正(test)> ストリップダンス中のmoteの箇所でnull参照をしていたので気になる箇所に判定を追加。maintain箇所もしくはパフォーマンスmod関係、アセットバンドル関係か不明のためテストとします。
StripperPoleEx(Fork)
Functionality Updates
Notification Control: Fixed an issue where job failures during guest invitations would trigger annoying notifications even when initiated by the AI. Notifications are now suppressed for AI-driven jobs and will only appear when manually triggered by the player.
Dance Cooldown: Added a cooldown for standard pole dances when guests are present. By default, pawns will now wait 6 hours before dancing again (even with priority "1" set). Note that this cooldown does not affect manual interactions or standard recreation-based dancing.
Fixed an issue where guests were not properly reserved during the "Invite to Dance" job, allowing them to be taken by other jobs.
ーーーーーーーーーーーーーーー
<機能修正>
客呼び中にジョブが失敗すると左上のメッセージの通知が流れるのですが、これがWorker経由だとプレイヤーが指示してないのに通知が流れるのが不快のため、Worker経由の場合は通知が流れないように修正
訪問客がいるときで通常ダンス時にクールタイムをつけるようにしました。デフォルトだとポーン毎に6時間はダンスの優先度「1」でも踊らないようにしてます。手動や娯楽目的は今まで通りポールで踊ります。
・客呼び後ダンス時、客側を予約済みにしていなかったため他のジョブから客の状態が取られるのを修正
1.2.11
Fixed a bug where manually inviting guests would immediately report "No guests available" due to missing guest reservation.
ーーーーーーーーー
<バグ修正>
・客呼びを手動時にReserveできてないため選択してもすぐにお客がいませんの修正
・売春の美しさによる倍率が美しさにかかっていたがベース売春価格に足し算になっていたので乗算に変更
StripperPoleEx(Fork)
<Bug Fixes & Improvements>
Fixed an issue where guests were invited to dance without considering their current activity (e.g., eating), even if they were present on the map.
Fixed an issue where the pawn's beauty was not being evaluated during the guest invitation process.
Corrected the upper and lower bound settings for the beauty-based multiplier in the StripperPole Mod settings.
Fixed an issue where guests were not properly reserved during the "Invite to Dance" job, allowing them to be taken by other jobs.
ーーーーーーーーーーーーーーーーー
<バグ修正>
・ポール選択時の客呼びで訪問客がいることだけ確認して終わっていたため、客呼びのジョブが中断されていた。訪問者が食事中とかを考慮できていなかったため修正
・客呼び中にポーンの美しさが評価されていなかったので修正
・StripperPole Modのページの客呼び中の美しさによる倍率の下限と上限設定が間違っていたので修正
・客呼び後ダンス時、客側を予約済みにしていなかったため他のジョブから客の状態が取られるのを修正
StripperPoleEx(Fork)
Mod Update Notes
Bug Fix
Fix for watch.tickIntervalAction: Changed JoyTickFullJoyAction.EndJob to None. Previously, the job would terminate as soon as the recreation meter reached maximum; it will now persist for the full duration.
New Prerequisites
Hospitality (Continued): Added as a prerequisite. This is required for guest management and to prevent game balance issues caused by infinite dancing sessions with the Lord.
New Features
Ideology Integration: Added support for the Ideology DLC. Striptease sessions will now trigger "Dance Party" visual effects and music.
Guest Interaction: Pawns can now invite guests (visitors) to watch a dance. This can be initiated by right-clicking the pole. Note: The pole must be assigned to a specific pawn to use this feature.
Automated Performance: Added a JobGiver to handle guest invitations. By setting the "Stripper" priority in the Work tab and assigning a pole to a specific pawn, the pawn will automatically perform for Hospitality guests.
Technical Refactoring
Cleanup of ThinkNode: Removed unnecessary ThinkNode references. Since Humanlike ThinkTrees already handle JobGiver_Work via MainColonistBehaviorCore, the custom ThinkNode was unused and mismatched with the actual DefName (StripperPoleBehaviorTree). The dancing logic is correctly handled via WorkGiver and JoyGiver.
Performance Optimization (Pole Caching): Replaced the redundant GetStripperPoles caching logic (which incorrectly used map.listerThings.ThingsOfDef) with a proper Dictionary<Map, List>. The cache is now updated during Spawn and Despawn, with a cleanup trigger added to GameComponent for game loading.
Refactoring JobGiver: Changed the inheritance of the JobGiver (previously JobGiver_Scanner). Since the original implementation did not utilize the scanner's functionality, the inheritance has been updated to reflect the actual implementation requirements.
ーーーーーーーーーーーー
<バグ修正>
watch.tickIntervalActionでJoyTickFullJoyAction.EndJobとしており、娯楽ゲージが最大になったらジョブを抜けていたのでNoneに変更して秒数間居座り続けるように修正
<前提の追加>
・Hospitality (Continued)
https://steamcommunity.com/sharedfiles/filedetails/?id=3509486825
顧客管理のためとダンスする対象を決める際に、Lordと無制限にダンスできるとバランス崩壊するので
<機能の追加>
<機能追加>
①イデオロギーのDLCがある場合のみ、ストリップダンス時にダンスパーティのエフェクトと音楽を再生するように変更
②お客(訪問者)にダンス見ないかというアプローチを行えるようにしました。ポールを右クリックで行えます。ただし、ポールを一人のポーンに所有させておく必要があります。
③先ほどのお客にダンスアプローチをJobGiver経由で起動されます。優先順位タブよりストリッパーの優先度をいじって、高優先度にして、ポールを一人のポーンに所有させておくとHospitality の訪問客がいる場合勝手に踊ってくれます
<実装面の修正>
①ThikNode_~の削除。理由はhumanRaceのThinkTreeは
Humanlike
HumanlikeConstant
で、そもそもdefnameがあってない(stripper poleのThinkTrees_StripperPoleBehaviorTree.xmlのdefname=StripperPoleBehaviorTree)ので使われてすらない。でもなぜポールダンスを行うかはWorkGiverのほうで、HumanlikeでMainColonistBehaviorCoreのJobGiver_WorkがThinkTreeに含まれているためである。ちなみにゲーム中の優先順位タブもjobgiverのほう。もう一か所呼ばれてるのはjoygiver側
②オリジナルからの仕様でポールがゲームロード時Spawnしたタイミングでキャッシュしてたのですが、GetStripperPolesでmap.listerThings.ThingsOfDefとしていたのでキャッシュする意味がありませんでした。そのためmap:というディクショナリを作ってspawn時追加とdespawn時削除としました。またゲームロード時のみこのキャッシュをクリアする処理をGameComp側に定義
③JobGiverがJobGiver_scannerだったのだが、ThinkNode->JobGiver_work経由で呼ばれるが、オリジナル実装でscannerの機能を使っていなかったため継承を変更