public bool CanBoostSpell(Spell spell, ushort level, bool send = true) { if (Owner.IsFighting()) { if (send) { ContextRoleplayHandler.SendSpellModifyFailureMessage(Owner.Client); } return(false); } if (spell.CurrentLevel == level || level > 6) { if (send) { ContextRoleplayHandler.SendSpellModifyFailureMessage(Owner.Client); } return(false); } if (Owner.SpellsPoints < CalculateSpellPoints(level, spell.CurrentLevel)) { if (send) { ContextRoleplayHandler.SendSpellModifyFailureMessage(Owner.Client); } return(false); } if (spell.ByLevel[level].MinPlayerLevel > Owner.Level) { if (send) { ContextRoleplayHandler.SendSpellModifyFailureMessage(Owner.Client); } return(false); } return(true); }
public bool BoostSpell(int id, ushort level) { var spell = GetSpell(id); if (spell == null) { ContextRoleplayHandler.SendSpellModifyFailureMessage(Owner.Client); return(false); } if (!CanBoostSpell(spell, level)) { return(false); } Owner.SpellsPoints -= (ushort)CalculateSpellPoints(level, spell.CurrentLevel); spell.CurrentLevel = (byte)level; ContextRoleplayHandler.SendSpellModifySuccessMessage(Owner.Client, spell); return(true); }