// TMW2 scripts. // Author: // Jesusalva // Description: // Special Soul Menhir which only allows leaving the map. 001-11,37,31,0 script Soul Stone#001-11 NPC_SOUL_CLEAN,{ mesn; mes l("(A mystical aura surrounds this stone. It probably can return you home. What do you do?)"); if (is_staff()) mesc l("Current date: %d", numdate()), 9; if (numdate() < 20200214) mesc l("Additional Hunting Island will be released on Valentine Day!"); menu l("Touch it."), L_Warp, rif(!#VALENTINE_EQUIPMENT2020 && gettime(GETTIME_YEAR) == 2020, l("Obtain event equipment")), L_EVTC2020, rif($@GM_OVERRIDE && getusers(1) >= 6, l("Warp to a mirror island.")), L_WarpMirror, rif(numdate() >= 20200214, l("Warp to extra island!")), L_WarpEnchanted, l("Leave it alone."), -; close; L_Warp: warp "Save", 0, 0; close; L_WarpEnchanted: warp "001-12", 56, 20; close; // Done for multiple players // FIXME This obviously will not work L_WarpMirror: .@u=getusers(1); mesn; mes l("To which mirrored island you want to warp?"); .@i=0; .@dest$="Stay here"; // Create instances as needed while (.@i < .@u/6) { .@i+=1; .@dest$+=sprintf(":Mirror Island %d", .@i); if (!(getd("$@VALENTINE_MI"+.@i) && isinstance(getd("$@VALENTINE_MI"+.@i)))) { debugmes "Create Mirror Island %d", .@i; .@tmpist = instance_create("001-11@Mirror"+.@i, 0, IOT_NONE); instance_attachmap("001-11", .@tmpist, 0, "001-11@MI"+.@i); instance_set_timeout(1000000, 1000000, .@tmpist); instance_init(.@tmpist); setd("$@VALENTINE_MI"+.@i, .@tmpist); } } select .@dest$; if (@menu == 1) close; @menu-=1; warp "001-11@MI"+@menu, 38, 32; dispbottom l("Mirror Island %d", @menu); /* select rif(.@u >= 6, l("Mirror Island 1")), */ closeclientdialog; close; // Special labels L_EVTC2020: showavatar NPC_BARD_TRUMP; mes l("Welcome! Here to pick a weapon? You'll be able to select three skill cards as well."); next; inventoryplace NPCEyes, 4, Iten, 1, OolongTea, 3, SpearmintTea, 5, CrazyRum, 1, DwarvenSake, 3; mesc l("Are you sure you want to begin now? (Cannot be changed later)"), 1; next; if (askyesno() == ASK_NO) close; mes ""; mes l("Select your preferred play-style."); select l("A soldier, with a sword and a shield"), l("A warrior, with a long blade"), l("A ranger, with a powerful bow"), l("A wizard, with a might wand"); mes ""; #VALENTINE_EQUIPMENT2020=true; switch (@menu) { case 1: getitembound Event1HSword, 1, 1; getitembound any(RoundLeatherShield, LeatherShield), 1, 1; getitem FalkonCard, 1; break; case 2: getitembound Event2HSword, 1, 1; getitem FalkonCard, 1; Zeny+=150; break; case 3: getitembound EventBow, 1, 1; getitem ArrowShowerCard, 1; getitem TolchiAmmoBox, 5; // 1,000 arrows should be plenty break; case 4: getitembound EventWand, 1, 1; getitem FireballCard, 1; Zeny+=150; break; } // Get misc items getitem HealCard, 1; getitem OolongTea, 3; getitem SpearmintTea, 5; getitem CrazyRum, 1; getitem DwarvenSake, 3; // Ask for the skill set mes ""; mes l("Select a set of skills:"); select l("I need to survive anything!"), l("I need support magic!"), l("I need offensive magic!"), l("I need supreme warrior skills!"), l("I need supreme ranger skills!"); mes ""; switch (@menu) { case 1: // Survival Magic getitem LastStandCard, 1; getitem CowardCard, 1; break; case 2: // Support Magic getitem HighPriestCard, 1; getitem FullPowerCard, 1; break; case 3: // Offensive Magic getitem NatureWallCard, 1; getitem MagicalMVPCard, 1; break; case 4: // Warrior Magic getitem SupremeWarriorCard, 1; getitem VersatileCard, 1; break; case 5: // Ranger Magic getitem SupremeRangerCard, 1; getitem VersatileCard, 1; break; } mesn; mes l("And, that's all."); mesc l("Protip: You can trade the cards, but only before inserting them."), 9; mesc l("You can make any build you want! But inserted cards cannot be removed!"), 9; next; mesn; mes l("To insert a card, select the card and \"use\" it, or, drag and drop them to the weapon."); mesc l("You can only insert up to 3 (three) cards per weapon!"), 1; next; mesn; mes l("Event weapons and cards will be deleted once event ends."); close; OnInit: .distance = 5; end; }