// TMW 2 Script // Author: // Jesusalva // Micksha // Description: // Controls jails and lockpicks // TODO: Spawn slime as players are warped, so they always have the chance // TODO: Stationary guards outside the cells (can be spawn with player) // We can set their speed to nil, after all. Make them all archers :3 042-3,0,0,0 script #KSlimeSpawn NPC_HIDDEN,{ end; OnKillSlime: .@label$=instance_npcname(.name$)+"::OnKillSlime"; if (@lockpicks) end; if (rand2(10000) > 1000) { getmapxy(.@m$, .@x, .@y, 0); .@mob=monster(.@m$, .@x, .@y, strmobinfo(1, CopperSlime), CopperSlime, .@label$); // This should wipe the monster experience value setunitdata(.@mob, UDT_LEVEL, BaseLevel); end; } @lockpicks=true; getitem Lockpicks, 1; getitem TreasureKey, 1; end; } // Lockpicks functions function script KamelotLockpick { // Args: x, y. Needs player attached .@x=getarg(0); .@y=getarg(1); mes l("A complex lock seems to be posing a threat to you."); next; mes l("But thanks to your %s skills, maybe you can pry this open.", thiefrank()); next; .@s=LockPicking(3, 5, false); // You broke free! if (.@s) { dispbottom l("You're finally free!"); slide .@x, .@y+1; @lockpicks=true; return; } // Give player a easy way to get lockpicks for this // (Overrides original .@x/.@y variables) if (!countitem(Lockpicks)) { @lockpicks=false; getmapxy(.@m$, .@x, .@y, 0); .@mob=monster(.@m$, .@x, .@y, strmobinfo(1, CopperSlime), CopperSlime, .@label$); // This should wipe the monster experience value setunitdata(.@mob, UDT_LEVEL, BaseLevel); } return; } // Cell Doors 042-3,33,135,0 script Cell Door#K01 NPC_NO_SPRITE,{ KamelotLockpick(.x, .y); close; OnInit: OnInstanceInit: .distance=1; end; } // Duplication of doors 042-3,84,127,0 duplicate(Cell Door#K01) Cell Door#K02 NPC_NO_SPRITE 042-3,41,119,0 duplicate(Cell Door#K01) Cell Door#K03 NPC_NO_SPRITE 042-3,74,107,0 duplicate(Cell Door#K01) Cell Door#K04 NPC_NO_SPRITE 042-3,36,96,0 duplicate(Cell Door#K01) Cell Door#K05 NPC_NO_SPRITE 042-3,57,84,0 duplicate(Cell Door#K01) Cell Door#K06 NPC_NO_SPRITE 042-3,79,63,0 duplicate(Cell Door#K01) Cell Door#K07 NPC_NO_SPRITE 042-3,43,67,0 duplicate(Cell Door#K01) Cell Door#K08 NPC_NO_SPRITE 042-3,24,67,0 duplicate(Cell Door#K01) Cell Door#K09 NPC_NO_SPRITE 042-3,86,22,0 duplicate(Cell Door#K01) Cell Door#K10 NPC_NO_SPRITE 042-3,59,49,0 duplicate(Cell Door#K01) Cell Door#K11 NPC_NO_SPRITE 042-3,38,27,0 duplicate(Cell Door#K01) Cell Door#K12 NPC_NO_SPRITE