Hello everyone!
I have a problem with absorb skill system in source more precisely in game.cpp
When i compile it i have this error:
Some ideas?
I have a problem with absorb skill system in source more precisely in game.cpp
C++:
bool Game::combatChangeHealth(CombatType_t combatType, Creature* attacker, Creature* target, int32_t healthChange,
MagicEffect_t hitEffect/* = MAGIC_EFFECT_UNKNOWN*/, TextColor_t hitColor/* = TEXTCOLOR_UNKNOWN*/, bool force/* = false*/)
{
const Position& targetPos = target->getPosition();
if(healthChange > 0)
{
if(!force && target->getHealth() <= 0)
return false;
bool deny = false;
CreatureEventList statsChangeEvents = target->getCreatureEvents(CREATURE_EVENT_STATSCHANGE);
for(CreatureEventList::iterator it = statsChangeEvents.begin(); it != statsChangeEvents.end(); ++it)
{
if(!(*it)->executeStatsChange(target, attacker, STATSCHANGE_HEALTHGAIN, combatType, healthChange))
deny = true;
}
if(deny)
return false;
if(combatType == COMBAT_DROWNDAMAGE && target && target->getPlayer())
{
double absorbPower = 0, damageChange = 0;
int32_t skillClub = target->getPlayer()->getSkill(SKILL_CLUB, SKILL_LEVEL);
if(skillClub >= 100)
{
absorbPower = (std::floor(skillClub / 5) - 20) * 2;
damageChange = std::ceil((damage * absorbPower) / 100);
}
if((int32_t)damageChange != 0)
{
damage -= (int32_t)damageChange;
char buffer[150];
sprintf(buffer, "%d hitpoint%s has been absorbed by your skill.", (int32_t)damageChange, ((int32_t)damageChange == 1 ? "" : "s"));
target->getPlayer()->sendTextMessage(MSG_EVENT_DEFAULT, buffer);
}
}
When i compile it i have this error:
Code:
In member function `bool Game::combatChangeHealth(CombatType_t, Creature*, Creature*, int32_t, MagicEffect_t, TextColor_t, bool)':
`damage' was not declared in this scope
Some ideas?