// 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; // Replaced SC_STUN with something else, which is not SC_Start* controlled // But basically, SC_STUN causes lag in M+ because the client is dumb sc_start2 SC_QUAGMIRE, rand2(.@stun,.@stun*3), 20000, 20000; .@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; }