// TMW2 Scripts // Author: // Jesusalva // Description: // Controls Forgotten Chamber // Main Controller for Instanced maps 018-6-2,0,0,0 script #01862_InstCtrl NPC_HIDDEN,{ end; // Map, x, y, width, height, mob, amount function AreaMonsterB { .@m$=getarg(0); .@x1=getarg(1); .@x2=.@x1+getarg(3); .@y1=getarg(2); .@y2=.@y1+getarg(4); .@mi=getarg(5); .@am=getarg(6); areamonster(.@m$, .@x1, .@y1, .@x2, .@y2, strmobinfo(1, .@mi), .@mi, .@am); //, instance_npcname(.name$)+"::OnKill"+.@mi); return; } // Level 40~50 (60 mobs) OnLevel1: killmonsterall(getmap()); AreaMonsterB(getmap(), 50, 20, 100, 140, Snake, 10); AreaMonsterB(getmap(), 50, 20, 100, 140, BlackSlime, 15); AreaMonsterB(getmap(), 50, 20, 100, 140, AlphaMouboo, 5); AreaMonsterB(getmap(), 50, 20, 100, 140, Wolvern, 5); AreaMonsterB(getmap(), 50, 20, 100, 140, DarkLizard, 15); AreaMonsterB(getmap(), 50, 20, 100, 140, BlackScorpion, 10); end; // Level 50~60 (55 mobs) OnLevel2: killmonsterall(getmap()); AreaMonsterB(getmap(), 50, 20, 100, 140, BlackScorpion, 15); AreaMonsterB(getmap(), 50, 20, 100, 140, DustRifle, 5); AreaMonsterB(getmap(), 50, 20, 100, 140, MountainSnake, 10); AreaMonsterB(getmap(), 50, 20, 100, 140, HoodedNinja, 10); AreaMonsterB(getmap(), 50, 20, 100, 140, FallenGuard2, 15); end; // Level 60~70 (50 mobs) + 10 passive OnLevel3: killmonsterall(getmap()); AreaMonsterB(getmap(), 50, 20, 100, 140, FallenGuard2, 10); AreaMonsterB(getmap(), 50, 20, 100, 140, WickedMushroom, 20); AreaMonsterB(getmap(), 50, 20, 100, 140, Archant, 20); AreaMonsterB(getmap(), 50, 20, 100, 140, Crafty, 10); end; // Level 60~100 (37 mobs) OnLevel4: killmonsterall(getmap()); AreaMonsterB(getmap(), 50, 20, 100, 140, Archant, 5); AreaMonsterB(getmap(), 50, 20, 100, 140, Forain, 15); AreaMonsterB(getmap(), 50, 20, 100, 140, GreenDragon, 7); AreaMonsterB(getmap(), 50, 20, 100, 140, Terranite, 5); AreaMonsterB(getmap(), 50, 20, 100, 140, GoboBear, 5); end; } ///////////////////////////// 018-6-0,90,67,0 script #ToForgottenShrine NPC_SUMMONING_CIRC,0,0,{ dispbottom l("It looks dangerous."); end; OnTouch: .@q=getq(LoFQuest_Barbara); .@q2=getq2(LoFQuest_Barbara); .@q3=getq3(LoFQuest_Barbara); if (.@q < 2 || (.@q2 == 2 && .@q3 != 7)) Exception("ERROR, YOU SHOULD NOT BEEN SEEING THIS. 018-6-1.TFC.INVALID", RB_DEFAULT|RB_ISFATAL); // Make the speech if (.@q == 2) { setq1 LoFQuest_Barbara, 3; setq3 LoFQuest_Barbara, 0; } // Execute the warp (randomly) if (any(true,false)) warp BarbaraInstCheck(3), 31, 151; else warp BarbaraInstCheck(3), 145, 26; end; OnInit: disablenpc .name$; end; OnInstanceInit: disablenpc instance_npcname(.name$); end; } ///////////////////////////// 018-6-0,90,90,0 script #FromEleniumMines NPC_SUMMONING_CIRC,0,0,{ dispbottom l("It should bring me back."); end; OnTouch: .@q=getq(LoFQuest_Barbara); if (.@q < 10) { warp BarbaraInstCheck(1), 83, 28; //warp BarbaraInstCheck(0), 90+any(-1, 1), 90+any(-1,1); } else { warp "018-6-1", 83, 28; } .alwaysVisible=true; end; } ///////////////////////////// 018-6-0,90,113,0 script #ToSouthHall NPC_SUMMONING_CIRC,0,0,{ dispbottom l("It looks dangerous."); end; OnTouch: .@q=getq(LoFQuest_Barbara); .@q2=getq2(LoFQuest_Barbara); .@q3=getq3(LoFQuest_Barbara); if (.@q == 2 && .@q3 == 3) { addtimer(100, "#01862_InstCtrl::OnLevel3"); enablenpc instance_npcname("#FromWestHall", .@q2); enablenpc instance_npcname("#FromEastHall", .@q2); warp BarbaraInstCheck(2), 90, 32; //warp BarbaraInstCheck(0), 90+any(-1, 1), 90+any(-1,1); } else { dispbottom l("I already visited this warp."); } end; OnInit: disablenpc .name$; end; OnInstanceInit: disablenpc instance_npcname(.name$); end; } ///////////////////////////// 018-6-0,67,90,0 script #ToWestHall NPC_SUMMONING_CIRC,0,0,{ dispbottom l("It looks dangerous."); end; OnTouch: .@q=getq(LoFQuest_Barbara); .@q2=getq2(LoFQuest_Barbara); .@q3=getq3(LoFQuest_Barbara); if (.@q != 2) { dispbottom l("I already visited this warp."); end; } // Check if quest must begin if (!(.@q3 & 1)) { // Monster control if (.@q3 & 2) addtimer(100, "#01862_InstCtrl::OnLevel2"); else addtimer(100, "#01862_InstCtrl::OnLevel1"); // Mark the quest in progress as WEST HALL, and warp setq3 LoFQuest_Barbara, .@q3|64; enablenpc instance_npcname("#FromSouthHall", .@q2); warp BarbaraInstCheck(2), 70, 150; } else { dispbottom l("I already visited this warp."); } end; OnInit: .alwaysVisible=true; disablenpc .name$; end; } ///////////////////////////// 018-6-0,113,90,0 script #ToEastHall NPC_SUMMONING_CIRC,0,0,{ dispbottom l("It looks dangerous."); end; OnTouch: .@q=getq(LoFQuest_Barbara); .@q2=getq2(LoFQuest_Barbara); .@q3=getq3(LoFQuest_Barbara); if (.@q != 2) { dispbottom l("I already visited this warp."); end; } // Check if quest must begin if (!(.@q3 & 2)) { // Monster control if (.@q3 & 1) addtimer(100, "#01862_InstCtrl::OnLevel2"); else addtimer(100, "#01862_InstCtrl::OnLevel1"); // Mark the quest in progress as EAST HALL, and warp setq3 LoFQuest_Barbara, .@q3|128; enablenpc instance_npcname("#FromSouthHall", .@q2); warp BarbaraInstCheck(2), 103, 156; } else { dispbottom l("I already visited this warp."); } end; OnInit: .alwaysVisible=true; disablenpc .name$; end; }