Forum

Please note that you can subscribe to the individual forums. A subscription for news only covers the news.

Notifications
Clear all

Prevent AskPunishment Abuse Routine

4 Posts
3 Users
3 Likes
2,235 Views
Hoot
 Hoot
(@hoot)
Member
Joined: 4 years ago
Posts: 23
Topic starter  

Hi all, 

So I didn't want to completely but the subs ability to ask to be punished but I wanted a way to ensure that the system could not be abused. When you complete a punishment you asked for you earn merits equal to the severity. Essentially I didn't want the sub to just be able to spam a load of punishments they asked for to farm merits quickly, but I didn't want to disable the function altogether.

The following bit of code means the sub can only ask for a punishment once per day. If they try and ask for more than that then they will still have to complete the additional punishments but they will lose the exact same amount of merits they would have earned by doing so. You can customise the messages the sub receives easily enough but the rest should be good to fit into any script.

Hope this is useful to someone 🙂


   
Quote
(@subparprogrammer)
Member
Joined: 4 years ago
Posts: 26
 

I love the idea and have integrated it there was definitely an issue of being close to zero and recovering to a near perfect score through the use of punishments!

 

I slightly simplified it adding a reset as part of the NewDay event:

 

[events]
NewDay=NewDay
PunishmentAsked=CheckAskPunishment


[procedure-CheckAskPunishment]
Procedure=AskPunishment1
add#=#PunishmentsAskedFor,1
procedure=AskPunishment2

[Procedure-AskPunishment1]
NotIf=#PunishmentsAskedFor>0
set!=!asked,!zzDate
message=Just so you know, I enjoy punishing you {$zzSubname}, but I won't let you abuse that fact.

[procedure-AskPunishment2]
If=#PunishmentsAskedFor>1
message=I told you I won't let you abuse this privilege, {$zzSubname}. You'll still have to complete the punishment you asked for but I'm deducting the same number of merits you would earn by completing it from your total.
set#=#lastaskpun,0
subtract#=#lastaskpun,#zzPunishmentSeverity
AddMerit=#lastaskpun

[procedure-NewDay]
set#=#PunishmentsAskedFor,0

   
hyacinth reacted
ReplyQuote
(@zealc)
Member
Joined: 6 years ago
Posts: 1
 

That's a brilliant idea! Thanks for sharing, adding that now. <need a devil emoji> 


   
ReplyQuote
Hoot
 Hoot
(@hoot)
Member
Joined: 4 years ago
Posts: 23
Topic starter  

@subparprogrammer Yeah you can easily reset it that way. I had mine reset at the end of each week as I plan on implementing other procedures that rely on how many punishments the sub has asked for during a week period. 


   
ReplyQuote