• 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++ Fix critical damage not being applied before health & mana drain

Mariuskens

Sword Art Online 2D-MMORPG
Joined
Nov 21, 2008
Messages
1,000
Reaction score
106
Location
Spain
GitHub
Olimpotibia
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:
I think you must use function for draining health in LUA spell.
Why you going to add this requirement in C++(Sources) while you got entire function to drainHealth that can handle caster, target, etc.?

Use these functions (TFS 1.X+) and brain:
Code:
COMBAT_LIFEDRAIN
creature:getTarget()
You should make spell that doing damage and drains health only from selected target by monster/caster.
 
mmmh i think is not posible, because when you use life leech on your weapon can you recover all damage from monsters to drainhealth, so i need only for target...

idnow how to change it :/
 
Last edited:

Similar threads

Back
Top