• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

TFS 0.X SKILL SHIELDING not WORK!

Dibis

Member
Joined
Dec 1, 2022
Messages
73
Reaction score
16
Location
POLAND
Hello.
I have problem with skill shielding.
I tested two players. First have 10 shielding and chain set, Second the same set but 35 shielding.
Rotworm hit players the same.

How I can change this ? I use TFS 0.3.7 based on OTX2.
 
@Gesior.pl please help :<

Why in TFS 1.5 have this formula:

return (defenseSkill / 4. + 2.23) * defenseValue * 0.15 * getDefenseFactor() * vocation->defenseMultiplier;

OTX 2 [0.3.7]

return ((int32_t)std::ceil(((float)(defenseSkill * (defenseValue * 0.015)) + (defenseValue * 0.1)) * defenseFactor));

Maybe i must change *0.015 to *0.15 ?
 
Last edited:
Hello.
I have problem with skill shielding.
I tested two players. First have 10 shielding and chain set, Second the same set but 35 shielding.
Rotworm hit players the same.

How I can change this ? I use TFS 0.3.7 based on OTX2.
Player skills do not change damage blocked by armor. Why would they? Why skill in defending by shield should increase armor?

That formula is for shield/weapon/fist defense, not for armor.
If player wears shield + weapon, it uses skill Shielding and defense of shield + 'extra def' of weapon.
If player wears shield, it uses skill Shielding and defense of shield.
If player wears weapon, it uses skill of given weapon (sword/axe/club) and defense+extra def of weapon.
If player wears nothing (no shield and no armor), it uses skill Fist fighting and 7 as defense value.
( forgottenserver/player.cpp at 4bd81f335133b42caae11c26f42cfaa3bc57e1c5 · otland/forgottenserver (https://github.com/otland/forgottenserver/blob/4bd81f335133b42caae11c26f42cfaa3bc57e1c5/src/player.cpp#L367-L397) )

Armor formula is here:
It's very simple. It just reduce damage by armor value (random 50-100% of armor):
C++:
damage -= uniform_random(armor / 2, armor - (armor % 2 + 1));
 
Player skills do not change damage blocked by armor. Why would they? Why skill in defending by shield should increase armor?

That formula is for shield/weapon/fist defense, not for armor.
If player wears shield + weapon, it uses skill Shielding and defense of shield + 'extra def' of weapon.
If player wears shield, it uses skill Shielding and defense of shield.
If player wears weapon, it uses skill of given weapon (sword/axe/club) and defense+extra def of weapon.
If player wears nothing (no shield and no armor), it uses skill Fist fighting and 7 as defense value.
( forgottenserver/player.cpp at 4bd81f335133b42caae11c26f42cfaa3bc57e1c5 · otland/forgottenserver (https://github.com/otland/forgottenserver/blob/4bd81f335133b42caae11c26f42cfaa3bc57e1c5/src/player.cpp#L367-L397) )

Armor formula is here:
It's very simple. It just reduce damage by armor value (random 50-100% of armor):
C++:
damage -= uniform_random(armor / 2, armor - (armor % 2 + 1));

I understand, but my problem is that the monsters still hit the same when I have shielding 10 or 100 it doesn't make any difference.
 
With 0.3.7 formula:
Player with 100 skill and Demon Shield should have damage reduction 35-70 HP.
Player with 10 skill and Demon Shield should have damage reduction 5-11 HP.

If you are talking about shielding skill, only shield defense matters.
 
Your monster's damage is probably like this:
XML:
<attack name="melee" interval="2000" min="0" max="-40" />
Try something like this:
XML:
<attack name="melee" interval="2000" skill="26" attack="18"/>
 
Your monster's damage is probably like this:
XML:
<attack name="melee" interval="2000" min="0" max="-40" />
Try something like this:
XML:
<attack name="melee" interval="2000" skill="26" attack="18"/>

Have second option in monsters config.
Post automatically merged:

With 0.3.7 formula:
Player with 100 skill and Demon Shield should have damage reduction 35-70 HP.
Player with 10 skill and Demon Shield should have damage reduction 5-11 HP.

If you are talking about shielding skill, only shield defense matters.

How I can change defense? In vocation.xml change defense=1.0 to defense=1.5 / 2.0 ?
In player.cpp i have this:
return ((int32_t)std::ceil(((float)(defenseSkill * (defenseValue * 0.015)) + (defenseValue * 0.1)) * defenseFactor));

But reduce DMG not work or work but very bad.
 
You are giving absolutely no data.
Is it problem with shielding? Problem with armor? These are 2 different systems.
What do you mean by same damage? How do you test it? Is it same 'max damage'? Is it same 'avg damage'? How many hits did you test?

Armor, shield and shielding skills are pretty useless in Tibia. We are talking about damage reduction of 50-100 with skill 100 and best items. So it can block attacks by small monsters ex. Rotworm, Troll.
 
Back
Top