public override float SpawnChance(NPCSpawnInfo spawnInfo) { int x = spawnInfo.spawnTileX; int y = spawnInfo.spawnTileY; int tile = (int)Main.tile[x, y].type; return(HavocPlayer.ZoneSwamp && Havoc.NoInvasion(spawnInfo) && spawnInfo.water ? 1f : 0f); }
public static void Generate(WeakAura wa) { var havoc = new Havoc(); var builder = new SpecBuilder(ClassSpec.Havoc); // todo: souls tracker (to the resource HUD?) builder.AddOverflow( havoc.Imprison.DeBuff(), havoc.SpectralSight.Buff(), // todo: not_on_CD --> back to combat buffs? havoc.ThrowGlaive // havoc.Torment, ).AddRightBar( // Cooldowns havoc.ChaosNova.DeBuff(), havoc.Darkness.Buff(), havoc.Blur.Buff(), havoc.SigilOfMisery ).AddCoreRotation( havoc.ImmolationAura.Buff(), // todo: glow when castable havoc.EyeBeam.Buff().AssociateAura(havoc.FuriousGaze), havoc.BladeDance, havoc.GlaiveTempest ).AddCoreCooldowns( havoc.Metamorphosis.Buff(), havoc.EssenceBreak.DeBuff(), havoc.FelEruption.DeBuff(), havoc.FelBarrage.Buff() ).AddBottomBar( havoc.FelRush, havoc.VengefulRetreat, havoc.Felblade, havoc.Netherwalk, havoc.Disrupt, // todo: check target for magic havoc.ConsumeMagic ).AddTopBar( havoc.SoulFragments.Passive().Buff() // vengeance.ChaosBrand.Passive().B ).AddAlerts( havoc.Glide.Passive().Buff() ).Build(wa); }
public override float SpawnChance(NPCSpawnInfo spawnInfo) { int spawn = Main.rand.Next(1, 10); return(HavocPlayer.ZoneSwamp && spawn == 3 && Havoc.NoInvasion(spawnInfo) ? 0.5f : 0f); }
public override float SpawnChance(NPCSpawnInfo spawnInfo) { int rand = Main.rand.Next(2); return(rand == 1 && HavocPlayer.ZoneSwamp && Havoc.NoInvasion(spawnInfo) ? 0.5f : 0f); }
public override float SpawnChance(NPCSpawnInfo spawnInfo) { return(HavocPlayer.ZoneSwamp && spawnInfo.water && Havoc.NoInvasion(spawnInfo) ? 0.5f : 0f); }
public override float SpawnChance(NPCSpawnInfo spawnInfo) { int rand = Main.rand.Next(1, 95); return(HavocPlayer.ZoneSwamp && Main.hardMode && rand == 45 && Havoc.NoInvasion(spawnInfo) ? 0.5f : 0f); }
private static IWeapon CreateFromRecognizedString(string recognizedName, IWeapon currentWeapon, int offsetX, int offsetY, float sensitivityScale) { var weaponName = recognizedName.FindMostSimilar(WeaponNamesToTypes.Keys); WeaponNamesToTypes.TryGetValue(weaponName, out var weaponType); var inGameName = weaponType.GetWeaponName(); IWeapon result; if (currentWeapon?.IsTheSameWeapon(inGameName) ?? weaponType == WeaponAL.Unknown) { return(currentWeapon); } var numOfMods = WeaponTypesToNumOfMods[weaponType]; switch (weaponType) { case WeaponAL.Wingman: case WeaponAL.MASTIFF: case WeaponAL.KRABER: case WeaponAL.Longbow: case WeaponAL.Peacekeeper: case WeaponAL.TripleTake: result = new NonAdjustableWeapon(inGameName, 0, recognizedName, numOfMods); break; case WeaponAL.Havoc: result = new Havoc(inGameName, 2, recognizedName, numOfMods); break; case WeaponAL.Devotion: result = new Devotion(inGameName, 2, recognizedName, numOfMods); break; case WeaponAL.LStar: result = new LStar(inGameName, 2, recognizedName, numOfMods); break; case WeaponAL.Flatline: result = new Flatline(inGameName, 2, recognizedName, numOfMods); break; case WeaponAL.Hemlok: result = new Hemlok(inGameName, 2, recognizedName, numOfMods); break; case WeaponAL.Prowler: result = new Prowler(inGameName, 2, recognizedName, numOfMods); break; case WeaponAL.RE45: result = new RE45(inGameName, 2, recognizedName, numOfMods); break; case WeaponAL.R301: result = new R301(inGameName, 2, recognizedName, numOfMods); break; case WeaponAL.R99: result = new R99(inGameName, 1.5, recognizedName, numOfMods); break; case WeaponAL.Alternator: result = new Alternator(inGameName, 2, recognizedName, numOfMods); break; case WeaponAL.G7Scout: result = new G7Scout(inGameName, 2, recognizedName, numOfMods); break; case WeaponAL.Unknown: case WeaponAL.Spitfire: case WeaponAL.EVA8Auto: case WeaponAL.Mozambique: case WeaponAL.P2020: result = new RegularAdjustmentWeapon(inGameName, 2, recognizedName, numOfMods); break; default: throw new ArgumentOutOfRangeException(); } result.SetOffsets(offsetX, offsetY); result.SetSensitivityScale(sensitivityScale); return(result); }
public override float SpawnChance(NPCSpawnInfo spawnInfo) { int spawn = Main.rand.Next(100); return(Main.hardMode && spawnInfo.spawnTileY < Main.rockLayer && Havoc.NoInvasion(spawnInfo) && spawn == 24 ? 1f : 0f); }