• 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!

C++ Absorb Skill

115820

Member
Joined
Feb 27, 2011
Messages
193
Solutions
1
Reaction score
5
Location
London, England
TFS 1.3
Hi, i have a ideia.

For example: When i have 50 fishing skill, it will reduce elements damange (PHYSICAL, HOLY, ENERGY, ETC. [Like ProtectionALL]). its like 50*1=50%, each fishingskill its like 1% of protection.
 
Last edited:
Game. Cpp
In combatchangehealth

C++:
if(params.combatType == COMBAT_FIREDAMAGE && target && target->getPlayer())
            {
                double damageChange = 0;
                int32_t skillFish = target->getPlayer()->getSkill(SKILL_FISH, SKILL_LEVEL);
 
                if(skillFish >= 10)
                    damageChange = std::ceil(skillFish * 0.1 * damage / 100);
 
                if((int32_t)damageChange != 0)
                {
                    damage -= (int32_t)damageChange;
                    char buffer[150];
                    sprintf(buffer, "%d hitpoint%s has been absorbed by your resistance.", (int32_t)damageChange, ((int32_t)damageChange == 1 ? "" : "s"));
 
                    target->getPlayer()->addSkillAdvance(SKILL_FISH, 1, true);
                    target->getPlayer()->sendTextMessage(MSG_EVENT_DEFAULT, buffer);
                }
            }
 
Game. Cpp
In combatchangehealth

C++:
if(params.combatType == COMBAT_FIREDAMAGE && target && target->getPlayer())
            {
                double damageChange = 0;
                int32_t skillFish = target->getPlayer()->getSkill(SKILL_FISH, SKILL_LEVEL);

                if(skillFish >= 10)
                    damageChange = std::ceil(skillFish * 0.1 * damage / 100);

                if((int32_t)damageChange != 0)
                {
                    damage -= (int32_t)damageChange;
                    char buffer[150];
                    sprintf(buffer, "%d hitpoint%s has been absorbed by your resistance.", (int32_t)damageChange, ((int32_t)damageChange == 1 ? "" : "s"));

                    target->getPlayer()->addSkillAdvance(SKILL_FISH, 1, true);
                    target->getPlayer()->sendTextMessage(MSG_EVENT_DEFAULT, buffer);
                }
            }
i forgot to say, my tfs is 1.3
 
Back
Top