Please note that you can subscribe to the individual forums. A subscription for news only covers the news.
New status based off merits?
Hello, I'm trying to make it so when the sub has less than X merits the program changes status.
For example, if they keeps losing merits and it drops below a certain # I want the program to go into a sadistic status with harsher punishments, assignments, and pop-ups.
Is there anyway to do this?
Also is there anyway to make assignments only show up for a specific status?
There is an event called MeritsChanged, where you can call a procedure every time the metits are changed. You can use that to change status or do other stuff.
However, I recommend to use a flag instead of a status. A flag can stay on for a long time, while you will probably need to change status for some reason. Status are meant to be "what is the sub doing right now.
You can not make assignments show up only in a specific status. You can hide all assignments in a specific status, but not some of them. You can however prevent an assignment from being started. Use the keyword BeforeProcedure in a job or punishment to call a procedure before an assignment is started. If the procedure sets the flag zzDeny, the assignment will not be started.
I'm working on something similar with a relaxed mode and a strict mode. As Sven suggests it's controlled by a flag and where appropriate I have double statuses such as normal and normal-strict, with a procedure I can call that chooses the appropriate new status in most places where I might have used a newstatus keyword. I use the new conditional execution and if statements a lot!
The best way I've found to ensure that assignments are given only under certain conditions is not to have them assigned using the normal job keywords for timing but instead defining timers or other methods to assign the jobs 'manually' using the job= keyword. For punishments, the only thing I can think of is using a lot of punishment groups and subprocedures to ensure your harshest punishments only come up when appropriate. It's more work to script but it's possible!