- Ships that have a specific commodity defined as cargo, no longer get their bounty reduced to 10% when the pilot ejects.

- The scoop icon now correctly shows a full cargo hold when special cargo is transported.
- Added code that points the ships towards the station during stationkeeping. Main reason is that the player has something to watch when waiting.

git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@4744 127b21dd-08f5-0310-b4b7-95ae10353056
This commit is contained in:
Eric Walch 2012-01-18 21:41:37 +00:00
parent 3d0f56443a
commit fd073849fe
2 changed files with 4 additions and 4 deletions

View File

@ -26,7 +26,7 @@
};
STATIONKEEPING =
{
ENTER = (performIdle, "setSpeedTo: 0.0", "pauseAI: 10.0");
ENTER = (setDestinationToTarget, performFaceDestination, "setSpeedTo: 0.0", "pauseAI: 10.0");
ATTACKED = ("setStateTo: ATTACK_SHIP");
"OFFENCE_COMMITTED" = (setTargetToFoundTarget, "markTargetForOffence: 7", "setStateTo: ATTACK_SHIP");
"GROUP_ATTACK_TARGET" = ("setStateTo: ATTACK_SHIP");
@ -59,7 +59,7 @@
{
ENTER = (performFaceDestination, dockEscorts);
"FRUSTRATED" = (performFaceDestination);
"FACING_DESTINATION" = (recallDockingInstructions, performFlyToRangeFromDestination);
"FACING_DESTINATION" = ("setSpeedFactorTo: 1.0", recallDockingInstructions, performFlyToRangeFromDestination);
ATTACKED = ("setStateTo: ATTACK_SHIP");
"OFFENCE_COMMITTED" = (setTargetToFoundTarget, "markTargetForOffence: 7", "setStateTo: ATTACK_SHIP");
"GROUP_ATTACK_TARGET" = ("setStateTo: ATTACK_SHIP");

View File

@ -3189,7 +3189,7 @@ static GLfloat sBaseMass = 0.0;
{
if (scoopsActive)
return SCOOP_STATUS_ACTIVE;
if ([cargo count] >= max_cargo)
if ([cargo count] >= max_cargo || specialCargo)
return SCOOP_STATUS_FULL_HOLD;
return SCOOP_STATUS_OKAY;
}
@ -4429,7 +4429,7 @@ static GLfloat sBaseMass = 0.0;
if (![UNIVERSE strict]) // only mess with the scores if we're not in 'strict' mode
{
BOOL killIsCargo = ((killClass == CLASS_CARGO) && ([other commodityAmount] > 0));
BOOL killIsCargo = ((killClass == CLASS_CARGO) && ([other commodityAmount] > 0) && ![other isHulk]);
if ((killIsCargo) || (killClass == CLASS_BUOY) || (killClass == CLASS_ROCK))
{
// EMMSTRAN: no killaward (but full bounty) for tharglets?