Mariuskens
Sword Art Online 2D-MMORPG
C++:
void Combat::doCombat(Creature* caster, Creature* target) const
{
//target combat callback function
if (params.combatType != COMBAT_NONE) {
CombatDamage damage = getCombatDamage(caster, target);
if (damage.primary.value < 0 && caster && caster->getPlayer()) {
caster->getPlayer()->doCriticalDamage(damage);
}
if (damage.primary.type != COMBAT_MANADRAIN) {
doCombatHealth(caster, target, damage, params);
} else {
doCombatMana(caster, target, damage, params);
}
} else {
doCombatDefault(caster, target, params);
}
}
void Combat::doCombat(Creature* caster, const Position& position) const
{
//area combat callback function
if (params.combatType != COMBAT_NONE) {
CombatDamage damage = getCombatDamage(caster, nullptr);
if (damage.primary.value < 0 && caster && caster->getPlayer()) {
caster->getPlayer()->doCriticalDamage(damage);
}
if (damage.primary.type != COMBAT_MANADRAIN) {
doCombatHealth(caster, position, area.get(), damage, params);
} else {
doCombatMana(caster, position, area.get(), damage, params);
}
} else {
CombatFunc(caster, position, area.get(), params, CombatNullFunc, nullptr);
}
}
here how can I put that sucks only 1 creature and not all those that receive the damage?
Last edited: