From 9fbe892a05cfdb159a113fe401251bc7b468489f Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Fri, 10 Dec 2021 14:23:12 -0300 Subject: Focus Skills "Fix" by HoraK Squashed commit of the following: commit a593fe1fbf19e988d61678ba9c00049a236baf11 Author: HoraK-FDF Date: Sat Aug 7 21:21:02 2021 +0200 changed back to switch and replaced ids with constants commit 90414ed83cbc41a9d88690eb387474115a9769df Author: HoraK-FDF Date: Sat Aug 7 20:57:26 2021 +0200 changed to checking for name instead of id commit fdc967f58e0477628e4a13195d0c45a98c389f71 Author: HoraK-FDF Date: Sat Aug 7 16:58:22 2021 +0200 focus skills v1 --- db/pre-re/job_db.conf | 12 ++++---- npc/magic/final.txt | 84 +++++++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 78 insertions(+), 18 deletions(-) diff --git a/db/pre-re/job_db.conf b/db/pre-re/job_db.conf index 76155630..89c7c23e 100644 --- a/db/pre-re/job_db.conf +++ b/db/pre-re/job_db.conf @@ -56,16 +56,16 @@ Talpan: { MoveSpeed: 150 Weight: 23500 BaseASPD: { - Fist: 500 + Fist: 650 Dagger: 650 Sword: 700 - Axe: 550 + Axe: 700 TwoHandAxe: 1000 - TwoHandSpear: 750 - Mace: 550 - TwoHandMace: 550 + TwoHandSpear: 1000 + Mace: 700 + TwoHandMace: 1000 Rod: 700 - TwoHandRod: 700 + TwoHandRod: 1000 Bow: 800 Katar: 650 } diff --git a/npc/magic/final.txt b/npc/magic/final.txt index 9000c3f3..9f72d246 100644 --- a/npc/magic/final.txt +++ b/npc/magic/final.txt @@ -223,16 +223,52 @@ function script HUB_SkillInvoke { // HUB_PCBonus () function script HUB_PCBonus { + /* Evol2TMWA Stat Hacks */ + // Criticals + // Dex + if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_SUBTYPE) != W_BOW) + { + bonus bCritical, (readparam2(UDT_DEX)+2)*3/20; + } + // Luck + // gives atm more crit then on tmwa + /* Passive Skills */ if (FOCUSING & FSKILL_ASTRAL_SOUL) { - bonus bMatkRate, 3*getskilllv(SKILL_ASTRAL_SOUL); + bonus bMatkRate, -readparam(bMatkRate)+(getskilllv(SKILL_ASTRAL_SOUL)*(readparam2(UDT_INT)/9)); + // mattack without equipment is already so high that any mattack from skill would make no sense so i completly remove mattack and calculate it again + // can't realy test it right now since +mattack and -mattack for many items dont work but for some of the common mage items it seems ok } if (FOCUSING & FSKILL_RAGING) { - bonus bCritical, 2*getskilllv(SKILL_RAGING); + if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_SUBTYPE) != W_BOW) + { + // atm trolls can use raging, I thought it's ok since they do damage over Str and have only a range of 3 + @item_crit = 0; + switch (getequipid(EQI_HEAD_TOP)) + { + case AssassinMask: + case BullHelmet: + @item_crit = 15; + break; + case Monocle: + case Pipe: + @item_crit = 10; + break; + default: + @item_crit = 0; + break; + } + if (getequipid(EQI_HAND_R) == Beheader) + @item_crit -= 25; + + bonus bCritical, (getskilllv(SKILL_RAGING))*((readparam2(UDT_DEX)/40)+(readparam2(UDT_LUK)/30)+(@item_crit/10)+(readparam2(UDT_STR)/10)-2); + // must balance that more to get less crit on lower dex + bonus bDef2, -(getskilllv(SKILL_RAGING)*((readparam2(UDT_STR)/20)-2)); + } } if (FOCUSING & FSKILL_SPEED) { - bonus bSpeedAddRate, 1*getskilllv(SKILL_SPEED); - bonus bAspd, 2*getskilllv(SKILL_SPEED); + bonus bSpeedAddRate, ((readparam2(UDT_AGI)*getskilllv(SKILL_SPEED))/60); + bonus bAspd, (((readparam2(UDT_AGI)/10)*getskilllv(SKILL_SPEED))/11); // gives exactly tmwa values if setzer on tmwa and dagger on evolved with 110 damage but its a bit higher for fists and high agi } if (FOCUSING & FSKILL_RESIST_POISON) { .@l=5*getskilllv(SKILL_RESIST_POISON); @@ -243,16 +279,41 @@ function script HUB_PCBonus { bonus2(bResEff, Eff_Blind, .@l); } if (FOCUSING & FSKILL_BRAWLING) { - if (getequipid(EQI_HAND_R) < 1) { - bonus bAtk, 10*getskilllv(SKILL_BRAWLING); - } else if (getiteminfo( - getequipid(EQI_HAND_R), ITEMINFO_SUBTYPE) == W_FIST) { - bonus bAtk, 10*getskilllv(SKILL_BRAWLING); + if (getequipid(EQI_HAND_R) < 1) + { + if (! (getiteminfo(getequipid(EQI_HAND_L), ITEMINFO_TYPE) == IT_ARMOR)) + bonus bAtk, (readparam2(UDT_AGI)/10)*getskilllv(SKILL_BRAWLING); // on tmwa a shield removes attack bonus + + //bonus bMaxHP, 15*getskilllv(SKILL_BRAWLING); + //bonus bFlee, (readparam2(UDT_AGI)/20)*getskilllv(SKILL_BRAWLING); + bonus bSpeedAddRate, (((readparam2(UDT_AGI)/2)*getskilllv(SKILL_BRAWLING))/80); + // bonus can be added here now instead of doing it on items itself + } + else if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_SUBTYPE) == W_FIST) + { + if (! (getiteminfo(getequipid(EQI_HAND_L), ITEMINFO_TYPE) == IT_ARMOR)) + bonus bAtk, (readparam2(UDT_AGI)/10)*getskilllv(SKILL_BRAWLING); // on tmwa a shield removes attack bonus + + //bonus bMaxHP, 15*getskilllv(SKILL_BRAWLING); + //bonus bFlee, (readparam2(UDT_AGI)/20)*getskilllv(SKILL_BRAWLING); + bonus bSpeedAddRate, (((readparam2(UDT_AGI)/2)*getskilllv(SKILL_BRAWLING))/80); + // bonus can be added here now instead of doing it on items itself } } if (FOCUSING & FSKILL_MALLARDS_EYE) { - bonus bAtkRange, (2+getskilllv(SKILL_MALLARDS_EYE))/3; - bonus bHit, 5*getskilllv(SKILL_MALLARDS_EYE); + if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_SUBTYPE) == W_BOW || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_SUBTYPE) == W_HUUMA) + { + bonus bAtkRange, getskilllv(SKILL_MALLARDS_EYE)/3; + bonus bHit, (readparam2(UDT_DEX)/20)*getskilllv(SKILL_MALLARDS_EYE); + bonus bAspd, (((readparam2(UDT_DEX)/10)*getskilllv(SKILL_MALLARDS_EYE))/11)/4; + bonus bDoubleAddRate, (readparam2(UDT_DEX)*getskilllv(SKILL_MALLARDS_EYE))/50; // max reachable is 18 Double Damage atm + } + } + + /* Class A Equipment */ + if (getequipid(EQI_HAND_R) > 1) { + if (isequipped(BullHelmet)) + bonus bAtkRange, 1-getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_RANGE); } /* Class A Equipment */ @@ -262,4 +323,3 @@ function script HUB_PCBonus { } return; } - -- cgit v1.2.3-60-g2f50