--[[--------------------------------------------- ------------------------------------------------- -- -- forageDefs -- -- eris -- ------------------------------------------------- --]]--------------------------------------------- --old scavenges table (for backwards compatibility) scavenges = {}; scavenges.plants = {}; scavenges.insects = {}; scavenges.fishbait = {}; scavenges.mushrooms = {}; scavenges.berries = {}; scavenges.forestGoods = {}; scavenges.medicinalPlants = {}; ------------------------------------------------- ------------------------------------------------- local worldSprites = { wildPlants = { { "d_plants_1_11" }, { "d_plants_1_12" }, { "d_plants_1_13" }, { "d_plants_1_14" }, { "d_plants_1_15" }, }, smallTrees = { { "media/textures/Foraging/worldSprites/smallTree_worldSprite.png" }, { "media/textures/Foraging/worldSprites/smallTree2_worldSprite.png" }, }, berryBushes = { { "f_bushes_1_4", "f_bushes_1_68", "f_bushes_1_84" }, { "f_bushes_1_4", "f_bushes_1_68", "f_bushes_1_88" }, }, bushes = { { "f_bushes_1_64" }, { "f_bushes_1_65" }, { "f_bushes_1_66" }, }, shrubs = { { "d_plants_1_19" }, { "d_plants_1_20" }, { "d_plants_1_21" }, { "d_plants_1_22" }, { "d_plants_1_23" }, { "f_bushes_1_68" }, { "f_bushes_1_77" }, { "f_bushes_1_78" }, }, vines = { { "d_plants_1_38" }, { "d_plants_1_49" }, { "d_plants_1_50" }, }, }; ------------------------------------------------- ------------------------------------------------- local spriteAffinities = { genericPlants = { "d_generic_1_17", "d_generic_1_18", "d_generic_1_19", "d_generic_1_47", "d_generic_1_48", "d_generic_1_49", "d_generic_1_50", "d_generic_1_51", "d_generic_1_52", "d_generic_1_53", "d_generic_1_54", "d_generic_1_55", "d_generic_1_80", "d_generic_1_81", "d_generic_1_82", "d_generic_1_83", "d_generic_1_84", "d_generic_1_85", "d_generic_1_86", "d_generic_1_87", "d_plants_1_0", "d_plants_1_1", "d_plants_1_2", "d_plants_1_3", "d_plants_1_4", "d_plants_1_5", "d_plants_1_6", "d_plants_1_7", "d_plants_1_8", "d_plants_1_9", "d_plants_1_10", "d_plants_1_11", "d_plants_1_12", "d_plants_1_13", "d_plants_1_14", "d_plants_1_15", "d_plants_1_16", "d_plants_1_17", "d_plants_1_18", "d_plants_1_19", "d_plants_1_20", "d_plants_1_21", "d_plants_1_22", "d_plants_1_23", "d_plants_1_24", "d_plants_1_25", "d_plants_1_26", "d_plants_1_27", "d_plants_1_28", "d_plants_1_29", "d_plants_1_30", "d_plants_1_31", "d_plants_1_32", "d_plants_1_33", "d_plants_1_34", "d_plants_1_35", "d_plants_1_36", "d_plants_1_37", "d_plants_1_38", "d_plants_1_39", "d_plants_1_40", "d_plants_1_41", "d_plants_1_42", "d_plants_1_43", "d_plants_1_44", "d_plants_1_45", "d_plants_1_46", "d_plants_1_47", "d_plants_1_48", "d_plants_1_49", "d_plants_1_50", "d_plants_1_51", "d_plants_1_52", "d_plants_1_53", "d_plants_1_54", "d_plants_1_55", "d_plants_1_56", "d_plants_1_57", "d_plants_1_58", "d_plants_1_59", "d_plants_1_60", "d_plants_1_61", "d_plants_1_62", "d_plants_1_63", }, specialPlants = { "d_generic_1_17", "d_generic_1_18", "d_generic_1_19", "d_generic_1_47", "d_generic_1_48", "d_generic_1_49", "d_generic_1_50", "d_generic_1_51", "d_generic_1_52", "d_generic_1_53", "d_generic_1_54", "d_generic_1_55", "d_generic_1_80", "d_generic_1_81", "d_generic_1_82", "d_generic_1_83", "d_generic_1_84", "d_generic_1_85", "d_generic_1_86", "d_generic_1_87", }, stones = { "d_generic_1_13", "d_generic_1_22", "d_generic_1_23", "d_generic_1_24", "d_generic_1_25", "d_generic_1_40", "d_generic_1_41", "d_generic_1_42", "d_generic_1_43", "floors_overlay_street_01_0", "floors_overlay_street_01_1", "floors_overlay_street_01_2", "floors_overlay_street_01_3", "floors_overlay_street_01_4", "floors_overlay_street_01_5", "floors_overlay_street_01_6", "floors_overlay_street_01_7", "floors_overlay_street_01_8", "floors_overlay_street_01_9", "floors_overlay_street_01_10", "floors_overlay_street_01_11", "floors_overlay_street_01_12", "floors_overlay_street_01_13", "floors_overlay_street_01_14", "floors_overlay_street_01_15", "floors_overlay_street_01_16", "floors_overlay_street_01_17", "floors_overlay_street_01_18", "floors_overlay_street_01_19", "floors_overlay_street_01_20", "floors_overlay_street_01_21", "floors_overlay_street_01_22", "floors_overlay_street_01_23", "floors_overlay_street_01_24", "floors_overlay_street_01_25", "floors_overlay_street_01_26", "floors_overlay_street_01_27", "floors_overlay_street_01_28", "floors_overlay_street_01_29", "floors_overlay_street_01_30", "floors_overlay_street_01_31", "floors_overlay_street_01_32", "floors_overlay_street_01_33", "floors_overlay_street_01_34", "floors_overlay_street_01_35", "floors_overlay_street_01_36", "floors_overlay_street_01_37", "floors_overlay_street_01_38", "floors_overlay_street_01_39", "floors_overlay_street_01_40", "floors_overlay_street_01_41", "floors_overlay_street_01_42", "floors_overlay_street_01_43", "floors_overlay_street_01_44", "floors_overlay_street_01_45", "floors_overlay_street_01_46", "floors_overlay_street_01_47", "floors_overlay_street_01_48", "floors_overlay_street_01_49", "floors_overlay_street_01_50", "floors_overlay_street_01_51", "floors_overlay_street_01_52", "floors_overlay_street_01_53", "floors_overlay_street_01_54", "floors_overlay_street_01_55", "floors_overlay_street_01_56", "floors_overlay_street_01_57", "floors_overlay_street_01_58", "floors_overlay_street_01_59", "floors_overlay_street_01_60", "floors_overlay_street_01_61", "floors_overlay_street_01_62", "floors_overlay_street_01_63", "blends_streetoverlays_01_0", "blends_streetoverlays_01_1", "blends_streetoverlays_01_2", "blends_streetoverlays_01_3", "blends_streetoverlays_01_4", "blends_streetoverlays_01_5", "blends_streetoverlays_01_6", "blends_streetoverlays_01_7", "blends_streetoverlays_01_8", "blends_streetoverlays_01_9", "blends_streetoverlays_01_10", "blends_streetoverlays_01_11", "blends_streetoverlays_01_12", "blends_streetoverlays_01_13", "blends_streetoverlays_01_14", "blends_streetoverlays_01_15", "blends_streetoverlays_01_16", "blends_streetoverlays_01_17", "blends_streetoverlays_01_18", "blends_streetoverlays_01_19", "blends_streetoverlays_01_20", "blends_streetoverlays_01_21", "blends_streetoverlays_01_22", "blends_streetoverlays_01_23", "blends_streetoverlays_01_24", "blends_streetoverlays_01_25", "blends_streetoverlays_01_26", "blends_streetoverlays_01_27", "blends_streetoverlays_01_28", "blends_streetoverlays_01_29", "blends_streetoverlays_01_30", "blends_streetoverlays_01_31", }, firewood = { "d_generic_1_8", "d_generic_1_9", "d_generic_1_10", "d_generic_1_11", "d_generic_1_12", "d_generic_1_14", "d_generic_1_15", "d_generic_1_31", "d_generic_1_44", "d_generic_1_45", }, trash = { "d_trash_0", "d_trash_1", "d_trash_2", "d_trash_3", "d_trash_4", "d_trash_5", "d_trash_6", "d_trash_7", "d_trash_8", "d_trash_9", "d_trash_10", "d_trash_11", "d_trash_12", "d_trash_13", "d_trash_14", "d_trash_15", "d_trash_16", "d_trash_17", "d_trash_18", "d_trash_19", "d_trash_20", "d_trash_21", "d_trash_22", "d_trash_23", "d_trash_24", "d_trash_25", "trash_01_0", "trash_01_1", "trash_01_2", "trash_01_3", "trash_01_4", "trash_01_5", "trash_01_6", "trash_01_7", "trash_01_8", "trash_01_9", "trash_01_10", "trash_01_11", "trash_01_12", "trash_01_16", "trash_01_17", "trash_01_18", "trash_01_19", "trash_01_20", "trash_01_21", "trash_01_22", "trash_01_23", "trash_01_24", "trash_01_25", "trash_01_26", "trash_01_27", "trash_01_28", "trash_01_29", "trash_01_30", "trash_01_31", "trash_01_32", "trash_01_33", "trash_01_34", "trash_01_35", "trash_01_36", "trash_01_37", "trash_01_38", "trash_01_39", "trash_01_40", "trash_01_41", "trash_01_42", "trash_01_43", "trash_01_44", "trash_01_45", "trash_01_46", "trash_01_47", "trash_01_48", "trash_01_49", "trash_01_50", "trash_01_51", "trash_01_52", "trash_01_53", }, }; ------------------------------------------------- ------------------------------------------------- local function iterList(_list) local list = _list; local size = list:size() - 1; local i = -1; return function() i = i + 1; if i <= size and not list:isEmpty() then return list:get(i), i; end; end; end ------------------------------------------------- ------------------------------------------------- --[[--======== Spawn Functions ========--]]-- local function doPoisonItemSpawn(_character, _inventory, _itemDef, _items) if _itemDef.poisonChance and _itemDef.poisonPowerMin and _itemDef.poisonPowerMax then if _itemDef.poisonChance > 0 and _itemDef.poisonPowerMax > 0 then local perkLevel = forageSystem.getPerkLevel(_character, _itemDef); --increase poison chance by up to 30% for level 0 if ZombRand(100) < _itemDef.poisonChance + ((10 - perkLevel) * 3) then for item in iterList(_items) do item:setPoisonPower(ZombRand(_itemDef.poisonPowerMin, _itemDef.poisonPowerMax) + 1); item:setPoisonDetectionLevel(_itemDef.poisonDetectionLevel or 0); item:setUseForPoison(item:getHungChange()); end; end; end; end; return _items; --custom spawn scripts must return an arraylist of items (or nil) end local function doRandomAgeSpawn(_character, _inventory, _itemDef, _items) -- Randomize the size of the item local perkLevel = forageSystem.getPerkLevel(_character, _itemDef); for item in iterList(_items) do --set random age based on perkLevel and random chance local randomAge = 0; if (ZombRand(10) + 1) <= perkLevel then randomAge = ZombRandFloat(0.0, item:getOffAge() / 2); elseif ZombRand(3) <= perkLevel then randomAge = ZombRandFloat(0.0, item:getOffAge()); else randomAge = ZombRandFloat(item:getOffAge(), item:getOffAgeMax()); end; item:setAge(randomAge); end; return _items; --custom spawn scripts must return an arraylist of items (or nil) end local function doWildFoodSpawn(_character, _inventory, _itemDef, _items) -- Randomize the size of the item local perkLevel = forageSystem.getPerkLevel(_character, _itemDef); for item in iterList(_items) do item:setName(item:getDisplayName() .. " (" .. getText("UI_foraging_WildFood") .. ")"); --25 to 75 percent size local sizeModifier = ((ZombRand(50) + 25) / 100); --add up to 50% for perk level sizeModifier = sizeModifier + ((ZombRand(perkLevel) + 1) / 5) -- Set the item's stats depending on the random size if item:getBaseHunger() <= -0.02 then item:setBaseHunger(item:getBaseHunger() * sizeModifier); item:setHungChange(item:getHungChange() * sizeModifier); item:setCarbohydrates(item:getCarbohydrates() * sizeModifier); item:setLipids(item:getLipids() * sizeModifier); item:setProteins(item:getProteins() * sizeModifier); item:setCalories(item:getCalories() * sizeModifier); item:setUnhappyChange(item:getUnhappyChange() * sizeModifier); --item:multiplyFoodValues(sizeModifier); --item:setActualWeight(item:getActualWeight() * sizeModifier); end; end; return _items; --custom spawn scripts must return an arraylist of items (or nil) end local function doWildCropSpawn(_character, _inventory, _itemDef, _items) local seedTable = { ["Base.Carrots"] = "farming.CarrotSeed", ["Base.Broccoli"] = "farming.BroccoliSeed", ["farming.RedRadish"] = "farming.RedRadishSeed", ["farming.Strewberrie"] = "farming.StrewberrieSeed", ["farming.Potato"] = "farming.PotatoSeed", ["farming.Tomato"] = "farming.TomatoSeed", ["farming.Cabbage"] = "farming.CabbageSeed", }; --chance to generate a few seeds if seedTable[_itemDef.type] then local seedChance = 75; if ZombRand(100) + 1 <= seedChance then local seedAmount = ZombRand(20) + 1; local seedItemType = seedTable[_itemDef.type]; for i = 1, seedAmount do _items:add(InventoryItemFactory.CreateItem(seedItemType)); end; end; end; return _items; --custom spawn scripts must return an arraylist of items (or nil) end local function doJunkWeaponSpawn(_character, _inventory, _itemDef, _items) for item in iterList(_items) do local conditionMax = item:getConditionMax(); if conditionMax > 0 then item:setCondition(ZombRand(conditionMax) + 1); -- Randomize the weapon condition end; end; return _items; --custom spawn scripts must return an arraylist of items (or nil) end local function doGenericItemSpawn(_character, _inventory, _itemDef, _items) for item in iterList(_items) do if item:IsDrainable() then item:setUsedDelta(ZombRandFloat(0.0, 1.0)); -- Randomize the item uses remaining end; local conditionMax = item:getConditionMax(); if conditionMax > 0 then item:setCondition(ZombRand(conditionMax) + 1); -- Randomize the weapon condition end; end; return _items; --custom spawn scripts must return an arraylist of items (or nil) end local function doClothingItemSpawn(_character, _inventory, _itemDef, _items) for item in iterList(_items) do if not item:isCosmetic() then item:setWetness(ZombRandFloat(0.0, 100.0)); item:setBloodLevel(ZombRandFloat(0.0, 100.0)); item:setDirtyness(ZombRandFloat(0.0, 100.0)); local conditionMax = item:getConditionMax(); if conditionMax > 0 then item:setCondition(ZombRand(conditionMax) + 1); end; end; end; return _items; --custom spawn scripts must return an arraylist of items (or nil) end local function doDeadTrapAnimalSpawn(_character, _inventory, _itemDef, _items) for item in iterList(_items) do --search for trap animal definition for _, trapDef in pairs(Animals) do if trapDef.item == _itemDef.type then -- Randomize the hunger reduction of the animal local size = ZombRand(trapDef.minSize, trapDef.maxSize); local typicalSize = item:getBaseHunger() * -100; local statsModifier = size / typicalSize; -- Set the animal's stats depending on the random size item:setBaseHunger(item:getBaseHunger() * statsModifier); item:setHungChange(item:getHungChange() * statsModifier); item:setActualWeight(item:getActualWeight() * statsModifier); item:setCarbohydrates(item:getCarbohydrates() * statsModifier); item:setLipids(item:getLipids() * statsModifier); item:setProteins(item:getProteins() * statsModifier); item:setCalories(item:getCalories() * statsModifier); end; end; --dead animals can only be in the range of barely fresh to rotted if ZombRand(10) + 1 <= 3 then --barely fresh to rotted local freshLimit = item:getOffAge() - (item:getOffAge() / 4); item:setAge(ZombRandFloat(freshLimit, item:getOffAgeMax())); else --stale to rotted item:setAge(ZombRandFloat(item:getOffAge(), item:getOffAgeMax())); end; end; return _items; --custom spawn scripts must return an arraylist of items (or nil) end local function doGlassesCheck(_character, _skillDef, _bonusEffect) if _bonusEffect == "visionBonus" then local visualAids = { ["Base.Glasses_Normal"] = true, ["Base.Glasses_Reading"] = true, }; local wornItem = _character:getWornItem("Eyes"); if wornItem and visualAids[wornItem:getFullType()] then return false; end; end; return true; end ------------------------------------------------- ------------------------------------------------- --[[--======== forageDefaultDefs ========-- ---- default values (applied if missing from item definition) ]]-- forageDefaultDefs = { --- default values (applied if missing from item definition) defaultItemDef = { type = "Base.MissingItemType", --item type including module minCount = 1, --minimum amount of items to pick up maxCount = 1, --maximum amount of items to pick up skill = 0, --skill level required to see the item perks = { "PlantScavenging" }, --perks required - can be multiple perks, skill level will be averaged xp = 1, --xp reward on pickup - divide by 3 for spotting xp - is awarded to all perks required -- recipes = {}, --recipes required to see the item traits = {}, --traits required to see the item itemTags = {}, --itemTags required to see the item (digPlow etc) -- categories = { "Junk" }, --categories the item is a part of rainChance = 0, --rain chance modifier (percent) hasRainedChance = 0, --after rain chance modifier (percent) snowChance = 0, --snow chance modifier (percent) dayChance = 0, --day chance modifier (percent) nightChance = 0, --night chance modifier (percent) -- zones = { --zones where the item can be found Forest = 1, --[zone name] = number of rolls for item in this zone DeepForest = 1, --/!\ it is NOT a percent chance /!\ Vegitation = 1, FarmLand = 1, Farm = 1, TrailerPark = 1, TownZone = 1, Nav = 1, }, -- months = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }, --months when the item can be found bonusMonths = {}, --months when the item is more common (must be in months) malusMonths = {}, --months when the item is less common (must be in months) spawnFuncs = {}, --custom spawn function when item is picked up forceOutside = true, --item must be outside isOnWater = false, --item can be on water forceOnWater = false, --item must be on water isMover = false, --does nothing, ignored canBeAboveFloor = false, --does nothing, ignored doIsoMarkerObject = false, --create an IsoMarker temp object on square doIsoMarkerSprite = nil, --use a custom sprite/sprites for IsoMarker canBeOnTreeSquare = true, --can occupy the same square as an IsoTree -- poisonChance = 0, --percent chance the item is poisoned poisonPowerMin = 0, --minimum amount of poison to apply poisonPowerMax = 0, --maximum amount of poison to apply poisonDetectionLevel = 0, --level required to detect the poison -- itemSizeModifier = 0, --increase or decrease item weight in vision radius checking isItemOverrideSize = false, --use only itemSizeModifier in vision radius checking - not the real item weight }, --- default values (applied if missing from zone definition) defaultZoneDef = { name = "Unknown", --zone type to attach this definition to - see objects.lua for possible zones densityMin = 1, --zone minimum icon density densityMax = 1, --zone maximum icon density refillPercent = 1, --percent of icons refilled per game day abundanceSetting = "NatureAbundance", --sandbox setting used for icon density multiplier - see forageSystem.abundanceSettings }, --- default values (applied if missing from category definition) defaultCatDef = { chance = 1, --rolls for this category - /!\ it is NOT a percent chance /!\ name = "Unknown", --category name used for forageSystem.catDef key typeCategory = "Other", --fuzzy category name - used for search window tooltip identifyCategoryPerk = "PlantScavenging", --perk to identify category identifyCategoryLevel = 0, --perk level to identify category categoryHidden = true, --show exact category name in zone display window validFloors = { "ANY" }, --valid floor types for items in this category - ANY is an override to allow all floors validFunc = nil, --can be used to provide your own valid function for floors - see forageSystem.isValidSquare -- rainChance = 0, --rain chance modifier (percent) hasRainedChance = 0, --after rain chance modifier (percent) snowChance = 0, --snow chance modifier (percent) dayChance = 0, --day chance modifier (percent) nightChance = 0, --night chance modifier (percent) zoneChance = { --zones where the category can be found Forest = 1, --[zone name] = number of rolls for category in this zone DeepForest = 1, --/!\ it is NOT a percent chance /!\ Vegitation = 1, FarmLand = 1, Farm = 1, TrailerPark = 1, TownZone = 1, Nav = 1, }, spriteAffinities = {}, --sprite affinities for this item - see Stones/Twigs category for example chanceToMoveIcon = 0.0, --percent chance to move a nearby icon to the sprite detected chanceToCreateIcon = 0.0, --percent chance to generate a new temporary icon on a sprite affinity if no existing icons can be moved focusChanceMin = 0.0, --percent chance to change an icon to this category when it is the search focus category - this will be divided by the itemDef skill level focusChanceMax = 0.0, --percent chance to change an icon to this category when it is the search focus category - this will be divided by the itemDef skill level }, --- default values (applied if missing from occupation/trait definition) defaultSkillDef = { name = "default", type = "trait", visionBonus = 0, -- bonus vision (squares) weatherEffect = 0, -- weather effect reduction (percent) darknessEffect = 0, -- darkness effect reduction (percent) specialisations = {}, -- /!\ base /!\ vision bonus multipliers by category (percent) testFuncs = {}, -- test functions for bonus/malus effects }, }; forageSkills = { parkranger = { name = "parkranger", type = "occupation", visionBonus = 2, weatherEffect = 33, darknessEffect = 15, specialisations = { ["Animals"] = 10, ["Berries"] = 20, ["Mushrooms"] = 10, ["MedicinalPlants"] = 75, ["WildPlants"] = 50, ["WildHerbs"] = 50, ["ForestRarities"] = 10, ["Trash"] = 5, ["Junk"] = 5, }, }, veteran = { name = "veteran", type = "occupation", visionBonus = 1.75, weatherEffect = 33, darknessEffect = 15, specialisations = { ["Animals"] = 5, ["Ammunition"] = 50, ["MedicinalPlants"] = 20, ["WildPlants"] = 10, ["WildHerbs"] = 10, ["ForestRarities"] = 5, }, }, farmer = { name = "farmer", type = "occupation", visionBonus = 1.5, weatherEffect = 33, darknessEffect = 10, specialisations = { ["Animals"] = 10, ["Crops"] = 50, ["JunkFood"] = 5, ["MedicinalPlants"] = 5, ["WildPlants"] = 5, ["WildHerbs"] = 15, ["Fruits"] = 10, ["Vegetables"] = 10, }, }, lumberjack = { name = "lumberjack", type = "occupation", visionBonus = 1.25, weatherEffect = 33, darknessEffect = 15, specialisations = { ["Firewood"] = 50, ["Mushrooms"] = 20, ["WildPlants"] = 5, ["WildHerbs"] = 5, }, }, chef = { name = "chef", type = "occupation", visionBonus = 0, weatherEffect = 0, darknessEffect = 0, specialisations = { ["Animals"] = 10, ["Berries"] = 20, ["Mushrooms"] = 50, ["JunkFood"] = 15, ["MedicinalPlants"] = 15, ["WildPlants"] = 10, ["WildHerbs"] = 20, }, }, fisherman = { name = "fisherman", type = "occupation", visionBonus = 1.00, weatherEffect = 40, darknessEffect = 10, specialisations = { ["Insects"] = 50, ["FishBait"] = 50, }, }, unemployed = { name = "unemployed", type = "occupation", visionBonus = 0.50, weatherEffect = 10, darknessEffect = 5, specialisations = { ["MedicinalPlants"] = 5, ["WildPlants"] = 5, ["WildHerbs"] = 5, ["JunkFood"] = 10, ["Trash"] = 10, ["Junk"] = 10, }, }, burgerflipper = { name = "burgerflipper", type = "occupation", visionBonus = 0, weatherEffect = 0, darknessEffect = 0, specialisations = { ["Animals"] = 5, ["Berries"] = 5, ["Mushrooms"] = 15, ["JunkFood"] = 30, ["MedicinalPlants"] = 5, }, }, doctor = { name = "doctor", type = "occupation", visionBonus = 0, weatherEffect = 0, darknessEffect = 0, specialisations = { ["Medical"] = 40, ["MedicinalPlants"] = 10, }, }, nurse = { name = "nurse", type = "occupation", visionBonus = 0, weatherEffect = 0, darknessEffect = 0, specialisations = { ["Medical"] = 40, ["MedicinalPlants"] = 10, }, }, fitnessInstructor = { name = "fitnessInstructor", type = "occupation", visionBonus = 0, weatherEffect = 0, darknessEffect = 0, specialisations = { ["Medical"] = 5, ["JunkFood"] = 25, ["MedicinalPlants"] = 15, ["WildPlants"] = 5, ["WildHerbs"] = 5, }, }, repairman = { name = "repairman", type = "occupation", visionBonus = 0, weatherEffect = 0, darknessEffect = 0, specialisations = { ["Trash"] = 33, ["Junk"] = 33, }, }, mechanics = { name = "mechanics", type = "occupation", visionBonus = 0, weatherEffect = 0, darknessEffect = 0, specialisations = { ["Trash"] = 33, ["Junk"] = 33, }, }, electrician = { name = "electrician", type = "occupation", visionBonus = 0, weatherEffect = 0, darknessEffect = 0, specialisations = { ["Trash"] = 20, ["Junk"] = 20, }, }, engineer = { name = "engineer", type = "occupation", visionBonus = 0, weatherEffect = 0, darknessEffect = 0, specialisations = { ["Trash"] = 10, ["Junk"] = 10, }, }, metalworker = { name = "metalworker", type = "occupation", visionBonus = 0, weatherEffect = 0, darknessEffect = 0, specialisations = { ["Trash"] = 10, ["Junk"] = 10, }, }, constructionworker = { name = "constructionworker", type = "occupation", visionBonus = 0, weatherEffect = 0, darknessEffect = 0, specialisations = { ["Trash"] = 10, ["Junk"] = 10, }, }, carpenter = { name = "carpenter", type = "occupation", visionBonus = 0, weatherEffect = 0, darknessEffect = 0, specialisations = { ["Firewood"] = 30, ["Junk"] = 10, }, }, burglar = { name = "burglar", type = "occupation", visionBonus = 0, weatherEffect = 5, darknessEffect = 15, specialisations = { ["Trash"] = 10, ["Junk"] = 10, ["JunkWeapons"] = 10, ["Ammunition"] = 10, }, }, securityguard = { name = "securityguard", type = "occupation", visionBonus = 0, weatherEffect = 5, darknessEffect = 10, specialisations = { ["Trash"] = 10, ["Junk"] = 10, ["JunkWeapons"] = 10, ["Ammunition"] = 10, }, }, policeofficer = { name = "policeofficer", type = "occupation", visionBonus = 0, weatherEffect = 5, darknessEffect = 10, specialisations = { ["Trash"] = 10, ["Junk"] = 10, ["JunkWeapons"] = 10, ["Ammunition"] = 10, }, }, fireofficer = { name = "fireofficer", type = "occupation", visionBonus = 0, weatherEffect = 5, darknessEffect = 10, specialisations = { ["Firewood"] = 20, ["Junk"] = 10, }, }, Unlucky = { name = "Unlucky", type = "trait", visionBonus = -1.0, weatherEffect = 0, darknessEffect = 0, specialisations = { ["ForestRarities"] = -5, ["Medical"] = -5, ["Ammunition"] = -5, ["JunkWeapons"] = -5, }, }, Lucky = { name = "Lucky", type = "trait", visionBonus = 1.0, weatherEffect = 0, darknessEffect = 0, specialisations = { ["ForestRarities"] = 5, ["Medical"] = 5, ["Ammunition"] = 5, ["JunkWeapons"] = 5, }, }, Formerscout = { name = "Formerscout", type = "trait", visionBonus = 0.7, weatherEffect = 13, darknessEffect = 3, specialisations = { ["MedicinalPlants"] = 5, ["Trash"] = 10, }, }, Hiker = { name = "Hiker", type = "trait", visionBonus = 0.7, weatherEffect = 13, darknessEffect = 3, specialisations = { ["MedicinalPlants"] = 3, ["Berries"] = 3, ["Mushrooms"] = 3, }, }, Hunter = { name = "Hunter", type = "trait", visionBonus = 0.5, weatherEffect = 13, darknessEffect = 5, specialisations = { ["Animals"] = 5, ["Berries"] = 3, ["Mushrooms"] = 3, ["MedicinalPlants"] = 3, }, }, EagleEyed = { name = "EagleEyed", type = "trait", visionBonus = 1.0, weatherEffect = 0, darknessEffect = 0, specialisations = {}, }, Gardener = { name = "Gardener", type = "trait", visionBonus = 0.4, weatherEffect = 13, darknessEffect = 0, specialisations = { ["MedicinalPlants"] = 3, ["Crops"] = 5, ["Fruits"] = 5, ["Vegetables"] = 5, }, }, Outdoorsman = { name = "Outdoorsman", type = "trait", visionBonus = 0.4, weatherEffect = 13, darknessEffect = 5, specialisations = { ["Animals"] = 5, ["Berries"] = 5, ["Mushrooms"] = 5, ["MedicinalPlants"] = 5, ["WildPlants"] = 5, ["WildHerbs"] = 5, }, }, Cook = { name = "Cook", type = "trait", visionBonus = 0.2, weatherEffect = 0, darknessEffect = 0, specialisations = { ["Animals"] = 5, ["Berries"] = 5, ["Mushrooms"] = 5, ["JunkFood"] = 5, ["MedicinalPlants"] = 3, ["WildPlants"] = 5, ["WildHerbs"] = 5, }, }, Cook2 = { name = "Cook2", type = "trait", visionBonus = 0.2, weatherEffect = 0, darknessEffect = 0, specialisations = { ["Animals"] = 5, ["Berries"] = 5, ["Mushrooms"] = 5, ["JunkFood"] = 5, ["MedicinalPlants"] = 3, ["WildPlants"] = 5, ["WildHerbs"] = 5, }, }, NightVision = { name = "NightVision", type = "trait", visionBonus = 0.4, weatherEffect = 0, darknessEffect = 0, --this gets a "built in" reduction by increasing minimum ambient level ~10% specialisations = {}, }, Nutritionist = { name = "Nutritionist", type = "trait", visionBonus = 0.2, weatherEffect = 0, darknessEffect = 0, specialisations = { ["JunkFood"] = 5, ["MedicinalPlants"] = 5, ["WildPlants"] = 5, ["WildHerbs"] = 5, }, }, Nutritionist2 = { name = "Nutritionist2", type = "trait", visionBonus = 0.2, weatherEffect = 0, darknessEffect = 0, specialisations = { ["JunkFood"] = 5, ["MedicinalPlants"] = 5, ["WildPlants"] = 5, ["WildHerbs"] = 5, }, }, Herbalist = { name = "Herbalist", type = "trait", visionBonus = 0.2, weatherEffect = 0, darknessEffect = 0, specialisations = { ["MedicinalPlants"] = 15, ["WildPlants"] = 5, ["WildHerbs"] = 5, ["Crops"] = 5, ["Berries"] = 5, ["Mushrooms"] = 5, }, }, Agoraphobic = { name = "Agoraphobic", type = "trait", visionBonus = -1.5, weatherEffect = 0, darknessEffect = 0, specialisations = {}, }, HeartyAppitite = { name = "HeartyAppitite", type = "trait", visionBonus = 0, weatherEffect = 0, darknessEffect = 0, specialisations = { ["Animals"] = 3, ["Berries"] = 3, ["Mushrooms"] = 3, ["JunkFood"] = 3, }, }, Marksman = { name = "Marksman", type = "trait", visionBonus = 0.5, weatherEffect = 0, darknessEffect = 0, specialisations = { ["Ammunition"] = 3, }, }, FirstAid = { name = "FirstAid", type = "trait", visionBonus = 0, weatherEffect = 0, darknessEffect = 0, specialisations = { ["Medical"] = 3, }, }, Fishing = { name = "Fishing", type = "trait", visionBonus = 0, weatherEffect = 0, darknessEffect = 0, specialisations = { ["Insects"] = 5, ["FishBait"] = 5, }, }, ShortSighted = { name = "ShortSighted", type = "trait", visionBonus = -2.0, weatherEffect = 0, darknessEffect = 0, specialisations = {}, testFuncs = { doGlassesCheck }, }, }; --[[--======== forageZones ========-- ]]-- forageZones = { DeepForest = { name = "DeepForest", densityMin = 8, densityMax = 10, refillPercent = 7, abundanceSetting = "NatureAbundance", }, FarmLand = { name = "FarmLand", densityMin = 5, densityMax = 7.5, refillPercent = 5, abundanceSetting = "NatureAbundance", }, Farm = { name = "Farm", densityMin = 5, densityMax = 7.5, refillPercent = 5, abundanceSetting = "NatureAbundance", }, Forest = { name = "Forest", densityMin = 8, densityMax = 10, refillPercent = 7, abundanceSetting = "NatureAbundance", }, Nav = { name = "Nav", densityMin = 3, densityMax = 5, refillPercent = 3, abundanceSetting = "OtherLoot", }, TownZone = { name = "TownZone", densityMin = 3, densityMax = 5, refillPercent = 3, abundanceSetting = "OtherLoot", }, TrailerPark = { name = "TrailerPark", densityMin = 1.5, densityMax = 5, refillPercent = 3, abundanceSetting = "OtherLoot", }, Vegitation = { name = "Vegitation", densityMin = 6, densityMax = 8, refillPercent = 5, abundanceSetting = "NatureAbundance", }, }; --[[--======== forageCategories ========-- ]]-- forageCategories = { ["Animals"] = { name = "Animals", typeCategory = "Animals", identifyCategoryPerk = "PlantScavenging", identifyCategoryLevel = 5, categoryHidden = false, validFloors = { "ANY" }, zoneChance = { DeepForest = 15, Forest = 15, Vegitation = 25, FarmLand = 20, Farm = 20, TrailerPark = 5, TownZone = 5, Nav = 3, }, spriteAffinities = spriteAffinities.genericPlants, chanceToMoveIcon = 3.0, chanceToCreateIcon = 0.1, focusChanceMin = 5.0, focusChanceMax = 15.0, }, ["DeadAnimals"] = { name = "DeadAnimals", typeCategory = "Animals", identifyCategoryPerk = "PlantScavenging", identifyCategoryLevel = 5, categoryHidden = true, validFloors = { "ANY" }, zoneChance = { DeepForest = 3, Forest = 2, Vegitation = 2, FarmLand = 2, Farm = 2, TrailerPark = 1, TownZone = 1, Nav = 1, }, }, ["Berries"] = { name = "Berries", typeCategory = "Food", identifyCategoryPerk = "PlantScavenging", identifyCategoryLevel = 3, categoryHidden = false, validFloors = { "floors_exterior_natural", "blends_natural" }, zoneChance = { DeepForest = 30, Forest = 30, Vegitation = 20, FarmLand = 15, Farm = 15, TrailerPark = 5, TownZone = 5, Nav = 1, }, focusChanceMin = 20.0, focusChanceMax = 33.3, }, ["Fruits"] = { name = "Fruits", typeCategory = "Food", identifyCategoryPerk = "PlantScavenging", identifyCategoryLevel = 7, categoryHidden = false, validFloors = { "floors_exterior_natural", "blends_natural" }, zoneChance = { Forest = 15, DeepForest = 15, Vegitation = 15, FarmLand = 25, Farm = 25, TrailerPark = 10, TownZone = 5, Nav = 0, }, spriteAffinities = spriteAffinities.genericPlants, chanceToMoveIcon = 3.0, chanceToCreateIcon = 0.1, focusChanceMin = 15.0, focusChanceMax = 33.3, }, ["Vegetables"] = { name = "Vegetables", typeCategory = "Food", identifyCategoryPerk = "PlantScavenging", identifyCategoryLevel = 7, categoryHidden = false, validFloors = { "floors_exterior_natural", "blends_natural" }, zoneChance = { DeepForest = 10, Forest = 10, Vegitation = 15, FarmLand = 15, Farm = 15, TrailerPark = 5, TownZone = 10, Nav = 0, }, spriteAffinities = spriteAffinities.genericPlants, chanceToMoveIcon = 3.0, chanceToCreateIcon = 0.1, focusChanceMin = 15.0, focusChanceMax = 33.3, }, ["Crops"] = { name = "Crops", typeCategory = "Food", identifyCategoryPerk = "PlantScavenging", identifyCategoryLevel = 5, categoryHidden = false, validFloors = { "floors_exterior_natural", "blends_natural" }, zoneChance = { DeepForest = 5, Forest = 7, Vegitation = 10, FarmLand = 25, Farm = 25, TrailerPark = 5, TownZone = 5, Nav = 0, }, spriteAffinities = spriteAffinities.genericPlants, chanceToMoveIcon = 3, chanceToCreateIcon = 0.1, focusChanceMin = 15.0, focusChanceMax = 33.3, }, ["Mushrooms"] = { name = "Mushrooms", typeCategory = "Food", identifyCategoryPerk = "PlantScavenging", identifyCategoryLevel = 3, categoryHidden = false, validFloors = { "floors_exterior_natural", "blends_natural" }, rainChance = 20, hasRainedChance = 50, nightChance = 20, zoneChance = { DeepForest = 30, Forest = 30, Vegitation = 20, FarmLand = 15, Farm = 15, TrailerPark = 5, TownZone = 5, Nav = 0, }, spriteAffinities = spriteAffinities.genericPlants, chanceToMoveIcon = 3.0, chanceToCreateIcon = 0.1, focusChanceMin = 20.0, focusChanceMax = 33.3, }, ["FishBait"] = { name = "FishBait", typeCategory = "Animals", identifyCategoryPerk = "PlantScavenging", identifyCategoryLevel = 4, categoryHidden = true, validFloors = { "floors_exterior_natural", "blends_natural" }, rainChance = 50, hasRainedChance = 50, nightChance = 100, zoneChance = { DeepForest = 10, Forest = 10, Vegitation = 15, FarmLand = 20, Farm = 20, TrailerPark = 5, TownZone = 5, Nav = 1, }, spriteAffinities = spriteAffinities.specialPlants, chanceToMoveIcon = 3.0, chanceToCreateIcon = 0.1, }, --this is an empty category ["ForestGoods"] = { name = "ForestGoods", typeCategory = "Other", identifyCategoryPerk = "PlantScavenging", identifyCategoryLevel = 0, categoryHidden = true, validFloors = { "ANY" }, zoneChance = { DeepForest = 0, Forest = 0, Vegitation = 0, FarmLand = 0, Farm = 0, TrailerPark = 0, TownZone = 0, Nav = 0, }, }, ["ForestRarities"] = { name = "ForestRarities", typeCategory = "Other", identifyCategoryPerk = "PlantScavenging", identifyCategoryLevel = 8, categoryHidden = true, validFloors = { "ANY" }, zoneChance = { DeepForest = 1, Forest = 1, Vegitation = 0, FarmLand = 0, Farm = 0, TrailerPark = 0, TownZone = 0, Nav = 0, }, }, ["Insects"] = { name = "Insects", typeCategory = "Animals", identifyCategoryPerk = "PlantScavenging", identifyCategoryLevel = 4, categoryHidden = false, validFloors = { "ANY" }, nightChance = 100, zoneChance = { DeepForest = 25, Forest = 25, Vegitation = 25, FarmLand = 15, Farm = 15, TrailerPark = 15, TownZone = 15, Nav = 10, }, spriteAffinities = spriteAffinities.genericPlants, chanceToMoveIcon = 3.0, chanceToCreateIcon = 0.1, focusChanceMin = 15.0, focusChanceMax = 33.3, }, ["MedicinalPlants"] = { name = "MedicinalPlants", typeCategory = "Medicinal", identifyCategoryPerk = "PlantScavenging", identifyCategoryLevel = 6, categoryHidden = false, validFloors = { "floors_exterior_natural", "blends_natural" }, rainChance = 50, hasRainedChance = 25, snowChance = -50, nightChance = 100, zoneChance = { DeepForest = 30, Forest = 20, Vegitation = 15, FarmLand = 15, Farm = 15, TrailerPark = 0, TownZone = 0, Nav = 0, }, spriteAffinities = spriteAffinities.specialPlants, chanceToMoveIcon = 1.0, chanceToCreateIcon = 0.5, focusChanceMin = 10.0, focusChanceMax = 20.0, }, ["WildPlants"] = { name = "WildPlants", typeCategory = "Food", identifyCategoryPerk = "PlantScavenging", identifyCategoryLevel = 4, categoryHidden = false, validFloors = { "floors_exterior_natural", "blends_natural" }, rainChance = 50, hasRainedChance = 25, snowChance = -50, nightChance = 50, zoneChance = { DeepForest = 15, Forest = 10, Vegitation = 10, FarmLand = 7.5, Farm = 7.5, TrailerPark = 2.5, TownZone = 2.5, Nav = 0, }, spriteAffinities = spriteAffinities.specialPlants, chanceToMoveIcon = 1.0, chanceToCreateIcon = 0.0, focusChanceMin = 10.0, focusChanceMax = 20.0, }, ["WildHerbs"] = { name = "WildHerbs", typeCategory = "Food", identifyCategoryPerk = "PlantScavenging", identifyCategoryLevel = 4, categoryHidden = false, validFloors = { "floors_exterior_natural", "blends_natural" }, rainChance = 50, hasRainedChance = 25, snowChance = -50, nightChance = 50, zoneChance = { DeepForest = 10, Forest = 7.5, Vegitation = 7.5, FarmLand = 5.0, Farm = 5.0, TrailerPark = 1.5, TownZone = 1.5, Nav = 0, }, spriteAffinities = spriteAffinities.specialPlants, chanceToMoveIcon = 1.0, chanceToCreateIcon = 1.0, focusChanceMin = 10.0, focusChanceMax = 20.0, }, ["Firewood"] = { name = "Firewood", typeCategory = "Materials", identifyCategoryPerk = "PlantScavenging", identifyCategoryLevel = 0, categoryHidden = false, validFloors = { "ANY" }, zoneChance = { DeepForest = 150, Forest = 150, Vegitation = 75, FarmLand = 35, Farm = 35, TrailerPark = 10, TownZone = 10, Nav = 15, }, spriteAffinities = spriteAffinities.firewood, chanceToMoveIcon = 20.0, chanceToCreateIcon = 10.0, focusChanceMin = 25.0, focusChanceMax = 40.0, }, ["Stones"] = { name = "Stones", typeCategory = "Materials", identifyCategoryPerk = "PlantScavenging", identifyCategoryLevel = 0, categoryHidden = false, validFloors = { "ANY" }, zoneChance = { DeepForest = 30, Forest = 30, Vegitation = 30, FarmLand = 30, Farm = 30, TrailerPark = 15, TownZone = 15, Nav = 120, }, spriteAffinities = spriteAffinities.stones, chanceToMoveIcon = 20.0, chanceToCreateIcon = 10.0, focusChanceMin = 25.0, focusChanceMax = 40.0, }, ["Junk"] = { name = "Junk", typeCategory = "Other", identifyCategoryPerk = "PlantScavenging", identifyCategoryLevel = 4, categoryHidden = true, validFloors = { "ANY" }, zoneChance = { DeepForest = 3, Forest = 3, Vegitation = 3, FarmLand = 3, Farm = 3, TrailerPark = 7, TownZone = 7, Nav = 3, }, spriteAffinities = spriteAffinities.trash, chanceToMoveIcon = 20.0, chanceToCreateIcon = 10.0, focusChanceMin = 5.0, focusChanceMax = 10.0, }, ["JunkFood"] = { name = "JunkFood", typeCategory = "Other", identifyCategoryPerk = "PlantScavenging", identifyCategoryLevel = 4, categoryHidden = true, validFloors = { "ANY" }, zoneChance = { DeepForest = 1, Forest = 1, Vegitation = 1, FarmLand = 3, Farm = 3, TrailerPark = 5, TownZone = 5, Nav = 1, }, }, ["Clothing"] = { name = "Clothing", typeCategory = "Other", identifyCategoryPerk = "PlantScavenging", identifyCategoryLevel = 4, categoryHidden = true, validFloors = { "ANY" }, zoneChance = { DeepForest = 1, Forest = 1, Vegitation = 1, FarmLand = 3, Farm = 3, TrailerPark = 7, TownZone = 7, Nav = 1, }, }, ["JunkWeapons"] = { name = "JunkWeapons", typeCategory = "Other", identifyCategoryPerk = "PlantScavenging", identifyCategoryLevel = 4, categoryHidden = true, validFloors = { "ANY" }, zoneChance = { DeepForest = 1, Forest = 1, Vegitation = 1, FarmLand = 1, Farm = 1, TrailerPark = 3, TownZone = 3, Nav = 3, }, }, ["Ammunition"] = { name = "Ammunition", typeCategory = "Other", identifyCategoryPerk = "PlantScavenging", identifyCategoryLevel = 8, categoryHidden = true, validFloors = { "ANY" }, zoneChance = { DeepForest = 1, Forest = 1, Vegitation = 1, FarmLand = 1, Farm = 1, TrailerPark = 2, TownZone = 2, Nav = 1, }, }, ["Medical"] = { name = "Medical", typeCategory = "Other", identifyCategoryPerk = "PlantScavenging", identifyCategoryLevel = 8, categoryHidden = true, validFloors = { "ANY" }, zoneChance = { DeepForest = 0, Forest = 0, Vegitation = 1, FarmLand = 0, Farm = 0, TrailerPark = 3, TownZone = 3, Nav = 1, }, }, ["Trash"] = { name = "Trash", typeCategory = "Other", identifyCategoryPerk = "PlantScavenging", identifyCategoryLevel = 4, categoryHidden = false, validFloors = { "ANY" }, zoneChance = { DeepForest = 5, Forest = 5, Vegitation = 10, FarmLand = 5, Farm = 5, TrailerPark = 40, TownZone = 40, Nav = 30, }, spriteAffinities = spriteAffinities.trash, chanceToMoveIcon = 20.0, chanceToCreateIcon = 10.0, focusChanceMin = 15.0, focusChanceMax = 25.0, }, }; --[[--======== forageDefs ========-- ]]-- forageDefs = { --======== BERRIES ========-- --(added via generateBerryDefs) --======== FRUITS ========-- Cherry = { type = "Base.Cherry", minCount = 1, maxCount = 4, skill = 4, xp = 5, snowChance = -10, categories = { "Fruits" }, zones = { Forest = 5, DeepForest = 5, FarmLand = 15, Farm = 15, }, months = { 5, 6, 7, 8, 9 }, bonusMonths = { 6, 7, 8 }, malusMonths = { 5, 9 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.smallTrees, itemSizeModifier = 1.0, isItemOverrideSize = true, }, Strewberrie = { type = "farming.Strewberrie", skill = 8, xp = 5, snowChance = -10, categories = { "Fruits" }, zones = { Forest = 5, DeepForest = 5, FarmLand = 15, Farm = 15, }, months = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }, bonusMonths = { 4, 5, 6 }, malusMonths = { 1, 2, 10, 11 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn, doWildCropSpawn }, altWorldTexture = getTexture("media/textures/Foraging/worldSprites/wildstrawberry_worldSprite.png"), itemSizeModifier = 1.0, isItemOverrideSize = true, }, Lemon = { type = "Base.Lemon", minCount = 1, maxCount = 3, skill = 6, xp = 5, snowChance = -10, categories = { "Fruits" }, zones = { Forest = 10, FarmLand = 15, Farm = 15, }, bonusMonths = { 1, 2, 12 }, malusMonths = { 3, 4, 10, 11 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.smallTrees, itemSizeModifier = 1.0, isItemOverrideSize = true, }, Lime = { type = "Base.Lime", minCount = 1, maxCount = 3, skill = 6, xp = 5, snowChance = -10, categories = { "Fruits" }, zones = { Forest = 10, FarmLand = 15, Farm = 15, }, bonusMonths = { 1, 2, 12 }, malusMonths = { 3, 4, 10, 11 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.smallTrees, itemSizeModifier = 1.0, isItemOverrideSize = true, }, Grapefruit = { type = "Base.Grapefruit", minCount = 1, maxCount = 1, skill = 8, xp = 5, snowChance = -10, categories = { "Fruits" }, zones = { Forest = 10, FarmLand = 15, Farm = 15, }, bonusMonths = { 1, 2, 12 }, malusMonths = { 3, 4, 10, 11 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.smallTrees, itemSizeModifier = 1.0, isItemOverrideSize = true, }, Peach = { type = "Base.Peach", minCount = 1, maxCount = 2, skill = 8, xp = 5, snowChance = -10, categories = { "Fruits" }, zones = { Forest = 10, FarmLand = 15, Farm = 15, }, months = { 4, 5, 6, 7, 8, 9, 10 }, bonusMonths = { 6, 7, 8 }, malusMonths = { 4, 5, 9, 10 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.smallTrees, itemSizeModifier = 1.0, isItemOverrideSize = true, }, Pear = { type = "Base.Pear", minCount = 1, maxCount = 2, skill = 8, xp = 5, snowChance = -10, categories = { "Fruits" }, zones = { Forest = 10, FarmLand = 15, Farm = 15, }, months = { 7, 8, 9, 10 }, bonusMonths = { 8, 9 }, malusMonths = { 7, 10 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.smallTrees, itemSizeModifier = 1.0, isItemOverrideSize = true, }, PepperHabanero = { type = "Base.PepperHabanero", minCount = 1, maxCount = 4, skill = 6, xp = 5, snowChance = -10, categories = { "Fruits" }, zones = { Forest = 10, FarmLand = 15, Farm = 15, }, months = { 6, 7, 8, 9, 10 }, bonusMonths = { 7, 8, 9 }, malusMonths = { 6, 10 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.smallTrees, itemSizeModifier = 1.0, isItemOverrideSize = true, }, PepperJalapeno = { type = "Base.PepperJalapeno", minCount = 1, maxCount = 4, skill = 6, xp = 5, snowChance = -10, categories = { "Fruits" }, zones = { Forest = 10, FarmLand = 15, Farm = 15, }, months = { 6, 7, 8, 9, 10 }, bonusMonths = { 7, 8, 9 }, malusMonths = { 6, 10 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.smallTrees, itemSizeModifier = 1.0, isItemOverrideSize = true, }, Pineapple = { type = "Base.Pineapple", skill = 10, xp = 15, snowChance = -10, categories = { "Fruits" }, zones = { FarmLand = 3, Farm = 3, }, months = { 2, 3, 4, 5, 6, 7, 8 }, bonusMonths = { 4, 5, 6 }, malusMonths = { 2, 8 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.vines, }, Grapes = { type = "Base.Grapes", skill = 7, xp = 5, snowChance = -10, categories = { "Fruits" }, zones = { Forest = 5, DeepForest = 5, FarmLand = 5, Farm = 5, }, months = { 6, 7, 8, 9, 10, 11, 12 }, bonusMonths = { 8, 9, 10 }, malusMonths = { 6, 12 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.vines, }, Orange = { type = "Base.Orange", minCount = 1, maxCount = 3, skill = 5, xp = 5, snowChance = -10, categories = { "Fruits" }, zones = { Forest = 10, FarmLand = 15, Farm = 15, }, months = { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }, bonusMonths = { 4, 5, 6, 7, 8, 9 }, malusMonths = { 2, 11 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.smallTrees, itemSizeModifier = 1.0, isItemOverrideSize = true, }, Apple = { type = "Base.Apple", minCount = 1, maxCount = 3, skill = 7, xp = 5, snowChance = -10, categories = { "Fruits" }, zones = { Forest = 10, FarmLand = 15, Farm = 15, }, months = { 5, 6, 7, 8, 9, 10, 11, 12 }, bonusMonths = { 7, 8, 9, 10 }, malusMonths = { 5, 12 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.smallTrees, itemSizeModifier = 1.0, isItemOverrideSize = true, }, Banana = { type = "Base.Banana", minCount = 1, maxCount = 1, skill = 9, xp = 15, snowChance = -100, categories = { "Fruits" }, zones = { Forest = 1, FarmLand = 3, Farm = 3, }, bonusMonths = { 3, 4, 5, 6, 7, 8, 9, 10 }, malusMonths = { 1, 2, 11, 12 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.smallTrees, itemSizeModifier = 1.0, isItemOverrideSize = true, }, Watermelon = { type = "Base.Watermelon", skill = 10, xp = 15, snowChance = -20, categories = { "Fruits" }, zones = { Forest = 1, FarmLand = 3, Farm = 3, }, months = { 5, 6, 7, 8, 9, 10, 11, 12 }, bonusMonths = { 7, 8, 9, 10 }, malusMonths = { 5, 12 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.vines, }, --======== VEGETABLES ========-- Onion = { type = "Base.Onion", skill = 3, xp = 5, snowChance = -10, categories = { "Vegetables" }, zones = { Forest = 10, DeepForest = 10, Vegitation = 5, FarmLand = 10, Farm = 10, }, months = { 3, 4, 5, 6, 7, 8, 9 }, bonusMonths = { 5, 6, 7 }, malusMonths = { 3, 9 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.wildPlants, }, Lettuce = { type = "Base.Lettuce", skill = 7, xp = 5, snowChance = -30, categories = { "Vegetables" }, zones = { Vegitation = 1, FarmLand = 4, Farm = 4, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, bonusMonths = { 5, 6, 7 }, malusMonths = { 3, 4 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.vines, }, BellPepper = { type = "Base.BellPepper", skill = 7, xp = 5, snowChance = -20, categories = { "Vegetables" }, zones = { FarmLand = 5, Farm = 5, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, bonusMonths = { 5, 6, 7 }, malusMonths = { 3, 4 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.smallTrees, itemSizeModifier = 1.0, isItemOverrideSize = true, }, Avocado = { type = "Base.Avocado", skill = 8, xp = 15, snowChance = -50, categories = { "Vegetables" }, zones = { FarmLand = 5, Farm = 5, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, bonusMonths = { 5, 6, 7 }, malusMonths = { 3, 4 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.smallTrees, itemSizeModifier = 1.0, isItemOverrideSize = true, }, Zucchini = { type = "Base.Zucchini", skill = 8, xp = 15, snowChance = -30, categories = { "Vegetables" }, zones = { FarmLand = 5, Farm = 5, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, bonusMonths = { 5, 6, 7 }, malusMonths = { 3, 4 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.shrubs, }, Corn = { type = "Base.Corn", skill = 8, xp = 15, snowChance = -30, categories = { "Vegetables" }, zones = { Vegitation = 1, FarmLand = 5, Farm = 5, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, bonusMonths = { 5, 6, 7 }, malusMonths = { 3, 4 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = getTexture("media/textures/Foraging/worldSprites/corn_worldSprite.png"), itemSizeModifier = 1.0, isItemOverrideSize = true, }, Eggplant = { type = "Base.Eggplant", skill = 8, xp = 15, snowChance = -50, categories = { "Vegetables" }, zones = { FarmLand = 3, Farm = 3, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, bonusMonths = { 5, 6, 7 }, malusMonths = { 3, 4 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.shrubs, }, Leek = { type = "Base.Leek", skill = 2, xp = 15, snowChance = -30, categories = { "Vegetables" }, zones = { Forest = 10, DeepForest = 10, Vegitation = 10, FarmLand = 10, Farm = 10, }, months = { 3, 4, 5, 6, 7, 8, 9 }, bonusMonths = { 5, 6, 7 }, malusMonths = { 3, 9 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.wildPlants, }, --======== CROPS ========-- Carrots = { type = "Base.Carrots", skill = 2, xp = 5, snowChance = -30, categories = { "Crops" }, zones = { Forest = 7, Vegitation = 7, FarmLand = 10, Farm = 10, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, bonusMonths = { 5, 6, 7 }, malusMonths = { 3, 4 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn, doWildCropSpawn }, altWorldTexture = { getTexture("media/textures/Foraging/worldSprites/wildcarrot_worldSprite.png") }, }, Broccoli = { type = "Base.Broccoli", skill = 2, xp = 5, snowChance = -30, categories = { "Crops" }, zones = { Forest = 7, Vegitation = 7, FarmLand = 10, Farm = 10, }, months = { 5, 6, 7, 8, 9, 10, 11 }, bonusMonths = { 6, 7, 8 }, malusMonths = { 5, 11 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn, doWildCropSpawn }, altWorldTexture = worldSprites.shrubs, }, Potato = { type = "farming.Potato", skill = 2, xp = 5, snowChance = -30, categories = { "Crops" }, zones = { Forest = 7, Vegitation = 7, FarmLand = 10, Farm = 10, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, bonusMonths = { 5, 6, 7 }, malusMonths = { 3, 4 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn, doWildCropSpawn }, altWorldTexture = getTexture("media/textures/Foraging/worldSprites/wildpotato_worldSprite.png"), }, Cabbage = { type = "farming.Cabbage", skill = 2, xp = 5, snowChance = -10, categories = { "Crops" }, zones = { Forest = 3, Vegitation = 3, FarmLand = 10, Farm = 10, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, bonusMonths = { 5, 6, 7 }, malusMonths = { 3, 4 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn, doWildCropSpawn }, altWorldTexture = getTexture("media/textures/Foraging/worldSprites/wildcabbage_worldSprite.png"), }, Tomato = { type = "farming.Tomato", skill = 2, xp = 5, snowChance = -10, categories = { "Crops" }, zones = { Forest = 3, Vegitation = 3, FarmLand = 10, Farm = 10, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, bonusMonths = { 5, 6, 7 }, malusMonths = { 3, 4 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn, doWildCropSpawn }, altWorldTexture = getTexture("media/textures/Foraging/worldSprites/wildtomato_worldSprite.png"), }, RedRadish = { type = "farming.RedRadish", skill = 2, xp = 5, snowChance = -10, categories = { "Crops" }, zones = { Forest = 3, Vegitation = 3, FarmLand = 10, Farm = 10, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, bonusMonths = { 5, 6, 7 }, malusMonths = { 3, 4 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn, doWildCropSpawn }, altWorldTexture = worldSprites.wildPlants, }, Daikon = { type = "Base.Daikon", skill = 5, xp = 10, snowChance = -10, categories = { "Vegetables" }, zones = { Vegitation = 1, FarmLand = 5, Farm = 5, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, bonusMonths = { 5, 6, 7 }, malusMonths = { 3, 4 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.wildPlants, }, Peanuts = { type = "Base.Peanuts", skill = 7, xp = 15, snowChance = -30, categories = { "Vegetables" }, zones = { Forest = 3, DeepForest = 3, Vegitation = 3, FarmLand = 3, Farm = 3, }, months = { 9, 10, 11 }, bonusMonths = { 10 }, malusMonths = { 11 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.wildPlants, }, Pumpkin = { type = "Base.Pumpkin", skill = 7, xp = 15, snowChance = -30, categories = { "Vegetables" }, zones = { Forest = 1, DeepForest = 1, Vegitation = 1, FarmLand = 1, Farm = 1, }, months = { 9, 10, 11 }, bonusMonths = { 10 }, malusMonths = { 11 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.wildPlants, }, Mango = { type = "Base.Mango", skill = 7, xp = 15, snowChance = -30, categories = { "Vegetables" }, zones = { Forest = 3, DeepForest = 3, Vegitation = 3, FarmLand = 3, Farm = 3, }, months = { 9, 10, 11 }, bonusMonths = { 10 }, malusMonths = { 11 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.smallTrees, }, --======== MUSHROOMS ========-- --(added via generateMushroomDefs) --======== WILD PLANTS ========-- Violets = { type = "Base.Violets", minCount = 3, maxCount = 6, xp = 5, categories = { "WildPlants" }, zones = { Forest = 10, DeepForest = 10, Vegitation = 10, FarmLand = 10, Farm = 10, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, bonusMonths = { 5, 6, 7 }, malusMonths = { 3, 4 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = { {"d_plants_1_40"}, {"d_plants_1_41"}, {"d_plants_1_44"} }, doIsoMarkerObject = true, itemSizeModifier = 1.0, isItemOverrideSize = true, }, SunflowerSeeds = { type = "Base.SunflowerSeeds", minCount = 3, maxCount = 6, xp = 5, rainChance = -50, snowChance = -100, nightChance = -100, categories = { "WildPlants" }, zones = { Forest = 10, DeepForest = 10, Vegitation = 10, FarmLand = 10, Farm = 10, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, bonusMonths = { 5, 6, 7 }, malusMonths = { 3, 4 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = { {"d_plants_1_18", "d_plants_1_26"} }, doIsoMarkerObject = true, itemSizeModifier = 1.0, isItemOverrideSize = true, }, GrapeLeaves = { type = "Base.GrapeLeaves", minCount = 3, maxCount = 6, skill = 2, xp = 5, categories = { "WildPlants" }, zones = { Forest = 10, DeepForest = 10, Vegitation = 10, FarmLand = 10, Farm = 10, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, bonusMonths = { 5, 6, 7 }, malusMonths = { 3, 4 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.vines, }, Rosehips = { type = "Base.Rosehips", minCount = 3, maxCount = 6, skill = 4, xp = 5, rainChance = 20, snowChance = -100, categories = { "WildPlants" }, zones = { Forest = 10, DeepForest = 10, Vegitation = 10, FarmLand = 10, Farm = 10, }, months = { 1, 2, 5, 6, 7, 8, 9, 10, 11, 12, }, bonusMonths = { 9, 10, 11 }, malusMonths = { 5, 6 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.shrubs, }, Acorn = { type = "Base.Acorn", minCount = 3, maxCount = 6, xp = 5, categories = { "WildPlants" }, zones = { Forest = 10, DeepForest = 10, Vegitation = 10, FarmLand = 10, Farm = 10, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, bonusMonths = { 5, 6, 7 }, malusMonths = { 3, 4 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, itemSizeModifier = 1.0, isItemOverrideSize = true, }, Dandelions = { type = "Base.Dandelions", minCount = 3, maxCount = 6, xp = 5, categories = { "WildPlants" }, zones = { Forest = 10, DeepForest = 10, Vegitation = 10, FarmLand = 10, Farm = 10, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, bonusMonths = { 5, 6, 7 }, malusMonths = { 3, 4 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, itemSizeModifier = 1.0, isItemOverrideSize = true, }, Nettles = { type = "Base.Nettles", minCount = 3, maxCount = 6, xp = 5, categories = { "WildPlants" }, zones = { Forest = 10, DeepForest = 10, Vegitation = 10, FarmLand = 10, Farm = 10, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, bonusMonths = { 5, 6, 7 }, malusMonths = { 3, 4 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, itemSizeModifier = 1.0, isItemOverrideSize = true, }, GingerRoot = { type = "Base.GingerRoot", minCount = 1, maxCount = 3, xp = 15, categories = { "WildPlants" }, zones = { Forest = 1, DeepForest = 1, Vegitation = 1, FarmLand = 1, Farm = 1, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, bonusMonths = { 5, 6, 7 }, malusMonths = { 3, 4 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, itemSizeModifier = 1.0, isItemOverrideSize = true, }, Thistle = { type = "Base.Thistle", minCount = 3, maxCount = 6, xp = 5, categories = { "WildPlants" }, zones = { Forest = 10, DeepForest = 10, Vegitation = 10, FarmLand = 10, Farm = 10, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, bonusMonths = { 5, 6, 7 }, malusMonths = { 3, 4 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, itemSizeModifier = 1.0, isItemOverrideSize = true, }, --======== WILD HERBS ========-- --(added via generateHerbDefs) --======== MEDICINAL PLANTS ========-- Plantain = { type = "Base.Plantain", minCount = 2, maxCount = 8, xp = 15, recipes = { "Herbalist" }, categories = { "MedicinalPlants" }, zones = { Forest = 10, DeepForest = 15, Vegitation = 5, FarmLand = 5, Farm = 5, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, altWorldTexture = worldSprites.wildPlants, }, Comfrey = { type = "Base.Comfrey", minCount = 2, maxCount = 8, xp = 15, recipes = { "Herbalist" }, categories = { "MedicinalPlants" }, zones = { Forest = 10, DeepForest = 15, Vegitation = 5, FarmLand = 5, Farm = 5, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, altWorldTexture = worldSprites.vines, }, WildGarlic = { type = "Base.WildGarlic2",--changed to this so it could server as a food item minCount = 2, maxCount = 8, xp = 15, recipes = { "Herbalist" }, categories = { "MedicinalPlants" }, zones = { Forest = 10, DeepForest = 15, Vegitation = 5, FarmLand = 5, Farm = 5, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, altWorldTexture = worldSprites.wildPlants, }, CommonMallow = { type = "Base.CommonMallow", minCount = 2, maxCount = 8, xp = 15, recipes = { "Herbalist" }, categories = { "MedicinalPlants" }, zones = { Forest = 10, DeepForest = 15, Vegitation = 5, FarmLand = 5, Farm = 5, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.vines, }, LemonGrass = { type = "Base.LemonGrass", minCount = 2, maxCount = 8, xp = 5, categories = { "MedicinalPlants" }, zones = { Forest = 10, DeepForest = 15, Vegitation = 15, FarmLand = 5, Farm = 5, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = getTexture("media/textures/Foraging/worldSprites/lemongrass_worldSprite.png"), }, BlackSage = { type = "Base.BlackSage", minCount = 2, maxCount = 8, xp = 15, recipes = { "Herbalist" }, categories = { "MedicinalPlants" }, zones = { Forest = 10, DeepForest = 15, Vegitation = 5, FarmLand = 5, Farm = 5, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.wildPlants, }, Ginseng = { type = "Base.Ginseng", minCount = 2, maxCount = 8, xp = 15, recipes = { "Herbalist" }, categories = { "MedicinalPlants" }, zones = { Forest = 10, DeepForest = 15, Vegitation = 5, FarmLand = 5, Farm = 5, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, altWorldTexture = worldSprites.wildPlants, }, --======== ANIMALS ========-- WildEggs = { type = "Base.WildEggs", minCount = 1, maxCount = 3, skill = 8, xp = 10, rainChance = -20, snowChance = -20, categories = { "Animals" }, zones = { Forest = 5, DeepForest = 10, Vegitation = 5, FarmLand = 5, Farm = 5, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, malusMonths = { 3, 4 }, spawnFuncs = { doRandomAgeSpawn }, }, Egg = { type = "Base.Egg", minCount = 1, maxCount = 3, skill = 8, xp = 10, rainChance = -20, snowChance = -20, categories = { "Animals" }, zones = { Forest = 5, DeepForest = 10, Vegitation = 5, FarmLand = 5, Farm = 5, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, malusMonths = { 3, 4 }, spawnFuncs = { doRandomAgeSpawn }, }, Worm = { type = "Base.Worm", minCount = 1, maxCount = 2, skill = 0, xp = 10, rainChance = 100, snowChance = -100, dayChance = -50, nightChance = 50, --itemTags = { "DigPlow" }, categories = { "FishBait" }, zones = { Forest = 5, DeepForest = 5, Vegitation = 5, FarmLand = 5, Farm = 5, TrailerPark = 5, TownZone = 5, Nav = 5, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, malusMonths = { 3, 4 }, }, Frog = { type = "Base.Frog", skill = 7, xp = 10, rainChance = 100, snowChance = -100, dayChance = -50, nightChance = 50, categories = { "Animals" }, zones = { Forest = 5, DeepForest = 5, Vegitation = 5, FarmLand = 2, Farm = 2, TrailerPark = 0, TownZone = 0, Nav = 0, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, malusMonths = { 3, 4 }, }, Slug = { type = "Base.Slug", skill = 3, xp = 10, rainChance = 100, snowChance = -100, dayChance = -50, nightChance = 50, categories = { "Animals" }, zones = { Forest = 5, DeepForest = 5, Vegitation = 5, FarmLand = 2, Farm = 2, TrailerPark = 0, TownZone = 0, Nav = 0, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, malusMonths = { 3, 4 }, }, Slug2 = { type = "Base.Slug2", skill = 3, xp = 10, rainChance = 100, snowChance = -100, dayChance = -50, nightChance = 50, categories = { "Animals" }, zones = { Forest = 5, DeepForest = 5, Vegitation = 5, FarmLand = 2, Farm = 2, TrailerPark = 0, TownZone = 0, Nav = 0, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, malusMonths = { 3, 4 }, }, Snail = { type = "Base.Snail", skill = 3, xp = 10, rainChance = 100, snowChance = -100, dayChance = -50, nightChance = 50, categories = { "Animals" }, zones = { Forest = 5, DeepForest = 5, Vegitation = 5, FarmLand = 2, Farm = 2, TrailerPark = 0, TownZone = 0, Nav = 0, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, malusMonths = { 3, 4 }, }, --======== DEAD ANIMALS ========-- DeadBird = { type = "Base.DeadBird", skill = 7, xp = 10, rainChance = -10, snowChance = -10, categories = { "DeadAnimals" }, zones = { Forest = 2, DeepForest = 2, Vegitation = 2, FarmLand = 2, Farm = 2, TrailerPark = 2, TownZone = 2, Nav = 2, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, malusMonths = { 3, 4 }, spawnFuncs = { doDeadTrapAnimalSpawn }, forceOutside = false, canBeAboveFloor = true, }, DeadSquirrel = { type = "Base.DeadSquirrel", skill = 8, xp = 10, rainChance = -10, snowChance = -10, categories = { "DeadAnimals" }, zones = { Forest = 2, DeepForest = 2, Vegitation = 2, FarmLand = 1, Farm = 1, TrailerPark = 2, TownZone = 2, Nav = 1, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, malusMonths = { 3, 4 }, spawnFuncs = { doDeadTrapAnimalSpawn }, }, DeadRabbit = { type = "Base.DeadRabbit", skill = 10, xp = 10, rainChance = -10, snowChance = -10, categories = { "DeadAnimals" }, zones = { Forest = 1, DeepForest = 1, Vegitation = 2, FarmLand = 2, Farm = 2, TrailerPark = 0, TownZone = 0, Nav = 1, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, malusMonths = { 3, 4 }, spawnFuncs = { doDeadTrapAnimalSpawn }, }, DeadRat = { type = "Base.DeadRat", skill = 5, xp = 10, rainChance = -10, snowChance = -10, categories = { "DeadAnimals" }, zones = { Forest = 2, DeepForest = 2, Vegitation = 2, FarmLand = 5, Farm = 5, TrailerPark = 10, TownZone = 10, Nav = 1, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, malusMonths = { 3, 4 }, spawnFuncs = { doDeadTrapAnimalSpawn }, forceOutside = false, canBeAboveFloor = true, }, --======== INSECTS ========-- Cricket = { type = "Base.Cricket", skill = 0, xp = 5, rainChance = 50, snowChance = -100, nightChance = 100, categories = { "Insects", "FishBait" }, zones = { Forest = 10, DeepForest = 10, Vegitation = 10, FarmLand = 10, Farm = 10, TrailerPark = 10, TownZone = 10, Nav = 10, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, malusMonths = { 3, 4 }, forceOutside = false, canBeAboveFloor = true, }, Grasshopper = { type = "Base.Grasshopper", skill = 0, xp = 5, rainChance = 20, snowChance = -100, dayChance = 100, categories = { "Insects", "FishBait" }, zones = { Forest = 10, DeepForest = 10, Vegitation = 10, FarmLand = 10, Farm = 10, TrailerPark = 10, TownZone = 10, Nav = 10, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, bonusMonths = { 6, 7, 8 }, malusMonths = { 3, 4 }, forceOutside = false, canBeAboveFloor = true, }, Cockroach = { type = "Base.Cockroach", skill = 0, xp = 5, rainChance = 10, snowChance = -20, nightChance = 100, categories = { "Insects", "FishBait" }, zones = { Forest = 10, DeepForest = 10, Vegitation = 10, FarmLand = 10, Farm = 10, TrailerPark = 10, TownZone = 10, Nav = 10, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, malusMonths = { 3, 4 }, forceOutside = false, canBeAboveFloor = true, }, Pillbug = { type = "Base.Pillbug", skill = 0, xp = 5, rainChance = 10, snowChance = -20, nightChance = 100, categories = { "Insects", "FishBait" }, zones = { Forest = 3, DeepForest = 3, Vegitation = 3, FarmLand = 3, Farm = 3, TrailerPark = 3, TownZone = 3, Nav = 3, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, malusMonths = { 3, 4 }, forceOutside = false, canBeAboveFloor = true, }, Centipede = { type = "Base.Centipede", skill = 0, xp = 5, rainChance = 10, snowChance = -20, nightChance = 100, categories = { "Insects", "FishBait" }, zones = { Forest = 3, DeepForest = 3, Vegitation = 3, FarmLand = 3, Farm = 3, TrailerPark = 3, TownZone = 3, Nav = 3, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, malusMonths = { 3, 4 }, forceOutside = false, canBeAboveFloor = true, }, Centipede2 = { type = "Base.Centipede2", skill = 0, xp = 5, rainChance = 10, snowChance = -20, nightChance = 100, categories = { "Insects", "FishBait" }, zones = { Forest = 3, DeepForest = 3, Vegitation = 3, FarmLand = 3, Farm = 3, TrailerPark = 3, TownZone = 3, Nav = 3, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, malusMonths = { 3, 4 }, forceOutside = false, canBeAboveFloor = true, }, Millipede = { type = "Base.Millipede", skill = 0, xp = 5, rainChance = 10, snowChance = -20, nightChance = 100, categories = { "Insects", "FishBait" }, zones = { Forest = 3, DeepForest = 3, Vegitation = 3, FarmLand = 3, Farm = 3, TrailerPark = 3, TownZone = 3, Nav = 3, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, malusMonths = { 3, 4 }, forceOutside = false, canBeAboveFloor = true, }, Millipede2 = { type = "Base.Millipede2", skill = 0, xp = 5, rainChance = 10, snowChance = -20, nightChance = 100, categories = { "Insects", "FishBait" }, zones = { Forest = 3, DeepForest = 3, Vegitation = 3, FarmLand = 3, Farm = 3, TrailerPark = 3, TownZone = 3, Nav = 3, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, malusMonths = { 3, 4 }, forceOutside = false, canBeAboveFloor = true, }, AmericanLadyCaterpillar = { type = "Base.AmericanLadyCaterpillar", skill = 0, xp = 5, rainChance = 10, snowChance = -20, nightChance = 100, categories = { "Insects", "FishBait" }, zones = { Forest = 3, DeepForest = 3, Vegitation = 3, FarmLand = 3, Farm = 3, TrailerPark = 3, TownZone = 3, Nav = 3, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, malusMonths = { 3, 4 }, forceOutside = false, canBeAboveFloor = true, }, BandedWoolyBearCaterpillar = { type = "Base.BandedWoolyBearCaterpillar", skill = 0, xp = 5, rainChance = 10, snowChance = -20, nightChance = 100, categories = { "Insects", "FishBait" }, zones = { Forest = 3, DeepForest = 3, Vegitation = 3, FarmLand = 3, Farm = 3, TrailerPark = 3, TownZone = 3, Nav = 3, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, malusMonths = { 3, 4 }, forceOutside = false, canBeAboveFloor = true, }, MonarchCaterpillar = { type = "Base.MonarchCaterpillar", skill = 0, xp = 5, rainChance = 10, snowChance = -20, nightChance = 100, categories = { "Insects", "FishBait" }, zones = { Forest = 3, DeepForest = 3, Vegitation = 3, FarmLand = 3, Farm = 3, TrailerPark = 3, TownZone = 3, Nav = 3, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, malusMonths = { 3, 4 }, forceOutside = false, canBeAboveFloor = true, }, SilkMothCaterpillar = { type = "Base.SilkMothCaterpillar", skill = 0, xp = 5, rainChance = 10, snowChance = -20, nightChance = 100, categories = { "Insects", "FishBait" }, zones = { Forest = 3, DeepForest = 3, Vegitation = 3, FarmLand = 3, Farm = 3, TrailerPark = 3, TownZone = 3, Nav = 3, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, malusMonths = { 3, 4 }, forceOutside = false, canBeAboveFloor = true, }, SwallowtailCaterpillar = { type = "Base.SwallowtailCaterpillar", skill = 0, xp = 5, rainChance = 10, snowChance = -20, nightChance = 100, categories = { "Insects", "FishBait" }, zones = { Forest = 3, DeepForest = 3, Vegitation = 3, FarmLand = 3, Farm = 3, TrailerPark = 3, TownZone = 3, Nav = 3, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, malusMonths = { 3, 4 }, forceOutside = false, canBeAboveFloor = true, }, Termites = { type = "Base.Termites", skill = 0, xp = 5, rainChance = 10, snowChance = -20, nightChance = 100, categories = { "Insects", "FishBait" }, zones = { Forest = 3, DeepForest = 3, Vegitation = 3, FarmLand = 3, Farm = 3, TrailerPark = 3, TownZone = 3, Nav = 3, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, malusMonths = { 3, 4 }, forceOutside = false, canBeAboveFloor = true, }, --======== FOREST GOODS ========-- Log = { type = "Base.Log", skill = 0, xp = 5, categories = { "Firewood" }, zones = { DeepForest = 3, Forest = 2, Vegitation = 1, }, bonusMonths = { 9, 10, 11 }, itemSizeModifier = 5, isItemOverrideSize = true, }, TreeBranch = { type = "Base.TreeBranch", minCount = 1, maxCount = 2, xp = 2, categories = { "Firewood" }, zones = { DeepForest = 15, Forest = 15, Vegitation = 10, FarmLand = 10, Farm = 10, TrailerPark = 5, TownZone = 5, Nav = 5, }, bonusMonths = { 9, 10, 11 }, }, Twigs = { type = "Base.Twigs", minCount = 1, maxCount = 3, xp = 1, categories = { "Firewood" }, zones = { Forest = 20, DeepForest = 20, Vegitation = 20, FarmLand = 15, Farm = 15, TrailerPark = 10, TownZone = 10, Nav = 10, }, bonusMonths = { 9, 10, 11 }, }, Pinecone = { type = "Base.Pinecone", minCount = 1, maxCount = 3, xp = 1, categories = { "Firewood" }, zones = { DeepForest = 15, Forest = 15, Vegitation = 10, FarmLand = 10, Farm = 10, TrailerPark = 5, TownZone = 5, Nav = 5, }, months = { 9, 10, 11, 12 }, }, SharpedStone = { type = "Base.SharpedStone", snowChance = -50, xp = 2, categories = { "Stones" }, zones = { Forest = 5, DeepForest = 5, Vegitation = 5, FarmLand = 5, Farm = 5, TrailerPark = 5, TownZone = 5, Nav = 5, }, }, Stone = { type = "Base.Stone", snowChance = -50, xp = 1, categories = { "Stones" }, zones = { Forest = 5, DeepForest = 5, Vegitation = 5, FarmLand = 5, Farm = 5, TrailerPark = 5, TownZone = 5, Nav = 5, }, months = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }, }, --======== FOREST RARITIES ========-- CampfireKit = { type = "camping.CampfireKit", skill = 2, xp = 15, categories = { "ForestRarities" }, zones = { DeepForest = 10, }, }, CampingTentKit = { type = "camping.CampingTentKit", skill = 2, xp = 15, categories = { "ForestRarities" }, zones = { DeepForest = 10, }, }, HottieZ = { type = "Base.HottieZ", skill = 0, xp = 15, categories = { "ForestRarities" }, zones = { DeepForest = 1, }, }, Tarp = { type = "Base.Tarp", skill = 2, xp = 25, categories = { "ForestRarities" }, zones = { DeepForest = 5, }, }, TentPeg = { type = "camping.TentPeg", minCount = 4, maxCount = 6, skill = 2, xp = 15, categories = { "ForestRarities" }, zones = { DeepForest = 10, }, }, TrapBox = { type = "Base.TrapBox", skill = 8, xp = 15, categories = { "ForestRarities" }, zones = { DeepForest = 1, }, }, TrapCage = { type = "Base.TrapCage", skill = 8, xp = 15, categories = { "ForestRarities" }, zones = { DeepForest = 1, }, }, TrapCrate = { type = "Base.TrapCrate", skill = 8, xp = 15, categories = { "ForestRarities" }, zones = { DeepForest = 1, }, }, TrapMouse = { type = "Base.TrapMouse", skill = 8, xp = 15, categories = { "ForestRarities" }, zones = { DeepForest = 1, }, }, TrapSnare = { type = "Base.TrapSnare", skill = 8, xp = 15, categories = { "ForestRarities" }, zones = { DeepForest = 1, }, }, TrapStick = { type = "Base.TrapStick", skill = 8, xp = 15, categories = { "ForestRarities" }, zones = { DeepForest = 1, }, }, Bag_NormalHikingBag = { type = "Base.Bag_NormalHikingBag", skill = 8, xp = 15, categories = { "ForestRarities" }, zones = { DeepForest = 1, }, }, Bag_BigHikingBag = { type = "Base.Bag_BigHikingBag", skill = 8, xp = 15, categories = { "ForestRarities" }, zones = { DeepForest = 1, }, }, --======== TRASH ITEMS ========-- --(added via generateJunkDefs) --======== JUNK ITEMS ========-- --(added via generateJunkDefs) }; ------------------------------------------------- ------------------------------------------------- local function generateBerryDefs() local items = { generic = { chance = 15, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, poisonChance = 5, poisonPowerMin = 1, poisonPowerMax = 10, poisonDetectionLevel = 5, spawnFuncs = { doPoisonItemSpawn, doWildFoodSpawn, doRandomAgeSpawn }, items = { BerryGeneric5 = "Base.BerryGeneric5", BerryGeneric4 = "Base.BerryGeneric4", BerryGeneric3 = "Base.BerryGeneric3", BerryGeneric2 = "Base.BerryGeneric2", BerryGeneric1 = "Base.BerryGeneric1", BerryPoisonIvy = "Base.BerryPoisonIvy", }, }, specific = { chance = 10, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, poisonChance = 0, poisonPowerMin = 0, poisonPowerMax = 0, poisonDetectionLevel = 0, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, items = { BerryBlack = "Base.BerryBlack", BerryBlue = "Base.BerryBlue", }, }, winter = { chance = 10, months = { 1, 2, 3, 9, 10, 11, 12 }, poisonChance = 0, poisonPowerMin = 0, poisonPowerMax = 0, poisonDetectionLevel = 0, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, items = { BeautyBerry = "Base.BeautyBerry", WinterBerry = "Base.WinterBerry", }, }, --guaranteed poison berry poison = { chance = 10, months = { 1, 2, 3, 9, 10, 11, 12 }, poisonChance = 1000, --ensure the chance will not be affected by skill poisonPowerMin = 5, poisonPowerMax = 10, poisonDetectionLevel = 5, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn, doPoisonItemSpawn }, items = { HollyBerry = "Base.HollyBerry", }, }, }; for _, spawnTable in pairs(items) do for itemName, itemFullName in pairs(spawnTable.items) do forageDefs[itemName] = { type = itemFullName, minCount = 1, maxCount = 4, xp = 5, snowChance = -10, categories = { "Berries" }, zones = { Forest = spawnTable.chance, DeepForest = spawnTable.chance, Vegitation = spawnTable.chance, FarmLand = spawnTable.chance, Farm = spawnTable.chance, }, months = spawnTable.months, bonusMonths = { 5, 6, 7 }, malusMonths = { 3, 4 }, spawnFuncs = spawnTable.spawnFuncs, poisonChance = spawnTable.poisonChance, poisonPowerMin = spawnTable.poisonPowerMin, poisonPowerMax = spawnTable.poisonPowerMax, poisonDetectionLevel = spawnTable.poisonDetectionLevel, altWorldTexture = worldSprites.berryBushes, doIsoMarkerObject = true, itemSizeModifier = 1.0, }; end; end; end generateBerryDefs(); ------------------------------------------------- ------------------------------------------------- local function generateMushroomDefs() local items = { generic = { chance = 15, poisonChance = 10, poisonPowerMin = 5, poisonPowerMax = 50, poisonDetectionLevel = 5, spawnFuncs = { doPoisonItemSpawn, doWildFoodSpawn, doRandomAgeSpawn }, items = { MushroomGeneric7 = "Base.MushroomGeneric7", MushroomGeneric6 = "Base.MushroomGeneric6", MushroomGeneric5 = "Base.MushroomGeneric5", MushroomGeneric4 = "Base.MushroomGeneric4", MushroomGeneric3 = "Base.MushroomGeneric3", MushroomGeneric2 = "Base.MushroomGeneric2", MushroomGeneric1 = "Base.MushroomGeneric1", }, }, }; for _, spawnTable in pairs(items) do for itemName, itemFullName in pairs(spawnTable.items) do forageDefs[itemName] = { type = itemFullName, minCount = 1, maxCount = 3, xp = 5, rainChance = 15, categories = { "Mushrooms" }, zones = { Forest = spawnTable.chance, DeepForest = spawnTable.chance, Vegitation = spawnTable.chance, FarmLand = spawnTable.chance, Farm = spawnTable.chance, TrailerPark = spawnTable.chance, TownZone = spawnTable.chance, Nav = spawnTable.chance, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, bonusMonths = { 8, 9, 10 }, malusMonths = { 3, 4 }, spawnFuncs = spawnTable.spawnFuncs, poisonChance = spawnTable.poisonChance, poisonPowerMin = spawnTable.poisonPowerMin, poisonPowerMax = spawnTable.poisonPowerMax, poisonDetectionLevel = spawnTable.poisonDetectionLevel, }; end; end; end generateMushroomDefs(); ------------------------------------------------- ------------------------------------------------- local function generateHerbDefs() local items = { generic = { chance = 1, spawnFuncs = { doWildFoodSpawn, doRandomAgeSpawn }, items = { Basil = "Base.Basil", Chives = "Base.Chives", Cilantro = "Base.Cilantro", Oregano = "Base.Oregano", Parsley = "Base.Parsley", Rosemary = "Base.Rosemary", Sage = "Base.Sage", Thyme = "Base.Thyme", }, }, }; for _, spawnTable in pairs(items) do for itemName, itemFullName in pairs(spawnTable.items) do forageDefs[itemName] = { type = itemFullName, minCount = 1, maxCount = 3, xp = 5, rainChance = 15, categories = { "WildHerbs" }, zones = { Forest = spawnTable.chance, DeepForest = spawnTable.chance, Vegitation = spawnTable.chance, FarmLand = spawnTable.chance, Farm = spawnTable.chance, TrailerPark = spawnTable.chance, TownZone = spawnTable.chance, Nav = spawnTable.chance, }, months = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }, bonusMonths = { 8, 9, 10 }, malusMonths = { 3, 4 }, spawnFuncs = spawnTable.spawnFuncs, }; end; end; end generateHerbDefs(); ------------------------------------------------- ------------------------------------------------- local function generateAmmoDefs() local ammunition = { uncommon = { chance = 50, xp = 5, maxCount = 3, items = { ["ShotgunShells"] = "Base.ShotgunShells", ["Bullets38"] = "Base.Bullets38", ["Bullets9mm"] = "Base.Bullets9mm", ["Bullets45"] = "Base.Bullets45", ["Bullets44"] = "Base.Bullets44", ["223Bullets"] = "Base.223Bullets", ["308Bullets"] = "Base.308Bullets", ["556Bullets"] = "Base.556Bullets", }, }, rare = { chance = 5, xp = 10, maxCount = 2, items = { ["223Clip"] = "Base.223Clip", ["308Clip"] = "Base.308Clip", ["44Clip"] = "Base.44Clip", ["45Clip"] = "Base.45Clip", ["556Clip"] = "Base.556Clip", ["9mmClip"] = "Base.9mmClip", ["M14Clip"] = "Base.M14Clip", }, }, legendary = { chance = 1, xp = 25, maxCount = 1, items = { ["223Box"] = "Base.223Box", ["308Box"] = "Base.308Box", ["Bullets38Box"] = "Base.Bullets38Box", ["Bullets44Box"] = "Base.Bullets44Box", ["Bullets45Box"] = "Base.Bullets45Box", ["Bullets9mmBox"] = "Base.Bullets9mmBox", ["ShotgunShellsBox"] = "Base.ShotgunShellsBox", ["556Box"] = "Base.556Box", }, }, }; for _, spawnTable in pairs(ammunition) do for itemName, itemFullName in pairs(spawnTable.items) do forageDefs[itemName] = { type = itemFullName, minCount = 1, maxCount = spawnTable.maxCount; skill = 4, xp = spawnTable.xp, categories = { "Ammunition" }, zones = { Vegitation = spawnTable.chance, TrailerPark = spawnTable.chance, TownZone = spawnTable.chance, Nav = spawnTable.chance, }, forceOutside = false, canBeAboveFloor = true, }; end; end; end generateAmmoDefs(); ------------------------------------------------- ------------------------------------------------- local function generateClothingDefs() local clothing = { common = { chance = 5, xp = 5, items = { ["Hat_Antlers"] = "Base.Hat_Antlers", ["Hat_Army"] = "Base.Hat_Army", ["Hat_BalaclavaFace"] = "Base.Hat_BalaclavaFace", ["Hat_BalaclavaFull"] = "Base.Hat_BalaclavaFull", ["Hat_Bandana"] = "Base.Hat_Bandana", ["Hat_BandanaMask"] = "Base.Hat_BandanaMask", ["Hat_BandanaMaskTINT"] = "Base.Hat_BandanaMaskTINT", ["Hat_BandanaTINT"] = "Base.Hat_BandanaTINT", ["Hat_BandanaTied"] = "Base.Hat_BandanaTied", ["Hat_BandanaTiedTINT"] = "Base.Hat_BandanaTiedTINT", ["Hat_BaseballCap"] = "Base.Hat_BaseballCap", ["Hat_BaseballCapArmy"] = "Base.Hat_BaseballCapArmy", ["Hat_BaseballCapArmy_Reverse"] = "Base.Hat_BaseballCapArmy_Reverse", ["Hat_BaseballCapBlue"] = "Base.Hat_BaseballCapBlue", ["Hat_BaseballCapBlue_Reverse"] = "Base.Hat_BaseballCapBlue_Reverse", ["Hat_BaseballCapGreen"] = "Base.Hat_BaseballCapGreen", ["Hat_BaseballCapGreen_Reverse"] = "Base.Hat_BaseballCapGreen_Reverse", ["Hat_BaseballCapKY"] = "Base.Hat_BaseballCapKY", ["Hat_BaseballCapKY_Red"] = "Base.Hat_BaseballCapKY_Red", ["Hat_BaseballCapKY_Reverse"] = "Base.Hat_BaseballCapKY_Reverse", ["Hat_BaseballCapRed"] = "Base.Hat_BaseballCapRed", ["Hat_BaseballCapRed_Reverse"] = "Base.Hat_BaseballCapRed_Reverse", ["Hat_BaseballCap_Reverse"] = "Base.Hat_BaseballCap_Reverse", ["Hat_BaseballHelmet_KY"] = "Base.Hat_BaseballHelmet_KY", ["Hat_BaseballHelmet_Rangers"] = "Base.Hat_BaseballHelmet_Rangers", ["Hat_BaseballHelmet_Z"] = "Base.Hat_BaseballHelmet_Z", ["Hat_Beany"] = "Base.Hat_Beany", ["Hat_Beret"] = "Base.Hat_Beret", ["Hat_BeretArmy"] = "Base.Hat_BeretArmy", ["Hat_BicycleHelmet"] = "Base.Hat_BicycleHelmet", ["Hat_BonnieHat"] = "Base.Hat_BonnieHat", ["Hat_BonnieHat_CamoGreen"] = "Base.Hat_BonnieHat_CamoGreen", ["Hat_BoxingBlue"] = "Base.Hat_BoxingBlue", ["Hat_BoxingRed"] = "Base.Hat_BoxingRed", ["Hat_BucketHat"] = "Base.Hat_BucketHat", ["Hat_BunnyEarsBlack"] = "Base.Hat_BunnyEarsBlack", ["Hat_BunnyEarsWhite"] = "Base.Hat_BunnyEarsWhite", ["Hat_ChefHat"] = "Base.Hat_ChefHat", ["Hat_Cowboy"] = "Base.Hat_Cowboy", ["Hat_CrashHelmet"] = "Base.Hat_CrashHelmet", ["Hat_CrashHelmetFULL"] = "Base.Hat_CrashHelmetFULL", ["Hat_CrashHelmet_Police"] = "Base.Hat_CrashHelmet_Police", ["Hat_CrashHelmet_Stars"] = "Base.Hat_CrashHelmet_Stars", ["Hat_DustMask"] = "Base.Hat_DustMask", ["Hat_EarMuff_Protectors"] = "Base.Hat_EarMuff_Protectors", ["Hat_EarMuffs"] = "Base.Hat_EarMuffs", ["Hat_FastFood"] = "Base.Hat_FastFood", ["Hat_FastFood_IceCream"] = "Base.Hat_FastFood_IceCream", ["Hat_FastFood_Spiffo"] = "Base.Hat_FastFood_Spiffo", ["Hat_Fedora"] = "Base.Hat_Fedora", ["Hat_Fedora_Delmonte"] = "Base.Hat_Fedora_Delmonte", ["Hat_Fireman"] = "Base.Hat_Fireman", ["Hat_FootballHelmet"] = "Base.Hat_FootballHelmet", ["Hat_FurryEars"] = "Base.Hat_FurryEars", ["Hat_GasMask"] = "Base.Hat_GasMask", ["Hat_GoldStar"] = "Base.Hat_GoldStar", ["Hat_GolfHat"] = "Base.Hat_GolfHat", ["Hat_GolfHatTINT"] = "Base.Hat_GolfHatTINT", ["Hat_HardHat"] = "Base.Hat_HardHat", ["Hat_HardHat_Miner"] = "Base.Hat_HardHat_Miner", ["Hat_HockeyHelmet"] = "Base.Hat_HockeyHelmet", ["Hat_HockeyMask"] = "Base.Hat_HockeyMask", ["Hat_Jay"] = "Base.Hat_Jay", ["Hat_JockeyHelmet01"] = "Base.Hat_JockeyHelmet01", ["Hat_JockeyHelmet02"] = "Base.Hat_JockeyHelmet02", ["Hat_JockeyHelmet03"] = "Base.Hat_JockeyHelmet03", ["Hat_JockeyHelmet04"] = "Base.Hat_JockeyHelmet04", ["Hat_JockeyHelmet05"] = "Base.Hat_JockeyHelmet05", ["Hat_JockeyHelmet06"] = "Base.Hat_JockeyHelmet06", ["Hat_JokeArrow"] = "Base.Hat_JokeArrow", ["Hat_JokeKnife"] = "Base.Hat_JokeKnife", ["Hat_NBCmask"] = "Base.Hat_NBCmask", ["Hat_NewspaperHat"] = "Base.Hat_NewspaperHat", ["Hat_PartyHat_Stars"] = "Base.Hat_PartyHat_Stars", ["Hat_PartyHat_TINT"] = "Base.Hat_PartyHat_TINT", ["Hat_PeakedCapArmy"] = "Base.Hat_PeakedCapArmy", ["Hat_Police"] = "Base.Hat_Police", ["Hat_Police_Grey"] = "Base.Hat_Police_Grey", ["Hat_Raccoon"] = "Base.Hat_Raccoon", ["Hat_Ranger"] = "Base.Hat_Ranger", ["Hat_RidingHelmet"] = "Base.Hat_RidingHelmet", ["Hat_RiotHelmet"] = "Base.Hat_RiotHelmet", ["Hat_SPHhelmet"] = "Base.Hat_SPHhelmet", ["Hat_SantaHat"] = "Base.Hat_SantaHat", ["Hat_SantaHatGreen"] = "Base.Hat_SantaHatGreen", ["Hat_ShowerCap"] = "Base.Hat_ShowerCap", ["Hat_Spiffo"] = "Base.Hat_Spiffo", ["Hat_SummerHat"] = "Base.Hat_SummerHat", ["Hat_SurgicalCap_Blue"] = "Base.Hat_SurgicalCap_Blue", ["Hat_SurgicalCap_Green"] = "Base.Hat_SurgicalCap_Green", ["Hat_SurgicalMask_Blue"] = "Base.Hat_SurgicalMask_Blue", ["Hat_SurgicalMask_Green"] = "Base.Hat_SurgicalMask_Green", ["Hat_Sweatband"] = "Base.Hat_Sweatband", ["Hat_TinFoilHat"] = "Base.Hat_TinFoilHat", ["Hat_VisorBlack"] = "Base.Hat_VisorBlack", ["Hat_VisorRed"] = "Base.Hat_VisorRed", ["Hat_Visor_WhiteTINT"] = "Base.Hat_Visor_WhiteTINT", ["Hat_WeddingVeil"] = "Base.Hat_WeddingVeil", ["Hat_WinterHat"] = "Base.Hat_WinterHat", ["Hat_WoolyHat"] = "Base.Hat_WoolyHat", ["WeldingMask"] = "Base.WeldingMask", }, }, uncommon = { chance = 3, xp = 5, items = { ["Apron_Black"] = "Base.Apron_Black", ["Apron_IceCream"] = "Base.Apron_IceCream", ["Apron_Jay"] = "Base.Apron_Jay", ["Apron_PileOCrepe"] = "Base.Apron_PileOCrepe", ["Apron_PizzaWhirled"] = "Base.Apron_PizzaWhirled", ["Apron_Spiffos"] = "Base.Apron_Spiffos", ["Apron_White"] = "Base.Apron_White", ["Apron_WhiteTEXTURE"] = "Base.Apron_WhiteTEXTURE", ["Bikini_Pattern01"] = "Base.Bikini_Pattern01", ["Bikini_TINT"] = "Base.Bikini_TINT", ["Boilersuit"] = "Base.Boilersuit", ["Boilersuit_BlueRed"] = "Base.Boilersuit_BlueRed", ["Boilersuit_Flying"] = "Base.Boilersuit_Flying", ["Boilersuit_Prisoner"] = "Base.Boilersuit_Prisoner", ["Boilersuit_PrisonerKhaki"] = "Base.Boilersuit_PrisonerKhaki", ["Boilersuit_Yellow"] = "Base.Boilersuit_Yellow", ["BoobTube"] = "Base.BoobTube", ["BoobTubeSmall"] = "Base.BoobTubeSmall", ["Boxers_Hearts"] = "Base.Boxers_Hearts", ["Boxers_RedStripes"] = "Base.Boxers_RedStripes", ["Boxers_Silk_Black"] = "Base.Boxers_Silk_Black", ["Boxers_Silk_Red"] = "Base.Boxers_Silk_Red", ["Boxers_White"] = "Base.Boxers_White", ["Bra_Strapless_AnimalPrint"] = "Base.Bra_Strapless_AnimalPrint", ["Bra_Strapless_Black"] = "Base.Bra_Strapless_Black", ["Bra_Strapless_FrillyBlack"] = "Base.Bra_Strapless_FrillyBlack", ["Bra_Strapless_FrillyPink"] = "Base.Bra_Strapless_FrillyPink", ["Bra_Strapless_FrillyRed"] = "Base.Bra_Strapless_FrillyRed", ["Bra_Strapless_RedSpots"] = "Base.Bra_Strapless_RedSpots", ["Bra_Strapless_White"] = "Base.Bra_Strapless_White", ["Bra_Straps_AnimalPrint"] = "Base.Bra_Straps_AnimalPrint", ["Bra_Straps_Black"] = "Base.Bra_Straps_Black", ["Bra_Straps_FrillyBlack"] = "Base.Bra_Straps_FrillyBlack", ["Bra_Straps_FrillyPink"] = "Base.Bra_Straps_FrillyPink", ["Bra_Straps_FrillyRed"] = "Base.Bra_Straps_FrillyRed", ["Bra_Straps_White"] = "Base.Bra_Straps_White", ["Briefs_AnimalPrints"] = "Base.Briefs_AnimalPrints", ["Briefs_SmallTrunks_Black"] = "Base.Briefs_SmallTrunks_Black", ["Briefs_SmallTrunks_Blue"] = "Base.Briefs_SmallTrunks_Blue", ["Briefs_SmallTrunks_Red"] = "Base.Briefs_SmallTrunks_Red", ["Briefs_SmallTrunks_WhiteTINT"] = "Base.Briefs_SmallTrunks_WhiteTINT", ["Briefs_White"] = "Base.Briefs_White", ["Corset"] = "Base.Corset", ["Corset_Black"] = "Base.Corset_Black", ["Corset_Medical"] = "Base.Corset_Medical", ["Corset_Red"] = "Base.Corset_Red", ["DressKnees_Straps"] = "Base.DressKnees_Straps", ["Dress_Knees"] = "Base.Dress_Knees", ["Dress_Long"] = "Base.Dress_Long", ["Dress_Normal"] = "Base.Dress_Normal", ["Dress_SatinNegligee"] = "Base.Dress_SatinNegligee", ["Dress_Short"] = "Base.Dress_Short", ["Dress_SmallBlackStrapless"] = "Base.Dress_SmallBlackStrapless", ["Dress_SmallBlackStraps"] = "Base.Dress_SmallBlackStraps", ["Dress_SmallStrapless"] = "Base.Dress_SmallStrapless", ["Dress_SmallStraps"] = "Base.Dress_SmallStraps", ["Dress_Straps"] = "Base.Dress_Straps", ["Dress_long_Straps"] = "Base.Dress_long_Straps", ["Dungarees"] = "Base.Dungarees", ["FrillyUnderpants_Black"] = "Base.FrillyUnderpants_Black", ["FrillyUnderpants_Pink"] = "Base.FrillyUnderpants_Pink", ["FrillyUnderpants_Red"] = "Base.FrillyUnderpants_Red", ["Garter"] = "Base.Garter", ["Ghillie_Top"] = "Base.Ghillie_Top", ["Ghillie_Trousers"] = "Base.Ghillie_Trousers", ["Glasses"] = "Base.Glasses", ["Glasses_Aviators"] = "Base.Glasses_Aviators", ["Glasses_Eyepatch_Left"] = "Base.Glasses_Eyepatch_Left", ["Glasses_Eyepatch_Right"] = "Base.Glasses_Eyepatch_Right", ["Glasses_Normal"] = "Base.Glasses_Normal", ["Glasses_Reading"] = "Base.Glasses_Reading", ["Glasses_SafetyGoggles"] = "Base.Glasses_SafetyGoggles", ["Glasses_Shooting"] = "Base.Glasses_Shooting", ["Glasses_SkiGoggles"] = "Base.Glasses_SkiGoggles", ["Glasses_Sun"] = "Base.Glasses_Sun", ["Glasses_SwimmingGoggles"] = "Base.Glasses_SwimmingGoggles", ["Gloves_BoxingBlue"] = "Base.Gloves_BoxingBlue", ["Gloves_BoxingRed"] = "Base.Gloves_BoxingRed", ["Gloves_FingerlessGloves"] = "Base.Gloves_FingerlessGloves", ["Gloves_LeatherGloves"] = "Base.Gloves_LeatherGloves", ["Gloves_LeatherGlovesBlack"] = "Base.Gloves_LeatherGlovesBlack", ["Gloves_LongWomenGloves"] = "Base.Gloves_LongWomenGloves", ["Gloves_Surgical"] = "Base.Gloves_Surgical", ["Gloves_WhiteTINT"] = "Base.Gloves_WhiteTINT", ["HazmatSuit"] = "Base.HazmatSuit", ["HoodieDOWN_WhiteTINT"] = "Base.HoodieDOWN_WhiteTINT", ["HoodieUP_WhiteTINT"] = "Base.HoodieUP_WhiteTINT", ["HospitalGown"] = "Base.HospitalGown", ["JacketLong_Doctor"] = "Base.JacketLong_Doctor", ["JacketLong_Random"] = "Base.JacketLong_Random", ["JacketLong_Santa"] = "Base.JacketLong_Santa", ["JacketLong_SantaGreen"] = "Base.JacketLong_SantaGreen", ["Jacket_ArmyCamoDesert"] = "Base.Jacket_ArmyCamoDesert", ["Jacket_ArmyCamoGreen"] = "Base.Jacket_ArmyCamoGreen", ["Jacket_Black"] = "Base.Jacket_Black", ["Jacket_Chef"] = "Base.Jacket_Chef", ["Jacket_CoatArmy"] = "Base.Jacket_CoatArmy", ["Jacket_Fireman"] = "Base.Jacket_Fireman", ["Jacket_LeatherBarrelDogs"] = "Base.Jacket_LeatherBarrelDogs", ["Jacket_LeatherIronRodent"] = "Base.Jacket_LeatherIronRodent", ["Jacket_LeatherWildRacoons"] = "Base.Jacket_LeatherWildRacoons", ["Jacket_NavyBlue"] = "Base.Jacket_NavyBlue", ["Jacket_Padded"] = "Base.Jacket_Padded", ["Jacket_PaddedDOWN"] = "Base.Jacket_PaddedDOWN", ["Jacket_Police"] = "Base.Jacket_Police", ["Jacket_Ranger"] = "Base.Jacket_Ranger", ["Jacket_Shellsuit_Black"] = "Base.Jacket_Shellsuit_Black", ["Jacket_Shellsuit_Blue"] = "Base.Jacket_Shellsuit_Blue", ["Jacket_Shellsuit_Green"] = "Base.Jacket_Shellsuit_Green", ["Jacket_Shellsuit_Pink"] = "Base.Jacket_Shellsuit_Pink", ["Jacket_Shellsuit_TINT"] = "Base.Jacket_Shellsuit_TINT", ["Jacket_Shellsuit_Teal"] = "Base.Jacket_Shellsuit_Teal", ["Jacket_Varsity"] = "Base.Jacket_Varsity", ["Jacket_WhiteTINT"] = "Base.Jacket_WhiteTINT", ["Jumper_DiamondPatternTINT"] = "Base.Jumper_DiamondPatternTINT", ["Jumper_PoloNeck"] = "Base.Jumper_PoloNeck", ["Jumper_RoundNeck"] = "Base.Jumper_RoundNeck", ["Jumper_TankTopDiamondTINT"] = "Base.Jumper_TankTopDiamondTINT", ["Jumper_TankTopTINT"] = "Base.Jumper_TankTopTINT", ["Jumper_VNeck"] = "Base.Jumper_VNeck", ["LongCoat_Bathrobe"] = "Base.LongCoat_Bathrobe", ["LongJohns"] = "Base.LongJohns", ["LongJohns_Bottoms"] = "Base.LongJohns_Bottoms", --["Male_Undies"] = "Base.Male_Undies", ["PonchoGreen"] = "Base.PonchoGreen", ["PonchoGreenDOWN"] = "Base.PonchoGreenDOWN", ["PonchoYellow"] = "Base.PonchoYellow", ["PonchoYellowDOWN"] = "Base.PonchoYellowDOWN", ["Scarf_StripeBlackWhite"] = "Base.Scarf_StripeBlackWhite", ["Scarf_StripeBlueWhite"] = "Base.Scarf_StripeBlueWhite", ["Scarf_StripeRedWhite"] = "Base.Scarf_StripeRedWhite", ["Scarf_White"] = "Base.Scarf_White", ["Shirt_Baseball_KY"] = "Base.Shirt_Baseball_KY", ["Shirt_Baseball_Rangers"] = "Base.Shirt_Baseball_Rangers", ["Shirt_Baseball_Z"] = "Base.Shirt_Baseball_Z", ["Shirt_Bowling_Blue"] = "Base.Shirt_Bowling_Blue", ["Shirt_Bowling_Brown"] = "Base.Shirt_Bowling_Brown", ["Shirt_Bowling_Green"] = "Base.Shirt_Bowling_Green", ["Shirt_Bowling_LimeGreen"] = "Base.Shirt_Bowling_LimeGreen", ["Shirt_Bowling_Pink"] = "Base.Shirt_Bowling_Pink", ["Shirt_Bowling_White"] = "Base.Shirt_Bowling_White", ["Shirt_CamoDesert"] = "Base.Shirt_CamoDesert", ["Shirt_CamoGreen"] = "Base.Shirt_CamoGreen", ["Shirt_CamoUrban"] = "Base.Shirt_CamoUrban", ["Shirt_CropTopNoArmTINT"] = "Base.Shirt_CropTopNoArmTINT", ["Shirt_CropTopTINT"] = "Base.Shirt_CropTopTINT", ["Shirt_Denim"] = "Base.Shirt_Denim", ["Shirt_FormalTINT"] = "Base.Shirt_FormalTINT", ["Shirt_FormalWhite"] = "Base.Shirt_FormalWhite", ["Shirt_FormalWhite_ShortSleeve"] = "Base.Shirt_FormalWhite_ShortSleeve", ["Shirt_FormalWhite_ShortSleeveTINT"] = "Base.Shirt_FormalWhite_ShortSleeveTINT", ["Shirt_HawaiianRed"] = "Base.Shirt_HawaiianRed", ["Shirt_HawaiianTINT"] = "Base.Shirt_HawaiianTINT", ["Shirt_Jockey01"] = "Base.Shirt_Jockey01", ["Shirt_Jockey02"] = "Base.Shirt_Jockey02", ["Shirt_Jockey03"] = "Base.Shirt_Jockey03", ["Shirt_Jockey04"] = "Base.Shirt_Jockey04", ["Shirt_Jockey05"] = "Base.Shirt_Jockey05", ["Shirt_Jockey06"] = "Base.Shirt_Jockey06", ["Shirt_Lumberjack"] = "Base.Shirt_Lumberjack", ["Shirt_OfficerWhite"] = "Base.Shirt_OfficerWhite", ["Shirt_PoliceBlue"] = "Base.Shirt_PoliceBlue", ["Shirt_PoliceGrey"] = "Base.Shirt_PoliceGrey", ["Shirt_Priest"] = "Base.Shirt_Priest", ["Shirt_PrisonGuard"] = "Base.Shirt_PrisonGuard", ["Shirt_Ranger"] = "Base.Shirt_Ranger", ["Shirt_Scrubs"] = "Base.Shirt_Scrubs", ["Shirt_Workman"] = "Base.Shirt_Workman", ["Shoes_ArmyBoots"] = "Base.Shoes_ArmyBoots", ["Shoes_ArmyBootsDesert"] = "Base.Shoes_ArmyBootsDesert", ["Shoes_Black"] = "Base.Shoes_Black", ["Shoes_BlackBoots"] = "Base.Shoes_BlackBoots", ["Shoes_BlueTrainers"] = "Base.Shoes_BlueTrainers", ["Shoes_Bowling"] = "Base.Shoes_Bowling", ["Shoes_Brown"] = "Base.Shoes_Brown", ["Shoes_Fancy"] = "Base.Shoes_Fancy", ["Shoes_FlipFlop"] = "Base.Shoes_FlipFlop", ["Shoes_Random"] = "Base.Shoes_Random", ["Shoes_RedTrainers"] = "Base.Shoes_RedTrainers", ["Shoes_RidingBoots"] = "Base.Shoes_RidingBoots", ["Shoes_Sandals"] = "Base.Shoes_Sandals", ["Shoes_Slippers"] = "Base.Shoes_Slippers", ["Shoes_Strapped"] = "Base.Shoes_Strapped", ["Shoes_TrainerTINT"] = "Base.Shoes_TrainerTINT", ["Shoes_Wellies"] = "Base.Shoes_Wellies", ["Shorts_BoxingBlue"] = "Base.Shorts_BoxingBlue", ["Shorts_BoxingRed"] = "Base.Shorts_BoxingRed", ["Shorts_CamoGreenLong"] = "Base.Shorts_CamoGreenLong", ["Shorts_CamoUrbanLong"] = "Base.Shorts_CamoUrbanLong", ["Shorts_LongDenim"] = "Base.Shorts_LongDenim", ["Shorts_LongSport"] = "Base.Shorts_LongSport", ["Shorts_LongSport_Red"] = "Base.Shorts_LongSport_Red", ["Shorts_ShortDenim"] = "Base.Shorts_ShortDenim", ["Shorts_ShortFormal"] = "Base.Shorts_ShortFormal", ["Shorts_ShortSport"] = "Base.Shorts_ShortSport", ["Skirt_Knees"] = "Base.Skirt_Knees", ["Skirt_Long"] = "Base.Skirt_Long", ["Skirt_Mini"] = "Base.Skirt_Mini", ["Skirt_Normal"] = "Base.Skirt_Normal", ["Skirt_Short"] = "Base.Skirt_Short", ["Socks_Ankle"] = "Base.Socks_Ankle", ["Socks_Long"] = "Base.Socks_Long", ["StockingsBlack"] = "Base.StockingsBlack", ["StockingsBlackSemiTrans"] = "Base.StockingsBlackSemiTrans", ["StockingsBlackTrans"] = "Base.StockingsBlackTrans", ["StockingsWhite"] = "Base.StockingsWhite", ["Suit_Jacket"] = "Base.Suit_Jacket", ["Suit_JacketTINT"] = "Base.Suit_JacketTINT", ["SwimTrunks_Blue"] = "Base.SwimTrunks_Blue", ["SwimTrunks_Green"] = "Base.SwimTrunks_Green", ["SwimTrunks_Red"] = "Base.SwimTrunks_Red", ["SwimTrunks_Yellow"] = "Base.SwimTrunks_Yellow", ["Swimsuit_TINT"] = "Base.Swimsuit_TINT", ["Tie_BowTieFull"] = "Base.Tie_BowTieFull", ["Tie_BowTieWorn"] = "Base.Tie_BowTieWorn", ["Tie_Full"] = "Base.Tie_Full", ["Tie_Worn"] = "Base.Tie_Worn", ["Tie_Worn_Spiffo"] = "Base.Tie_Worn_Spiffo", ["TightsBlack"] = "Base.TightsBlack", ["TightsBlackSemiTrans"] = "Base.TightsBlackSemiTrans", ["TightsBlackTrans"] = "Base.TightsBlackTrans", ["TightsFishnets"] = "Base.TightsFishnets", ["Trousers"] = "Base.Trousers", ["TrousersMesh_DenimLig"] = "Base.TrousersMesh_DenimLight", ["TrousersMesh_Leather"] = "Base.TrousersMesh_Leather", ["Trousers_ArmyService"] = "Base.Trousers_ArmyService", ["Trousers_Black"] = "Base.Trousers_Black", ["Trousers_CamoDesert"] = "Base.Trousers_CamoDesert", ["Trousers_CamoGreen"] = "Base.Trousers_CamoGreen", ["Trousers_CamoUrban"] = "Base.Trousers_CamoUrban", ["Trousers_Chef"] = "Base.Trousers_Chef", ["Trousers_DefaultTEXTURE"] = "Base.Trousers_DefaultTEXTURE", ["Trousers_DefaultTEXTURE_HUE"] = "Base.Trousers_DefaultTEXTURE_HUE", ["Trousers_DefaultTEXTURE_TINT"] = "Base.Trousers_DefaultTEXTURE_TINT", ["Trousers_Denim"] = "Base.Trousers_Denim", ["Trousers_Fireman"] = "Base.Trousers_Fireman", ["Trousers_JeanBaggy"] = "Base.Trousers_JeanBaggy", ["Trousers_LeatherBlack"] = "Base.Trousers_LeatherBlack", ["Trousers_NavyBlue"] = "Base.Trousers_NavyBlue", ["Trousers_Padded"] = "Base.Trousers_Padded", ["Trousers_Police"] = "Base.Trousers_Police", ["Trousers_PoliceGrey"] = "Base.Trousers_PoliceGrey", ["Trousers_PrisonGuard"] = "Base.Trousers_PrisonGuard", ["Trousers_Ranger"] = "Base.Trousers_Ranger", ["Trousers_Santa"] = "Base.Trousers_Santa", ["Trousers_SantaGReen"] = "Base.Trousers_SantaGReen", ["Trousers_Scrubs"] = "Base.Trousers_Scrubs", ["Trousers_Shellsuit_Black"] = "Base.Trousers_Shellsuit_Black", ["Trousers_Shellsuit_Blue"] = "Base.Trousers_Shellsuit_Blue", ["Trousers_Shellsuit_Green"] = "Base.Trousers_Shellsuit_Green", ["Trousers_Shellsuit_Pink"] = "Base.Trousers_Shellsuit_Pink", ["Trousers_Shellsuit_TINT"] = "Base.Trousers_Shellsuit_TINT", ["Trousers_Shellsuit_Teal"] = "Base.Trousers_Shellsuit_Teal", ["Trousers_Suit"] = "Base.Trousers_Suit", ["Trousers_SuitTEXTURE"] = "Base.Trousers_SuitTEXTURE", ["Trousers_SuitWhite"] = "Base.Trousers_SuitWhite", ["Trousers_WhiteTEXTURE"] = "Base.Trousers_WhiteTEXTURE", ["Trousers_WhiteTINT"] = "Base.Trousers_WhiteTINT", ["Tshirt_ArmyGreen"] = "Base.Tshirt_ArmyGreen", ["Tshirt_BusinessSpiffo"] = "Base.Tshirt_BusinessSpiffo", ["Tshirt_CamoDesert"] = "Base.Tshirt_CamoDesert", ["Tshirt_CamoGreen"] = "Base.Tshirt_CamoGreen", ["Tshirt_CamoUrban"] = "Base.Tshirt_CamoUrban", ["Tshirt_DefaultDECAL"] = "Base.Tshirt_DefaultDECAL", ["Tshirt_DefaultDECAL_TINT"] = "Base.Tshirt_DefaultDECAL_TINT", ["Tshirt_DefaultTEXTURE"] = "Base.Tshirt_DefaultTEXTURE", ["Tshirt_DefaultTEXTURE_TINT"] = "Base.Tshirt_DefaultTEXTURE_TINT", ["Tshirt_Fossoil"] = "Base.Tshirt_Fossoil", ["Tshirt_Gas2Go"] = "Base.Tshirt_Gas2Go", ["Tshirt_IndieStoneDECAL"] = "Base.Tshirt_IndieStoneDECAL", ["Tshirt_McCoys"] = "Base.Tshirt_McCoys", ["Tshirt_PileOCrepe"] = "Base.Tshirt_PileOCrepe", ["Tshirt_PizzaWhirled"] = "Base.Tshirt_PizzaWhirled", ["Tshirt_PoliceBlue"] = "Base.Tshirt_PoliceBlue", ["Tshirt_PoliceGrey"] = "Base.Tshirt_PoliceGrey", ["Tshirt_PoloStripedTINT"] = "Base.Tshirt_PoloStripedTINT", ["Tshirt_PoloTINT"] = "Base.Tshirt_PoloTINT", ["Tshirt_Profession_FiremanBlue"] = "Base.Tshirt_Profession_FiremanBlue", ["Tshirt_Profession_FiremanRed"] = "Base.Tshirt_Profession_FiremanRed", ["Tshirt_Profession_FiremanRed02"] = "Base.Tshirt_Profession_FiremanRed02", ["Tshirt_Profession_FiremanWhite"] = "Base.Tshirt_Profession_FiremanWhite", ["Tshirt_Profession_PoliceBlue"] = "Base.Tshirt_Profession_PoliceBlue", ["Tshirt_Profession_PoliceWhite"] = "Base.Tshirt_Profession_PoliceWhite", ["Tshirt_Profession_RangerBrown"] = "Base.Tshirt_Profession_RangerBrown", ["Tshirt_Profession_RangerGreen"] = "Base.Tshirt_Profession_RangerGreen", ["Tshirt_Profession_VeterenGreen"] = "Base.Tshirt_Profession_VeterenGreen", ["Tshirt_Profession_VeterenRed"] = "Base.Tshirt_Profession_VeterenRed", ["Tshirt_Ranger"] = "Base.Tshirt_Ranger", ["Tshirt_Rock"] = "Base.Tshirt_Rock", ["Tshirt_Scrubs"] = "Base.Tshirt_Scrubs", ["Tshirt_SpiffoDECAL"] = "Base.Tshirt_SpiffoDECAL", ["Tshirt_Sport"] = "Base.Tshirt_Sport", ["Tshirt_SportDECAL"] = "Base.Tshirt_SportDECAL", ["Tshirt_ThunderGas"] = "Base.Tshirt_ThunderGas", ["Tshirt_ValleyStation"] = "Base.Tshirt_ValleyStation", ["Tshirt_WhiteLongSleeve"] = "Base.Tshirt_WhiteLongSleeve", ["Tshirt_WhiteLongSleeveTINT"] = "Base.Tshirt_WhiteLongSleeveTINT", ["Tshirt_WhiteTINT"] = "Base.Tshirt_WhiteTINT", ["Underpants_AnimalPrint"] = "Base.Underpants_AnimalPrint", ["Underpants_Black"] = "Base.Underpants_Black", ["Underpants_RedSpots"] = "Base.Underpants_RedSpots", ["Underpants_White"] = "Base.Underpants_White", ["Vest_BulletArmy"] = "Base.Vest_BulletArmy", ["Vest_BulletCivilian"] = "Base.Vest_BulletCivilian", ["Vest_BulletPolice"] = "Base.Vest_BulletPolice", ["Vest_DefaultTEXTURE"] = "Base.Vest_DefaultTEXTURE", ["Vest_DefaultTEXTURE_TINT"] = "Base.Vest_DefaultTEXTURE_TINT", ["Vest_Foreman"] = "Base.Vest_Foreman", ["Vest_HighViz"] = "Base.Vest_HighViz", ["Vest_Hunting_Camo"] = "Base.Vest_Hunting_Camo", ["Vest_Hunting_CamoGreen"] = "Base.Vest_Hunting_CamoGreen", ["Vest_Hunting_Grey"] = "Base.Vest_Hunting_Grey", ["Vest_Hunting_Orange"] = "Base.Vest_Hunting_Orange", ["Vest_Waistcoat"] = "Base.Vest_Waistcoat", ["Vest_WaistcoatTINT"] = "Base.Vest_WaistcoatTINT", ["Vest_Waistcoat_GigaMart"] = "Base.Vest_Waistcoat_GigaMart", ["WeddingJacket"] = "Base.WeddingJacket", }, }, rare = { chance = 1, xp = 5, items = { ["AmmoStrap_Bullets"] = "Base.AmmoStrap_Bullets", ["AmmoStrap_Shells"] = "Base.AmmoStrap_Shells", ["Bag_ALICEpack"] = "Base.Bag_ALICEpack", ["Bag_ALICEpack_Army"] = "Base.Bag_ALICEpack_Army", ["BellyButton_DangleGold"] = "Base.BellyButton_DangleGold", ["BellyButton_DangleGoldRuby"] = "Base.BellyButton_DangleGoldRuby", ["BellyButton_DangleSilver"] = "Base.BellyButton_DangleSilver", ["BellyButton_DangleSilverDiamond"] = "Base.BellyButton_DangleSilverDiamond", ["BellyButton_RingGold"] = "Base.BellyButton_RingGold", ["BellyButton_RingGoldDiamond"] = "Base.BellyButton_RingGoldDiamond", ["BellyButton_RingGoldRuby"] = "Base.BellyButton_RingGoldRuby", ["BellyButton_RingSilver"] = "Base.BellyButton_RingSilver", ["BellyButton_RingSilverAmethyst"] = "Base.BellyButton_RingSilverAmethyst", ["BellyButton_RingSilverDiamond"] = "Base.BellyButton_RingSilverDiamond", ["BellyButton_RingSilverRuby"] = "Base.BellyButton_RingSilverRuby", ["BellyButton_StudGold"] = "Base.BellyButton_StudGold", ["BellyButton_StudGoldDiamond"] = "Base.BellyButton_StudGoldDiamond", ["BellyButton_StudSilver"] = "Base.BellyButton_StudSilver", ["BellyButton_StudSilverDiamond"] = "Base.BellyButton_StudSilverDiamond", ["Belt2"] = "Base.Belt2", ["Bracelet_BangleLeftGold"] = "Base.Bracelet_BangleLeftGold", ["Bracelet_BangleLeftSilver"] = "Base.Bracelet_BangleLeftSilver", ["Bracelet_BangleRightGold"] = "Base.Bracelet_BangleRightGold", ["Bracelet_BangleRightSilver"] = "Base.Bracelet_BangleRightSilver", ["Bracelet_ChainLeftGold"] = "Base.Bracelet_ChainLeftGold", ["Bracelet_ChainLeftSilver"] = "Base.Bracelet_ChainLeftSilver", ["Bracelet_ChainRightGold"] = "Base.Bracelet_ChainRightGold", ["Bracelet_ChainRightSilver"] = "Base.Bracelet_ChainRightSilver", ["Bracelet_LeftFriendshipTINT"] = "Base.Bracelet_LeftFriendshipTINT", ["Bracelet_RightFriendshipTINT"] = "Base.Bracelet_RightFriendshipTINT", ["BunnySuitBlack"] = "Base.BunnySuitBlack", ["BunnySuitPink"] = "Base.BunnySuitPink", ["BunnyTail"] = "Base.BunnyTail", ["Earring_Dangly_Diamond"] = "Base.Earring_Dangly_Diamond", ["Earring_Dangly_Emerald"] = "Base.Earring_Dangly_Emerald", ["Earring_Dangly_Pearl"] = "Base.Earring_Dangly_Pearl", ["Earring_Dangly_Ruby"] = "Base.Earring_Dangly_Ruby", ["Earring_Dangly_Sapphire"] = "Base.Earring_Dangly_Sapphire", ["Earring_LoopLrg_Gold"] = "Base.Earring_LoopLrg_Gold", ["Earring_LoopLrg_Silver"] = "Base.Earring_LoopLrg_Silver", ["Earring_LoopMed_Gold"] = "Base.Earring_LoopMed_Gold", ["Earring_LoopMed_Silver"] = "Base.Earring_LoopMed_Silver", ["Earring_LoopSmall_Gold_Both"] = "Base.Earring_LoopSmall_Gold_Both", ["Earring_LoopSmall_Gold_Top"] = "Base.Earring_LoopSmall_Gold_Top", ["Earring_LoopSmall_Silver_Both"] = "Base.Earring_LoopSmall_Silver_Both", ["Earring_LoopSmall_Silver_Top"] = "Base.Earring_LoopSmall_Silver_Top", ["Earring_Pearl"] = "Base.Earring_Pearl", ["Earring_Stone_Emerald"] = "Base.Earring_Stone_Emerald", ["Earring_Stone_Ruby"] = "Base.Earring_Stone_Ruby", ["Earring_Stone_Sapphire"] = "Base.Earring_Stone_Sapphire", ["Earring_Stud_Gold"] = "Base.Earring_Stud_Gold", ["Earring_Stud_Silver"] = "Base.Earring_Stud_Silver", ["HolsterDouble"] = "Base.HolsterDouble", ["HolsterSimple"] = "Base.HolsterSimple", ["NecklaceLong_Amber"] = "Base.NecklaceLong_Amber", ["NecklaceLong_Gold"] = "Base.NecklaceLong_Gold", ["NecklaceLong_GoldDiamond"] = "Base.NecklaceLong_GoldDiamond", ["NecklaceLong_Silver"] = "Base.NecklaceLong_Silver", ["NecklaceLong_SilverDiamond"] = "Base.NecklaceLong_SilverDiamond", ["NecklaceLong_SilverEmerald"] = "Base.NecklaceLong_SilverEmerald", ["NecklaceLong_SilverSapphire"] = "Base.NecklaceLong_SilverSapphire", ["Necklace_Choker"] = "Base.Necklace_Choker", ["Necklace_Choker_Amber"] = "Base.Necklace_Choker_Amber", ["Necklace_Choker_Diamond"] = "Base.Necklace_Choker_Diamond", ["Necklace_Choker_Sapphire"] = "Base.Necklace_Choker_Sapphire", ["Necklace_Crucifix"] = "Base.Necklace_Crucifix", ["Necklace_DogTag"] = "Base.Necklace_DogTag", ["Necklace_Gold"] = "Base.Necklace_Gold", ["Necklace_GoldDiamond"] = "Base.Necklace_GoldDiamond", ["Necklace_GoldRuby"] = "Base.Necklace_GoldRuby", ["Necklace_Pearl"] = "Base.Necklace_Pearl", ["Necklace_Silver"] = "Base.Necklace_Silver", ["Necklace_SilverCrucifix"] = "Base.Necklace_SilverCrucifix", ["Necklace_SilverDiamond"] = "Base.Necklace_SilverDiamond", ["Necklace_SilverSapphire"] = "Base.Necklace_SilverSapphire", ["Necklace_YingYang"] = "Base.Necklace_YingYang", ["NoseRing_Gold"] = "Base.NoseRing_Gold", ["NoseRing_Silver"] = "Base.NoseRing_Silver", ["NoseStud_Gold"] = "Base.NoseStud_Gold", ["NoseStud_Silver"] = "Base.NoseStud_Silver", ["Ring_Left_MiddleFinger_Gold"] = "Base.Ring_Left_MiddleFinger_Gold", ["Ring_Left_MiddleFinger_GoldDiamond"] = "Base.Ring_Left_MiddleFinger_GoldDiamond", ["Ring_Left_MiddleFinger_GoldRuby"] = "Base.Ring_Left_MiddleFinger_GoldRuby", ["Ring_Left_MiddleFinger_Silver"] = "Base.Ring_Left_MiddleFinger_Silver", ["Ring_Left_MiddleFinger_SilverDiamond"] = "Base.Ring_Left_MiddleFinger_SilverDiamond", ["Ring_Left_RingFinger_Gold"] = "Base.Ring_Left_RingFinger_Gold", ["Ring_Left_RingFinger_GoldDiamond"] = "Base.Ring_Left_RingFinger_GoldDiamond", ["Ring_Left_RingFinger_GoldRuby"] = "Base.Ring_Left_RingFinger_GoldRuby", ["Ring_Left_RingFinger_Silver"] = "Base.Ring_Left_RingFinger_Silver", ["Ring_Left_RingFinger_SilverDiamond"] = "Base.Ring_Left_RingFinger_SilverDiamond", ["Ring_Right_MiddleFinger_Gold"] = "Base.Ring_Right_MiddleFinger_Gold", ["Ring_Right_MiddleFinger_GoldDiamond"] = "Base.Ring_Right_MiddleFinger_GoldDiamond", ["Ring_Right_MiddleFinger_GoldRuby"] = "Base.Ring_Right_MiddleFinger_GoldRuby", ["Ring_Right_MiddleFinger_Silver"] = "Base.Ring_Right_MiddleFinger_Silver", ["Ring_Right_MiddleFinger_SilverDiamond"] = "Base.Ring_Right_MiddleFinger_SilverDiamond", ["Ring_Right_RingFinger_Gold"] = "Base.Ring_Right_RingFinger_Gold", ["Ring_Right_RingFinger_GoldDiamond"] = "Base.Ring_Right_RingFinger_GoldDiamond", ["Ring_Right_RingFinger_GoldRuby"] = "Base.Ring_Right_RingFinger_GoldRuby", ["Ring_Right_RingFinger_Silver"] = "Base.Ring_Right_RingFinger_Silver", ["Ring_Right_RingFinger_SilverDiamond"] = "Base.Ring_Right_RingFinger_SilverDiamond", ["WeddingDress"] = "Base.WeddingDress", ["WristWatch_Left_ClassicBlack"] = "Base.WristWatch_Left_ClassicBlack", ["WristWatch_Left_ClassicBrown"] = "Base.WristWatch_Left_ClassicBrown", ["WristWatch_Left_ClassicGold"] = "Base.WristWatch_Left_ClassicGold", ["WristWatch_Left_ClassicMilitary"] = "Base.WristWatch_Left_ClassicMilitary", ["WristWatch_Left_DigitalBlack"] = "Base.WristWatch_Left_DigitalBlack", ["WristWatch_Left_DigitalDress"] = "Base.WristWatch_Left_DigitalDress", ["WristWatch_Left_DigitalRed"] = "Base.WristWatch_Left_DigitalRed", ["WristWatch_Right_ClassicBlack"] = "Base.WristWatch_Right_ClassicBlack", ["WristWatch_Right_ClassicBrown"] = "Base.WristWatch_Right_ClassicBrown", ["WristWatch_Right_ClassicGold"] = "Base.WristWatch_Right_ClassicGold", ["WristWatch_Right_ClassicMilitary"] = "Base.WristWatch_Right_ClassicMilitary", ["WristWatch_Right_DigitalBlack"] = "Base.WristWatch_Right_DigitalBlack", ["WristWatch_Right_DigitalDress"] = "Base.WristWatch_Right_DigitalDress", ["WristWatch_Right_DigitalRed"] = "Base.WristWatch_Right_DigitalRed", }, }, }; for _, spawnTable in pairs(clothing) do for itemName, itemFullName in pairs(spawnTable.items) do forageDefs[itemName] = { type = itemFullName, skill = 0, xp = spawnTable.xp, categories = { "Clothing" }, zones = { Vegitation = spawnTable.chance, TrailerPark = spawnTable.chance, TownZone = spawnTable.chance, Nav = spawnTable.chance, }, spawnFuncs = { doClothingItemSpawn }, forceOutside = false, canBeAboveFloor = true, itemSizeModifier = 0.5, isItemOverrideSize = true, }; end; end; end generateClothingDefs(); ------------------------------------------------- ------------------------------------------------- local function generateMedicalDefs() local medical = { uncommon = { chance = 50, xp = 5, items = { ["BandageDirty"] = "Base.BandageDirty", ["Bandaid"] = "Base.Bandaid", ["CottonBalls"] = "Base.CottonBalls", ["RippedSheets"] = "Base.RippedSheets", ["RippedSheetsDirty"] = "Base.RippedSheetsDirty", ["Thread"] = "Base.Thread", }, }, rare = { chance = 5, xp = 10, items = { ["AlcoholBandage"] = "Base.AlcoholBandage", ["AlcoholWipes"] = "Base.AlcoholWipes", ["Pills"] = "Base.Pills", ["PillsAntiDep"] = "Base.PillsAntiDep", ["PillsBeta"] = "Base.PillsBeta", ["PillsSleepingTablets"] = "Base.PillsSleepingTablets", ["PillsVitamins"] = "Base.PillsVitamins", ["SutureNeedle"] = "Base.SutureNeedle", }, }, legendary = { chance = 1, xp = 25, items = { ["AlcoholedCottonBalls"] = "Base.AlcoholedCottonBalls", ["Antibiotics"] = "Base.Antibiotics", ["Disinfectant"] = "Base.Disinfectant", ["Splint"] = "Base.Splint", ["SutureNeedleHolder"] = "Base.SutureNeedleHolder", ["Tweezers"] = "Base.Tweezers", }, }, }; for _, spawnTable in pairs(medical) do for itemName, itemFullName in pairs(spawnTable.items) do forageDefs[itemName] = { type = itemFullName, skill = 0, xp = spawnTable.xp, categories = { "Medical" }, zones = { Vegitation = spawnTable.chance, TrailerPark = spawnTable.chance, TownZone = spawnTable.chance, Nav = spawnTable.chance, }, spawnFuncs = { doGenericItemSpawn }, forceOutside = false, canBeAboveFloor = true, itemSizeModifier = 0.5, isItemOverrideSize = true, }; end; end; end generateMedicalDefs(); ------------------------------------------------- ------------------------------------------------- local function generateJunkDefs() local junkWeapons = { normal = { chance = 50, xp = 1, items = { BluePen = "Base.BluePen", Pen = "Base.Pen", Pencil = "Base.Pencil", RedPen = "Base.RedPen", SmashedBottle = "Base.SmashedBottle", BreadKnife = "Base.BreadKnife", ButterKnife = "Base.ButterKnife", Fork = "Base.Fork", Scissors = "Base.Scissors", Spoon = "Base.Spoon", KitchenKnife = "Base.KitchenKnife", }, }, uncommon = { chance = 25, xp = 2, items = { BallPeenHammer = "Base.BallPeenHammer", ChairLeg = "Base.ChairLeg", CraftedFishingRod = "Base.CraftedFishingRod", Drumstick = "Base.Drumstick", IcePick = "Base.IcePick", LeadPipe = "Base.LeadPipe", Pan = "Base.Pan", Plank = "Base.Plank", PlankNail = "Base.PlankNail", Plunger = "Base.Plunger", Poolcue = "Base.Poolcue", RollingPin = "Base.RollingPin", Saucepan = "Base.Saucepan", Rake = "Base.Rake", Shovel = "Base.Shovel", Shovel2 = "Base.Shovel2", SnowShovel = "Base.SnowShovel", }, }, rare = { chance = 15, xp = 5, items = { BadmintonRacket = "Base.BadmintonRacket", Broom = "Base.Broom", FlintKnife = "Base.FlintKnife", ClosedUmbrellaBlack = "Base.ClosedUmbrellaBlack", ClosedUmbrellaBlue = "Base.ClosedUmbrellaBlue", ClosedUmbrellaRed = "Base.ClosedUmbrellaRed", ClosedUmbrellaWhite = "Base.ClosedUmbrellaWhite", GardenFork = "Base.GardenFork", GardenHoe = "Base.GardenHoe", Golfclub = "Base.Golfclub", GridlePan = "Base.GridlePan", Hammer = "Base.Hammer", HuntingKnife = "Base.HuntingKnife", LetterOpener = "Base.LetterOpener", Machete = "Base.Machete", MeatCleaver = "Base.MeatCleaver", MetalBar = "Base.MetalBar", MetalPipe = "Base.MetalPipe", Nightstick = "Base.Nightstick", PickAxe = "Base.PickAxe", PickAxeHandle = "Base.PickAxeHandle", PickAxeHandleSpiked = "Base.PickAxeHandleSpiked", PipeWrench = "Base.PipeWrench", Screwdriver = "Base.Screwdriver", Stake = "Base.Stake", TableLeg = "Base.TableLeg", }, }, epic = { chance = 5, xp = 10, items = { BaseballBat = "Base.BaseballBat", Banjo = "Base.Banjo", ClubHammer = "Base.ClubHammer", Crowbar = "Base.Crowbar", FishingRod = "Base.FishingRod", HandAxe = "Base.HandAxe", HandFork = "Base.HandFork", HandScythe = "Base.HandScythe", HockeyStick = "Base.HockeyStick", IceHockeyStick = "Base.IceHockeyStick", TennisRacket = "Base.TennisRacket", }, }, legendary = { chance = 1, xp = 25, items = { AssaultRifle = "Base.AssaultRifle", AssaultRifle2 = "Base.AssaultRifle2", Axe = "Base.Axe", DoubleBarrelShotgun = "Base.DoubleBarrelShotgun", DoubleBarrelShotgunSawnoff = "Base.DoubleBarrelShotgunSawnoff", HuntingRifle = "Base.HuntingRifle", Katana = "Base.Katana", Pistol = "Base.Pistol", Pistol2 = "Base.Pistol2", Pistol3 = "Base.Pistol3", Revolver = "Base.Revolver", Revolver_Long = "Base.Revolver_Long", Revolver_Short = "Base.Revolver_Short", Shotgun = "Base.Shotgun", ShotgunSawnoff = "Base.ShotgunSawnoff", VarmintRifle = "Base.VarmintRifle", WoodAxe = "Base.WoodAxe", }, }, }; for _, spawnTable in pairs(junkWeapons) do for itemName, itemFullName in pairs(spawnTable.items) do forageDefs[itemName] = { type = itemFullName, skill = 0, xp = spawnTable.xp, categories = { "JunkWeapons" }, zones = { DeepForest = spawnTable.chance, Forest = spawnTable.chance, Vegitation = spawnTable.chance, FarmLand = spawnTable.chance, Farm = spawnTable.chance, TrailerPark = spawnTable.chance, TownZone = spawnTable.chance, Nav = spawnTable.chance, }, spawnFuncs = { doJunkWeaponSpawn }, forceOutside = false, canBeAboveFloor = true, itemSizeModifier = 0.5, isItemOverrideSize = true, }; end; end; local junkItems = { normal = { chance = 100, xp = 1, items = { Nails = "Base.Nails", Screws = "Base.Screws", ScrapMetal = "Base.ScrapMetal", UnusableWood = "Base.UnusableWood", UnusableMetal = "Base.UnusableMetal", Crayons = "Base.Crayons", Notebook = "Base.Notebook", Journal = "Base.Journal", Magazine = "Base.Magazine", }, }, common = { chance = 50, xp = 2, items = { Book = "Base.Book", ComicBook = "Base.ComicBook", Paperclip = "Base.Paperclip", PaperclipBox = "Base.PaperclipBox", ScrewsBox = "Base.ScrewsBox", SheetMetal = "Base.SheetMetal", Bowl = "Base.Bowl", Pot = "Base.Pot", Hinge = "Base.Hinge", }, }, uncommon = { chance = 33, xp = 5, items = { Saw = "Base.Saw", Tote = "Base.Tote", EmptySandbag = "Base.EmptySandbag", Purse = "Base.Purse", Suitcase = "Base.Suitcase", Handbag = "Base.Handbag", Toolbox = "Base.Toolbox", FirstAidKit = "Base.FirstAidKit", Lunchbox = "Base.Lunchbox", Lunchbox2 = "Base.Lunchbox2", Bag_Satchel = "Base.Bag_Satchel", Cooler = "Base.Cooler", Cigarettes = "Base.Cigarettes", Lighter = "Base.Lighter", Matches = "Base.Matches", BlowTorch = "Base.BlowTorch", Eraser = "Base.Eraser", FishingNet = "Base.FishingNet", FishingTackle = "Base.FishingTackle", FishingTackle2 = "Base.FishingTackle2", }, }, unlikely = { chance = 20, xp = 10, items = { Bag_GolfBag = "Base.Bag_GolfBag", Bag_Schoolbag = "Base.Bag_Schoolbag", Bag_BowlingBallBag = "Base.Bag_BowlingBallBag", Flightcase = "Base.Flightcase", Guitarcase = "Base.Guitarcase", CookingMag1 = "Base.CookingMag1", CookingMag2 = "Base.CookingMag2", ElectronicsMag1 = "Base.ElectronicsMag1", ElectronicsMag2 = "Base.ElectronicsMag2", ElectronicsMag3 = "Base.ElectronicsMag3", ElectronicsMag4 = "Base.ElectronicsMag4", ElectronicsMag5 = "Base.ElectronicsMag5", EngineerMagazine1 = "Base.EngineerMagazine1", EngineerMagazine2 = "Base.EngineerMagazine2", FarmingMag1 = "Base.FarmingMag1", FishingLine = "Base.FishingLine", FishingMag1 = "Base.FishingMag1", FishingMag2 = "Base.FishingMag2", HuntingMag1 = "Base.HuntingMag1", HuntingMag2 = "Base.HuntingMag2", HuntingMag3 = "Base.HuntingMag3", MarchRidgeMap = "Base.MarchRidgeMap", MetalworkMag1 = "Base.MetalworkMag1", MetalworkMag2 = "Base.MetalworkMag2", MetalworkMag3 = "Base.MetalworkMag3", MetalworkMag4 = "Base.MetalworkMag4", MuldraughMap = "Base.MuldraughMap", RiversideMap = "Base.RiversideMap", RosewoodMap = "Base.RosewoodMap", SewingKit = "Base.SewingKit", UmbrellaBlack = "Base.UmbrellaBlack", UmbrellaBlue = "Base.UmbrellaBlue", UmbrellaRed = "Base.UmbrellaRed", UmbrellaWhite = "Base.UmbrellaWhite", WestpointMap = "Base.WestpointMap", }, }, rare = { chance = 15, xp = 20, items = { PetrolCan = "Base.PetrolCan", PropaneTank = "Base.PropaneTank", Charcoal = "Base.Charcoal", }, }, legendary = { chance = 1, xp = 50, items = { PipeBomb = "Base.PipeBomb", AmmoStraps = "Base.AmmoStraps", -- Bayonnet = "Base.Bayonnet", ChokeTubeFull = "Base.ChokeTubeFull", ChokeTubeImproved = "Base.ChokeTubeImproved", FiberglassStock = "Base.FiberglassStock", -- GunLight = "Base.GunLight", IronSight = "Base.IronSight", Sling = "Base.Sling", x2Scope = "Base.x2Scope", x4Scope = "Base.x4Scope", x8Scope = "Base.x8Scope", HerbalistMag = "Base.HerbalistMag", }, }, }; for _, spawnTable in pairs(junkItems) do for itemName, itemFullName in pairs(spawnTable.items) do forageDefs[itemName] = { type = itemFullName, skill = 0, xp = spawnTable.xp, categories = { "Junk" }, zones = { Forest = spawnTable.chance, DeepForest = spawnTable.chance, Vegitation = spawnTable.chance, FarmLand = spawnTable.chance, Farm = spawnTable.chance, TrailerPark = spawnTable.chance, TownZone = spawnTable.chance, Nav = spawnTable.chance, }, spawnFuncs = { doGenericItemSpawn }, forceOutside = false, canBeAboveFloor = true, itemSizeModifier = 0.5, isItemOverrideSize = true, }; end; end; -- local junkFood = { BeerBottle = "Base.BeerBottle", BeerCan = "Base.BeerCan", Bleach = "Base.Bleach", CandyPackage = "Base.CandyPackage", Candycane = "Base.Candycane", CannedBellPepper = "Base.CannedBellPepper", CannedBolognese = "Base.CannedBolognese", CannedBroccoli = "Base.CannedBroccoli", CannedCabbage = "Base.CannedCabbage", CannedCarrots = "Base.CannedCarrots", CannedCarrots2 = "Base.CannedCarrots2", CannedChili = "Base.CannedChili", CannedCorn = "Base.CannedCorn", CannedCornedBeef = "Base.CannedCornedBeef", CannedEggplant = "Base.CannedEggplant", CannedLeek = "Base.CannedLeek", CannedMushroomSoup = "Base.CannedMushroomSoup", CannedPeas = "Base.CannedPeas", CannedPotato = "Base.CannedPotato", CannedPotato2 = "Base.CannedPotato2", CannedRedRadish = "Base.CannedRedRadish", CannedSardines = "Base.CannedSardines", CannedTomato = "Base.CannedTomato", CannedTomato2 = "Base.CannedTomato2", Cereal = "Base.Cereal", Chocolate = "Base.Chocolate", Coffee2 = "Base.Coffee2", Crisps = "Base.Crisps", Crisps2 = "Base.Crisps2", Crisps3 = "Base.Crisps3", Crisps4 = "Base.Crisps4", Cupcake = "Base.Cupcake", Dogfood = "Base.Dogfood", GranolaBar = "Base.GranolaBar", Gum = "Base.Gum", Honey = "Base.Honey", JamFruit = "Base.JamFruit", JamMarmalade = "Base.JamMarmalade", JuiceBox = "Base.JuiceBox", Lollipop = "Base.Lollipop", MintCandy = "Base.MintCandy", Peppermint = "Base.Peppermint", PeanutButter = "Base.PeanutButter", Pop = "Base.Pop", Pop2 = "Base.Pop2", Pop3 = "Base.Pop3", PopBottle = "Base.PopBottle", Popcorn = "Base.Popcorn", RiceVinegar = "Base.RiceVinegar", Soysauce = "Base.Soysauce", SugarBrown = "Base.SugarBrown", Teabag2 = "Base.Teabag2", TinnedSoup = "Base.TinnedSoup", TunaTin = "Base.TunaTin", WaterBottleFull = "Base.WaterBottleFull", WhiskeyFull = "Base.WhiskeyFull", WhiskeyWaterFull = "Base.WhiskeyWaterFull", Wine = "Base.Wine", Wine2 = "Base.Wine2", }; for itemName, itemFullName in pairs(junkFood) do forageDefs[itemName] = { type = itemFullName, xp = 10, categories = { "JunkFood" }, zones = { TrailerPark = 1, TownZone = 1, Nav = 1, }, forceOutside = false, canBeAboveFloor = true, }; end; local trashItems = { normal = { chance = 100, xp = 1, items = { BeerCanEmpty = "Base.BeerCanEmpty", BeerEmpty = "Base.BeerEmpty", Newspaper = "Base.Newspaper", Pop2Empty = "Base.Pop2Empty", Pop3Empty = "Base.Pop3Empty", PopEmpty = "Base.PopEmpty", SheetPaper2 = "Base.SheetPaper2", SmashedBottle = "Base.SmashedBottle", TinCanEmpty = "Base.TinCanEmpty", WaterBottleEmpty = "Base.WaterBottleEmpty", Garbagebag = "Base.Garbagebag", Plasticbag = "Base.Plasticbag", }, }, uncommon = { chance = 30, xp = 3, items = { Aluminum = "Base.Aluminum", Baseball = "Base.Baseball", Basketball = "Base.Basketball", Bell = "Base.Bell", BleachEmpty = "Base.BleachEmpty", Bricktoys = "Base.Bricktoys", BrokenFishingNet = "Base.BrokenFishingNet", CarvingFork = "Base.CarvingFork", CatToy = "Base.CatToy", Chopsticks = "Base.Chopsticks", Coldpack = "Base.Coldpack", Cologne = "Base.Cologne", Comb = "Base.Comb", Corkscrew = "Base.Corkscrew", DenimStripsDirty = "Base.DenimStripsDirty", DuctTape = "Base.DuctTape", FountainCup = "Base.FountainCup", GlassTumbler = "Base.GlassTumbler", GlassWine = "Base.GlassWine", Glue = "Base.Glue", GrillBrush = "Base.GrillBrush", Hairgel = "Base.Hairgel", LeatherStripsDirty = "Base.LeatherStripsDirty", Money = "Base.Money", MuffinTray = "Base.MuffinTray", OvenMitt = "Base.OvenMitt", PaintbucketEmpty = "Base.PaintbucketEmpty", PlasticCup = "Base.PlasticCup", PlasticTray = "Base.PlasticTray", Plate = "Base.Plate", PlateBlue = "Base.PlateBlue", PlateFancy = "Base.PlateFancy", PlateOrange = "Base.PlateOrange", PopBottleEmpty = "Base.PopBottleEmpty", Scotchtape = "Base.Scotchtape", Spatula = "Base.Spatula", Straw = "Base.Straw", Teacup = "Base.Teacup", KitchenTongs = "Base.KitchenTongs", WeldingRods = "Base.WeldingRods", WhiskeyEmpty = "Base.WhiskeyEmpty", WineEmpty = "Base.WineEmpty", WineEmpty2 = "Base.WineEmpty2", WoodGlue = "Base.Woodglue", }, }, rare = { chance = 15, xp = 5, items = { CreditCard = "Base.CreditCard", Cube = "Base.Cube", Dart = "Base.Dart", Dice = "Base.Dice", DogChew = "Base.DogChew", Doll = "Base.Doll", FertilizerEmpty = "Base.FertilizerEmpty", Football = "Base.Football", Football2 = "Base.Football2", GolfBall = "Base.GolfBall", HandTorch = "Base.HandTorch", KatePic = "Base.KatePic", KnittingNeedles = "Base.KnittingNeedles", Leash = "Base.Leash", Lighter = "Base.Lighter", Locket = "Base.Locket", Matches = "Base.Matches", Mirror = "Base.Mirror", Perfume = "Base.Perfume", Pipe = "Base.Pipe", RubberBand = "Base.RubberBand", Rubberducky = "Base.Rubberducky", SoccerBall = "Base.SoccerBall", Sparklers = "Base.Sparklers", TennisBall = "Base.TennisBall", ToiletPaper = "Base.ToiletPaper", Toothbrush = "Base.Toothbrush", Torch = "Base.Torch", ToyBear = "Base.ToyBear", ToyCar = "Base.ToyCar", Tweezers = "Base.Tweezers", Yoyo = "Base.Yoyo", ElectronicsScrap = "Base.ElectronicsScrap", Hairspray = "Base.Hairspray", GunPowder = "Base.GunPowder", CameraFilm = "Base.CameraFilm", CameraExpensive = "Base.CameraExpensive", CameraDisposable = "Base.CameraDisposable", Camera = "Base.Camera", LeatherStrips = "Base.LeatherStrips", DenimStrips = "Base.DenimStrips", }, }, epic = { chance = 5, xp = 10, items = { BucketEmpty = "Base.BucketEmpty", Fertilizer = "Base.Fertilizer", GardenSaw = "Base.GardenSaw", Kettle = "Base.Kettle", MortarPestle = "Base.MortarPestle", NailsBox = "Base.NailsBox", Needle = "Base.Needle", RoastingPan = "Base.RoastingPan", Rope = "Base.Rope", Wire = "Base.Wire", MugWhite = "Base.MugWhite", MugRed = "Base.MugRed", Mugl = "Base.Mugl", Spiffo = "Base.Spiffo", BorisBadger = "Base.BorisBadger", JacquesBeaver = "Base.JacquesBeaver", FreddyFox = "Base.FreddyFox", PancakeHedgehog = "Base.PancakeHedgehog", MoleyMole = "Base.MoleyMole", FluffyfootBunny = "Base.FluffyfootBunny", FurbertSquirrel = "Base.FurbertSquirrel", }, }, legendary = { chance = 1, xp = 25, items = { EmptyJar = "Base.EmptyJar", EmptyPetrolCan = "Base.EmptyPetrolCan", JarLid = "Base.JarLid", MugSpiffo = "Base.MugSpiffo", SpiffoBig = "Base.SpiffoBig", }, }, }; for rarity, spawnTable in pairs(trashItems) do for itemName, itemFullName in pairs(spawnTable.items) do forageDefs[itemName] = { type = itemFullName, xp = spawnTable.xp, categories = { "Trash" }, zones = { Forest = spawnTable.chance, DeepForest = spawnTable.chance, Vegitation = spawnTable.chance, FarmLand = spawnTable.chance, Farm = spawnTable.chance, TrailerPark = spawnTable.chance, TownZone = spawnTable.chance, Nav = spawnTable.chance, }, spawnFuncs = { doGenericItemSpawn }, forceOutside = false, canBeAboveFloor = true, itemSizeModifier = 0.5, isItemOverrideSize = true, }; end; end; end generateJunkDefs();