diff options
-rw-r--r-- | db/constants.conf | 1 | ||||
-rw-r--r-- | npc/014-4/kamelot.txt | 3 | ||||
-rw-r--r-- | npc/042-0/arthur.txt | 45 |
3 files changed, 48 insertions, 1 deletions
diff --git a/db/constants.conf b/db/constants.conf index bf351bb0b..fac3bb89a 100644 --- a/db/constants.conf +++ b/db/constants.conf @@ -4375,6 +4375,7 @@ constants_db: { FX_MAGIC: 23 FX_SUCCESS: 27 FX_FAILURE: 28 + FX_CUPID: 34 FX_SMOKE: 50 FX_GRENADE: 51 FX_SMOKEBOMB: 52 diff --git a/npc/014-4/kamelot.txt b/npc/014-4/kamelot.txt index bd271a161..b95d4b720 100644 --- a/npc/014-4/kamelot.txt +++ b/npc/014-4/kamelot.txt @@ -43,7 +43,8 @@ OnTouch: // Save your GID for reference .@g=getcharid(2); - // TODO: Cooldown expired? Defeat artifact? + // TODO: Quest started, Cooldown expired + // Needs to cleanup - wipe all variables // Quest already started if ($KAMELOT_QUEST[.@g] & 1) { diff --git a/npc/042-0/arthur.txt b/npc/042-0/arthur.txt index 78894ad14..fefdf434b 100644 --- a/npc/042-0/arthur.txt +++ b/npc/042-0/arthur.txt @@ -4,14 +4,28 @@ // 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: npctalk l("Don't bore me."); 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_Refusal: mesc l("This man is THE LEGENDARY KING ARTHUR!"); @@ -19,6 +33,37 @@ L_Refusal: mesc l("I better leave talking to him to the guild Vice Leaders and Master."); 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; + OnInit: .distance=4; .sex=G_MALE; |