summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/re/skill_db.conf38
-rw-r--r--db/re/skill_tree.conf1
-rw-r--r--npc/002-1/arpan.txt55
-rw-r--r--npc/functions/hub.txt12
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