diff options
-rw-r--r-- | db/re/skill_db.conf | 38 | ||||
-rw-r--r-- | db/re/skill_tree.conf | 1 | ||||
-rw-r--r-- | npc/002-1/arpan.txt | 55 | ||||
-rw-r--r-- | npc/functions/hub.txt | 12 |
4 files changed, 104 insertions, 2 deletions
diff --git a/db/re/skill_db.conf b/db/re/skill_db.conf index 85d0f007c..5cf23589a 100644 --- a/db/re/skill_db.conf +++ b/db/re/skill_db.conf @@ -40531,7 +40531,43 @@ skill_db: ( } } }, - +{ + Id: 20081 + Name: "TMW2_PARLORTRICK" + Description: "Parlor Trick" + MaxLevel: 10 + Range: 6 + SkillType: { + Enemy: true + } + SkillInfo: { + Quest: true + } + Hit: "BDT_SKILL" + AttackType: "Magic" + Element: "Ele_Water" + DamageType: { + NoDamage: true + } + InterruptCast: true + CoolDown: { + Lv1: 4000 + Lv2: 3500 + Lv3: 3000 + Lv4: 2500 + Lv5: 2000 + Lv6: 1500 + Lv7: 1000 + Lv8: 800 + Lv9: 600 + Lv10: 400 + } + CastTime: 100 + FixedCastTime: 0 + Requirements: { + SPCost: 20 + } +}, diff --git a/db/re/skill_tree.conf b/db/re/skill_tree.conf index 009931be4..9ede69acc 100644 --- a/db/re/skill_tree.conf +++ b/db/re/skill_tree.conf @@ -84,6 +84,7 @@ Human: { ///////////////// Magic v3 (Custom/Trickmaster) TMW2_MANABOMB: 0 TMW2_TRAPS: 0 + TMW2_PARLORTRICK: 0 ///////////////// Magic v3 (Custom/Scholarship) TMW2_FIRSTAID: 0 diff --git a/npc/002-1/arpan.txt b/npc/002-1/arpan.txt index 9fe521d42..2e0646c07 100644 --- a/npc/002-1/arpan.txt +++ b/npc/002-1/arpan.txt @@ -92,6 +92,7 @@ L_Menu: rif(!.@n, l("Who are you?")), L_Who, rif(!.@n, l("I need a tutorial, where can I find help?")), L_Trainer, rif(!getq(ShipQuests_ArpanMoney), l("Do you know what happened to the gold I had on me when I was rescued?")), L_WhereMoney, + rif(getq(ShipQuests_ArpanMoney), l("Can you teach me magic?")), L_Magic, l("Nothing, sorry."), -; closedialog; @@ -168,6 +169,60 @@ L_Apana: next; goto L_Menu; +L_Magic: + if (getskilllv(TMW2_PARLORTRICK) >= 10) { + mesn; + mesq l("I have already teached you everything which could be teached."); + next; + goto L_Menu; + } + mesn; + mesq l("Again, no, magic is extremely rare, all I know is a few ya-ing water tricks!"); + next; + mesn; + mesq l("I could teach you a trick, though it'll be relatively weak, specially if it is not raining. It's a parlor trick, after all."); + next; + if (getq(CandorQuest_Rosen) <= 4) { + mesn; + mesq l("To be honest, you should show %s a %s and ask for a bow. It'll be more reliable for ranged damage this early on.", b(l("Rosen")), getitemlink(TolchiArrow)); + if (getq(CandorQuest_Rosen) < 3 || getq(ShipQuests_ChefGado) < 2) + mesc b(l("Although you'll need to help Rosen first!")); + next; + } + // Amount can be as high as 32,768! + .@p1 = 2 ** ((1+getskilllv(TMW2_PARLORTRICK))*3/2); + // Bonification for **new** players + if (!getq(General_Narrator)) + .@p1 = max(1, .@p1 - 1); + // Decide the item + switch (season()) { + case SUMMER: .@it = CherryCocktail; break; + case WINTER: .@it = Snowflake; break; + case AUTUMN: .@it = PumpkandySeed; break; //.@p1 *= 2; break; + case SPRING: .@it = Blueberries; break; + } + mesn; + mesq l("Bring me %s %s and I'll teach you the trick.", fnum(.@p1), getitemlink(.@it)); + if (countitem(.@it) < .@p1) {next; goto L_Menu;} + select + l("I'll bring them."), + l("I have them here with me."), + l("I changed my mind."); + mes ""; + if (@menu != 2) {mes ""; goto L_Menu;} + delitem .@it, .@p1; + skill TMW2_PARLORTRICK, getskilllv(TMW2_PARLORTRICK)+1, 0; + if (getskilllv(TMW2_PARLORTRICK) == 1) { + mesc l("* Magic Arpan teached you a parlor trick!"); + tutmes l("You can press %s to show all your skills. It is advised to drag the skill to the quick bar (%s) so you can use the skill with the associated shortcut.\n\n%s", b("F5"), b("F8"), l("Do note that the cooldown is not currently displayed on quick menu.")); + //tutmes l("Talk to the %s and %s in Candor for a more detailed explanation on using skills!", b(l("Trainer")), b(l("Morgan"))); + } else { + mesc l("* Magic Arpan improved your trick!"); + } + mes "%%H"; + next; + goto L_Menu; + L_BeforeMenu: mesn; goto L_Menu; diff --git a/npc/functions/hub.txt b/npc/functions/hub.txt index fc1c814e9..4511936d7 100644 --- a/npc/functions/hub.txt +++ b/npc/functions/hub.txt @@ -637,7 +637,8 @@ function script HUB_SkillInvoke { // And is a trick. Each level improves ratio in 1 // Has no cooldown, so it is powerful with pots // And is a good starter offensive skill - areaharm(@skillTarget, 0, Sp*@skillLv, HARM_MISC, Ele_Ghost, @skillCaster); + // Note: Skill damage is not negated by DEF/MDEF. + areaharm(@skillTarget, 0, Sp*(@skillLv+1), HARM_MISC, Ele_Ghost, @skillCaster); Sp=0; GetManaExp(@skillId, 1); break; @@ -809,6 +810,15 @@ function script HUB_SkillInvoke { harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Earth); GetManaExp(TMW2_METEORSTRIKE, 3); break; + //////////////////////////////// + // XXX: Parlor Tricks + // (Pathetic skills) + case TMW2_PARLORTRICK: + .@PW=(getmapmask(getmap()) & MASK_RAIN ? 30 : 0)+(20*@skillLv); + .@dmg=AdjustSpellpower(.@PW); + harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Water); + //No Mana EXP + break; /* //////////////////////////////// // XXX: Assassinate |