summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/re/mob_db.conf6
-rw-r--r--npc/001-4/lilica.txt9
-rw-r--r--npc/002-2/doors.txt5
-rw-r--r--npc/functions/gmbot.txt26
4 files changed, 28 insertions, 18 deletions
diff --git a/db/re/mob_db.conf b/db/re/mob_db.conf
index a3378ffe3..82c3ae51a 100644
--- a/db/re/mob_db.conf
+++ b/db/re/mob_db.conf
@@ -1672,7 +1672,7 @@ mob_db: (
CactusDrink: 200
CactusPotion: 100
Carrot: 51
- BunnyEars: 11
+ BunnyEars: 7
DarkEggshellHat: 1
FluffyHat: 1
}
@@ -4671,7 +4671,7 @@ mob_db: (
MoubooSteak: 200
GoldenEasteregg: 250
Milk: 100
- BunnyEars: 11
+ BunnyEars: 9
DarkEggshellHat: 1
MoubooHat: 1
}
@@ -7537,7 +7537,7 @@ mob_db: (
SpriteName: "MonsterKing"
Name: "The Monster King"
Lv: 150
- Hp: 48713
+ Hp: 58713
Sp: 1665
Exp: 65000
JExp: 2100
diff --git a/npc/001-4/lilica.txt b/npc/001-4/lilica.txt
index a948adb25..440cba68a 100644
--- a/npc/001-4/lilica.txt
+++ b/npc/001-4/lilica.txt
@@ -121,13 +121,18 @@ OnPayFunds:
OnInit:
tradertype(NST_CUSTOM);
- setarray .@Seasonal, EggshellHat, EggshellHat, GreenEggshellHat, OrangeEggshellHat, DarkEggshellHat, EggshellHat;
+ setarray .@Seasonal, EggshellHat, EggshellHat, GreenEggshellHat, OrangeEggshellHat, EggshellHat, EggshellHat;
.Hat=.@Seasonal[(gettime(7)+1)%6]; // Magically choose the hat from the array
+ .PrevHat=.@Seasonal[(gettime(7))%6]; // Magically choose the hat from the array
+ .NextHat=.@Seasonal[(gettime(7)+2)%6]; // Magically choose the hat from the array
- // Ultra rare items
+ // Seasonal item
sellitem .Hat,200;
+ sellitem .NextHat,1000;
+ sellitem .PrevHat,1000;
// Rare and not-so-rare Items
+ sellitem MercBoxA,500;
sellitem BronzeGift,100;
sellitem BunnyEars,50;
//sellitem Boots,20;
diff --git a/npc/002-2/doors.txt b/npc/002-2/doors.txt
index 0d0760dd6..89868652a 100644
--- a/npc/002-2/doors.txt
+++ b/npc/002-2/doors.txt
@@ -23,9 +23,8 @@ L_Warn:
mesc l("There are still some monsters left! Do you want to abort the quest?");
next;
- menu
- l("Yes."), L_Warp,
- l("No."), -;
+ if (askyesno() == ASK_YES)
+ goto L_Warp;
slide 33, 25;
closeclientdialog;
diff --git a/npc/functions/gmbot.txt b/npc/functions/gmbot.txt
index 072f64fe4..778796ce2 100644
--- a/npc/functions/gmbot.txt
+++ b/npc/functions/gmbot.txt
@@ -14,12 +14,17 @@ OnBourneAgain:
getexp BaseLevel**3, 0;
Mobpt = Mobpt + 165;
// We need to start over
+ .bar=true;
OnInit:
$@MK=monster("boss", 45, 45, "The Monster King", MonsterKing, 1, "Monster King::OnBourneAgain");
- // Variables which other NPCs must take in account
- $@MK_AGGRO=0;
- $@MK_SCENE=0;
+ if (!.bar) {
+ // Variables which other NPCs must take in account
+ $@MK_AGGRO=0;
+ $@MK_SCENE=0;
+ } else {
+ .bar=false;
+ }
// Variables only for this NPC
.users=getusers(1);
@@ -29,8 +34,8 @@ OnInit:
.cid="150002";
// Constants
- // We should jump straight to loop (it runs every 62 seconds)
-OnTimer62000:
+ // We should jump straight to loop (it runs every 90 seconds)
+OnTimer90000:
// Regenerate some data, and kill spurious mobs
.users=getusers(1);
if (mobcount(.mp$, "Monster King::OnSlaveDie")) {
@@ -51,8 +56,8 @@ OnTimer62000:
initnpctimer;
}
- // Raise aggro
- $@MK_AGGRO+=.users;
+ // Raise aggro (1 pt per 2 users)
+ $@MK_AGGRO+=(.users/2);
// Mana Stone
if (.mp$ == "011-1")
@@ -97,8 +102,8 @@ OnTimer62000:
end;
}
- // Siege events
- if ($@MK_AGGRO >= 30 && rand(0,100) < 70) {
+ // Siege events (req. 40 aggro, and 70% chances to begin)
+ if ($@MK_AGGRO >= 40 && rand(0,100) < 70) {
// Tulimshar
if (.mp$ ~= "003-*") {
announce ("Monster King: I smell humans! Humans must die!"), bc_map|bc_npc;
@@ -112,7 +117,8 @@ OnTimer62000:
donpcevent("#HurnscaldSiege::OnMKSiege");
}
}
- // Decide if we should have an event here
+
+ // If a player is nearby, MK might randomly make an event for said player
if (.nearby > 1 && $@MK_AGGRO >= rand(0,100)){
// We should decide event kind, but that's NYI
announce ("Monster King: I smell humans! Humans must die!"), bc_map|bc_npc;