beliar34
Member
- Joined
- Feb 28, 2012
- Messages
- 307
- Solutions
- 7
- Reaction score
- 11
Error in putty when compiling :
Code :
Code:
game.cpp: In member function 'Item* Game::findItemOfType(Cylinder*, uint16_t, bool, int32_t)':
game.cpp:1580:10: warning: converting 'false' to pointer type 'Item*' [-Wconversion-null]
game.cpp: In member function 'bool Game::combatChangeHealth(CombatType_t, Creature*, Creature*, int32_t, bool)':
game.cpp:4118:37: error: 'damage' was not declared in this scope
game.cpp:4123:29: error: 'damage' was not declared in this scope
make[1]: *** [game.o] Error 1
Code :
Code:
bool Game::combatChangeHealth(CombatType_t combatType, Creature* attacker, Creature* target,
int32_t healthChange, 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;
>>> here starts absorb script
if(combatType == COMBAT_PHYSICALDAMAGE && target && target->getPlayer())
{
double absorbPower = 0, damageChange = 0;
int32_t skillShield = target->getPlayer()->getSkill(SKILL_SHIELD, SKILL_LEVEL);
if(skillShield >= 15)
{
absorbPower = (std::floor(skillShield / 5) - 3) * 3;
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 defense.", (int32_t)damageChange, ((int32_t)damageChange == 1 ? "" : "s"));
target->getPlayer()->sendTextMessage(MSG_EVENT_DEFAULT, buffer);
}
}