private static DataEntry GetModifier(string modGroup, int level, bool isPrefix) { var baseChance = GameOptions.Get(RpgSettings.PercentBaseRarityChance, 1f); var chance = baseChance + (baseChance * GameOptions.Get(RpgSettings.PercentRarityPerLevelMod, 1f) * level); if (!Game.DiceRollSuccess(chance)) { return(null); } var dict = isPrefix ? _prefixBag : _suffixBag; if (dict.Count == 0) { Init(); } if (!dict.TryGetValue(modGroup, out var bag)) { return(null); } WhileLoopLimiter.ResetInstance(); while (WhileLoopLimiter.InstanceAdvance()) { var mod = bag.Next(); if (mod == null) { return(null); } if (mod.GetValue <int>(DatabaseFields.MinLevel) <= level) { return(mod); } } return(null); }
public static int ItemRandomCurrentLevel() { var max = Mathf.Max(Player.HighestCurrentLevel, 2); var range = GameOptions.Get(RpgSettings.ItemRandomLevelRange, 1); return(Mathf.Clamp(Game.Random.Next(max - range, max + range), 2, 99)); }
public static BaseStat[] GetBasicCommandStats() { BaseStat[] stats = new BaseStat[3]; stats[0] = new BaseStat(Stats.Power, 0); stats[1] = new BaseStat(Stats.CriticalHit, 0); stats[2] = new BaseStat(Stats.CriticalMulti, GameOptions.Get(RpgSettings.DefaultCritMulti, 1f)); return(stats); }
public static BaseStat[] GetBasicCommandStats(StatsContainer stats) { var owner = stats.GetEntity(); BaseStat[] newStats = new BaseStat[3]; newStats[0] = new BaseStat(owner, Stats.Power, 0); newStats[1] = new BaseStat(owner, Stats.CriticalHit, 0); newStats[2] = new BaseStat(owner, Stats.CriticalMulti, GameOptions.Get(RpgSettings.DefaultCritMulti, 1f)); return(newStats); }
public void Remove(BaseStat item) { List.Remove(item); _dict.Remove(item.ID); if (item is VitalStat vital) { if (item.ID == GameOptions.Get(RpgSettings.HealthStat, "Vitals.Health")) { HealthStat = null; } _vitals.Remove(vital.ID); } }
public void Add(BaseStat item) { if (item == null || _dict.ContainsKey(item.ID)) { return; } List.Add(item); _dict.Add(item.ID, item); if (item is VitalStat vital) { if (item.ID == GameOptions.Get(RpgSettings.HealthStat, "Vitals.Health")) { HealthStat = vital; } _vitals.Add(vital.ID, vital); } }
public void OnCreate(PrefabEntity entity) { _interpolator = new CooperativePathInterpolator(this); _seeker = GetComponent <Seeker>(); _rvoController = GetComponent <RVOController>(); _traversal = new NpcMovementManager.TraversalProvider(this); Tr = transform; var colliderComponent = GetComponent <Collider>(); if (colliderComponent != null) { LocalCenter = new Vector3(0, colliderComponent.bounds.size.y / 2, 0); } else { LocalCenter = Vector3.up; } if (GameOptions.Get("DebugPathfinding", false)) { _debugRenderer = gameObject.AddComponent <LineRenderer>(); _debugRenderer.widthMultiplier = 0.3f; } }
private void OpenGameplayPanel() { ClearTargetOptions(); _optionsLabel.text = "Gameplay"; _targetOptions.Add(SetupLabel(_optionControlsTr, "Look Sensitivity").gameObject); _targetOptions.Add(SetupSlider(_optionControlsTr, GameOptions.Get("LookSensitivity", 2.5f), 0.1f, 6, (slider, f) => { GameOptions.Set("LookSensitivity", f); }, false).gameObject); //_targetOptions.Add(SetupLabel(_optionControlsTr, "Look Smoothing").gameObject); //_targetOptions.Add(SetupSlider(_optionControlsTr, GameOptions.LookSmooth, // 0f, 1, (slider, f) => { GameOptions.LookSmooth = f; }, false).gameObject); _targetOptions.Add(SetupLabel(_optionControlsTr, "Verbose Inventory").gameObject); _targetOptions.Add(SetupToggle(_optionControlsTr, GameOptions.VerboseInventory, delegate(bool b) { GameOptions.VerboseInventory.Value = b; }, "Explicit status messages in the inventory").gameObject); _targetOptions.Add(SetupLabel(_optionControlsTr, "Show Misses").gameObject); _targetOptions.Add(SetupToggle(_optionControlsTr, GameOptions.ShowMiss, delegate(bool b) { GameOptions.ShowMiss.Value = b; }, "Log messages on every miss").gameObject); _targetOptions.Add(SetupLabel(_optionControlsTr, "Log All Damage").gameObject); _targetOptions.Add(SetupToggle(_optionControlsTr, GameOptions.LogAllDamage, delegate(bool b) { GameOptions.LogAllDamage.Value = b; }, "Log all damage for player and all npcs").gameObject); _targetOptions.Add(SetupLabel(_optionControlsTr, "Pause On Player Input").gameObject); _targetOptions.Add(SetupToggle(_optionControlsTr, GameOptions.PauseForInput, delegate(bool b) { GameOptions.PauseForInput.Value = b; }, "Phased mode where the action pauses when the player starts input").gameObject); _targetOptions.Add(SetupLabel(_optionControlsTr, "Turn Based").gameObject); _targetOptions.Add(SetupToggle(_optionControlsTr, GameOptions.TurnBased, delegate(bool b) { GameOptions.TurnBased = b; }, "Turn based mode where the action pauses whenever the player can act").gameObject); _targetOptions.Add(SetupLabel(_optionControlsTr, "MouseLook").gameObject); _targetOptions.Add(SetupToggle(_optionControlsTr, GameOptions.MouseLook, delegate(bool b) { GameOptions.MouseLook = b; }, "Mouse Look locks the cursor during normal gameplay. Disable for keyboard turning only").gameObject); _targetOptions.Add(SetupLabel(_optionControlsTr, "Ready Messages").gameObject); _targetOptions.Add(SetupToggle(_optionControlsTr, GameOptions.ReadyNotice, delegate(bool b) { GameOptions.ReadyNotice.Value = b; }, "Shows a message in the center of screen when a party member can act").gameObject); //_targetOptions.Add(SetupLabel(_optionControlsTr, "Menu Pause").gameObject); //_targetOptions.Add(SetupToggle(_optionControlsTr, PlayerInput.PauseInMenus, delegate(bool b) { // PlayerInput.PauseInMenus = b;}, "Pause when in menus or inventory").gameObject); //_targetOptions.Add(SetupLabel(_optionControlsTr, "Camera Head bob").gameObject); //_targetOptions.Add(SetupToggle(_optionControlsTr, GameOptions.UseHeadBob, delegate(bool b) { // GameOptions.UseHeadBob = b;}, "Should the camera have head bobbing").gameObject); //_targetOptions.Add(SetupLabel(_optionControlsTr, "Weapon Bob").gameObject); //_targetOptions.Add(SetupToggle(_optionControlsTr, GameOptions.UseSway, delegate(bool b) { // GameOptions.UseSway = b;}, "Should the weapons bob with movement").gameObject); _targetOptions.Add(SetupLabel(_optionControlsTr, "Camera Shaking").gameObject); _targetOptions.Add(SetupToggle(_optionControlsTr, GameOptions.UseShaking, delegate(bool b) { GameOptions.UseShaking.Value = b; }, "Should the camera shake on damage").gameObject); _targetOptions.Add(SetupLabel(_optionControlsTr, "Camera Pain Flash").gameObject); _targetOptions.Add(SetupToggle(_optionControlsTr, GameOptions.UsePainFlash, delegate(bool b) { GameOptions.UsePainFlash.Value = b; }, "Should the camera flash a color on damage").gameObject); }
private void SetOptions() { _lookSensitivity = GameOptions.Get("LookSensitivity", 2.5f); }
private void SetOptions() { _lookSmooth = GameOptions.Get("LookSmooth", 0.75f); }