summaryrefslogblamecommitdiff
path: root/npc/034-4/intro.txt
blob: cf5ff2d23444aee50111d3fde59ead015501a5e6 (plain) (tree)
1
2
3
4
5
6





                                               







                                                                                
 




                                                        
                     












                                                                                
                                                             








                                                                     
                                                                         





















                                                                                                
                             





                                                           
                             


















                                                                   
                               
 




                                                                   
                                                                    

        

                          







                                                                           
            
 
              





                                                                     
                                                                                     

        

             
              





                                                                                   




                                   
              






















                                                                         





                                                                              









                                                                      
 
// 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!");
    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);
    end;

OnTimer20000:
    .@pi = getmapusers(.mp$) + 1;
    areamonster(.mp$, 45, 40, 54, 45, strmobinfo(1, Scar), Scar, .@pi);
    unittalk(.luvia, "HAHAHahahaha!");
    unitwalk(.luvia, 51, 38);
    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.75 minutes (should be OK?)

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;

// 2.5 minutes (too much?)

OnTimer300000:
    .@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;

// 2 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;

// +2 minutes

OnTimer480000:
    .@pi = getmapusers(.mp$) + 1;
    monster(.mp$, 50, 29, strmobinfo(1, Terranite), Terranite, .@pi);
    monster(.mp$, 43, 52, strmobinfo(1, BlackSlimeMother), BlackSlimeMother, .@pi);
    monster(.mp$, 37, 33, strmobinfo(1, BlackMamba), BlackMamba, .@pi + 1);
    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;
}