// TMW 2 Script // Author: // Jesusalva // Micksha // Description: // Part of Kamelot Guild Dungeon // TODO: Random guard (Tezer) on the cursed soldier statues (easter egg) 042-0,58,28,0 script King Arthur NPC_KING_ARTHUR,{ .@g=getcharid(2); .@pos=getguildrole(.@g, getcharid(3)); if (.@pos > GPOS_VICELEADER) goto L_Refusal; if (!$KAMELOT_COOLDOWN[.@g]) goto L_Tutorial; if ($KAMELOT_QUEST[.@g] & 1) goto L_Progress; goto L_Prologue; L_Prologue: mesn l("King Arthur the Micksha"); mes l("Hello Adventurer."); next; mesn l("King Arthur the Micksha"); mes l("So good you are here. We have a huge problem."); next; npctalk l("JAIL THEM!!"); mesn l("King Arthur the Corrupted"); mes col(l("JAIL THEM!!"), 9)+l(" -- No, wait!"); next; select l("What is going on here?"), l("Your problems are not mine. By the way, you really should consider taking a shower."), l("You are weird, I have to go, sorry."); mes ""; switch (@menu) { case 1: goto L_Quest; case 2: if (any(true, true, true, true, false)) goto L_Smash; else goto L_Annoyed; case 3: if (!any(true, true, true, true, false)) goto L_Smash; else goto L_Annoyed; } close; L_Quest: goto L_Annoyed; // TODO close; ////////////////////////////////////////////////////////////////////////// // King manages to control himself L_Annoyed: npctalk l("Don't bore me."); closeclientdialog; close; // King loses his coolness. L_Smash: npctalk l("MEEEEEERLIN!!! SMASH THEM!!"); maptimer(getmap(), 300, instance_npcname(.name$)+"::OnPreSmash"); closeclientdialog; close; OnPreSmash: specialeffect FX_CUPID, AREA, getcharid(3); addtimer(380, instance_npcname(.name$)+"::OnPreSmash"); end; OnSmash: percentheal -100, -100; end; ////////////////////////////////////////////////////////////////////////// L_Progress: // TODO: Victory // TODO: Cooldown | if ($KAMELOT_COOLDOWN[.@g] == gettimeparam(GETTIME_WEEKDAY)) npctalk l("What are you still doing here?! GO!!"); mes l("Read tutorial again?"); next; if (askyesno() == ASK_YES) goto L_Tutorial; close; ////////////////////////////////////////////////////////////////////////// L_Tutorial: // Update variable if ($KAMELOT_COOLDOWN[.@g] != gettimeparam(GETTIME_WEEKDAY)) $KAMELOT_COOLDOWN[.@g]=gettimeparam(GETTIME_WEEKDAY)-1; mes b(".:: KAMELOT CASTLE ::."); mes "The Guild Dungeon of Kamelot Castle"; mes ""; mes l("Kamelot Castle is a GUILD DUNGEON which refreshes WEEKLY."); mes l("Only the Guild Master and the Vice Leaders are capable of starting this quest."); next; mes l("An unlimited number of members can join."); mes l("Once the quest is started, entrance will be closed."); mes l("No one can go out during the quest, so ensure every guild member has proper equipment, potions, and time for this dungeon."); next; mes l("Additionaly, for the optimal experience, ensure your party has at least the following members:"); mes ""; mes l("* Thief"); mes l("* Mage"); next; mes b(".:: VICTORY REWARDS ::."); mes l("Victory prizes include guild experience, guild money, and guild bound items."); mes ""; mes b(".:: DEFEAT PENALTIES ::."); mes l("If your guild is defeat during the quest, you'll need to wait the weekly cooldown to expire."); mes ""; mes "----------------- by Lancelot"; next; clear; if ($KAMELOT_QUEST[.@g] & 1) goto L_Progress; goto L_Prologue; ////////////////////////////////////////////////////////////////////////// L_Refusal: mesc l("This man is THE LEGENDARY KING ARTHUR!"); mes ""; mesc l("I better leave talking to him to the guild Vice Leaders and Master."); close; OnInit: .distance=4; .sex=G_MALE; npcsit; end; OnInstanceInit: .distance=4; .sex=G_MALE; npcsit; end; }