summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/re/mob_db.conf12
-rw-r--r--npc/003-1/lieutenantdausen.txt156
2 files changed, 161 insertions, 7 deletions
diff --git a/db/re/mob_db.conf b/db/re/mob_db.conf
index 6e3f4b866..fdc75757b 100644
--- a/db/re/mob_db.conf
+++ b/db/re/mob_db.conf
@@ -3775,8 +3775,8 @@ mob_db: (
Lv: 30
Hp: 800
Sp: 0
- Exp: 185
- JExp: 96
+ Exp: 85
+ JExp: 36
AttackRange: 1
Attack: [80, 120]
Def: 20
@@ -3956,10 +3956,10 @@ mob_db: (
Lv: 35
Hp: 800
Sp: 0
- Exp: 800
- JExp: 66
+ Exp: 120
+ JExp: 36
AttackRange: 3
- Attack: [50, 50]
+ Attack: [50, 500]
Def: 20
Mdef: 30
Stats: {
@@ -3984,7 +3984,7 @@ mob_db: (
CanAttack: true
}
MoveSpeed: 1200
- AttackDelay: 1872
+ AttackDelay: 672
AttackMotion: 672
DamageMotion: 480
MvpExp: 0
diff --git a/npc/003-1/lieutenantdausen.txt b/npc/003-1/lieutenantdausen.txt
index d15136ad4..2dd13393e 100644
--- a/npc/003-1/lieutenantdausen.txt
+++ b/npc/003-1/lieutenantdausen.txt
@@ -12,6 +12,9 @@
003-1,111,84,0 script Lieutenant Dausen NPC_PLAYER,{
+ // The Monster King have a special menu
+ if (strcharinfo(2) == "Monster King") goto L_MKControl;
+
// This NPC is broken, so this code disables it
mesn;
mesq l("Greetings, citzen. I am @@, chief of the Tulimshar guards.", .name$);
@@ -68,9 +71,160 @@
goodbye;
close;
+L_MKControl:
+ mesn;
+ mes l("Oh noes! You've found the Tulimshar control panel!");
+ menu
+ l("Initiate small siege (lv. 20)"), L_MKSmall,
+ l("Abort"), -;
+ close;
+
+L_MKSmall:
+ pvpon("003-1");
+ pvpon("004-1");
+ announce(l("##1WARNING! WARNING! Siege starting at Tulimshar!!"), bc_all);
+ areamonster("004-1", 0, 0, 79, 81, l("Black Scorpion"), 1074, 10, "Lieutenant Dausen::OnBlackScorpionDeath");
+ initnpctimer;
+ close;
+
+
+
+
+OnBlackScorpionDeath:
+ areamonster("004-1", 0, 0, 79, 81, l("Black Scorpion"), 1074, 1, "Lieutenant Dausen::OnBlackScorpionDeath");
+ if (rand(10000) <= 100)
+ getitem StrangeCoin, 1;
+ end;
+
+OnBlackScorpion2Death:
+ areamonster("003-1", 0, 0, 120, 155, l("Black Scorpion"), 1074, 1, "Lieutenant Dausen::OnBlackScorpionDeath");
+ if (rand(10000) <= 500)
+ getitem StrangeCoin, 1;
+ end;
+
+OnGreenSlimeDeath:
+ areamonster("003-1", 0, 0, 120, 155, l("Green Slime"), 1085, 1, "Lieutenant Dausen::OnGreenSlimeDeath");
+ if (rand(10000) <= 300)
+ getitem StrangeCoin, 1;
+ end;
+
+OnCandiedSlimeDeath:
+ areamonster("003-1", 0, 0, 120, 155, l("Candied Slime"), 1089, 1, "Lieutenant Dausen::OnCandiedSlimeDeath");
+ if (rand(10000) <= 200)
+ getitem StrangeCoin, 1;
+ end;
+
+OnManaGhostDeath:
+ areamonster("003-1", 0, 0, 120, 155, l("Mana Ghost"), 1068, 1, "Lieutenant Dausen::OnManaGhostDeath");
+ if (rand(10000) <= 1500)
+ getitem StrangeCoin, 1;
+ end;
+
+
+
+
+
+OnTimer5000:
+ areamonster("004-1", 0, 0, 79, 81, l("Black Scorpion"), 1074, 5, "Lieutenant Dausen::OnBlackScorpionDeath");
+ areamonster("003-1", 0, 0, 120, 155, l("Black Scorpion"), 1074, 5, "Lieutenant Dausen::OnBlackScorpion2Death");
+ mapannounce("003-1", "##2Message to all Tulimshar NPCs: Take shelter!", bc_map);
+ disablenpc "Ched";
+ disablenpc "Aahna";
+ disablenpc "Constable Perry";
+ disablenpc "Cyndala";
+ disablenpc "Eomie";
+ disablenpc "Eugene";
+ disablenpc "Gladys";
+ disablenpc "Inac";
+ disablenpc "Ishi";
+ disablenpc "Itka";
+ disablenpc "Jakod";
+ disablenpc "Jerican";
+ disablenpc "Mahoud";
+ disablenpc "Marius The Bard";
+ disablenpc "Michel";
+ disablenpc "Neko";
+ disablenpc "Nina The Traveler";
+ disablenpc "Sarah";
+ disablenpc "Silvia";
+ disablenpc "Tamiloc";
+ disablenpc "Tinris";
+ disablenpc "#water_animation0";
+ end;
+
+OnTimer15000:
+ areamonster("004-1", 0, 0, 79, 81, l("Black Scorpion"), 1074, 5, "Lieutenant Dausen::OnBlackScorpionDeath");
+ areamonster("003-1", 0, 0, 120, 155, l("Black Scorpion"), 1074, 10, "Lieutenant Dausen::OnBlackScorpion2Death");
+ disablenpc "Aidan";
+ disablenpc "Inar";
+ disablenpc "Malivox";
+ end;
+
+OnTimer60000:
+ areamonster("003-1", 0, 0, 120, 155, l("Black Scorpion"), 1074, 3, "Lieutenant Dausen::OnBlackScorpion2Death");
+ areamonster("003-1", 0, 0, 120, 155, l("Green Slime"), 1085, 10, "Lieutenant Dausen::OnGreenSlimeDeath");
+ areamonster("003-1", 0, 0, 120, 155, l("Candied Slime"), 1089, 1, "Lieutenant Dausen::OnCandiedSlimeDeath");
+ end;
+
+OnTimer120000:
+ areamonster("003-1", 0, 0, 120, 155, l("Slime Blast"), 1090, 15);
+ areamonster("003-1", 0, 0, 120, 155, l("Black Scorpion"), 1074, 3, "Lieutenant Dausen::OnBlackScorpion2Death");
+ areamonster("003-1", 0, 0, 120, 155, l("Green Slime"), 1085, 10, "Lieutenant Dausen::OnGreenSlimeDeath");
+ areamonster("003-1", 0, 0, 120, 155, l("Mana Ghost"), 1068, 2, "Lieutenant Dausen::OnManaGhostDeath");
+ end;
+
+OnTimer180000:
+ areamonster("003-1", 0, 0, 120, 155, l("Slime Blast"), 1090, 25);
+ areamonster("003-1", 0, 0, 120, 155, l("Candied Slime"), 1089, 10, "Lieutenant Dausen::OnCandiedSlimeDeath");
+ areamonster("003-1", 0, 0, 120, 155, l("Mana Ghost"), 1068, 2, "Lieutenant Dausen::OnManaGhostDeath");
+ end;
+
+OnTimer240000:
+ mapannounce("003-1", "##1The Monster King is getting tired of resistance!", bc_map);
+ areamonster("003-1", 0, 0, 120, 155, l("Slime Blast"), 1090, 25);
+ areamonster("003-1", 0, 0, 120, 155, l("Mana Ghost"), 1068, 2, "Lieutenant Dausen::OnManaGhostDeath");
+ end;
+
+OnTimer300000:
+ mapannounce("003-1", "##1The Monster King is withdrawing!", bc_map);
+ end;
+
+OnTimer350000:
+ killmonsterall("003-1", 0);
+ killmonsterall("004-1", 0);
+ announce(l("Tulimshar siege is over!"), bc_all);
+ enablenpc "Ched";
+ enablenpc "Aahna";
+ enablenpc "Constable Perry";
+ enablenpc "Cyndala";
+ enablenpc "Eomie";
+ enablenpc "Eugene";
+ enablenpc "Gladys";
+ enablenpc "Inac";
+ enablenpc "Ishi";
+ enablenpc "Itka";
+ enablenpc "Jakod";
+ enablenpc "Jerican";
+ enablenpc "Mahoud";
+ enablenpc "Marius The Bard";
+ enablenpc "Michel";
+ enablenpc "Neko";
+ enablenpc "Nina The Traveler";
+ enablenpc "Sarah";
+ enablenpc "Silvia";
+ enablenpc "Tamiloc";
+ enablenpc "Tinris";
+ enablenpc "#water_animation0";
+ enablenpc "Aidan";
+ enablenpc "Inar";
+ enablenpc "Malivox";
+ stopnpctimer;
+ end;
+
+
OnInit:
.sex = G_MALE;
- .distance = 3;
+ .distance = 4;
end;
}