These are more custom laws. When these laws are active these can be Enacted / Invoked, they can basically be executed on command.
These types of laws are able to take in custom parameters. for example the law could be setup to use a player as an input or a location. The law can then execute a series of instructions using these parameters.
- This law can only be invoked / enacted by the mayor / president, and is used to fine players money for things like parking tickets or destruction of public roads
- Using my system of player variables you could make a law that anyone can enact that will vote for the current mayor / president to be kicked out of office. in this example the current mayor would hold a variable that states how many votes he has and if the amount of votes uppon a citizen voting for him or her to be kicked out is greater than 75% of players who have played for more than 2 hours on the server then it triggers another law that kicks them out.
There are many other possibilities for the law system, if you wanted to you could define every rule in the game (down to the behaviour of the animals) in laws if the system was general enough.
I really think that the laws and contracts system has much more potential if some of these programmatic features were implemented
Technical details related to programming:
The current Law system is an event driven system, you basically write and add a new event handler when you make a new Law. Enact-able laws / invoke-able laws would be like global functions you could call whenever you wanted.
Also a good idea. So like adding scriptable powers to players... that could be pretty cool. Something to think about as we expand the governance system.
Need also a property flag for the government as well that is accessible by the mayor or something.