HM-CODE / Haunted-Memories

A repository for Haunted Memories code.
http://www.haunted-memories.net/
BSD 3-Clause "New" or "Revised" License
4 stars 5 forks source link

+faction/deny should stop people from +submit #59

Closed Bradamante closed 13 years ago

Bradamante commented 13 years ago

+faction/deny should stop people from +submitting if they are denied while in Cgen.

hmmorpheus commented 13 years ago

There really isn't a good way of making +faction/deny stop people from being able to submit, but it would be relatively easy that upon it's use it resets cgen entirely for the player. (I.E. sheet wipe et. all). +faction/deny was basically put in so that when a sphere is limited/closed and someone is flagged as 'allowed' and then staff changes their mind for whatever reason that they can /deny prior to the player starting cgen.

nivthefox commented 13 years ago

You should be able to put an @assert on +submit to stop them from going further without changing their faction approval setting. Wiping their entire sheet is probably a bit too heavy-handed.

Note that +submit is getting VERY long, so it probably needs to be broken off into smaller @triggers.

hmmorpheus commented 13 years ago

I don't know.. I think it would suck to get to the end of cgen, have background and descs written and all that and try to submit and get some message that amounts to 'sorry but you can't submit your app'. It's possible for me to do that, yeh, I just.. don't like it personally. As a player I'd be REALLY annoyed at wasting all the time and effort in making the char only to get a denied at the end.

Maybe a 'best of both worlds', would be that +submit checks for the faction allowed marker on the player when they submit, and if it's limited or closed and they don't have it, it alerts them that the status of the sphere has changed and they need to talk to staff, and that +faction/deny would generate a +job letting the player know that they have been denied permission and why?

hmmorpheus commented 13 years ago

So by what Loki mentioned here and a conversation on the wizchat channel, the behavior this alteration is meant to correct is to prevent people from submitting if a sphere is closed or limited and they have not been flagged with the faction-allow marker.

The most efficient way of achieving this goal was actually to alter +submit in cgen by adding the following:

@break cand(gt(match(Limited Closed,get(#11681/d.status.[getfaction(%#)])),0),not(strmatch(get(%#/_faction-allow),getfaction(%#))))=@pemit %#=msg(chcy,CharGen,{I'm sorry. The [getfaction(%#)] sphere is presently [get(#11681/d.status.[getfaction(%#)])] and your application cannot be completed. Please contact [getfaction(%#)] Staff for assistance.})

This checks whether or not the character's faction is set limited or closed, and if they have the faction-allow marker. If they do not it gives them the message above alerting them that they cannot submit their application and they need to talk to staff. If they do or the sphere is flagged open, it will allow them to submit as normal.

Please note that this feature appears in cgen MK II and is not included in cgen MK I at this time.