<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->//ccc survival ->
void GameOverE()
{
ref mc;
mc = GetMainCharacter();
if(rand(100) + (makeint(mc.skill.Sneak)*3) > DEATHRATE) // BF mar05
{ //ccc new survival section
LAi_SetCurHPMax(mc);
mc.ship.type = "Tartane1";
Ship_CreateForCharacter(mc, 0, "Lifeboat") // ccc apr03
Sea_ReloadStart();
PlaySound("objectsshipcharge_abandon0.wav"); //ccc mar20
Log_SetStringToLog("You manage to launch a boat in the last moment."); //ccc mar20
Log_SetStringToLog("With a few mates you escape from disaster."); //ccc mar20
}
else
{ //ccc call original GameOver function
GameOverOrg("sea");
DeleteSeaEnvironment();
}
}
void GameOver(string sName)
{
ref mc;
ref chr;
string loc;
mc = GetMainCharacter();
if(rand(100) + (makeint(mc.skill.Sneak)*3) < DEATHRATE) {GameOverOrg(sName)} //ccc call original GameOver function / BF mar05
else //ccc new survival section
{
switch(sName)
{
case "boarding":
GameOverOrg(sName);
break;
case "mutiny":
PlaySound("voiceDut_m_a_054.wav"); //ccc mar20
Log_SetStringToLog("MUTINY!"); //ccc mar20
Log_SetStringToLog(" 'Cap'n, we are giving you and your cronies this boat."); //ccc mar20
Log_SetStringToLog(" If youre careful, you just might make it."); //ccc mar20
Log_SetStringToLog("But given your past performance you'll all starve'"); //ccc mar20
GameOverE();
break;
default:
PlaySound("trepskeletonskeleton01.wav"); //ccc mar20
StartVideo("artefact"); //ccc mar20
string islandID;
int jopa;
jopa = GetCharacterCurrentIsland(mc);
IslandID = Islands[jopa].id;
if(mc.location == "Redmond_town_01") IslandID = "Redmond"; //Island ID bugfix
if(mc.location == "Oxbay_port") IslandID = "Oxbay"; //Island ID bugfix
switch(IslandID)
{
case "FalaiseDeFleur":
loc = "Falaise_de_fleur_Tavern_upstairs";
chr = characterFromID("Falaise_de_fleur_officiant");
break;
case "Redmond":
loc = "Redmond_Tavern_upstairs";
chr = characterFromID("Redmond_officiant");
break;
case "Conceicao":
loc = "Conceicao_Tavern_upstairs";
chr = characterFromID("Conceicao_officiant");
break;
case "Douwesen":
loc = "Douwesen_Tavern_upstairs";
chr = characterFromID("Douwesen_officiant");
break;
case "Oxbay":
loc = "Greenford_Tavern_upstairs"
chr = characterFromID("Greenford_officiant");
break;
case "IslaMuelle":
loc = "Muelle_Tavern_upstairs";
chr = characterFromID("Muelle_officiant");
break;
//default: // scheffnow - bfd
loc = "QC_Tavern_upstairs";
chr = characterFromID("QC_officiant");
setCharacterShipLocation(mc, "QC_port");
}
//apply damage and losses
mc.chr_ai.hp_max = makeint(sti(mc.chr_ai.hp_max) * 0.9);
mc.ship.hp = makeint(sti(mc.ship.hp) * rand(6)/10)+50;
mc.Ship.crew.quantity = makeint(sti(mc.Ship.crew.quantity) * rand(6)/10)+5;
mc.money = makeint(sti(mc.money) * rand(4)/10);
string gun = mc.equip.gun;
RemoveCharacterEquip(mc, GUN_ITEM_TYPE);
TakeItemFromCharacter(mc, gun);
string blade = mc.equip.blade;
RemoveCharacterEquip(mc, BLADE_ITEM_TYPE);
TakeItemFromCharacter(mc, blade);
//start bedroomscene
WaitDate("", 0,0,4,0,0);
ChangeCharacterAddress(chr, loc, "goto3");
DoReloadCharacterToLocation(loc, "goto", "goto2");
Locations[FindLocation(loc)].reload.l1.disable = 0;
Log_SetStringToLog("You regain consciousness after a long feverish sleep");
PlaySound("AMBIENTSHOPsigh2.wav");
Lai_SetActorType(chr);
LAi_ActorTurnToCharacter(chr, mc);
LAi_ActorDialog(chr,mc, "", 4.0, 1.0);
}
}
}
void GameOverOrg(string sName) //ccc original GameOver function
{
ref mc;
int nSelect;
string sFileName;
//ResetSoundScheme();
//PauseAllSounds();
ResetSound();
EngineLayersOffOn(false);
mc = GetMainCharacter();
ClearEvents();
ClearPostEvents();
DeleteEntities();
if(sti(InterfaceStates.Launched)) {
UnloadSegment(Interfaces[CurrentInterface].SectionName);
}
if(LoadSegment("InterfaceBaseInterface.c"))
{
InitBaseInterfaces();
UnloadSegment("InterfaceBaseInterface.c");
}
InitSound();
SetEventHandler(EVENT_END_VIDEO,"LaunchMainMenu_afterVideo",0);
switch(sName)
{
case "sea":
nSelect = rand(1);
sFileName = "skeleton_on_beach";
switch(nSelect)
{
case 0: sFileName = "skeleton_on_beach"; break;
case 1: sFileName = "undersea"; break;
}
StartPostVideo(sFileName,1);
break;
case "boarding":
StartPostVideo("skeleton_on_beach",1);
break;
case "land":
StartPostVideo("blaze_land_dead",1);
break;
case "mutiny":
StartPostVideo("blaze_mutiny_dead",1);
break;
}
InterfaceStates.Buttons.Resume.enable = false;
InterfaceStates.Buttons.Save.enable = false;
}
//ccc survival <-
// NK temp fix for reinit -->
void SD_Reinit()
{
Reinit(true, true);
}
// NK <--<!--c2--></div><!--ec2-->
<b>TO</b>
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->//ccc survival ->
void GameOverE()
{
ref mc;
mc = GetMainCharacter();
if(rand(100) + (makeint(mc.skill.Sneak)*3) > DEATHRATE) // BF mar05
{ //ccc new survival section
LAi_SetCurHPMax(mc);
mc.location.id = "Oxbay_fort2";//Right here im confused is that right?
Ship_CreateForCharacter(mc, 0, "Execution") // ccc apr03
Sea_ReloadStart();
PlaySound("objectsshipchargeExecution.wav"); //ccc mar20
Log_SetStringToLog("You are here, to witness the Execution of the Infamous Pirate."); //ccc mar20
Log_SetStringToLog("Raiding, Pillaging, Killing of innocent people, sinking of English Warships, and insulting the Spanish Govenor."); //ccc mar20
}
else
{ //ccc call original GameOver function
GameOverOrg("Oxbay_fort2");
DeleteSeaEnvironment();
}
}
void GameOver(string sName)
{
ref mc;
ref chr;
string loc;
mc = GetMainCharacter();
if(rand(100) + (makeint(mc.skill.Sneak)*3) < DEATHRATE) {GameOverOrg(sName)} //ccc call original GameOver function / BF mar05
else //ccc new survival section
{
switch(sName)
{
case "boarding":
GameOverOrg(sName);
break;
case "mutiny":
PlaySound("voiceDut_m_a_054.wav"); //ccc mar20
Log_SetStringToLog("MUTINY!"); //ccc mar20
Log_SetStringToLog(" 'Cap'n, we are rowning you to Redmond fort where you are to be executed."); //ccc mar20
Log_SetStringToLog(" If youre smart, you will not try to run."); //ccc mar20
Log_SetStringToLog("But, you have a record, so we'll have to claps you in Irons.'"); //ccc mar20
GameOverE();
break;
default:
PlaySound("trepskeletonskeleton01.wav"); //ccc mar20
StartVideo("<Insert Execution Video here.>"); //ccc mar20
string islandID;
int jopa;
jopa = GetCharacterCurrentIsland(mc);
IslandID = Islands[jopa].id;
if(mc.location == "Redmond_fort") IslandID = "Redmond"; //Island ID bugfix
if(mc.location == "Oxbay_fort2") IslandID = "Oxbay"; //Island ID bugfix
switch(IslandID)
{
case "FalaiseDeFleur":
loc = "FalaiseDeFleur_fort";
chr = characterFromID("Falaise_de_fleur_officiant");
break;
case "Redmond":
loc = "Redmond_fort";
chr = characterFromID("Redmond_officiant");
break;
case "Conceicao":
loc = "Conceicao_fort";
chr = characterFromID("Conceicao_officiant");
break;
case "Douwesen":
loc = "Douwesen_fort";
chr = characterFromID("Douwesen_officiant");
break;
case "Oxbay":
loc = "Greenford_fort"
chr = characterFromID("Greenford_officiant");
break;
case "IslaMuelle":
loc = "Muelle_fort";
chr = characterFromID("Muelle_officiant");
break;
//default: // scheffnow - bfd
loc = "QC_Tavern_upstairs";
chr = characterFromID("QC_officiant");
setCharacterShipLocation(mc, "QC_port");
}
//apply damage and losses
mc.chr_ai.hp_max = makeint(sti(mc.chr_ai.hp_max) * 0.9);
mc.ship.hp = makeint(sti(mc.ship.hp) * rand(6)/10)+50;
mc.Ship.crew.quantity = makeint(sti(mc.Ship.crew.quantity) * rand(6)/10)+5;
mc.money = makeint(sti(mc.money) * rand(4)/10);
string gun = mc.equip.gun;
RemoveCharacterEquip(mc, GUN_ITEM_TYPE);
TakeItemFromCharacter(mc, gun);
string blade = mc.equip.blade;
//start bedroomscene
WaitDate("", 0,0,4,0,0);
ChangeCharacterAddress(chr, loc, "goto3");
DoReloadCharacterToLocation(loc, "goto", "goto2");
Locations[FindLocation(loc)].reload.l1.disable = 0;
Log_SetStringToLog("You regain consciousness after a long feverish sleep");
PlaySound("AMBIENTSHOPsigh2.wav");
Lai_SetActorType(chr);
LAi_ActorTurnToCharacter(chr, mc);
LAi_ActorDialog(chr,mc, "", 4.0, 1.0);
}
}
}
void GameOverOrg(string sName) //ccc original GameOver function
{
ref mc;
int nSelect;
string sFileName;
//ResetSoundScheme();
//PauseAllSounds();
ResetSound();
EngineLayersOffOn(false);
mc = GetMainCharacter();
ClearEvents();
ClearPostEvents();
DeleteEntities();
if(sti(InterfaceStates.Launched)) {
UnloadSegment(Interfaces[CurrentInterface].SectionName);
}
if(LoadSegment("InterfaceBaseInterface.c"))
{
InitBaseInterfaces();
UnloadSegment("InterfaceBaseInterface.c");
}
InitSound();
SetEventHandler(EVENT_END_VIDEO,"LaunchMainMenu_afterVideo",0);
switch(sName)
{
case "sea":
nSelect = rand(1);
sFileName = "skeleton_on_beach";
switch(nSelect)
{
case 0: sFileName = "skeleton_on_beach"; break;
case 1: sFileName = "undersea"; break;
}
StartPostVideo(sFileName,1);
break;
case "boarding":
StartPostVideo("skeleton_on_beach",1);
break;
case "land":
StartPostVideo("blaze_land_dead",1);
break;
case "mutiny":
StartPostVideo("blaze_mutiny_dead",1);
break;
}
InterfaceStates.Buttons.Resume.enable = false;
InterfaceStates.Buttons.Save.enable = false;
}
//ccc survival <-
// NK temp fix for reinit -->
void SD_Reinit()
{
Reinit(true, true);
}
// NK <--<!--c2--></div><!--ec2--><b></b>