- takeSnapShot() is excluded from the timelimiter.
- scooping constrictor pilot without killing the ship no longer gives a success message. - activating a "becomeEnergyBlast" or "becomeExplosion" within a shipDied event, no longer triggers a new shipDied event. git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@4794 127b21dd-08f5-0310-b4b7-95ae10353056
This commit is contained in:
parent
a106f4055f
commit
bb50cc8433
@ -19,6 +19,8 @@
|
|||||||
"constrictor_hunt_info1b" = "Hunt for the Constrictor stolen from Xeer Shipyards.";
|
"constrictor_hunt_info1b" = "Hunt for the Constrictor stolen from Xeer Shipyards.";
|
||||||
"constrictor_hunt_debrief" = "---INCOMING MESSAGE\n\nCongratulations Commander!\n\nThere will always be a place for you in Her Imperial Majesty’s Space Navy.\n\nAnd maybe sooner than you think…\n\n---MESSAGE ENDS.";
|
"constrictor_hunt_debrief" = "---INCOMING MESSAGE\n\nCongratulations Commander!\n\nThere will always be a place for you in Her Imperial Majesty’s Space Navy.\n\nAnd maybe sooner than you think…\n\n---MESSAGE ENDS.";
|
||||||
"constrictor_hunt_thief_captured" = "You captured the thief who stole the constrictor! Her Imperial Navy awards you a bonus of 1000 credits!\n";
|
"constrictor_hunt_thief_captured" = "You captured the thief who stole the constrictor! Her Imperial Navy awards you a bonus of 1000 credits!\n";
|
||||||
|
"constrictor_hunt_thief_captured2" = "You captured an empty escape pod. The thief who stole the constrictor is still on board and you left the ship intact! Her Imperial Navy gives you a second chance!\n";
|
||||||
|
"constrictor_hunt_pilot_captured" = "You captured a pilot from a constrictor! %I police awards you a bonus of 250 credits!\n";
|
||||||
|
|
||||||
|
|
||||||
// Thargoid Plans mission (oolite-thargoid-plans-mission.js)
|
// Thargoid Plans mission (oolite-thargoid-plans-mission.js)
|
||||||
|
@ -1,29 +1,29 @@
|
|||||||
/*
|
/*
|
||||||
|
|
||||||
oolite-constrictor-pilot.js
|
oolite-constrictor-pilot.js
|
||||||
|
|
||||||
Character script for Constrictor Hunt mission.
|
Character script for Constrictor Hunt mission.
|
||||||
|
|
||||||
|
|
||||||
Oolite
|
Oolite
|
||||||
Copyright © 2004-2010 Giles C Williams and contributors
|
Copyright © 2004-2010 Giles C Williams and contributors
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or
|
This program is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the GNU General Public License
|
modify it under the terms of the GNU General Public License
|
||||||
as published by the Free Software Foundation; either version 2
|
as published by the Free Software Foundation; either version 2
|
||||||
of the License, or (at your option) any later version.
|
of the License, or (at your option) any later version.
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
This program is distributed in the hope that it will be useful,
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
GNU General Public License for more details.
|
GNU General Public License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||||
MA 02110-1301, USA.
|
MA 02110-1301, USA.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -35,11 +35,31 @@ this.version = "1.77";
|
|||||||
|
|
||||||
this.unloadCharacter = function ()
|
this.unloadCharacter = function ()
|
||||||
{
|
{
|
||||||
/*
|
switch (missionVariables.conhunt)
|
||||||
print congratulatory message from the Imperial Navy
|
{
|
||||||
award a special bounty
|
case "CONSTRICTOR_DESTROYED":
|
||||||
*/
|
{
|
||||||
player.addMessageToArrivalReport(expandMissionText("constrictor_hunt_thief_captured"));
|
/*
|
||||||
player.credits += 1000;
|
print congratulatory message from the Imperial Navy
|
||||||
|
award a special bounty
|
||||||
|
*/
|
||||||
|
player.addMessageToArrivalReport(expandMissionText("constrictor_hunt_thief_captured"));
|
||||||
|
player.credits += 1000;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "STAGE_1":
|
||||||
|
{
|
||||||
|
// Pilot was scooped, but the ship is still intact. Mission continues.
|
||||||
|
player.addMessageToArrivalReport(expandMissionText("constrictor_hunt_thief_captured2"));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
{
|
||||||
|
// was not a pilot from a mission ship. Probably created by a like_ship reference. Create generic message.
|
||||||
|
player.addMessageToArrivalReport(expandMissionText("constrictor_hunt_pilot_captured"));
|
||||||
|
player.credits += 250;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -4596,20 +4596,18 @@ static GLfloat sBaseMass = 0.0;
|
|||||||
[UNIVERSE setDisplayText:NO];
|
[UNIVERSE setDisplayText:NO];
|
||||||
[UNIVERSE setDisplayCursor:NO];
|
[UNIVERSE setDisplayCursor:NO];
|
||||||
[UNIVERSE setViewDirection:VIEW_AFT];
|
[UNIVERSE setViewDirection:VIEW_AFT];
|
||||||
[self becomeLargeExplosion:4.0];
|
|
||||||
|
// Let scripts know the player died.
|
||||||
|
[self noteKilledBy:whom damageType:type]; // called before exploding, consistant with npc ships.
|
||||||
|
|
||||||
|
[self becomeLargeExplosion:4.0]; // also sets STATUS_DEAD
|
||||||
[self moveForward:100.0];
|
[self moveForward:100.0];
|
||||||
|
|
||||||
flightSpeed = 160.0f;
|
flightSpeed = 160.0f;
|
||||||
[[UNIVERSE messageGUI] clear]; // No messages for the dead.
|
[[UNIVERSE messageGUI] clear]; // No messages for the dead.
|
||||||
[self suppressTargetLost]; // No target lost messages when dead.
|
[self suppressTargetLost]; // No target lost messages when dead.
|
||||||
[self setStatus:STATUS_DEAD];
|
|
||||||
[self playGameOver];
|
[self playGameOver];
|
||||||
|
|
||||||
// Let scripts know the player died.
|
|
||||||
[self noteKilledBy:whom damageType:type];
|
|
||||||
|
|
||||||
[UNIVERSE setBlockJSPlayerShipProps:YES]; // Treat JS player as stale entity.
|
[UNIVERSE setBlockJSPlayerShipProps:YES]; // Treat JS player as stale entity.
|
||||||
[self setStatus:STATUS_DEAD]; // set dead again in case a script managed to revive the player.
|
|
||||||
[self removeAllEquipment]; // No scooping / equipment damage when dead.
|
[self removeAllEquipment]; // No scooping / equipment damage when dead.
|
||||||
[self loseTargetStatus];
|
[self loseTargetStatus];
|
||||||
[self showGameOver];
|
[self showGameOver];
|
||||||
|
@ -5815,6 +5815,8 @@ NSComparisonResult ComparePlanetsBySurfaceDistance(id i1, id i2, void* context)
|
|||||||
|
|
||||||
- (void) noteKilledBy:(Entity *)whom damageType:(OOShipDamageType)type
|
- (void) noteKilledBy:(Entity *)whom damageType:(OOShipDamageType)type
|
||||||
{
|
{
|
||||||
|
if ([self status] == STATUS_DEAD) return;
|
||||||
|
|
||||||
[PLAYER setScriptTarget:self];
|
[PLAYER setScriptTarget:self];
|
||||||
|
|
||||||
JSContext *context = OOJSAcquireContext();
|
JSContext *context = OOJSAcquireContext();
|
||||||
|
@ -451,6 +451,7 @@ static JSBool GlobalTakeSnapShot(JSContext *context, uintN argc, jsval *vp)
|
|||||||
|
|
||||||
NSString *value = nil;
|
NSString *value = nil;
|
||||||
NSMutableCharacterSet *allowedChars = (NSMutableCharacterSet *)[NSMutableCharacterSet alphanumericCharacterSet];
|
NSMutableCharacterSet *allowedChars = (NSMutableCharacterSet *)[NSMutableCharacterSet alphanumericCharacterSet];
|
||||||
|
BOOL result = NO;
|
||||||
|
|
||||||
[allowedChars addCharactersInString:@"_-"];
|
[allowedChars addCharactersInString:@"_-"];
|
||||||
|
|
||||||
@ -478,7 +479,11 @@ static JSBool GlobalTakeSnapShot(JSContext *context, uintN argc, jsval *vp)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
OOJS_RETURN_BOOL([[UNIVERSE gameView] snapShot:value]);
|
OOJS_BEGIN_FULL_NATIVE(context)
|
||||||
|
result = [[UNIVERSE gameView] snapShot:value];
|
||||||
|
OOJS_END_FULL_NATIVE
|
||||||
|
|
||||||
|
OOJS_RETURN_BOOL(result);
|
||||||
|
|
||||||
OOJS_NATIVE_EXIT
|
OOJS_NATIVE_EXIT
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user