using System.Collections; using System.Collections.Generic; using System.Linq; using System.Xml.Linq; using static RebirthVariables; public enum SpawnType { None, Zombies, ZombieAnimals, Bandits, ApoBandits, HazardHazmats, Werewolves } public enum MusicControlOption { None, FadeIn, FadeOut, } public enum ExtendedEquipmentSlots { Head = 0, Chest = 1, Hands = 2, Feet = 3, WeatherKit = 4, Neck = 5, Wrists = 6, Hips = 7, Count = 8, None = 8 } public enum RepairableVehicleSlotsEnum { None = -1, Headlight_v1, CarBattery_1, MinibikeEngine_1, MotorcycleEngine_1, V6Engine_1, V8Engine_1, GyroEngine_1, SparkPlugs_1, CarStarter_1, FuelPump_1, Alternator_1, Carburetor_1, CarTransmission_1, CarRadiator_1, TruckRadiator_1, BicycleWheel_1, MinibikeWheel_1, MotorcycleWheel_1, MotorcycleWheel_2, CarWheel_1, CarWheel_2, TruckWheel_1, TruckWheel_2, MilitaryTruckWheel_1, HeavyWheel_1, GyroWheel_1, Count } public enum WindowTypeEnum { None = -1, EntityVehicle, BlockRepairableVehicle } public class factionStanding { public string source; public string target; public bool canDamage; public factionStanding() { } public factionStanding(string _source, string _target, bool _canDamage) { this.source = _source; this.target = _target; this.canDamage = _canDamage; } } public class VehicleParts { public string emptySpriteName; public string emptyTooltipName; public string itemName; public float chance; public int maxRandomQuality; public int durabilityPerQuality; public bool requiredToOperate; public VehicleParts() { } public VehicleParts(string emptySpriteName, string emptyTooltipName, string itemName, float chance, int maxRandomQuality, int durabilityPerQuality, bool requiredToOperate) { this.emptySpriteName = emptySpriteName; this.emptyTooltipName = emptyTooltipName; this.itemName = itemName; this.chance = chance; this.maxRandomQuality = maxRandomQuality; this.durabilityPerQuality = durabilityPerQuality; this.requiredToOperate = requiredToOperate; } } public class TileEntityOwners { public int owner; public Vector3i location = new Vector3i(); public TileEntityOwners() { } public TileEntityOwners(int owner, Vector3i location) { this.owner = owner; this.location = location; } } public class classPerk { public string perk; public List levels = new List(); public classPerk() { } public classPerk(string perk, List levels) { this.perk = perk; this.levels = levels; } } public class perkLevels { public int classLevel; public int perkLevel; public perkLevels() { } public perkLevels(int classLevel = 0, int perkLevel = 0) { this.classLevel = classLevel; this.perkLevel = perkLevel; } } public class auraData { public string progressionName; public string modName; public string allyAura; public string className; public string targetBuff; public float chancePerLevel; public float baseChancePerLevel; public string playerBuff; public string targetPlayerBuff; public bool useTargetBuffLevels; public bool overrideChance; public string cooldownBuff; public float meleeChance; public string weaponPerkName; public auraData() { } public auraData(string progressionName, string modName, string allyAura, string className, string targetBuff, float chancePerLevel, float baseChancePerLevel, string playerBuff, string targetPlayerBuff, bool useTargetBuffLevels, bool overrideChance, string cooldownBuff, float meleeChance, string weaponPerkName) { this.progressionName = progressionName; this.modName = modName; this.allyAura = allyAura; this.className = className; this.targetBuff = targetBuff; this.chancePerLevel = chancePerLevel; this.baseChancePerLevel = baseChancePerLevel; this.playerBuff = playerBuff; this.targetPlayerBuff = targetPlayerBuff; this.useTargetBuffLevels = useTargetBuffLevels; this.overrideChance = overrideChance; this.cooldownBuff = cooldownBuff; this.meleeChance = meleeChance; this.weaponPerkName = weaponPerkName; } } public class SleeperGroupRebirth { public int entityId = 0; public int biome = 0; } public class HNPGroupRebirth { public int entityId = 0; public int hordeNightChance = 10; public int gamestageStart = 0; public int gamestageEnd = 0; public int entitySpecial = 0; } public class RebirthEntityGroup { public int min; public int max; public List entities = new List(); public RebirthEntityGroup() { } public RebirthEntityGroup(int _min, int _max, List _entities) { this.min = _min; this.max = _max; this.entities = _entities; } } public class categoryCrafting { public string craftingPerk; public List levels = new List(); public categoryCrafting() { } public categoryCrafting(string craftingPerk, List levels) { this.craftingPerk = craftingPerk; this.levels = levels; } } public class craftingLevels { public float categoryLevel = 0f; public int craftingLevel = 1; public craftingLevels() { } public craftingLevels(float categoryLevel = 0f, int craftingLevel = 1) { this.categoryLevel = categoryLevel; this.craftingLevel = craftingLevel; } } public class craftingIncrements { public float floor = 0f; public float ceiling = 0f; public float increment = 0f; public craftingIncrements() { } public craftingIncrements(float floor = 0f, float ceiling = 0f, float increment = 0f) { this.floor = floor; this.ceiling = ceiling; this.increment = increment; } } public class classRewards { public int classLevel; public List rewards = new List(); public classRewards() { } public classRewards(int classLevel, List rewards, int numItems = 1, int numQuality = 1, int numLocation = 0) { this.classLevel = classLevel; this.rewards = rewards; } } public class classReward { public string itemName; public int numItems = 1; public int numQuality = 1; public int numLocation = 0; public classReward() { } public classReward(string itemName, int numItems = 1, int numQuality = 1, int numLocation = 0) { this.itemName = itemName; this.numItems = numItems; this.numQuality = numQuality; this.numLocation = numLocation; } } public class classMeta { public bool isActive; public classMeta() { } public classMeta(bool isActive) { this.isActive = isActive; } } public class SpawnedPrefab { public string biome { get; set; } public int count { get; set; } public int difficulty { get; set; } public SpawnedPrefab(string _biome, int _count, int _difficulty) { biome = _biome; count = _count; difficulty = _difficulty; } } public class PurgeBiome { public string biome { get; set; } public int count { get; set; } public PurgeBiome(string _biome, int _count) { biome = _biome; count = _count; } } public class DiscoveryTier { public int difficulty { get; set; } public int count { get; set; } public DiscoveryTier(int _difficulty, int _count) { difficulty = _difficulty; count = _count; } } public class RebirthVariables { public static System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch(); public static string utilsPath = ""; public static XDocument ignorePrefabs; public static bool disableFogOnFlight = true; public static float takeDelay = 0.1f; public static bool activateHiveDayCycle = false; public static bool testPurge = false; public static bool testPurge2 = false; public static bool testPurgeDiscovery = false; public static bool testPurgeSupplyDrops = false; public static bool testRebirth = false; public static bool testAuras = false; public static bool testEvents = false; public static int testEventsCategory = 0; public static int testEventsType = 0; public static int testEventsPlayerLevel = 0; public static int testEventsClassLevel = 0; public static bool testDismember = false; public static bool testCropGrowth = false; public static bool testVehicleRespawns = false; public static bool testChickenCoops = false; public static int testChickenCoopsRate = 10; public static bool testHordeNightDay = false; public static bool testVerifyFaction = false; public static float hordeNightXPMultiplier = 0.1f; public static float hiveLootbagDrop = 0.1f; /*public static List blockChanges = new List(); public static List pendingBlockChanges = new List(); public static bool updatingBlocks = false; public static readonly object lockObject = new object();*/ public static ChunkManager.ChunkObserver chunkObserver = null; public static string NPCName = ""; /*public static List hivePrefab = new List { "hive_start_bunker", "hive_start_cabin" };*/ public static List hivePrefab = new List { "hive_start_bunker" }; public static bool noHit = false; public static float noHitCheck = 0f; public static float noHitTick = 10f; public static float navObjectCheck = 0f; public static int waypointIconHeight = 42; public static int waypointIconWidth = 42; public static int waypointIconRows = 9; public static int waypointIconColumns = 7; public static float randomWeaponUpdateCheck = 0f; public static float randomWeaponUpdateTick = 2400f; public static bool randomWeaponInitiated = false; public static bool refreshRandomWeapons = false; public static float purgeZombieCheck = 0f; public static float purgeZombieTick = 3f; public static float repairWidth = 100f; public static float repairHeight = 30f; public static int maxGamestage = 590; public static int HNMultiplier = 3; public static int HNPMultiplier = 1; public static bool createdWorld = false; public enum WeaponType { Melee = 0, Ranged = 1 } public class RandomWeapon { public ItemValue Weapon { get; set; } public WeaponType Type { get; set; } public RandomWeapon(ItemValue weapon, WeaponType type) { Weapon = weapon; Type = type; } } public static List randomWeapons = new List(); public static bool activatingSleeperVolumes = false; public static bool checkSleeperVolumes = false; public static int currentSleeperEntityCount = 0; public static int currentSleeperVolumeCount = 0; public static float currentSleeperVolumePerc = 0f; public static int maxSleeperVolumeCount = 0; public static int clearedSleeperVolumeCount = 0; public static int totalSleeperVolumeCount = 0; public static string currentPrefab = ""; public static int currentPOITier = 0; public static bool purgeDisplay = false; public static bool purgePrefabCount = false; public static string purgePrefabName = ""; public static Vector3 purgePrefabPosition = Vector3.zero; public static bool purgePrefabsLoaded = false; public static int purgeAirDropNumKills = 75; public static int purgeAirDropNumKillsIncrement = 5; public static int purgeAirDropNumKillsMax = 150; public static float purgeDisplayPercentage = 0; public static string purgeLabel = ""; public static float purgeBiomeThreshold = 75f; public static List playerAirDrops = new List(); public static Dictionary> discoveryUnlocks = new Dictionary> { { 0, Tuple.Create(15f, 25f) }, { 1, Tuple.Create(25f, 35f) }, { 2, Tuple.Create(35f, 45f) }, { 3, Tuple.Create(45f, 55f) }, { 4, Tuple.Create(55f, 65f) }, { 5, Tuple.Create(65f, purgeBiomeThreshold) }, { 6, Tuple.Create(purgeBiomeThreshold, 100f) } }; public static List trackedPrefabs = new List(); public static List purgeBiomes = new List(); public static int displayGamestage = 0; public static string displayGamestageLabel = ""; public static string navIconBossEventNoHealthNPC = "boss_event_npc"; public static string navIconBossEventNPC = "twitch_vote_boss"; public static string navIconBossEventNoHealth = "boss_event"; public static string navIconBossEvent = "twitch_vote_boss"; public static string navIconSupportEventNoHealth = "support_event"; public static string navIconSupportEvent = "twitch_vote_support"; public static List traderDoors = new List(); public static int quickStackDistance = 50; public static float broadcastDistance = 150f; //public static bool forceNoHit = false; public static int gameStage = 0; public static int wanderingHordeGameStage = 0; public static int biomeGameStage = 0; public static int biomeStandingOn = 0; public static int playerLevel = 1; public static int supplyCrateOpenTime = 20; public static int damageGiven = 0; public static float herdStartTime = 0f; public static float herdDuration = 0f; public static bool isHerd = false; public static bool forceHerd = false; public static bool isWHSpawned = false; public static bool stopWHSpawns = false; public static int spawnThresholdFeral = 100; public static int spawnThresholdRadiated = 220; public static int spawnThresholdTainted = 340; public static float currentVolume = 0f; public static AudioSource audioSource; public static MusicControlOption controlOption = MusicControlOption.FadeIn; public static float secondsToFadeOut = 3f; public static float secondsToFadeIn = 3f; public static int geneticsBlueprintToDNABoostRatio = 25; public static float meleeExpertiseMultiplier = 1.25f; public static Dictionary biomes = new Dictionary { { 0, "pine_forest" }, { 1, "desert" }, { 2, "snow" }, { 3, "wasteland" }, { 4, "burnt_forest" } }; public static Dictionary factions; public static Dictionary localVariables; public static Dictionary localConstants; public static Dictionary localGenetics; public static Dictionary localClasses; public static Dictionary localClassMeta; public static Dictionary localClassProgressionMax; public static Dictionary localExpertise; public static Dictionary localExpertiseClass; public static Dictionary localExpertiseLevelWithClass; public static Dictionary localExpertiseTier; public static Dictionary> localClassPerk; public static Dictionary> localClassRewards; public static Dictionary> localGeneticsCrafting; public static Dictionary> localExpertiseCrafting; public static Dictionary> localOtherCrafting; public static Dictionary> localCraftingIncrements; public static Dictionary localAuras; public static Dictionary localAuraChances; public static List weaponAura = new List { "ArrowRain", "RangedStun", "RangedBleed", "RangedDoubleDamage", "RangedShock", "RangedExplosion", "RangedDismember", "RangedSlashes" }; public static Dictionary npcWeaponCategories; public static Dictionary bodyTags; public static Dictionary localVehicleParts; public static Dictionary> localVehicleTypes; public static List accessedTileEntities = new List(); public static List factionStandings = new List(); public static List commonParticles = new List(); public static bool wasHordeNight = false; public static int DayLightLength = 0; public static int wanderingHordeCount = 0; public static int wanderingHordeSize = 7; public static int maxWanderingHordeMultiplier = 6; public static int maxWanderingHordeFrequency = 4; public static int wanderingHordeMultiplier = 1; public static int wanderingHordeFrequency = 1; public static AudioClip[] audioClip; public static bool audioClipLoaded = false; public static int musicMode = -1; public static bool walkman = false; public static float musicVolume = 0.2f; public static int songIndex = -1; public static int autoRun = 0; public static int prefabDifficulty = 1; public static bool loadingEntityGroups = false; public static float playerLevelGamestageMultiplier = 2f; public static float hordeNightCheck = 0f; public static float auraCheck = 0f; public static float variablesCheck = 0f; public static float biomeCheck = 0f; public static float forestCheck = 0f; public static float desertCheck = 0f; public static float snowCheck = 0f; public static float wastelandCheck = 0f; public static float screamerCheck = 0f; public static float companionsCheck = 0f; public static float hiresCheck = 0f; public static float berserkerCheck = 0f; public static float menuBackgroundCheck = 0f; public static float s3Check = 0f; public static float craftingCheck = 0f; public static float walkmanCheck = 0f; public static float modelLayerCheck = 0f; public static float scenarioCheck = 0f; public static float purgeProgressCheck = 0f; public static float gamestageCheck = 0; public static bool logModelLayerCheck = false; public static float cycleArea1 = 0f; public static string holdingItem = ""; public static int holdingItemQuality = 0; public static string holdingItemIcon = ""; public static string holdingItemColor = ""; public static string holdingItemCraftIcon = ""; public static float holdingItemPerc = 0f; public static bool isCraftableItem = false; public static bool loaded = false; public static bool inForest = false; public static bool inDesert = false; public static bool inSnow = false; public static bool inWasteland = false; public static bool inBurntForest = false; public static string currentBiome = ""; public static bool canAuraTrigger = true; public static bool canShotgunTrigger = true; public static bool isHordeNight = false; public static int talkingToNPC = 0; public static float supplyCrateHostileSpawnDistance = 10f; public static bool skipSupplyDrops = false; public static bool skipHordeNight = false; public static string customScenario = "none"; public static bool customSkipSpawnConfirmation = true; public static string customBiomeSpawn = "forest"; public static string customJumpstart = "none"; public static bool customProtectTraderArea = true; public static bool customLootTraderArea = false; public static string customTornados = "hordenightonly"; public static string customTornadosMultiplier = "100"; public static int customDistanceHunting = 30; public static int customDistanceFullControl = 10; public static bool customRepeatPOI = true; public static int customMaxJobs = 5; public static bool customShareParty = true; public static int customJobsToNextTier = 10; public static int customMaxSamePOI = 1; public static string customInfested = "default"; public static bool customCustomQuests = false; // true public static bool customFeelingLucky = true; public static bool customOverrideOpacity = true; public static bool customConsolePopUp = true; public static bool customCrosshairHUD = true; public static string customPartyXPMultiplier = "0"; public static string customClassXPMultiplier = "100"; public static string customGeneticsXPMultiplier = "100"; public static string customAuraRange = "partyrange"; public static string customVehicleDensityMultiplier = "200"; public static int customVehicleRespawn = 7; public static bool customVehiclePickUp = true; public static bool customVehicleSecurity = true; public static bool customRestrictiveHealing = true; public static bool customRespawnPenalty = true; public static string customRestrictHires = "default"; public static string customRestrictCompanionHires = "default"; public static string customCompanionInventory = "always"; public static string customQualityOfLife = "default"; public static bool customShiftToolbelt = true; public static bool customRunToggle = false; public static bool customPathSmoothing = true; public static string customGore = "bloodsplatter"; public static string customTargetBarVisibility = "default"; public static bool customInstaLoot = true; public static bool customLockPick = true; public static bool customFireManager = false; public static bool customProtectCrate = true; public static bool customHeadshot = true; public static bool customScreenShake = true; public static bool customRebirthWeather = true; public static string customWeatherFog = "default"; public static bool customDarkerNights = false; public static string customTreeDensityMultiplier = "300"; public static bool customReplantTrees = false; public static bool customAdvancedFarming = false; public static int customAdvancedFarmingTime = 90; public static bool customEventsNight = true; public static string customEventRestrictions = "notquesting"; public static string customEventsFrequency = "100"; public static string customEventsDifficulty = "normal"; public static bool customEventsZombieAnimals = true; public static bool customEventsBandits = true; public static bool customEventsNotification = true; public static bool customEventsLoot = true; public static string customScreamerNights = "lower"; public static int customScreamerMax = 5; public static bool customAscension = true; public static bool customRebirth = true; public static string customNaturalSelection = "nohordenight"; public static string customHordeNightXPMultiplier = "25"; public static string customHordeNightLootDropMultiplier = "70"; public static string customScreamerSignalXPMultiplier = "50"; public static bool customHordeNight = true; public static string customGamestageMultiplier = "100"; public static string customPOIRisk = "default"; public static string customDelayNPCSpawns = "gs10"; public static string customBanditSpawnMultiplier = "100"; public static string customSurvivorSpawnMultiplier = "100"; public static string customRangedNPCAccuracyModifier = "100"; public static bool customHordeNightTurbo = true; public static string customZombieParticles = "on"; public static string customNumZombieSpawns = "default"; public static string customFreqZombieSpawns = "default"; public static string customMutatedSpawns = "afterday14"; public static string customKamikaze = "notpoi"; public static string customDemos = "nothordenight"; public static string customSeekers = "always"; public static bool customZombieBuffers = true; public static bool customKnockdowns = true; public static string customEntityEvents = "always"; public static bool customXRayDetection = true; public static string customFeralSense = "never"; public static string customPOISense = "never"; public static string customAuraDefense = "cooldown"; public static string customWanderingHordeFrequency = "random"; public static string customWanderingHordeSizeMultiplier = "random"; public static string customWanderingHordeHerdProb = "30"; public static string customWanderingHordeHerdHN = "50"; public static int customWanderingHordeHerdDur = 3; public static string customWanderingHordeHerdRestriction = "medium"; public static void loadCommonParticles() { commonParticles.Add("Orb_Fire"); commonParticles.Add("Orb_Lightning"); commonParticles.Add("Orb_Radiation"); commonParticles.Add("Orb_BlockDamage"); commonParticles.Add("Orb_Explosion"); commonParticles.Add("p_onFire"); commonParticles.Add("p_electric_shock"); commonParticles.Add("burntZombieSmoke"); commonParticles.Add("p_burning_barrel"); } public static void LoadFactionStandings() { factions["trader"] = 1; factions["whiteriver"] = 2; factions["undead"] = 3; factions["undead2"] = 4; factions["zombieanimals"] = 5; factions["passiveanimalssmall"] = 6; factions["passiveanimalsmedium"] = 7; factions["passiveanimalslarge"] = 8; factions["aggressiveanimalssmall"] = 9; factions["aggressiveanimalsmedium"] = 10; factions["aggressiveanimalslarge"] = 11; factions["vehicles"] = 12; factions["turrets"] = 13; factions["bandits"] = 14; factions["decoys"] = 15; // only set up exceptions for factions who should not attack other factions factionStandings.Clear(); factionStandings.Add(new factionStanding("undead", "zombieanimals", false)); factionStandings.Add(new factionStanding("undead", "undead2", false)); factionStandings.Add(new factionStanding("undead", "trader", false)); factionStandings.Add(new factionStanding("undead", "vehicles", true)); factionStandings.Add(new factionStanding("undead", "turrets", true)); factionStandings.Add(new factionStanding("undead2", "undead", false)); factionStandings.Add(new factionStanding("undead2", "zombieanimals", false)); factionStandings.Add(new factionStanding("undead2", "trader", false)); factionStandings.Add(new factionStanding("undead2", "turrets", true)); factionStandings.Add(new factionStanding("zombieanimals", "undead", false)); factionStandings.Add(new factionStanding("zombieanimals", "undead2", false)); factionStandings.Add(new factionStanding("zombieanimals", "trader", false)); factionStandings.Add(new factionStanding("zombieanimals", "vehicles", true)); factionStandings.Add(new factionStanding("zombieanimals", "turrets", true)); factionStandings.Add(new factionStanding("whiteriver", "trader", false)); factionStandings.Add(new factionStanding("whiteriver", "passiveanimalssmall", true)); factionStandings.Add(new factionStanding("whiteriver", "passiveanimalsmedium", true)); factionStandings.Add(new factionStanding("whiteriver", "passiveanimalslarge", true)); factionStandings.Add(new factionStanding("whiteriver", "vehicles", false)); factionStandings.Add(new factionStanding("whiteriver", "turrets", false)); factionStandings.Add(new factionStanding("whiteriver", "decoys", true)); factionStandings.Add(new factionStanding("bandits", "trader", false)); factionStandings.Add(new factionStanding("bandits", "passiveanimalssmall", true)); factionStandings.Add(new factionStanding("bandits", "passiveanimalsmedium", true)); factionStandings.Add(new factionStanding("bandits", "passiveanimalslarge", true)); factionStandings.Add(new factionStanding("bandits", "vehicles", false)); factionStandings.Add(new factionStanding("bandits", "turrets", true)); factionStandings.Add(new factionStanding("aggressiveanimalslarge", "trader", false)); factionStandings.Add(new factionStanding("aggressiveanimalslarge", "passiveanimalssmall", true)); factionStandings.Add(new factionStanding("aggressiveanimalslarge", "passiveanimalsmedium", true)); factionStandings.Add(new factionStanding("aggressiveanimalslarge", "aggressiveanimalssmall", true)); factionStandings.Add(new factionStanding("aggressiveanimalslarge", "aggressiveanimalsmedium", true)); factionStandings.Add(new factionStanding("aggressiveanimalslarge", "vehicles", true)); factionStandings.Add(new factionStanding("aggressiveanimalslarge", "turrets", true)); factionStandings.Add(new factionStanding("aggressiveanimalsmedium", "trader", false)); factionStandings.Add(new factionStanding("aggressiveanimalsmedium", "passiveanimalssmall", true)); factionStandings.Add(new factionStanding("aggressiveanimalsmedium", "passiveanimalslarge", true)); factionStandings.Add(new factionStanding("aggressiveanimalsmedium", "aggressiveanimalssmall", true)); factionStandings.Add(new factionStanding("aggressiveanimalsmedium", "aggressiveanimalslarge", true)); factionStandings.Add(new factionStanding("aggressiveanimalsmedium", "vehicles", true)); factionStandings.Add(new factionStanding("aggressiveanimalsmedium", "turrets", true)); factionStandings.Add(new factionStanding("aggressiveanimalssmall", "trader", false)); factionStandings.Add(new factionStanding("aggressiveanimalssmall", "passiveanimalsmedium", true)); factionStandings.Add(new factionStanding("aggressiveanimalssmall", "passiveanimalslarge", true)); factionStandings.Add(new factionStanding("aggressiveanimalssmall", "aggressiveanimalsmedium", true)); factionStandings.Add(new factionStanding("aggressiveanimalssmall", "aggressiveanimalslarge", true)); factionStandings.Add(new factionStanding("aggressiveanimalssmall", "vehicles", true)); factionStandings.Add(new factionStanding("aggressiveanimalssmall", "turrets", true)); factionStandings.Add(new factionStanding("passiveanimalssmall", "*", true)); factionStandings.Add(new factionStanding("passiveanimalsmedium", "*", true)); factionStandings.Add(new factionStanding("passiveanimalslarge", "*", true)); factionStandings.Add(new factionStanding("turrets", "trader", false)); factionStandings.Add(new factionStanding("turrets", "whiteriver", false)); factionStandings.Add(new factionStanding("turrets", "vehicles", false)); //Log.Out("LoadFactionStandings factionStandings.Count: " + factionStandings.Count); } public static void setConfigVariables() { //Log.Out("=========================================================================="); //Log.Out("RebirthVariables-setConfigVariables START"); //Log.Out("=========================================================================="); customScenario = CustomGameOptions.GetString("CustomScenario"); customSkipSpawnConfirmation = CustomGameOptions.GetBool("CustomSkipSpawnConfirmation"); customBiomeSpawn = CustomGameOptions.GetString("CustomBiomeSpawn"); customJumpstart = CustomGameOptions.GetString("CustomJumpstart"); customProtectTraderArea = CustomGameOptions.GetBool("CustomProtectTraderArea"); customLootTraderArea = CustomGameOptions.GetBool("CustomLootTraderArea"); customTornados = CustomGameOptions.GetString("CustomTornados"); customTornadosMultiplier = CustomGameOptions.GetString("CustomTornadosMultiplier").Trim().Replace("%", ""); customDistanceHunting = CustomGameOptions.GetInt("CustomDistanceHunting"); customDistanceFullControl = CustomGameOptions.GetInt("CustomDistanceFullControl"); customRepeatPOI = CustomGameOptions.GetBool("CustomRepeatPOI"); customMaxJobs = CustomGameOptions.GetInt("CustomMaxJobs"); customShareParty = CustomGameOptions.GetBool("CustomShareParty"); customJobsToNextTier = CustomGameOptions.GetInt("CustomJobsToNextTier"); customMaxSamePOI = CustomGameOptions.GetInt("CustomMaxSamePOI"); customInfested = CustomGameOptions.GetString("CustomInfested"); //customCustomQuests = CustomGameOptions.GetBool("CustomCustomQuests"); customFeelingLucky = CustomGameOptions.GetBool("CustomFeelingLucky"); customOverrideOpacity = CustomGameOptions.GetBool("CustomOverrideOpacity"); customConsolePopUp = CustomGameOptions.GetBool("CustomConsolePopUp"); customCrosshairHUD = CustomGameOptions.GetBool("CustomCrosshairHUD"); customPartyXPMultiplier = CustomGameOptions.GetString("CustomPartyXPMultiplier").Trim().Replace("%", ""); customClassXPMultiplier = CustomGameOptions.GetString("CustomClassXPMultiplier").Trim().Replace("%", ""); customGeneticsXPMultiplier = CustomGameOptions.GetString("CustomGeneticsXPMultiplier").Trim().Replace("%", ""); customAuraRange = CustomGameOptions.GetString("CustomAuraRange"); customVehicleDensityMultiplier = CustomGameOptions.GetString("CustomVehicleDensityMultiplier").Trim().Replace("%", ""); customVehicleRespawn = CustomGameOptions.GetInt("CustomVehicleRespawn"); customVehiclePickUp = CustomGameOptions.GetBool("CustomVehiclePickUp"); customVehicleSecurity = CustomGameOptions.GetBool("CustomVehicleSecurity"); customRestrictiveHealing = CustomGameOptions.GetBool("CustomRestrictiveHealing"); customRespawnPenalty = CustomGameOptions.GetBool("CustomRespawnPenalty"); customRestrictHires = CustomGameOptions.GetString("CustomRestrictHires"); customRestrictCompanionHires = CustomGameOptions.GetString("CustomRestrictHires"); customCompanionInventory = CustomGameOptions.GetString("CustomCompanionInventory"); customQualityOfLife = CustomGameOptions.GetString("CustomQualityOfLife"); customShiftToolbelt = CustomGameOptions.GetBool("CustomShiftToolbelt"); customRunToggle = CustomGameOptions.GetBool("CustomRunToggle"); customPathSmoothing = CustomGameOptions.GetBool("CustomPathSmoothing"); customTargetBarVisibility = CustomGameOptions.GetString("CustomTargetBarVisibility"); customInstaLoot = CustomGameOptions.GetBool("CustomInstaLoot"); customLockPick = CustomGameOptions.GetBool("CustomLockPick"); customFireManager = CustomGameOptions.GetBool("CustomFireManager"); customProtectCrate = CustomGameOptions.GetBool("CustomProtectCrate"); customHeadshot = CustomGameOptions.GetBool("CustomHeadshot"); customScreenShake = CustomGameOptions.GetBool("CustomScreenShake"); customRebirthWeather = CustomGameOptions.GetBool("CustomRebirthWeather"); customWeatherFog = CustomGameOptions.GetString("CustomWeatherFog"); customDarkerNights = CustomGameOptions.GetBool("CustomDarkerNights"); customTreeDensityMultiplier = CustomGameOptions.GetString("CustomTreeDensityMultiplier").Trim().Replace("%", ""); customReplantTrees = CustomGameOptions.GetBool("CustomReplantTrees"); customAdvancedFarming = CustomGameOptions.GetBool("CustomAdvancedFarming"); customAdvancedFarmingTime = CustomGameOptions.GetInt("CustomAdvancedFarmingTime"); customEventsNight = CustomGameOptions.GetBool("CustomEventsNight"); customEventRestrictions = CustomGameOptions.GetString("CustomEventRestrictions"); customEventsFrequency = CustomGameOptions.GetString("CustomEventsFrequency").Trim().Replace("%", ""); customEventsDifficulty = CustomGameOptions.GetString("CustomEventsDifficulty"); customEventsZombieAnimals = CustomGameOptions.GetBool("CustomEventsZombieAnimals"); customEventsNotification = CustomGameOptions.GetBool("CustomEventsNotification"); customEventsLoot = CustomGameOptions.GetBool("CustomEventsLoot"); customEventsBandits = CustomGameOptions.GetBool("CustomEventsBandits"); customScreamerNights = CustomGameOptions.GetString("CustomScreamerNights"); customScreamerMax = CustomGameOptions.GetInt("CustomScreamerMax"); customAscension = CustomGameOptions.GetBool("CustomAscension"); customRebirth = CustomGameOptions.GetBool("CustomRebirth"); customNaturalSelection = CustomGameOptions.GetString("CustomNaturalSelection"); customHordeNightXPMultiplier = CustomGameOptions.GetString("CustomHordeNightXPMultiplier").Trim().Replace("%", ""); customHordeNightLootDropMultiplier = CustomGameOptions.GetString("CustomHordeNightLootDropMultiplier").Trim().Replace("%", ""); customScreamerSignalXPMultiplier = CustomGameOptions.GetString("CustomScreamerSignalXPMultiplier").Trim().Replace("%", ""); customHordeNight = CustomGameOptions.GetBool("CustomHordeNight"); customGamestageMultiplier = CustomGameOptions.GetString("CustomGamestageMultiplier").Trim().Replace("%", ""); customPOIRisk = CustomGameOptions.GetString("CustomPOIRisk"); customHordeNightTurbo = CustomGameOptions.GetBool("CustomHordeNightTurbo"); customZombieParticles = CustomGameOptions.GetString("CustomZombieParticles"); customNumZombieSpawns = CustomGameOptions.GetString("CustomNumZombieSpawns"); customFreqZombieSpawns = CustomGameOptions.GetString("CustomFreqZombieSpawns"); customDelayNPCSpawns = CustomGameOptions.GetString("CustomDelayNPCSpawns"); customBanditSpawnMultiplier = CustomGameOptions.GetString("CustomBanditSpawnMultiplier").Trim().Replace("%", ""); customSurvivorSpawnMultiplier = CustomGameOptions.GetString("CustomSurvivorSpawnMultiplier").Trim().Replace("%", ""); customRangedNPCAccuracyModifier = CustomGameOptions.GetString("CustomRangedNPCAccuracyModifier").Trim().Replace("%", ""); customMutatedSpawns = CustomGameOptions.GetString("CustomMutatedSpawns"); customKamikaze = CustomGameOptions.GetString("CustomKamikaze"); customDemos = CustomGameOptions.GetString("CustomDemos"); customSeekers = CustomGameOptions.GetString("CustomSeekers"); customZombieBuffers = CustomGameOptions.GetBool("CustomZombieBuffers"); customKnockdowns = CustomGameOptions.GetBool("CustomKnockdowns"); customEntityEvents = CustomGameOptions.GetString("CustomEntityEvents"); customXRayDetection = CustomGameOptions.GetBool("CustomXRayDetection"); customFeralSense = CustomGameOptions.GetString("CustomFeralSense"); customPOISense = CustomGameOptions.GetString("CustomPOISense"); customAuraDefense = CustomGameOptions.GetString("CustomAuraDefense"); customWanderingHordeFrequency = CustomGameOptions.GetString("CustomWanderingHordeFrequency"); customWanderingHordeSizeMultiplier = CustomGameOptions.GetString("CustomWanderingHordeSizeMultiplier"); customWanderingHordeHerdProb = CustomGameOptions.GetString("CustomWanderingHordeHerdProb").Trim().Replace("%", ""); customWanderingHordeHerdDur = CustomGameOptions.GetInt("CustomWanderingHordeHerdDuration"); customWanderingHordeHerdRestriction = CustomGameOptions.GetString("CustomWanderingHordeHerdRestriction"); customWanderingHordeHerdHN = CustomGameOptions.GetString("CustomWanderingHordeHerdHN").Trim().Replace("%", ""); if (customScenario == "hive") { // No supply drops skipSupplyDrops = true; // Set Jumpstart customJumpstart = "none"; CustomGameOptions.SetValue("CustomJumpstart", "none"); // Surprise Jobs customInfested = "hidesurprise"; CustomGameOptions.SetValue("CustomInfested", "hidesurprise"); // Number of Jobs to the Next Tier customJobsToNextTier = 15; CustomGameOptions.SetValue("CustomJobsToNextTier", "15"); // POI Sense (Never - too much of a FPS hit for large POIs) customPOISense = "never"; CustomGameOptions.SetValue("CustomPOISense", "never"); // Pitch Black customDarkerNights = true; CustomGameOptions.SetValue("CustomDarkerNights", "true"); // No tornados customTornados = "never"; CustomGameOptions.SetValue("CustomTornados", "never"); // No Survivors customBanditSpawnMultiplier = "0"; CustomGameOptions.SetValue("CustomBanditSpawnMultiplier", "0"); // No Bandits customSurvivorSpawnMultiplier = "0"; CustomGameOptions.SetValue("CustomSurvivorSpawnMultiplier", "0"); } else if (customScenario == "purge") { if (testPurgeSupplyDrops) { purgeAirDropNumKills = 5; } // No supply drops skipSupplyDrops = true; // No Horde Night skipHordeNight = true; // Span in the forest biome, next to the trader customBiomeSpawn = "random"; CustomGameOptions.SetValue("CustomBiomeSpawn", "random"); // Set Jumpstart customJumpstart = "none"; CustomGameOptions.SetValue("CustomJumpstart", "none"); // No starter dog customRestrictHires = "nofollowers"; CustomGameOptions.SetValue("CustomRestrictHires", "nofollowers"); // No zombie spawns in biomes customNumZombieSpawns = "none"; CustomGameOptions.SetValue("CustomNumZombieSpawns", "none"); // No jobs at the trader customMaxJobs = 0; CustomGameOptions.SetValue("CustomMaxJobs", "0"); // No trader protection customProtectTraderArea = false; CustomGameOptions.SetValue("CustomProtectTraderArea", "false"); // POI risk is High customPOIRisk = "high"; CustomGameOptions.SetValue("CustomPOIRisk", "high"); // POI Sense (Never - too much of a FPS hit for large POIs) customPOISense = "never"; CustomGameOptions.SetValue("CustomPOISense", "never"); // Pitch Black customDarkerNights = true; CustomGameOptions.SetValue("CustomDarkerNights", "true"); // No bandit spawns customBanditSpawnMultiplier = "0"; CustomGameOptions.SetValue("CustomBanditSpawnMultiplier", "0"); // No survivor spawns customSurvivorSpawnMultiplier = "0"; CustomGameOptions.SetValue("CustomSurvivorSpawnMultiplier", "0"); // No Outbreaks customWanderingHordeHerdProb = "0"; CustomGameOptions.SetValue("CustomWanderingHordeHerdProb", "0"); // No tornados customTornados = "never"; CustomGameOptions.SetValue("CustomTornados", "never"); } RebirthUtilities.CheckExternalOptions(); } public static void LoadCustomParticles() { /* remove? string ModPath = "#@modfolder(BloodSpillEffect):Resources/"; string Package = "BloodSpill.unity3d?"; string particleName = "Blood_spill"; RebirthUtilities.LoadParticleAsset(ModPath + Package + particleName); for (int i = 1; i < 100; i++) { RebirthUtilities.LoadParticleAsset(ModPath + Package + particleName + " " + i); } particleName = "Blood_spill_M"; RebirthUtilities.LoadParticleAsset(ModPath + Package + particleName); for (int i = 1; i < 100; i++) { RebirthUtilities.LoadParticleAsset(ModPath + Package + particleName + " " + i); } particleName = "Blood_spill_DH"; RebirthUtilities.LoadParticleAsset(ModPath + Package + particleName); particleName = "Blood_spill_D"; RebirthUtilities.LoadParticleAsset(ModPath + Package + particleName); particleName = "Blood_spill_D 1"; RebirthUtilities.LoadParticleAsset(ModPath + Package + particleName); particleName = "Blood_spill_DHM"; RebirthUtilities.LoadParticleAsset(ModPath + Package + particleName); particleName = "Blood_spill_DM"; RebirthUtilities.LoadParticleAsset(ModPath + Package + particleName); particleName = "Blood_spill_DM 1"; RebirthUtilities.LoadParticleAsset(ModPath + Package + particleName); particleName = "Blood_spill_E"; RebirthUtilities.LoadParticleAsset(ModPath + Package + particleName);*/ } public static void RefreshVariables(EntityPlayerLocal ___entityPlayerLocal) { if (RebirthUtilities.ScenarioSkip()) { return; } float classID = ___entityPlayerLocal.Buffs.GetCustomVar("$ActiveClass_FR"); string playerClass = RebirthUtilities.GetClassNameFromID(classID); //Log.Out("RebirthVariables-RefreshVariables classID: " + classID); localConstants["$varFuriousRamsayPerk1PercUnit"] = 0f; localConstants["$varFuriousRamsayPerk2PercUnit"] = 0f; localConstants["$varFuriousRamsayPerk3PercUnit"] = 0f; foreach (var key in RebirthVariables.localExpertiseCrafting.Keys) { List CategoryCraftingList = RebirthVariables.localExpertiseCrafting[key]; //Log.Out("RebirthVariables-RefreshVariables key: " + key); foreach (var craftingList in CategoryCraftingList) { float perkValue = ___entityPlayerLocal.Buffs.GetCustomVar("$varFuriousRamsay" + key + "PercUnit"); int currentLevel = ___entityPlayerLocal.Progression.GetProgressionValue(craftingList.craftingPerk).Level; int actualLevel = RebirthUtilities.GetActualCraftingPerksCategoryValue(craftingList.craftingPerk, perkValue); //Log.Out("RebirthVariables-RefreshVariables perkValue: " + perkValue); //Log.Out("RebirthVariables-RefreshVariables currentLevel: " + currentLevel); //Log.Out("RebirthVariables-RefreshVariables actualLevel: " + actualLevel); if (currentLevel < actualLevel) { //Log.Out("RebirthVariables-RefreshVariables " + key + ": " + perkValue); //Log.Out("RebirthVariables-RefreshVariables " + craftingList.craftingPerk + ": " + currentLevel); ___entityPlayerLocal.Progression.GetProgressionValue(craftingList.craftingPerk).Level = actualLevel; //Log.Out("RebirthVariables-RefreshVariables actualLevel: " + actualLevel); } break; } } foreach (var key in RebirthVariables.localOtherCrafting.Keys) { List CategoryCraftingList = RebirthVariables.localOtherCrafting[key]; //Log.Out("RebirthVariables-RefreshVariables key: " + key); foreach (var craftingList in CategoryCraftingList) { float perkValue = ___entityPlayerLocal.Buffs.GetCustomVar("$varFuriousRamsay" + key + "PercUnit"); int currentLevel = ___entityPlayerLocal.Progression.GetProgressionValue(craftingList.craftingPerk).Level; int actualLevel = RebirthUtilities.GetActualCraftingOtherCategoryValue(craftingList.craftingPerk, perkValue); //Log.Out("RebirthVariables-RefreshVariables perkValue: " + perkValue); //Log.Out("RebirthVariables-RefreshVariables currentLevel: " + currentLevel); //Log.Out("RebirthVariables-RefreshVariables actualLevel: " + actualLevel); if (currentLevel < actualLevel) { //Log.Out("RebirthVariables-RefreshVariables " + key + ": " + perkValue); //Log.Out("RebirthVariables-RefreshVariables " + craftingList.craftingPerk + ": " + currentLevel); ___entityPlayerLocal.Progression.GetProgressionValue(craftingList.craftingPerk).Level = actualLevel; //Log.Out("RebirthVariables-RefreshVariables actualLevel: " + actualLevel); } break; } } foreach (var key in RebirthVariables.localGeneticsCrafting.Keys) { List CategoryCraftingList = RebirthVariables.localGeneticsCrafting[key]; //Log.Out("RebirthVariables-RefreshVariables key: " + key); foreach (var craftingList in CategoryCraftingList) { float perkValue = ___entityPlayerLocal.Buffs.GetCustomVar("$varFuriousRamsay" + key + "PercUnit"); int currentLevel = ___entityPlayerLocal.Progression.GetProgressionValue(craftingList.craftingPerk).Level; int actualLevel = RebirthUtilities.GetActualCraftingGeneticsCategoryValue(craftingList.craftingPerk, perkValue); //Log.Out("RebirthVariables-RefreshVariables perkValue: " + perkValue); //Log.Out("RebirthVariables-RefreshVariables currentLevel: " + currentLevel); //Log.Out("RebirthVariables-RefreshVariables actualLevel: " + actualLevel); if (currentLevel < actualLevel) { //Log.Out("RebirthVariables-RefreshVariables " + key + ": " + perkValue); //Log.Out("RebirthVariables-RefreshVariables " + craftingList.craftingPerk + ": " + currentLevel); ___entityPlayerLocal.Progression.GetProgressionValue(craftingList.craftingPerk).Level = actualLevel; //Log.Out("RebirthVariables-RefreshVariables actualLevel: " + actualLevel); } break; } } /*foreach (string key in ___entityPlayerLocal.Buffs.CVars.Keys) { if (key.Contains("$")) { Log.Out("RebirthVariables-RefreshVariables " + key + ": " + ___entityPlayerLocal.Buffs.GetCustomVar(key)); } }*/ foreach (string classKey in localClasses.Keys) { if (localClasses[classKey] == classID) { //Log.Out("RebirthVariables-RefreshVariables classKey: " + classKey); foreach (string expertiseKey in localExpertiseClass.Keys) { if (localExpertiseClass[expertiseKey] == classKey) { int progressionMax = 10; //Log.Out("RebirthVariables-RefreshVariables expertiseKey: " + expertiseKey); foreach (string expertiseClassKey in localExpertise.Keys) { if (expertiseClassKey == expertiseKey) { progressionMax = localExpertise[expertiseClassKey]; break; } } //Log.Out("RebirthVariables-RefreshVariables progressionMax: " + progressionMax); for (int i = 1; i <= progressionMax; i++) { float j = localVariables["$varFuriousRamsay" + expertiseKey + "PercUnit"] * 100 / i; if (j > 100) { j = 100; } localConstants["$varFuriousRamsay" + expertiseKey + i + "Perc"] = j; //Log.Out("RebirthVariables-RefreshVariables $varFuriousRamsay" + expertiseKey + i + "Perc: " + j); } foreach (string expertiseTierKey in localExpertiseTier.Keys) { if (expertiseTierKey == expertiseKey) { foreach (string localExpertiseLevelWithClass in RebirthVariables.localExpertiseLevelWithClass.Keys) { if (localExpertiseLevelWithClass == playerClass && expertiseTierKey == RebirthVariables.localExpertiseLevelWithClass[localExpertiseLevelWithClass] ) { //Log.Out("RebirthVariables-RefreshVariables expertiseTierKey: " + expertiseTierKey); if (classID == 10) { ProgressionValue classProgressionValue = ___entityPlayerLocal.Progression.GetProgressionValue("furiousramsayatt" + playerClass.ToLower()); int progressionLevel = classProgressionValue.Level; //Log.Out("RebirthVariables-RefreshVariables FuriousRamsay" + playerClass + "RageTier: " + progressionLevel); ___entityPlayerLocal.Buffs.RemoveBuff("FuriousRamsay" + playerClass + "RageTier" + (progressionLevel - 1)); ___entityPlayerLocal.Buffs.AddBuff("FuriousRamsay" + playerClass + "RageTier" + progressionLevel); } localVariables["$varFuriousRamsay" + expertiseKey + "PercUnit"] = localVariables["$varFuriousRamsay" + playerClass + "PercUnit"]; break; } } localConstants["$varFuriousRamsayPerk" + localExpertiseTier[expertiseTierKey] + "PercUnit"] = localVariables["$varFuriousRamsay" + expertiseKey + "PercUnit"]; //Log.Out("RebirthVariables-RefreshVariables $varFuriousRamsay" + classKey + "PercUnit: " + localVariables["$varFuriousRamsay" + classKey + "PercUnit"]); //Log.Out("RebirthVariables-RefreshVariables $varFuriousRamsay" + expertiseKey + "PercUnit: " + localVariables["$varFuriousRamsay" + expertiseKey + "PercUnit"]); //Log.Out("RebirthVariables-RefreshVariables $varFuriousRamsayPerk" + localExpertiseTier[expertiseTierKey] + "PercUnit: " + localConstants["$varFuriousRamsayPerk" + localExpertiseTier[expertiseTierKey] + "PercUnit"]); break; } } } } break; } } } public static void RefreshConstants(EntityAlive ___entityPlayerLocal) { //Log.Out("RebirthVariables-RefreshConstants START"); if (GameManager.IsDedicatedServer || ___entityPlayerLocal == null) return; localConstants["$varFuriousRamsayClassPercUnit"] = 0f; localConstants["$varFuriousRamsayActionInProgress"] = 0f; localConstants["$restrictNumHires"] = 1f; localConstants["$varFuriousRamsayTheyGrowStrongerKills_Cst"] = ___entityPlayerLocal.Buffs.GetCustomVar("$NaturalSelection_FR"); //___entityPlayerLocal.KilledZombies; foreach (string key in RebirthVariables.localVariables.Keys) { if (key.EndsWith("PercUnit")) { int units = (int)localVariables[key]; //Log.Out("RebirthVariables-RefreshConstants localVariables[key]: " + localVariables[key]); //Log.Out("RebirthVariables-RefreshConstants units: " + units); localConstants[key.Replace("PercUnit", "Lvl")] = units; //Log.Out("RebirthVariables-RefreshConstants " + key.Replace("PercUnit", "Lvl") + ": " + localConstants[key.Replace("PercUnit", "Lvl")]); localConstants[key.Replace("PercUnit", "Perc")] = localVariables[key] * 100; /*Log.Out("RebirthVariables-RefreshConstants key: " + key); Log.Out("RebirthVariables-RefreshConstants " + key.Replace("PercUnit", "Lvl") + ": " + localConstants[key.Replace("PercUnit", "Lvl")]); Log.Out("RebirthVariables-RefreshConstants " + key.Replace("PercUnit", "Perc") + ": " + localConstants[key.Replace("PercUnit", "Perc")]);*/ } else if (key.EndsWith("Exp")) { int max = 0; foreach (string constantKey in localConstants.Keys) { if (constantKey.StartsWith(key) && !constantKey.Contains("Perc")) { //Log.Out("RebirthVariables-RefreshConstants constantKey: " + constantKey); int number = int.Parse(constantKey.Replace(key, "").Replace("Lvl", "").Replace("_Cst", "")); if (number > max) { max = number; } } } if (max > 0) { for (int i = 1; i <= max; i++) { float currentValue = RebirthVariables.localVariables[key]; float levelValue = RebirthVariables.localConstants[key + "Lvl" + i + "_Cst"]; if (currentValue > levelValue) { RebirthVariables.localConstants[key + i + "_Cst"] = levelValue; RebirthVariables.localConstants[key + "Perc" + i + "_Cst"] = 100f; } else { RebirthVariables.localConstants[key + i + "_Cst"] = currentValue; RebirthVariables.localConstants[key + "Perc" + i + "_Cst"] = currentValue / levelValue * 100; } } } } } float playerClass = ___entityPlayerLocal.Buffs.GetCustomVar("$ActiveClass_FR"); if (playerClass > 0) { //Log.Out("RebirthVariables-RefreshConstants playerClass: " + playerClass); foreach (string classKey in localClasses.Keys) { //Log.Out("RebirthVariables-RefreshConstants classKey: " + classKey); if (localClasses[classKey] == playerClass) { //Log.Out("RebirthVariables-RefreshConstants localClasses[classKey] == playerClass"); foreach (string key in localVariables.Keys) { //Log.Out("RebirthVariables-RefreshConstants key: " + key); if (key.Contains(classKey) && key.EndsWith("PercUnit")) { //Log.Out("RebirthVariables-RefreshConstants key: " + key); float total = localVariables[key]; float unit = total % 1; float perc = unit * 100 % 100; int level = (int)unit; localConstants["$varFuriousRamsayClassPerc"] = perc; localConstants["$varFuriousRamsayClassPercUnit"] = total; localConstants["$varFuriousRamsayClassLvl"] = level; //Log.Out("RebirthVariables-RefreshConstants classKey: " + classKey); //Log.Out("RebirthVariables-RefreshConstants $varFuriousRamsayClassPerc: " + perc); //Log.Out("RebirthVariables-RefreshConstants $varFuriousRamsayClassPercUnit: " + total); //Log.Out("RebirthVariables-RefreshConstants $varFuriousRamsayClassLvl: " + level); break; } } } } } } public static IEnumerator UpdateLocalVariables(EntityPlayerLocal ___entityPlayerLocal, int replaceVariables = 0) { for (int i = 0; i < RebirthVariables.localVariables.Count; i++) { string key = RebirthVariables.localVariables.ElementAt(i).Key; if (replaceVariables == 1) { ___entityPlayerLocal.Buffs.SetCustomVar(key, RebirthVariables.localVariables[key]); //Log.Out("STORE cvar: " + key + " / value: " + ___entityPlayerLocal.Buffs.GetCustomVar(key)); } else { localVariables[key] = ___entityPlayerLocal.Buffs.GetCustomVar(key); } } if (replaceVariables == 0) { RefreshVariables(___entityPlayerLocal); RefreshConstants(___entityPlayerLocal); } loaded = true; yield break; } static RebirthVariables() { localVehicleParts = new Dictionary { [RepairableVehicleSlotsEnum.Headlight_v1] = new VehicleParts("resourceHeadlight", "lblHeadlight", "resourceHeadlight", 0.1f, 2, 20, false), [RepairableVehicleSlotsEnum.CarBattery_1] = new VehicleParts("CarBattery_FR", "lblBattery", "carBattery", 0.1f, 2, 50, true), [RepairableVehicleSlotsEnum.MinibikeEngine_1] = new VehicleParts("MinibikeEngine_FR", "lblSmallEngine", "smallEngine", 0.15f, 2, 80, true), [RepairableVehicleSlotsEnum.MotorcycleEngine_1] = new VehicleParts("MotorcycleEngine_FR", "lblMotorcycleEngine", "partMotorcycleEngine_FR", 0.2f, 2, 90, true), [RepairableVehicleSlotsEnum.V6Engine_1] = new VehicleParts("V6Engine_FR", "lblV6Engine", "partV6Engine_FR", 0.15f, 2, 100, true), [RepairableVehicleSlotsEnum.V8Engine_1] = new VehicleParts("V8Engine_FR", "lblV8Engine", "partV8Engine_FR", 0.1f, 2, 110, true), [RepairableVehicleSlotsEnum.GyroEngine_1] = new VehicleParts("MinibikeEngine_FR", "lblSmallEngine", "smallEngine", 0.2f, 2, 80, true), [RepairableVehicleSlotsEnum.SparkPlugs_1] = new VehicleParts("SparkPlugs_FR", "lblSparkPlugs", "partSparkPlugs_FR", 0.15f, 2, 40, true), [RepairableVehicleSlotsEnum.CarStarter_1] = new VehicleParts("CarStarter_FR", "lblVehicleStarter", "partCarStarter_FR", 0.15f, 2, 50, true), [RepairableVehicleSlotsEnum.FuelPump_1] = new VehicleParts("FuelPump_FR", "lblFuelPump", "partFuelPump_FR", 0.15f, 2, 50, true), [RepairableVehicleSlotsEnum.Alternator_1] = new VehicleParts("Alternator_FR", "lblAlternator", "partAlternator_FR", 0.15f, 2, 60, true), [RepairableVehicleSlotsEnum.Carburetor_1] = new VehicleParts("Carburetor_FR", "lblCarburetor", "partCarburetor_FR", 0.15f, 2, 60, true), [RepairableVehicleSlotsEnum.CarTransmission_1] = new VehicleParts("CarTransmission_FR", "lblTransmission", "partCarTransmission_FR", 0.15f, 2, 80, true), [RepairableVehicleSlotsEnum.CarRadiator_1] = new VehicleParts("CarRadiator_FR", "lblCarRadiator", "partCarRadiator_FR", 0.15f, 2, 50, true), [RepairableVehicleSlotsEnum.TruckRadiator_1] = new VehicleParts("TruckRadiator_FR", "lblTruckRadiator", "partTruckRadiator_FR", 0.15f, 2, 80, true), [RepairableVehicleSlotsEnum.BicycleWheel_1] = new VehicleParts("BicycleWheel_FR", "lblBicycleWheel", "partBicycleWheel_FR", 0.25f, 2, 15, true), [RepairableVehicleSlotsEnum.MinibikeWheel_1] = new VehicleParts("MinibikeWheel_FR", "lblMinibikeWheel", "partMinibikeWheel_FR", 0.2f, 2, 40, true), [RepairableVehicleSlotsEnum.MotorcycleWheel_1] = new VehicleParts("MotorcycleWheel_FR", "lblMotorcycleWheel", "partMotorcycleWheel_FR", 0.2f, 2, 60, true), [RepairableVehicleSlotsEnum.MotorcycleWheel_2] = new VehicleParts("MotorcycleWheel2_FR", "lblMotorcycleWheel2", "partMotorcycleWheel2_FR", 0.2f, 2, 60, true), [RepairableVehicleSlotsEnum.CarWheel_1] = new VehicleParts("CarWheel_FR", "lblCarWheel", "partCarWheel_FR", 0.2f, 2, 80, true), [RepairableVehicleSlotsEnum.CarWheel_2] = new VehicleParts("CarWheel2_FR", "lblCarWheel2", "partCarWheel2_FR", 0.2f, 2, 80, true), [RepairableVehicleSlotsEnum.TruckWheel_1] = new VehicleParts("TruckWheel_FR", "lblTruckWheel", "partTruckWheel_FR", 0.2f, 2, 100, true), [RepairableVehicleSlotsEnum.TruckWheel_2] = new VehicleParts("TruckWheel2_FR", "lblTruckWheel2", "partTruckWheel2_FR", 0.2f, 2, 100, true), [RepairableVehicleSlotsEnum.MilitaryTruckWheel_1] = new VehicleParts("MilitaryTruckWheel_FR", "lblMilitaryTruckWheel", "partMilitaryTruckWheel_FR", 0.15f, 2, 110, true), [RepairableVehicleSlotsEnum.HeavyWheel_1] = new VehicleParts("HeavyWheel_FR", "lblHeavyWheel", "partHeavyWheel_FR", 0.15f, 2, 120, true), [RepairableVehicleSlotsEnum.GyroWheel_1] = new VehicleParts("GyroWheel_FR", "lblGyroWheel", "partGyroWheel_FR", 0.2f, 2, 50, true) }; localVehicleTypes = new Dictionary> { ["BicycleRepair"] = new List { RepairableVehicleSlotsEnum.BicycleWheel_1, RepairableVehicleSlotsEnum.BicycleWheel_1 }, ["MinibikeRepair"] = new List{ RepairableVehicleSlotsEnum.Headlight_v1, RepairableVehicleSlotsEnum.CarBattery_1, RepairableVehicleSlotsEnum.MinibikeEngine_1, RepairableVehicleSlotsEnum.MinibikeWheel_1, RepairableVehicleSlotsEnum.MinibikeWheel_1 }, ["MotorcycleRepair"] = new List{ RepairableVehicleSlotsEnum.Headlight_v1, RepairableVehicleSlotsEnum.CarBattery_1, RepairableVehicleSlotsEnum.SparkPlugs_1, RepairableVehicleSlotsEnum.MotorcycleEngine_1, RepairableVehicleSlotsEnum.MotorcycleWheel_1, RepairableVehicleSlotsEnum.MotorcycleWheel_1 }, ["QuadRepair"] = new List{ RepairableVehicleSlotsEnum.Headlight_v1, RepairableVehicleSlotsEnum.Headlight_v1, RepairableVehicleSlotsEnum.CarBattery_1, RepairableVehicleSlotsEnum.SparkPlugs_1, RepairableVehicleSlotsEnum.MinibikeEngine_1, RepairableVehicleSlotsEnum.CarWheel_1, RepairableVehicleSlotsEnum.CarWheel_1, RepairableVehicleSlotsEnum.CarWheel_1, RepairableVehicleSlotsEnum.CarWheel_1 }, ["V6CarRepair"] = new List{ RepairableVehicleSlotsEnum.Headlight_v1, RepairableVehicleSlotsEnum.Headlight_v1, RepairableVehicleSlotsEnum.CarBattery_1, RepairableVehicleSlotsEnum.SparkPlugs_1, RepairableVehicleSlotsEnum.V6Engine_1, RepairableVehicleSlotsEnum.CarStarter_1, RepairableVehicleSlotsEnum.FuelPump_1, RepairableVehicleSlotsEnum.CarRadiator_1, RepairableVehicleSlotsEnum.Carburetor_1, RepairableVehicleSlotsEnum.CarTransmission_1, RepairableVehicleSlotsEnum.Alternator_1, RepairableVehicleSlotsEnum.CarWheel_1, RepairableVehicleSlotsEnum.CarWheel_1, RepairableVehicleSlotsEnum.CarWheel_1, RepairableVehicleSlotsEnum.CarWheel_1 }, ["V8CarRepair"] = new List{ RepairableVehicleSlotsEnum.Headlight_v1, RepairableVehicleSlotsEnum.Headlight_v1, RepairableVehicleSlotsEnum.CarBattery_1, RepairableVehicleSlotsEnum.SparkPlugs_1, RepairableVehicleSlotsEnum.V8Engine_1, RepairableVehicleSlotsEnum.CarStarter_1, RepairableVehicleSlotsEnum.FuelPump_1, RepairableVehicleSlotsEnum.CarRadiator_1, RepairableVehicleSlotsEnum.Carburetor_1, RepairableVehicleSlotsEnum.CarTransmission_1, RepairableVehicleSlotsEnum.Alternator_1, RepairableVehicleSlotsEnum.CarWheel_1, RepairableVehicleSlotsEnum.CarWheel_1, RepairableVehicleSlotsEnum.CarWheel_1, RepairableVehicleSlotsEnum.CarWheel_1 }, ["V6TruckRepair"] = new List{ RepairableVehicleSlotsEnum.Headlight_v1, RepairableVehicleSlotsEnum.Headlight_v1, RepairableVehicleSlotsEnum.CarBattery_1, RepairableVehicleSlotsEnum.SparkPlugs_1, RepairableVehicleSlotsEnum.V6Engine_1, RepairableVehicleSlotsEnum.CarStarter_1, RepairableVehicleSlotsEnum.FuelPump_1, RepairableVehicleSlotsEnum.TruckRadiator_1, RepairableVehicleSlotsEnum.Carburetor_1, RepairableVehicleSlotsEnum.CarTransmission_1, RepairableVehicleSlotsEnum.Alternator_1, RepairableVehicleSlotsEnum.TruckWheel_2, RepairableVehicleSlotsEnum.TruckWheel_2, RepairableVehicleSlotsEnum.TruckWheel_2, RepairableVehicleSlotsEnum.TruckWheel_2 }, ["V8TruckRepair"] = new List{ RepairableVehicleSlotsEnum.Headlight_v1, RepairableVehicleSlotsEnum.Headlight_v1, RepairableVehicleSlotsEnum.CarBattery_1, RepairableVehicleSlotsEnum.SparkPlugs_1, RepairableVehicleSlotsEnum.V8Engine_1, RepairableVehicleSlotsEnum.CarStarter_1, RepairableVehicleSlotsEnum.FuelPump_1, RepairableVehicleSlotsEnum.TruckRadiator_1, RepairableVehicleSlotsEnum.Carburetor_1, RepairableVehicleSlotsEnum.CarTransmission_1, RepairableVehicleSlotsEnum.Alternator_1, RepairableVehicleSlotsEnum.TruckWheel_2, RepairableVehicleSlotsEnum.TruckWheel_2, RepairableVehicleSlotsEnum.TruckWheel_2, RepairableVehicleSlotsEnum.TruckWheel_2 }, ["V8MilitaryTruckRepair"] = new List{ RepairableVehicleSlotsEnum.Headlight_v1, RepairableVehicleSlotsEnum.Headlight_v1, RepairableVehicleSlotsEnum.CarBattery_1, RepairableVehicleSlotsEnum.SparkPlugs_1, RepairableVehicleSlotsEnum.V8Engine_1, RepairableVehicleSlotsEnum.CarStarter_1, RepairableVehicleSlotsEnum.FuelPump_1, RepairableVehicleSlotsEnum.TruckRadiator_1, RepairableVehicleSlotsEnum.Carburetor_1, RepairableVehicleSlotsEnum.CarTransmission_1, RepairableVehicleSlotsEnum.Alternator_1, RepairableVehicleSlotsEnum.MilitaryTruckWheel_1, RepairableVehicleSlotsEnum.MilitaryTruckWheel_1, RepairableVehicleSlotsEnum.MilitaryTruckWheel_1, RepairableVehicleSlotsEnum.MilitaryTruckWheel_1 }, ["6WheelerRepair"] = new List{ RepairableVehicleSlotsEnum.Headlight_v1, RepairableVehicleSlotsEnum.Headlight_v1, RepairableVehicleSlotsEnum.CarBattery_1, RepairableVehicleSlotsEnum.SparkPlugs_1, RepairableVehicleSlotsEnum.V8Engine_1, RepairableVehicleSlotsEnum.CarStarter_1, RepairableVehicleSlotsEnum.FuelPump_1, RepairableVehicleSlotsEnum.TruckRadiator_1, RepairableVehicleSlotsEnum.Carburetor_1, RepairableVehicleSlotsEnum.CarTransmission_1, RepairableVehicleSlotsEnum.Alternator_1, RepairableVehicleSlotsEnum.HeavyWheel_1, RepairableVehicleSlotsEnum.HeavyWheel_1, RepairableVehicleSlotsEnum.HeavyWheel_1, RepairableVehicleSlotsEnum.HeavyWheel_1, RepairableVehicleSlotsEnum.HeavyWheel_1, RepairableVehicleSlotsEnum.HeavyWheel_1 }, ["6WheelerMilitaryRepair"] = new List{ RepairableVehicleSlotsEnum.Headlight_v1, RepairableVehicleSlotsEnum.Headlight_v1, RepairableVehicleSlotsEnum.CarBattery_1, RepairableVehicleSlotsEnum.SparkPlugs_1, RepairableVehicleSlotsEnum.V8Engine_1, RepairableVehicleSlotsEnum.CarStarter_1, RepairableVehicleSlotsEnum.FuelPump_1, RepairableVehicleSlotsEnum.TruckRadiator_1, RepairableVehicleSlotsEnum.Carburetor_1, RepairableVehicleSlotsEnum.CarTransmission_1, RepairableVehicleSlotsEnum.Alternator_1, RepairableVehicleSlotsEnum.MilitaryTruckWheel_1, RepairableVehicleSlotsEnum.MilitaryTruckWheel_1, RepairableVehicleSlotsEnum.MilitaryTruckWheel_1, RepairableVehicleSlotsEnum.MilitaryTruckWheel_1, RepairableVehicleSlotsEnum.MilitaryTruckWheel_1, RepairableVehicleSlotsEnum.MilitaryTruckWheel_1 }, ["8WheelerRepair"] = new List{ RepairableVehicleSlotsEnum.Headlight_v1, RepairableVehicleSlotsEnum.Headlight_v1, RepairableVehicleSlotsEnum.CarBattery_1, RepairableVehicleSlotsEnum.SparkPlugs_1, RepairableVehicleSlotsEnum.V8Engine_1, RepairableVehicleSlotsEnum.CarStarter_1, RepairableVehicleSlotsEnum.FuelPump_1, RepairableVehicleSlotsEnum.TruckRadiator_1, RepairableVehicleSlotsEnum.Carburetor_1, RepairableVehicleSlotsEnum.CarTransmission_1, RepairableVehicleSlotsEnum.Alternator_1, RepairableVehicleSlotsEnum.HeavyWheel_1, RepairableVehicleSlotsEnum.HeavyWheel_1, RepairableVehicleSlotsEnum.HeavyWheel_1, RepairableVehicleSlotsEnum.HeavyWheel_1, RepairableVehicleSlotsEnum.HeavyWheel_1, RepairableVehicleSlotsEnum.HeavyWheel_1, RepairableVehicleSlotsEnum.HeavyWheel_1, RepairableVehicleSlotsEnum.HeavyWheel_1 }, ["8WheelerMilitaryRepair"] = new List{ RepairableVehicleSlotsEnum.Headlight_v1, RepairableVehicleSlotsEnum.Headlight_v1, RepairableVehicleSlotsEnum.CarBattery_1, RepairableVehicleSlotsEnum.SparkPlugs_1, RepairableVehicleSlotsEnum.V8Engine_1, RepairableVehicleSlotsEnum.CarStarter_1, RepairableVehicleSlotsEnum.FuelPump_1, RepairableVehicleSlotsEnum.TruckRadiator_1, RepairableVehicleSlotsEnum.Carburetor_1, RepairableVehicleSlotsEnum.CarTransmission_1, RepairableVehicleSlotsEnum.Alternator_1, RepairableVehicleSlotsEnum.MilitaryTruckWheel_1, RepairableVehicleSlotsEnum.MilitaryTruckWheel_1, RepairableVehicleSlotsEnum.MilitaryTruckWheel_1, RepairableVehicleSlotsEnum.MilitaryTruckWheel_1, RepairableVehicleSlotsEnum.MilitaryTruckWheel_1, RepairableVehicleSlotsEnum.MilitaryTruckWheel_1, RepairableVehicleSlotsEnum.MilitaryTruckWheel_1, RepairableVehicleSlotsEnum.MilitaryTruckWheel_1 }, ["RVRepair"] = new List{ RepairableVehicleSlotsEnum.Headlight_v1, RepairableVehicleSlotsEnum.Headlight_v1, RepairableVehicleSlotsEnum.CarBattery_1, RepairableVehicleSlotsEnum.SparkPlugs_1, RepairableVehicleSlotsEnum.V8Engine_1, RepairableVehicleSlotsEnum.CarStarter_1, RepairableVehicleSlotsEnum.FuelPump_1, RepairableVehicleSlotsEnum.TruckRadiator_1, RepairableVehicleSlotsEnum.Carburetor_1, RepairableVehicleSlotsEnum.CarTransmission_1, RepairableVehicleSlotsEnum.Alternator_1, RepairableVehicleSlotsEnum.TruckWheel_2, RepairableVehicleSlotsEnum.TruckWheel_2, RepairableVehicleSlotsEnum.TruckWheel_2, RepairableVehicleSlotsEnum.TruckWheel_2 }, ["HeliRepair"] = new List{ RepairableVehicleSlotsEnum.Headlight_v1, RepairableVehicleSlotsEnum.Headlight_v1, RepairableVehicleSlotsEnum.CarBattery_1, RepairableVehicleSlotsEnum.SparkPlugs_1, RepairableVehicleSlotsEnum.V8Engine_1, RepairableVehicleSlotsEnum.CarStarter_1, RepairableVehicleSlotsEnum.FuelPump_1, RepairableVehicleSlotsEnum.Carburetor_1, RepairableVehicleSlotsEnum.Alternator_1 }, ["GyroRepair"] = new List{ RepairableVehicleSlotsEnum.Headlight_v1, RepairableVehicleSlotsEnum.SparkPlugs_1, RepairableVehicleSlotsEnum.CarBattery_1, RepairableVehicleSlotsEnum.MinibikeEngine_1, RepairableVehicleSlotsEnum.CarStarter_1, RepairableVehicleSlotsEnum.FuelPump_1, RepairableVehicleSlotsEnum.GyroWheel_1, RepairableVehicleSlotsEnum.GyroWheel_1, RepairableVehicleSlotsEnum.GyroWheel_1 } }; factions = new Dictionary(); localGenetics = new Dictionary(); localClasses = new Dictionary(); localClassMeta = new Dictionary(); localExpertise = new Dictionary(); localVariables = new Dictionary(); localConstants = new Dictionary(); localExpertiseClass = new Dictionary(); localExpertiseLevelWithClass = new Dictionary(); localExpertiseTier = new Dictionary(); localClassPerk = new Dictionary>(); localClassProgressionMax = new Dictionary(); localClassRewards = new Dictionary>(); localGeneticsCrafting = new Dictionary>(); localExpertiseCrafting = new Dictionary>(); localOtherCrafting = new Dictionary>(); localCraftingIncrements = new Dictionary>(); localAuras = new Dictionary(); localAuraChances = new Dictionary(); npcWeaponCategories = new Dictionary(); bodyTags = new Dictionary(); // BODY TRANSFORMS bodyTags[0] = "E_BP_Head"; bodyTags[1] = "E_BP_Body"; bodyTags[2] = "E_BP_LLeg"; bodyTags[3] = "E_BP_LLowerLeg"; bodyTags[4] = "E_BP_RLeg"; bodyTags[5] = "E_BP_RLowerLeg"; bodyTags[6] = "E_BP_Body"; bodyTags[7] = "E_BP_LArm"; bodyTags[8] = "E_BP_LLowerArm"; bodyTags[9] = "E_BP_RArm"; bodyTags[10] = "E_BP_RLowerArm"; // LOW npcWeaponCategories["meleeWpnClubT0WoodenClub"] = "low"; npcWeaponCategories["meleeWpnBladeT1HuntingKnife"] = "low"; npcWeaponCategories["meleeWpnClubT1BaseballBat"] = "low"; npcWeaponCategories["meleeToolAxeT1IronFireaxe"] = "low"; npcWeaponCategories["meleeWpnSpearT1IronSpear"] = "low"; npcWeaponCategories["meleeWpnBladeT3Machete"] = "low"; // LOW-MEDIUM npcWeaponCategories["gunRifleT0PipeRifle"] = "lowmed"; npcWeaponCategories["gunShotgunT0PipeShotgun"] = "lowmed"; npcWeaponCategories["gunBowT1WoodenBow"] = "lowmed"; // MEDIUM npcWeaponCategories["gunMGT0PipeMachineGun"] = "med"; npcWeaponCategories["gunHandgunT0PipePistol"] = "med"; npcWeaponCategories["gunBowT1IronCrossbow"] = "med"; // MEDIUM-HIGH npcWeaponCategories["gunHandgunT1Pistol"] = "medhigh"; npcWeaponCategories["gunRifleT1HuntingRifle"] = "medhigh"; npcWeaponCategories["gunShotgunT2PumpShotgun"] = "medhigh"; npcWeaponCategories["gunMGT1AK47"] = "medhigh"; // HIGH npcWeaponCategories["gunHandgunT3DesertVulture"] = "high"; npcWeaponCategories["gunHandgunT3SMG5"] = "high"; npcWeaponCategories["gunMGT3M60"] = "high"; npcWeaponCategories["gunMGT2TacticalAR"] = "high"; npcWeaponCategories["gunRifleT3SniperRifle"] = "high"; npcWeaponCategories["gunShotgunT3AutoShotgun"] = "high"; localAuras["Healing"] = new auraData("FuriousRamsayAchievementHealingAura", "FuriousRamsayPerkHealingAuraMod", "FuriousRamsayBuffHealingAuraAlliesLvl", "", "", 0f, 0f, "", "", false, false, "", 0f, ""); localAuras["Stamina"] = new auraData("FuriousRamsayAchievementStaminaAura", "FuriousRamsayPerkStaminaAuraMod", "FuriousRamsayBuffStaminaAuraAlliesLvl", "", "", 0f, 0f, "", "", false, false, "", 0f, ""); localAuras["Mobility"] = new auraData("FuriousRamsayAchievementMobilityAura", "FuriousRamsayPerkMobilityAuraMod", "FuriousRamsayBuffMobilityAuraAlliesLvl", "", "", 0f, 0f, "", "", false, false, "", 0f, ""); localAuras["ArmorPenetration"] = new auraData("FuriousRamsayAchievementArmorPenetrationAura", "FuriousRamsayPerkArmorPenetrationAuraMod", "FuriousRamsayBuffArmorPenetrationAuraAlliesLvl", "", "", 0f, 0f, "", "", false, false, "", 0f, ""); localAuras["BlockDamage"] = new auraData("FuriousRamsayAchievementBlockDamageAura", "FuriousRamsayPerkBlockDamageAuraMod", "FuriousRamsayBuffBlockDamageAuraAlliesLvl", "", "", 0f, 0f, "", "", false, false, "", 0f, ""); localAuras["FireRate"] = new auraData("FuriousRamsayAchievementFireRateAura", "FuriousRamsayPerkFireRateAuraMod", "FuriousRamsayBuffFireRateAuraAlliesLvl", "", "", 0f, 0f, "", "", false, false, "", 0f, ""); localAuras["AttackSpeed"] = new auraData("FuriousRamsayAchievementAttackSpeedAura", "FuriousRamsayPerkAttackSpeedAuraMod", "FuriousRamsayBuffAttackSpeedAuraAlliesLvl", "", "", 0f, 0f, "", "", false, false, "", 0f, ""); localAuras["Shadow"] = new auraData("FuriousRamsayAchievementShadowAura", "FuriousRamsayPerkShadowAuraMod", "FuriousRamsayBuffShadowAuraAlliesLvl", "", "", 0f, 0f, "", "", false, false, "", 0f, ""); localAuras["Vitality"] = new auraData("FuriousRamsayAchievementVitalityAura", "FuriousRamsayPerkVitalityAuraMod", "FuriousRamsayBuffVitalityAuraAlliesLvl", "", "", 0f, 0f, "", "", false, false, "", 0f, ""); localAuras["Agility"] = new auraData("FuriousRamsayAchievementAgilityAura", "FuriousRamsayPerkAgilityAuraMod", "FuriousRamsayBuffAgilityAuraAlliesLvl", "", "", 0f, 0f, "", "", false, false, "", 0f, ""); localAuras["Pierce"] = new auraData("FuriousRamsayAchievementPierceAura", "FuriousRamsayPerkPierceAuraMod", "FuriousRamsayBuffPierceAuraAlliesLvl", "", "", 0f, 0f, "", "", false, false, "", 0f, ""); localAuras["Trade"] = new auraData("FuriousRamsayAchievementTradeAura", "FuriousRamsayPerkTradeAuraMod", "FuriousRamsayBuffTradeAuraAlliesLvl", "", "", 0f, 0f, "", "", false, false, "", 0f, ""); localAuras["Fortuity"] = new auraData("FuriousRamsayAchievementFortuityAura", "FuriousRamsayPerkFortuityAuraMod", "FuriousRamsayBuffFortuityAuraAlliesLvl", "", "", 0f, 0f, "", "", false, false, "", 0f, ""); localAuras["Stability"] = new auraData("FuriousRamsayAchievementStabilityAura", "FuriousRamsayPerkStabilityAuraMod", "FuriousRamsayBuffStabilityAuraAlliesLvl", "", "", 0f, 0f, "", "", false, false, "", 0f, ""); localAuras["ArrowRain"] = new auraData("FuriousRamsayPerkHunterArrowRainAura", "FuriousRamsayAuraModHunter", "FuriousRamsayBuffArrowRainAura", "Hunter", "FuriousRamsayArrowRainParticle", 3f, 2f, "", "", true, true, "", 6.5f, "FuriousRamsayPerkHunterArrowRainAura"); localAuras["RangedStun"] = new auraData("FuriousRamsayPerkThugRangedStunAura", "FuriousRamsayAuraModThug", "FuriousRamsayBuffRangedStunAura", "Thug", "FuriousRamsayRangedStun", 2f, 1.5f, "", "", true, true, "", 5f, "FuriousRamsayPerkThugRangedStunAura"); localAuras["RangedBleed"] = new auraData("FuriousRamsayPerkButcherRangedBleedAura", "FuriousRamsayAuraModButcher", "FuriousRamsayBuffRangedBleedAura", "Butcher", "FuriousRamsayRangedBleedDamage", 3f, 2f, "", "", true, true, "", 5f, "FuriousRamsayPerkButcherRangedBleedAura"); localAuras["RangedDoubleDamage"] = new auraData("FuriousRamsayPerkSoldierRangedDoubleDamageAura", "FuriousRamsayAuraModSoldier", "FuriousRamsayBuffRangedDoubleDamageAura", "Soldier", "", 3f, 2f, "FuriousRamsayRangedDoubleDamage", "", false, true, "", 5f, "FuriousRamsayPerkSoldierRangedDoubleDamageAura"); localAuras["RangedShock"] = new auraData("FuriousRamsayPerkTechnogeekRangedShockAura", "FuriousRamsayAuraModTechnogeek", "FuriousRamsayBuffRangedShockAura", "Technogeek", "FuriousRamsayAddShockAuraDamageAoE", 3f, 2f, "", "", true, true, "", 5f, "FuriousRamsayPerkTechnogeekRangedShockAura"); localAuras["RangedExplosion"] = new auraData("FuriousRamsayPerkMadmanRangedExplosionAura", "FuriousRamsayAuraModMadman", "FuriousRamsayBuffRangedExplosionAura", "Madman", "", 3f, 2f, "FuriousRamsayAddAuraMadmanExplosionDamage", "", true, true, "", 6.5f, "FuriousRamsayPerkMadmanRangedExplosionAura"); localAuras["RangedDismember"] = new auraData("FuriousRamsayPerkBuilderRangedDismemberAura", "FuriousRamsayAuraModBuilder", "FuriousRamsayBuffRangedDismemberAura", "Builder", "", 2f, 1.5f, "FuriousRamsayDismember", "", true, true, "", 5f, "FuriousRamsayPerkBuilderRangedDismemberAura"); localAuras["RangedSlashes"] = new auraData("FuriousRamsayPerkChefRangedSlashesAura", "FuriousRamsayAuraModChef", "FuriousRamsayBuffRangedSlashesAura", "Chef", "FuriousRamsayKnifeSlashesParticle", 3f, 2f, "", "", true, true, "", 6.5f, "FuriousRamsayPerkChefRangedSlashesAura"); // SET TO 2 if you want to skip NPCs localAuraChances["ArrowRain"] = 1f; localAuraChances["RangedStun"] = 1f; localAuraChances["RangedBleed"] = 1f; localAuraChances["RangedDoubleDamage"] = 1f; localAuraChances["RangedShock"] = 1f; localAuraChances["RangedExplosion"] = 1f; localAuraChances["RangedDismember"] = 1f; localAuraChances["RangedSlashes"] = 1f; localGenetics["Strength"] = 10; localGenetics["Dexterity"] = 10; localGenetics["Constitution"] = 10; localGenetics["Intelligence"] = 10; localGenetics["Charisma"] = 10; localGeneticsCrafting["Constitution"] = new List{ new categoryCrafting("craftingArmor", new List{ new craftingLevels(0f, 10), new craftingLevels(0.2f, 20), new craftingLevels(0.4f, 30), new craftingLevels(0.6f, 40), new craftingLevels(0.8f, 50)}), new categoryCrafting("craftingArmor", new List{ new craftingLevels(1f, 60), new craftingLevels(1.4f, 70), new craftingLevels(1.8f, 80), new craftingLevels(2.2f, 90), new craftingLevels(2.6f, 100)}), new categoryCrafting("craftingArmor", new List{ new craftingLevels(3f, 110), new craftingLevels(3.5f, 120), new craftingLevels(4f, 130), new craftingLevels(4.5f, 140), new craftingLevels(5f, 150)}), new categoryCrafting("craftingArmor", new List{ new craftingLevels(5.5f, 160), new craftingLevels(6.1f, 170), new craftingLevels(6.7f, 180), new craftingLevels(7.3f, 190), new craftingLevels(8f, 200)}) }; localCraftingIncrements["SalvageTools"] = new List{ new craftingIncrements(0f,.2f,0.0001f), new craftingIncrements(0.2f,1.2f,0.00001f), new craftingIncrements(1.2f,2.2f,0.000002f), new craftingIncrements(2.2f,3.0f,0.0000004f) }; localOtherCrafting["SalvageTools"] = new List{ new categoryCrafting("craftingSalvageTools", new List{ new craftingLevels(0, 1), new craftingLevels(0.2f, 10), new craftingLevels(0.4f, 20), new craftingLevels(0.6f, 30), new craftingLevels(0.8f, 40), new craftingLevels(1.0f, 50)}), new categoryCrafting("craftingSalvageTools", new List{ new craftingLevels(1.2f, 60), new craftingLevels(1.4f, 70), new craftingLevels(1.6f, 80), new craftingLevels(1.8f, 90), new craftingLevels(2.0f, 100)}), new categoryCrafting("craftingSalvageTools", new List{ new craftingLevels(2.2f, 110), new craftingLevels(2.4f, 120), new craftingLevels(2.6f, 130), new craftingLevels(2.8f, 140), new craftingLevels(3.0f, 150)}) }; localCraftingIncrements["Mine"] = new List{ new craftingIncrements(0f,1.0f,.0000333f), new craftingIncrements(1.0f,2.0f,.000003f), new craftingIncrements(2.0f,3.0f,.0000003f), new craftingIncrements(3.0f,3.8f,.00000003f) }; localOtherCrafting["Mine"] = new List{ new categoryCrafting("FuriousRamsayMiningTools", new List{ new craftingLevels(0, 1), new craftingLevels(0.2f, 10), new craftingLevels(0.4f, 20), new craftingLevels(0.6f, 30), new craftingLevels(0.8f, 40)}), new categoryCrafting("FuriousRamsayMiningTools", new List{ new craftingLevels(1.0f, 50), new craftingLevels(1.2f, 60), new craftingLevels(1.4f, 70), new craftingLevels(1.6f, 80), new craftingLevels(1.8f, 90)}), new categoryCrafting("FuriousRamsayMiningTools", new List{ new craftingLevels(2.0f, 100), new craftingLevels(2.2f, 110), new craftingLevels(2.4f, 120), new craftingLevels(2.6f, 130), new craftingLevels(2.8f, 140)}), new categoryCrafting("FuriousRamsayMiningTools", new List{ new craftingLevels(3.0f, 150), new craftingLevels(3.2f, 160), new craftingLevels(3.4f, 170), new craftingLevels(3.6f, 180), new craftingLevels(3.8f, 190)}) }; localCraftingIncrements["Dig"] = new List{ new craftingIncrements(0f,1.0f,.00003f), new craftingIncrements(1.0f,2.0f,.000003f), new craftingIncrements(2.0f,2.8f,.0000003f) }; localOtherCrafting["Dig"] = new List{ new categoryCrafting("FuriousRamsayDiggingTools", new List{ new craftingLevels(0, 1), new craftingLevels(0.2f, 10), new craftingLevels(0.4f, 20), new craftingLevels(0.6f, 30), new craftingLevels(0.8f, 40)}), new categoryCrafting("FuriousRamsayDiggingTools", new List{ new craftingLevels(1.0f, 50), new craftingLevels(1.2f, 60), new craftingLevels(1.4f, 70), new craftingLevels(1.6f, 80), new craftingLevels(1.8f, 90)}), new categoryCrafting("FuriousRamsayDiggingTools", new List{ new craftingLevels(2.0f, 100), new craftingLevels(2.2f, 110), new craftingLevels(2.4f, 120), new craftingLevels(2.6f, 130), new craftingLevels(2.8f, 140)}) }; localCraftingIncrements["Chop"] = new List{ new craftingIncrements(0f,0.2f,.000015f), new craftingIncrements(0.2f,1.2f,.00001f), new craftingIncrements(1.2f,2.2f,.000001f), new craftingIncrements(2.2f,3.0f,.0000001f) }; localOtherCrafting["Chop"] = new List{ new categoryCrafting("craftingChoppingTools", new List{ new craftingLevels(0.2f, 50), new craftingLevels(0.4f, 60), new craftingLevels(0.6f, 70), new craftingLevels(0.8f, 80), new craftingLevels(1.0f, 90)}), new categoryCrafting("craftingChoppingTools", new List{ new craftingLevels(1.2f, 100), new craftingLevels(1.4f, 110), new craftingLevels(1.6f, 120), new craftingLevels(1.8f, 130), new craftingLevels(2.0f, 140)}), new categoryCrafting("craftingChoppingTools", new List{ new craftingLevels(2.2f, 150), new craftingLevels(2.4f, 160), new craftingLevels(2.6f, 170), new craftingLevels(2.8f, 180), new craftingLevels(3.0f, 190)}) }; localClasses["Hunter"] = 1f; localClasses["Thug"] = 2f; localClasses["Butcher"] = 3f; localClasses["Soldier"] = 4f; localClasses["Technogeek"] = 5f; localClasses["Madman"] = 6f; localClasses["Builder"] = 7f; localClasses["Chef"] = 8f; localClasses["WitchDoctor"] = 9f; localClasses["Berserker"] = 10f; localClassMeta["Hunter"] = new classMeta(false); localClassMeta["Thug"] = new classMeta(false); localClassMeta["Butcher"] = new classMeta(false); localClassMeta["Soldier"] = new classMeta(false); localClassMeta["Technogeek"] = new classMeta(false); localClassMeta["Madman"] = new classMeta(false); localClassMeta["Builder"] = new classMeta(false); localClassMeta["Chef"] = new classMeta(false); localClassMeta["WitchDoctor"] = new classMeta(false); localClassMeta["Berserker"] = new classMeta(false); localClassProgressionMax["Hunter"] = 10; localClassProgressionMax["Thug"] = 10; localClassProgressionMax["Butcher"] = 10; localClassProgressionMax["Soldier"] = 10; localClassProgressionMax["Technogeek"] = 10; localClassProgressionMax["Madman"] = 10; localClassProgressionMax["Builder"] = 10; localClassProgressionMax["Chef"] = 10; localClassProgressionMax["WitchDoctor"] = 10; localClassProgressionMax["Berserker"] = 15; localClassRewards["Hunter"] = new List{ new classRewards(2, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(3, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(4, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(5, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(6, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(7, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(8, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(9, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(10, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}) }; localClassRewards["Thug"] = new List{ new classRewards(2, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(3, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(4, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(5, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(6, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(7, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(8, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(9, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(10, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}) }; localClassRewards["Butcher"] = new List{ new classRewards(2, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(3, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(4, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(5, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(6, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(7, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(8, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(9, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(10, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}) }; localClassRewards["Soldier"] = new List{ new classRewards(2, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(3, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(4, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(5, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(6, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(7, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(8, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(9, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(10, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}) }; localClassRewards["Technogeek"] = new List{ new classRewards(2, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(3, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(4, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(5, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(6, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(7, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(8, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(9, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(10, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}) }; localClassRewards["Madman"] = new List{ new classRewards(2, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(3, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(4, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(5, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(6, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(7, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(8, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(9, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(10, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}) }; localClassRewards["Builder"] = new List{ new classRewards(2, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(3, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(4, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(5, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(6, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(7, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(8, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(9, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(10, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}) }; localClassRewards["Chef"] = new List{ new classRewards(2, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(3, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(4, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(5, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(6, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(7, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(8, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(9, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(10, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}) }; localClassRewards["WitchDoctor"] = new List{ new classRewards(2, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(3, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(4, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(5, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(6, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(7, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(8, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(9, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(10, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}) }; localClassRewards["Berserker"] = new List{ new classRewards(2, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(3, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(4, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(5, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(6, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(7, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(8, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(9, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}), new classRewards(10, new List{ new classReward("FuriousRamsayGeneticsPerBook", 1), new classReward("FuriousRamsayPillGeneric", 1)}) }; // EXPERTISE localExpertise["Spears"] = 10; localExpertise["Bows"] = 10; localExpertise["LongRangeRifles"] = 10; localExpertise["Clubs"] = 10; localExpertise["Shotguns"] = 10; localExpertise["Swords"] = 10; localExpertise["AssaultRifles"] = 10; localExpertise["Axes"] = 10; localExpertise["MachineGuns"] = 10; localExpertise["Batons"] = 10; localExpertise["Revolvers"] = 10; localExpertise["DeployableTurrets"] = 10; localExpertise["Knuckles"] = 10; localExpertise["SubmachineGuns"] = 10; localExpertise["Explosives"] = 10; localExpertise["Hammers"] = 10; localExpertise["Pistols"] = 10; localExpertise["ElectricTraps"] = 0; localExpertise["Knives"] = 10; localExpertise["HeavyHandguns"] = 10; localExpertise["Scythes"] = 10; localExpertise["TacticalRifles"] = 10; localExpertise["BlackMagic"] = 0; localExpertise["Melee"] = 15; localExpertise["Rage"] = 15; localExpertiseCrafting["Spears"] = new List{ new categoryCrafting("craftingSpears", new List{ new craftingLevels(0, 1), new craftingLevels(0.075f, 10), new craftingLevels(0.15f, 20), new craftingLevels(0.225f, 30), new craftingLevels(0.3f, 40)}), new categoryCrafting("craftingSpears", new List{ new craftingLevels(0.375f, 50), new craftingLevels(0.646f, 60), new craftingLevels(0.917f, 70), new craftingLevels(1.188f, 80), new craftingLevels(1.459f, 90)}), new categoryCrafting("craftingSpears", new List{ new craftingLevels(1.73f, 100), new craftingLevels(2.001f, 110), new craftingLevels(2.272f, 120), new craftingLevels(2.543f, 130), new craftingLevels(2.814f, 140)}), new categoryCrafting("craftingSpears", new List{ new craftingLevels(3.085f, 150), new craftingLevels(3.356f, 160), new craftingLevels(3.627f, 170), new craftingLevels(3.898f, 180), new craftingLevels(4.169f, 190)}), new categoryCrafting("craftingSpears", new List{ new craftingLevels(4.44f, 200), new craftingLevels(4.711f, 210), new craftingLevels(4.982f, 220), new craftingLevels(5.253f, 230), new craftingLevels(5.524f, 240)}), new categoryCrafting("craftingSpears", new List{ new craftingLevels(5.795f, 250), new craftingLevels(6.066f, 260), new craftingLevels(6.337f, 270), new craftingLevels(6.608f, 280), new craftingLevels(6.879f, 290)}), new categoryCrafting("craftingSpears", new List{ new craftingLevels(7.150f, 300), new craftingLevels(7.421f, 310), new craftingLevels(7.692f, 320), new craftingLevels(7.953f, 330), new craftingLevels(8.5f, 340)}) }; localExpertiseCrafting["Bows"] = new List{ new categoryCrafting("craftingBows", new List{ new craftingLevels(0, 1), new craftingLevels(0.075f, 10), new craftingLevels(0.15f, 20), new craftingLevels(0.225f, 30), new craftingLevels(0.3f, 40)}), new categoryCrafting("craftingBows", new List{ new craftingLevels(0.375f, 50), new craftingLevels(0.525f, 60), new craftingLevels(0.675f, 70), new craftingLevels(0.825f, 80), new craftingLevels(0.975f, 90)}), new categoryCrafting("craftingBows", new List{ new craftingLevels(1.125f, 100), new craftingLevels(1.3f, 110), new craftingLevels(1.475f, 120), new craftingLevels(1.65f, 130), new craftingLevels(1.825f, 140)}), new categoryCrafting("craftingBows", new List{ new craftingLevels(2f, 150), new craftingLevels(2.2f, 160), new craftingLevels(2.4f, 170), new craftingLevels(2.6f, 180), new craftingLevels(2.8f, 190)}), new categoryCrafting("craftingBows", new List{ new craftingLevels(3f, 200), new craftingLevels(3.3f, 210), new craftingLevels(3.6f, 220), new craftingLevels(3.9f, 230), new craftingLevels(4.2f, 240)}) }; localExpertiseCrafting["LongRangeRifles"] = new List{ new categoryCrafting("craftingRifles", new List{ new craftingLevels(0.175f, 50), new craftingLevels(0.3f, 60), new craftingLevels(0.425f, 70), new craftingLevels(0.55f, 80), new craftingLevels(0.675f, 90)}), new categoryCrafting("craftingRifles", new List{ new craftingLevels(0.8f, 100), new craftingLevels(1.125f, 110), new craftingLevels(1.425f, 120), new craftingLevels(1.75f, 130), new craftingLevels(2.075f, 140)}), new categoryCrafting("craftingRifles", new List{ new craftingLevels(2.4f, 150), new craftingLevels(2.75f, 160), new craftingLevels(3.1f, 170), new craftingLevels(3.45f, 180), new craftingLevels(3.8f, 190)}), new categoryCrafting("craftingRifles", new List{ new craftingLevels(4.15f, 200), new craftingLevels(4.55f, 210), new craftingLevels(4.95f, 220), new craftingLevels(5.35f, 230), new craftingLevels(5.75f, 240)}), new categoryCrafting("craftingRifles", new List{ new craftingLevels(6.2f, 250), new craftingLevels(6.7f, 260), new craftingLevels(7.2f, 270), new craftingLevels(7.7f, 280), new craftingLevels(8.2f, 290)}) }; localExpertiseCrafting["Clubs"] = new List{ new categoryCrafting("craftingClubs", new List{ new craftingLevels(0, 1), new craftingLevels(0.075f, 10), new craftingLevels(0.15f, 20), new craftingLevels(0.225f, 30), new craftingLevels(0.3f, 40)}), new categoryCrafting("craftingClubs", new List{ new craftingLevels(0.375f, 50), new craftingLevels(0.646f, 60), new craftingLevels(0.917f, 70), new craftingLevels(1.188f, 80), new craftingLevels(1.459f, 90)}), new categoryCrafting("craftingClubs", new List{ new craftingLevels(1.73f, 100), new craftingLevels(2.001f, 110), new craftingLevels(2.272f, 120), new craftingLevels(2.543f, 130), new craftingLevels(2.814f, 140)}), new categoryCrafting("craftingClubs", new List{ new craftingLevels(3.085f, 150), new craftingLevels(3.356f, 160), new craftingLevels(3.627f, 170), new craftingLevels(3.898f, 180), new craftingLevels(4.169f, 190)}), new categoryCrafting("craftingClubs", new List{ new craftingLevels(4.44f, 200), new craftingLevels(4.711f, 210), new craftingLevels(4.982f, 220), new craftingLevels(5.253f, 230), new craftingLevels(5.524f, 240)}), new categoryCrafting("craftingClubs", new List{ new craftingLevels(5.795f, 250), new craftingLevels(6.066f, 260), new craftingLevels(6.337f, 270), new craftingLevels(6.608f, 280), new craftingLevels(6.879f, 290)}), new categoryCrafting("craftingClubs", new List{ new craftingLevels(7.150f, 300), new craftingLevels(7.421f, 310), new craftingLevels(7.692f, 320), new craftingLevels(7.953f, 330), new craftingLevels(8.5f, 340)}) }; localExpertiseCrafting["Shotguns"] = new List{ new categoryCrafting("craftingShotguns", new List{ new craftingLevels(0.3f, 50), new craftingLevels(0.45f, 60), new craftingLevels(0.6f, 70), new craftingLevels(0.75f, 80), new craftingLevels(0.9f, 90)}), new categoryCrafting("craftingShotguns", new List{ new craftingLevels(1.05f, 100), new craftingLevels(1.35f, 110), new craftingLevels(1.7f, 120), new craftingLevels(2.05f, 130), new craftingLevels(2.4f, 140)}), new categoryCrafting("craftingShotguns", new List{ new craftingLevels(2.75f, 150), new craftingLevels(3.15f, 160), new craftingLevels(3.55f, 170), new craftingLevels(3.95f, 180), new craftingLevels(4.35f, 190)}), new categoryCrafting("craftingShotguns", new List{ new craftingLevels(4.75f, 200), new craftingLevels(5.15f, 210), new craftingLevels(5.55f, 220), new craftingLevels(5.95f, 230), new craftingLevels(6.35f, 240)}), new categoryCrafting("craftingShotguns", new List{ new craftingLevels(6.75f, 250), new craftingLevels(7.15f, 260), new craftingLevels(7.55f, 270), new craftingLevels(7.95f, 280), new craftingLevels(8.35f, 290)}) }; localExpertiseCrafting["Swords"] = new List{ new categoryCrafting("FuriousRamsayCraftingSwords", new List{ new craftingLevels(0, 1), new craftingLevels(0.075f, 10), new craftingLevels(0.15f, 20), new craftingLevels(0.225f, 30), new craftingLevels(0.3f, 40)}), new categoryCrafting("FuriousRamsayCraftingSwords", new List{ new craftingLevels(0.375f, 50), new craftingLevels(0.646f, 60), new craftingLevels(0.917f, 70), new craftingLevels(1.188f, 80), new craftingLevels(1.459f, 90)}), new categoryCrafting("FuriousRamsayCraftingSwords", new List{ new craftingLevels(1.73f, 100), new craftingLevels(2.001f, 110), new craftingLevels(2.272f, 120), new craftingLevels(2.543f, 130), new craftingLevels(2.814f, 140)}), new categoryCrafting("FuriousRamsayCraftingSwords", new List{ new craftingLevels(3.085f, 150), new craftingLevels(3.356f, 160), new craftingLevels(3.627f, 170), new craftingLevels(3.898f, 180), new craftingLevels(4.169f, 190)}), new categoryCrafting("FuriousRamsayCraftingSwords", new List{ new craftingLevels(4.44f, 200), new craftingLevels(4.711f, 210), new craftingLevels(4.982f, 220), new craftingLevels(5.253f, 230), new craftingLevels(5.524f, 240)}), new categoryCrafting("FuriousRamsayCraftingSwords", new List{ new craftingLevels(5.795f, 250), new craftingLevels(6.066f, 260), new craftingLevels(6.337f, 270), new craftingLevels(6.608f, 280), new craftingLevels(6.879f, 290)}), new categoryCrafting("FuriousRamsayCraftingSwords", new List{ new craftingLevels(7.150f, 300), new craftingLevels(7.421f, 310), new craftingLevels(7.692f, 320), new craftingLevels(7.953f, 330), new craftingLevels(8.5f, 340)}) }; localExpertiseCrafting["AssaultRifles"] = new List{ new categoryCrafting("FuriousRamsayCraftingAssaultRifles", new List{ new craftingLevels(0.75f, 50), new craftingLevels(1.25f, 60), new craftingLevels(1.75f, 70), new craftingLevels(2.25f, 80), new craftingLevels(2.75f, 90)}), new categoryCrafting("FuriousRamsayCraftingAssaultRifles", new List{ new craftingLevels(3.25f, 100), new craftingLevels(3.75f, 110), new craftingLevels(4.25f, 120), new craftingLevels(4.75f, 130), new craftingLevels(5.25f, 140)}), new categoryCrafting("FuriousRamsayCraftingAssaultRifles", new List{ new craftingLevels(5.75f, 150), new craftingLevels(6.25f, 160), new craftingLevels(6.75f, 170), new craftingLevels(7.25f, 180), new craftingLevels(7.75f, 190)}) }; localExpertiseCrafting["Axes"] = new List{ new categoryCrafting("FuriousRamsayCraftingAxes", new List{ new craftingLevels(0, 1), new craftingLevels(0.075f, 10), new craftingLevels(0.15f, 20), new craftingLevels(0.225f, 30), new craftingLevels(0.3f, 40)}), new categoryCrafting("FuriousRamsayCraftingAxes", new List{ new craftingLevels(0.375f, 50), new craftingLevels(0.607f, 60), new craftingLevels(0.839f, 70), new craftingLevels(1.071f, 80), new craftingLevels(1.303f, 90)}), new categoryCrafting("FuriousRamsayCraftingAxes", new List{ new craftingLevels(1.535f, 100), new craftingLevels(1.767f, 110), new craftingLevels(1.999f, 120), new craftingLevels(2.231f, 130), new craftingLevels(2.463f, 140)}), new categoryCrafting("FuriousRamsayCraftingAxes", new List{ new craftingLevels(2.695f, 150), new craftingLevels(2.927f, 160), new craftingLevels(3.159f, 170), new craftingLevels(3.391f, 180), new craftingLevels(3.623f, 190)}), new categoryCrafting("FuriousRamsayCraftingAxes", new List{ new craftingLevels(3.855f, 200), new craftingLevels(4.087f, 210), new craftingLevels(4.319f, 220), new craftingLevels(4.551f, 230), new craftingLevels(4.783f, 240)}), new categoryCrafting("FuriousRamsayCraftingAxes", new List{ new craftingLevels(5.015f, 250), new craftingLevels(5.247f, 260), new craftingLevels(5.479f, 270), new craftingLevels(5.711f, 280), new craftingLevels(5.943f, 290)}), new categoryCrafting("FuriousRamsayCraftingAxes", new List{ new craftingLevels(6.175f, 300), new craftingLevels(6.407f, 310), new craftingLevels(6.639f, 320), new craftingLevels(6.871f, 330), new craftingLevels(7.103f, 340)}), new categoryCrafting("FuriousRamsayCraftingAxes", new List{ new craftingLevels(7.335f, 350), new craftingLevels(7.567f, 360), new craftingLevels(7.799f, 370), new craftingLevels(8.031f, 380), new craftingLevels(8.5f, 390)}) }; localExpertiseCrafting["MachineGuns"] = new List{ new categoryCrafting("craftingMachineGuns", new List{ new craftingLevels(0.75f, 50), new craftingLevels(1.25f, 60), new craftingLevels(1.75f, 70), new craftingLevels(2.25f, 80), new craftingLevels(2.75f, 90)}), new categoryCrafting("craftingMachineGuns", new List{ new craftingLevels(3.25f, 100), new craftingLevels(3.75f, 110), new craftingLevels(4.25f, 120), new craftingLevels(4.75f, 130), new craftingLevels(5.25f, 140)}), new categoryCrafting("craftingMachineGuns", new List{ new craftingLevels(5.75f, 150), new craftingLevels(6.25f, 160), new craftingLevels(6.75f, 170), new craftingLevels(7.25f, 180), new craftingLevels(7.75f, 190)}) }; localExpertiseCrafting["Batons"] = new List{ new categoryCrafting("FuriousRamsayCraftingBatons", new List{ new craftingLevels(0, 1), new craftingLevels(0.075f, 10), new craftingLevels(0.15f, 20), new craftingLevels(0.225f, 30), new craftingLevels(0.3f, 40)}), new categoryCrafting("FuriousRamsayCraftingBatons", new List{ new craftingLevels(0.375f, 50), new craftingLevels(0.675f, 60), new craftingLevels(0.975f, 70), new craftingLevels(1.275f, 80), new craftingLevels(1.575f, 90)}), new categoryCrafting("FuriousRamsayCraftingBatons", new List{ new craftingLevels(1.875f, 100), new craftingLevels(2.175f, 110), new craftingLevels(2.475f, 120), new craftingLevels(2.775f, 130), new craftingLevels(3.075f, 140)}), new categoryCrafting("FuriousRamsayCraftingBatons", new List{ new craftingLevels(3.375f, 150), new craftingLevels(3.675f, 160), new craftingLevels(3.975f, 170), new craftingLevels(4.275f, 180), new craftingLevels(4.575f, 190)}), new categoryCrafting("FuriousRamsayCraftingBatons", new List{ new craftingLevels(4.875f, 200), new craftingLevels(5.175f, 210), new craftingLevels(5.475f, 220), new craftingLevels(5.775f, 230), new craftingLevels(6.075f, 240)}), new categoryCrafting("FuriousRamsayCraftingBatons", new List{ new craftingLevels(6.375f, 250), new craftingLevels(6.675f, 260), new craftingLevels(6.975f, 270), new craftingLevels(7.275f, 280), new craftingLevels(8.5f, 290)}) }; localExpertiseCrafting["Revolvers"] = new List{ new categoryCrafting("FuriousRamsayCraftingRevolvers", new List{ new craftingLevels(0.75f, 50), new craftingLevels(1.2f, 60), new craftingLevels(1.65f, 70), new craftingLevels(2.1f, 80), new craftingLevels(2.55f, 90)}), new categoryCrafting("FuriousRamsayCraftingRevolvers", new List{ new craftingLevels(3.0f, 100), new craftingLevels(3.5f, 110), new craftingLevels(3.95f, 120), new craftingLevels(4.4f, 130), new craftingLevels(4.85f, 140)}), new categoryCrafting("FuriousRamsayCraftingRevolvers", new List{ new craftingLevels(5.3f, 150), new craftingLevels(5.75f, 160), new craftingLevels(6.2f, 170), new craftingLevels(6.65f, 180), new craftingLevels(7.1f, 190)}) }; localExpertiseCrafting["DeployableTurrets"] = new List{ new categoryCrafting("FuriousRamsayCraftingDeployableTurrets", new List{ new craftingLevels(0.5f, 50), new craftingLevels(1.25f, 60), new craftingLevels(2f, 70), new craftingLevels(2.75f, 80), new craftingLevels(3.5f, 90)}), new categoryCrafting("FuriousRamsayCraftingDeployableTurrets", new List{ new craftingLevels(4.25f, 100), new craftingLevels(5f, 110), new craftingLevels(5.75f, 120), new craftingLevels(6.5f, 130), new craftingLevels(7.25f, 140)}) }; localExpertiseCrafting["Knuckles"] = new List{ new categoryCrafting("craftingKnuckles", new List{ new craftingLevels(0, 1), new craftingLevels(0.075f, 10), new craftingLevels(0.15f, 20), new craftingLevels(0.225f, 30), new craftingLevels(0.3f, 40)}), new categoryCrafting("craftingKnuckles", new List{ new craftingLevels(0.375f, 50), new craftingLevels(0.675f, 60), new craftingLevels(0.975f, 70), new craftingLevels(1.275f, 80), new craftingLevels(1.575f, 90)}), new categoryCrafting("craftingKnuckles", new List{ new craftingLevels(1.875f, 100), new craftingLevels(2.175f, 110), new craftingLevels(2.475f, 120), new craftingLevels(2.775f, 130), new craftingLevels(3.075f, 140)}), new categoryCrafting("craftingKnuckles", new List{ new craftingLevels(3.375f, 150), new craftingLevels(3.675f, 160), new craftingLevels(3.975f, 170), new craftingLevels(4.275f, 180), new craftingLevels(4.575f, 190)}), new categoryCrafting("craftingKnuckles", new List{ new craftingLevels(4.875f, 200), new craftingLevels(5.175f, 210), new craftingLevels(5.475f, 220), new craftingLevels(5.775f, 230), new craftingLevels(6.075f, 240)}), new categoryCrafting("craftingKnuckles", new List{ new craftingLevels(6.375f, 250), new craftingLevels(6.675f, 260), new craftingLevels(6.975f, 270), new craftingLevels(7.275f, 280), new craftingLevels(8.5f, 290)}) }; localExpertiseCrafting["SubmachineGuns"] = new List{ new categoryCrafting("FuriousRamsayCraftingSubmachineGuns", new List{ new craftingLevels(0.75f, 50), new craftingLevels(1.25f, 60), new craftingLevels(1.75f, 70), new craftingLevels(2.25f, 80), new craftingLevels(2.75f, 90)}), new categoryCrafting("FuriousRamsayCraftingSubmachineGuns", new List{ new craftingLevels(3.25f, 100), new craftingLevels(3.75f, 110), new craftingLevels(4.25f, 120), new craftingLevels(4.75f, 130), new craftingLevels(5.25f, 140)}), new categoryCrafting("FuriousRamsayCraftingSubmachineGuns", new List{ new craftingLevels(5.75f, 150), new craftingLevels(6.25f, 160), new craftingLevels(6.75f, 170), new craftingLevels(7.25f, 180), new craftingLevels(7.75f, 190)}) }; localExpertiseCrafting["Hammers"] = new List{ new categoryCrafting("craftingSledgehammers", new List{ new craftingLevels(0, 1), new craftingLevels(0.075f, 10), new craftingLevels(0.15f, 20), new craftingLevels(0.225f, 30), new craftingLevels(0.3f, 40)}), new categoryCrafting("craftingSledgehammers", new List{ new craftingLevels(0.375f, 50), new craftingLevels(0.675f, 60), new craftingLevels(0.975f, 70), new craftingLevels(1.275f, 80), new craftingLevels(1.575f, 90)}), new categoryCrafting("craftingSledgehammers", new List{ new craftingLevels(1.875f, 100), new craftingLevels(2.175f, 110), new craftingLevels(2.475f, 120), new craftingLevels(2.775f, 130), new craftingLevels(3.075f, 140)}), new categoryCrafting("craftingSledgehammers", new List{ new craftingLevels(3.375f, 150), new craftingLevels(3.675f, 160), new craftingLevels(3.975f, 170), new craftingLevels(4.275f, 180), new craftingLevels(4.575f, 190)}), new categoryCrafting("craftingSledgehammers", new List{ new craftingLevels(4.875f, 200), new craftingLevels(5.175f, 210), new craftingLevels(5.475f, 220), new craftingLevels(5.775f, 230), new craftingLevels(6.075f, 240)}), new categoryCrafting("craftingSledgehammers", new List{ new craftingLevels(6.375f, 250), new craftingLevels(6.675f, 260), new craftingLevels(6.975f, 270), new craftingLevels(7.275f, 280), new craftingLevels(8.5f, 290)}) }; localExpertiseCrafting["Pistols"] = new List{ new categoryCrafting("craftingHandguns", new List{ new craftingLevels(0.75f, 50), new craftingLevels(1.2f, 60), new craftingLevels(1.65f, 70), new craftingLevels(2.1f, 80), new craftingLevels(2.55f, 90)}), new categoryCrafting("craftingHandguns", new List{ new craftingLevels(3.0f, 100), new craftingLevels(3.5f, 110), new craftingLevels(3.95f, 120), new craftingLevels(4.4f, 130), new craftingLevels(4.85f, 140)}), new categoryCrafting("craftingHandguns", new List{ new craftingLevels(5.3f, 150), new craftingLevels(5.75f, 160), new craftingLevels(6.2f, 170), new craftingLevels(6.65f, 180), new craftingLevels(7.1f, 190)}) }; localExpertiseCrafting["Knives"] = new List{ new categoryCrafting("craftingBlades", new List{ new craftingLevels(0, 1), new craftingLevels(0.075f, 10), new craftingLevels(0.15f, 20), new craftingLevels(0.225f, 30), new craftingLevels(0.3f, 40)}), new categoryCrafting("craftingBlades", new List{ new craftingLevels(0.375f, 50), new craftingLevels(0.646f, 60), new craftingLevels(0.917f, 70), new craftingLevels(1.188f, 80), new craftingLevels(1.459f, 90)}), new categoryCrafting("craftingBlades", new List{ new craftingLevels(1.73f, 100), new craftingLevels(2.001f, 110), new craftingLevels(2.272f, 120), new craftingLevels(2.543f, 130), new craftingLevels(2.814f, 140)}), new categoryCrafting("craftingBlades", new List{ new craftingLevels(3.085f, 150), new craftingLevels(3.356f, 160), new craftingLevels(3.627f, 170), new craftingLevels(3.898f, 180), new craftingLevels(4.169f, 190)}), new categoryCrafting("craftingBlades", new List{ new craftingLevels(4.44f, 200), new craftingLevels(4.711f, 210), new craftingLevels(4.982f, 220), new craftingLevels(5.253f, 230), new craftingLevels(5.524f, 240)}), new categoryCrafting("craftingBlades", new List{ new craftingLevels(5.795f, 250), new craftingLevels(6.066f, 260), new craftingLevels(6.337f, 270), new craftingLevels(6.608f, 280), new craftingLevels(6.879f, 290)}), new categoryCrafting("craftingBlades", new List{ new craftingLevels(7.150f, 300), new craftingLevels(7.421f, 310), new craftingLevels(7.692f, 320), new craftingLevels(7.953f, 330), new craftingLevels(8.5f, 340)}) }; localExpertiseCrafting["HeavyHandguns"] = new List{ new categoryCrafting("FuriousRamsayCraftingHeavyHandguns", new List{ new craftingLevels(0.75f, 50), new craftingLevels(1.2f, 60), new craftingLevels(1.65f, 70), new craftingLevels(2.1f, 80), new craftingLevels(2.55f, 90)}), new categoryCrafting("FuriousRamsayCraftingHeavyHandguns", new List{ new craftingLevels(3.0f, 100), new craftingLevels(3.5f, 110), new craftingLevels(3.95f, 120), new craftingLevels(4.4f, 130), new craftingLevels(4.85f, 140)}), new categoryCrafting("FuriousRamsayCraftingHeavyHandguns", new List{ new craftingLevels(5.3f, 150), new craftingLevels(5.75f, 160), new craftingLevels(6.2f, 170), new craftingLevels(6.65f, 180), new craftingLevels(7.1f, 190)}) }; localExpertiseCrafting["Scythes"] = new List{ new categoryCrafting("FuriousRamsayCraftingScythes", new List{ new craftingLevels(0, 1), new craftingLevels(0.075f, 10), new craftingLevels(0.15f, 20), new craftingLevels(0.225f, 30), new craftingLevels(0.3f, 40)}), new categoryCrafting("FuriousRamsayCraftingScythes", new List{ new craftingLevels(0.375f, 50), new craftingLevels(0.750f, 60), new craftingLevels(1.125f, 70), new craftingLevels(1.5f, 80), new craftingLevels(1.875f, 90)}), new categoryCrafting("FuriousRamsayCraftingScythes", new List{ new craftingLevels(2.375f, 100), new craftingLevels(2.750f, 110), new craftingLevels(3.125f, 120), new craftingLevels(3.5f, 130), new craftingLevels(3.875f, 140)}), new categoryCrafting("FuriousRamsayCraftingScythes", new List{ new craftingLevels(4.5f, 150), new craftingLevels(4.875f, 160), new craftingLevels(5.25f, 170), new craftingLevels(5.625f, 180), new craftingLevels(6.0f, 190)}), new categoryCrafting("FuriousRamsayCraftingScythes", new List{ new craftingLevels(6.750f, 200), new craftingLevels(7.125f, 210), new craftingLevels(7.5f, 220), new craftingLevels(7.875f, 230), new craftingLevels(8.5f, 240)}) }; localExpertiseCrafting["TacticalRifles"] = new List{ new categoryCrafting("FuriousRamsayCraftingTacticalRifles", new List{ new craftingLevels(0.75f, 50), new craftingLevels(1.25f, 60), new craftingLevels(1.75f, 70), new craftingLevels(2.25f, 80), new craftingLevels(2.75f, 90)}), new categoryCrafting("FuriousRamsayCraftingTacticalRifles", new List{ new craftingLevels(3.25f, 100), new craftingLevels(3.75f, 110), new craftingLevels(4.25f, 120), new craftingLevels(4.75f, 130), new craftingLevels(5.25f, 140)}), new categoryCrafting("FuriousRamsayCraftingTacticalRifles", new List{ new craftingLevels(5.75f, 150), new craftingLevels(6.25f, 160), new craftingLevels(6.75f, 170), new craftingLevels(7.25f, 180), new craftingLevels(7.75f, 190)}) }; localExpertiseCrafting["PipeRifle"] = new List{ new categoryCrafting("FuriousRamsayCraftingPipeRifle", new List{ new craftingLevels(0, 1), new craftingLevels(0.03f, 10), new craftingLevels(0.06f, 20), new craftingLevels(0.09f, 30), new craftingLevels(0.12f, 40), new craftingLevels(0.15f, 50)}) }; localExpertiseCrafting["PipeShotgun"] = new List{ new categoryCrafting("FuriousRamsayCraftingPipeShotgun", new List{ new craftingLevels(0, 1), new craftingLevels(0.05f, 10), new craftingLevels(0.1f, 20), new craftingLevels(0.15f, 30), new craftingLevels(0.2f, 40), new craftingLevels(0.25f, 50)}) }; localExpertiseCrafting["PipePistol"] = new List{ new categoryCrafting("FuriousRamsayCraftingPipePistol", new List{ new craftingLevels(0, 1), new craftingLevels(0.05f, 10), new craftingLevels(0.1f, 20), new craftingLevels(0.15f, 30), new craftingLevels(0.2f, 40), new craftingLevels(0.25f, 50)}) }; localExpertiseCrafting["PipeMachinegun"] = new List{ new categoryCrafting("FuriousRamsayCraftingPipeMachinegun", new List{ new craftingLevels(0, 1), new craftingLevels(0.05f, 10), new craftingLevels(0.1f, 20), new craftingLevels(0.15f, 30), new craftingLevels(0.2f, 40), new craftingLevels(0.25f, 50)}) }; // EXPERTISE-CLASS localExpertiseClass["Spears"] = "Hunter"; localExpertiseClass["Bows"] = "Hunter"; localExpertiseClass["LongRangeRifles"] = "Hunter"; localExpertiseClass["Clubs"] = "Thug"; localExpertiseClass["Shotguns"] = "Thug"; localExpertiseClass["Swords"] = "Butcher"; localExpertiseClass["AssaultRifles"] = "Butcher"; localExpertiseClass["Axes"] = "Soldier"; localExpertiseClass["MachineGuns"] = "Soldier"; localExpertiseClass["Batons"] = "Technogeek"; localExpertiseClass["Revolvers"] = "Technogeek"; localExpertiseClass["DeployableTurrets"] = "Technogeek"; localExpertiseClass["Knuckles"] = "Madman"; localExpertiseClass["SubmachineGuns"] = "Madman"; //localExpertiseClass["Explosives"] = "Madman"; localExpertiseClass["Hammers"] = "Builder"; localExpertiseClass["Pistols"] = "Builder"; localExpertiseClass["ElectricTraps"] = "Builder"; localExpertiseClass["Knives"] = "Chef"; localExpertiseClass["HeavyHandguns"] = "Chef"; localExpertiseClass["Scythes"] = "WitchDoctor"; localExpertiseClass["TacticalRifles"] = "WitchDoctor"; localExpertiseClass["BlackMagic"] = "WitchDoctor"; localExpertiseClass["Melee"] = "Berserker"; localExpertiseClass["Rage"] = "Berserker"; localExpertiseLevelWithClass["WitchDoctor"] = "BlackMagic"; localExpertiseLevelWithClass["WitchDoctor"] = "BlackMagic"; localExpertiseLevelWithClass["Builder"] = "ElectricTraps"; localExpertiseTier["Spears"] = 1; localExpertiseTier["Bows"] = 2; localExpertiseTier["LongRangeRifles"] = 3; localExpertiseTier["Clubs"] = 1; localExpertiseTier["Shotguns"] = 2; localExpertiseTier["Swords"] = 1; localExpertiseTier["AssaultRifles"] = 2; localExpertiseTier["Axes"] = 1; localExpertiseTier["MachineGuns"] = 2; localExpertiseTier["Batons"] = 1; localExpertiseTier["Revolvers"] = 2; localExpertiseTier["DeployableTurrets"] = 3; localExpertiseTier["Knuckles"] = 1; localExpertiseTier["SubmachineGuns"] = 2; //localExpertiseTier["Explosives"] = 3; localExpertiseTier["Hammers"] = 1; localExpertiseTier["Pistols"] = 2; localExpertiseTier["ElectricTraps"] = 3; localExpertiseTier["Knives"] = 1; localExpertiseTier["HeavyHandguns"] = 2; localExpertiseTier["Scythes"] = 1; localExpertiseTier["TacticalRifles"] = 2; localExpertiseTier["BlackMagic"] = 3; localExpertiseTier["Melee"] = 1; localExpertiseTier["Rage"] = 2; localClassPerk["Hunter"] = new List{ new classPerk("FuriousRamsayPerkHunterArrowRainAura", new List{ new perkLevels(1, 1), new perkLevels(2, 2), new perkLevels(3, 3), new perkLevels(4, 4), new perkLevels(5, 5), new perkLevels(6, 6), new perkLevels(7, 7), new perkLevels(8, 8), new perkLevels(9, 9), new perkLevels(10, 10) }), new classPerk("perkFromTheShadows", new List{ new perkLevels(2, 1), new perkLevels(4, 2), new perkLevels(6, 3), new perkLevels(8, 4), new perkLevels(10, 5) }), new classPerk("perkHiddenStrike", new List{ new perkLevels(2, 1), new perkLevels(4, 2), new perkLevels(6, 3), new perkLevels(8, 4), new perkLevels(10, 5) }), new classPerk("perkInfiltrator", new List{ new perkLevels(3, 1), new perkLevels(6, 2), new perkLevels(9, 3), }), new classPerk("perkAnimalTracker", new List{ new perkLevels(3, 1), new perkLevels(5, 2), new perkLevels(7, 3), }) }; localClassPerk["Thug"] = new List{ new classPerk("FuriousRamsayPerkThugRangedStunAura", new List{ new perkLevels(1, 1), new perkLevels(2, 2), new perkLevels(3, 3), new perkLevels(4, 4), new perkLevels(5, 5), new perkLevels(6, 6), new perkLevels(7, 7), new perkLevels(8, 8), new perkLevels(9, 9), new perkLevels(10, 10) }) }; localClassPerk["Butcher"] = new List{ new classPerk("FuriousRamsayPerkButcherRangedBleedAura", new List{ new perkLevels(1, 1), new perkLevels(2, 2), new perkLevels(3, 3), new perkLevels(4, 4), new perkLevels(5, 5), new perkLevels(6, 6), new perkLevels(7, 7), new perkLevels(8, 8), new perkLevels(9, 9), new perkLevels(10, 10) }), new classPerk("perkPainTolerance", new List{ new perkLevels(1, 1), new perkLevels(2, 2), new perkLevels(3, 3), new perkLevels(4, 4), new perkLevels(5, 5), new perkLevels(6, 6), new perkLevels(7, 7), new perkLevels(8, 8), new perkLevels(9, 9), new perkLevels(10, 10) }) }; localClassPerk["Soldier"] = new List{ new classPerk("FuriousRamsayPerkSoldierRangedDoubleDamageAura", new List{ new perkLevels(1, 1), new perkLevels(2, 2), new perkLevels(3, 3), new perkLevels(4, 4), new perkLevels(5, 5), new perkLevels(6, 6), new perkLevels(7, 7), new perkLevels(8, 8), new perkLevels(9, 9), new perkLevels(10, 10) }) }; localClassPerk["Technogeek"] = new List{ new classPerk("FuriousRamsayPerkTechnogeekRangedShockAura", new List{ new perkLevels(1, 1), new perkLevels(2, 2), new perkLevels(3, 3), new perkLevels(4, 4), new perkLevels(5, 5), new perkLevels(6, 6), new perkLevels(7, 7), new perkLevels(8, 8), new perkLevels(9, 9), new perkLevels(10, 10) }), new classPerk("perkSalvageOperations", new List{ new perkLevels(1, 1), new perkLevels(2, 2), new perkLevels(3, 3), new perkLevels(4, 4), new perkLevels(5, 5), new perkLevels(6, 6), new perkLevels(7, 7), new perkLevels(8, 8), new perkLevels(9, 9), new perkLevels(10, 10) }) }; localClassPerk["Madman"] = new List{ new classPerk("FuriousRamsayPerkMadmanRangedExplosionAura", new List{ new perkLevels(1, 1), new perkLevels(2, 2), new perkLevels(3, 3), new perkLevels(4, 4), new perkLevels(5, 5), new perkLevels(6, 6), new perkLevels(7, 7), new perkLevels(8, 8), new perkLevels(9, 9), new perkLevels(10, 10) }), new classPerk("perkFlurryOfBlows", new List{ new perkLevels(1, 1), new perkLevels(2, 2), new perkLevels(3, 3), new perkLevels(4, 4), new perkLevels(5, 5), new perkLevels(6, 6), new perkLevels(7, 7), new perkLevels(8, 8), new perkLevels(9, 9), new perkLevels(10, 10) }) }; localClassPerk["Builder"] = new List{ new classPerk("FuriousRamsayPerkElectricTraps", new List{ new perkLevels(1, 1), new perkLevels(2, 2), new perkLevels(3, 3), new perkLevels(4, 4), new perkLevels(5, 5), new perkLevels(6, 6), new perkLevels(7, 7), new perkLevels(8, 8), new perkLevels(9, 9), new perkLevels(10, 10) }), new classPerk("FuriousRamsayPerkBuilderRangedDismemberAura", new List{ new perkLevels(1, 1), new perkLevels(2, 2), new perkLevels(3, 3), new perkLevels(4, 4), new perkLevels(5, 5), new perkLevels(6, 6), new perkLevels(7, 7), new perkLevels(8, 8), new perkLevels(9, 9), new perkLevels(10, 10) }), new classPerk("perkPenetrator", new List{ new perkLevels(1, 1), new perkLevels(2, 2), new perkLevels(3, 3), new perkLevels(4, 4), new perkLevels(5, 5), new perkLevels(6, 6), new perkLevels(7, 7), new perkLevels(8, 8), new perkLevels(9, 9), new perkLevels(10, 10) }), new classPerk("perkWellInsulated", new List{ new perkLevels(1, 1), new perkLevels(2, 2), new perkLevels(3, 3), }) }; localClassPerk["Chef"] = new List{ new classPerk("perkTheHuntsman", new List{ new perkLevels(1, 1), new perkLevels(3, 2), new perkLevels(5, 3), new perkLevels(7, 4), new perkLevels(10, 5) }), new classPerk("FuriousRamsayPerkChefRangedSlashesAura", new List{ new perkLevels(1, 1), new perkLevels(2, 2), new perkLevels(3, 3), new perkLevels(4, 4), new perkLevels(5, 5), new perkLevels(6, 6), new perkLevels(7, 7), new perkLevels(8, 8), new perkLevels(9, 9), new perkLevels(10, 10) }), new classPerk("perkLivingOffTheLand", new List{ new perkLevels(3, 1), new perkLevels(6, 2), new perkLevels(9, 3) }) }; localClassPerk["WitchDoctor"] = new List{ new classPerk("FuriousRamsayPerkBlackMagic", new List{ new perkLevels(1, 1), new perkLevels(2, 2), new perkLevels(3, 3), new perkLevels(4, 4), new perkLevels(5, 5), new perkLevels(6, 6), new perkLevels(7, 7), new perkLevels(8, 8), new perkLevels(9, 9), new perkLevels(10, 10) }) }; localClassPerk["Berserker"] = new List{ new classPerk("FuriousRamsayPerkRage", new List{ new perkLevels(1, 1), new perkLevels(2, 2), new perkLevels(3, 3), new perkLevels(4, 4), new perkLevels(5, 5), new perkLevels(6, 6), new perkLevels(7, 7), new perkLevels(8, 8), new perkLevels(9, 9), new perkLevels(10, 10), new perkLevels(11, 11), new perkLevels(12, 12), new perkLevels(13, 13), new perkLevels(14, 14), new perkLevels(15, 15) }) }; localVariables["$varFuriousRamsayAchievementHuntingExp"] = 0f; localVariables["$varFuriousRamsayAchievementChargedAssaultExp"] = 0f; localVariables["$varFuriousRamsayAchievementCropsExp"] = 0f; localVariables["$varFuriousRamsayAchievementFarmerTraderExp"] = 0f; localVariables["$varFuriousRamsayAchievementHandymanTraderExp"] = 0f; localVariables["$varFuriousRamsayAchievementBlackShieldTraderExp"] = 0f; localVariables["$varFuriousRamsayAchievementAgilityAuraExp"] = 0f; localVariables["$varFuriousRamsayAchievementArmorPenetrationAuraExp"] = 0f; localVariables["$varFuriousRamsayAchievementAttackSpeedAuraExp"] = 0f; localVariables["$varFuriousRamsayAchievementBlockDamageAuraExp"] = 0f; localVariables["$varFuriousRamsayAchievementFireRateAuraExp"] = 0f; localVariables["$varFuriousRamsayAchievementFortuityAuraExp"] = 0f; localVariables["$varFuriousRamsayAchievementHealingAuraExp"] = 0f; localVariables["$varFuriousRamsayAchievementMobilityAuraExp"] = 0f; localVariables["$varFuriousRamsayAchievementPierceAuraExp"] = 0f; localVariables["$varFuriousRamsayAchievementPreservationAuraExp"] = 0f; localVariables["$varFuriousRamsayAchievementShadowAuraExp"] = 0f; localVariables["$varFuriousRamsayAchievementStabilityAuraExp"] = 0f; localVariables["$varFuriousRamsayAchievementStaminaAuraExp"] = 0f; localVariables["$varFuriousRamsayAchievementTradeAuraExp"] = 0f; localVariables["$varFuriousRamsayAchievementVitalityAuraExp"] = 0f; localVariables["$varFuriousRamsayStrengthPercUnit"] = 0f; localVariables["$varFuriousRamsayDexterityPercUnit"] = 0f; localVariables["$varFuriousRamsayConstitutionPercUnit"] = 0f; localVariables["$varFuriousRamsayIntelligencePercUnit"] = 0f; localVariables["$varFuriousRamsayCharismaPercUnit"] = 0f; localVariables["$varFuriousRamsaySalvageToolsPercUnit"] = 0f; localVariables["$varFuriousRamsaySalvageVehiclesPercUnit"] = 0f; localVariables["$varFuriousRamsayMinePercUnit"] = 0f; localVariables["$varFuriousRamsayDigPercUnit"] = 0f; localVariables["$varFuriousRamsayChopPercUnit"] = 0f; localVariables["$varFuriousRamsayHunterPercUnit"] = 1f; localVariables["$varFuriousRamsayThugPercUnit"] = 1f; localVariables["$varFuriousRamsayButcherPercUnit"] = 1f; localVariables["$varFuriousRamsaySoldierPercUnit"] = 1f; localVariables["$varFuriousRamsayTechnogeekPercUnit"] = 1f; localVariables["$varFuriousRamsayMadmanPercUnit"] = 1f; localVariables["$varFuriousRamsayBuilderPercUnit"] = 1f; localVariables["$varFuriousRamsayChefPercUnit"] = 1f; localVariables["$varFuriousRamsayWitchDoctorPercUnit"] = 1f; localVariables["$varFuriousRamsayBerserkerPercUnit"] = 1f; localVariables["$varFuriousRamsaySpearsPercUnit"] = 0f; localVariables["$varFuriousRamsayBowsPercUnit"] = 0f; localVariables["$varFuriousRamsayLongRangeRiflesPercUnit"] = 0f; localVariables["$varFuriousRamsayClubsPercUnit"] = 0f; localVariables["$varFuriousRamsayShotgunsPercUnit"] = 0f; localVariables["$varFuriousRamsaySwordsPercUnit"] = 0f; localVariables["$varFuriousRamsayAssaultRiflesPercUnit"] = 0f; localVariables["$varFuriousRamsayAxesPercUnit"] = 0f; localVariables["$varFuriousRamsayMachineGunsPercUnit"] = 0f; localVariables["$varFuriousRamsayBatonsPercUnit"] = 0f; localVariables["$varFuriousRamsayRevolversPercUnit"] = 0f; localVariables["$varFuriousRamsayDeployableTurretsPercUnit"] = 0f; localVariables["$varFuriousRamsayKnucklesPercUnit"] = 0f; //localVariables["$varFuriousRamsayExplosivesPercUnit"] = 0f; localVariables["$varFuriousRamsaySubmachineGunsPercUnit"] = 0f; localVariables["$varFuriousRamsayHammersPercUnit"] = 0f; localVariables["$varFuriousRamsayPistolsPercUnit"] = 0f; localVariables["$varFuriousRamsayElectricTrapsPercUnit"] = 0f; localVariables["$varFuriousRamsayKnivesPercUnit"] = 0f; localVariables["$varFuriousRamsayHeavyHandgunsPercUnit"] = 0f; localVariables["$varFuriousRamsayScythesPercUnit"] = 0f; localVariables["$varFuriousRamsayTacticalRiflesPercUnit"] = 0f; localVariables["$varFuriousRamsayBlackMagicPercUnit"] = 0f; localVariables["$varFuriousRamsayMeleePercUnit"] = 0f; localVariables["$varFuriousRamsayRagePercUnit"] = 0f; localVariables["$varFuriousRamsayPipeRiflePercUnit"] = 0f; localVariables["$varFuriousRamsayPipeShotgunPercUnit"] = 0f; localVariables["$varFuriousRamsayPipePistolPercUnit"] = 0f; localVariables["$varFuriousRamsayPipeMachinegunPercUnit"] = 0f; // RAMPAGE localConstants["$varFuriousRamsayRampageMax_Cst"] = 0f; // MISERY localConstants["$varFuriousRamsayTheyGrowStrongerKills_Cst"] = 0f; localConstants["$varFuriousRamsayNaturalSelection01_Cst"] = 500f; localConstants["$varFuriousRamsayNaturalSelection02_Cst"] = 1250f; localConstants["$varFuriousRamsayNaturalSelection03_Cst"] = 2000f; localConstants["$varFuriousRamsayNaturalSelection04_Cst"] = 3500f; localConstants["$varFuriousRamsayNaturalSelection05_Cst"] = 6000f; localConstants["$varFuriousRamsayNaturalSelection06_Cst"] = 9000f; localConstants["$varFuriousRamsayNaturalSelection07_Cst"] = 13500f; localConstants["$varFuriousRamsayNaturalSelection08_Cst"] = 18000f; localConstants["$varFuriousRamsayNaturalSelection09_Cst"] = 25000f; localConstants["$varFuriousRamsayNaturalSelection10_Cst"] = 35000f; localConstants["$varFuriousRamsayAscension01_Cst"] = 10f; localConstants["$varFuriousRamsayAscension02_Cst"] = 20f; localConstants["$varFuriousRamsayAscension03_Cst"] = 30f; localConstants["$varFuriousRamsayAscension04_Cst"] = 40f; localConstants["$varFuriousRamsayAscension05_Cst"] = 50f; localConstants["$varFuriousRamsayAscension06_Cst"] = 60f; localConstants["$varFuriousRamsayAscension07_Cst"] = 70f; localConstants["$varFuriousRamsayAscension08_Cst"] = 80f; localConstants["$varFuriousRamsayAscension09_Cst"] = 90f; localConstants["$varFuriousRamsayAscension10_Cst"] = 100f; localConstants["$varFuriousRamsayRebirth01_Cst"] = 15f; localConstants["$varFuriousRamsayRebirth02_Cst"] = 30f; localConstants["$varFuriousRamsayRebirth03_Cst"] = 45f; localConstants["$varFuriousRamsayRebirth04_Cst"] = 60f; localConstants["$varFuriousRamsayRebirth05_Cst"] = 75f; localConstants["$varFuriousRamsayRebirth06_Cst"] = 90f; localConstants["$varFuriousRamsayRebirth07_Cst"] = 105f; localConstants["$varFuriousRamsayRebirth08_Cst"] = 120f; localConstants["$varFuriousRamsayRebirth09_Cst"] = 135f; localConstants["$varFuriousRamsayRebirth10_Cst"] = 150f; // GLOBAL ACHIEVEMENTS localConstants["$varFuriousRamsayAchievementHuntingExpLvl1_Cst"] = 25f; localConstants["$varFuriousRamsayAchievementHuntingExpLvl2_Cst"] = 75f; localConstants["$varFuriousRamsayAchievementHuntingExpLvl3_Cst"] = 150f; localConstants["$varFuriousRamsayAchievementHuntingExpLvl4_Cst"] = 300f; localConstants["$varFuriousRamsayAchievementHuntingExpLvl5_Cst"] = 600f; localConstants["$varFuriousRamsayAchievementCropsExpLvl1_Cst"] = 100f; localConstants["$varFuriousRamsayAchievementCropsExpLvl2_Cst"] = 300f; localConstants["$varFuriousRamsayAchievementCropsExpLvl3_Cst"] = 600f; localConstants["$varFuriousRamsayAchievementFarmerTraderExpLvl1_Cst"] = 50f; localConstants["$varFuriousRamsayAchievementHandymanTraderExpLvl1_Cst"] = 100f; localConstants["$varFuriousRamsayAchievementBlackShieldTraderExpLvl1_Cst"] = 150f; localConstants["$varFuriousRamsayAchievementHealingAuraExpLvl1_Cst"] = 35f; localConstants["$varFuriousRamsayAchievementHealingAuraExpLvl2_Cst"] = 90f; localConstants["$varFuriousRamsayAchievementHealingAuraExpLvl3_Cst"] = 165f; localConstants["$varFuriousRamsayAchievementStaminaAuraExpLvl1_Cst"] = 35f; localConstants["$varFuriousRamsayAchievementStaminaAuraExpLvl2_Cst"] = 90f; localConstants["$varFuriousRamsayAchievementStaminaAuraExpLvl3_Cst"] = 165f; localConstants["$varFuriousRamsayAchievementMobilityAuraExpLvl1_Cst"] = 35f; localConstants["$varFuriousRamsayAchievementMobilityAuraExpLvl2_Cst"] = 90f; localConstants["$varFuriousRamsayAchievementMobilityAuraExpLvl3_Cst"] = 165f; localConstants["$varFuriousRamsayAchievementArmorPenetrationAuraExpLvl1_Cst"] = 35f; localConstants["$varFuriousRamsayAchievementArmorPenetrationAuraExpLvl2_Cst"] = 90f; localConstants["$varFuriousRamsayAchievementArmorPenetrationAuraExpLvl3_Cst"] = 165f; localConstants["$varFuriousRamsayAchievementBlockDamageAuraExpLvl1_Cst"] = 35f; localConstants["$varFuriousRamsayAchievementBlockDamageAuraExpLvl2_Cst"] = 90f; localConstants["$varFuriousRamsayAchievementBlockDamageAuraExpLvl3_Cst"] = 165f; localConstants["$varFuriousRamsayAchievementFireRateAuraExpLvl1_Cst"] = 35f; localConstants["$varFuriousRamsayAchievementFireRateAuraExpLvl2_Cst"] = 90f; localConstants["$varFuriousRamsayAchievementFireRateAuraExpLvl3_Cst"] = 165f; localConstants["$varFuriousRamsayAchievementAttackSpeedAuraExpLvl1_Cst"] = 35f; localConstants["$varFuriousRamsayAchievementAttackSpeedAuraExpLvl2_Cst"] = 90f; localConstants["$varFuriousRamsayAchievementAttackSpeedAuraExpLvl3_Cst"] = 165f; localConstants["$varFuriousRamsayAchievementShadowAuraExpLvl1_Cst"] = 35f; localConstants["$varFuriousRamsayAchievementShadowAuraExpLvl2_Cst"] = 90f; localConstants["$varFuriousRamsayAchievementShadowAuraExpLvl3_Cst"] = 165f; localConstants["$varFuriousRamsayAchievementVitalityAuraExpLvl1_Cst"] = 35f; localConstants["$varFuriousRamsayAchievementVitalityAuraExpLvl2_Cst"] = 90f; localConstants["$varFuriousRamsayAchievementVitalityAuraExpLvl3_Cst"] = 165f; localConstants["$varFuriousRamsayAchievementAgilityAuraExpLvl1_Cst"] = 35f; localConstants["$varFuriousRamsayAchievementAgilityAuraExpLvl2_Cst"] = 90f; localConstants["$varFuriousRamsayAchievementAgilityAuraExpLvl3_Cst"] = 165f; localConstants["$varFuriousRamsayAchievementPierceAuraExpLvl1_Cst"] = 35f; localConstants["$varFuriousRamsayAchievementPierceAuraExpLvl2_Cst"] = 90f; localConstants["$varFuriousRamsayAchievementPierceAuraExpLvl3_Cst"] = 165f; localConstants["$varFuriousRamsayAchievementTradeAuraExpLvl1_Cst"] = 35f; localConstants["$varFuriousRamsayAchievementTradeAuraExpLvl2_Cst"] = 90f; localConstants["$varFuriousRamsayAchievementTradeAuraExpLvl3_Cst"] = 165f; localConstants["$varFuriousRamsayAchievementPreservationAuraExpLvl1_Cst"] = 35f; localConstants["$varFuriousRamsayAchievementPreservationAuraExpLvl2_Cst"] = 90f; localConstants["$varFuriousRamsayAchievementPreservationAuraExpLvl3_Cst"] = 165f; localConstants["$varFuriousRamsayAchievementFortuityAuraExpLvl1_Cst"] = 35f; localConstants["$varFuriousRamsayAchievementFortuityAuraExpLvl2_Cst"] = 90f; localConstants["$varFuriousRamsayAchievementFortuityAuraExpLvl3_Cst"] = 165f; localConstants["$varFuriousRamsayAchievementStabilityAuraExpLvl1_Cst"] = 35f; localConstants["$varFuriousRamsayAchievementStabilityAuraExpLvl2_Cst"] = 90f; localConstants["$varFuriousRamsayAchievementStabilityAuraExpLvl3_Cst"] = 165f; // CLASS ACHIEVEMENTS localConstants["$varFuriousRamsayAchievementChargedAssaultExpLvl1_Cst"] = 40f; localConstants["$varFuriousRamsayAchievementChargedAssaultExpLvl2_Cst"] = 100f; localConstants["$varFuriousRamsayAchievementChargedAssaultExpLvl3_Cst"] = 200f; localConstants["$varFuriousRamsayAchievementChargedAssaultExpLvl4_Cst"] = 400f; localConstants["$varFuriousRamsayAchievementChargedAssaultExpLvl5_Cst"] = 700f; // MULTIPLIERS localConstants["$varFuriousRamsayExperienceDamageBodyMultiplier_Cst"] = 0.05f; localConstants["$varFuriousRamsayExperienceKillBodyMultiplier_Cst"] = 1f; //localConstants["$varFuriousRamsayExperienceDamageHeadMultiplier_Cst"] = 0.1f; //localConstants["$varFuriousRamsayExperienceKillHeadMultiplier_Cst"] = 2f; localConstants["$varFuriousRamsayExperienceDamageHeadMultiplier_Cst"] = 0.075f; localConstants["$varFuriousRamsayExperienceKillHeadMultiplier_Cst"] = 1.25f; // HUD localConstants["$varFuriousRamsayHNHeadShots_Cst"] = 0f; localConstants["$varFuriousRamsayHNKills_Cst"] = 0f; localConstants["$varFuriousRamsayClassPercUnit"] = 0f; localConstants["$varFuriousRamsayActionInProgress"] = 0f; localConstants["$restrictNumHires"] = 0f; localConstants["$varFuriousRamsayPerk1PercUnit"] = 0f; localConstants["$varFuriousRamsayPerk2PercUnit"] = 0f; localConstants["$varFuriousRamsayPerk3PercUnit"] = 0f; // GENETICS localConstants["$varFuriousRamsayStrengthUnitPercIncrease_Cst"] = 0.1f; localConstants["$varFuriousRamsayDexterityUnitPercIncrease_Cst"] = 0.1f; localConstants["$varFuriousRamsayConstitutionUnitPercIncrease_Cst"] = 0.1f; localConstants["$varFuriousRamsayIntelligenceUnitPercIncrease_Cst"] = 0.1f; localConstants["$varFuriousRamsayCharismaUnitPercIncrease_Cst"] = 0.1f; // CLASSES localConstants["$varFuriousRamsayClassUnitPercIncrease_Cst"] = 0.01f; // PLAYER LEVEL TIERS localConstants["$varFuriousRamsayPlayerLevelTier1_Cst"] = 25f; localConstants["$varFuriousRamsayPlayerLevelTier2_Cst"] = 50f; localConstants["$varFuriousRamsayPlayerLevelTier3_Cst"] = 75f; localConstants["$varFuriousRamsayPlayerLevelTier4_Cst"] = 100f; // CROSSHAIR HUD localConstants["$varFuriousRamsayCrossHairHUDHealthThreshold_Cst"] = 0.6f; localConstants["$varFuriousRamsayCrossHairHUDStaminaThreshold_Cst"] = 0.8f; localConstants["$varFuriousRamsayCrossHairHUDWaterThreshold_Cst"] = 0.6f; localConstants["$varFuriousRamsayCrossHairHUDFoodThreshold_Cst"] = 0.5f; // EXPERIENCE MULTIPLIERS localConstants["$varFuriousRamsayClassMultiplierConfig_Cst"] = 0.75f; localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"] = 4.5f; // STRENGTH localConstants["$varFuriousRamsayIncreaseStrengthTier1_Cst"] = 0.02f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseStrengthTier2_Cst"] = 0.02f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseStrengthTier3_Cst"] = 0.02f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseStrengthTier4_Cst"] = 0.02f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseStrengthTier5_Cst"] = 0.02f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseStrengthTier6_Cst"] = 0.02f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; // DEXTERITY localConstants["$varFuriousRamsayIncreaseDexterityTier1_Cst"] = 0.02f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseDexterityTier2_Cst"] = 0.02f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseDexterityTier3_Cst"] = 0.02f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseDexterityTier4_Cst"] = 0.02f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseDexterityTier5_Cst"] = 0.02f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseDexterityTier6_Cst"] = 0.02f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; // CONSTITUTION localConstants["$varFuriousRamsayIncreaseConstitutionTier1_Cst"] = 0.02f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseConstitutionTier2_Cst"] = 0.02f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseConstitutionTier3_Cst"] = 0.02f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseConstitutionTier4_Cst"] = 0.02f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseConstitutionTier5_Cst"] = 0.02f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseConstitutionTier6_Cst"] = 0.02f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; // INTELLIGENCE localConstants["$varFuriousRamsayIncreaseIntelligenceTier1_Cst"] = 0.01f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseIntelligenceTier2_Cst"] = 0.0125f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseIntelligenceTier3_Cst"] = 0.015f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseIntelligenceTier4_Cst"] = 0.0175f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseIntelligenceTier5_Cst"] = 0.02f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseIntelligenceTier6_Cst"] = 0.0225f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; // CHARISMA localConstants["$varFuriousRamsayIncreaseCharismaTier1_Cst"] = 0.01f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseCharismaTier2_Cst"] = 0.02f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseCharismaTier3_Cst"] = 0.03f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseCharismaTier4_Cst"] = 0.04f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseCharismaTier5_Cst"] = 0.05f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseCharismaTier6_Cst"] = 0.06f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; // EXCEPTION localConstants["ExceptionPipeMachineGun"] = 650f; localConstants["ExceptionPipePistol"] = 350f; // PIPE RIFLES localConstants["$varFuriousRamsayPipeRifleIncrement_Cst"] = 275f; //localConstants["$varFuriousRamsayPipeRifleMultiplier_Cst"] = 0.65f; localConstants["$varFuriousRamsayPipeRifleMultiplier_Cst"] = 0.87f; localConstants["$varFuriousRamsayPipeShotgunIncrement_Cst"] = 200f; //localConstants["$varFuriousRamsayPipeShotgunMultiplier_Cst"] = 0.52f; localConstants["$varFuriousRamsayPipeShotgunMultiplier_Cst"] = 0.69f; localConstants["$varFuriousRamsayPipePistolIncrement_Cst"] = 220; //localConstants["$varFuriousRamsayPipePistolMultiplier_Cst"] = 0.625f; localConstants["$varFuriousRamsayPipePistolMultiplier_Cst"] = 0.83f; localConstants["$varFuriousRamsayPipeMachinegunIncrement_Cst"] = 415f; //localConstants["$varFuriousRamsayPipeMachinegunMultiplier_Cst"] = 1.08f; localConstants["$varFuriousRamsayPipeMachinegunMultiplier_Cst"] = 1.44f; // HUNTER localConstants["$varFuriousRamsayHunterIncrement_Cst"] = 100f; localConstants["$varFuriousRamsaySpearsIncrement_Cst"] = 500f; localConstants["$varFuriousRamsayBowsIncrement_Cst"] = 175f; localConstants["$varFuriousRamsayLongRangeRiflesIncrement_Cst"] = 275f; localConstants["$varFuriousRamsaySpearsMultiplier_Cst"] = 2.5f; localConstants["$varFuriousRamsayBowsMultiplier_Cst"] = 2f; localConstants["$varFuriousRamsayLongRangeRiflesMultiplier_Cst"] = 1.75f; // THUG localConstants["varFuriousRamsayThugIncrement_Cst"] = 100f; localConstants["$varFuriousRamsayClubsIncrement_Cst"] = 500f; localConstants["$varFuriousRamsayShotgunsIncrement_Cst"] = 500f; localConstants["$varFuriousRamsayClubsMultiplier_Cst"] = 2.5f; localConstants["$varFuriousRamsayShotgunsMultiplier_Cst"] = 2.5f; // BUTCHER localConstants["varFuriousRamsayButcherIncrement_Cst"] = 100f; localConstants["$varFuriousRamsaySwordsIncrement_Cst"] = 400f; localConstants["$varFuriousRamsayAssaultRiflesIncrement_Cst"] = 650f; localConstants["$varFuriousRamsaySwordsMultiplier_Cst"] = 1.75f; localConstants["$varFuriousRamsayAssaultRiflesMultiplier_Cst"] = 2.5f; // SOLDIER localConstants["varFuriousRamsaySoldierIncrement_Cst"] = 100f; localConstants["$varFuriousRamsayAxesIncrement_Cst"] = 550f; localConstants["$varFuriousRamsayMachineGunsIncrement_Cst"] = 800f; localConstants["$varFuriousRamsayAxesMultiplier_Cst"] = 2.5f; localConstants["$varFuriousRamsayMachineGunsMultiplier_Cst"] = 2.5f; // TECHNOGEEK localConstants["varFuriousRamsayTechnogeekIncrement_Cst"] = 100f; localConstants["$varFuriousRamsayBatonsIncrement_Cst"] = 475f; localConstants["$varFuriousRamsayRevolversIncrement_Cst"] = 450f; localConstants["$varFuriousRamsayDeployableTurretsIncrement_Cst"] = 400f; localConstants["$varFuriousRamsayBatonsMultiplier_Cst"] = 2.5f; localConstants["$varFuriousRamsayRevolversMultiplier_Cst"] = 2.5f; localConstants["$varFuriousRamsayDeployableTurretsMultiplier_Cst"] = 2.5f; // MADMAN localConstants["varFuriousRamsayMadmanIncrement_Cst"] = 100f; localConstants["$varFuriousRamsayKnucklesIncrement_Cst"] = 700f; localConstants["$varFuriousRamsayExplosivesIncrement_Cst"] = 400f; localConstants["$varFuriousRamsaySubmachineGunsIncrement_Cst"] = 800f; localConstants["$varFuriousRamsayKnucklesMultiplier_Cst"] = 2.5f; localConstants["$varFuriousRamsayExplosivesMultiplier_Cst"] = 2.5f; localConstants["$varFuriousRamsaySubmachineGunsMultiplier_Cst"] = 2.5f; // BUILDER localConstants["varFuriousRamsayBuilderIncrement_Cst"] = 100f; localConstants["$varFuriousRamsayHammersIncrement_Cst"] = 400f; localConstants["$varFuriousRamsayPistolsIncrement_Cst"] = 550f; localConstants["$varFuriousRamsayElectricTrapsIncrement_Cst"] = 999f; localConstants["$varFuriousRamsayHammersMultiplier_Cst"] = 2.5f; localConstants["$varFuriousRamsayPistolsMultiplier_Cst"] = 2.5f; localConstants["$varFuriousRamsayElectricTrapsMultiplier_Cst"] = 2.5f; // CHEF localConstants["varFuriousRamsayChefIncrement_Cst"] = 100f; localConstants["$varFuriousRamsayKnivesIncrement_Cst"] = 500f; localConstants["$varFuriousRamsayHeavyHandgunsIncrement_Cst"] = 450f; localConstants["$varFuriousRamsayKnivesMultiplier_Cst"] = 2.5f; localConstants["$varFuriousRamsayHeavyHandgunsMultiplier_Cst"] = 2.5f; // WITCH DOCTOR localConstants["varFuriousRamsayWitchDoctorIncrement_Cst"] = 100f; localConstants["$varFuriousRamsayScythesIncrement_Cst"] = 400f; localConstants["$varFuriousRamsayTacticalRiflesIncrement_Cst"] = 650f; localConstants["$varFuriousRamsayBlackMagicIncrement_Cst"] = 999f; localConstants["$varFuriousRamsayScythesMultiplier_Cst"] = 2.5f; localConstants["$varFuriousRamsayTacticalRiflesMultiplier_Cst"] = 2.5f; localConstants["$varFuriousRamsayBlackMagicMultiplier_Cst"] = 2.5f; // BERSERKER localConstants["varFuriousRamsayBerserkerIncrement_Cst"] = 100f; localConstants["$varFuriousRamsayMeleeIncrement_Cst"] = 400f; localConstants["$varFuriousRamsayMeleeMultiplier_Cst"] = 2.5f; localConstants["$varFuriousRamsayRageMultiplier_Cst"] = 2.5f; localConstants["$varFuriousRamsayIncreaseIntelligenceReadSchematic"] = 0.0020f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseSalvageVehiclesReadMagazine"] = 0.015f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; // LBD TIER 1 localConstants["$varFuriousRamsayIncreaseFightingStrengthTier1"] = 0.00066f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseFightingDexterityTier1"] = 0.0003f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseFightingConstitutionTier1"] = 0.0003f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseFightingIntelligenceTier1"] = 0.0006f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseFightingCharismaTier1"] = 0.0002f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseStrengthBreakingOreTier1"] = 0.0000002f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseStrengthDiggingTier1"] = 0.0000002f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseCutTreesTier1"] = 0.0000002f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsaySalvageTier1"] = 0.0000002f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseLootedTier1"] = 0.000018f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseReceivedDamageTier1"] = 0.0005f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseUseDrugsLowTier1"] = 0.0005f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseUseDrugsMediumTier1"] = 0.002f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseUseDrugsHighTier1"] = 0.004f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseMobilityTier1"] = 0.0001f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; // LBD TIER 2 localConstants["$varFuriousRamsayIncreaseFightingStrengthTier2"] = 0.0006325f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseFightingDexterityTier2"] = 0.000275f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseFightingConstitutionTier2"] = 0.000275f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseFightingIntelligenceTier2"] = 0.000575f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseFightingCharismaTier2"] = 0.000175f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseStrengthBreakingOreTier2"] = 0.00000018f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseStrengthDiggingTier2"] = 0.00000018f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseCutTreesTier2"] = 0.00000018f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsaySalvageTier2"] = 0.00000018f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseLootedTier2"] = 0.000014f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseReceivedDamageTier2"] = 0.0004f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseUseDrugsLowTier2"] = 0.001f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseUseDrugsMediumTier2"] = 0.0075f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseUseDrugsHighTier2"] = 0.01f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseMobilityTier2"] = 0.00008f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; // LBD TIER 3 localConstants["$varFuriousRamsayIncreaseFightingStrengthTier3"] = 0.000605f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseFightingDexterityTier3"] = 0.00025f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseFightingConstitutionTier3"] = 0.00025f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseFightingIntelligenceTier3"] = 0.00055f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseFightingCharismaTier3"] = 0.00015f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseStrengthBreakingOreTier3"] = 0.00000016f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseStrengthDiggingTier3"] = 0.00000016f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseCutTreesTier3"] = 0.00000016f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsaySalvageTier3"] = 0.00000016f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseLootedTier3"] = 0.00001f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseReceivedDamageTier3"] = 0.0003f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseUseDrugsLowTier3"] = 0.001f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseUseDrugsMediumTier3"] = 0.0075f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseUseDrugsHighTier3"] = 0.01f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseMobilityTier3"] = 0.00006f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; // LBD TIER 4 localConstants["$varFuriousRamsayIncreaseFightingStrengthTier4"] = 0.0005775f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseFightingDexterityTier4"] = 0.000225f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseFightingConstitutionTier4"] = 0.000225f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseFightingIntelligenceTier4"] = 0.000525f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseFightingCharismaTier4"] = 0.000125f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseStrengthBreakingOreTier4"] = 0.00000014f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseStrengthDiggingTier4"] = 0.00000014f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseCutTreesTier4"] = 0.00000014f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsaySalvageTier4"] = 0.00000014f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseLootedTier4"] = 0.000008f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseReceivedDamageTier4"] = 0.0002f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseUseDrugsLowTier4"] = 0.001f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseUseDrugsMediumTier4"] = 0.0075f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseUseDrugsHighTier4"] = 0.01f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseMobilityTier4"] = 0.00004f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; // LBD TIER 5 localConstants["$varFuriousRamsayIncreaseFightingStrengthTier5"] = 0.00055f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseFightingDexterityTier5"] = 0.0002f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseFightingConstitutionTier5"] = 0.0002f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseFightingIntelligenceTier5"] = 0.0005f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseFightingCharismaTier5"] = 0.0001f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseStrengthBreakingOreTier5"] = 0.00000012f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseStrengthDiggingTier5"] = 0.00000012f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseCutTreesTier5"] = 0.00000012f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsaySalvageTier5"] = 0.00000012f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseLootedTier5"] = 0.000004f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseReceivedDamageTier5"] = 0.0001f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseUseDrugsLowTier5"] = 0.001f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseUseDrugsMediumTier5"] = 0.0075f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseUseDrugsHighTier5"] = 0.01f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; localConstants["$varFuriousRamsayIncreaseMobilityTier5"] = 0.00002f * localConstants["$varFuriousRamsayGeneticsMultiplierConfig_Cst"]; } }