237 lines
7.3 KiB
Plaintext
237 lines
7.3 KiB
Plaintext
#include "g_startfireworks"
|
|
#include "cutscene_ch1"
|
|
#include "cutscene_ch2"
|
|
|
|
/*case 1: iVoice = VOICE_CHAT_ATTACK;break;
|
|
case 2: iVoice = VOICE_CHAT_BATTLECRY1;break;
|
|
case 3: iVoice = VOICE_CHAT_BATTLECRY2;break;
|
|
case 4: iVoice = VOICE_CHAT_BATTLECRY3;break;
|
|
case 5: iVoice = VOICE_CHAT_THREATEN;break;
|
|
case 6: iVoice = VOICE_CHAT_CHEER;break;
|
|
case 7: iVoice = VOICE_CHAT_CUSS;break;
|
|
case 8: iVoice = VOICE_CHAT_FLEE;break;
|
|
case 9: iVoice = VOICE_CHAT_GOODBYE;break;
|
|
case 10: iVoice = VOICE_CHAT_THANKS;break;
|
|
case 11: iVoice = VOICE_CHAT_WEAPONSUCKS;break;
|
|
case 12: iVoice = VOICE_CHAT_LAUGH;break;
|
|
case 13: iVoice = VOICE_CHAT_HELLO;break;
|
|
case 14: iVoice = VOICE_CHAT_FOLLOWME;break;
|
|
case 15: iVoice = VOICE_CHAT_GOODIDEA;break;
|
|
case 16: iVoice = VOICE_CHAT_REST;break;
|
|
case 17: iVoice = VOICE_CHAT_YES;break;
|
|
|
|
GestaltApplyEffect(0.0, oPC, eEffect, INSTANT, 0.0, "");
|
|
GestaltActionAnimate(0.0, oPC, ANIMATION_FIREFORGET_BOW);
|
|
*/
|
|
void FWEffect(float oDelay, int oEffect, string oWaypoint)
|
|
{
|
|
object oTarget;
|
|
oTarget = GetObjectByTag(oWaypoint);
|
|
int nInt;
|
|
nInt = GetObjectType(oTarget);
|
|
effect eEffect;
|
|
eEffect = EffectVisualEffect(oEffect);
|
|
if (nInt != OBJECT_TYPE_WAYPOINT)
|
|
DelayCommand(oDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT,
|
|
eEffect, oTarget));
|
|
else
|
|
DelayCommand(oDelay, ApplyEffectAtLocation(DURATION_TYPE_INSTANT,
|
|
eEffect, GetLocation(oTarget)));
|
|
}
|
|
|
|
|
|
void main()
|
|
{
|
|
object oMod = GetModule();
|
|
object oPC = GetEnteringObject();
|
|
int oPCs = GetLocalInt(oMod, "num_players");
|
|
int iShow = GetLocalInt(oPC, "show_seen");
|
|
MusicBackgroundPlay(GetArea(oPC));
|
|
|
|
if (!GetIsPC(oPC))return;
|
|
|
|
if (oPCs>1) return;
|
|
|
|
if (GetLocalInt(oPC, "show_seen")==1)return;
|
|
|
|
if (GetItemPossessedBy(oPC, "show_ticket")!=OBJECT_INVALID)return;
|
|
|
|
SetLocalInt(oPC, "show_seen", 1);
|
|
|
|
CreateItemOnObject("show_ticket", oPC);
|
|
|
|
object oNPC = GetObjectByTag("love_npc");
|
|
object oArea = GetArea(oPC);
|
|
|
|
object oWP1 = GetWaypointByTag("pc_rug");
|
|
object oWP2 = GetWaypointByTag("npc_rug");
|
|
object oWP3 = GetWaypointByTag("show_face");
|
|
object oWP4 = GetWaypointByTag("rug_aim");
|
|
object oWP4a = GetWaypointByTag("rug_aim2");
|
|
object oWP5 = GetWaypointByTag("lake_wp");
|
|
object oWP6 = GetWaypointByTag("lake_wp1");
|
|
object oSource = GetObjectByTag("FireworksSource");
|
|
|
|
SetLocalInt(oMod, "chest_here", 0);
|
|
SetLocalInt(oSource,"FireworkCount", 0);
|
|
SetLocalInt(oMod, "one_only", 0);
|
|
|
|
GestaltStartCutscene(oPC, "",TRUE,TRUE,TRUE,TRUE,2);
|
|
GestaltCameraFade(0.0, oPC, FADE_IN,FADE_SPEED_SLOW);
|
|
|
|
|
|
|
|
DelayCommand(70.0, StartShow(oPC));
|
|
|
|
GestaltActionUnequip(0.0, oNPC, INVENTORY_SLOT_BOOTS);
|
|
|
|
GestaltFace(0.0, oPC, 0.0, 2, oWP6);
|
|
GestaltFace(0.0, oNPC, 0.0, 2, oWP5);
|
|
|
|
CSvoice(1.0, oNPC, 13);
|
|
CSvoice(2.5, oPC, 13);
|
|
|
|
GestaltSpeak(4.0, oNPC, "This is gonna be great!",
|
|
ANIMATION_FIREFORGET_VICTORY3);
|
|
GestaltSpeak(8.0, oPC, "Where are we?",
|
|
ANIMATION_LOOPING_LOOK_FAR, 4.0);
|
|
GestaltSpeak(12.0, oNPC, "You need to relax, "+GetName(oPC)+"! All that combat has got you uptight hasn't it! Do you really need that weapon?",
|
|
ANIMATION_LOOPING_TALK_PLEADING, 6.0);
|
|
CSvoice(14.0, oPC, 12);
|
|
CSvoice(18.0, oPC, 12);
|
|
GestaltSpeak(17.0, oPC, "I guess you're right....let me put this away",
|
|
ANIMATION_LOOPING_TALK_LAUGHING, 3.0);
|
|
GestaltActionUnequip(21.0, oPC, INVENTORY_SLOT_LEFTHAND);
|
|
GestaltActionUnequip(21.5, oPC, INVENTORY_SLOT_RIGHTHAND);
|
|
CSvoice(23.0, oNPC, 15);
|
|
GestaltSpeak(27.0, oNPC, "Come, I have a surprise for you!",
|
|
ANIMATION_NONE);
|
|
GestaltSpeak(30.0, oPC, "After you...",
|
|
ANIMATION_FIREFORGET_BOW);
|
|
GestaltActionMove(32.0,oNPC, oWP4, FALSE, 0.0, 0.0);
|
|
GestaltActionMove(32.5,oPC, oWP4a, FALSE, 0.0, 0.0);
|
|
|
|
GestaltSpeak(42.0, oNPC, "Take a seat, it's almost time!",
|
|
ANIMATION_NONE);
|
|
|
|
GestaltActionMove(42.1,oNPC, oWP2, FALSE, 0.0, 0.0);
|
|
GestaltActionMove(43.1,oPC, oWP1, FALSE, 0.0, 0.0);
|
|
|
|
GestaltFace(45.1, oNPC, 0.0, 2, oWP3);
|
|
GestaltFace(46.6, oPC, 0.0, 2, oWP3);
|
|
|
|
GestaltActionAnimate(47.0, oPC, ANIMATION_LOOPING_SIT_CROSS, 237.0);
|
|
|
|
GestaltSpeak(48.0, oPC, "Time?",
|
|
ANIMATION_NONE);
|
|
GestaltSpeak(52.0, oNPC, "There's going to be a lunar eclipse tonight....absolutely perfect for my surprise.....ok ready?",
|
|
ANIMATION_NONE);
|
|
GestaltSpeak(56.0, oPC, "Sure!",
|
|
ANIMATION_NONE);
|
|
GestaltSpeak(61.0, oNPC, "Ok...here goes...!",
|
|
ANIMATION_NONE);
|
|
|
|
GestaltActionSpellCast(63.0, oNPC, oWP3, SPELL_ISAACS_GREATER_MISSILE_STORM,
|
|
TRUE);
|
|
FWEffect(66.0, VFX_IMP_LIGHTNING_M, "show_face");
|
|
|
|
GestaltActionAnimate(67.0, oNPC, ANIMATION_LOOPING_SIT_CROSS, 400.0);
|
|
GestaltSpeak(68.0, oNPC, "That should do it! Now just sit back, relax and enjoy the show.",
|
|
ANIMATION_NONE);
|
|
|
|
CSvoice(75.0, oPC, 6);
|
|
CSvoice(76.0, oNPC, 6);
|
|
|
|
CSvoice(86.0, oPC, 6);
|
|
CSvoice(85.0, oNPC, 6);
|
|
|
|
CSvoice(140.0, oPC, 6);
|
|
CSvoice(141.0, oNPC, 6);
|
|
CSvoice(143.0, oPC, 12);
|
|
CSvoice(142.0, oNPC, 12);
|
|
|
|
CSvoice(189.0, oPC, 6);
|
|
CSvoice(188.0, oNPC, 6);
|
|
|
|
CSvoice(205.0, oPC, 6);
|
|
CSvoice(206.0, oNPC, 6);
|
|
CSvoice(207.0, oPC, 12);
|
|
CSvoice(208.0, oNPC, 12);
|
|
|
|
CSvoice(238.0, oPC, 12);
|
|
CSvoice(239.0, oNPC, 12);
|
|
CSvoice(240.0, oPC, 6);
|
|
CSvoice(241.0, oNPC, 6);
|
|
CSvoice(250.0, oPC, 12);
|
|
CSvoice(251.0, oNPC, 12);
|
|
|
|
|
|
GestaltSpeak(258.0, oPC, "WOW! That was intense!",
|
|
ANIMATION_NONE);
|
|
GestaltSpeak(261.0, oNPC, "I'm so glad you liked it!",
|
|
ANIMATION_NONE);
|
|
GestaltSpeak(264.0, oNPC, "Come back anytime. I'd love to watch it with you again.",
|
|
ANIMATION_NONE);
|
|
CSvoice(268.0, oPC, 10);
|
|
CSvoice(270.5, oNPC, 12);
|
|
CSvoice(272.5, oNPC, 10);
|
|
|
|
|
|
SetLocalFloat(oPC,"fCameraDirection",280.0);
|
|
SetLocalFloat(oPC,"fCameraRange",10.0);
|
|
SetLocalFloat(oPC,"fCameraPitch",70.0);
|
|
|
|
GestaltCameraMove (0.0,
|
|
280.0,10.0,70.0,
|
|
300.0,8.0,75.0,
|
|
10.0,30.0,oPC);
|
|
|
|
|
|
GestaltCameraMove (10.0,
|
|
300.0,8.0,75.0,
|
|
320.0,8.0,80.0,
|
|
3.0,30.0,oPC);
|
|
|
|
GestaltCameraMove (36.0,
|
|
320.0,8.0,80.0,
|
|
400.0,10.0,65.0,
|
|
4.0,30.0,oPC);
|
|
|
|
GestaltCameraMove (40.0,
|
|
400.0,10.0,65.0,
|
|
410.0,8.0,70.0,
|
|
4.0,30.0,oPC);
|
|
|
|
|
|
GestaltCameraMove (58.0,
|
|
410.0,8.0,70.0,
|
|
530.0,9.0,80.0,
|
|
6.0,30.0,oPC);
|
|
|
|
|
|
GestaltCameraMove (64.0,
|
|
530.0,9.0,80.0,
|
|
555.0,15.0,85.0,
|
|
6.0,30.0,oPC);
|
|
|
|
GestaltCameraMove (180.0,
|
|
555.0,15.0,85.0,
|
|
555.0,15.0,100.0,
|
|
20.0,30.0,oPC);
|
|
|
|
GestaltCameraMove (220.0,
|
|
555.0,15.0,100.0,
|
|
555.0,20.0,100.0,
|
|
6.0,30.0,oPC);
|
|
|
|
GestaltCameraMove (262.0,
|
|
555.0,20.0,100.0,
|
|
720.0,8.0,75.0,
|
|
12.0,30.0,oPC);
|
|
|
|
|
|
GestaltCameraFade (278.0, oPC, FADE_OUT, FADE_SPEED_SLOW);
|
|
GestaltStopCutscene (281.0, oPC);
|
|
}
|
|
|