QUOTE (Shlimazel @ Dec 17 2010, 03:18 PM) <{POST_SNAPBACK}>
Have been working on governments. This is one area where having lots of planets with different governments in the same system mucks up- most of them seem to use the system standing, even the ones that aren't connected to the system's government. I'm using a rank to keep the colonies from being able to deny you landing permission, so that if you go evil you can land there. It's fascinating the kind of stuff that crops up in the scenario Project Micron is employing, because it is far from the scenarios the nova engine was designed to handle.
There's a messy workaround to this:
Make the system government always friendly to the player.
You need one government per planet separately.
Set each government to require a certain requireBit to land.
Give the player one hidden outfit per government that grants said requirebit.
Make a set of hidden, always occuring self-aborting missions (one per government), triggered whenever the player lands. One of these missions always runs, and removes all the outfits.
These missions have to be offered when the player lands, you can't Sxxx them or the legal record to start the mission will be ignored IIRC.
Each mission has a minimum legal rating to accept the mission, for a specific gov't. If you pass the legal rating, it re-grants the outfit. If you fail, the mission doesn't run, you don't get the outfit, and don't get to land.
Using this method you can set missions which require a player to land on a certain planet to contribute the bit required for that planet, and you can change the minimum legal rating required by using multiple legal-rating-check missions and some NCBs to pick which one is allowed to run.
You could use ränks instead of require bits, and have the missions remove/add hidden ranks based on legal rating. Either one works. You still need one per set of planets.
There is an issue with this. As the remove-outfit missions only run when the player lands, the player can land once on a planet even if he would fail his legal check. You could use a run-every-day cron to fix this problem, but there is an issue that if you ever increment the date while the player is flying, the player won't be able to land anywhere.
There is a convoluted workaround to the cron method bug, which leads to an alternate solution:
Ship: 1-armor, invisible, carries following weapon
Weapon: Invisible, 1-armor damage, deals damage to firing ship, subs into itself 3 times for good measure then explodes deals 32767 blast radius.
Dude: one per government you want to check, plus one that's always player-friendly. Has one ship of above type.
Cron: runs every day, Sxxx-s mission one
Mission one: invisible, player has goal of protecting friendly düde, auxShip is düde of invisible ship belonging to the gov't you want to check legal on. If auxShip doesn't like player, it fires, destroyes self and friendly düde, mission fails, set landing/not-landing outfit or rank accordingly. Either way, Sxxx mission two
Mission two: same as mission one, pick a different gov't for the auxShip. Sxxx mission three.
And so on. These missions need to run consecutively. If they run parallel, and the player fails one, then the auxShip will cause all of them to fail and the player will be able to land nowhere.
Or you can mess around with gövt and spöb until it possibly works. No guarantees above does what I expect it to do, I haven't tested it, just thought it up now.