summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/019-2/guards.txt26
-rw-r--r--npc/019-3/guards.txt11
-rw-r--r--npc/023-2/mk.txt101
3 files changed, 132 insertions, 6 deletions
diff --git a/npc/019-2/guards.txt b/npc/019-2/guards.txt
index 8a37d468d..8e0c74447 100644
--- a/npc/019-2/guards.txt
+++ b/npc/019-2/guards.txt
@@ -75,9 +75,25 @@ L_Veteran:
close;
L_MK:
- mesn;
- mesq l("Today at 16:30 UTC we are going to attack the Monster King by surprise. There will be no delays, so be there.");
+ if (gettime(3) != 18) {
+ mesn;
+ mesq l("Today at 16:30 UTC we are going to attack the Monster King by surprise. There will be no delays, so be there.");
+ } else {
+ mesn;
+ mesq l("Do you want to go against the Monster King now? The event will start 16:30 UTC sharply.");
+ if (askyesno() == ASK_YES) {
+ // Control if you already found the Monster King
+ @QNL3=0;
+ // Begin quest. Logout/Death will cause loss of the current day.
+ setq1 Q_NivalisLibday, $NLIB_DAY;
+ setq3 Q_NivalisLibday, gettimetick(2);
+ warp "019-3", any(128, 129, 130, 131, 132), any(24, 25, 26, 27);
+ doevent("Guard#019-3.1::OnAdvise");
+ closedialog;
+ }
+ }
close;
+
// Misc
L_Delay:
mesn;
@@ -97,10 +113,16 @@ OnHour00:
$NLIB_DAY+=1;
end;
+OnClock1825:
+ if ($NLIB_DAY == 7)
+ announce "All players, Nivalis Liberation Day starting in five minutes.", bc_all | bc_npc;
+ end;
+
OnClock1830:
if ($NLIB_DAY != 7)
end;
setmapflag("023-2",mf_bexp,200);
+ disablenpc "The Monster King#NLib";
end;
}
diff --git a/npc/019-3/guards.txt b/npc/019-3/guards.txt
index e2a18771f..5c3c16420 100644
--- a/npc/019-3/guards.txt
+++ b/npc/019-3/guards.txt
@@ -5,6 +5,8 @@
// Nivalis Liberation Day NPC
019-3,128,2,0 script Guard#019-3.1 NPC_GUARD1,{
+ if ($NLIB_DAY == 7)
+ goto L_MK;
mesn;
mesq l("Are you done yet?");
select
@@ -39,10 +41,19 @@
closedialog;
close;
+L_MK:
+ mesn;
+ mesq l("Good luck hunting down the Monster King.");
+ close;
+
OnBegin:
npctalk l("Begin!");
end;
+OnAdvise:
+ npctalk l("You must be where the Monster King at 16:30 UTC sharply - no delays allowed!");
+ end;
+
OnInit:
.sex = G_MALE;
.distance = 5;
diff --git a/npc/023-2/mk.txt b/npc/023-2/mk.txt
index c3007e185..b88e67633 100644
--- a/npc/023-2/mk.txt
+++ b/npc/023-2/mk.txt
@@ -4,9 +4,14 @@
// Description:
// Nivalis Liberation Day
+// The Walking Monster King
023-2,121,35,0 script The Monster King#NLib NPC_MONSTERKING,{
end;
+OnTouch:
+ percentheal -100, -100;
+ end;
+
OnInit:
.sex = G_MALE;
.distance = 5;
@@ -26,12 +31,10 @@ OnHour00:
case 4:
movenpc(.name$, 102, 63, DIR_WEST); break;
case 5:
- movenpc(.name$, 81, 59, DIR_EAST); break;
+ movenpc(.name$, 81, 59, DIR_NORTH); break;
case 6:
- movenpc(.name$, 76, 48, DIR_WEST); break;
- case 7:
movenpc(.name$, 53, 53, DIR_SOUTH); break;
- case 8:
+ case 7:
movenpc(.name$, 36, 99, DIR_SOUTH); break;
default:
channelmes("#world", "A bug happened: Monster King # Nivalis Liberation Day - Value Out of Range."); disablenpc .name$; break;
@@ -40,3 +43,93 @@ OnHour00:
end;
}
+
+// Floor triggers
+023-2,121,35,0 script #NLIB_T01 NPC_HIDDEN,1,2,{
+
+OnTouch:
+ if ($NLIB_DAY == 1) {
+ @QNL3=1;
+ dispbottom l("I've found the Monster King.");
+ }
+ end;
+}
+
+
+023-2,110,36,0 script #NLIB_T02 NPC_HIDDEN,2,2,{
+
+OnTouch:
+ if ($NLIB_DAY == 2) {
+ @QNL3=1;
+ dispbottom l("I've found the Monster King.");
+ } else if ($NLIB_DAY < 2) {
+ slide 114, 36;
+ dispbottom l("I should not veer off too much the path.");
+ }
+ end;
+}
+
+023-2,105,50,0 script #NLIB_T03 NPC_HIDDEN,2,2,{
+
+OnTouch:
+ if ($NLIB_DAY == 3) {
+ @QNL3=1;
+ dispbottom l("I've found the Monster King.");
+ } else if ($NLIB_DAY < 3) {
+ slide 104, 48;
+ dispbottom l("I should not veer off too much the path.");
+ }
+ end;
+}
+
+023-2,104,62,0 script #NLIB_T04 NPC_HIDDEN,0,0,{
+
+OnTouch:
+ if ($NLIB_DAY == 4) {
+ @QNL3=1;
+ dispbottom l("I've found the Monster King.");
+ } else if ($NLIB_DAY < 4) {
+ slide 104, 61;
+ dispbottom l("I should not veer off too much the path.");
+ }
+ end;
+}
+
+023-2,86,59,0 script #NLIB_T05 NPC_HIDDEN,2,5,{
+
+OnTouch:
+ if ($NLIB_DAY == 5) {
+ @QNL3=1;
+ dispbottom l("I've found the Monster King.");
+ } else if ($NLIB_DAY < 5) {
+ slide 91, 61;
+ dispbottom l("I should not veer off too much the path.");
+ }
+ end;
+}
+
+023-2,53,49,0 script #NLIB_T06 NPC_HIDDEN,0,5,{
+
+OnTouch:
+ if ($NLIB_DAY == 6) {
+ @QNL3=1;
+ dispbottom l("I've found the Monster King.");
+ } else if ($NLIB_DAY < 6) {
+ slide 55, 48;
+ dispbottom l("I should not veer off too much the path.");
+ }
+ end;
+}
+
+023-2,35,90,0 script #NLIB_T07 NPC_HIDDEN,0,2,{
+
+OnTouch:
+ if (gettime(2) < 25 || gettime(2) > 35) {
+ slide 39, 89;
+ dispbottom l("I should not go ahead... yet.");
+ }
+ end;
+}
+
+
+// Event