summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/map/battle/drops.conf26
-rw-r--r--conf/map/battle/exp.conf8
-rw-r--r--db/re/exp_group_db.conf18
-rw-r--r--npc/000-0/sailors.txt10
-rw-r--r--npc/002-3/nard.txt103
-rw-r--r--npc/commands/rate-management.txt46
-rw-r--r--npc/functions/daily.txt11
7 files changed, 108 insertions, 114 deletions
diff --git a/conf/map/battle/drops.conf b/conf/map/battle/drops.conf
index 91fc4e63e..a251e111f 100644
--- a/conf/map/battle/drops.conf
+++ b/conf/map/battle/drops.conf
@@ -62,32 +62,32 @@ mvp_item_third_get_time: 2000
// Modifying these values is without effect, as it is override during script runtime.
// The rate the common items are dropped (Items that are in the ETC tab, besides card)
-item_rate_common: 100
-item_rate_common_boss: 100
+item_rate_common: 1000
+item_rate_common_boss: 1000
item_drop_common_min: 1
item_drop_common_max: 10000
// The rate healing items are dropped (items that restore HP or SP)
-item_rate_heal: 100
-item_rate_heal_boss: 100
+item_rate_heal: 1000
+item_rate_heal_boss: 1000
item_drop_heal_min: 1
item_drop_heal_max: 10000
// The rate at which usable items (in the item tab) other then healing items are dropped.
-item_rate_use: 100
-item_rate_use_boss: 100
+item_rate_use: 1000
+item_rate_use_boss: 1000
item_drop_use_min: 1
item_drop_use_max: 10000
// The rate at which equipment is dropped.
-item_rate_equip: 100
-item_rate_equip_boss: 100
+item_rate_equip: 1000
+item_rate_equip_boss: 1000
item_drop_equip_min: 1
item_drop_equip_max: 10000
// The rate at which cards are dropped
-item_rate_card: 100
-item_rate_card_boss: 100
+item_rate_card: 1000
+item_rate_card_boss: 1000
item_drop_card_min: 1
item_drop_card_max: 10000
@@ -97,12 +97,12 @@ item_drop_mvp_min: 1
item_drop_mvp_max: 10000
// The rate adjustment for card-granted item drops.
-item_rate_adddrop: 100
+item_rate_adddrop: 1000
item_drop_add_min: 1
item_drop_add_max: 10000
// Rate adjustment for Treasure Box drops (these override all other modifiers)
-item_rate_treasure: 100
+item_rate_treasure: 1000
item_drop_treasure_min: 1
item_drop_treasure_max: 10000
@@ -142,7 +142,7 @@ drops_by_luk: 0
// At current value (20), each luck point will boost 0.2% drop rates.
// For the average drop (4% drop rate), this means 4*1,02=4.08% with 10 luck
// A full build (100 luck) and 4% drop rate will give 4.8% drop rate.
-drops_by_luk2: 20
+drops_by_luk2: 200
// Whether or not Marine Spheres and Floras summoned by Alchemist drop items?
// This setting has three available values:
diff --git a/conf/map/battle/exp.conf b/conf/map/battle/exp.conf
index 1aae6c22d..2abd50540 100644
--- a/conf/map/battle/exp.conf
+++ b/conf/map/battle/exp.conf
@@ -34,14 +34,14 @@
// Rate at which exp. is given. (Note 2)
// Modifying this value is without effect, as it is override during script runtime.
-base_exp_rate: 100
+base_exp_rate: 300
// Rate at which job exp. is given. (Note 2)
// Modifying this value is without effect, as it is override during script runtime.
-job_exp_rate: 100
+job_exp_rate: 300
// Turn this on to allow a player to level up more than once from a kill. (Note 1)
-multi_level_up: false
+multi_level_up: true
// Setting this can cap the max experience one can get per kill specified as a
// % of the current exp bar. (Every 10 = 1.0%)
@@ -70,7 +70,7 @@ exp_bonus_max_attacker: 10
mvp_exp_rate: 100
// Rate of base/job exp given by NPCs. (Note 2)
-quest_exp_rate: 100
+quest_exp_rate: 300
// The rate of job exp. from using Heal skill (100 is the same as the heal amount, 200 is double.
// The balance of the exp. rate is best used with 5 to 10)
diff --git a/db/re/exp_group_db.conf b/db/re/exp_group_db.conf
index 442a449a1..9873c0aa7 100644
--- a/db/re/exp_group_db.conf
+++ b/db/re/exp_group_db.conf
@@ -29,7 +29,7 @@
base_exp_group_db: {
EvolClasses: {
- MaxLevel: 85
+ MaxLevel: 150
Exp: [
9,16,25,36,77,112,153,200,253,320,
385,490,585,700,830,970,1120,1260,1420,1620,
@@ -39,19 +39,19 @@ base_exp_group_db: {
128692,142784,157528,178184,196300,215198,234879,255341,310188,365914,
402508,442769,487051,535756,589342,648281,713112,784421,862867,949158,
1044076,1148484,1263331,1389671,1528642,1681509,1849671,2034639,2238111,2461928,
- 2708132,2978946,3276840,3604530,
- ]
- }
-}
-/*
- 3964987,4361495,4797656,5277432,5805184,6095442,
+ 2708132,2978946,3276840,3604530,3964987,4361495,4797656,5277432,5805184,6095442,
6400217,6720231,7056251,7409070,7779531,8168509,8576941,9005793,9456080,9928893,
10425342,10946613,11493946,12068655,12672087,13305690,13970980,14669530,15403013,16173172,
16981833,17830934,18722479,19658611,20641552,21673632,22757319,23895184,25089950,25591758,
26103599,26625670,27158181,27701356,28255388,28820507,29396920,29984867,30584571,31196260,
31820184,32456596,33105727,33767845,34443202,35132065,35834705,36551410,37282446,38028099,
- 38788671,39564454,40355745,41162860,41986116,42825838,43682362,44556009,45447138,45901616,
- 46360641,46824255,47292503,47765432,48243093,48725528,49212784,49704921,50201982,50704003,
+ 38788671,39564454,40355745,41162860,41986116,42825838,43682362,44556009,45447138,
+ ]
+ }
+}
+/*
+ 45901616,
+46360641,46824255,47292503,47765432,48243093,48725528,49212784,49704921,50201982,50704003,
51211047,51723162,52240405,52762810,53290446,53823354,54361598,54905214,55454271,56008820,
56568910,57134610,57705965,58283032,58865873,59454536,60049086,60649586,61256083,61868649,
62487336,63112216,63743344,64380779,65024597,65674843,66331602,66994930,67664885,68341538,
diff --git a/npc/000-0/sailors.txt b/npc/000-0/sailors.txt
index 3df6382b8..c50f687b9 100644
--- a/npc/000-0/sailors.txt
+++ b/npc/000-0/sailors.txt
@@ -24,6 +24,16 @@ OnTouch:
.@lang = requestlang();
if (.@lang >= 0 && .@lang <= 9) Lang = .@lang;
+ // Test Server
+ mesn "TMW 2 Staff";
+ mesc l("Before we start, to be eligible for rewards, please insert your CHARACTER NAME on Live Server."), 1;
+ mesc l("You can leave it blank if you wish no reward."), 1;
+ mesc l("This can be changed later, don't worry."), 1;
+ mesc l("(Click next button to advance dialogs)"), 3;
+ next;
+ input OFFICIAL_NICKNAME$;
+ clear;
+
showavatar 3;
mesn "Narrator";
diff --git a/npc/002-3/nard.txt b/npc/002-3/nard.txt
index aaec6ce3d..d543f3d46 100644
--- a/npc/002-3/nard.txt
+++ b/npc/002-3/nard.txt
@@ -75,8 +75,6 @@ L_Checker:
next;
mesn;
mesq l("The Alliance can help you in finding out about who you are, why you are here, or from where you came from. So, about the tasks I want completed.");
- LOCATION$ = "Candor";
- setq ShipQuests_Julia, 3;
next;
.@price=1200;
mesc b(l(".:: Main Quest 1-3 ::.")), 3;
@@ -85,61 +83,48 @@ L_Checker:
msObjective(getq(CandorQuest_Barrel) >= 4, l("* Ask Zegas, the mayoress, if she needs help."));
msObjective(Zeny >= .@price, l("* Collect @@/@@ GP", Zeny, .@price));
-L_Referral:
- // Referral program
- if (#REFERRAL_PROG == 0 && $REFERRAL_ENABLED) {
- next;
- clear;
- showavatar NPC_LOF_RICH;
- mesc l("But before, a message from our developers!"), 3;
- next;
- mesn l("TMW2 Staff");
- mesc l("Hello, and welcome to TMW2: Moubootaur Legends!"), 3;
- next;
- mesn l("TMW2 Staff");
- mesc l("Did you came here by someone advise? If yes, write their name down here!"), 3;
- next;
- mesc l("If this is not the case, just click on \"Send\"."), 3;
- .@ref$="";
- do
- {
- input .@ref$;
- //debugmes "Player invite: "+.@ref$;
- mes "";
- if (.@ref$ != "") {
- .@ref=gf_accid(strip(.@ref$));
- if (.@ref > 0) {
- if (.@ref == getcharid(3)) {
- mesn l("TMW2 Staff");
- mesc l("Hahah, silly, that's yourself!"), 3;
- mesc l("Try again!"), 3;
- next;
- .@ref$="";
- } else {
- #REFERRAL_PROG=.@ref;
- getitembound FriendGift, 1, 1;
- mesn l("TMW2 Staff");
- mesc l("Well, welcome to the game! If you have any doubt, shout on #world for help!"), 3;
- mesc l("Your friend also sent you a gift - open it when you get level 5!"), 3;
- next;
- }
- } else {
- mesn l("TMW2 Staff");
- mesc l("Oops, there is nobody known as @@ on this game.", .@ref$), 3;
- mesc l("Could you try again? There could be a typo!"), 3;
- next;
- .@ref$="";
- }
- } else {
- .@ref$="None";
- mesn l("TMW2 Staff");
- mesc l("I see. Well, welcome to the game! If you have any doubt, shout on #world for help!"), 3;
- next;
+L_FirstLogin:
+ next;
+ clear;
+ showavatar NPC_LOF_RICH;
+ mesc l("But before, a message from our developers!"), 3;
+ next;
+ mesn l("TMW2 Staff");
+ mesc l("First of all: Thank you for playing during this event."), 1;
+ mesc l("You may now choose your bonus."), 1;
+ mesc b(l("IT CANNOT BE CHANGED LATER")), 1;
+ next;
+ do {
+ select
+ l("I'm just skipping dialogs, sorry"),
+ l("HP +75% (not recommended)"),
+ l("EXP +50%"),
+ l("DMG +50%");
+ mes "";
+ if (@menu != 1) {
+ getitembound(PlushMouboo, 1, 4);
+ delinventorylist(); // Needed, because we'll rely on rfind()
+ getinventorylist();
+ .@index=array_rfind(@inventorylist_id, PlushMouboo);
+ switch (@menu) {
+ case 2:
+ .@vartp=VAR_MAXHPPERCENT; .@bonus=75; break;
+ case 3:
+ .@vartp=IOPT_EXPGAIN; .@bonus=50; break;
+ case 4:
+ .@vartp=VAR_ATKPERCENT; .@bonus=50; break;
+ default:
+ Exception("Invalid menu entry: "+@menu, RB_SPEECH|RB_DEBUGMES|RB_PLEASEREPORT); .@vartp=any(VAR_ATKPERCENT, IOPT_EXPGAIN); .@bonus=50; break;
}
- } while (.@ref$ == "");
- showavatar NPC_NARD;
- }
-
+ setitemoptionbyindex(.@index, 0, .@vartp, .@bonus);
+ }
+ } while (@menu == 1);
+ Zeny+=50000;
+ getitem TimeFlask, 1;
+ getitem FatesPotion, 30;
+ getitem ReturnPotion, 100;
+ LOCATION$ = "Candor";
+ setq ShipQuests_Julia, 3;
close;
@@ -173,18 +158,14 @@ L_NotYet:
mes "";
select
rif(Zeny >= .@price, l("I've brought the money you've asked for.")),
- rif(#REFERRAL_PROG == 0 && $REFERRAL_ENABLED && BaseLevel <= 10,
- l("I forgot to say earlier, but indeed, I was invited by someone!")),
l("Captain, why have you brought me to a deserted boring island?!"),
l("I don't want to help your \"friends\", bring me to somewhere useful!"),
l("Please excuse me, captain.");
mes "";
if (@menu == 2)
- goto L_Referral;
- if (@menu == 3)
goto L_CandorIsland;
- if (@menu == 4)
+ if (@menu == 3)
goto L_NeedHelp;
mesn;
diff --git a/npc/commands/rate-management.txt b/npc/commands/rate-management.txt
index f04597ca9..f3e7ba77c 100644
--- a/npc/commands/rate-management.txt
+++ b/npc/commands/rate-management.txt
@@ -122,7 +122,7 @@ OnInit:
bindatcmd "exprate", "@exprate::OnCall", 80, 80, 1; // change exp rate
// WARNING: using @reloadscript will change the "original" value
- .original_exp_rate = 100;//getbattleflag("base_exp_rate");
+ .original_exp_rate = 300;//getbattleflag("base_exp_rate");
.current_rate = .original_exp_rate;
// XXX: maybe in the future:
@@ -149,17 +149,17 @@ OnReload:
stopnpctimer;
.hours = 0;
.max_hours = 0;
- .current_rate = 100;
- setbattleflag("item_rate_common", 100);
- setbattleflag("item_rate_common_boss", 100);
- setbattleflag("item_rate_heal", 100);
- setbattleflag("item_rate_heal_boss", 100);
- setbattleflag("item_rate_use", 100);
- setbattleflag("item_rate_use_boss", 100);
- setbattleflag("item_rate_equip", 100);
- setbattleflag("item_rate_equip_boss", 100);
- setbattleflag("item_rate_card", 100);
- setbattleflag("item_rate_card_boss", 100);
+ .current_rate = 1000;
+ setbattleflag("item_rate_common", 1000);
+ setbattleflag("item_rate_common_boss", 1000);
+ setbattleflag("item_rate_heal", 1000);
+ setbattleflag("item_rate_heal_boss", 1000);
+ setbattleflag("item_rate_use", 1000);
+ setbattleflag("item_rate_use_boss", 1000);
+ setbattleflag("item_rate_equip", 1000);
+ setbattleflag("item_rate_equip_boss", 1000);
+ setbattleflag("item_rate_card", 1000);
+ setbattleflag("item_rate_card_boss", 1000);
charcommand("@reloadmobdb"); // this is on purpose (callable without RID) - no idea what is the purpose
SeasonReload(1);
channelmes("#world", "The Drop Rate Bonus is now over.");
@@ -250,17 +250,17 @@ OnInit:
bindatcmd "droprate", "@droprate::OnCall", 80, 80, 1; // change drop rate
// WARNING: using @reloadscript will change the "original" value, use @reloadbattleconf before!
- .org_dcn = 100;//getbattleflag("item_rate_common");
- .org_dcb = 100;//getbattleflag("item_rate_common_boss");
- .org_dhn = 100;//getbattleflag("item_rate_heal");
- .org_dhb = 100;//getbattleflag("item_rate_heal_boss");
- .org_dun = 100;//getbattleflag("item_rate_use");
- .org_dub = 100;//getbattleflag("item_rate_use_boss");
- .org_den = 100;//getbattleflag("item_rate_equip");
- .org_deb = 100;//getbattleflag("item_rate_equip_boss");
- .org_dxn = 100;//getbattleflag("item_rate_card");
- .org_dxb = 100;//getbattleflag("item_rate_card_boss");
- .current_rate = 100;
+ .org_dcn = 1000;//getbattleflag("item_rate_common");
+ .org_dcb = 1000;//getbattleflag("item_rate_common_boss");
+ .org_dhn = 1000;//getbattleflag("item_rate_heal");
+ .org_dhb = 1000;//getbattleflag("item_rate_heal_boss");
+ .org_dun = 1000;//getbattleflag("item_rate_use");
+ .org_dub = 1000;//getbattleflag("item_rate_use_boss");
+ .org_den = 1000;//getbattleflag("item_rate_equip");
+ .org_deb = 1000;//getbattleflag("item_rate_equip_boss");
+ .org_dxn = 1000;//getbattleflag("item_rate_card");
+ .org_dxb = 1000;//getbattleflag("item_rate_card_boss");
+ .current_rate = 1000;
// XXX: maybe in the future:
//.original_job_rate = getbattleflag("base_job_rate");
diff --git a/npc/functions/daily.txt b/npc/functions/daily.txt
index 8f4b71551..9896d5304 100644
--- a/npc/functions/daily.txt
+++ b/npc/functions/daily.txt
@@ -88,26 +88,29 @@ function script daily_login_bonus_handler {
getitem BronzeGift, 1;
dispbottom l("##2 14 Days login bonus: ##B1x @@##b", getitemlink(BronzeGift));
} else if (#LOGIN_STREAK == 7) {
- getitem StrangeCoin, 3;
- dispbottom l("##2 7 Days login bonus: ##B3x @@##b", getitemlink(StrangeCoin));
+ getitem StrangeCoin, 30;
+ dispbottom l("##2 7 Days login bonus: ##B30x @@##b", getitemlink(StrangeCoin));
} else if (#LOGIN_STREAK == 3) {
- getitem StrangeCoin, 1;
- dispbottom l("##2 3 Days login bonus: ##B1x @@##b", getitemlink(StrangeCoin));
+ getitem StrangeCoin, 10;
+ dispbottom l("##2 3 Days login bonus: ##B10x @@##b", getitemlink(StrangeCoin));
} else if (#LOGIN_STREAK % 3 == 0) {
.@value=max(20, rand(0, (#LOGIN_STREAK*2)));
.@value+=(BaseLevel*2)+rand(JobLevel, JobLevel*3);
+ .@value*=20;
Zeny=Zeny+.@value;
dispbottom l("##2Daily login bonus: ##B@@ GP##b", .@value);
} else if (#LOGIN_STREAK % 3 == 2) {
.@value=max(5, rand(0, (#LOGIN_STREAK/4)));
.@value+=(BaseLevel**2);
.@value=(.@value/2)+#LOGIN_STREAK;
+ .@value*=20;
getexp .@value, 0;
dispbottom l("##2Daily login bonus: ##B@@ EXP##b", .@value);
} else {
.@value=max(5, rand(0, (#LOGIN_STREAK/4)));
.@value+=(JobLevel**2);
.@value=(.@value/3)+#LOGIN_STREAK;
+ .@value*=20;
getexp 0, .@value;
dispbottom l("##2Daily login bonus: ##B@@ Job Exp.##b", .@value);
}