// TMW2 Scripts
// Author:
// The Mana World Brazil
// Jesusalva
// Description:
// Traps and other functions.
// SteelTrap( {damage=80%}, {delay=15s}, {stun=3s}, {npcname=auto} )
function script SteelTrap {
.@dmg=getarg(0, 80);
.@delay=getarg(1, 15);
.@stun=getarg(2, 3);
.@n$=getarg(3, strnpcinfo(0));
// It was disarmed
if (getnpctimer(0) == 0)
{
initnpctimer;
setnpcdisplay .@n$, NPC_TRAP_ONLINE;
return;
}
// Fire!!
setnpctimer 9000;
setnpcdisplay .@n$, NPC_TRAP_TRIGGERED;
// Boom - Hurt players and/or stun monsters
// This means you can - and SHOULD - lead Forains into these traps
if (playerattached())
{
percentheal -(.@dmg), 0;
}
else
{
.@stun*=1000;
sc_start SC_WALKSPEED,(.@delay*1000),60;
sc_start SC_STUN,rand(.@stun,.@stun*3),0;
}
// A minor special effect and we're done.
specialeffect 11;
return;
}
// Unlike SteelTrap, presents same behavior and absolute damage
// IronTrap( {damage=100}, {delay=15s}, {stun=3s}, {npcname=auto} )
function script IronTrap {
.@dmg=getarg(0, 100);
.@delay=getarg(1, 15);
.@stun=getarg(2, 3);
.@n$=getarg(3, strnpcinfo(0));
// It was disarmed
if (getnpctimer(0) == 0 && .@delay)
{
initnpctimer;
setnpcdisplay .@n$, NPC_TRAP_ONLINE;
return;
}
// Fire!!
setnpctimer 9000;
setnpcdisplay .@n$, NPC_TRAP_TRIGGERED;
// Boom - Hurt and Stun (only works on players and mobs)
.@stun*=1000;
sc_start SC_STUN, rand2(.@stun,.@stun*3), 0;
.@gid=(playerattached() ? playerattached() : mobattached());
// Just to be sure
if (.@gid)
harm(.@gid, .@dmg, HARM_MISC);
else
Exception("IronTrap \""+.@n$+"\" called without GID!", RB_DEBUGMES);
// A minor special effect and we're done.
specialeffect 11;
return;
}