public BombFighter(Fighter master, FightTeam team, MonsterRecord monsterTemplate, short cellid, sbyte grade) : base(team) { this.MonsterTemplate = monsterTemplate; this.ReadyToFight = true; this.Team = team; this.Team.AddBomb(this); this.Master = master; this.Grade = grade; this.InitializeBomb(master.ContextualId, cellid); this.BombWallRecord = BombWallRecord.GetWallRecord(monsterTemplate.Id); }
public void CastDetonation(Fighter master, Fighter bomb, ushort explosionSpellId, int bombMonsterId, sbyte spellGrade) { master.Fight.TryEndSequence(1, 0); // During Spell Cast BombWallRecord bwall = BombWallRecord.GetWallRecord(bombMonsterId); master.Fight.TryStartSequence(master.ContextualId, 1); master.Fight.Send(new GameActionFightSpellCastMessage(0, master.ContextualId, 0, bomb.CellId, (sbyte)FightSpellCastCriticalEnum.NORMAL , true, bwall.CibleDetonationSpellId, spellGrade, new short[0])); SpellLevelRecord elevel = SpellLevelRecord.GetLevel(bwall.CibleDetonationSpellId, spellGrade); bomb.HandleSpellEffects(elevel, bomb.CellId, FightSpellCastCriticalEnum.NORMAL); master.Fight.CheckFightEnd(); master.Fight.TryEndSequence(1, 0); }