public void SlowdownAttack() { var enemy = Character.SelectedCharacter; if (!AssembleEnemy(enemy) || Character.Cooldowns.CooldownDictionary.Any(c => c.Value is SlowdownAttackCooldown)) { return; } GameClient.SendToPlayerView(Character, netty.commands.old_client.LegacyModule.write("0|n|SAB_SHOT|" + Character.Id + "|" + enemy.Id), true); GameClient.SendToPlayerView(Character, netty.commands.new_client.LegacyModule.write("0|n|SAB_SHOT|" + Character.Id + "|" + enemy.Id), true); Character.Cooldowns.Add(new SlowdownAttackCooldown()); var decEffect = new DecelerationEffect(); decEffect.OnStart(enemy); enemy.Cooldowns.Add(decEffect); }
public override void Effect() { var area = Spacemap.Entities.Where(x => x.Value.Position.DistanceTo(Position) <= 1000 && x.Value is Player); foreach (var entry in area) { if (entry.Value.Cooldowns.CooldownDictionary.Any(x => x.Value is DecelerationEffect)) { var dc = entry.Value.Cooldowns.CooldownDictionary.FirstOrDefault(x => x.Value is DecelerationEffect); dc.Value.EndTime = dc.Value.EndTime.AddSeconds(3); } else { var effect = new DecelerationEffect(); effect.OnStart(entry.Value); entry.Value.Cooldowns.Add(effect); } } }
public void Decelerate(Character target) { if (!(target is Player)) { return; } var decCooldown = new DecelerationCooldown(); if (Character is Player) { decCooldown.Send(World.StorageManager.GetGameSession(Character.Id)); } Character.Cooldowns.Add(new DecelerationCooldown()); var decEffect = new DecelerationEffect(); decEffect.OnStart(target); target.Cooldowns.Add(new DecelerationEffect()); }
public void Decelerate(Character target) { if (!(target is Player)) { return; } var decCooldown = new DecelerationCooldown(); if (Character is Player) { decCooldown.Send(World.StorageManager.GetGameSession(Character.Id)); } Character.Cooldowns.Add(decCooldown); var decEffect = new DecelerationEffect(); decEffect.OnStart(target); target.Cooldowns.Add(decEffect); GameClient.SendToPlayerView(Character, netty.commands.old_client.LegacyModule.write("0|v|" + Character.Id + "|" + target.Id + "|H|" + 7 + "|1|" + (Character is Player && ((Player)Character).Storage.PrecisionTargeterActivated ? 1 : 0)), true); GameClient.SendToPlayerView(Character, netty.commands.new_client.LegacyModule.write("0|v|" + Character.Id + "|" + target.Id + "|H|" + 7 + "|1|" + (Character is Player && ((Player)Character).Storage.PrecisionTargeterActivated ? 1 : 0)), true); }