summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHoraK-FDF <horak-fdf@web.de>2021-08-07 16:58:22 +0200
committerHoraK-FDF <horak-fdf@web.de>2021-08-07 17:02:11 +0200
commitfdc967f58e0477628e4a13195d0c45a98c389f71 (patch)
tree51e100a9287d506d0f0fbd960463edb4faf68951
parent8957483e7196d21db0fb6257fedbea01b59cf53b (diff)
downloadserverdata-fdc967f58e0477628e4a13195d0c45a98c389f71.tar.gz
serverdata-fdc967f58e0477628e4a13195d0c45a98c389f71.tar.bz2
serverdata-fdc967f58e0477628e4a13195d0c45a98c389f71.tar.xz
serverdata-fdc967f58e0477628e4a13195d0c45a98c389f71.zip
focus skills v1
-rw-r--r--db/pre-re/job_db.conf12
-rw-r--r--npc/magic/final.txt83
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;
}
-