public void Handle(Chaos mod, String from, IEnumerable <String> rest) { Ped player = Game.Player.Character; if (player == null) { mod.ShowText($"{from} tried to boost you :("); return; } var what = "Boost"; float time = 30f; float factor = 20f; if (super) { factor = 200f; what = "Super Boost"; } var timer = mod.Timer(what, time); mod.AddTicker(new BoostTicker(player, timer, factor)); mod.ShowText($"{from} caused the vehicle to boost!"); }
public void Handle(Chaos mod, String from, IEnumerable <String> rest) { var r = rest.GetEnumerator(); if (!r.MoveNext()) { return; } String what = null; DisabledControl control = DisabledControl.Steering; var id = r.Current; switch (id) { case "steering": control = DisabledControl.Steering; what = "Steering"; break; default: throw new Exception($"bad disable-control id `{id}`"); } var timer = mod.Timer($"Disabled {what}", 10f); mod.AddTicker(new DisableControlTicker(timer, control)); mod.ShowText($"{from} disabled the {what} control!"); }
public void Handle(Chaos mod, String from, IEnumerable <String> rest) { var player = Game.Player.Character; if (player == null) { return; } var r = rest.GetEnumerator(); if (!r.MoveNext()) { return; } var amount = int.Parse(r.Current); for (var i = 0; i < amount; i++) { var pedHash = ENEMY_MODELS[mod.Rnd.Next(0, ENEMY_MODELS.Length)]; var weaponHash = ENEMY_WEAPONS[mod.Rnd.Next(0, ENEMY_WEAPONS.Length)]; var distance = mod.Rnd.Next(10, 20); var ped = World.CreatePed(new Model(pedHash), player.Position.Around(distance)); var weapon = ped.Weapons.Give(weaponHash, 0, true, true); weapon.Ammo = weapon.MaxAmmo; ped.IsEnemy = true; ped.RelationshipGroup = mod.HateGroup.GroupId; ped.SetCombatAttributes(CombatAttributes.AlwaysFight, true); ped.SetCombatAttributes(CombatAttributes.CanFightArmedPedsWhenNotArmed, true); ped.Task.ClearAll(); ped.Task.FightAgainst(player); ped.Detach(); ped.MarkAsNoLongerNeeded(); var blip = ped.AttachBlip(); mod.AddTicker(new EnemyBlipTicker(blip, ped)); } if (amount == 1) { mod.ShowText($"{from} spawned an fib operative out to get you!"); } else { mod.ShowText($"{from} spawned {amount} fib operatives out to get you!"); } }
public void Handle(Chaos mod, String from, IEnumerable <String> rest) { var player = Game.Player.Character; if (player == null) { mod.ShowText($"{from} tried to enable matrix slam :("); return; } var entities = World.GetNearbyEntities(player.Position, 1000f); foreach (var entity in entities) { if (entity == player) { continue; } if (entity is Ped) { var ped = (Ped)entity; mod.AddTicker(ped.Levitate(mod.Rnd, mod.AnonymousTimer(10f))); continue; } if (entity is Vehicle) { var vehicle = (Vehicle)entity; mod.AddTicker(vehicle.Levitate(mod.Rnd, mod.AnonymousTimer(10f))); continue; } } mod.AddUniqueTicker(TickerId.LevitatingEntities, new TimerTicker(mod.Timer("Levitating things", 10f))); }
public void Handle(Chaos mod, String from, IEnumerable <String> rest) { Ped player = Game.Player.Character; Vehicle vehicle = player.CurrentVehicle; if (vehicle == null) { mod.ShowText($"{from} tried to brake your vehicle!"); return; } var timer = mod.Timer("Handbrake On", 5f); mod.AddTicker(new BrakeTicker(vehicle, timer)); mod.ShowText($"{from} caused the vehicle to brake!"); }
public void Handle(Chaos mod, String from, IEnumerable <String> rest) { Ped player = Game.Player.Character; Vehicle vehicle = player.CurrentVehicle; if (vehicle == null) { mod.ShowText($"{from} tried to cause your fuel tank to leak :("); return; } var initial = vehicle.FuelLevel / 100f; var timer = mod.AnonymousTimer(30f * initial, 30f); var gauge = mod.Gauge("Fuel Level"); mod.AddTicker(new FuelLeakageTicker(vehicle, gauge, timer)); mod.ShowText($"{from} caused your fuel tank to leak!"); }
public void Handle(Chaos mod, String from, IEnumerable <String> rest) { var player = Game.Player.Character; if (player == null) { mod.ShowText($"{from} tried to enable matrix slam :("); return; } var entities = World.GetNearbyEntities(player.Position, 100f); var timer = mod.AnonymousTimer(2f); var controller = new MatrixController(entities, player, timer); mod.AddTicker(controller); mod.ShowText($"{from} performed a matrix slam!"); }
public void Handle(Chaos mod, String from, IEnumerable <String> rest) { Ped player = Game.Player.Character; if (player == null) { mod.ShowText($"{from} tried to put EVERYONE on fire!"); return; } var peds = World.GetNearbyPeds(player.Position, 1000f); var scriptFires = new List <ScriptFire>(); foreach (var ped in peds) { if (ped.IsHuman && !ped.IsOnFire && ped.IsAlive && ped != player) { if (ped.CurrentVehicle != null) { ped.Task.ClearAll(); ped.AlwaysKeepTask = true; ped.Task.LeaveVehicle(); } ped.Euphoria.OnFire.Start(10_000); var id = WorldExtension.StartScriptFire(ped.Position, 5, true); scriptFires.Add(new ScriptFire(id, ped)); } } if (scriptFires.Count == 0) { mod.ShowText($"{from} tried to put pedestrians on fire but there are none :("); return; } var timer = mod.Timer("Peds On Fire", 10f); mod.AddTicker(new SetPedsOnFireTicker(scriptFires, timer)); mod.ShowText($"{from} set {scriptFires.Count} pedestrians on fire!"); }