private void AddStat(PlayerStats.StatType statType, float amount, StatModifier.ModifyMethod method = StatModifier.ModifyMethod.ADDITIVE) { StatModifier statModifier = new StatModifier { amount = amount, statToBoost = statType, modifyType = method }; foreach (StatModifier statModifier2 in this.passiveStatModifiers) { bool flag = statModifier2.statToBoost == statType; bool flag2 = flag; if (flag2) { return; } } bool flag3 = this.passiveStatModifiers == null; bool flag4 = flag3; if (flag4) { this.passiveStatModifiers = new StatModifier[] { statModifier }; return; } this.passiveStatModifiers = this.passiveStatModifiers.Concat(new StatModifier[] { statModifier }).ToArray <StatModifier>(); }
private void AddStat(PlayerStats.StatType statType, float amount, StatModifier.ModifyMethod method = StatModifier.ModifyMethod.ADDITIVE) { StatModifier modifier = new StatModifier(); modifier.amount = amount; modifier.statToBoost = statType; modifier.modifyType = method; foreach (var m in passiveStatModifiers) { if (m.statToBoost == statType) { return; //don't add duplicates } } if (this.passiveStatModifiers == null) { this.passiveStatModifiers = new StatModifier[] { modifier } } ; else { this.passiveStatModifiers = this.passiveStatModifiers.Concat(new StatModifier[] { modifier }).ToArray(); } }
public static void AddStat(this PassiveItem item, PlayerStats.StatType statType, float amount, StatModifier.ModifyMethod method = StatModifier.ModifyMethod.ADDITIVE) { StatModifier statModifier = new StatModifier { amount = amount, statToBoost = statType, modifyType = method }; foreach (StatModifier statModifier2 in item.passiveStatModifiers) { bool flag = statModifier2.statToBoost == statType; if (flag) { return; } } bool flag2 = item.passiveStatModifiers == null; if (flag2) { item.passiveStatModifiers = new StatModifier[] { statModifier }; return; } item.passiveStatModifiers = item.passiveStatModifiers.Concat(new StatModifier[] { statModifier }).ToArray <StatModifier>(); }
private void AddStat(PlayerStats.StatType statType, float amount, StatModifier.ModifyMethod method = StatModifier.ModifyMethod.ADDITIVE) { foreach (var m in passiveStatModifiers) { if (m.statToBoost == statType) { return; } } StatModifier modifier = new StatModifier { amount = amount, statToBoost = statType, modifyType = method }; if (this.passiveStatModifiers == null) { this.passiveStatModifiers = new StatModifier[] { modifier } } ; else { this.passiveStatModifiers = this.passiveStatModifiers.Concat(new StatModifier[] { modifier }).ToArray(); } }
// Token: 0x06000356 RID: 854 RVA: 0x0001F684 File Offset: 0x0001D884 private void AddStat(PlayerStats.StatType statType, float amount, StatModifier.ModifyMethod method = StatModifier.ModifyMethod.ADDITIVE) { StatModifier statModifier = new StatModifier { amount = amount, statToBoost = statType, modifyType = method }; bool flag = this.passiveStatModifiers == null; if (flag) { this.passiveStatModifiers = new StatModifier[] { statModifier }; } else { this.passiveStatModifiers = this.passiveStatModifiers.Concat(new StatModifier[] { statModifier }).ToArray <StatModifier>(); } }
// Token: 0x06000027 RID: 39 RVA: 0x000030C8 File Offset: 0x000012C8 public static StatModifier AddPassiveStatModifier(this PickupObject po, PlayerStats.StatType statType, float amount, StatModifier.ModifyMethod method = StatModifier.ModifyMethod.ADDITIVE) { StatModifier statModifier = new StatModifier(); statModifier.amount = amount; statModifier.statToBoost = statType; statModifier.modifyType = method; po.AddPassiveStatModifier(statModifier); return(statModifier); }
public static StatModifier SetupStatModifier(PlayerStats.StatType statType, float modificationAmount, StatModifier.ModifyMethod modifyMethod = StatModifier.ModifyMethod.ADDITIVE, bool breaksOnDamage = false) { return(new StatModifier { statToBoost = statType, amount = modificationAmount, modifyType = modifyMethod, isMeatBunBuff = breaksOnDamage }); }
private void ChangeStatPermanent(PlayerController target, PlayerStats.StatType statToChance, float amount, StatModifier.ModifyMethod modifyMethod) { StatModifier statModifier = new StatModifier(); statModifier.amount = amount; statModifier.modifyType = modifyMethod; statModifier.statToBoost = statToChance; target.ownerlessStatModifiers.Add(statModifier); target.stats.RecalculateStats(target, false, false); }
//Removes a stat private void RemoveStat(PlayerStats.StatType statType) { var newModifiers = new List<StatModifier>(); for (int i = 0; i < passiveStatModifiers.Length; i++) { if (passiveStatModifiers[i].statToBoost != statType) newModifiers.Add(passiveStatModifiers[i]); } this.passiveStatModifiers = newModifiers.ToArray(); }
public static void AddPassiveStatModifier(PickupObject po, PlayerStats.StatType statType, float amount, StatModifier.ModifyMethod method = StatModifier.ModifyMethod.ADDITIVE) { StatModifier statModifier = new StatModifier(); statModifier.amount = amount; statModifier.statToBoost = statType; statModifier.modifyType = method; bool flag = po is PlayerItem; if (flag) { PlayerItem playerItem = po as PlayerItem; bool flag2 = playerItem.passiveStatModifiers == null; if (flag2) { playerItem.passiveStatModifiers = new StatModifier[] { statModifier }; } else { playerItem.passiveStatModifiers = playerItem.passiveStatModifiers.Concat(new StatModifier[] { statModifier }).ToArray <StatModifier>(); } } else { bool flag3 = po is PassiveItem; if (!flag3) { throw new NotSupportedException("Object must be of type PlayerItem or PassiveItem"); } PassiveItem passiveItem = po as PassiveItem; bool flag4 = passiveItem.passiveStatModifiers == null; if (flag4) { passiveItem.passiveStatModifiers = new StatModifier[] { statModifier }; } else { passiveItem.passiveStatModifiers = passiveItem.passiveStatModifiers.Concat(new StatModifier[] { statModifier }).ToArray <StatModifier>(); } } }
public static void AddPassiveStatModifier(this Gun gun, PlayerStats.StatType statType, float amount, StatModifier.ModifyMethod modifyMethod) { gun.passiveStatModifiers = gun.passiveStatModifiers.Concat(new StatModifier[] { new StatModifier { statToBoost = statType, amount = amount, modifyType = modifyMethod } }).ToArray <StatModifier>(); }
private void ApplyStat2(PlayerController player, PlayerStats.StatType statType, float amountToApply, StatModifier.ModifyMethod modifyMethod) { player.stats.RecalculateStats(player, false, false); this.statModifier2 = new StatModifier() { statToBoost = statType, amount = amountToApply, modifyType = modifyMethod }; player.ownerlessStatModifiers.Add(statModifier2); player.stats.RecalculateStats(player, false, false); }
/// <summary> /// Adds a passive player stat modifier to a PlayerItem or PassiveItem /// </summary> public static void AddPassiveStatModifier(PickupObject po, PlayerStats.StatType statType, float amount, StatModifier.ModifyMethod method = StatModifier.ModifyMethod.ADDITIVE) { StatModifier modifier = new StatModifier(); modifier.amount = amount; modifier.statToBoost = statType; modifier.modifyType = method; if (po is PlayerItem) { var item = (po as PlayerItem); if (item.passiveStatModifiers == null) { item.passiveStatModifiers = new StatModifier[] { modifier } } ; else { item.passiveStatModifiers = item.passiveStatModifiers.Concat(new StatModifier[] { modifier }).ToArray(); } } else if (po is PassiveItem) { var item = (po as PassiveItem); if (item.passiveStatModifiers == null) { item.passiveStatModifiers = new StatModifier[] { modifier } } ; else { item.passiveStatModifiers = item.passiveStatModifiers.Concat(new StatModifier[] { modifier }).ToArray(); } } else if (po is Gun) { var item = (po as Gun); if (item.passiveStatModifiers == null) { item.passiveStatModifiers = new StatModifier[] { modifier } } ; else { item.passiveStatModifiers = item.passiveStatModifiers.Concat(new StatModifier[] { modifier }).ToArray(); } } else { throw new NotSupportedException("Object must be of type PlayerItem or PassiveItem"); } }
public static void RemoveStatFromGun(this Gun item, PlayerStats.StatType statType) { var newModifiers = new List <StatModifier>(); for (int i = 0; i < item.passiveStatModifiers.Length; i++) { if (item.passiveStatModifiers[i].statToBoost != statType) { newModifiers.Add(item.passiveStatModifiers[i]); } } item.passiveStatModifiers = newModifiers.ToArray(); }
private void ProcessStat(PlayerStats.StatType type, PlayerController player, float defaultValue, ref float increaseValue, bool decrease = false) { this.RemoveStat(type); if (type == PlayerStats.StatType.Damage) { ETGModConsole.Log("da: " + (player.stats.GetStatValue(type) - increaseValue < defaultValue)); } if ((player.stats.GetStatValue(type) - increaseValue < defaultValue && !decrease) || (player.stats.GetStatValue(type) + increaseValue > defaultValue && decrease)) { increaseValue = defaultValue - player.stats.GetStatValue(type); this.AddStat(type, increaseValue, StatModifier.ModifyMethod.ADDITIVE); } }
public void RemoveCurrentGunStatModifier(PlayerStats.StatType statType) { List <StatModifier> list = new List <StatModifier>(); foreach (StatModifier mod in gun.currentGunStatModifiers) { if (mod.statToBoost != statType) { list.Add(mod); } } gun.currentGunStatModifiers = list.ToArray(); }
private void RemoveStat(PlayerStats.StatType statType) { List<StatModifier> list = new List<StatModifier>(); for (int i = 0; i < this.passiveStatModifiers.Length; i++) { bool flag = this.passiveStatModifiers[i].statToBoost != statType; if (flag) { list.Add(this.passiveStatModifiers[i]); } } this.passiveStatModifiers = list.ToArray(); }
public static void RemoveStat(this PassiveItem item, PlayerStats.StatType statType) { List <StatModifier> list = new List <StatModifier>(); for (int i = 0; i < item.passiveStatModifiers.Length; i++) { bool flag = item.passiveStatModifiers[i].statToBoost != statType; if (flag) { list.Add(item.passiveStatModifiers[i]); } } item.passiveStatModifiers = list.ToArray(); }
public static float DefaultValue(StatType stat, bool isRobot) { if (stat == StatType.MovementSpeed) { return(7); } if (stat == StatType.Coolness || stat == StatType.Curse || stat == StatType.AdditionalBlanksPerFloor) { return(0); } if (stat == StatType.Health) { return(!isRobot ? 3 : 6); } return(1); }
private IEnumerator HandleTimedStatModifier(PlayerStats.StatType statToBoost, float amount, float dur, StatModifier.ModifyMethod method) { StatModifier timedMod = new StatModifier() { amount = amount, statToBoost = statToBoost, modifyType = method, }; m_attachedPlayer.ownerlessStatModifiers.Add(timedMod); m_attachedPlayer.stats.RecalculateStats(m_attachedPlayer); yield return(new WaitForSeconds(dur)); m_attachedPlayer.ownerlessStatModifiers.Remove(timedMod); m_attachedPlayer.stats.RecalculateStats(m_attachedPlayer); yield break; }
public static void AddStatToGun(this Gun item, PlayerStats.StatType statType, float amount, StatModifier.ModifyMethod method = StatModifier.ModifyMethod.ADDITIVE) { StatModifier modifier = new StatModifier { amount = amount, statToBoost = statType, modifyType = method }; if (item.passiveStatModifiers == null) { item.passiveStatModifiers = new StatModifier[] { modifier } } ; else { item.passiveStatModifiers = item.passiveStatModifiers.Concat(new StatModifier[] { modifier }).ToArray(); } }
private void StatModifierStuff(PlayerStats.StatType stat, float amount, StatModifier.ModifyMethod modifyType) { if (modifyType == StatModifier.ModifyMethod.MULTIPLICATIVE) { StatModifier statModifier = new StatModifier(); statModifier.amount = amount; statModifier.modifyType = modifyType; statModifier.statToBoost = stat; LastOwner.ownerlessStatModifiers.Add(statModifier); LastOwner.stats.RecalculateStats(LastOwner, false, false); } else { if (amount < 0) { if ((amount * amount) <= LastOwner.stats.GetStatValue(stat)) { StatModifier statModifier = new StatModifier(); statModifier.amount = amount; statModifier.modifyType = modifyType; statModifier.statToBoost = stat; LastOwner.ownerlessStatModifiers.Add(statModifier); LastOwner.stats.RecalculateStats(LastOwner, false, false); } } else { StatModifier statModifier = new StatModifier(); statModifier.amount = amount; statModifier.modifyType = modifyType; statModifier.statToBoost = stat; LastOwner.ownerlessStatModifiers.Add(statModifier); LastOwner.stats.RecalculateStats(LastOwner, false, false); } } }
public void AddCurrentGunStatModifier(PlayerStats.StatType statType, float amount, StatModifier.ModifyMethod modifyMethod) { gun.currentGunStatModifiers = gun.currentGunStatModifiers.Concat(new StatModifier[] { new StatModifier { statToBoost = statType, amount = amount, modifyType = modifyMethod } }).ToArray(); }
private void ApplyStat(PlayerController player, PlayerStats.StatType statType, float amountToApply, StatModifier.ModifyMethod modifyMethod) { player.ownerlessStatModifiers.Add(Toolbox.SetupStatModifier(PlayerStats.StatType.Damage, 0.1f, StatModifier.ModifyMethod.ADDITIVE, false)); player.stats.RecalculateStats(player, false, false); }
public static float GetCombinedPlayersStatAmount(this GameManager managerInstance, PlayerStats.StatType stat) { float amt = 0; if (managerInstance.PrimaryPlayer) { float primary = managerInstance.PrimaryPlayer.stats.GetStatValue(stat); amt += primary; } if (managerInstance.SecondaryPlayer) { float secondary = managerInstance.SecondaryPlayer.stats.GetStatValue(stat); amt += secondary; } return(amt); }
public void DoTimedStatModifier(PlayerStats.StatType statToBoost, float amount, float time, StatModifier.ModifyMethod modifyMethod = StatModifier.ModifyMethod.MULTIPLICATIVE) { m_attachedPlayer.StartCoroutine(HandleTimedStatModifier(statToBoost, amount, time, modifyMethod)); }
public void SetStat(PlayerController player, PlayerStats.StatType type, float val) { GameManager.Instance.PrimaryPlayer.stats.SetBaseStatValue(type, val, player); }
//Stats public static Dictionary <StatType, float> GetStats(string[] lines, int startIndex, out int endIndex) { endIndex = startIndex; Dictionary <PlayerStats.StatType, float> stats = new Dictionary <PlayerStats.StatType, float>(); string line; string[] args; for (int i = startIndex; i < lines.Length; i++) { endIndex = i; line = lines[i].ToLower().Trim(); if (line.StartsWith("</stats>")) { return(stats); } args = line.Split(':'); if (args.Length == 0) { continue; } if (string.IsNullOrEmpty(args[0])) { continue; } if (args.Length < 2) { ToolsCharApi.PrintError("Invalid stat line: " + line); continue; } StatType stat = StatType.Accuracy; bool foundStat = false; foreach (StatType statType in Enum.GetValues(typeof(StatType))) { if (statType.ToString().ToLower().Equals(args[0].ToLower())) { stat = statType; foundStat = true; break; } } if (!foundStat) { ToolsCharApi.PrintError("Unable to find stat: " + line); continue; } float value; bool foundValue = float.TryParse(args[1].Trim(), out value); if (!foundValue) { ToolsCharApi.PrintError("Invalid stat value: " + line); continue; } stats.Add(stat, value); } ToolsCharApi.PrintError("Invalid stats setup, expecting '</stats>' but found none"); return(new Dictionary <StatType, float>()); }
public float GetStat(PlayerController player, PlayerStats.StatType type) { return(GameManager.Instance.PrimaryPlayer.stats.GetStatValue(type)); }
public void AddStatCommands(PlayerController player, string name, PlayerStats.StatType type) { _SetGroup.AddUnit(name, (args) => SetStat(player, type, float.Parse(args[0]))); _GetGroup.AddUnit(name, (args) => ETGModConsole.Log(GetStat(player, type).ToString())); }