Please note that you can subscribe to the individual forums. A subscription for news only covers the news.
Helu.
It’s a wish. S’wish.
The automated merits system subtracts merits when punishments are assigned and reimburses them when done. Could this be disabled?
I understand the concern about having a sustainable merits economy – one that doesn’t head endlessly towards one extreme. The predefined solution has #zzMerits as equal to a predetermined number minus the total value of punishments pending. It’s a closed system, a way of structuring the sub’s merital finances, with some liquid and some tied up in punishments. But I do use merits as an open system too, an account into which master injects and withdraws merits - and indeed the sub’s merits inevitably head south. But that’s him. System’s fine. But when VM wants to know how many merits the sub has in total, he needs #zzMerits + value of pending punishments. I don’t know how to easily capture that second value.
Perhaps there’s a predetermined variable for value of all pending punishments 🙂 But I think this will involve setting up a counter system of some kind. Ideas and guidance welcome.
Thanks for all.
Hi Simon,
I feel that this would be breaking with the principles of the program. But maybe you can do what you want like this:
[Events]
PunishmentGiven=PunishmentGiven
PunishmentDone=PunishmentDone
[procedure-PunishmentGiven]
; Avoid reducing merits. #zzAddMerits will be negative.
set#=#Merits,#zzAddMerits
multiply#=#Merits,-1
addmerits=#Merits
[procedure-PunishmentDone]
; Avoid increasing merits. #zzAddMerits will be positive.
set#=#Merits,#zzAddMerits
multiply#=#Merits,-1
addmerits=#Merits
It will only work if the sub not gets anywhere MinMerits or MaxMerits, but if I understand you right, you must have an unreachable MaxMerits,
Sven
Yes. That’s very tidy. After some thought I was hatching a related idea that meant adding statements to all the Before and Done procedures and adjusting #zzmerits via MeritsChanged. I will now remove all that and replace with this. I was even aware of the the PunGiven and Done procedures but never imagined how to use them.
Thank you. 🙂 🙂
PS I'll bear in mind Min and Maxmerits. I don't use them now.
Please be aware that MaxMerits has a default of 1000. So you may wish to specify it.
Correction: I am using MinMerits=-50 and MaxMerits=1050. Merits=800 at start. Not sure why the merit adjusting system would fail at the extremes. Say #zzMerits hits a high of 1000 and VM wants to add 10, is the value of #AddMerits still 10 despite the fact it isn’t added to the total? Bueno. Things work well enough for now: when merits get lower than 500 VM punishes and boosts the score, and at 1000 it buys you a car.
Thinking about it, I don't think it will fail at MinMerits. The merit system can go below zero. If I remember right, MinMerits is just to tell where the visible scale stops.
But it will cut off the merits at MaxMerits. And I think that #AddMerits will still contain 10 in your example. You should be able to test for that situation and correct it, if you wish to.
I haven't tested any of this, so it is how I think it will work.
Sven