public void UsePunch(short cellid)
        {
            Fight.TryStartSequence(this.ContextualId, 2);
            Fighter          target = Fight.GetFighter(cellid);
            SpellLevelRecord spell  = GetSpellLevel((ushort)PUNCH_SPELL);

            if (target != null)
            {
                Fight.Send(new GameActionFightCloseCombatMessage(0, this.ContextualId, target.ContextualId, cellid, 0, false, 0));
                var jet = CalculateJet(spell.Effects[0], FighterStats.Stats.Strength);
                target.TakeDamages(new TakenDamages(jet, ElementType.Earth), this.ContextualId);
            }
            else
            {
                Fight.Send(new GameActionFightCloseCombatMessage(0, this.ContextualId, 0, cellid, 0, false, 0));
            }
            GameActionFightPointsVariation(ActionsEnum.ACTION_CHARACTER_ACTION_POINTS_USE, (short)-spell.ApCost);
            FighterStats.Stats.ActionPoints -= spell.ApCost;
            RefreshStats();
            Fight.TryEndSequence(2, 0);

            Fight.CheckFightEnd();
        }