summaryrefslogblamecommitdiff
path: root/npc/functions/instances.txt
blob: 86d08d0a581c2bd97c69f9519dc42ec223d0cb2d (plain) (tree)
1
2
3
4
5
6
7
8
9
10





                                                              
                                                    


                      

              
              


                                                                      
                             
                                                                           
            
                                                                       
                                                                                 
                                                                                              

                                                                                 
                                                                                              
 








                                                                    






















                                                                    


                                  
                                                                   
                                                                   


                                                           

                                                                   



                                                                   
                                                                   


                                                           

                                                                   

                                                           
 





                                                                                                                                        
                                            

        

           
                                                                                                
                                                         
        
 
 
 
// TMW2 scripts.
// Authors:
//    Jesusalva
// Description:
//    Controls global instances and reset them when they break

-	script	#GlobalInstanceCore	NPC_HIDDEN,{
OnInit:
    .CANDOR_INSTID=-1;
    end;

OnInterIfInit:
OnInstRestart:
    /* Nard's Ship */
    // Candor Instance (we do all tests for debugmes here)
    .CANDOR_INSTID = instance_create("002-1@CandorInst", 0, IOT_NONE);
    if (.CANDOR_INSTID < 0) {
        Exception("CANDY Instance ID failed", RB_DEBUGMES|RB_IRCBROADCAST);
    } else {
        //debugmes("created new instance id: %s", str(.CANDOR_INSTID));
        .CANDOR1$=instance_attachmap("002-1", .CANDOR_INSTID, 0, "002-1@Candor");
        if (.CANDOR1$ == "") Exception("Map 002-1 CANDY failed", RB_DEBUGMES|RB_IRCBROADCAST);

        .CANDOR3$=instance_attachmap("002-3", .CANDOR_INSTID, 0, "002-3@Candor");
        if (.CANDOR3$ == "") Exception("Map 002-3 CANDY failed", RB_DEBUGMES|RB_IRCBROADCAST);

        debugmes "Nard's Ship in Candor instance is set.";
        instance_set_timeout(1000000, 1000000, .CANDOR_INSTID);
        instance_init(.CANDOR_INSTID);
    }

    // Tulim Instance
    .TULIM_INSTID = instance_create("002-1@TulimInst", 0, IOT_NONE);
    instance_attachmap("002-1", .TULIM_INSTID, 0, "002-1@Tulim");
    instance_attachmap("002-3", .TULIM_INSTID, 0, "002-3@Tulim");
    instance_set_timeout(1000000, 1000000, .TULIM_INSTID);
    instance_init(.TULIM_INSTID);


    /* La Marine's Ship */
    // Tulim Instance
    .TULIM_INSTID = instance_create("016-1@TulimInst", 0, IOT_NONE);
    instance_attachmap("016-1", .TULIM_INSTID, 0, "016-1@Tulim");
    instance_set_timeout(1000000, 1000000, .TULIM_INSTID);
    instance_init(.TULIM_INSTID);

    // Hurns Instance
    .HURNS_INSTID = instance_create("016-1@HurnsInst", 0, IOT_NONE);
    instance_attachmap("016-1", .HURNS_INSTID, 0, "016-1@Hurns");
    instance_set_timeout(1000000, 1000000, .HURNS_INSTID);
    instance_init(.HURNS_INSTID);

    // Nivalis Instance
    .NIVAL_INSTID = instance_create("016-1@NivalInst", 0, IOT_NONE);
    instance_attachmap("016-1", .NIVAL_INSTID, 0, "016-1@Nival");
    instance_set_timeout(1000000, 1000000, .NIVAL_INSTID);
    instance_init(.NIVAL_INSTID);



    /* Heroes Hold Main Dungeon */
    $@HHMD_INSTID1 = instance_create("018-2-2@HHMD1", 0, IOT_NONE);
    instance_attachmap("018-2-2", $@HHMD_INSTID1, 0, "018-2-2@No");
    instance_set_timeout(1000000, 1000000, $@HHMD_INSTID1);
    instance_init($@HHMD_INSTID1);

    $@HHMD_INSTID2 = instance_create("018-2-3@HHMD2", 0, IOT_NONE);
    instance_attachmap("018-2-3", $@HHMD_INSTID2, 0, "018-2-3@In");
    instance_set_timeout(1000000, 1000000, $@HHMD_INSTID2);
    instance_init($@HHMD_INSTID2);

    $@HHMD_INSTID4 = instance_create("018-2-2@HHMD4", 0, IOT_NONE);
    instance_attachmap("018-2-2", $@HHMD_INSTID4, 0, "018-2-2@Ad");
    instance_set_timeout(1000000, 1000000, $@HHMD_INSTID4);
    instance_init($@HHMD_INSTID4);

    $@HHMD_INSTID8 = instance_create("018-2-3@HHMD8", 0, IOT_NONE);
    instance_attachmap("018-2-3", $@HHMD_INSTID8, 0, "018-2-3@Ex");
    instance_set_timeout(1000000, 1000000, $@HHMD_INSTID8);
    instance_init($@HHMD_INSTID8);

    $@HHMD_INSTID16 = instance_create("018-2-5@HHMD16", 0, IOT_NONE);
    instance_attachmap("018-2-5", $@HHMD_INSTID16, 0, "018-2-5@Ma");
    instance_set_timeout(1000000, 1000000, $@HHMD_INSTID16);
    instance_init($@HHMD_INSTID16);

    debugmes("The HHMD level IDs are: %d-%d-%d-%d-%d", $@HHMD_INSTID1, $@HHMD_INSTID2, $@HHMD_INSTID4, $@HHMD_INSTID8, $@HHMD_INSTID16);
    donpcevent "#HH_CONTROLLER01::OnHHInit";
    end;

OnMinute18:
OnMinute47:
    if (!isinstance(.HURNS_INSTID) || !isinstance(.NIVAL_INSTID) || !isinstance($@HHMD_INSTID1))
        donpcevent("#GlobalInstanceCore::OnInstRestart");
    end;

}