Witam chce doda? na serwer magic dmg do vocation juz wszystko doda?em do vocation.cpp/h ale wyskakuje mi komunikat
E0265 element sk?adowa "Player::vocation" (zadeklarowane w wierszu 1065 w "x:\xx\xxx\xx\xx\src\player.h") jest niedost?pny
player.h/1065/ Vocation* vocation;
combat.cpp
ps. jestem zielony w c++
---------- Tre?? dodana o 18:39 ----------
to ten fragment kodu int32_t levelFormula = player->getLevel() * 2 + player->getMagicLevel() * 3 * 1.5 * mina * player->vocation->getMagicDamage() + minb * player->vocation->getMagicDamage();
E0265 element sk?adowa "Player::vocation" (zadeklarowane w wierszu 1065 w "x:\xx\xxx\xx\xx\src\player.h") jest niedost?pny
player.h/1065/ Vocation* vocation;
combat.cpp
Kod:
CombatDamage Combat::getCombatDamage(Creature* creature, Creature* target) const
{
CombatDamage damage;
damage.origin = params.origin;
damage.primary.type = params.combatType;
if (formulaType == COMBAT_FORMULA_DAMAGE) {
damage.primary.value = normal_random(
static_cast<int32_t>(mina),
static_cast<int32_t>(maxa)
);
} else if (creature) {
int32_t min, max;
if (creature->getCombatValues(min, max)) {
damage.primary.value = normal_random(min, max);
} else if (Player* player = creature->getPlayer()) {
if (params.valueCallback) {
params.valueCallback->getMinMaxValues(player, damage, params.useCharges);
} else if (formulaType == COMBAT_FORMULA_LEVELMAGIC) {
int32_t levelFormula = player->getLevel() * 2 + player->getMagicLevel() * 3 * 1.5 * mina * player->vocation->getMagicDamage() + minb * player->vocation->getMagicDamage();
int32_t levelFormula = player->getLevel() * 2 + player->getMagicLevel() * 3 * 1.5 * maxa * player->vocation->getMagicDamage() + maxb * player->vocation->getMagicDamage();
damage.primary.value = normal_random(
static_cast<int32_t>(levelFormula * mina + minb),
static_cast<int32_t>(levelFormula * maxa + maxb)
);
} else if (formulaType == COMBAT_FORMULA_SKILL) {
Item* tool = player->getWeapon();
const Weapon* weapon = g_weapons->getWeapon(tool);
if (weapon) {
damage.primary.value = normal_random(
static_cast<int32_t>(minb),
static_cast<int32_t>(weapon->getWeaponDamage(player, target, tool, true) * maxa + maxb)
);
damage.secondary.type = weapon->getElementType();
damage.secondary.value = weapon->getElementDamage(player, target, tool);
if (params.useCharges) {
uint16_t charges = tool->getCharges();
if (charges != 0) {
g_game.transformItem(tool, tool->getID(), charges - 1);
}
}
} else {
damage.primary.value = normal_random(
static_cast<int32_t>(minb),
static_cast<int32_t>(maxb)
);
}
}
}
}
return damage;
}
ps. jestem zielony w c++
---------- Tre?? dodana o 18:39 ----------
to ten fragment kodu int32_t levelFormula = player->getLevel() * 2 + player->getMagicLevel() * 3 * 1.5 * mina * player->vocation->getMagicDamage() + minb * player->vocation->getMagicDamage();