summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/constants.conf1
-rw-r--r--npc/014-4/kamelot.txt3
-rw-r--r--npc/042-0/arthur.txt45
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;