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