summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/re/item_db.conf10
-rw-r--r--db/re/mob_db.conf2
-rw-r--r--npc/002-4/nard.txt3
-rw-r--r--npc/007-1/caelum.txt2
-rw-r--r--npc/007-1/dracoula.txt2
-rw-r--r--npc/007-1/pylon.txt2
-rw-r--r--npc/007-1/torches.txt10
-rw-r--r--npc/007-1/tycoon.txt2
-rw-r--r--npc/007-1/zarkor.txt2
-rw-r--r--npc/012-1/guards.txt13
-rw-r--r--npc/functions/class.txt6
-rw-r--r--npc/functions/shake.txt35
-rw-r--r--npc/scripts.conf1
13 files changed, 64 insertions, 26 deletions
diff --git a/db/re/item_db.conf b/db/re/item_db.conf
index b1314e913..0e93d7521 100644
--- a/db/re/item_db.conf
+++ b/db/re/item_db.conf
@@ -8861,12 +8861,12 @@ item_db: (
AegisName: "Sunglasses"
Name: "Sunglasses"
Type: "IT_ARMOR"
- Buy: 1000
- Sell: 500
- Weight: 22
- Def: 7
+ Buy: 30000
+ Sell: 10000
+ Weight: 29
+ Def: 5
Loc: "EQP_ACC_R"
- EquipLv: 35
+ EquipLv: 15
Refine: false
ViewSprite: 3210
BuyingStore: true
diff --git a/db/re/mob_db.conf b/db/re/mob_db.conf
index e7b38f65d..f74d2f4f1 100644
--- a/db/re/mob_db.conf
+++ b/db/re/mob_db.conf
@@ -1060,7 +1060,7 @@ mob_db: (
Lv: 40
Hp: 4500
Sp: 0
- Exp: 91
+ Exp: 87
JExp: 9
AttackRange: 1
Attack: [300, 500]
diff --git a/npc/002-4/nard.txt b/npc/002-4/nard.txt
index 754ebb34b..7536c6256 100644
--- a/npc/002-4/nard.txt
+++ b/npc/002-4/nard.txt
@@ -19,7 +19,7 @@ L_Checker:
if (LOCATION$ != "") goto L_NotYet;
// Referral program
- if (#REFERRAL_PROG == 0) {
+ if (#REFERRAL_PROG == 0 && $REFERRAL_ENABLED) {
mesn l("TMW2 Staff");
mesc l("Hello, and welcome to TMW2: Moubootaur Legends!"), 3;
mesc l("(Click next button to advance dialogs)"),9;
@@ -64,7 +64,6 @@ L_Checker:
next;
}
} while (.@ref$ == "");
- if (ClientVersion >= 24) close;
}
// Introduction
diff --git a/npc/007-1/caelum.txt b/npc/007-1/caelum.txt
index a4060652d..130a32ec5 100644
--- a/npc/007-1/caelum.txt
+++ b/npc/007-1/caelum.txt
@@ -8,7 +8,7 @@
// Caelum Miner, main author Skydragon Caelum mean Sky in Latin.
// id:193 MineQuests_Caelum
-007-1,138,49,0 script Caelum NPC_PLAYER,{
+007-1,143,49,0 script Caelum NPC_PLAYER,{
.@Miner = getq(MineQuests_Caelum);
if (BaseLevel < 28) goto L_TooWeak;
if (.@Miner == 1) goto L_Check;
diff --git a/npc/007-1/dracoula.txt b/npc/007-1/dracoula.txt
index b1dfb212e..d7eebbec6 100644
--- a/npc/007-1/dracoula.txt
+++ b/npc/007-1/dracoula.txt
@@ -7,7 +7,7 @@
// Variable:
// MineQuest_Dracoula
-007-1,165,99,0 script Dracoula NPC_UKAR_F,{
+007-1,170,99,0 script Dracoula NPC_UKAR_F,{
mesn;
mesq lg("Hello adventurer! Are you lost?");
next;
diff --git a/npc/007-1/pylon.txt b/npc/007-1/pylon.txt
index f514a4d7c..c68e3763a 100644
--- a/npc/007-1/pylon.txt
+++ b/npc/007-1/pylon.txt
@@ -9,7 +9,7 @@
// Reference:
// https://fr.wikipedia.org/wiki/Pilon#Objets not Epiphysis !
-007-1,42,44,0 script Pylon NPC_PLAYER,{
+007-1,47,44,0 script Pylon NPC_PLAYER,{
mesn;
mesq l("Hello, I'm Pylon!");
diff --git a/npc/007-1/torches.txt b/npc/007-1/torches.txt
index f2434939b..0dff30ac1 100644
--- a/npc/007-1/torches.txt
+++ b/npc/007-1/torches.txt
@@ -86,7 +86,7 @@ L_Empty:
}
-007-1,166,145,0 script Torch#1 NPC_NO_SPRITE,{
+007-1,171,145,0 script Torch#1 NPC_NO_SPRITE,{
@torch = 1;
.@q = getq(TulimsharQuest_DarkInvocator);
if (.@q == 5) {
@@ -102,7 +102,7 @@ OnInit:
end;
}
-007-1,65,116,0 script Torch#2 NPC_NO_SPRITE,{
+007-1,70,116,0 script Torch#2 NPC_NO_SPRITE,{
@torch = 2;
.@q = getq(TulimsharQuest_DarkInvocator);
if (.@q == 5) {
@@ -115,7 +115,7 @@ OnInit:
end;
}
-007-1,62,133,0 script Torch#3 NPC_NO_SPRITE,{
+007-1,67,133,0 script Torch#3 NPC_NO_SPRITE,{
@torch = 3;
.@q = getq(TulimsharQuest_DarkInvocator);
if (.@q == 5) {
@@ -127,7 +127,7 @@ OnInit:
.distance = 1;
end;
}
-007-1,35,125,0 script Torch#4 NPC_NO_SPRITE,{
+007-1,40,125,0 script Torch#4 NPC_NO_SPRITE,{
@torch = 4;
.@q = getq(TulimsharQuest_DarkInvocator);
if (.@q == 5) {
@@ -139,7 +139,7 @@ OnInit:
.distance = 1;
end;
}
-007-1,139,24,0 script Torch#5 NPC_NO_SPRITE,{
+007-1,144,24,0 script Torch#5 NPC_NO_SPRITE,{
@torch = 5;
.@q = getq(TulimsharQuest_DarkInvocator);
if (.@q == 5) {
diff --git a/npc/007-1/tycoon.txt b/npc/007-1/tycoon.txt
index 54be061ba..58e417530 100644
--- a/npc/007-1/tycoon.txt
+++ b/npc/007-1/tycoon.txt
@@ -31,7 +31,7 @@
// 14: Completed Black Scorpion Quest - 12 000 EXP 5 000 GP
// 15: Finished all trainment
-007-1,66,65,0 script Tycoon NPC_PLAYER,{
+007-1,71,65,0 script Tycoon NPC_PLAYER,{
.@q=getq(MineQuest_Tycoon);
mesn;
diff --git a/npc/007-1/zarkor.txt b/npc/007-1/zarkor.txt
index 91c9c4552..a9e6c12d1 100644
--- a/npc/007-1/zarkor.txt
+++ b/npc/007-1/zarkor.txt
@@ -10,7 +10,7 @@
// But you won't be able to do more Everburn Powder. And it can be required on another
// quest. And there won't be other way to get the Powder. So DO NOT SELL IT. Think ahead.
-007-1,152,155,0 script Zarkor NPC_MIRAJ,{
+007-1,157,155,0 script Zarkor NPC_MIRAJ,{
.@q=getq(TulimsharQuest_DarkInvocator);
if (BaseLevel <= 30)
goto L_Weak;
diff --git a/npc/012-1/guards.txt b/npc/012-1/guards.txt
index d50241346..956c08c91 100644
--- a/npc/012-1/guards.txt
+++ b/npc/012-1/guards.txt
@@ -29,6 +29,8 @@ L_Admus:
setmapflagnosave("012-1", "000-1", 22, 22);
//setmapflag("012-1", mf_nocommand); // This is just too powerful!
setmapflag("012-1", mf_battleground);
+ setmapflag("012-1", mf_nopenalty);
+ setmapflag("012-1",mf_bexp,126);
enablenpc "Hurnsguard";
donpcevent "Hurnsguard::OnSet";
donpcevent "Lieutenant Paul::OnSet";
@@ -163,10 +165,10 @@ OnDoEvent:
OnSkip:
// Here, coins drop rate are based on REMAINING PLAYERS and DEFEATED MONSTER LEVEL.
// A level 100 monster can have a 5% drop bonus against a level 0 monster.
- // You have 1% of base chance, plus 0.5% each player + 0.05% each monster level.
- if (rand(10000) <= 100 + (getmapusers("012-1")*50) + (strmobinfo(3,killedrid)*5))
+ // You have 1.2% of base chance, plus 0.5% each player + 0.05% each monster level.
+ if (rand(10000) <= 120 + (getmapusers("012-1")*50) + (strmobinfo(3,killedrid)*5))
getmapxy(.@m$, .@x, .@y, 0);
- makeitem(any(Plushroom, Chagashroom, Bread, HalfCroconut, Aquada, CasinoCoins), rand(1,2), "012-1", .@x, .@y);
+ makeitem(any(Plushroom, Chagashroom, Bread, HalfCroconut, Aquada, CasinoCoins, CactusCocktail, AppleCocktail, CherryCocktail), any(1,1,2), "012-1", .@x, .@y);
end;
OnTimer300000:
@@ -207,10 +209,10 @@ OnTimer240000:
// Scripted monsters
if (.CYCLES == 2) {
mapannounce("012-1", "Monster Lieutenant appears! Watch out!", bc_map);
- monster("012-1", 65, 71, "Monster Lieutenant", NightScorpion, 1, "Hurnsguard::OnXtreem");
+ bg_monster($@FK_Team2, "012-1", 65, 71, "Monster Lieutenant", NightScorpion, "Hurnsguard::OnXtreem");
} else if (.CYCLES == 3) {
mapannounce("012-1", "Monster Admiral appears! Kill it to liberate Hurns!", bc_map);
- monster("012-1", 65, 71, "Monster Admiral", GiantMutatedBat, 1, "Hurnsguard::OnVictory");
+ bg_monster($@FK_Team2, "012-1", 65, 71, "Monster Admiral", GiantMutatedBat, "Hurnsguard::OnVictory");
}
// One monster per user alive
@@ -298,6 +300,7 @@ OnVictory:
removemapmask "012-1", MASK_EVILSANCTUM;
//removemapflag("012-1", mf_nocommand);
removemapflag("012-1", mf_battleground);
+ removemapflag("012-1", mf_bexp);
enablenpc "#012-1_22_62";
enablenpc "#012-1_79_17";
enablenpc "#012-1_79_102";
diff --git a/npc/functions/class.txt b/npc/functions/class.txt
index 09db90013..427e32687 100644
--- a/npc/functions/class.txt
+++ b/npc/functions/class.txt
@@ -8,7 +8,7 @@
// ClassID, ClassName, OtherClass, sk1, sk2
function script ClassMaster {
.@CLASS=getarg(0);
- .@CNAME$=getarg(1);
+ .@CNAME$=getarg(1, "bug");
.@OTHER=getarg(2);
//.name$=strnpcinfo(1);
@@ -32,7 +32,7 @@ function script ClassMaster {
L_SignUp:
next;
mesn;
- mesq l("You have some magic power. Do you want to join the Magic Warriors? ##BThis cannot be undone##b.");
+ mesq l("You have some magic power. Do you want to join the @@? ##BThis cannot be undone##b.", .@CNAME$);
next;
mesn;
mesq l("We use swords and bows to protect the people, and we use magic to spice things up! Because we're strong even without it!");
@@ -78,7 +78,7 @@ L_Tier1Ok:
skill(.@CLASS,1,0);
mes "";
mesn;
- mesq l("Here, learn the ##BFalkon Punch##b. It is on Physical skills tab. You can drag it to the shortcut list. Use it to protect people!");
+ mesq l("Here, learn this awesome skill. It is on the skills tab. You can drag it to the shortcut list. Use it to protect people!");
close;
L_NoMagic:
diff --git a/npc/functions/shake.txt b/npc/functions/shake.txt
new file mode 100644
index 000000000..a20fc6b43
--- /dev/null
+++ b/npc/functions/shake.txt
@@ -0,0 +1,35 @@
+// Shake player screen
+
+- script shake 32767,{
+ end;
+
+// Loops until @shake is @max_shake
+OnShake:
+ @shake+=1;
+ movecam rand(-20,20), rand(-20,20);
+
+ if (@shake < @max_shake) {
+ addtimer(50, "shake::OnShake");
+ } else {
+ @shake=0;
+ restorecam;
+ closedialog;
+ }
+ end;
+
+// Called by GM Command
+OnGM:
+ @shake=0;
+ @max_shake=rand(6,10);
+ addtimer(50, "shake::OnShake");
+ end;
+
+OnCall:
+ getmapxy(.@m$,.@x,.@y,0);
+ areatimer(.@m$, .@x-15, .@y-15, .@x+15, .@y+15, 10, "shake::OnGM");
+ end;
+
+OnInit:
+ bindatcmd "shake", "shake::OnCall", 80, 80, 1;
+ end;
+}
diff --git a/npc/scripts.conf b/npc/scripts.conf
index 99b443fc6..47f7613e7 100644
--- a/npc/scripts.conf
+++ b/npc/scripts.conf
@@ -46,6 +46,7 @@
"npc/functions/questgen.txt",
"npc/functions/riddle.txt",
"npc/functions/savepoint.txt",
+"npc/functions/shake.txt",
"npc/functions/shops.txt",
"npc/functions/soul_menhir.txt",