case (ushort)Role.Flags.SpellID.TwilightDance:
case (ushort)Role.Flags.SpellID.TwilightDance: { Attack.UID = user.Player.UID; Attack.OpponentUID = user.Player.UID; Attack.Damage = 0; Attack.AtkType = 0; user.Send(stream.InteractionCreate(&Attack)); MsgSpellAnimation MsgSpell = new MsgSpellAnimation(user.Player.UID , user.Player.UID, Attack.X, Attack.Y, ClientSpell.ID , ClientSpell.Level, ClientSpell.UseSpellSoul); Algoritms.LayTrapThree Line = new Algoritms.LayTrapThree(user.Player.X, Attack.X, user.Player.Y, Attack.Y, 15); int Stamp = 300; byte Color = 2; List<MsgFloorItem.MsgItem> Items = new List<MsgFloorItem.MsgItem>(); foreach (var coords in Line.LCoords) { if (!user.Player.FloorSpells.ContainsKey(ClientSpell.ID)) user.Player.FloorSpells.TryAdd(ClientSpell.ID, new Role.FloorSpell.ClientFloorSpells(user.Player.UID, Attack.X, Attack.Y, ClientSpell.SoulLevel, DBSpell, user.Map)); var FloorItem = new Role.FloorSpell(Game.MsgFloorItem.MsgItemPacket.TwilightDance, (ushort)coords.X, (ushort)coords.Y, Color, DBSpell, Stamp); user.Player.FloorSpells[ClientSpell.ID].AddItem(FloorItem); Color++; Stamp += 400; user.Player.View.SendView(stream.ItemPacketCreate(FloorItem.FloorPacket), true); } Updates.UpdateSpell.CheckUpdate(stream, user, Attack, 10000, DBSpells); MsgSpell.SetStream(stream); MsgSpell.Send(user); break; }
TwilightDance = 40,
case 12070: { //uint Damage = PhysicalAttack(monster.Target.Owner, monster); using (var rec = new ServerSockets.RecycledPacket()) { var stream = rec.GetStream(); MsgServer.MsgSpellAnimation SpellPacket = new MsgServer.MsgSpellAnimation(monster.UID , 0, monster.Target.X, monster.Target.Y, (ushort)Spells[rand], 0, 0); foreach (var targent in monster.View.Roles(client.Owner.Map, Role.MapObjectType.Player)) { if (!targent.Alive) continue; var player = targent as Role.Player; if (Role.Core.GetDistance(monster.Target.X, monster.Target.Y, player.X, player.Y) <= 18) { uint Damage = PhysicalAttack(player.Owner, monster); SpellPacket.Targets.Enqueue(new MsgServer.MsgSpellAnimation.SpellObj(player.UID, Damage , MsgServer.MsgAttackPacket.AttackEffect.None)); CheckForOponnentDead(player, Damage, monster); if (Rate(5) && !player.ContainFlag(MsgServer.MsgUpdate.Flags.Dizzy)) player.AddFlag(MsgServer.MsgUpdate.Flags.Frightened, 3, true); } } SpellPacket.SetStream(stream); SpellPacket.Send(monster); } break; ; }