added intro sequence for Chine

issue1247
Maikel de Vries 2014-09-26 22:08:19 +02:00
parent 6f7b8027f0
commit 3ed341c342
6 changed files with 76 additions and 3 deletions

View File

@ -6,6 +6,9 @@
*/
// Whether the intro has been initialized.
static intro_init;
protected func Initialize()
{
// Rules: team account and buying at flagpole.
@ -72,6 +75,16 @@ protected func InitializePlayer(int plr)
// Give the player the elementary base materials and some tools.
GivePlayerElementaryBaseMaterial(plr);
GivePlayerToolsBaseMaterial(plr);
// Set player wealth.
SetWealth(plr, 75 - 25 * SCENPAR_Difficulty);
// Initialize the intro sequence if not yet started.
if (!intro_init)
{
StartSequence("Intro", 0);
intro_init = true;
}
return;
}
@ -108,7 +121,7 @@ private func InitEnvironment(int difficulty)
SetSkyAdjust(RGBa(225, 255, 205, 191), RGB(63, 200, 0));
// Waterfalls dominate the landscape.
for (var i = 0; i < 20; i++)
for (var i = 0; i < 16 + 4 * difficulty; i++)
{
var x = Random(LandscapeWidth());
if (!GBackSky(x, 0))

View File

@ -1,3 +1,52 @@
// Intro sequence for Chine: golden cannon needs to be transported up the chine.
#appendto Sequence
public func Intro_Start()
{
return ScheduleNext(4);
}
public func Intro_JoinPlayer(int plr)
{
SetPlayerZoomByViewRange(plr, 300, nil, PLRZOOM_Set | PLRZOOM_LimitMax);
return;
}
public func Intro_1()
{
for (var i = 0; i < GetPlayerCount(C4PT_User); ++i)
{
var plr = GetPlayerByIndex(i, C4PT_User);
MessageBox(Format("$MsgDroppedCannon$", GetCrew(plr, 1)->GetName()), GetCrew(plr, 0), GetCrew(plr, 0), plr, true);
}
return ScheduleNext(4 * 36);
}
public func Intro_2()
{
for (var i = 0; i < GetPlayerCount(C4PT_User); ++i)
{
var plr = GetPlayerByIndex(i, C4PT_User);
MessageBox("$MsgSorryEarthquake$", GetCrew(plr, 0), GetCrew(plr, 1), plr, true);
}
return ScheduleNext(4 * 36);
}
public func Intro_3()
{
for (var i = 0; i < GetPlayerCount(C4PT_User); ++i)
{
var plr = GetPlayerByIndex(i, C4PT_User);
MessageBox("$MsgBackToWork$", GetCrew(plr, 0), GetCrew(plr, 0), plr, true);
}
return Stop();
}
public func Intro_Stop()
{
// Reset player zoom.
SetPlayerZoomByViewRange(NO_OWNER, 400, nil, PLRZOOM_Set | PLRZOOM_LimitMax);
return true;
}

View File

@ -2,6 +2,9 @@
TxtNeedsAmmo=Die Kanone hat keine Munition.
# Intro sequence messages
MsgDroppedCannon=%s, why did you let go of this golden cannon?
MsgSorryEarthquake=Sorry, that sudden earthquake was too strong...
MsgBackToWork=Well, we will just bring it back up again. Get back to work!
# Failure sequence messages
MsgWhoDroppedCannon=Who dropped that cannon into the abyss?

View File

@ -2,6 +2,9 @@
TxtNeedsAmmo=Cannon has no ammo.
# Intro sequence messages
MsgDroppedCannon=%s, why did you let go of this golden cannon?
MsgSorryEarthquake=Sorry, that sudden earthquake was too strong...
MsgBackToWork=Well, we will just bring it back up again. Get back to work!
# Failure sequence messages
MsgWhoDroppedCannon=Who dropped that cannon into the abyss?

View File

@ -38,7 +38,7 @@ public func Intro_3()
for (var i = 0; i < GetPlayerCount(C4PT_User); ++i)
{
var plr = GetPlayerByIndex(i, C4PT_User);
MessageBox(Format("$MsgToBeRich$", GetCrew(plr, 1)->GetName()), GetCrew(plr, 0), GetCrew(plr, 0), plr, true);
MessageBox("$MsgToBeRich$", GetCrew(plr, 0), GetCrew(plr, 0), plr, true);
}
return Stop();
}

View File

@ -28,10 +28,15 @@ Duration: 30 - 60 minutes
Description: Icy mountain on which the players have to expand a settlement and produce metal.
[Flooded Veins]
Difficulty: Medium (30)
Difficulty: Easy (30)
Duration: 40 - 80 minutes
Description: Flooded caves present a real challenge for this gem mining expedition.
[Chine]
Difficulty: Medium(40)
Duration: 60 - 90 minutes
Description: Players have to transport a cannon up a chine carved out by a waterfall.
[Conquest of Krakatoa]
Difficulty: Medium (60)
Duration: 60 - 100 minutes