From b9bb77adf044c9301ad3b28a7305391a9266d9a5 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Wed, 26 Dec 2018 03:24:38 -0200 Subject: New Skill: Make Haste Potion! Audsbel needs your help again, by the way... --- db/re/skill_db.conf | 12 +++++++++ db/re/skill_tree.conf | 1 + npc/003-0/audsbel.txt | 28 ++++++++++++++++++++- npc/009-2/scholar.txt | 1 + npc/config/magic.txt | 1 - npc/magic/mkpot.txt | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++ npc/scripts.conf | 1 + 7 files changed, 112 insertions(+), 2 deletions(-) create mode 100644 npc/magic/mkpot.txt diff --git a/db/re/skill_db.conf b/db/re/skill_db.conf index c22b27699..6178dc92d 100644 --- a/db/re/skill_db.conf +++ b/db/re/skill_db.conf @@ -38437,6 +38437,18 @@ skill_db: ( Quest: true } }, +{ + Id: 20027 + Name: "TMW2_MKPOT" + Description: "Make Potion" + MaxLevel: 20 + SkillType: { + Self: true + } + SkillInfo: { + Quest: true + } +}, { Id: 20031 Name: "TMW2_FAKESKILL" diff --git a/db/re/skill_tree.conf b/db/re/skill_tree.conf index 9256ce9d3..39bd6570c 100644 --- a/db/re/skill_tree.conf +++ b/db/re/skill_tree.conf @@ -44,6 +44,7 @@ Human: { TMW2_ZARKOR: 3 TMW2_PARUM: 0 TMW2_KALMURK: 4 + TMW2_MKPOT: 20 // TODO ALL_INCCARRY: 0 diff --git a/npc/003-0/audsbel.txt b/npc/003-0/audsbel.txt index 49217ed25..a8f495eef 100644 --- a/npc/003-0/audsbel.txt +++ b/npc/003-0/audsbel.txt @@ -6,6 +6,10 @@ // Planned, there are only the four Mana Wizards: Auldsbel (Tulimshar), Sagratha (Woodlands), Morgan (Candor), and UNKNOWN (Nivalis). // Gives #parum +// Make dye? Make Lifestone? Make potions? Make Arrows? +// GemstonePowder? +// Lifestones currently doesn't have any use, too... +// And parum at times make arrows... 003-0,32,24,0 script Auldsbel NPC_AULDSBEL,{ if (MAGIC_LVL < 2) @@ -221,11 +225,33 @@ L_Magic: delitem Moss, 70; getexp 28692, 0; Zeny=Zeny+550; - setq General_Auldsbel, 1; + setq General_Auldsbel, 4; mesn; mesq l("Yes, many thanks. This will help me a lot."); } break; + // Learn #mkpot + case 4: + mesn; + mesq l("Hmm, I think I can teach you a basic Mana Skill now. This one is more advanced, though."); + next; + skill(TMW2_MKPOT,1,0); + setq General_Auldsbel, 5; + mesn; + mesq l("This is the @@ skill. It transmutes @@ @@ and a single @@ in @@.", "##B@sk-mkpot##b", 10, getitemlink(Plushroom), getitemlink(HastePotion)); + next; + mesn; + mesq l("It may fail, and you might end up with something entirely unexpected!"); + next; + mesn; + mesq l("Unlike Parum, you can use the skill points you get every time your job level rises. That will lower the mana cost and increase success chances."); + next; + mesn; + mesq l("But please be picky with how you spend job points. They are hard to come by, and I'm not entirely sure you can change it later."); + next; + mesn; + mesq l("Also, job levels get really hard to obtain after a while. The decision is up to you, just be aware there's that possibility."); + break; default: mesn; mesq l("Uhm, no, not really. Maybe later, who knows?"); diff --git a/npc/009-2/scholar.txt b/npc/009-2/scholar.txt index 9ac710f78..07c746063 100644 --- a/npc/009-2/scholar.txt +++ b/npc/009-2/scholar.txt @@ -47,6 +47,7 @@ L_Intro: next; mesn; mesq l("Mages should use equipment designed for them. Those may be lacking on defense, but will raise MP and Magic Attack."); + mesq l("I must, however, remember that the most powerful magical equipment ##B may require intelligence ##b to use."); next; mesn; mesq l("Without magic attack, using a fireball at an enemy will be like throwing a stone."); diff --git a/npc/config/magic.txt b/npc/config/magic.txt index e7f2c218f..df2cb86fc 100644 --- a/npc/config/magic.txt +++ b/npc/config/magic.txt @@ -40,7 +40,6 @@ function script MagicCheck { return 0; // Load mana cost - .@amp=getarg(3,0); .@mp=.@mp+getskilllv(.@sk)*.@amp-.@amp; // Check mana diff --git a/npc/magic/mkpot.txt b/npc/magic/mkpot.txt new file mode 100644 index 000000000..c9182b177 --- /dev/null +++ b/npc/magic/mkpot.txt @@ -0,0 +1,70 @@ +// TMW2 script +// Author: Jesusalva +// +// Magic Script: TMW2_MKPOT +// +// Attempts to make a haste potion from Mouboo Milk and Plushroom. +// May make sewer water on failure. +// TODO: Using too much transmutation magic may have dire consequences! Like, uh, transmutating your head! +// Nah, it is probably just propaganda... I hope. ¬.¬ + +- script sk#mkpot 32767,{ + end; + +/* +OnFriendlyDeath: + emote 4; + end; +*/ + +OnCall: + // Other requeriments + if (countitem(Plushroom) < 10 || !countitem(Milk)) { + dispbottom l("You need @@ @@ and @@ to cast this skill.", 10, getitemlink(Plushroom), getitemlink(Milk)); + end; + } + + // Check cooldown + if (@mkpot_at > gettimetick(2)) { + dispbottom l("Skill is in cooldown for @@.", FuzzyTime(@mkpot_at)); + end; + } + + // Check requisites + if (!MagicCheck(TMW2_MKPOT, 185, -5)) + end; + + // Consume items + delitem Plushroom, 10; + delitem Milk, 1; + + // Create the stuff based on MAGIC_EXP + // The closer to zero, best; + // Each 3 mexp reduces chance to get a fail + // Each skill level reduces chances to get a fail + .@r=rand(141,181)-(MAGIC_EXP/3)-getskilllv(TMW2_MKPOT); + if (.@r < 21) { + // Get up to 6 Haste Potions depending on your skill. + getitem HastePotion, abizit()+1; + } else if (.@r < 82) { + getitem any(BottleOfTonoriWater, BottleOfWoodlandWater, BottleOfDivineWater, Milk, CelestiaTea, PileOfAsh), 1; + } else if (.@r < 122) { + getitem any(BottleOfSewerWater, Milk, CelestiaTea, PileOfAsh), 1; + } else if (.@r < 162) { + getitem any(BottleOfSewerWater, BottleOfSewerWater, PileOfAsh), 1; + } else { + dispbottom l("Your items vanishes into thin air. What?!"); + } + + // set cooldown + @mkpot_at=gettimetick(2); + @mkpot_at=@mkpot_at+6; + + // Get a few mana experience points (this is NOT used by Mana Stone) + GetManaExp(TMW2_MKPOT, rand(2,4)); + end; + +OnInit: + bindatcmd "sk-mkpot", "sk#mkpot::OnCall", 0, 100, 0; + end; +} diff --git a/npc/scripts.conf b/npc/scripts.conf index 0065c2d95..c9b3528a0 100644 --- a/npc/scripts.conf +++ b/npc/scripts.conf @@ -89,6 +89,7 @@ "npc/magic/zarkor.txt", "npc/magic/parum.txt", "npc/magic/kalmurk.txt", +"npc/magic/mkpot.txt", // These are to be proccessed later "npc/functions/gmbot.txt", -- cgit v1.2.3-70-g09d2