summaryrefslogblamecommitdiff
path: root/npc/019-2/guards.txt
blob: 3f7e350cce291321dffac6005b0e8e8d1a8c9a38 (plain) (tree)
1
2
3
4
5
6
7
8
9




                     

                                 

                                                    

                              


                                                                             

                               
                                      
                                           

                                            
              
                                                               

                                                   



                                                                                                                     




                         
                              
                             





                        



















                                                         



                                                                                              
                                                    


                                            
                                

                                                                        
                     
                                                                  
                                              
                                                
     


          

                                                               












                                                                        


          
                                             
             
                                                                                                                                

             
                                                                                                          










                                                                            
          
 



                                                               




                                                                                                               


          


                                             


                  



                     


                                                         

        






                                                                                                           




                                                                                                  
            
                       
            
                                    
                                     
                                                 
        

 
// TMW2 scripts.
// Authors:
//    Jesusalva
// Description:
//    Protect Nivalis
//    Q_NivalisLibday
//    Day, Score, Temporary Time;

019-2,44,54,0	script	Guard#019-2.1	NPC_GUARD1,{
    .@q=getq(Q_NivalisLibday);

    if ($NIVALIS_LIBDATE) {
        mesn;
        mesq l("Nivalis was liberated @@ ago.", FuzzyTime($NIVALIS_LIBDATE));
        close;
    } else if ($NLIB_DAY > 0) {
        if ($NLIB_DAY >= 7) goto L_MK;
        if (.@q == $NLIB_DAY) goto L_Delay;
        if (BaseLevel < 30) goto L_Noob;
        if (BaseLevel >= 30) goto L_Veteran;
        close;
    } else if (is_admin()) { // NOTE: This is an override label
        mesc "Initiate Nivalis Liberation Day?", 1;
        mesc "Event will last 7 days.", 1;
        if ($NLIB_SEQDAY)
            mesc "The event is currently set to happen in "+($NLIB_SEQDAY-gettimeparam(GETTIME_DAYOFMONTH))+" days.";
        else
            mesc b("Liberation Day is NOT scheduled to happen."), 1;
        select
            "Not yet.",
            "Yes",
            "No";
        if (@menu == 2) {
            closeclientdialog;
            goto OnNLibStart;
        }
        close;
    } else {
        legiontalk; end;
    }
    end;

OnNLibStart:
    addmapmask "019-3", MASK_MATTACK;
    $NLIB_DAY=1;
    $NLIB_HIGHTIME=0;
    $NLIB_HIGHNAME$="";
    setmapflagnosave("019-3", "000-1", 22, 22);
    setmapflagnosave("020-1", "000-1", 22, 22);
    setmapflagnosave("023-2", "000-1", 22, 22);
    setmapflag("019-3",mf_bexp,25);
    setmapflag("020-1",mf_bexp,150);
    disablenpc "#019-1_70_21";
    disablenpc "#019-2_37_55";
    disablenpc "#020-1_70_128";
    disablenpc "#020-1_107_55";
    enablenpc "Lightbringer#NLib";
    kamibroadcast("Nivalis Liberation Day has started.");
    $NLIB_SEQDAY=false;
    end;

// Event Selectors
L_Noob:
    mesn;
    mesq l("Hey, you! We need help to get rid from some remaining monsters at Nivalis City.");
    mesq l("No need to kill the Fluffies, though.");
    next;
    mesn;
    mesq l("Are you up for the challenge?");
    if (askyesno() == ASK_YES) {
        // Begin quest. Logout/Death will cause loss of the current day.
        setq1 Q_NivalisLibday, $NLIB_DAY;
        @nlib_wave=0;
        @nlib_time=300; // This makes sure that wave 1 will start.
        addtimer(5000, "#NLib_Siege::OnLoop");
        warp "020-1", rand(69,82), rand(78, 91);
    }
    close;

L_Veteran:
    mesn;
    mesq l("Hey, you! We need help to find the Monster King.");
    next;
    mesn;
    mesq l("Could you head deep in the woods and track him down?");
    if (askyesno() == ASK_YES) {
        // Control if you already found the Monster King
        @QNL3=0;
        // Begin quest. Logout/Death will cause loss of the current day.
        setq1 Q_NivalisLibday, $NLIB_DAY;
        setq3 Q_NivalisLibday, gettimetick(2);
        warp "019-3", any(128, 129, 130, 131, 132), any(24, 25, 26, 27);
        doevent("Guard#019-3.1::OnBegin");
        closedialog;
    }
    close;

L_MK:
    if (gettime(3) != 18 && !$@GM_OVERRIDE) {
        mesn;
        mesq l("Today at 18:30 UTC we are going to attack the Monster King by surprise. There will be no delays, so be there.");
    } else {
        mesn;
        mesq l("Do you want to go against the Monster King now? The event will start 18:30 UTC sharply.");
        if (askyesno() == ASK_YES) {
            // Control if you already found the Monster King
            @QNL3=0;
            // Begin quest. Logout/Death will cause loss of the current day.
            setq1 Q_NivalisLibday, $NLIB_DAY;
            setq3 Q_NivalisLibday, gettimetick(2);
            warp "019-3", any(128, 129, 130, 131, 132), any(24, 25, 26, 27);
            doevent("Guard#019-3.1::OnAdvise");
            closedialog;
        }
    }
    close;

// Misc
L_Delay:
    mesn;
    mesq l("You already helped us today. Come back tomorrow.");
    next;
    mesc l("Do you want to cross to the other side? You'll need to find the sea to return here if you do."), 1;
    next;
    if (askyesno() == ASK_YES)
        warp "019-1", 70, 30;
    close;

OnInit:
    if ($NLIB_DAY)
            addmapmask "019-3", MASK_MATTACK;

    .sex = G_MALE;
    .distance = 5;
    end;

OnHour00:
    if ($NLIB_DAY)
        $NLIB_DAY+=1;
    // Begin Nivalis Liberation Day
    if ($NLIB_SEQDAY == gettimeparam(GETTIME_DAYOFMONTH))
        goto OnNLibStart;
    end;

OnClock1800:
    if ($NLIB_DAY == 7) {
        kamibroadcast("All players, Nivalis Liberation Day starting in ##Bhalf hour##b.");
        kamibroadcast("Failing this event will change the game world FOREVER and in an IRREVERSIBLE way.");
    }
    end;

OnClock1825:
    if ($NLIB_DAY == 7)
        announce "All players, Nivalis Liberation Day starting in five minutes.", bc_all | bc_npc;
    end;

OnClock1830:
    if ($NLIB_DAY != 7)
        end;
    setmapflag("023-2",mf_bexp,200);
    setmapflag("023-2",mf_nopenalty);
    donpcevent("The Monster King#NLib::OnBegin");
    end;
}