summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
m---------client-data0
-rw-r--r--world/map/db/mob_db.conf14
-rw-r--r--world/map/db/mob_db_60_79.txt2
-rw-r--r--world/map/db/mob_db_over_100.txt2
-rw-r--r--world/map/db/mob_skill_db.txt28
-rw-r--r--world/map/npc/functions/dailyquest.txt71
6 files changed, 51 insertions, 66 deletions
diff --git a/client-data b/client-data
-Subproject 114f7075212a033f3dd41fb76729a7f77569ed7
+Subproject b69470e79c7dca207c0e1d64a1ecd9137066e21
diff --git a/world/map/db/mob_db.conf b/world/map/db/mob_db.conf
index 6dadeb30..079a280f 100644
--- a/world/map/db/mob_db.conf
+++ b/world/map/db/mob_db.conf
@@ -8879,22 +8879,22 @@ mob_db: (
SpriteName: "Brainblow"
Name: "Brainblow"
Lv: 77
- Hp: 7
+ Hp: 200
Sp: 0
Exp: 100
JExp: 50
AttackRange: 1
- Attack: [100, 100]
+ Attack: [10, 10]
Def: 0
Mdef: 0
CriticalDef: 0
Stats: {
Str: 1
- Agi: 77
+ Agi: 7
Vit: 1
Int: 1
- Dex: 77
- Luk: 77
+ Dex: 123
+ Luk: 123
}
ViewRange: 9
ChaseRange: 10
@@ -8909,7 +8909,7 @@ mob_db: (
ChangeTargetChase: true
}
MoveSpeed: 77
- AttackDelay: 100
+ AttackDelay: 500
AttackMotion: 672
DamageMotion: 200
},
@@ -8948,7 +8948,7 @@ mob_db: (
ChangeTargetChase: true
}
MoveSpeed: 120
- AttackDelay: 555
+ AttackDelay: 800
AttackMotion: 672
DamageMotion: 200
Drops: {
diff --git a/world/map/db/mob_db_60_79.txt b/world/map/db/mob_db_60_79.txt
index 33dbbaa2..a415ad79 100644
--- a/world/map/db/mob_db_60_79.txt
+++ b/world/map/db/mob_db_60_79.txt
@@ -13,4 +13,4 @@
1117, UndeadTroll, UndeadTroll, 75, 3100, 0, 1770, 179, 3, 60, 140, 20, 10, 0, 50, 40, 20, 10, 40, 49, 9, 10, 1, 0, 10, 133, 650, 1500, 672, 480, 1199, 2000, 631, 1000, 529, 500, 539, 300, 526, 250, 4023, 200, 906, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 40
1163, FridayCat, FridayCat, 70, 450, 0, 130, 17, 1, 40, 45, 2, 7, 0, 12, 8, 2, 1, 25, 1, 9, 10, 1, 0, 11, 131, 1300, 1500, 672, 480, 3001, 10, 3002, 5, 3003, 9, 3011, 250, 3006, 750, 3007, 1000, 3010, 1250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 20
1187, EliteDuck, EliteDuck, 75, 14000, 0, 8800, 860, 2, 170, 195, 50, 80, 0, 70, 120, 10, 42, 48, 95, 5, 12, 1, 2, 13, 167, 225, 500, 472, 200, 519, 1005, 518, 400, 562, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 40
-1195, Brainblow, Brainblow, 77, 7, 0, 100, 50, 1, 100, 100, 0, 0, 0, 1, 77, 1, 1, 77, 77, 9, 10, 1, 0, 27, 133, 77, 100, 672, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1195, Brainblow, Brainblow, 77, 200, 0, 100, 50, 1, 10, 10, 0, 0, 0, 1, 7, 1, 1, 123, 123, 9, 10, 1, 0, 27, 133, 77, 500, 672, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
diff --git a/world/map/db/mob_db_over_100.txt b/world/map/db/mob_db_over_100.txt
index d9dee469..82ca20fd 100644
--- a/world/map/db/mob_db_over_100.txt
+++ b/world/map/db/mob_db_over_100.txt
@@ -57,6 +57,6 @@
1185, EntAbomination, EntAbomination, 130, 45000, 280, 58000, 1600, 2, 200, 250, 80, 60, 0, 40, 12, 120, 127, 60, 88, 31, 30, 1, 3, 12, 169, 1500, 900, 772, 740, 569, 2000, 569, 2000, 806, 250, 806, 500, 740, 500, 740, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 20
1188, Junglefowl, Junglefowl, 125, 25500, 0, 15000, 2125, 1, 175, 250, 45, 47, 0, 70, 99, 80, 22, 99, 70, 7, 11, 1, 2, 12, 169, 400, 1000, 672, 200, 562, 2520, 562, 1520, 4023, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1194, Birb, Birb, 101, 57000, 0, 44000, 2000, 1, 320, 370, 45, 70, 0, 12, 63, 88, 110, 141, 77, 9, 12, 1, 2, 17, 161, 320, 2100, 672, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-1196, RickLime, RickLime, 120, 54321, 0, 100001, 777, 7, 123, 321, 33, 55, 44, 30, 99, 80, 33, 123, 123, 9, 10, 1, 1, 37, 133, 120, 555, 672, 200, 526, 500, 526, 500, 526, 1000, 526, 2000, 742, 5, 742, 5, 5280, 10, 909, 5, 910, 5, 5297, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1196, RickLime, RickLime, 120, 54321, 0, 100001, 777, 7, 123, 321, 33, 55, 44, 30, 99, 80, 33, 123, 123, 9, 10, 1, 1, 37, 133, 120, 800, 672, 200, 526, 500, 526, 500, 526, 1000, 526, 2000, 742, 5, 742, 5, 5280, 10, 909, 5, 910, 5, 5297, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1197, Blanc1, Blanc1, 150, 55055, 0, 300000, 3000, 10, 600, 800, 50, 70, 60, 30, 99, 80, 33, 133, 133, 10, 10, 1, 1, 37, 135, 200, 500, 672, 200, 526, 10000, 526, 500, 526, 500, 5294, 750, 5294, 750, 503, 250, 503, 250, 5287, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1198, Blanc2, Blanc2, 150, 33033, 0, 200000, 2000, 2, 250, 350, 50, 70, 60, 30, 99, 80, 33, 133, 133, 6, 6, 1, 1, 37, 135, 200, 300, 672, 200, 526, 10000, 526, 500, 526, 500, 5294, 750, 5294, 750, 503, 250, 503, 250, 5287, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
diff --git a/world/map/db/mob_skill_db.txt b/world/map/db/mob_skill_db.txt
index b8368fc9..82ef11a4 100644
--- a/world/map/db/mob_skill_db.txt
+++ b/world/map/db/mob_skill_db.txt
@@ -28,9 +28,9 @@
// NPC_POISON
// Slime Monster Skills
-1092,SlimeBlast@NPC_SELFDESTRUCTION,attack,175,1,10000,100,500,yes,self,notintown,0,30,0,0,0,0,
+1092,SlimeBlast@NPC_SELFDESTRUCTION,attack,175,1,10000,100,500,yes,self,always,0,30,0,0,0,0,
1091,BlueSlime@NPC_SUMMONSLAVE_blastX1,any,198,1,8000,1000,5000,no,self,slavelt,1,1092,0,0,0,0,
-1093,WhiteSlime@NPC_SELFDESTRUCTION,attack,175,1,10000,100,500,yes,self,notintown,0,30,0,0,0,0,
+1093,WhiteSlime@NPC_SELFDESTRUCTION,attack,175,1,10000,100,500,yes,self,always,0,30,0,0,0,0,
1015,SantaSlime@NPC_EMOTION,idle,199,1,200,0,5000,yes,self,always,0,7,0,0,0,0,
1015,SantaSlime@NPC_EMOTION,walk,199,1,100,0,10000,yes,self,always,0,5,0,0,0,0,
1015,SantaSlime@NPC_SUMMONSLAVE,attack,198,5,10000,2000,60000,no,self,slavele,3,1016,0,0,0,0,
@@ -64,7 +64,7 @@
1067,Reaper2@NPC_SUMMONSLAVE_ballX1,any,198,1,8000,1000,7000,no,self,slavelt,1,1070,0,0,0,0,
1067,Reaper2@NPC_SUMMONSLAVE_scytheX2,any,198,1,8000,1000,7000,no,self,slavelt,2,1069,0,0,0,0,
1068,Reaper@NPC_SUMMONSLAVE_ballX2,any,198,1,8000,1000,5000,no,self,slavelt,2,1070,0,0,0,0,
-1070,BallLightning@NPC_SELFDESTRUCTION,attack,175,1,10000,100,500,yes,self,notintown,0,30,0,0,0,0,
+1070,BallLightning@NPC_SELFDESTRUCTION,attack,175,1,10000,100,500,yes,self,always,0,30,0,0,0,0,
// Rossy Quest
1086,FeyElement@NPC_SUMMONSLAVE_earthspiderX1,any,198,1,5000,100,500,no,self,slavelt,6,1083,0,0,0,0,
1086,FeyElement@NPC_SUMMONSLAVE_earthscorpionX1,any,198,1,5000,100,500,no,self,slavelt,6,1084,0,0,0,0,
@@ -106,20 +106,20 @@
1145,Golem@NPC_POISON,attack,178,10,1800,0,500,yes,target,always,0,0,10,0,0,0,
// Blanc skills
-1197,Blanc1@NPC_SUMMONSLAVE_ballX2,attack,198,1,8000,1000,5000,no,self,slavelt,2,1070,0,0,0,0,
-1198,Blanc2@NPC_SUMMONSLAVE_ballX2,attack,198,1,8000,1000,5000,no,self,slavelt,2,1070,0,0,0,0,
1197,Blanc1@NPC_SUMMONSLAVE_emoX1,any,198,1,10000,1000,120000,no,self,slavelt,1,1174,0,0,0,0,
+1197,Blanc1@NPC_SUMMONSLAVE_ballX2,attack,198,1,8000,1000,5000,no,self,slavelt,3,1070,0,0,0,0,
+1197,Blanc1@NPC_SUMMONSLAVE_thugX2,any,198,1,7000,1000,5000,no,self,slavelt,5,1119,0,0,0,0,
+1197,Blanc1@NPC_SUMMONSLAVE_swashbX2,any,198,1,7000,1000,5000,no,self,slavelt,7,1120,0,0,0,0,
+1197,Blanc1@NPC_SUMMONSLAVE_grenadX2,any,198,1,7000,1000,5000,no,self,slavelt,9,1121,0,0,0,0,
1198,Blanc2@NPC_SUMMONSLAVE_emoX1,any,198,1,10000,1000,120000,no,self,slavelt,1,1174,0,0,0,0,
-1197,Blanc1@NPC_SUMMONSLAVE_thugX2,any,198,1,7000,1000,5000,no,self,slavelt,2,1119,0,0,0,0,
-1198,Blanc2@NPC_SUMMONSLAVE_thugX2,any,198,1,7000,1000,5000,no,self,slavelt,2,1119,0,0,0,0,
-1197,Blanc1@NPC_SUMMONSLAVE_swashbX2,any,198,1,7000,1000,5000,no,self,slavelt,2,1120,0,0,0,0,
-1198,Blanc2@NPC_SUMMONSLAVE_swashbX2,any,198,1,7000,1000,5000,no,self,slavelt,2,1120,0,0,0,0,
-1197,Blanc1@NPC_SUMMONSLAVE_grenadX2,any,198,1,7000,1000,5000,no,self,slavelt,2,1121,0,0,0,0,
-1198,Blanc2@NPC_SUMMONSLAVE_grenadX2,any,198,1,7000,1000,5000,no,self,slavelt,2,1121,0,0,0,0,
+1198,Blanc2@NPC_SUMMONSLAVE_ballX2,attack,198,1,8000,1000,5000,no,self,slavelt,3,1070,0,0,0,0,
+1198,Blanc2@NPC_SUMMONSLAVE_thugX2,any,198,1,7000,1000,5000,no,self,slavelt,5,1119,0,0,0,0,
+1198,Blanc2@NPC_SUMMONSLAVE_swashbX2,any,198,1,7000,1000,5000,no,self,slavelt,7,1120,0,0,0,0,
+1198,Blanc2@NPC_SUMMONSLAVE_grenadX2,any,198,1,7000,1000,5000,no,self,slavelt,9,1121,0,0,0,0,
// Emo skills
1174,Emo@NPC_SUMMONSLAVE_ballX2,attack,198,1,4000,1000,5000,no,self,slavelt,2,1070,0,0,0,0,
-1174,Emo@NPC_SUMMONSLAVE_thugX2,any,198,1,5000,1000,5000,no,self,slavelt,2,1119,0,0,0,0,
+1174,Emo@NPC_SUMMONSLAVE_thugX2,any,198,1,5000,1000,5000,no,self,slavelt,4,1119,0,0,0,0,
// Rotter Skills
1176,Rotter@NPC_SUMMONSLAVE_rotX6,any,198,1,8000,1000,5000,no,self,slavelt,6,1177,0,0,0,0,
@@ -129,5 +129,5 @@
//Rick Lime Skills
1196,RickLime@NPC_SUMMONSLAVE_brblowX2,any,198,1,10000,1000,5000,no,self,slavelt,2,1195,0,0,0,0,
-1196,RickLime@NPC_SUMMONSLAVE_cloverX1,any,198,1,5000,5000,15000,no,self,slavelt,1,1037,0,0,0,0,
-1195,Brainblow@NPC_SELFDESTRUCTION,attack,175,1,10000,100,300,yes,target,always,0,30,0,0,0,0,
+1196,RickLime@NPC_SUMMONSLAVE_cloverX1,any,198,1,5000,1000,5000,no,self,slavelt,3,1037,0,0,0,0,
+1195,Brainblow@NPC_SELFDESTRUCTION,attack,175,1,10000,100,500,yes,self,always,0,30,0,0,0,0,
diff --git a/world/map/npc/functions/dailyquest.txt b/world/map/npc/functions/dailyquest.txt
index 2770e2e7..07d4d90e 100644
--- a/world/map/npc/functions/dailyquest.txt
+++ b/world/map/npc/functions/dailyquest.txt
@@ -38,20 +38,10 @@ function|script|DailyQuestPoints
set @dq_increments, (gettimetick(2) - DailyQuestTime)*BaseLevel / 86400;
set DailyQuestTime, DailyQuestTime + @dq_increments*86400/BaseLevel;
- // player can't regenerate any quest points, but might have a bonus
- if (DailyQuestPoints >= BaseLevel)
- goto L_Bonus;
-
// normal recharging case - increment, but don't let it recharge more than a day's worth
set DailyQuestPoints, DailyQuestPoints + @dq_increments;
if (DailyQuestPoints > BaseLevel)
set DailyQuestPoints, BaseLevel;
- // fallthrough to bonus, which *is* allowed to push DailyQuestPoints above BaseLevel
- goto L_Bonus;
-
-L_Bonus:
- set DailyQuestPoints, DailyQuestPoints + DailyQuestBonus;
- set DailyQuestBonus, 0;
return;
}
@@ -64,13 +54,15 @@ function|script|DailyQuest
if (BaseLevel < @dq_level)
goto L_Low_Level;
- if (DailyQuestPoints < @dq_cost)
+
+ set .@total_points, (DailyQuestPoints + DailyQuestBonus);
+ if (.@total_points < @dq_cost)
goto L_Not_Enough_Points;
mes "\"If you bring me " + @dq_count + " " + @dq_friendly_name$ + ", I will give you a reward.\"";
menu
"I have what you want.", L_Trade,
- "Take all you need.", L_All,
+ "Take all you need.", L_Trade_All,
"Ok, I'll get to work.", L_Next,
"Nah, I'm not going to help you.", L_Next;
@@ -79,41 +71,32 @@ L_Next:
goto L_Exit;
L_Trade:
- if (countitem(@dq_name$) < @dq_count)
- goto L_Not_Enough;
-
set @dq_multiplier, 1;
+ goto L_Trade_Combined;
- delitem @dq_name$, @dq_count;
-
- set Zeny, Zeny + @dq_money;
- getexp @dq_exp, 0;
+L_Trade_All:
+ set .@total_points, (DailyQuestPoints + DailyQuestBonus);
+ set .@item_multiple, (countitem(@dq_name$) / @dq_count);
+ set .@dp_multiple, (.@total_points / @dq_cost);
- set DailyQuestPoints, DailyQuestPoints - @dq_cost;
+ if (.@dp_multiple > .@item_multiple)
+ set @dq_multiplier, .@item_multiple;
+ else
+ set @dq_multiplier, .@dp_multiple;
- if (@dq_handle_return)
- goto L_Exit_Good;
+ goto L_Trade_Combined;
- mes "\"Thank you!\"";
- callsub S_SayPhrase;
- mes "";
- mes "[" + @dq_money + " money]";
- mes "[" + @dq_exp + " experience points]";
- goto L_Exit_Good;
-
-L_All:
+L_Trade_Combined:
+ // the check for points already happens before the menu.
if (countitem(@dq_name$) < @dq_count)
goto L_Not_Enough;
- set @item_multiple, (countitem(@dq_name$) / @dq_count);
- set @dp_multiple, (DailyQuestPoints / @dq_cost);
-
- if (@dp_multiple > @item_multiple)
- set @dq_multiplier, @item_multiple;
- if (@item_multiple >= @dp_multiple)
- set @dq_multiplier, @dp_multiple;
+ set .@dq_cost_total, @dq_cost * @dq_multiplier;
+ set .@dq_cost_bonus, .@dq_cost_total - DailyQuestPoints;
- set DailyQuestPoints, DailyQuestPoints - (@dq_cost * @dq_multiplier);
+ set DailyQuestPoints, max(0, -.@dq_cost_bonus);
+ if (.@dq_cost_bonus > 0)
+ set DailyQuestBonus, DailyQuestBonus - .@dq_cost_bonus;
delitem @dq_name$, (@dq_count * @dq_multiplier);
@@ -158,15 +141,17 @@ L_Exit:
S_SayPhrase:
if (@dq_handle_return)
goto L_Return;
- if (DailyQuestPoints < @dq_cost)
+
+ set .@total_points, (DailyQuestPoints + DailyQuestBonus);
+ if (.@total_points < @dq_cost)
goto L_Exhausted;
- if (DailyQuestPoints > BaseLevel)
+ if (.@total_points > BaseLevel)
goto L_Over;
- if (DailyQuestPoints > (BaseLevel*9)/10)
+ if (.@total_points > (BaseLevel*9)/10)
goto L_P90;
- if (DailyQuestPoints > (BaseLevel*7)/10)
+ if (.@total_points > (BaseLevel*7)/10)
goto L_P70;
- if (DailyQuestPoints > (BaseLevel*5)/10)
+ if (.@total_points > (BaseLevel*5)/10)
goto L_P50;
goto L_Low;