Spell* Champion::castSpell(uint8 slot, float x, float y, Unit* target) { if(slot >= spells.size()) { return 0; } Spell* s = spells[slot]; if(s->getCost() > stats->getCurrentMana() || s->getState() != STATE_READY) { return 0; } s->cast(x, y, target); stats->setCurrentMana(stats->getCurrentMana()-s->getCost()); return s; }
Spell* Champion::castSpell(uint8 slot, float x, float y, Unit* target, uint32 futureProjNetId) { if(slot >= spells.size()) { return 0; } Spell* s = spells[slot]; s->setSlot(slot);//temporary hack until we redo spells to be almost fully lua-based if(s->getCost() > stats->getCurrentMana() || s->getState() != STATE_READY) { return 0; } s->cast(x, y, target, futureProjNetId); stats->setCurrentMana(stats->getCurrentMana()-s->getCost()); return s; }