From fdc967f58e0477628e4a13195d0c45a98c389f71 Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Sat, 7 Aug 2021 16:58:22 +0200 Subject: focus skills v1 --- db/pre-re/job_db.conf | 12 ++++---- npc/magic/final.txt | 83 +++++++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 77 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 30dce5e9..7476aa5d 100644 --- a/npc/magic/final.txt +++ b/npc/magic/final.txt @@ -223,16 +223,51 @@ 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 877: // Bull Helmet + @item_crit = 15; + break; + case 4031: // Monocle + case 5201: // Pipe + @item_crit = 10; + break; + default: + @item_crit = 0; + break; + } + if (getequipid(EQI_HAND_R) == 576) // 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,17 +278,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); } return; } - -- cgit v1.2.3-60-g2f50