From dcc7ca895c41f98c56fd6c7b52fa091b7b5b159c Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Wed, 24 Jul 2019 23:17:52 -0300 Subject: Fix another code typo --- npc/003-1/wateranimation.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/npc/003-1/wateranimation.txt b/npc/003-1/wateranimation.txt index c1cecbe09..b3b58e8f5 100644 --- a/npc/003-1/wateranimation.txt +++ b/npc/003-1/wateranimation.txt @@ -42,7 +42,7 @@ OnInit: OnInit: .sex = G_OTHER; .distance = 4; - .rod=SmallFishingNet; + .fishing_rod=SmallFishingNet; .net_ratio=3; .catch_time=8000; // You have 3 more seconds to pull here .wait_time_min=8000; -- cgit v1.2.3-70-g09d2 From 0b2653945a56580957b373f92926876a593087b3 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 25 Jul 2019 21:32:12 -0300 Subject: Lower Kreist mob request from 100 to 80. Lower Frostia Generals mob request from 100 to 50. --- npc/003-10/kreist.txt | 14 +++++++------- npc/024-16/generals.txt | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/npc/003-10/kreist.txt b/npc/003-10/kreist.txt index 510574a98..4ddca7a14 100644 --- a/npc/003-10/kreist.txt +++ b/npc/003-10/kreist.txt @@ -73,9 +73,9 @@ L_QuestMaster: } // Maybe you finished the quest? - if (.@q3 >= 100) { + if (.@q3 >= 80) { mesn l("Kreist, Taskmaster"); - mesq l("Good job, you've killed the 100 @@ and reported back in time!", getmonsterlink(.@q2)); + mesq l("Good job, you've killed the @@ @@ and reported back in time!", 80, getmonsterlink(.@q2)); next; inventoryplace MercBoxA, 1; if (MERCENARY_DAILYQUEST == 100) { @@ -98,7 +98,7 @@ L_QuestMaster: } mesn l("Kreist, Taskmaster"); - mesq l("So, please kill @@/100 @@ for us and make the world a safer place!", .@q3, getmonsterlink(.@q2)); + mesq l("So, please kill @@/@@ @@ for us and make the world a safer place!", .@q3, 80, getmonsterlink(.@q2)); close; OnInit: @@ -133,7 +133,7 @@ function script Guardhouse_RandQuestCheck { .@q3=getq3(General_MobHunting1)+1; setq3 General_MobHunting1, .@q3; if (!(.@q3 % 10)) - dispbottom l("@@/100 @@ killed", .@q3, getmonsterlink(.@mobId)); + dispbottom l("@@/@@ @@ killed", .@q3, 80, getmonsterlink(.@mobId)); } // Medium Task @@ -142,7 +142,7 @@ function script Guardhouse_RandQuestCheck { .@q3=getq3(General_MobHunting2)+1; setq3 General_MobHunting2, .@q3; if (!(.@q3 % 10)) - dispbottom l("@@/100 @@ killed", .@q3, getmonsterlink(.@mobId)); + dispbottom l("@@/@@ @@ killed", .@q3, 80, getmonsterlink(.@mobId)); } // Hard Task @@ -151,7 +151,7 @@ function script Guardhouse_RandQuestCheck { .@q3=getq3(General_MobHunting3)+1; setq3 General_MobHunting3, .@q3; if (!(.@q3 % 10)) - dispbottom l("@@/100 @@ killed", .@q3, getmonsterlink(.@mobId)); + dispbottom l("@@/@@ @@ killed", .@q3, 80, getmonsterlink(.@mobId)); } // Frostia's Task @@ -160,7 +160,7 @@ function script Guardhouse_RandQuestCheck { .@q3=getq3(General_MobHunting4)+1; setq3 General_MobHunting4, .@q3; if (!(.@q3 % 10)) - dispbottom l("@@/100 @@ killed", .@q3, getmonsterlink(.@mobId)); + dispbottom l("@@/@@ @@ killed", .@q3, 50, getmonsterlink(.@mobId)); } return; diff --git a/npc/024-16/generals.txt b/npc/024-16/generals.txt index e540da4e1..ca988134e 100644 --- a/npc/024-16/generals.txt +++ b/npc/024-16/generals.txt @@ -27,9 +27,9 @@ function script FrostiaTaskMaster { } // Maybe you finished the quest? - if (.@q3 >= 100) { + if (.@q3 >= 50) { mesn; - mesq l("Good job, you've killed the 100 @@ and reported back in time!", getmonsterlink(.@q2)); + mesq l("Good job, you've killed the @@ @@ and reported back in time!", 50, getmonsterlink(.@q2)); next; mesn; mesq l("It's not much of a reward, but doesn't it feels great to help others in need?! HAHAHA!"); @@ -43,7 +43,7 @@ function script FrostiaTaskMaster { } mesn; - mesq l("Please kill @@/100 @@ for us and make the world a safer place!", .@q3, getmonsterlink(.@q2)); + mesq l("Please kill @@/@@ @@ for us and make the world a safer place!", .@q3, 50, getmonsterlink(.@q2)); return false; } -- cgit v1.2.3-70-g09d2 From ded8a295185c84588943e57202d43131c2f9817e Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 25 Jul 2019 21:47:17 -0300 Subject: Noob EXP-Up messages --- npc/002-3/elmo.txt | 1 + npc/002-3/nard.txt | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/npc/002-3/elmo.txt b/npc/002-3/elmo.txt index ee36f8e2b..3aa022b19 100644 --- a/npc/002-3/elmo.txt +++ b/npc/002-3/elmo.txt @@ -151,6 +151,7 @@ function ExpBoost { .@BONUS=.@AVG_LEVEL/4; sc_end SC_OVERLAPEXPUP; sc_start SC_OVERLAPEXPUP, 3600000, min(25, .@BONUS); + mesc l("EXP Gain raised in @@% for one hour!", min(25, .@BONUS)), 2; return; } diff --git a/npc/002-3/nard.txt b/npc/002-3/nard.txt index ca3eb852e..bd0fa8109 100644 --- a/npc/002-3/nard.txt +++ b/npc/002-3/nard.txt @@ -67,7 +67,7 @@ L_Checker: sc_end SC_OVERLAPEXPUP; sc_start SC_OVERLAPEXPUP, 3600000, min(25, .@BONUS); specialeffect FX_SPECIAL, SELF, getcharid(3); - mesc l("EXP Gain raised in @@% for one hour!", .@BONUS), 2; + mesc l("EXP Gain raised in @@% for one hour!", min(25, .@BONUS)), 2; next; showavatar NPC_NARD; mesn; -- cgit v1.2.3-70-g09d2 From 2ef5a7e5874c4a90a06df896177861409fdb7b79 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 25 Jul 2019 21:53:46 -0300 Subject: Make visible for other players, the following SC: ATTHASTE (1,2,3), WINDWALK, PLUSATK, PLUSMATK, (S,M,L)_LIFEPOT, CRITPERC, PLUSAVOID, INCHIT. Remembering SC_INC*, apart for INCHIT remain without flags. Same for ATTHASTE INFINITY and G_LIFEPOT. --- db/sc_config.txt | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/db/sc_config.txt b/db/sc_config.txt index 2155aef3d..75f2b9000 100644 --- a/db/sc_config.txt +++ b/db/sc_config.txt @@ -44,9 +44,9 @@ SC_MAXIMIZEPOWER, 16 SC_TRICKDEAD, 26 SC_SHOUT, 16 SC_ENERGYCOAT, 16 -SC_ATTHASTE_POTION1, 24 -SC_ATTHASTE_POTION2, 24 -SC_ATTHASTE_POTION3, 16 +SC_ATTHASTE_POTION1, 280 +SC_ATTHASTE_POTION2, 280 +SC_ATTHASTE_POTION3, 272 SC_MOVHASTE_POTION, 26 //SC_POSTDELAY, 29 SC_BARRIER, 16 @@ -97,7 +97,7 @@ SC_VIOLENTGALE, 26 SC_MAGICPOWER, 18 SC_EDP, 23 SC_TRUESIGHT, 18 -SC_WINDWALK, 18 +SC_WINDWALK, 274 SC_MELTDOWN, 23 SC_CARTBOOST, 23 SC_BLOODING, 26 @@ -113,8 +113,8 @@ SC_PROPERTYDARK, 26 SC_ADRENALINE2, 18 SC_PROPERTYTELEKINESIS, 26 SC_SOULLINK, 26 -SC_PLUSATTACKPOWER, 88 -SC_PLUSMAGICPOWER, 88 +SC_PLUSATTACKPOWER, 344 +SC_PLUSMAGICPOWER, 344 SC_KAITE, 26 SC_KAAHI, 26 SC_KAUPE, 26 @@ -215,10 +215,10 @@ SC_MOVHASTE_HORSE, 31 SC_PROTECT_DEF, 28 SC_PROTECT_MDEF, 28 SC_HEALPLUS, 92 -SC_S_LIFEPOTION, 92 -SC_L_LIFEPOTION, 92 -SC_CRITICALPERCENT, 92 -SC_PLUSAVOIDVALUE, 92 +SC_S_LIFEPOTION, 348 +SC_L_LIFEPOTION, 348 +SC_CRITICALPERCENT, 348 +SC_PLUSAVOIDVALUE, 348 SC_ATKER_ASPD, 28 SC_TARGET_ASPD, 92 SC_ATKER_MOVESPEED, 28 @@ -435,7 +435,7 @@ SC_GEFFEN_MAGIC2, 14 SC_GEFFEN_MAGIC3, 14 SC_OVERLAPEXPUP, 12 -SC_M_LIFEPOTION, 68 +SC_M_LIFEPOTION, 324 // Guild Auras should not be saved SC_LEADERSHIP,78 @@ -471,7 +471,7 @@ SC_HUMMING, 79 SC_DONTFORGETME, 79 SC_FORTUNE, 79 SC_SERVICEFORYOU, 79 -SC_INCHIT, 77 +SC_INCHIT, 333 SC_PUSH_CART, 461 SC_COLD, 256 SC_BLOOD_SUCKER, 256 -- cgit v1.2.3-70-g09d2 From 36a03de451ec5add5734f0fc3871fdcf60471b1e Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 25 Jul 2019 21:56:43 -0300 Subject: Note: Do we want to Alcohol effects to wear off in case of death? --- npc/items/alcohol.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/npc/items/alcohol.txt b/npc/items/alcohol.txt index fd9aa0f07..6ce2293a3 100644 --- a/npc/items/alcohol.txt +++ b/npc/items/alcohol.txt @@ -15,7 +15,7 @@ // When drunk, attack speed is lowered but exp gain is increased. // Attack Speed Reductor: SC_ATTHASTE_INFINITY // Max HP Reductor: SC_INCMHPRATE -// EXP Increaser: SC_CASH_PLUSEXP +// EXP Increaser: SC_CASH_PLUSEXP (not reset upon death), SC_OVERLAPEXPUP (reset upon death) - script alcohol_sc -1,{ -- cgit v1.2.3-70-g09d2 From 7c53677b79dbc4d79f9964475c22193471c54b47 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 25 Jul 2019 21:59:26 -0300 Subject: SC_ATTHASTE_POTION2 won't be cleared upon death anymore. --- db/sc_config.txt | 2 +- npc/items/alcohol.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/db/sc_config.txt b/db/sc_config.txt index 75f2b9000..475815833 100644 --- a/db/sc_config.txt +++ b/db/sc_config.txt @@ -45,7 +45,7 @@ SC_TRICKDEAD, 26 SC_SHOUT, 16 SC_ENERGYCOAT, 16 SC_ATTHASTE_POTION1, 280 -SC_ATTHASTE_POTION2, 280 +SC_ATTHASTE_POTION2, 281 SC_ATTHASTE_POTION3, 272 SC_MOVHASTE_POTION, 26 //SC_POSTDELAY, 29 diff --git a/npc/items/alcohol.txt b/npc/items/alcohol.txt index 6ce2293a3..4f132fd52 100644 --- a/npc/items/alcohol.txt +++ b/npc/items/alcohol.txt @@ -13,7 +13,7 @@ // ALC_THRESHOLD How drunk you are (the bonus) // // When drunk, attack speed is lowered but exp gain is increased. -// Attack Speed Reductor: SC_ATTHASTE_INFINITY +// Attack Speed Reductor: SC_ATTHASTE_INFINITY (reset upon death), SC_ATTHASTE_POTION2 (not reset upon death) // Max HP Reductor: SC_INCMHPRATE // EXP Increaser: SC_CASH_PLUSEXP (not reset upon death), SC_OVERLAPEXPUP (reset upon death) -- cgit v1.2.3-70-g09d2 From e8453063f688ab75f6cd31a4f8d8b63aaebb8208 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 25 Jul 2019 22:06:55 -0300 Subject: Raise Alcohol EXPUP values and expire them on death. Beer: +5% EXP, Wine: +12% EXP. All values can go up to double with players, capped to the number of players on a 10x10 square from you. --- db/re/item_db.conf | 4 ++-- npc/items/alcohol.txt | 20 ++++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/db/re/item_db.conf b/db/re/item_db.conf index f3aacf0c3..b20e20f07 100644 --- a/db/re/item_db.conf +++ b/db/re/item_db.conf @@ -766,7 +766,7 @@ item_db: ( Delay: 500 UseEffect: "EFFECT_HEAL" Script: <" - @taste = 8; + @taste = 12; @Alcohol = 16; doevent "alcohol_sc::OnUse"; "> @@ -941,7 +941,7 @@ item_db: ( @type = 1; @rarity=4; doevent "rand_sc_heal::OnUse"; - @taste = 3; + @taste = 5; @Alcohol = 7; doevent "alcohol_sc::OnUse"; "> diff --git a/npc/items/alcohol.txt b/npc/items/alcohol.txt index 4f132fd52..81c6a6bd0 100644 --- a/npc/items/alcohol.txt +++ b/npc/items/alcohol.txt @@ -49,27 +49,27 @@ OnUse: // Default value is 1 minute per alcohol point - you'll be somber after at most two hours. // Taste is affected by users near you. - // Each user raises exp bonus in 1%, capped to twice the beverage taste + // Each user raises exp bonus in 1%, capped to the beverage taste // If you are with many people, drink a better beverage! ;-) getmapxy(.@m$, .@x, .@y, 0); .@bonus=getareausers(.@m$, .@x-10, .@y-10, .@x+10, .@y+10)-1; - @taste+=min(@taste*2, .@bonus); + @taste+=min(@taste, .@bonus); // Alcohol EXP Bonus - ponderate average, so having more VIT doesn't means // more experience - only more time (be careful when mixing alcohol!) - .@v=remaining_bonus(SC_CASH_PLUSEXP, true); - .@t=remaining_bonus(SC_CASH_PLUSEXP, false)/1000; + .@v=remaining_bonus(SC_OVERLAPEXPUP, true); + .@t=remaining_bonus(SC_OVERLAPEXPUP, false)/1000; if (.@t) .@val1 = ponderate_avg(@taste, @Alcohol, .@v, .@t); else .@val1 = @taste; // Put the delay in ms. - .@delay = remaining_bonus(SC_CASH_PLUSEXP, false); + .@delay = remaining_bonus(SC_OVERLAPEXPUP, false); .@delay = .@t + @Alcohol*.@deltatime; // Reset EXP Bonus based on the new cumulative delay and average exp bonus - sc_end SC_CASH_PLUSEXP; - sc_start SC_CASH_PLUSEXP, .@delay, .@val1; + sc_end SC_OVERLAPEXPUP; + sc_start SC_OVERLAPEXPUP, .@delay, .@val1; // Recalculate Alcohol Threshold and time ALC_THRESHOLD+=@Alcohol; @@ -78,11 +78,11 @@ OnUse: ALC_DELAYTIME+=@Alcohol*.@deltatime; // Debug comment if you need to check stuff - //debugmes "%d %d | %d %d | f t ", remaining_bonus(SC_CASH_PLUSEXP, false), remaining_bonus(SC_CASH_PLUSEXP, true), remaining_bonus(SC_ATTHASTE_INFINITY, false), remaining_bonus(SC_ATTHASTE_INFINITY, true); + //debugmes "%d %d | %d %d | f t ", remaining_bonus(SC_OVERLAPEXPUP, false), remaining_bonus(SC_OVERLAPEXPUP, true), remaining_bonus(SC_ATTHASTE_INFINITY, false), remaining_bonus(SC_ATTHASTE_INFINITY, true); // For debuff I'll use inc_sc_bonus utilities (exp gain = atk speed loss) - @min=-(remaining_bonus(SC_CASH_PLUSEXP, true)*2); - @max=-(remaining_bonus(SC_CASH_PLUSEXP, true)*2); + @min=-(remaining_bonus(SC_OVERLAPEXPUP, true)*2); + @max=-(remaining_bonus(SC_OVERLAPEXPUP, true)*2); @type=SC_ATTHASTE_INFINITY; @delay=@Alcohol*(.@deltatime/1000); doevent "inc_sc_bonus::OnUse"; -- cgit v1.2.3-70-g09d2 From 520f977abd7cc385064310598af7fba49b87829e Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 25 Jul 2019 22:30:00 -0300 Subject: Tolchi Arrow cannot be sold anymore (fix GP exploit). Giant Maggot Tolchi-Arrow-Box increase drop rate 5% -> 7% --- db/re/item_db.conf | 2 +- db/re/mob_db.conf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/db/re/item_db.conf b/db/re/item_db.conf index b20e20f07..0b77e683b 100644 --- a/db/re/item_db.conf +++ b/db/re/item_db.conf @@ -13011,7 +13011,7 @@ item_db: ( Name: "Tolchi Arrow" Type: "IT_AMMO" Buy: 2 - Sell: 1 + Sell: 0 Weight: 2 Atk: 15 Loc: "EQP_AMMO" diff --git a/db/re/mob_db.conf b/db/re/mob_db.conf index 6b4ebc967..a29e91046 100644 --- a/db/re/mob_db.conf +++ b/db/re/mob_db.conf @@ -1201,7 +1201,7 @@ mob_db: ( CactusPotion: 3000 Arrow: 900 BugLeg: 800 - TolchiAmmoBox: 500 + TolchiAmmoBox: 700 CherryCake: 350 CoinBag: 200 EmptyBox: 125 -- cgit v1.2.3-70-g09d2 From e7bd6246f00be7d7978d4ebfd0511f777145f2d7 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 25 Jul 2019 22:31:26 -0300 Subject: Raise Mana Bug drop too --- db/re/mob_db.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/re/mob_db.conf b/db/re/mob_db.conf index a29e91046..278d53807 100644 --- a/db/re/mob_db.conf +++ b/db/re/mob_db.conf @@ -2797,7 +2797,7 @@ mob_db: ( CactusPotion: 300 Plushroom: 100 Chagashroom: 100 - TolchiAmmoBox: 50 + TolchiAmmoBox: 80 CottonCloth: 37 BlueManaPearl: 1 } -- cgit v1.2.3-70-g09d2 From d0a37396ebaa04a3ea9375dace4c5123dcbaf8d7 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 25 Jul 2019 22:41:43 -0300 Subject: Candor Scorpion: New Drop: Tolchi Ammo Box (4%) --- db/re/mob_db.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/db/re/mob_db.conf b/db/re/mob_db.conf index 278d53807..679d6d462 100644 --- a/db/re/mob_db.conf +++ b/db/re/mob_db.conf @@ -2699,6 +2699,7 @@ mob_db: ( Drops: { BugLeg: 720 ScorpionStinger: 550 + TolchiAmmoBox: 400 Piberries: 200 Candy: 100 ScorpionClaw: 90 -- cgit v1.2.3-70-g09d2 From f0e41f9bc28f2f966984ed06ab8b0d83cef6c0f9 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 25 Jul 2019 22:45:05 -0300 Subject: Raise Lockpick drop rate --- db/re/mob_db.conf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/db/re/mob_db.conf b/db/re/mob_db.conf index 679d6d462..d23b91ecd 100644 --- a/db/re/mob_db.conf +++ b/db/re/mob_db.conf @@ -905,7 +905,7 @@ mob_db: ( RedApple: 300 LeatherPatch: 200 Dagger: 90 - Lockpicks: 50 + Lockpicks: 70 GoldPieces: 3 BanditPants: 1 } @@ -2209,7 +2209,7 @@ mob_db: ( RedApple: 400 LeatherPatch: 240 CoinBag: 125 - Lockpicks: 50 + Lockpicks: 100 Dagger: 20 GoldPieces: 3 } @@ -6049,7 +6049,7 @@ mob_db: ( BanditHood: 800 CoinBag: 500 RedApple: 300 - Lockpicks: 50 + Lockpicks: 80 ShortBow: 6 GoldPieces: 4 BanditPants: 1 -- cgit v1.2.3-70-g09d2 From d2f065bd76a65cf2162f2e61d8d753adbcd3a4f0 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 25 Jul 2019 22:46:37 -0300 Subject: Stealing a vault will now take all money, and then, magically, a few GP will appear on them, to pay for the lockpick (gameplay OK, lore not so much). --- npc/017-3/vault.txt | 4 ++-- npc/018-2-4/vault.txt | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/npc/017-3/vault.txt b/npc/017-3/vault.txt index 64678e95f..7866701ac 100644 --- a/npc/017-3/vault.txt +++ b/npc/017-3/vault.txt @@ -11,7 +11,7 @@ // 2*3 = 6 possibilities, 5 attempts if (LockPicking(2, 3)) { Zeny=Zeny+$VAULT_01738039; - $VAULT_01738039=0; + $VAULT_01738039=40; mesn; mesq l("Booty!"); } else { @@ -49,7 +49,7 @@ OnInit: OnClock0201: OnClock1418: - $VAULT_01738039+=rand(5,25); + $VAULT_01738039+=rand2(5,25); end; } diff --git a/npc/018-2-4/vault.txt b/npc/018-2-4/vault.txt index 7b778abdd..4466cb2dc 100644 --- a/npc/018-2-4/vault.txt +++ b/npc/018-2-4/vault.txt @@ -11,7 +11,7 @@ // 3*3 = 9 possibilities, 6~8 attempts if (LockPicking(3, 3)) { Zeny=Zeny+$VAULT_01824; - $VAULT_01824=0; + $VAULT_01824=60; mesn; mesq l("Booty!"); } else { @@ -49,7 +49,7 @@ OnInit: OnClock0201: OnClock1216: - $VAULT_01824+=rand(15,35); + $VAULT_01824+=rand2(15,35); end; } -- cgit v1.2.3-70-g09d2 From 167fd5cc757f36654e09443a45e5324598af50f9 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 25 Jul 2019 22:48:26 -0300 Subject: Remove Merchant Police gameplay --- npc/017-3/vault.txt | 20 ----------- npc/018-2-4/vault.txt | 20 ----------- npc/functions/TODO.txt | 96 -------------------------------------------------- npc/scripts.conf | 1 - 4 files changed, 137 deletions(-) delete mode 100644 npc/functions/TODO.txt diff --git a/npc/017-3/vault.txt b/npc/017-3/vault.txt index 7866701ac..9f48bc3be 100644 --- a/npc/017-3/vault.txt +++ b/npc/017-3/vault.txt @@ -5,7 +5,6 @@ // Based on BenB idea. 017-3,80,39,0 script Vault NPC_NO_SPRITE,{ - if (MERC_RANK) goto L_Debug; mesn; mesq l("There's a shiny safe here. How much money is inside? Nobody is looking at you, great!"); // 2*3 = 6 possibilities, 5 attempts @@ -24,25 +23,6 @@ } close; -// TODO: And remove from here. -L_Debug: - mesn; - mesq l("Thiefs frequently attack this vault, and locking it again is a pain. If you break the lock you'll need to pay 100 GP."); - if (Zeny < 100) - close; - // 2*3 = 6 possibilities, 5 attempts - if (ToDoMerc(2, 3)) { - getexp 20, 60; - $VAULT_01738039+=2; - mesn; - mesq l("Safe again! You've gained some experience for your hard work!"); - } else { - mesn; - mesq l("Dargh, you broke the lock!!"); - Zeny-=100; - } - close; - OnInit: .distance=3; end; diff --git a/npc/018-2-4/vault.txt b/npc/018-2-4/vault.txt index 4466cb2dc..541a53645 100644 --- a/npc/018-2-4/vault.txt +++ b/npc/018-2-4/vault.txt @@ -5,7 +5,6 @@ // Based on BenB idea. 018-2-4,23,24,0 script Vault#01824a NPC_NO_SPRITE,{ - if (MERC_RANK) goto L_Debug; mesn; mesq l("There's a shiny safe here. How much money is inside? Nobody is looking at you, great!"); // 3*3 = 9 possibilities, 6~8 attempts @@ -24,25 +23,6 @@ } close; -// TODO: And remove from here. -L_Debug: - mesn; - mesq l("Thiefs frequently attack this vault, and locking it again is a pain. If you break the lock you'll need to pay 100 GP."); - if (Zeny < 100) - close; - // 2*3 = 6 possibilities, 5 attempts - if (ToDoMerc(3, 3)) { - getexp 20, 90; - $VAULT_01824+=2; - mesn; - mesq l("Safe again! You've gained some experience for your hard work!"); - } else { - mesn; - mesq l("Dargh, you broke the lock!!"); - Zeny-=100; - } - close; - OnInit: .distance=3; end; diff --git a/npc/functions/TODO.txt b/npc/functions/TODO.txt deleted file mode 100644 index 8060fe579..000000000 --- a/npc/functions/TODO.txt +++ /dev/null @@ -1,96 +0,0 @@ -// TMW2/LoF Script -// Author: -// Jesusalva -// Description: -// ToDo - Please disregard for now - -// Important variables: -// MERC_EXP -// Experience on Thief Tree -// MERC_RANK -// Position on the Thief Tree - -// ToDoMerc(num_pins, max_pins) -// Returns 0 upon failure, 1 upon success -// Closes script if an error happen or if you give up / cannot try. -// -// The 'next' is upon script responsability -// Maximum pin number is infinite. Maximum Pin Positiors range from 2~5. -// If you fail, you can end up having to start again. If you fail too much, -// you'll be caught! -function script ToDoMerc { - // If you don't have a LockPick, you can't do this (useless) - if (!countitem(Lockpicks)) { - mesc l("You need a @@ to try this.", getitemlink(Lockpicks)), 1; - close; - } - - .@d=getarg(0,1); - .@m=getarg(1,3); - - // Invalid Argument (kill script) - if (.@d < 1 || .@m < 2 || .@m > 5) - end; - - // You must be rank (number of locks - 1) to try - if (MERC_RANK+1 < .@d) { - mesc l("This lock is beyond your current capacity."), 1; - close; - } - - // Create @pins array (the answer) - for (.@i=0; .@i < .@d;.@i++) - @pins[.@i] = rand(1,.@m); - - // Check if you'll try to open it. - mesc l("I'm not sure exactly what we are trying to do, but you seem to need to resolve this puzzle."); - mesc l("Will you try to unlock it?"); - if (askyesno() == ASK_NO) - close; - - // Setup your attempt - delitem Lockpicks, 1; - @pos=0; - mesc l("There are only @@ pins to set.", .@d); - - // You have as many attempts as pins and appliable strenghts. - // Each merc rank grants you an extra attempt. - // Each pin takes one attempt. - // It's not multiplied, so 3 pins with 3 positions: 6 chances, 9 possibilities. - // There's no penalty, but the attempt is counted working or not! - // Remember if you fail, all previous pins will be cleared (@pos) - for (.@i=0; .@i < (.@d+.@m+MERC_RANK) ; .@i++) { - mesc l("You are trying to lock the @@th pin. What will to do?", @pos+1); - - menuint - rif(.@m >= 4, l("Apply no pressure")), 4, - rif(.@m >= 2, l("Apply soft pressure")), 2, - rif(.@m >= 1, l("Apply normal pressure")), 1, - rif(.@m >= 3, l("Apply strong pressure")), 3, - rif(.@m >= 5, l("Apply very strong pressure")), 5, - l("Give up!"), 0; - - if (!@menuret) - close; - - // Is your guess correct? - if (@pins[@pos] == @menuret) { - mesc l("*click*"); - @pos+=1; - } else { - mesc l("This didn't work. All pins are now unlocked!"); - @pos=0; - // We don't need to clear console, each successful attempt IS counted. - // Therefore, unsetting 3 pins means you must do 3 new attempts!! - // The biggie is that you're running against time, here!!! - } - - if (@pos >= .@d) { - MERC_EXP += .@d*.@m-MERC_RANK; - return 1; - } - } - - MERC_EXP += 1; - return 0; -} diff --git a/npc/scripts.conf b/npc/scripts.conf index 3c2abaae8..a4ab72b4a 100644 --- a/npc/scripts.conf +++ b/npc/scripts.conf @@ -47,7 +47,6 @@ "npc/functions/guild.txt", "npc/functions/hammocks.txt", "npc/functions/lockpicks.txt", -"npc/functions/TODO.txt", "npc/functions/marriage.txt", "npc/functions/mobpoint.txt", "npc/functions/mobhunter.txt", -- cgit v1.2.3-70-g09d2 From 516183a04d27abd40eade9fed79d956a795fbcc9 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 25 Jul 2019 22:48:53 -0300 Subject: Remove Merchant Police inscriptions. --- npc/003-1/constableperry.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/npc/003-1/constableperry.txt b/npc/003-1/constableperry.txt index 04f2e03cb..934aa776d 100644 --- a/npc/003-1/constableperry.txt +++ b/npc/003-1/constableperry.txt @@ -7,7 +7,7 @@ // Part of the THIEF/MERCHANT branches 003-1,47,75,0 script Constable Perry NPC_MOUBOO,{ - if (JobLevel > 20 && THIEF_RANK == 0) goto L_Quest; + //if (JobLevel > 20 && THIEF_RANK == 0) goto L_Quest; L_Intro: mesn; -- cgit v1.2.3-70-g09d2 From 693472fb909c05356e7172eda25918095ed530cc Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 25 Jul 2019 22:51:54 -0300 Subject: Remove the entry to remove item options from Nicholas (useless) --- npc/012-5/nicholas.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/npc/012-5/nicholas.txt b/npc/012-5/nicholas.txt index 324585247..7ffbd14d5 100644 --- a/npc/012-5/nicholas.txt +++ b/npc/012-5/nicholas.txt @@ -90,7 +90,7 @@ L_Menu: l("I want to forge One Handed Weapons!"), l("I want to forge Shields!"), l("I want to forge Quivers!"), - rif(getskilllv(TMW2_CRAFT), l("I would like to remove an item options")), + rif(is_staff() && getskilllv(TMW2_CRAFT), l("I would like to remove an item options")), rif(getskilllv(TMW2_CRAFT), l("I would like to change an item options")), l("Nothing, thanks!"); -- cgit v1.2.3-70-g09d2 From 7c9f31a5156d56638592844b33d5f9360758af6a Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 25 Jul 2019 23:25:48 -0300 Subject: Transfer ALL_INCCARRY to Trickmaster. Updater: Remove Merchant Police --- npc/003-0/trickmaster.txt | 5 +++++ npc/functions/clientversion.txt | 11 +++++++++++ 2 files changed, 16 insertions(+) diff --git a/npc/003-0/trickmaster.txt b/npc/003-0/trickmaster.txt index 19c590955..f8b3a8110 100644 --- a/npc/003-0/trickmaster.txt +++ b/npc/003-0/trickmaster.txt @@ -19,6 +19,7 @@ "freecast", SA_FREECAST, "backslide", TF_BACKSLIDING, "firewall", MG_FIREWALL, + "inccarry", ALL_INCCARRY, "fullthrottle", ALL_FULL_THROTTLE, "darkillusion", GC_DARKILLUSION, "trickdead", NV_TRICKDEAD, @@ -40,6 +41,10 @@ if (!mlearn(MG_FIREWALL, 10, 1, Lockpicks, 1)) mesc l("You do not meet all requisites for this skill."), 1; break; + case ALL_INCCARRY: + if (!mlearn(ALL_INCCARRY, 2, 1, Lockpicks, 1)) + mesc l("You do not meet all requisites for this skill."), 1; + break; case ALL_FULL_THROTTLE: if (!mlearn(ALL_FULL_THROTTLE, 1, 1, Lockpicks, 1)) mesc l("You do not meet all requisites for this skill."), 1; diff --git a/npc/functions/clientversion.txt b/npc/functions/clientversion.txt index 98dc820c1..fdc6b7bc3 100644 --- a/npc/functions/clientversion.txt +++ b/npc/functions/clientversion.txt @@ -288,6 +288,17 @@ function script clientupdater { RECIPES_EQUIPMENT[CraftDagger]=true; dispbottom l("Dagger Crafting recipe learnt."); } + // Mercenary Rank removed + if (MERC_RANK) { + THIEF_RANK=MERC_RANK; + MERC_RANK=0; + dispbottom l("Your class has been changed from %s to %s.", b(l("Merchant Police")), b(l("Thief"))); + } + if (getskilllv(ALL_INCCARRY)) { + skill TF_STEAL, getskilllv(ALL_INCCARRY); + setskill ALL_INCCARRY, 0; + dispbottom l("Increase Weight skill replaced with Stealing."); + } // Cleanup deletearray RNGTREASURE_DATE; } -- cgit v1.2.3-70-g09d2 From 399abe81e82adf417b8b4ff9a57f36b908b5490c Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 25 Jul 2019 23:32:58 -0300 Subject: Remove Magic Wizard class, replace with Magic Warrior (ID-effect only) --- npc/003-3/malindou.txt | 2 ++ npc/functions/clientversion.txt | 2 ++ 2 files changed, 4 insertions(+) diff --git a/npc/003-3/malindou.txt b/npc/003-3/malindou.txt index 75235f9bf..21bcf2279 100644 --- a/npc/003-3/malindou.txt +++ b/npc/003-3/malindou.txt @@ -411,9 +411,11 @@ OnInit: query_sql("UPDATE `char` SET `last_x` = '22' WHERE `char`.`last_map`='005-1'"); query_sql("UPDATE `char` SET `last_y` = '22' WHERE `char`.`last_map`='005-1'"); query_sql("UPDATE `char` SET `last_map` = '000-1' WHERE `char`.`last_map`='005-1'"); + query_sql("UPDATE `skill` SET `id` = '20010' WHERE `skill`.`id`='20011'"); $UPDATE=1563239400; debugmes ""; debugmes "* Candor Redesign"; + debugmes "* Magic Class Removed"; debugmes ""; } diff --git a/npc/functions/clientversion.txt b/npc/functions/clientversion.txt index fdc6b7bc3..aee039e29 100644 --- a/npc/functions/clientversion.txt +++ b/npc/functions/clientversion.txt @@ -299,6 +299,8 @@ function script clientupdater { setskill ALL_INCCARRY, 0; dispbottom l("Increase Weight skill replaced with Stealing."); } + // NEW MAGIC SYSTEM + // Cleanup deletearray RNGTREASURE_DATE; } -- cgit v1.2.3-70-g09d2 From c814b4ebd094ab7d1bc419106386bb64b8d2266e Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 25 Jul 2019 23:36:02 -0300 Subject: Sharpshooting - Replace skill --- npc/functions/clientversion.txt | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/npc/functions/clientversion.txt b/npc/functions/clientversion.txt index aee039e29..0db2905f3 100644 --- a/npc/functions/clientversion.txt +++ b/npc/functions/clientversion.txt @@ -274,6 +274,7 @@ function script clientupdater { // seg jul 15 16:41:35 -03 2019 if (UPDATE < 1563219695) { UPDATE=1563219695; + .@dg=true; // You got recipe book by BSS Quest - mark as complete and get Blueprint if (getq(NivalisQuest_BlueSageSlimes) == 2) { getitem any(AncientBlueprint, AlchemyBlueprintA, EquipmentBlueprintA), 1; @@ -286,21 +287,27 @@ function script clientupdater { // If you have TMW2_CRAFT skill, you need the bonus recipe if (getskilllv(TMW2_CRAFT)) { RECIPES_EQUIPMENT[CraftDagger]=true; - dispbottom l("Dagger Crafting recipe learnt."); + mesc l("Dagger Crafting recipe learnt."); } // Mercenary Rank removed if (MERC_RANK) { THIEF_RANK=MERC_RANK; MERC_RANK=0; - dispbottom l("Your class has been changed from %s to %s.", b(l("Merchant Police")), b(l("Thief"))); + mesc l("Your class has been changed from %s to %s.", b(l("Merchant Police")), b(l("Thief"))); } if (getskilllv(ALL_INCCARRY)) { skill TF_STEAL, getskilllv(ALL_INCCARRY); setskill ALL_INCCARRY, 0; - dispbottom l("Increase Weight skill replaced with Stealing."); + mesc l("Increase Weight skill replaced with Stealing."); } // NEW MAGIC SYSTEM - + if (getskilllv(SN_SHARPSHOOTING)) { + skill AC_CHARGEARROW, getskilllv(SN_SHARPSHOOTING); + setskill AC_CHARGEARROW, 0; + getexp 2000, 150; + mesc l("Sharpshooting skill replaced with Charged Arrow."); + mesc l("You've got 2000 xp and 150 job xp in apology tokens."); + } // Cleanup deletearray RNGTREASURE_DATE; } -- cgit v1.2.3-70-g09d2 From dbbf74820460507dc354eaf9cc1d4b4dd4671f95 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 25 Jul 2019 23:43:07 -0300 Subject: This will be the loop for removing skills --- npc/functions/clientversion.txt | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/npc/functions/clientversion.txt b/npc/functions/clientversion.txt index 0db2905f3..9fb238dfd 100644 --- a/npc/functions/clientversion.txt +++ b/npc/functions/clientversion.txt @@ -297,17 +297,43 @@ function script clientupdater { } if (getskilllv(ALL_INCCARRY)) { skill TF_STEAL, getskilllv(ALL_INCCARRY); - setskill ALL_INCCARRY, 0; + skill ALL_INCCARRY, 0, 0; mesc l("Increase Weight skill replaced with Stealing."); } // NEW MAGIC SYSTEM if (getskilllv(SN_SHARPSHOOTING)) { skill AC_CHARGEARROW, getskilllv(SN_SHARPSHOOTING); - setskill AC_CHARGEARROW, 0; + skill AC_CHARGEARROW, 0, 0; getexp 2000, 150; mesc l("Sharpshooting skill replaced with Charged Arrow."); mesc l("You've got 2000 xp and 150 job xp in apology tokens."); } + getskilllist(); + for (.@i=0; .@i < @skilllist_count; .@i++) { + // skip temporary skills + if (@skilllist_flag[.@i] != 0) + continue; + // Only “paid” skills will result in a Scholarship Badge + switch (@skilllist_id[.@i]) { + case SM_BASH: + case MG_FIREBALL: + mesc l("A skill has been replaced with an @@.", getitemlink(ScholarshipBadge)); + getitem ScholarshipBadge, 1; + skill @skilllist_id[.@i], 0, 0; + break; + // Free skills (AL_HEAL and provokes) will result in XP + // Only AL_HEAL with level 3+ will result in a badge + case AL_HEAL: + if (@skilllist_lv[.@i] >= 3) + getitem ScholarshipBadge, 1; + case EVOL_MASS_PROVOKE: + .@delval=@skilllist_lv[.@i]; + mesc l("A skill has been removed, you got @@ job exp and @@ Strange Coin as an apology token.", .@delval*100, .@delval); + getexp .@delval, .@delval*100; + getitem StrangeCoin, .@delval; + break; + } + } // Cleanup deletearray RNGTREASURE_DATE; } -- cgit v1.2.3-70-g09d2 From 215005e3e945da689421e44d37079a201d83c6b2 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 25 Jul 2019 23:51:47 -0300 Subject: All skills from the deprecated magic system are now being removed on update. If they were paid, you'll get 1000 JEXP for additional levels, and 1 Scholarship Badge for them. Otherwise, 100 JEXP for them (AL_HEAL lv 3+ will give a badge). --- npc/functions/clientversion.txt | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/npc/functions/clientversion.txt b/npc/functions/clientversion.txt index 9fb238dfd..98844b691 100644 --- a/npc/functions/clientversion.txt +++ b/npc/functions/clientversion.txt @@ -316,10 +316,38 @@ function script clientupdater { // Only “paid” skills will result in a Scholarship Badge switch (@skilllist_id[.@i]) { case SM_BASH: + case SM_ENDURE: + case KN_AUTOCOUNTER: + case KN_TWOHANDQUICKEN: + case TMW2_DEMURE: + case AL_ANGELUS: + case CR_TRUST: + case CR_DEFENDER: + case AL_HOLYLIGHT: + case TF_DETOXIFY: + case ALL_RESURRECTION: + case MG_SRECOVERY: + case SM_RECOVERY: + case PR_ASPERSIO: + case AB_HIGHNESSHEAL: + case SA_FREECAST: + case SA_DRAGONOLOGY: + case TMW2_SAGE: + case SA_FLAMELAUNCHER: + case SA_FROSTWEAPON: + case SA_LIGHTNINGLOADER: + case SA_SEISMICWEAPON: case MG_FIREBALL: + case MG_ENERGYCOAT: + case MG_NAPALMBEAT: + case MG_FIREBOLT: + case MG_COLDBOLT: + case MG_LIGHTNINGBOLT: + case WZ_EARTHSPIKE: mesc l("A skill has been replaced with an @@.", getitemlink(ScholarshipBadge)); getitem ScholarshipBadge, 1; skill @skilllist_id[.@i], 0, 0; + getexp 5, (@skilllist_lv[.@i]-1)*1000; break; // Free skills (AL_HEAL and provokes) will result in XP // Only AL_HEAL with level 3+ will result in a badge @@ -329,6 +357,7 @@ function script clientupdater { case EVOL_MASS_PROVOKE: .@delval=@skilllist_lv[.@i]; mesc l("A skill has been removed, you got @@ job exp and @@ Strange Coin as an apology token.", .@delval*100, .@delval); + skill @skilllist_id[.@i], 0, 0; getexp .@delval, .@delval*100; getitem StrangeCoin, .@delval; break; -- cgit v1.2.3-70-g09d2 From f5c2b82aae37a47bff307ee5116139006e386168 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 25 Jul 2019 23:57:59 -0300 Subject: ClientVersion Update: Mass Provoke may also be lv 3+. Normal Provoke and TrickDead will be removed without giving a badge. These skills were bonuses from class level up to 2, which is already handled. --- npc/functions/clientversion.txt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/npc/functions/clientversion.txt b/npc/functions/clientversion.txt index 98844b691..c4cca2467 100644 --- a/npc/functions/clientversion.txt +++ b/npc/functions/clientversion.txt @@ -349,12 +349,14 @@ function script clientupdater { skill @skilllist_id[.@i], 0, 0; getexp 5, (@skilllist_lv[.@i]-1)*1000; break; - // Free skills (AL_HEAL and provokes) will result in XP - // Only AL_HEAL with level 3+ will result in a badge + // Free skills (AL_HEAL and mass provoke) will result in XP + // Only Jakod's skills with level 3+ will result in a badge case AL_HEAL: + case EVOL_MASS_PROVOKE: if (@skilllist_lv[.@i] >= 3) getitem ScholarshipBadge, 1; - case EVOL_MASS_PROVOKE: + case SM_PROVOKE: + case NV_TRICKDEAD: .@delval=@skilllist_lv[.@i]; mesc l("A skill has been removed, you got @@ job exp and @@ Strange Coin as an apology token.", .@delval*100, .@delval); skill @skilllist_id[.@i], 0, 0; -- cgit v1.2.3-70-g09d2 From 5c3a947469b62af30542a0773c9cb70c189a692a Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Fri, 26 Jul 2019 00:03:18 -0300 Subject: Publish magic system notes. --- npc/003-0/notes | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++++ npc/014-3/_mobs.txt | 3 +- 2 files changed, 115 insertions(+), 1 deletion(-) create mode 100644 npc/003-0/notes diff --git a/npc/003-0/notes b/npc/003-0/notes new file mode 100644 index 000000000..cc277008b --- /dev/null +++ b/npc/003-0/notes @@ -0,0 +1,113 @@ +FFA - FREE FOR ALL + AL_DP (Divine Protection, +DEF vs undead/evil) (raised at Mana Stone) + +---- +AOE (DESTRUCTIVE MAGIC) + MG_NAPALMBEAT + MG_FIREBALL + WZ_FROSTNOVA (38%+5% freeze, 73%+7%/lv MATK) + +SINGLE TARGET (D.M.) + AL_HOLYLIGHT (standard holy magic attack - 125% of MATK) + MG_SOULSTRIKE (+5% MATK, +1 hit each 2 levels) + MG_COLDBOLT (ele) + MG_FIREBOLT (ele) + MG_LIGHTININGBOLT (ele) + WZ_EARTHSPIKE (ele / not a bolt for PF_DOUBLECASTING) + MG_FROSTDIVER (38%+3% freeze, +10% MATK) + + + +AOE (P.S.) + ASC_METEORASSAULT (area: self 2X2, 80%+40%/lv ATK, 10+5%/lv stun/blind/bleed) + AC_SHOWER (3x3 attack for BOWS) + +SINGLE TARGET (PHYSICAL SCIENCE) + SM_BASH (+30% ATK, HIT +5%, após lv 6: stun (5%/lv)) + MC_MAMMONITE (+50% atk/lv) + KN_AUTOCOUNTER (contra-ataque, TOP) + + AC_CHARGEARROW (Ranged, 150% DMG, 6 tiles knockback, NEED GWENDOLYN) + SN_SHARPSHOOTING (ULTIMATE ranged attack) + + + +SUPPORT SCIENCE / SCHOLARSHIP (self) + AC_OWL (raise 1 DEX per level) + SA_DRAGONOLOGY (PV: +4% ATK, +2% MATK, +1 INT and +4% resist against DRAGONS) + TMW2_SAGE (PV: grants up to 1.5 extra mana exp point/level) + MG_SRECOVERY (PV: small increase to SP Recovery while idle each 10 sec.) + SM_RECOVERY (PV: small increase to HP Recovery while idle each 10 sec.) + + SN_WINDWALK (raise walking speed +2%/lv and flee rate +1/2lv) + + CR_TRUST (PV: MaxHP +200/lv, Holy DEF +5%/lv) + AC_VULTURE (PV: raise range and cth with BOWS) + +SUPPORT SCIENCE / SCHOLARSHIP (MMO) + AL_HEAL (basic healing) + AL_INCAGI (raise agi in 3+1/lv) + HW_MAGICPOWER (aumenta poder da próxima skill em MATK 5%/lv) + SM_PROVOKE (provoca um monstro especifico - exceto BOSS) + AL_ANGELUS (14x14, party, def +5%/lv) + TF_DETOXIFY (cancels poison. 40% MP.) + AC_CONCENTRATION (self: agi/dex 3+1%/lv, unhide enemies 3x3) + AB_HIGHNESSHEAL (REAL healing skill) + ALL_RESURRECTION (reviver, requer permitir target players mortos) + EVOL_MASS_PROVOKE (provoca mobs em área) + + PR_ASPERSIO (bestow holy element on weapon for 1m. Holy dmg to undead/evil.) + SA_FLAMELAUNCHER (bestow fire element on weapon for 2m, 70% cth) + SA_FROSTWEAPON (bestow water element on weapon for 2m, 70% cth) + SA_LIGHTNINGLOADER (bestow wind element on weapon for 2m, 70% cth) + SA_SEISMICWEAPON (bestow earth element on weapon for 2m, 70% cth) + + GC_DARKCROW (Max Lv 1: DMG +100%, Short Range DMG +30%) + + + +TRICKS SCIENCE + SA_FREECAST (move after casting) + TF_BACKSLIDING (pulo pra trás) + MG_FIREWALL (wall of fire: 50% dmg x3+1/lv hits, knockback 2 cells) + ALL_FULL_THROTTLE (Stat +20%, full heal, move speed x2 - w/ rebound, last resort) + GC_DARKILLUSION (tp pra cima do mob/player com um ataque, pode causar dano extra - 4%/lv) + NV_TRICKDEAD (se finge de morto) + SO_FIREWALK (deixa fogo aonde passa - 60% MATK) + + + + + + +UNUSED/SPECIAL + BA_PANGVOICE (confuse, EXTREME DESYNC) + GS_SNAKEEYE (→AC_VULTURE) + +THIEF/MERCHANT-POLICE + ALL_INCCARRY + TF_STEAL + ...? + MC_PUSHCART? + MC_VENDING? + + + +BROKEN + PF_HPCONVERSION (10% HP vira MP (10%/lv)) + HP_MEDITATIO (PV: MP Regen +3%/lv, MSP +1%/lv, AL_HEAL +2%/lv stronger) + GS_MAGICALBULLET (adds MATK to your regular attack) Does'nt works? + CR_DEFENDER (less damage from ranged attacks, but lowers move & attack speed. Req. Shield) - max lv 4 plz. Last 3m? + +USEFUL COMMANDS + npcskill(, , , ) + npcskill(AL_HEAL, 10, 99, 60); + + unitskilluseid(, , {, }) + unitskillusepos(, , , , ) + +*defpattern(, "", "") +*activatepset() +*deactivatepset() +*deletepset() + diff --git a/npc/014-3/_mobs.txt b/npc/014-3/_mobs.txt index 54539889d..540992817 100644 --- a/npc/014-3/_mobs.txt +++ b/npc/014-3/_mobs.txt @@ -1,11 +1,12 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Map 014-3: Woodlands Central Area mobs 014-3,115,75,91,52 monster Mouboo 1023,22,30000,45000 -014-3,96,102,70,21 monster Forest Mushroom 1060,10,60000,45000 +014-3,63,74,41,48 monster Forest Mushroom 1060,10,60000,45000 014-3,104,102,90,35 monster Squirrel 1032,26,30000,42000 014-3,44,82,37,32 monster Centaur 1139,3,80000,90000 014-3,164,75,31,14 monster Pinkie 1132,9,30000,50000,Oscar::OnKillPinkie 014-3,95,65,49,25 monster Poison Spiky Mushroom 1043,11,45000,45000 +014-3,133,89,49,25 monster Poison Spiky Mushroom 1043,7,45000,45000 014-3,128,112,70,21 monster Mauve Plant 1135,5,90000,90000 014-3,44,82,37,32 monster Chagashroom Field 1128,4,90000,90000 014-3,95,65,49,25 monster Plushroom Field 1011,4,90000,90000 -- cgit v1.2.3-70-g09d2