summaryrefslogblamecommitdiff
path: root/npc/034-2/gemini.txt
blob: ca8a3ae3072029ae66eff6030a340a285e2b0a6e (plain) (tree)




















                                                        

                                  





































                                                                                        
                                                         









                                                           

                                   































































                                                                                                         
                                                       




















                                                                                     
// TMW2 scripts.
// Authors:
//    Jesusalva
// Description:
//    Gemini Sisters Quest - Bandit Den

034-2,24,60,0	script	#GeminiBack1	NPC_HIDDEN,0,0,{
    end;
OnTouch:
    if (instance_id() < 0 || getcharid(1) < 1) end;
    GeminiCheck(6);
    .@p=getcharid(1);
    warp "val1@"+.@p, 169, 25;
    end;
}

034-2,37,24,0	script	#GeminiExit3	NPC_HIDDEN,0,0,{
    end;
OnTouch:
    if (instance_id() < 0 || getcharid(1) < 1) end;
    GeminiCheck(7);
    .@p=getcharid(1);
    if ($@VALIA_STATUS[.@p] < 8) {
        dispbottom l("One of the bandits locked this door; We need to find the key!");
        end;
    }
    .@p=getcharid(1);
    warp "val3@"+.@p, 23, 51;
    end;
}

// Ambush
034-2,29,73,0	script	#GeminiDen1	NPC_HIDDEN,0,0,{
    end;
OnTouch:
    if (instance_id() < 0 || getcharid(1) < 1) end;
    GeminiCheck(6);
    // TODO: areasc... stun ... etc.
    .@c=getunits(BL_PC, .@mbs, false, getmap(), 23, 67, 32, 74);
    for (.@i = 0; .@i < .@c; .@i++) {
        sc_start(SC_STUN, 15000, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, .@mbs[.@i]);
        specialeffect(FX_CRITICAL, AREA, .@mbs[.@i]);
    }
    .@p=getcharid(1);
    .@m$=getmap();
    .@b1=monster(.@m$, 30, 70, "Bandit A", Bandit, 1);
    .@b2=monster(.@m$, 32, 71, "Bandit B", RobinBandit, 1);
    immortal(.@b1);
    immortal(.@b2);
    sc_start(SC_STUN, 12000, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, .@b1);
    sc_start(SC_STUN, 12000, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, .@b2);
    // Begin cutscene
    sleep2(2000); // 13 s
    unittalk(.@b1, "Did you think you could sneak in our den without a problem?");
    sleep2(2000); // 11s
    unittalk(.@b2, "Haha, we caught them, n00bs!");
    sleep2(3000); // 8s
    unittalk(.@b1, "Drop your weapons, and come with us!");
    sleep2(3000); // 5s
    unittalk(.@b2, "Ahaha, that was easy! Ok, knock them out!");
    sleep2(3000); // 2s
    areawarp(.@m$, 23, 67, 32, 77, .@m$, 30, 92, 33, 95);
    unitwalk(.@b1, 37, 90);
    unitwalk(.@b2, 37, 90);
    sleep2(2000);
    // Get them... wherever
    unitwarp(.@b1, "034-2", 37, 90);
    unitwarp(.@b2, "034-2", 37, 90);
    unitkill(.@b1);
    unitkill(.@b2);
    areawarp(.@m$, 30, 92, 33, 95, .@m$, 57, 101, 66, 104);
    // First ambush, set some stuff up
    if ($@VALIA_STATUS[.@p] == 6) {
        $@VALIA_STATUS[.@p]=7;

        .@mob=monster("val2@"+.@p, 57, 104, strmobinfo(1, CopperSlime), CopperSlime, 1, "Valia::OnKey1");
        setunitdata(.@mob, UDT_LEVEL, 1);
        .@mob=monster("val2@"+.@p, 61, 104, strmobinfo(1, CopperSlime), CopperSlime, 1, "Valia::OnKey2");
        setunitdata(.@mob, UDT_LEVEL, 1);
        .@mob=monster("val2@"+.@p, 66, 104, strmobinfo(1, CopperSlime), CopperSlime, 1, "Valia::OnKey3");
        setunitdata(.@mob, UDT_LEVEL, 1);

        monster("val2@"+.@p, 47, 72, strmobinfo(1, BanditLord), BanditLord, 1, "Valia::OnLord");
        monster("val2@"+.@p, 85, 106, strmobinfo(1, BanditLord), BanditLord, 1, "Valia::OnLord");
        monster("val2@"+.@p, 58, 45, strmobinfo(1, BanditLord), BanditLord, 1, "Valia::OnLord");
        monster("val2@"+.@p, 40, 42, strmobinfo(1, BanditLord), BanditLord, 1, "Valia::OnLord");

        monster("val2@"+.@p, 47, 25, strmobinfo(1, RedSlimeMother), RedSlimeMother, 1);
    }
    end;
}


// Cell Doors
034-2,58,100,0	script	Cell Door#G01	NPC_NO_SPRITE,{
    if (instance_id() < 0 || getcharid(1) < 1) end;
    GeminiCheck(7);
    mes l("A complex lock seems to be posing a threat to you.");
    mes l("But thanks to your %s skills, maybe you can pry this open.", thiefrank());
    next;
    .@s=LockPicking(3, 3, false);
    // You broke free!
    if (.@s) {
        slide .x, 98;
        closeclientdialog;
        end;
    }
    @lockpicks=false;
    mes l("What's this dark magic, the password has changed!");
    close;
OnInit:
OnInstanceInit:
    .distance=2;
    end;
}

034-2,62,100,0	script	Cell Door#G02	NPC_NO_SPRITE,{
    if (instance_id() < 0 || getcharid(1) < 1) end;
    GeminiCheck(7);
    mes l("A complex lock seems to be posing a threat to you.");
    mes l("But thanks to your %s skills, maybe you can pry this open.", thiefrank());
    next;
    .@s=LockPicking(3, 3, false);
    // You broke free!
    if (.@s) {
        slide .x, 98;
        closeclientdialog;
        end;
    }
    @lockpicks=false;
    mes l("What's this dark magic, the password has changed!");
    close;
OnInit:
OnInstanceInit:
    .distance=2;
    end;
}

034-2,64,100,0	script	Cell Door#G03	NPC_NO_SPRITE,{
    if (instance_id() < 0 || getcharid(1) < 1) end;
    GeminiCheck(7);
    mes l("A complex lock seems to be posing a threat to you.");
    mes l("But thanks to your %s skills, maybe you can pry this open.", thiefrank());
    next;
    .@s=LockPicking(3, 3, false);
    // You broke free!
    if (.@s) {
        slide .x, 98;
        closeclientdialog;
        end;
    }
    @lockpicks=false;
    mes l("What's this dark magic, the password has changed!");
    close;
OnInit:
OnInstanceInit:
    .distance=2;
    end;
}