diff options
-rw-r--r-- | conf/map/battle/drops.conf | 26 | ||||
-rw-r--r-- | conf/map/battle/exp.conf | 8 | ||||
-rw-r--r-- | db/re/exp_group_db.conf | 18 | ||||
-rw-r--r-- | npc/000-0/sailors.txt | 10 | ||||
-rw-r--r-- | npc/002-3/nard.txt | 103 | ||||
-rw-r--r-- | npc/commands/rate-management.txt | 46 | ||||
-rw-r--r-- | npc/functions/daily.txt | 11 |
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); } |