diff options
Diffstat (limited to 'npc')
-rw-r--r-- | npc/000-0/sailors.txt | 16 | ||||
-rw-r--r-- | npc/003-3/malindou.txt | 13 | ||||
-rw-r--r-- | npc/012-1/gwendolyn.txt | 2 | ||||
-rw-r--r-- | npc/025-1/ctrl.c | 1 | ||||
-rw-r--r-- | npc/027-3/luca.txt | 8 | ||||
-rw-r--r-- | npc/config/magic.txt | 20 | ||||
-rw-r--r-- | npc/functions/hub.txt | 45 |
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; } |