summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/000-0/sailors.txt16
-rw-r--r--npc/003-3/malindou.txt13
-rw-r--r--npc/012-1/gwendolyn.txt2
-rw-r--r--npc/025-1/ctrl.c1
-rw-r--r--npc/027-3/luca.txt8
-rw-r--r--npc/config/magic.txt20
-rw-r--r--npc/functions/hub.txt45
7 files changed, 77 insertions, 28 deletions
diff --git a/npc/000-0/sailors.txt b/npc/000-0/sailors.txt
index 0449f9a03..324eec3af 100644
--- a/npc/000-0/sailors.txt
+++ b/npc/000-0/sailors.txt
@@ -219,9 +219,9 @@ OnForceReset:
sk_lvup(TMW2_CRAFT);
sk_lvup(TMW2_ANCIENTLANGUAGES);
sk_lvup(TMW2_MANABOMB);
- sk_lvup(ASC_METEORASSAULT);
+ sk_lvup(TMW2_GROUNDSTRIKE);
sk_lvup(TMW2_NAPALMBEAT);
- sk_lvup(AC_SHOWER);
+ sk_lvup(TMW2_ARROWSHOWER);
sk_lvup(any(ALL_INCCARRY, TF_STEAL, MC_VENDING, MC_DISCOUNT, MC_OVERCHARGE));
sk_lvup(any(AC_OWL, SA_DRAGONOLOGY, TMW2_SAGE, CR_TRUST, SM_PROVOKE, ALL_FULL_THROTTLE, SA_FREECAST, TF_BACKSLIDING, NV_TRICKDEAD, MG_FIREWALL, SO_FIREWALK, GC_DARKILLUSION));
sk_lvup(any(AC_OWL, SA_DRAGONOLOGY, TMW2_SAGE, CR_TRUST, SM_PROVOKE, ALL_FULL_THROTTLE, SA_FREECAST, TF_BACKSLIDING, NV_TRICKDEAD, MG_FIREWALL, SO_FIREWALK, GC_DARKILLUSION));
@@ -230,12 +230,12 @@ OnForceReset:
sk_lvup(any(TMW2_KALBOO, TMW2_KALSPIKE, TMW2_CUTEHEART, TMW2_PLANTKINGDOM, TMW2_FAIRYEMPIRE));
sk_lvup(any(TMW2_FIRSTAID, TMW2_HEALING, TMW2_MAGNUSHEAL, EVOL_AREA_PROVOKE));
sk_lvup(any(TMW2_FIRSTAID, TMW2_HEALING, TMW2_MAGNUSHEAL, EVOL_AREA_PROVOKE));
- sk_lvup(any(TMW2_FROSTDIVER, TMW2_NAPALMBEAT, TMW2_MAGICSTRIKE, TMW2_METEORSTRIKE, TMW2_FIREARROW, TMW2_BRAWLING, SM_BASH, AC_CHARGEARROW));
- sk_lvup(any(TMW2_FROSTDIVER, TMW2_NAPALMBEAT, TMW2_MAGICSTRIKE, TMW2_METEORSTRIKE, TMW2_FIREARROW, TMW2_BRAWLING, SM_BASH, AC_CHARGEARROW));
- sk_lvup(any(TMW2_FROSTDIVER, TMW2_NAPALMBEAT, TMW2_MAGICSTRIKE, TMW2_METEORSTRIKE, TMW2_FIREARROW, TMW2_BRAWLING, SM_BASH, AC_CHARGEARROW));
- sk_lvup(any(TMW2_FROSTNOVA, TMW2_HOLYLIGHT, TMW2_LIGHTNINGBOLT, TMW2_METEORSHOWER, TMW2_FIREBALL, TMW2_BEARSTRIKE, MC_MAMMONITE, SN_SHARPSHOOTING));
- sk_lvup(any(TMW2_FROSTNOVA, TMW2_HOLYLIGHT, TMW2_LIGHTNINGBOLT, TMW2_METEORSHOWER, TMW2_FIREBALL, TMW2_BEARSTRIKE, MC_MAMMONITE, SN_SHARPSHOOTING));
- sk_lvup(any(TMW2_NILFHEIM, TMW2_JUDGMENT, TMW2_TEMPEST, TMW2_GAIABREAK, TMW2_ARMAGEDDON, TMW2_ALLINONE, ASC_METEORASSAULT, AC_SHOWER, SN_WINDWALK));
+ sk_lvup(any(TMW2_FROSTDIVER, TMW2_NAPALMBEAT, TMW2_MAGICSTRIKE, TMW2_METEORSTRIKE, TMW2_FIREARROW, TMW2_BRAWLING, TMW2_FALKONSTRIKE, TMW2_CHARGEDARROW));
+ sk_lvup(any(TMW2_FROSTDIVER, TMW2_NAPALMBEAT, TMW2_MAGICSTRIKE, TMW2_METEORSTRIKE, TMW2_FIREARROW, TMW2_BRAWLING, TMW2_FALKONSTRIKE, TMW2_CHARGEDARROW));
+ sk_lvup(any(TMW2_FROSTDIVER, TMW2_NAPALMBEAT, TMW2_MAGICSTRIKE, TMW2_METEORSTRIKE, TMW2_FIREARROW, TMW2_BRAWLING, TMW2_FALKONSTRIKE, TMW2_CHARGEDARROW));
+ sk_lvup(any(TMW2_FROSTNOVA, TMW2_HOLYLIGHT, TMW2_LIGHTNINGBOLT, TMW2_METEORSHOWER, TMW2_FIREBALL, TMW2_BEARSTRIKE, TMW2_SUPREMEATTACK, SN_SHARPSHOOTING));
+ sk_lvup(any(TMW2_FROSTNOVA, TMW2_HOLYLIGHT, TMW2_LIGHTNINGBOLT, TMW2_METEORSHOWER, TMW2_FIREBALL, TMW2_BEARSTRIKE, TMW2_SUPREMEATTACK, SN_SHARPSHOOTING));
+ sk_lvup(any(TMW2_NILFHEIM, TMW2_JUDGMENT, TMW2_TEMPEST, TMW2_GAIABREAK, TMW2_ARMAGEDDON, TMW2_ALLINONE, TMW2_GROUNDSTRIKE, TMW2_ARROWSHOWER, SN_WINDWALK));
sk_lvup(any(TMW2_GDP_MAXPOWER, TMW2_GDP_SPREGEN));
getitembound GuildCoin, rand2(500), 4;
getitembound any(StrengthFruit, AgilityFruit, VitalityFruit, IntelligenceFruit, DexterityFruit, LuckFruit), 1, 4;
diff --git a/npc/003-3/malindou.txt b/npc/003-3/malindou.txt
index 193fb4bd9..8ebdb6cdc 100644
--- a/npc/003-3/malindou.txt
+++ b/npc/003-3/malindou.txt
@@ -620,6 +620,19 @@ OnInit:
debugmes "* Easter changes";
debugmes "";
}
+ // Current UPDATE value: Qua Abr 7 13:32:35 BRT 2021
+ // Skill Update
+ if ($UPDATE < 1617813155) {
+ $UPDATE=1617813155;
+ ReplaceSkillFromEveryPlayer(SM_BASH, TMW2_FALKONSTRIKE);
+ ReplaceSkillFromEveryPlayer(ASC_METEORASSAULT, TMW2_GROUNDSTRIKE);
+ ReplaceSkillFromEveryPlayer(MC_MAMMONITE, TMW2_SUPREMEATTACK);
+ ReplaceSkillFromEveryPlayer(AC_CHARGEARROW, TMW2_CHARGEDARROW);
+ ReplaceSkillFromEveryPlayer(AC_SHOWER, TMW2_ARROWSHOWER);
+ debugmes "";
+ debugmes "* Skill changes";
+ debugmes "";
+ }
// This mensures Contributors Credits, and changes only during updates.
diff --git a/npc/012-1/gwendolyn.txt b/npc/012-1/gwendolyn.txt
index daf6cedd0..42953ddf1 100644
--- a/npc/012-1/gwendolyn.txt
+++ b/npc/012-1/gwendolyn.txt
@@ -444,7 +444,7 @@ L_Success:
setq HurnscaldQuest_HarkEye, 6;
- skill AC_CHARGEARROW, 1, 0;
+ skill TMW2_CHARGEDARROW, 1, 0;
getexp .QUEST_HAWK_EXP, 0;
mesn l("Gwendolyn Bowmaker");
mesq l("Perfect indeed! Congratulations!");
diff --git a/npc/025-1/ctrl.c b/npc/025-1/ctrl.c
index 836e67cd8..6a3513ace 100644
--- a/npc/025-1/ctrl.c
+++ b/npc/025-1/ctrl.c
@@ -310,6 +310,7 @@ OnStatueBreach:
.@opt=.@opt|MD_BOSS;
.@opt=.@opt|MD_NOKNOCKBACK;
setunitdata(.@mob, UDT_MODE, .@opt);
+ setunitdata(.@mob, UDT_RACE, RC_Legendary);
// Increase health in 2% per siege
.@bhp=75000;
.@bhp=.@bhp*(50+$MK_TEMPVAR)/50;
diff --git a/npc/027-3/luca.txt b/npc/027-3/luca.txt
index 9c4d035e0..eae882444 100644
--- a/npc/027-3/luca.txt
+++ b/npc/027-3/luca.txt
@@ -72,8 +72,8 @@ function basicMagic {
mesc l("Shoot an arrow or bullet which damages everything on its way.");
mes "";
menuint
- l("Falkon Strike"), SM_BASH,
- l("Ground Strike"), ASC_METEORASSAULT,
+ l("Falkon Strike"), TMW2_FALKONSTRIKE,
+ l("Ground Strike"), TMW2_GROUNDSTRIKE,
l("Sharpshooter"), SN_SHARPSHOOTING,
l("Cancel"), 0;
return;
@@ -88,8 +88,8 @@ function standardMagic {
mesc l("Shoot FIVE arrows or bullets to the air and cause Area Of Effect Damage.");
mes "";
menuint
- l("Supreme Attack"), MC_MAMMONITE,
- l("Arrow Shower"), AC_SHOWER,
+ l("Supreme Attack"), TMW2_SUPREMEATTACK,
+ l("Arrow Shower"), TMW2_ARROWSHOWER,
l("Cancel"), 0;
return;
}
diff --git a/npc/config/magic.txt b/npc/config/magic.txt
index fa8dbc93b..9a0001bb7 100644
--- a/npc/config/magic.txt
+++ b/npc/config/magic.txt
@@ -379,27 +379,27 @@ OnInit:
//////////////////////// Physical Sciences
// Ground Strike
- RegisterMagic(2, ASC_METEORASSAULT, 3, FluoPowder, 3,
+ RegisterMagic(2, TMW2_GROUNDSTRIKE, 3, FluoPowder, 3,
CLASS_PHYSICAL, 50);
/* Skillchain */
// Falkon Punch
- RegisterMagic(1, SM_BASH, 10, FluoPowder, 3,
- CLASS_PHYSICAL, 50, false, MC_MAMMONITE);
+ RegisterMagic(1, TMW2_FALKONSTRIKE, 10, FluoPowder, 3,
+ CLASS_PHYSICAL, 50, false, TMW2_SUPREMEATTACK);
// Supreme Attack
- RegisterMagic(1, MC_MAMMONITE, 10, FluoPowder, 3,
- CLASS_PHYSICAL, 50, SM_BASH, KN_AUTOCOUNTER);
+ RegisterMagic(1, TMW2_SUPREMEATTACK, 10, FluoPowder, 3,
+ CLASS_PHYSICAL, 50, TMW2_FALKONSTRIKE, KN_AUTOCOUNTER);
// Counter Attack
RegisterMagic(2, KN_AUTOCOUNTER, 5, FluoPowder, 3,
- CLASS_PHYSICAL, 150, MC_MAMMONITE, false);
+ CLASS_PHYSICAL, 150, TMW2_SUPREMEATTACK, false);
/* Skillchain */
// Arrow Shower
- RegisterMagic(3, AC_SHOWER, 10, FluoPowder, 3,
+ RegisterMagic(3, TMW2_ARROWSHOWER, 10, FluoPowder, 3,
CLASS_PHYSICAL, 100, false, SN_SHARPSHOOTING);
// Sharpshooter
RegisterMagic(3, SN_SHARPSHOOTING, 1, FluoPowder, 3,
- CLASS_PHYSICAL, 100, AC_SHOWER, false);
+ CLASS_PHYSICAL, 100, TMW2_ARROWSHOWER, false);
@@ -509,8 +509,8 @@ OnInit:
//////////////////////// Other: Misc
// Charged Shot
- RegisterMagic(0, AC_CHARGEARROW, 1, NPCEyes, 1,
- CLASS_OTHER, 100);
+ RegisterMagic(0, TMW2_CHARGEDARROW, 10, Manapple, 1,
+ CLASS_OTHER, 50);
// Study
RegisterMagic(0, TMW2_STUDY, 1, Manapple, 1,
CLASS_OTHER, 400);
diff --git a/npc/functions/hub.txt b/npc/functions/hub.txt
index a8f21454d..ef5a94b94 100644
--- a/npc/functions/hub.txt
+++ b/npc/functions/hub.txt
@@ -657,6 +657,46 @@ function script HUB_SkillInvoke {
*/
////////////////////////////////
+ // XXX: Physical Class (Regular)
+ case TMW2_FALKONSTRIKE:
+ .@PW=100+(25*@skillLv);
+ .@ST=0+(10*@skillLv);
+ .@TM=100+(90*@skillLv);
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
+ sc_start SC_STUN, .@TM, 1, .@ST, SCFLAG_NONE, @skillTarget;
+ GetManaExp(@skillId, rand2(1,3));
+ break;
+ case TMW2_GROUNDSTRIKE:
+ .@PW=50+(40*@skillLv);
+ .@dmg=AdjustAttackpower(.@PW);
+ .@RG=2+(@skillLv/5);
+ .@TM=100+(@skillLv*200);
+ .@ST=500+(100*@skillLv);
+ .@EF=any(SC_STUN, SC_BLIND, SC_BLOODING, SC_BLIND, SC_BLOODING);
+ areaharm(@skillTarget, .@RG, .@dmg, HARM_PHYS, Ele_Neutral);
+ areasc(.@RG, .@TM, .@EF, BL_MOB | BL_PC | BL_HOM | BL_MER, 1, "filter_hostile", @skillTarget, .@ST);
+ GetManaExp(@skillId, rand2(1,3));
+ break;
+ case TMW2_SUPREMEATTACK:
+ .@PW=100+(50*@skillLv);
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
+ GetManaExp(@skillId, rand2(1,3));
+ break;
+ ////////////////////////////////
+ // XXX: Physical Class (Archery)
+ case TMW2_CHARGEDARROW:
+ .@PW=100+(50*@skillLv);
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
+ GetManaExp(@skillId, rand2(1,3));
+ break;
+ case TMW2_ARROWSHOWER:
+ .@PW=150+(10*@skillLv);
+ .@dmg=AdjustAttackpower(.@PW);
+ .@RG=1+(@skillLv/3);
+ areaharm(@skillTarget, .@RG, .@dmg, HARM_PHYS, Ele_Neutral);
+ GetManaExp(@skillId, rand2(1,3));
+ break;
+ ////////////////////////////////
// XXX: Brawling Class
case TMW2_BRAWLING:
// 75x3 = 225
@@ -818,11 +858,7 @@ function script HUB_SkillInvoke {
break;
// Experience only
- case SM_BASH:
- case MC_MAMMONITE:
- case AC_SHOWER:
case KN_AUTOCOUNTER:
- case ASC_METEORASSAULT:
case SN_SHARPSHOOTING:
case HW_MAGICPOWER:
case SM_PROVOKE:
@@ -833,7 +869,6 @@ function script HUB_SkillInvoke {
case ALL_FULL_THROTTLE:
case GC_DARKILLUSION:
case NV_TRICKDEAD:
- case AC_CHARGEARROW:
GetManaExp(@skillId, rand2(1,3));
break;
}