summaryrefslogblamecommitdiff
path: root/npc/034-4/intro.txt
blob: 43692a371d118a3ed15b62cef87bad48da87b1e3 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11





                                               




                                                        
                                                                                                     

        
 




                                                        
                     












                                                                                
                                                             








                                                                     
                                                                         















                                                                                                





                                                                              





                                                                       
                             





                                                           
                             


















                                                                   








                                                        
 




                                                                   
                                                                    

        








                                                        
 
              






                                                                           
              
 
              





                                                                     
                                                                                     

        








                                                        
 
              

                                                                     

                                                                                

        




                                   
              






















                                                                         





                                                                              









                                                                      
 
// TMW2 scripts.
// Authors:
//    Jesusalva
// Description:
//    Gemini Sisters Quest - Part A: Party Room

034-4,43,52,0	script	#GeminiNoBack	NPC_HIDDEN,0,0,{
    end;
OnTouch:
    if (instance_id() < 0 || getcharid(1) < 1) end;
    GeminiCheck(8);
    npctalkonce l("Oh noes ─ the door is sealed! We can only press forward and failure is final!");
    end;
}

034-4,43,51,0	script	#GeminiIntro	NPC_HIDDEN,2,2,{
    end;
OnTouch:
    if (instance_id() < 0 || getcharid(1) < 1) end;
    GeminiCheck(8);
    .@p=getcharid(1);
    if (strcharinfo(0) != getpartyleader(.@p)) end;

    if (!.state) {
        .mp$ = getmap();
        .pn$ = getpartyname(getcharid(1));
        .pid = getcharid(1);
        .state = true;
        initnpctimer;
        killmonsterall(.mp$); // Cancel everything done thus far, incl. showdown
    }
    end;

OnTimer1000:
    .luvia = monster(.mp$, 48, 45, "Luvia Gemini", Luvia, 1);
    immortal(.luvia);
    setunitdata(.luvia, UDT_MODE, MD_BOSS|MD_PLANT|MD_NOKNOCKBACK);
    end;

OnTimer2500:
    unittalk(.luvia, "Well, well, well, look at what we have here!");
    end;

OnTimer6000:
    unittalk(.luvia, sprintf("If it isn't the so-called \"%s\"!", .pn$));
    end;

OnTimer9500:
    unittalk(.luvia, "I'm sure it was a long journey to reach here, and well, this IS an Inn.");
    end;


OnTimer13000:
    unittalk(.luvia, "Where are my manners, of course I'll offer you room to sleep...");
    end;


OnTimer16500:
    unittalk(.luvia, "...Yes, I'll put all of you to sleep... PERMANENTLY! Hahahaha!");
    .@pi = getmapusers(.mp$) + 2;
    areamonster(.mp$, 45, 40, 54, 45, strmobinfo(1, Scar), Scar, .@pi / 2);
    setunitdata(.luvia, UDT_MODE, MD_BOSS|MD_PLANT|MD_NOKNOCKBACK|MD_CANMOVE);
    unitwalk(.luvia, 51, 45);
    end;

OnTimer18000:
    unitwalk(.luvia, 51, 38);
    end;

OnTimer20000:
    .@pi = getmapusers(.mp$) + 1;
    areamonster(.mp$, 45, 40, 54, 45, strmobinfo(1, Scar), Scar, .@pi);
    unittalk(.luvia, "HAHAHahahaha!");
    unitwalk(.luvia, 50, 34);
    end;

OnTimer24000:
    .@pi = getmapusers(.mp$) + 1;
    monster(.mp$, 37, 33, strmobinfo(1, Scar), Scar, .@pi);
    monster(.mp$, 43, 52, strmobinfo(1, Scar), Scar, .@pi);
    unitwalk(.luvia, 50, 29);
    end;

OnTimer28000:
    .@pi = getmapusers(.mp$) + 1;
    monster(.mp$, 50, 29, strmobinfo(1, Scar), Scar, .@pi);
    unitwarp(.luvia, "034-4", 45, 45);
    end;

OnTimer25000:
    unitkill(.luvia);
    end;

OnTimer50000:
    .@pi = getmapusers(.mp$) + 1;
    monster(.mp$, 50, 29, strmobinfo(1, Scar), Scar, .@pi);
    monster(.mp$, 43, 52, strmobinfo(1, Scar), Scar, .@pi);
    monster(.mp$, 37, 33, strmobinfo(1, Scar), Scar, .@pi * 3 / 2);
    end;

// 1 minute

OnTimer110000:
    monster(.mp$, 50, 29, strmobinfo(1, Scar), Scar, 1);
    monster(.mp$, 43, 52, strmobinfo(1, Scar), Scar, 1);
    monster(.mp$, 37, 33, strmobinfo(1, Scar), Scar, 1);
    end;

// 40 seconds

OnTimer150000:
    .@pi = getmapusers(.mp$) + 1;
    monster(.mp$, 50, 29, strmobinfo(1, Scar), Scar, .@pi * 3 / 2);
    monster(.mp$, 43, 52, strmobinfo(1, Scar), Scar, .@pi);
    monster(.mp$, 37, 33, strmobinfo(1, Scar), Scar, .@pi);
    monster(.mp$, 43, 52, strmobinfo(1, BlackMamba), BlackMamba, 1);
    end;

// 1 minute

OnTimer210000:
    monster(.mp$, 50, 29, strmobinfo(1, Scar), Scar, 1);
    monster(.mp$, 43, 52, strmobinfo(1, Scar), Scar, 1);
    monster(.mp$, 37, 33, strmobinfo(1, Scar), Scar, 1);
    end;

// 1 minute

OnTimer270000:
    .@pi = getmapusers(.mp$) + 1;
    monster(.mp$, 50, 29, strmobinfo(1, Scar), Scar, .@pi * 3 / 2);
    monster(.mp$, 43, 52, strmobinfo(1, Scar), Scar, .@pi);
    monster(.mp$, 37, 33, strmobinfo(1, Scar), Scar, .@pi);
    monster(.mp$, 43, 52, strmobinfo(1, Terranite), Terranite, 1+(.@pi/2));
    end;

// 1.5 minutes

OnTimer360000:
    .@pi = getmapusers(.mp$) + 1;
    monster(.mp$, 50, 29, strmobinfo(1, Scar), Scar, 1+(.@pi/2));
    monster(.mp$, 43, 52, strmobinfo(1, Scar), Scar, 1+(.@pi/2));
    monster(.mp$, 37, 33, strmobinfo(1, Scar), Scar, 1+(.@pi/2));
    monster(.mp$, 50, 29, strmobinfo(1, Terranite), Terranite, .@pi);
    monster(.mp$, 43, 52, strmobinfo(1, Forain), Forain, .@pi);
    monster(.mp$, 37, 33, strmobinfo(1, AzulSkullSlime), AzulSkullSlime, 1+(.@pi/2));
    end;

// 1 minute

OnTimer420000:
    monster(.mp$, 50, 29, strmobinfo(1, Scar), Scar, 1);
    monster(.mp$, 43, 52, strmobinfo(1, Scar), Scar, 1);
    monster(.mp$, 37, 33, strmobinfo(1, Scar), Scar, 1);
    end;

// 1 minute

OnTimer480000:
    .@pi = getmapusers(.mp$) + 1;
    monster(.mp$, 50, 29, strmobinfo(1, Terranite), Terranite, .@pi);
    monster(.mp$, 43, 52, strmobinfo(1, BlackSlimeMother), BlackSlimeMother, 1);
    monster(.mp$, 37, 33, strmobinfo(1, BlackMamba), BlackMamba, .@pi + 4);
    end;

// +1 minute

// Bypass, or it'll take... a while
OnTimer40000:
    if (!$@GM_OVERRIDE) end;
OnTimer540000:
    .@pi = getmapusers(.mp$) + 1;
    monster(.mp$, 50, 29, strmobinfo(1, GoboBear), GoboBear, 1+(.@pi/2));
    $@VALIA_STATUS[.pid] = 10;
    stopnpctimer;
    end;

OnInit:
OnInstanceInit:
    .state = false;
    .mp$ = "";
    .pn$ = "";
    .pid = 0;
    .luvia = 0;
    end;
}


034-4,50,29,0	script	#GeminiPartB	NPC_HIDDEN,0,0,{
    end;
OnTouch:
    if (instance_id() < 0 || getcharid(1) < 1) end;
    GeminiCheck(8);
    .@p=getcharid(1);
    if ($@VALIA_STATUS[.@p] < 10) {
        dispbottom l("Uh? I can't pass. I wonder why, maybe I need to wait?");
        end;
    }
    if (mobcount(getmap(), "all") > 0) {
        dispbottom l("I should defeat all mobs before passing.");
        end;
    }
    if (mobcount(getmap(), "all") <= 0 && $@VALIA_STATUS[.@p] == 10) {
        $@VALIA_STATUS[.@p]=11;
    }
    if ($@VALIA_STATUS[.@p] >= 11) {
        slide 33, 81;
    }
    end;
}