// TMW2 scripts. // Authors: // Jesusalva // Description: // Controlled Warp to Magic School (+whatever magic stuff we need to add later) 003-1,34,33,0 script #MagicSchoolGate1 NPC_HIDDEN,0,0,{ end; OnTouch: // Event Restrictions if (countitem(Event1HSword)+countitem(Event2HSword)+countitem(EventBow)+countitem(EventWand)+countitem(RentCart)) { mesc l("You cannot enter here while you have event weapons or a cart."), 1; close; } // TODO: Main Quest Event Control if (LUA_ASKED_TO_SAVE_PROFESSOR) { .@mapn$="0030@"+getcharid(0); // Instance doesn't exists if (!(isinstance(LUA_ASKED_TO_SAVE_PROFESSOR)) || instanceowner(LUA_ASKED_TO_SAVE_PROFESSOR) != getcharid(3)) { .@inst = instance_create("Academy "+getcharid(0), getcharid(3), IOT_CHAR); instance_attachmap("003-0", .@inst, false, .@mapn$); // Instance lasts 15 minutes instance_set_timeout(900, 900, .@inst); instance_init(.@inst); LUA_ASKED_TO_SAVE_PROFESSOR=.@inst; } warp .@mapn$, 48, 51; end; } /* if (countitem(JesusalvaGrimorium) <= 0 || MAGIC_LVL < 2) { slide 36, 39; percentheal -5, -10; dispbottom l("Powerful magic repels you away from this magic place!"); } */ warp "003-0", 48, 51; end; } function script SaggyInstCheck { .@house=getarg(0, true); .@q2=getq2(HurnscaldQuest_Sagratha); // Map name limit: 4 chars (sgt1) .@mapn$="sgt1@"+getcharid(0); .@map2$="sgt2@"+getcharid(0); if (!(isinstance(.@q2) && .@q2 != 0)) { .@inst = instance_create("Sagratha House "+getcharid(0), getcharid(3), IOT_CHAR); instance_attachmap("014-5-1", .@inst, false, .@mapn$); //instance_attachmap("015-8", .@inst, false, .@mapn$); instance_attachmap("015-8-1", .@inst, false, .@map2$); // Instance lasts one hour instance_set_timeout(3600, 3600, .@inst); instance_init(.@inst); setq2 HurnscaldQuest_Sagratha, .@inst; } // It broke if (getmapinfo(MAPINFO_SIZE_X, .@mapn$) <= 0) { setq2 HurnscaldQuest_Sagratha, 0; // Infinite Loop? return callfunc("SaggyInstCheck", .@house); } if (.@house) { return .@mapn$; } else { return .@map2$; } }