游民星空 > 攻略秘籍 > 攻略 > 正文

饥荒 全人物解锁及主角自动回血等实用修改教程

2015-01-21 11:28:46 来源:互联网 作者:易宁 我要投稿

第352页:经营动物园

展开

三零二.经营动物园(用黄油种动物园,买卖、繁殖小动物,赚门票钱)

  用记事本打开游戏目录\data\scripts\prefabs\butter.lua文件,在inst:AddComponent("inspectable")的下一行插入以下内容:

  local slotpos = { Vector3(0,-100,0)}

  local function itemtest(inst, item, slot)

  if item.prefab == "carrot" then

  return true

  end

  return false

  end

  local widgetbuttoninfo = {

  text = "Sell",

  position = Vector3(0, -30, 0),

  fn = function(inst)

  local target = FindEntity(inst, 9, function(guy)

  return guy:HasTag("zoobaby")

  end )

  if target then

  for k = 1,20 do

  local pt5 = target:GetPosition()

  SpawnPrefab("goldnugget").Transform:SetPosition(pt5.x, 0, pt5.z)

  GetPlayer().SoundEmitter:PlaySound("dontstarve/HUD/research_available")

  target:Remove()

  end

  end

  end }

  local function OnDeploy (inst, pt)

  local brand = SpawnPrefab("butter")

  brand.Transform:SetPosition(pt.x, pt.y, pt.z)

  brand.AnimState:SetBank("sign_home")

  brand.AnimState:SetBuild("sign_home")

  brand.AnimState:PlayAnimation("idle")

  brand.Transform:SetScale(0.8, 0.8, 0.8)

  brand.AnimState:SetMultColour(0/255,255/255,0/255,1)

  brand:RemoveComponent("stackable")

  brand:RemoveComponent("inventoryitem")

  brand:RemoveComponent("edible")

  brand:RemoveComponent("perishable")

  brand:RemoveComponent("deployable")

  brand:RemoveComponent("container")

  brand:AddTag("brand")

  local slotpos1 = { Vector3(0,-75,0)}

  brand:AddComponent("container")

  brand.components.container:SetNumSlots(#slotpos1)

  brand.components.container.widgetslotpos = slotpos1

  brand.components.container.widgetpos = Vector3(0,180,0)

  brand.components.container.side_align_tip = 160

  brand.components.container.acceptsstacks = false

  brand.components.container.itemtestfn = function(brand, item, slot)

  if item.prefab == "charcoal" or item.prefab == "trunk_summer" or item.prefab == "trunk_winter" or item.prefab == "walrus_tusk" or item.prefab == "cave_banana" then

  return true

  end

  return false

  end

  brand.components.container.widgetbuttoninfo = {

  text = "Buy",

  position = Vector3(0, -145, 0),

  fn = function(brand)

  if GetPlayer().components.inventory:Has("goldnugget", 30) then

  if brand.components.container:Has("charcoal", 1) then

  brand.components.container:ConsumeByName("charcoal", 1)

  local zoobaby = SpawnPrefab("butter")

  local pt1 = brand:GetPosition()

  zoobaby.Transform:SetPosition(pt1.x-6, 0, pt1.z-6)

  zoobaby.AnimState:SetBank("krampus")

  zoobaby.AnimState:SetBuild("krampus_build")

  zoobaby.AnimState:PlayAnimation("idle", true)

  zoobaby.entity:AddSoundEmitter()

  zoobaby.AnimState:Hide("SACK")

  zoobaby.AnimState:Show("ARM")

  zoobaby.Transform:SetScale(0.7,0.7,0.7)

  zoobaby:AddComponent("locomotor")

  zoobaby.components.locomotor.walkspeed = 3

  zoobaby.components.locomotor.runspeed = 6

  zoobaby:SetStateGraph("SGkrampus")

  zoobaby:AddTag("zoobaby1")

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby.Transform:SetFourFaced()

  MakeCharacterPhysics(zoobaby, 15, .5)

  zoobaby:AddComponent("knownlocations")

  zoobaby:AddComponent("combat")

  zoobaby:AddComponent("health")

  zoobaby.components.health:SetMaxHealth(100)

  zoobaby:RemoveComponent("stackable")

  zoobaby:RemoveComponent("inventoryitem")

  zoobaby:RemoveComponent("edible")

  zoobaby:RemoveComponent("perishable")

  zoobaby:RemoveComponent("deployable")

  zoobaby:RemoveComponent("container")

  local minimap = zoobaby.entity:AddMiniMapEntity()

  minimap:SetIcon("monkey_barrel.png")

  zoobaby:AddComponent("follower")

  zoobaby.components.inspectable.getstatus = function(zoobaby)

  if not zoobaby:HasTag("followme") then

  local brain = require "brains/abigailbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(GetPlayer())

  zoobaby.AnimState:SetBloomEffectHandle("shaders/anim.ksh")

  zoobaby:AddTag("followme")

  else

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(nil)

  zoobaby.AnimState:SetBloomEffectHandle("")

  zoobaby:RemoveTag("followme")

  end

  end

  zoobaby:DoPeriodicTask(math.random(360, 480), function(zoobaby)

  SpawnPrefab("poop").Transform:SetPosition(zoobaby.Transform:GetWorldPosition())

  end )

  zoobaby:AddComponent("lootdropper")

  zoobaby.components.lootdropper:SetLoot({"smallmeat"})

  zoobaby:AddTag("zoobaby")

  GetPlayer().SoundEmitter:PlaySound("dontstarve/HUD/research_available")

  GetPlayer().components.inventory:ConsumeByName("goldnugget", 30)

  end

  if brand.components.container:Has("trunk_summer", 1) then

  brand.components.container:ConsumeByName("trunk_summer", 1)

  local zoobaby = SpawnPrefab("butter")

  local pt1 = brand:GetPosition()

  zoobaby.Transform:SetPosition(pt1.x-6, 0, pt1.z-6)

  zoobaby.AnimState:SetBank("koalefant")

  zoobaby.AnimState:SetBuild("koalefant_summer_build")

  zoobaby.AnimState:PlayAnimation("idle_loop", true)

  zoobaby.entity:AddSoundEmitter()

  zoobaby.Transform:SetScale(0.5,0.5,0.5)

  zoobaby:AddComponent("locomotor")

  zoobaby.components.locomotor.walkspeed = 3

  zoobaby.components.locomotor.runspeed = 6

  zoobaby:SetStateGraph("SGkoalefant")

  zoobaby:AddTag("zoobaby2")

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby.Transform:SetFourFaced()

  MakeCharacterPhysics(zoobaby, 15, .5)

  zoobaby:AddComponent("knownlocations")

  zoobaby:AddComponent("combat")

  zoobaby:AddComponent("health")

  zoobaby.components.health:SetMaxHealth(100)

  zoobaby:RemoveComponent("stackable")

  zoobaby:RemoveComponent("inventoryitem")

  zoobaby:RemoveComponent("edible")

  zoobaby:RemoveComponent("perishable")

  zoobaby:RemoveComponent("deployable")

  zoobaby:RemoveComponent("container")

  local minimap = zoobaby.entity:AddMiniMapEntity()

  minimap:SetIcon("monkey_barrel.png")

  zoobaby:AddComponent("follower")

  zoobaby.components.inspectable.getstatus = function(zoobaby)

  if not zoobaby:HasTag("followme") then

  local brain = require "brains/abigailbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(GetPlayer())

  zoobaby.AnimState:SetBloomEffectHandle("shaders/anim.ksh")

  zoobaby:AddTag("followme")

  else

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(nil)

  zoobaby.AnimState:SetBloomEffectHandle("")

  zoobaby:RemoveTag("followme")

  end

  end

  zoobaby:DoPeriodicTask(math.random(360, 480), function(zoobaby)

  SpawnPrefab("poop").Transform:SetPosition(zoobaby.Transform:GetWorldPosition())

  end )

  zoobaby:AddComponent("lootdropper")

  zoobaby.components.lootdropper:SetLoot({"smallmeat"})

  zoobaby:AddTag("zoobaby")

  GetPlayer().SoundEmitter:PlaySound("dontstarve/HUD/research_available")

  GetPlayer().components.inventory:ConsumeByName("goldnugget", 30)

  end

  if brand.components.container:Has("trunk_winter", 1) then

  brand.components.container:ConsumeByName("trunk_winter", 1)

  local zoobaby = SpawnPrefab("butter")

  local pt1 = brand:GetPosition()

  zoobaby.Transform:SetPosition(pt1.x-6, 0, pt1.z-6)

  zoobaby.AnimState:SetBank("koalefant")

  zoobaby.AnimState:SetBuild("koalefant_winter_build")

  zoobaby.AnimState:PlayAnimation("idle_loop", true)

  zoobaby.entity:AddSoundEmitter()

  zoobaby.Transform:SetScale(0.5,0.5,0.5)

  zoobaby:AddComponent("locomotor")

  zoobaby.components.locomotor.walkspeed = 3

  zoobaby.components.locomotor.runspeed = 6

  zoobaby:SetStateGraph("SGkoalefant")

  zoobaby:AddTag("zoobaby3")

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby.Transform:SetFourFaced()

  MakeCharacterPhysics(zoobaby, 15, .5)

  zoobaby:AddComponent("knownlocations")

  zoobaby:AddComponent("combat")

  zoobaby:AddComponent("health")

  zoobaby.components.health:SetMaxHealth(100)

  zoobaby:RemoveComponent("stackable")

  zoobaby:RemoveComponent("inventoryitem")

  zoobaby:RemoveComponent("edible")

  zoobaby:RemoveComponent("perishable")

  zoobaby:RemoveComponent("deployable")

  zoobaby:RemoveComponent("container")

  local minimap = zoobaby.entity:AddMiniMapEntity()

  minimap:SetIcon("monkey_barrel.png")

  zoobaby:AddComponent("follower")

  zoobaby.components.inspectable.getstatus = function(zoobaby)

  if not zoobaby:HasTag("followme") then

  local brain = require "brains/abigailbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(GetPlayer())

  zoobaby.AnimState:SetBloomEffectHandle("shaders/anim.ksh")

  zoobaby:AddTag("followme")

  else

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(nil)

  zoobaby.AnimState:SetBloomEffectHandle("")

  zoobaby:RemoveTag("followme")

  end

  end

  zoobaby:DoPeriodicTask(math.random(360, 480), function(zoobaby)

  SpawnPrefab("poop").Transform:SetPosition(zoobaby.Transform:GetWorldPosition())

  end )

  zoobaby:AddComponent("lootdropper")

  zoobaby.components.lootdropper:SetLoot({"smallmeat"})

  zoobaby:AddTag("zoobaby")

  GetPlayer().SoundEmitter:PlaySound("dontstarve/HUD/research_available")

  GetPlayer().components.inventory:ConsumeByName("goldnugget", 30)

  end

  if brand.components.container:Has("walrus_tusk", 1) then

  brand.components.container:ConsumeByName("walrus_tusk", 1)

  local zoobaby = SpawnPrefab("butter")

  local pt1 = brand:GetPosition()

  zoobaby.Transform:SetPosition(pt1.x-6, 0, pt1.z-6)

  zoobaby.AnimState:SetBank("walrus")

  zoobaby.AnimState:SetBuild("walrus_baby_build")

  zoobaby.AnimState:PlayAnimation("idle_happy")

  zoobaby.entity:AddSoundEmitter()

  zoobaby.Transform:SetScale(0.8,0.8,0.8)

  zoobaby:AddComponent("locomotor")

  zoobaby.components.locomotor.walkspeed = 3

  zoobaby.components.locomotor.runspeed = 6

  zoobaby:SetStateGraph("SGwalrus")

  zoobaby:AddTag("zoobaby4")

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby.Transform:SetFourFaced()

  MakeCharacterPhysics(zoobaby, 15, .5)

  zoobaby:AddComponent("knownlocations")

  zoobaby:AddComponent("combat")

  zoobaby:AddComponent("health")

  zoobaby.components.health:SetMaxHealth(100)

  zoobaby:RemoveComponent("stackable")

  zoobaby:RemoveComponent("inventoryitem")

  zoobaby:RemoveComponent("edible")

  zoobaby:RemoveComponent("perishable")

  zoobaby:RemoveComponent("deployable")

  zoobaby:RemoveComponent("container")

  local minimap = zoobaby.entity:AddMiniMapEntity()

  minimap:SetIcon("monkey_barrel.png")

  zoobaby:AddComponent("follower")

  zoobaby.components.inspectable.getstatus = function(zoobaby)

  if not zoobaby:HasTag("followme") then

  local brain = require "brains/abigailbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(GetPlayer())

  zoobaby.AnimState:SetBloomEffectHandle("shaders/anim.ksh")

  zoobaby:AddTag("followme")

  else

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(nil)

  zoobaby.AnimState:SetBloomEffectHandle("")

  zoobaby:RemoveTag("followme")

  end

  end

  zoobaby:DoPeriodicTask(math.random(360, 480), function(zoobaby)

  SpawnPrefab("poop").Transform:SetPosition(zoobaby.Transform:GetWorldPosition())

  end )

  zoobaby:AddComponent("lootdropper")

  zoobaby.components.lootdropper:SetLoot({"smallmeat"})

  zoobaby:AddTag("zoobaby")

  GetPlayer().SoundEmitter:PlaySound("dontstarve/HUD/research_available")

  GetPlayer().components.inventory:ConsumeByName("goldnugget", 30)

  end

  if brand.components.container:Has("cave_banana", 1) then

  brand.components.container:ConsumeByName("cave_banana", 1)

  local zoobaby = SpawnPrefab("butter")

  local pt1 = brand:GetPosition()

  zoobaby.Transform:SetPosition(pt1.x-6, 0, pt1.z-6)

  zoobaby.AnimState:SetBank("kiki")

  zoobaby.AnimState:SetBuild("kiki_basic")

  zoobaby.AnimState:PlayAnimation("idle_loop", true)

  zoobaby.entity:AddSoundEmitter()

  zoobaby.soundtype = ""

  zoobaby.Transform:SetScale(1.2,1.2,1.2)

  zoobaby:AddComponent("locomotor")

  zoobaby.components.locomotor.walkspeed = 3

  zoobaby.components.locomotor.runspeed = 6

  zoobaby:SetStateGraph("SGmonkey")

  zoobaby:AddTag("zoobaby5")

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby.Transform:SetFourFaced()

  MakeCharacterPhysics(zoobaby, 15, .5)

  zoobaby:AddComponent("knownlocations")

  zoobaby:AddComponent("combat")

  zoobaby:AddComponent("health")

  zoobaby.components.health:SetMaxHealth(100)

  zoobaby:RemoveComponent("stackable")

  zoobaby:RemoveComponent("inventoryitem")

  zoobaby:RemoveComponent("edible")

  zoobaby:RemoveComponent("perishable")

  zoobaby:RemoveComponent("deployable")

  zoobaby:RemoveComponent("container")

  local minimap = zoobaby.entity:AddMiniMapEntity()

  minimap:SetIcon("monkey_barrel.png")

  zoobaby:AddComponent("follower")

  zoobaby.components.inspectable.getstatus = function(zoobaby)

  if not zoobaby:HasTag("followme") then

  local brain = require "brains/abigailbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(GetPlayer())

  zoobaby.AnimState:SetBloomEffectHandle("shaders/anim.ksh")

  zoobaby:AddTag("followme")

  else

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(nil)

  zoobaby.AnimState:SetBloomEffectHandle("")

  zoobaby:RemoveTag("followme")

  end

  end

  zoobaby:DoPeriodicTask(math.random(360, 480), function(zoobaby)

  SpawnPrefab("poop").Transform:SetPosition(zoobaby.Transform:GetWorldPosition())

  end )

  zoobaby:AddComponent("lootdropper")

  zoobaby.components.lootdropper:SetLoot({"smallmeat"})

  zoobaby:AddTag("zoobaby")

  GetPlayer().SoundEmitter:PlaySound("dontstarve/HUD/research_available")

  GetPlayer().components.inventory:ConsumeByName("goldnugget", 30)

  end

  end

  end }

  local zooroom = SpawnPrefab("butter")

  zooroom.Transform:SetPosition(pt.x-7, 0, pt.z-7)

  zooroom.AnimState:SetBank("rabbithouse")

  zooroom.AnimState:SetBuild("rabbit_house")

  zooroom.AnimState:PlayAnimation("idle", true)

  zooroom.Transform:SetScale(0.4, 0.4, 0.4)

  zooroom:RemoveComponent("stackable")

  zooroom:RemoveComponent("inventoryitem")

  zooroom:RemoveComponent("edible")

  zooroom:RemoveComponent("perishable")

  zooroom:RemoveComponent("deployable")

  zooroom.components.container.canbeopened = true

  zooroom.entity:AddLight()

  zooroom.Light:SetFalloff(1)

  zooroom.Light:SetIntensity(.8)

  zooroom.Light:SetRadius(15)

  zooroom.Light:SetColour(180/255, 195/255, 50/255)

  zooroom.Light:Enable(true)

  zooroom:AddTag("zooroom")

  zooroom:DoPeriodicTask(180, function(zooroom)

  local target = FindEntity(zooroom, 9, function(guy)

  return guy:HasTag("zoobaby")

  end )

  if target then

  local target1 = FindEntity(zooroom, 9, function(guy)

  return guy.prefab == "poop"

  end )

  if not target1 then

  for k = 1,math.random(5,10) do

  local pt2 = zooroom:GetPosition()

  SpawnPrefab("goldnugget").Transform:SetPosition(pt2.x+7.5, 0, pt2.z+7.5)

  end

  else

  for k = 1,math.random(1,3) do

  local pt2 = zooroom:GetPosition()

  SpawnPrefab("goldnugget").Transform:SetPosition(pt2.x+7.5, 0, pt2.z+7.5)

  end

  end

  if zooroom.components.container:Has("carrot", 3) then

  zooroom.components.container:ConsumeByName("carrot", 3)

  if math.random()<0.1 then

  if target:HasTag("zoobaby1") then

  local zoobaby = SpawnPrefab("butter")

  local pt4 = target:GetPosition()

  zoobaby.Transform:SetPosition(pt4.x, 0, pt4.z)

  zoobaby.AnimState:SetBank("krampus")

  zoobaby.AnimState:SetBuild("krampus_build")

  zoobaby.AnimState:PlayAnimation("idle", true)

  zoobaby.entity:AddSoundEmitter()

  zoobaby.AnimState:Hide("SACK")

  zoobaby.AnimState:Show("ARM")

  zoobaby.Transform:SetScale(0.7,0.7,0.7)

  zoobaby:AddComponent("locomotor")

  zoobaby.components.locomotor.walkspeed = 3

  zoobaby.components.locomotor.runspeed = 6

  zoobaby:SetStateGraph("SGkrampus")

  zoobaby:AddTag("zoobaby1")

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby.Transform:SetFourFaced()

  MakeCharacterPhysics(zoobaby, 15, .5)

  zoobaby:AddComponent("knownlocations")

  zoobaby:AddComponent("combat")

  zoobaby:AddComponent("health")

  zoobaby.components.health:SetMaxHealth(100)

  zoobaby:RemoveComponent("stackable")

  zoobaby:RemoveComponent("inventoryitem")

  zoobaby:RemoveComponent("edible")

  zoobaby:RemoveComponent("perishable")

  zoobaby:RemoveComponent("deployable")

  zoobaby:RemoveComponent("container")

  local minimap = zoobaby.entity:AddMiniMapEntity()

  minimap:SetIcon("monkey_barrel.png")

  zoobaby:AddComponent("follower")

  zoobaby.components.inspectable.getstatus = function(zoobaby)

  if not zoobaby:HasTag("followme") then

  local brain = require "brains/abigailbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(GetPlayer())

  zoobaby.AnimState:SetBloomEffectHandle("shaders/anim.ksh")

  zoobaby:AddTag("followme")

  else

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(nil)

  zoobaby.AnimState:SetBloomEffectHandle("")

  zoobaby:RemoveTag("followme")

  end

  end

  zoobaby:DoPeriodicTask(math.random(360, 480), function(zoobaby)

  SpawnPrefab("poop").Transform:SetPosition(zoobaby.Transform:GetWorldPosition())

  end )

  zoobaby:AddComponent("lootdropper")

  zoobaby.components.lootdropper:SetLoot({"smallmeat"})

  zoobaby:AddTag("zoobaby")

  end

  if target:HasTag("zoobaby2") then

  local zoobaby = SpawnPrefab("butter")

  local pt4 = target:GetPosition()

  zoobaby.Transform:SetPosition(pt4.x, 0, pt4.z)

  zoobaby.AnimState:SetBank("koalefant")

  zoobaby.AnimState:SetBuild("koalefant_summer_build")

  zoobaby.AnimState:PlayAnimation("idle_loop", true)

  zoobaby.entity:AddSoundEmitter()

  zoobaby.Transform:SetScale(0.5,0.5,0.5)

  zoobaby:AddComponent("locomotor")

  zoobaby.components.locomotor.walkspeed = 3

  zoobaby.components.locomotor.runspeed = 6

  zoobaby:SetStateGraph("SGkoalefant")

  zoobaby:AddTag("zoobaby2")

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby.Transform:SetFourFaced()

  MakeCharacterPhysics(zoobaby, 15, .5)

  zoobaby:AddComponent("knownlocations")

  zoobaby:AddComponent("combat")

  zoobaby:AddComponent("health")

  zoobaby.components.health:SetMaxHealth(100)

  zoobaby:RemoveComponent("stackable")

  zoobaby:RemoveComponent("inventoryitem")

  zoobaby:RemoveComponent("edible")

  zoobaby:RemoveComponent("perishable")

  zoobaby:RemoveComponent("deployable")

  zoobaby:RemoveComponent("container")

  local minimap = zoobaby.entity:AddMiniMapEntity()

  minimap:SetIcon("monkey_barrel.png")

  zoobaby:AddComponent("follower")

  zoobaby.components.inspectable.getstatus = function(zoobaby)

  if not zoobaby:HasTag("followme") then

  local brain = require "brains/abigailbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(GetPlayer())

  zoobaby.AnimState:SetBloomEffectHandle("shaders/anim.ksh")

  zoobaby:AddTag("followme")

  else

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(nil)

  zoobaby.AnimState:SetBloomEffectHandle("")

  zoobaby:RemoveTag("followme")

  end

  end

  zoobaby:DoPeriodicTask(math.random(360, 480), function(zoobaby)

  SpawnPrefab("poop").Transform:SetPosition(zoobaby.Transform:GetWorldPosition())

  end )

  zoobaby:AddComponent("lootdropper")

  zoobaby.components.lootdropper:SetLoot({"smallmeat"})

  zoobaby:AddTag("zoobaby")

  end

  if target:HasTag("zoobaby3") then

  local zoobaby = SpawnPrefab("butter")

  local pt4 = target:GetPosition()

  zoobaby.Transform:SetPosition(pt4.x, 0, pt4.z)

  zoobaby.AnimState:SetBank("koalefant")

  zoobaby.AnimState:SetBuild("koalefant_winter_build")

  zoobaby.AnimState:PlayAnimation("idle_loop", true)

  zoobaby.entity:AddSoundEmitter()

  zoobaby.Transform:SetScale(0.5,0.5,0.5)

  zoobaby:AddComponent("locomotor")

  zoobaby.components.locomotor.walkspeed = 3

  zoobaby.components.locomotor.runspeed = 6

  zoobaby:SetStateGraph("SGkoalefant")

  zoobaby:AddTag("zoobaby3")

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby.Transform:SetFourFaced()

  MakeCharacterPhysics(zoobaby, 15, .5)

  zoobaby:AddComponent("knownlocations")

  zoobaby:AddComponent("combat")

  zoobaby:AddComponent("health")

  zoobaby.components.health:SetMaxHealth(100)

  zoobaby:RemoveComponent("stackable")

  zoobaby:RemoveComponent("inventoryitem")

  zoobaby:RemoveComponent("edible")

  zoobaby:RemoveComponent("perishable")

  zoobaby:RemoveComponent("deployable")

  zoobaby:RemoveComponent("container")

  local minimap = zoobaby.entity:AddMiniMapEntity()

  minimap:SetIcon("monkey_barrel.png")

  zoobaby:AddComponent("follower")

  zoobaby.components.inspectable.getstatus = function(zoobaby)

  if not zoobaby:HasTag("followme") then

  local brain = require "brains/abigailbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(GetPlayer())

  zoobaby.AnimState:SetBloomEffectHandle("shaders/anim.ksh")

  zoobaby:AddTag("followme")

  else

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(nil)

  zoobaby.AnimState:SetBloomEffectHandle("")

  zoobaby:RemoveTag("followme")

  end

  end

  zoobaby:DoPeriodicTask(math.random(360, 480), function(zoobaby)

  SpawnPrefab("poop").Transform:SetPosition(zoobaby.Transform:GetWorldPosition())

  end )

  zoobaby:AddComponent("lootdropper")

  zoobaby.components.lootdropper:SetLoot({"smallmeat"})

  zoobaby:AddTag("zoobaby")

  end

  if target:HasTag("zoobaby4") then

  local zoobaby = SpawnPrefab("butter")

  local pt4 = target:GetPosition()

  zoobaby.Transform:SetPosition(pt4.x, 0, pt4.z)

  zoobaby.AnimState:SetBank("walrus")

  zoobaby.AnimState:SetBuild("walrus_baby_build")

  zoobaby.AnimState:PlayAnimation("idle_happy")

  zoobaby.entity:AddSoundEmitter()

  zoobaby.Transform:SetScale(0.8,0.8,0.8)

  zoobaby:AddComponent("locomotor")

  zoobaby.components.locomotor.walkspeed = 3

  zoobaby.components.locomotor.runspeed = 6

  zoobaby:SetStateGraph("SGwalrus")

  zoobaby:AddTag("zoobaby4")

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby.Transform:SetFourFaced()

  MakeCharacterPhysics(zoobaby, 15, .5)

  zoobaby:AddComponent("knownlocations")

  zoobaby:AddComponent("combat")

  zoobaby:AddComponent("health")

  zoobaby.components.health:SetMaxHealth(100)

  zoobaby:RemoveComponent("stackable")

  zoobaby:RemoveComponent("inventoryitem")

  zoobaby:RemoveComponent("edible")

  zoobaby:RemoveComponent("perishable")

  zoobaby:RemoveComponent("deployable")

  zoobaby:RemoveComponent("container")

  local minimap = zoobaby.entity:AddMiniMapEntity()

  minimap:SetIcon("monkey_barrel.png")

  zoobaby:AddComponent("follower")

  zoobaby.components.inspectable.getstatus = function(zoobaby)

  if not zoobaby:HasTag("followme") then

  local brain = require "brains/abigailbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(GetPlayer())

  zoobaby.AnimState:SetBloomEffectHandle("shaders/anim.ksh")

  zoobaby:AddTag("followme")

  else

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(nil)

  zoobaby.AnimState:SetBloomEffectHandle("")

  zoobaby:RemoveTag("followme")

  end

  end

  zoobaby:DoPeriodicTask(math.random(360, 480), function(zoobaby)

  SpawnPrefab("poop").Transform:SetPosition(zoobaby.Transform:GetWorldPosition())

  end )

  zoobaby:AddComponent("lootdropper")

  zoobaby.components.lootdropper:SetLoot({"smallmeat"})

  zoobaby:AddTag("zoobaby")

  end

  if target:HasTag("zoobaby5") then

  local zoobaby = SpawnPrefab("butter")

  local pt4 = target:GetPosition()

  zoobaby.Transform:SetPosition(pt4.x, 0, pt4.z)

  zoobaby.AnimState:SetBank("kiki")

  zoobaby.AnimState:SetBuild("kiki_basic")

  zoobaby.AnimState:PlayAnimation("idle_loop", true)

  zoobaby.entity:AddSoundEmitter()

  zoobaby.soundtype = ""

  zoobaby.Transform:SetScale(1.2,1.2,1.2)

  zoobaby:AddComponent("locomotor")

  zoobaby.components.locomotor.walkspeed = 3

  zoobaby.components.locomotor.runspeed = 6

  zoobaby:SetStateGraph("SGmonkey")

  zoobaby:AddTag("zoobaby5")

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby.Transform:SetFourFaced()

  MakeCharacterPhysics(zoobaby, 15, .5)

  zoobaby:AddComponent("knownlocations")

  zoobaby:AddComponent("combat")

  zoobaby:AddComponent("health")

  zoobaby.components.health:SetMaxHealth(100)

  zoobaby:RemoveComponent("stackable")

  zoobaby:RemoveComponent("inventoryitem")

  zoobaby:RemoveComponent("edible")

  zoobaby:RemoveComponent("perishable")

  zoobaby:RemoveComponent("deployable")

  zoobaby:RemoveComponent("container")

  local minimap = zoobaby.entity:AddMiniMapEntity()

  minimap:SetIcon("monkey_barrel.png")

  zoobaby:AddComponent("follower")

  zoobaby.components.inspectable.getstatus = function(zoobaby)

  if not zoobaby:HasTag("followme") then

  local brain = require "brains/abigailbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(GetPlayer())

  zoobaby.AnimState:SetBloomEffectHandle("shaders/anim.ksh")

  zoobaby:AddTag("followme")

  else

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(nil)

  zoobaby.AnimState:SetBloomEffectHandle("")

  zoobaby:RemoveTag("followme")

  end

  end

  zoobaby:DoPeriodicTask(math.random(360, 480), function(zoobaby)

  SpawnPrefab("poop").Transform:SetPosition(zoobaby.Transform:GetWorldPosition())

  end )

  zoobaby:AddComponent("lootdropper")

  zoobaby.components.lootdropper:SetLoot({"smallmeat"})

  zoobaby:AddTag("zoobaby")

  end

  end

  else

  target.components.health:Kill()

  end

  end

  end )

  zooroom:AddComponent("workable")

  zooroom.components.workable:SetWorkAction(ACTIONS.HAMMER)

  zooroom.components.workable:SetWorkLeft(3)

  zooroom.components.workable:SetOnFinishCallback(function(zooroom)

  local pos = Vector3(zooroom.Transform:GetWorldPosition())

  local ents = TheSim:FindEntities(pos.x,pos.y,pos.z, 10)

  for k,v in pairs(ents) do

  if v:HasTag("zoofence") or v:HasTag("brand") then

  SpawnPrefab("collapse_big").Transform:SetPosition(v.Transform:GetWorldPosition())

  GetPlayer().SoundEmitter:PlaySound("dontstarve/common/destroy_wood")

  v:Remove()

  end

  end

  zooroom:Remove()

  end )

  local pt0 = Vector3(zooroom.Transform:GetWorldPosition())

  for k = 1, 40 do

  local result_offset = FindValidPositionByFan(1 * 2 * PI, 8, 40, function(offset)

  local x,y,z = (pt0 + offset):Get()

  local ents = TheSim:FindEntities(x,y,z , 1)

  return not next(ents)

  end)

  if result_offset then

  local zoofence = SpawnPrefab("butter")

  zoofence.AnimState:SetBank("wall")

  zoofence.AnimState:SetBuild("wall_wood")

  zoofence.AnimState:PlayAnimation("1_2", false)

  MakeObstaclePhysics(zoofence, .5)

  zoofence:RemoveComponent("stackable")

  zoofence:RemoveComponent("inventoryitem")

  zoofence:RemoveComponent("edible")

  zoofence:RemoveComponent("perishable")

  zoofence:RemoveComponent("deployable")

  zoofence:RemoveComponent("container")

  zoofence:AddTag("zoofence")

  zoofence.Transform:SetPosition((pt0 + result_offset):Get())

  zoofence.components.inspectable.getstatus = function(zoofence)

  zoofence.Transform:SetScale(1, 0.1, 1)

  zoofence.Physics:SetActive(false)

  GetPlayer().SoundEmitter:PlaySound("dontstarve/common/destroy_wood")

  zoofence:DoTaskInTime(5, function(zoofence)

  zoofence.Transform:SetScale(1, 1, 1)

  zoofence.Physics:SetActive(true)

  GetPlayer().SoundEmitter:PlaySound("dontstarve/common/destroy_wood")

  end )

  end

  end

  end

  inst.components.stackable:Get():Remove()

  end

  inst:AddComponent("deployable")

  inst.components.deployable.ondeploy = OnDeploy

  inst:AddComponent("container")

  inst.components.container:SetNumSlots(#slotpos)

  inst.components.container.widgetslotpos = slotpos

  inst.components.container.widgetpos = Vector3(0,180,0)

  inst.components.container.side_align_tip = 160

  inst.components.container.itemtestfn = itemtest

  inst.components.container.canbeopened = false

  inst.components.container.widgetbuttoninfo = widgetbuttoninfo

  local function onsave(inst, data)

  if inst:HasTag("brand") then

  data.brand = true

  end

  if inst:HasTag("zooroom") then

  data.zooroom = true

  end

  if inst:HasTag("zoofence") then

  data.zoofence = true

  end

  if inst:HasTag("zoobaby1") then

  data.zoobaby1 = true

  end

  if inst:HasTag("zoobaby2") then

  data.zoobaby2 = true

  end

  if inst:HasTag("zoobaby3") then

  data.zoobaby3 = true

  end

  if inst:HasTag("zoobaby4") then

  data.zoobaby4 = true

  end

  if inst:HasTag("zoobaby5") then

  data.zoobaby5 = true

  end

  if inst:HasTag("followme") then

  data.followme = true

  end

  end

  local function onload(inst, data)

  if data and data.brand then

  inst.AnimState:SetBank("sign_home")

  inst.AnimState:SetBuild("sign_home")

  inst.AnimState:PlayAnimation("idle")

  inst.Transform:SetScale(0.8, 0.8, 0.8)

  inst.AnimState:SetMultColour(0/255,255/255,0/255,1)

  inst:RemoveComponent("stackable")

  inst:RemoveComponent("inventoryitem")

  inst:RemoveComponent("edible")

  inst:RemoveComponent("perishable")

  inst:RemoveComponent("deployable")

  inst:RemoveComponent("container")

  inst:AddTag("brand")

  local slotpos1 = { Vector3(0,-75,0)}

  inst:AddComponent("container")

  inst.components.container:SetNumSlots(#slotpos1)

  inst.components.container.widgetslotpos = slotpos1

  inst.components.container.widgetpos = Vector3(0,180,0)

  inst.components.container.side_align_tip = 160

  inst.components.container.acceptsstacks = false

  inst.components.container.itemtestfn = function(inst, item, slot)

  if item.prefab == "charcoal" or item.prefab == "trunk_summer" or item.prefab == "trunk_winter" or item.prefab == "walrus_tusk" or item.prefab == "cave_banana" then

  return true

  end

  return false

  end

  inst.components.container.widgetbuttoninfo = {

  text = "Buy",

  position = Vector3(0, -145, 0),

  fn = function(inst)

  if GetPlayer().components.inventory:Has("goldnugget", 30) then

  if inst.components.container:Has("charcoal", 1) then

  inst.components.container:ConsumeByName("charcoal", 1)

  local zoobaby = SpawnPrefab("butter")

  local pt1 = inst:GetPosition()

  zoobaby.Transform:SetPosition(pt1.x-6, 0, pt1.z-6)

  zoobaby.AnimState:SetBank("krampus")

  zoobaby.AnimState:SetBuild("krampus_build")

  zoobaby.AnimState:PlayAnimation("idle", true)

  zoobaby.entity:AddSoundEmitter()

  zoobaby.AnimState:Hide("SACK")

  zoobaby.AnimState:Show("ARM")

  zoobaby.Transform:SetScale(0.7,0.7,0.7)

  zoobaby:AddComponent("locomotor")

  zoobaby.components.locomotor.walkspeed = 3

  zoobaby.components.locomotor.runspeed = 6

  zoobaby:SetStateGraph("SGkrampus")

  zoobaby:AddTag("zoobaby1")

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby.Transform:SetFourFaced()

  MakeCharacterPhysics(zoobaby, 15, .5)

  zoobaby:AddComponent("knownlocations")

  zoobaby:AddComponent("combat")

  zoobaby:AddComponent("health")

  zoobaby.components.health:SetMaxHealth(100)

  zoobaby:RemoveComponent("stackable")

  zoobaby:RemoveComponent("inventoryitem")

  zoobaby:RemoveComponent("edible")

  zoobaby:RemoveComponent("perishable")

  zoobaby:RemoveComponent("deployable")

  zoobaby:RemoveComponent("container")

  local minimap = zoobaby.entity:AddMiniMapEntity()

  minimap:SetIcon("monkey_barrel.png")

  zoobaby:AddComponent("follower")

  zoobaby.components.inspectable.getstatus = function(zoobaby)

  if not zoobaby:HasTag("followme") then

  local brain = require "brains/abigailbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(GetPlayer())

  zoobaby.AnimState:SetBloomEffectHandle("shaders/anim.ksh")

  zoobaby:AddTag("followme")

  else

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(nil)

  zoobaby.AnimState:SetBloomEffectHandle("")

  zoobaby:RemoveTag("followme")

  end

  end

  zoobaby:DoPeriodicTask(math.random(360, 480), function(zoobaby)

  SpawnPrefab("poop").Transform:SetPosition(zoobaby.Transform:GetWorldPosition())

  end )

  zoobaby:AddComponent("lootdropper")

  zoobaby.components.lootdropper:SetLoot({"smallmeat"})

  zoobaby:AddTag("zoobaby")

  GetPlayer().SoundEmitter:PlaySound("dontstarve/HUD/research_available")

  GetPlayer().components.inventory:ConsumeByName("goldnugget", 30)

  end

  if inst.components.container:Has("trunk_summer", 1) then

  inst.components.container:ConsumeByName("trunk_summer", 1)

  local zoobaby = SpawnPrefab("butter")

  local pt1 = inst:GetPosition()

  zoobaby.Transform:SetPosition(pt1.x-6, 0, pt1.z-6)

  zoobaby.AnimState:SetBank("koalefant")

  zoobaby.AnimState:SetBuild("koalefant_summer_build")

  zoobaby.AnimState:PlayAnimation("idle_loop", true)

  zoobaby.entity:AddSoundEmitter()

  zoobaby.Transform:SetScale(0.5,0.5,0.5)

  zoobaby:AddComponent("locomotor")

  zoobaby.components.locomotor.walkspeed = 3

  zoobaby.components.locomotor.runspeed = 6

  zoobaby:SetStateGraph("SGkoalefant")

  zoobaby:AddTag("zoobaby2")

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby.Transform:SetFourFaced()

  MakeCharacterPhysics(zoobaby, 15, .5)

  zoobaby:AddComponent("knownlocations")

  zoobaby:AddComponent("combat")

  zoobaby:AddComponent("health")

  zoobaby.components.health:SetMaxHealth(100)

  zoobaby:RemoveComponent("stackable")

  zoobaby:RemoveComponent("inventoryitem")

  zoobaby:RemoveComponent("edible")

  zoobaby:RemoveComponent("perishable")

  zoobaby:RemoveComponent("deployable")

  zoobaby:RemoveComponent("container")

  local minimap = zoobaby.entity:AddMiniMapEntity()

  minimap:SetIcon("monkey_barrel.png")

  zoobaby:AddComponent("follower")

  zoobaby.components.inspectable.getstatus = function(zoobaby)

  if not zoobaby:HasTag("followme") then

  local brain = require "brains/abigailbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(GetPlayer())

  zoobaby.AnimState:SetBloomEffectHandle("shaders/anim.ksh")

  zoobaby:AddTag("followme")

  else

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(nil)

  zoobaby.AnimState:SetBloomEffectHandle("")

  zoobaby:RemoveTag("followme")

  end

  end

  zoobaby:DoPeriodicTask(math.random(360, 480), function(zoobaby)

  SpawnPrefab("poop").Transform:SetPosition(zoobaby.Transform:GetWorldPosition())

  end )

  zoobaby:AddComponent("lootdropper")

  zoobaby.components.lootdropper:SetLoot({"smallmeat"})

  zoobaby:AddTag("zoobaby")

  GetPlayer().SoundEmitter:PlaySound("dontstarve/HUD/research_available")

  GetPlayer().components.inventory:ConsumeByName("goldnugget", 30)

  end

  if inst.components.container:Has("trunk_winter", 1) then

  inst.components.container:ConsumeByName("trunk_winter", 1)

  local zoobaby = SpawnPrefab("butter")

  local pt1 = inst:GetPosition()

  zoobaby.Transform:SetPosition(pt1.x-6, 0, pt1.z-6)

  zoobaby.AnimState:SetBank("koalefant")

  zoobaby.AnimState:SetBuild("koalefant_winter_build")

  zoobaby.AnimState:PlayAnimation("idle_loop", true)

  zoobaby.entity:AddSoundEmitter()

  zoobaby.Transform:SetScale(0.5,0.5,0.5)

  zoobaby:AddComponent("locomotor")

  zoobaby.components.locomotor.walkspeed = 3

  zoobaby.components.locomotor.runspeed = 6

  zoobaby:SetStateGraph("SGkoalefant")

  zoobaby:AddTag("zoobaby3")

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby.Transform:SetFourFaced()

  MakeCharacterPhysics(zoobaby, 15, .5)

  zoobaby:AddComponent("knownlocations")

  zoobaby:AddComponent("combat")

  zoobaby:AddComponent("health")

  zoobaby.components.health:SetMaxHealth(100)

  zoobaby:RemoveComponent("stackable")

  zoobaby:RemoveComponent("inventoryitem")

  zoobaby:RemoveComponent("edible")

  zoobaby:RemoveComponent("perishable")

  zoobaby:RemoveComponent("deployable")

  zoobaby:RemoveComponent("container")

  local minimap = zoobaby.entity:AddMiniMapEntity()

  minimap:SetIcon("monkey_barrel.png")

  zoobaby:AddComponent("follower")

  zoobaby.components.inspectable.getstatus = function(zoobaby)

  if not zoobaby:HasTag("followme") then

  local brain = require "brains/abigailbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(GetPlayer())

  zoobaby.AnimState:SetBloomEffectHandle("shaders/anim.ksh")

  zoobaby:AddTag("followme")

  else

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(nil)

  zoobaby.AnimState:SetBloomEffectHandle("")

  zoobaby:RemoveTag("followme")

  end

  end

  zoobaby:DoPeriodicTask(math.random(360, 480), function(zoobaby)

  SpawnPrefab("poop").Transform:SetPosition(zoobaby.Transform:GetWorldPosition())

  end )

  zoobaby:AddComponent("lootdropper")

  zoobaby.components.lootdropper:SetLoot({"smallmeat"})

  zoobaby:AddTag("zoobaby")

  GetPlayer().SoundEmitter:PlaySound("dontstarve/HUD/research_available")

  GetPlayer().components.inventory:ConsumeByName("goldnugget", 30)

  end

  if inst.components.container:Has("walrus_tusk", 1) then

  inst.components.container:ConsumeByName("walrus_tusk", 1)

  local zoobaby = SpawnPrefab("butter")

  local pt1 = inst:GetPosition()

  zoobaby.Transform:SetPosition(pt1.x-6, 0, pt1.z-6)

  zoobaby.AnimState:SetBank("walrus")

  zoobaby.AnimState:SetBuild("walrus_baby_build")

  zoobaby.AnimState:PlayAnimation("idle_happy")

  zoobaby.entity:AddSoundEmitter()

  zoobaby.Transform:SetScale(0.8,0.8,0.8)

  zoobaby:AddComponent("locomotor")

  zoobaby.components.locomotor.walkspeed = 3

  zoobaby.components.locomotor.runspeed = 6

  zoobaby:SetStateGraph("SGwalrus")

  zoobaby:AddTag("zoobaby4")

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby.Transform:SetFourFaced()

  MakeCharacterPhysics(zoobaby, 15, .5)

  zoobaby:AddComponent("knownlocations")

  zoobaby:AddComponent("combat")

  zoobaby:AddComponent("health")

  zoobaby.components.health:SetMaxHealth(100)

  zoobaby:RemoveComponent("stackable")

  zoobaby:RemoveComponent("inventoryitem")

  zoobaby:RemoveComponent("edible")

  zoobaby:RemoveComponent("perishable")

  zoobaby:RemoveComponent("deployable")

  zoobaby:RemoveComponent("container")

  local minimap = zoobaby.entity:AddMiniMapEntity()

  minimap:SetIcon("monkey_barrel.png")

  zoobaby:AddComponent("follower")

  zoobaby.components.inspectable.getstatus = function(zoobaby)

  if not zoobaby:HasTag("followme") then

  local brain = require "brains/abigailbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(GetPlayer())

  zoobaby.AnimState:SetBloomEffectHandle("shaders/anim.ksh")

  zoobaby:AddTag("followme")

  else

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(nil)

  zoobaby.AnimState:SetBloomEffectHandle("")

  zoobaby:RemoveTag("followme")

  end

  end

  zoobaby:DoPeriodicTask(math.random(360, 480), function(zoobaby)

  SpawnPrefab("poop").Transform:SetPosition(zoobaby.Transform:GetWorldPosition())

  end )

  zoobaby:AddComponent("lootdropper")

  zoobaby.components.lootdropper:SetLoot({"smallmeat"})

  zoobaby:AddTag("zoobaby")

  GetPlayer().SoundEmitter:PlaySound("dontstarve/HUD/research_available")

  GetPlayer().components.inventory:ConsumeByName("goldnugget", 30)

  end

  if inst.components.container:Has("cave_banana", 1) then

  inst.components.container:ConsumeByName("cave_banana", 1)

  local zoobaby = SpawnPrefab("butter")

  local pt1 = inst:GetPosition()

  zoobaby.Transform:SetPosition(pt1.x-6, 0, pt1.z-6)

  zoobaby.AnimState:SetBank("kiki")

  zoobaby.AnimState:SetBuild("kiki_basic")

  zoobaby.AnimState:PlayAnimation("idle_loop", true)

  zoobaby.entity:AddSoundEmitter()

  zoobaby.soundtype = ""

  zoobaby.Transform:SetScale(1.2,1.2,1.2)

  zoobaby:AddComponent("locomotor")

  zoobaby.components.locomotor.walkspeed = 3

  zoobaby.components.locomotor.runspeed = 6

  zoobaby:SetStateGraph("SGmonkey")

  zoobaby:AddTag("zoobaby5")

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby.Transform:SetFourFaced()

  MakeCharacterPhysics(zoobaby, 15, .5)

  zoobaby:AddComponent("knownlocations")

  zoobaby:AddComponent("combat")

  zoobaby:AddComponent("health")

  zoobaby.components.health:SetMaxHealth(100)

  zoobaby:RemoveComponent("stackable")

  zoobaby:RemoveComponent("inventoryitem")

  zoobaby:RemoveComponent("edible")

  zoobaby:RemoveComponent("perishable")

  zoobaby:RemoveComponent("deployable")

  zoobaby:RemoveComponent("container")

  local minimap = zoobaby.entity:AddMiniMapEntity()

  minimap:SetIcon("monkey_barrel.png")

  zoobaby:AddComponent("follower")

  zoobaby.components.inspectable.getstatus = function(zoobaby)

  if not zoobaby:HasTag("followme") then

  local brain = require "brains/abigailbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(GetPlayer())

  zoobaby.AnimState:SetBloomEffectHandle("shaders/anim.ksh")

  zoobaby:AddTag("followme")

  else

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(nil)

  zoobaby.AnimState:SetBloomEffectHandle("")

  zoobaby:RemoveTag("followme")

  end

  end

  zoobaby:DoPeriodicTask(math.random(360, 480), function(zoobaby)

  SpawnPrefab("poop").Transform:SetPosition(zoobaby.Transform:GetWorldPosition())

  end )

  zoobaby:AddComponent("lootdropper")

  zoobaby.components.lootdropper:SetLoot({"smallmeat"})

  zoobaby:AddTag("zoobaby")

  GetPlayer().SoundEmitter:PlaySound("dontstarve/HUD/research_available")

  GetPlayer().components.inventory:ConsumeByName("goldnugget", 30)

  end

  end

  end }

  end

  if data and data.zooroom then

  inst.AnimState:SetBank("rabbithouse")

  inst.AnimState:SetBuild("rabbit_house")

  inst.AnimState:PlayAnimation("idle", true)

  inst.Transform:SetScale(0.4, 0.4, 0.4)

  inst:RemoveComponent("stackable")

  inst:RemoveComponent("inventoryitem")

  inst:RemoveComponent("edible")

  inst:RemoveComponent("perishable")

  inst:RemoveComponent("deployable")

  inst.components.container.canbeopened = true

  inst.entity:AddLight()

  inst.Light:SetFalloff(1)

  inst.Light:SetIntensity(.8)

  inst.Light:SetRadius(15)

  inst.Light:SetColour(180/255, 195/255, 50/255)

  inst.Light:Enable(true)

  inst:AddTag("zooroom")

  inst:DoPeriodicTask(180, function(inst)

  local target = FindEntity(inst, 9, function(guy)

  return guy:HasTag("zoobaby")

  end )

  if target then

  local target1 = FindEntity(inst, 9, function(guy)

  return guy.prefab == "poop"

  end )

  if not target1 then

  for k = 1,math.random(5,10) do

  local pt2 = inst:GetPosition()

  SpawnPrefab("goldnugget").Transform:SetPosition(pt2.x+7.5, 0, pt2.z+7.5)

  end

  else

  for k = 1,math.random(1,3) do

  local pt2 = inst:GetPosition()

  SpawnPrefab("goldnugget").Transform:SetPosition(pt2.x+7.5, 0, pt2.z+7.5)

  end

  end

  if inst.components.container:Has("carrot", 3) then

  inst.components.container:ConsumeByName("carrot", 3)

  if math.random()<0.1 then

  if target:HasTag("zoobaby1") then

  local zoobaby = SpawnPrefab("butter")

  local pt4 = target:GetPosition()

  zoobaby.Transform:SetPosition(pt4.x, 0, pt4.z)

  zoobaby.AnimState:SetBank("krampus")

  zoobaby.AnimState:SetBuild("krampus_build")

  zoobaby.AnimState:PlayAnimation("idle", true)

  zoobaby.entity:AddSoundEmitter()

  zoobaby.AnimState:Hide("SACK")

  zoobaby.AnimState:Show("ARM")

  zoobaby.Transform:SetScale(0.7,0.7,0.7)

  zoobaby:AddComponent("locomotor")

  zoobaby.components.locomotor.walkspeed = 3

  zoobaby.components.locomotor.runspeed = 6

  zoobaby:SetStateGraph("SGkrampus")

  zoobaby:AddTag("zoobaby1")

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby.Transform:SetFourFaced()

  MakeCharacterPhysics(zoobaby, 15, .5)

  zoobaby:AddComponent("knownlocations")

  zoobaby:AddComponent("combat")

  zoobaby:AddComponent("health")

  zoobaby.components.health:SetMaxHealth(100)

  zoobaby:RemoveComponent("stackable")

  zoobaby:RemoveComponent("inventoryitem")

  zoobaby:RemoveComponent("edible")

  zoobaby:RemoveComponent("perishable")

  zoobaby:RemoveComponent("deployable")

  zoobaby:RemoveComponent("container")

  local minimap = zoobaby.entity:AddMiniMapEntity()

  minimap:SetIcon("monkey_barrel.png")

  zoobaby:AddComponent("follower")

  zoobaby.components.inspectable.getstatus = function(zoobaby)

  if not zoobaby:HasTag("followme") then

  local brain = require "brains/abigailbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(GetPlayer())

  zoobaby.AnimState:SetBloomEffectHandle("shaders/anim.ksh")

  zoobaby:AddTag("followme")

  else

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(nil)

  zoobaby.AnimState:SetBloomEffectHandle("")

  zoobaby:RemoveTag("followme")

  end

  end

  zoobaby:DoPeriodicTask(math.random(360, 480), function(zoobaby)

  SpawnPrefab("poop").Transform:SetPosition(zoobaby.Transform:GetWorldPosition())

  end )

  zoobaby:AddComponent("lootdropper")

  zoobaby.components.lootdropper:SetLoot({"smallmeat"})

  zoobaby:AddTag("zoobaby")

  end

  if target:HasTag("zoobaby2") then

  local zoobaby = SpawnPrefab("butter")

  local pt4 = target:GetPosition()

  zoobaby.Transform:SetPosition(pt4.x, 0, pt4.z)

  zoobaby.AnimState:SetBank("koalefant")

  zoobaby.AnimState:SetBuild("koalefant_summer_build")

  zoobaby.AnimState:PlayAnimation("idle_loop", true)

  zoobaby.entity:AddSoundEmitter()

  zoobaby.Transform:SetScale(0.5,0.5,0.5)

  zoobaby:AddComponent("locomotor")

  zoobaby.components.locomotor.walkspeed = 3

  zoobaby.components.locomotor.runspeed = 6

  zoobaby:SetStateGraph("SGkoalefant")

  zoobaby:AddTag("zoobaby2")

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby.Transform:SetFourFaced()

  MakeCharacterPhysics(zoobaby, 15, .5)

  zoobaby:AddComponent("knownlocations")

  zoobaby:AddComponent("combat")

  zoobaby:AddComponent("health")

  zoobaby.components.health:SetMaxHealth(100)

  zoobaby:RemoveComponent("stackable")

  zoobaby:RemoveComponent("inventoryitem")

  zoobaby:RemoveComponent("edible")

  zoobaby:RemoveComponent("perishable")

  zoobaby:RemoveComponent("deployable")

  zoobaby:RemoveComponent("container")

  local minimap = zoobaby.entity:AddMiniMapEntity()

  minimap:SetIcon("monkey_barrel.png")

  zoobaby:AddComponent("follower")

  zoobaby.components.inspectable.getstatus = function(zoobaby)

  if not zoobaby:HasTag("followme") then

  local brain = require "brains/abigailbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(GetPlayer())

  zoobaby.AnimState:SetBloomEffectHandle("shaders/anim.ksh")

  zoobaby:AddTag("followme")

  else

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(nil)

  zoobaby.AnimState:SetBloomEffectHandle("")

  zoobaby:RemoveTag("followme")

  end

  end

  zoobaby:DoPeriodicTask(math.random(360, 480), function(zoobaby)

  SpawnPrefab("poop").Transform:SetPosition(zoobaby.Transform:GetWorldPosition())

  end )

  zoobaby:AddComponent("lootdropper")

  zoobaby.components.lootdropper:SetLoot({"smallmeat"})

  zoobaby:AddTag("zoobaby")

  end

  if target:HasTag("zoobaby3") then

  local zoobaby = SpawnPrefab("butter")

  local pt4 = target:GetPosition()

  zoobaby.Transform:SetPosition(pt4.x, 0, pt4.z)

  zoobaby.AnimState:SetBank("koalefant")

  zoobaby.AnimState:SetBuild("koalefant_winter_build")

  zoobaby.AnimState:PlayAnimation("idle_loop", true)

  zoobaby.entity:AddSoundEmitter()

  zoobaby.Transform:SetScale(0.5,0.5,0.5)

  zoobaby:AddComponent("locomotor")

  zoobaby.components.locomotor.walkspeed = 3

  zoobaby.components.locomotor.runspeed = 6

  zoobaby:SetStateGraph("SGkoalefant")

  zoobaby:AddTag("zoobaby3")

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby.Transform:SetFourFaced()

  MakeCharacterPhysics(zoobaby, 15, .5)

  zoobaby:AddComponent("knownlocations")

  zoobaby:AddComponent("combat")

  zoobaby:AddComponent("health")

  zoobaby.components.health:SetMaxHealth(100)

  zoobaby:RemoveComponent("stackable")

  zoobaby:RemoveComponent("inventoryitem")

  zoobaby:RemoveComponent("edible")

  zoobaby:RemoveComponent("perishable")

  zoobaby:RemoveComponent("deployable")

  zoobaby:RemoveComponent("container")

  local minimap = zoobaby.entity:AddMiniMapEntity()

  minimap:SetIcon("monkey_barrel.png")

  zoobaby:AddComponent("follower")

  zoobaby.components.inspectable.getstatus = function(zoobaby)

  if not zoobaby:HasTag("followme") then

  local brain = require "brains/abigailbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(GetPlayer())

  zoobaby.AnimState:SetBloomEffectHandle("shaders/anim.ksh")

  zoobaby:AddTag("followme")

  else

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(nil)

  zoobaby.AnimState:SetBloomEffectHandle("")

  zoobaby:RemoveTag("followme")

  end

  end

  zoobaby:DoPeriodicTask(math.random(360, 480), function(zoobaby)

  SpawnPrefab("poop").Transform:SetPosition(zoobaby.Transform:GetWorldPosition())

  end )

  zoobaby:AddComponent("lootdropper")

  zoobaby.components.lootdropper:SetLoot({"smallmeat"})

  zoobaby:AddTag("zoobaby")

  end

  if target:HasTag("zoobaby4") then

  local zoobaby = SpawnPrefab("butter")

  local pt4 = target:GetPosition()

  zoobaby.Transform:SetPosition(pt4.x, 0, pt4.z)

  zoobaby.AnimState:SetBank("walrus")

  zoobaby.AnimState:SetBuild("walrus_baby_build")

  zoobaby.AnimState:PlayAnimation("idle_happy")

  zoobaby.entity:AddSoundEmitter()

  zoobaby.Transform:SetScale(0.8,0.8,0.8)

  zoobaby:AddComponent("locomotor")

  zoobaby.components.locomotor.walkspeed = 3

  zoobaby.components.locomotor.runspeed = 6

  zoobaby:SetStateGraph("SGwalrus")

  zoobaby:AddTag("zoobaby4")

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby.Transform:SetFourFaced()

  MakeCharacterPhysics(zoobaby, 15, .5)

  zoobaby:AddComponent("knownlocations")

  zoobaby:AddComponent("combat")

  zoobaby:AddComponent("health")

  zoobaby.components.health:SetMaxHealth(100)

  zoobaby:RemoveComponent("stackable")

  zoobaby:RemoveComponent("inventoryitem")

  zoobaby:RemoveComponent("edible")

  zoobaby:RemoveComponent("perishable")

  zoobaby:RemoveComponent("deployable")

  zoobaby:RemoveComponent("container")

  local minimap = zoobaby.entity:AddMiniMapEntity()

  minimap:SetIcon("monkey_barrel.png")

  zoobaby:AddComponent("follower")

  zoobaby.components.inspectable.getstatus = function(zoobaby)

  if not zoobaby:HasTag("followme") then

  local brain = require "brains/abigailbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(GetPlayer())

  zoobaby.AnimState:SetBloomEffectHandle("shaders/anim.ksh")

  zoobaby:AddTag("followme")

  else

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(nil)

  zoobaby.AnimState:SetBloomEffectHandle("")

  zoobaby:RemoveTag("followme")

  end

  end

  zoobaby:DoPeriodicTask(math.random(360, 480), function(zoobaby)

  SpawnPrefab("poop").Transform:SetPosition(zoobaby.Transform:GetWorldPosition())

  end )

  zoobaby:AddComponent("lootdropper")

  zoobaby.components.lootdropper:SetLoot({"smallmeat"})

  zoobaby:AddTag("zoobaby")

  end

  if target:HasTag("zoobaby5") then

  local zoobaby = SpawnPrefab("butter")

  local pt4 = target:GetPosition()

  zoobaby.Transform:SetPosition(pt4.x, 0, pt4.z)

  zoobaby.AnimState:SetBank("kiki")

  zoobaby.AnimState:SetBuild("kiki_basic")

  zoobaby.AnimState:PlayAnimation("idle_loop", true)

  zoobaby.entity:AddSoundEmitter()

  zoobaby.soundtype = ""

  zoobaby.Transform:SetScale(1.2,1.2,1.2)

  zoobaby:AddComponent("locomotor")

  zoobaby.components.locomotor.walkspeed = 3

  zoobaby.components.locomotor.runspeed = 6

  zoobaby:SetStateGraph("SGmonkey")

  zoobaby:AddTag("zoobaby5")

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby.Transform:SetFourFaced()

  MakeCharacterPhysics(zoobaby, 15, .5)

  zoobaby:AddComponent("knownlocations")

  zoobaby:AddComponent("combat")

  zoobaby:AddComponent("health")

  zoobaby.components.health:SetMaxHealth(100)

  zoobaby:RemoveComponent("stackable")

  zoobaby:RemoveComponent("inventoryitem")

  zoobaby:RemoveComponent("edible")

  zoobaby:RemoveComponent("perishable")

  zoobaby:RemoveComponent("deployable")

  zoobaby:RemoveComponent("container")

  local minimap = zoobaby.entity:AddMiniMapEntity()

  minimap:SetIcon("monkey_barrel.png")

  zoobaby:AddComponent("follower")

  zoobaby.components.inspectable.getstatus = function(zoobaby)

  if not zoobaby:HasTag("followme") then

  local brain = require "brains/abigailbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(GetPlayer())

  zoobaby.AnimState:SetBloomEffectHandle("shaders/anim.ksh")

  zoobaby:AddTag("followme")

  else

  local brain = require "brains/frogbrain"

  zoobaby:SetBrain(brain)

  zoobaby:RestartBrain()

  zoobaby.components.follower:SetLeader(nil)

  zoobaby.AnimState:SetBloomEffectHandle("")

  zoobaby:RemoveTag("followme")

  end

  end

  zoobaby:DoPeriodicTask(math.random(360, 480), function(zoobaby)

  SpawnPrefab("poop").Transform:SetPosition(zoobaby.Transform:GetWorldPosition())

  end )

  zoobaby:AddComponent("lootdropper")

  zoobaby.components.lootdropper:SetLoot({"smallmeat"})

  zoobaby:AddTag("zoobaby")

  end

  end

  else

  target.components.health:Kill()

  end

  end

  end )

  inst:AddComponent("workable")

  inst.components.workable:SetWorkAction(ACTIONS.HAMMER)

  inst.components.workable:SetWorkLeft(3)

  inst.components.workable:SetOnFinishCallback(function(inst)

  local pos = Vector3(inst.Transform:GetWorldPosition())

  local ents = TheSim:FindEntities(pos.x,pos.y,pos.z, 10)

  for k,v in pairs(ents) do

  if v:HasTag("zoofence") or v:HasTag("brand") then

  SpawnPrefab("collapse_big").Transform:SetPosition(v.Transform:GetWorldPosition())

  GetPlayer().SoundEmitter:PlaySound("dontstarve/common/destroy_wood")

  v:Remove()

  end

  end

  inst:Remove()

  end )

  end

  if data and data.zoofence then

  inst.AnimState:SetBank("wall")

  inst.AnimState:SetBuild("wall_wood")

  inst.AnimState:PlayAnimation("1_2", false)

  MakeObstaclePhysics(inst, .5)

  inst:RemoveComponent("stackable")

  inst:RemoveComponent("inventoryitem")

  inst:RemoveComponent("edible")

  inst:RemoveComponent("perishable")

  inst:RemoveComponent("deployable")

  inst:RemoveComponent("container")

  inst:AddTag("zoofence")

  inst.components.inspectable.getstatus = function(inst)

  inst.Transform:SetScale(1, 0.1, 1)

  inst.Physics:SetActive(false)

  GetPlayer().SoundEmitter:PlaySound("dontstarve/common/destroy_wood")

  inst:DoTaskInTime(5, function(inst)

  inst.Transform:SetScale(1, 1, 1)

  inst.Physics:SetActive(true)

  GetPlayer().SoundEmitter:PlaySound("dontstarve/common/destroy_wood")

  end )

  end

  end

  if data and data.zoobaby1 then

  inst.AnimState:SetBank("krampus")

  inst.AnimState:SetBuild("krampus_build")

  inst.AnimState:PlayAnimation("idle", true)

  inst.entity:AddSoundEmitter()

  inst.AnimState:Hide("SACK")

  inst.AnimState:Show("ARM")

  inst.Transform:SetScale(0.7,0.7,0.7)

  inst:AddComponent("locomotor")

  inst.components.locomotor.walkspeed = 3

  inst.components.locomotor.runspeed = 6

  inst:SetStateGraph("SGkrampus")

  inst:AddTag("zoobaby1")

  local brain = require "brains/frogbrain"

  inst:SetBrain(brain)

  inst.Transform:SetFourFaced()

  MakeCharacterPhysics(inst, 15, .5)

  inst:AddComponent("knownlocations")

  inst:AddComponent("combat")

  inst:AddComponent("health")

  inst.components.health:SetMaxHealth(100)

  inst:RemoveComponent("stackable")

  inst:RemoveComponent("inventoryitem")

  inst:RemoveComponent("edible")

  inst:RemoveComponent("perishable")

  inst:RemoveComponent("deployable")

  inst:RemoveComponent("container")

  local minimap = inst.entity:AddMiniMapEntity()

  minimap:SetIcon("monkey_barrel.png")

  inst:AddComponent("follower")

  inst.components.inspectable.getstatus = function(inst)

  if not inst:HasTag("followme") then

  local brain = require "brains/abigailbrain"

  inst:SetBrain(brain)

  inst:RestartBrain()

  inst.components.follower:SetLeader(GetPlayer())

  inst.AnimState:SetBloomEffectHandle("shaders/anim.ksh")

  inst:AddTag("followme")

  else

  local brain = require "brains/frogbrain"

  inst:SetBrain(brain)

  inst:RestartBrain()

  inst.components.follower:SetLeader(nil)

  inst.AnimState:SetBloomEffectHandle("")

  inst:RemoveTag("followme")

  end

  end

  inst:DoPeriodicTask(math.random(360, 480), function(inst)

  SpawnPrefab("poop").Transform:SetPosition(inst.Transform:GetWorldPosition())

  end )

  inst:AddComponent("lootdropper")

  inst.components.lootdropper:SetLoot({"smallmeat"})

  inst:AddTag("zoobaby")

  end

  if data and data.zoobaby2 then

  inst.AnimState:SetBank("koalefant")

  inst.AnimState:SetBuild("koalefant_summer_build")

  inst.AnimState:PlayAnimation("idle_loop", true)

  inst.entity:AddSoundEmitter()

  inst.Transform:SetScale(0.5,0.5,0.5)

  inst:AddComponent("locomotor")

  inst.components.locomotor.walkspeed = 3

  inst.components.locomotor.runspeed = 6

  inst:SetStateGraph("SGkoalefant")

  inst:AddTag("zoobaby2")

  local brain = require "brains/frogbrain"

  inst:SetBrain(brain)

  inst.Transform:SetFourFaced()

  MakeCharacterPhysics(inst, 15, .5)

  inst:AddComponent("knownlocations")

  inst:AddComponent("combat")

  inst:AddComponent("health")

  inst.components.health:SetMaxHealth(100)

  inst:RemoveComponent("stackable")

  inst:RemoveComponent("inventoryitem")

  inst:RemoveComponent("edible")

  inst:RemoveComponent("perishable")

  inst:RemoveComponent("deployable")

  inst:RemoveComponent("container")

  local minimap = inst.entity:AddMiniMapEntity()

  minimap:SetIcon("monkey_barrel.png")

  inst:AddComponent("follower")

  inst.components.inspectable.getstatus = function(inst)

  if not inst:HasTag("followme") then

  local brain = require "brains/abigailbrain"

  inst:SetBrain(brain)

  inst:RestartBrain()

  inst.components.follower:SetLeader(GetPlayer())

  inst.AnimState:SetBloomEffectHandle("shaders/anim.ksh")

  inst:AddTag("followme")

  else

  local brain = require "brains/frogbrain"

  inst:SetBrain(brain)

  inst:RestartBrain()

  inst.components.follower:SetLeader(nil)

  inst.AnimState:SetBloomEffectHandle("")

  inst:RemoveTag("followme")

  end

  end

  inst:DoPeriodicTask(math.random(360, 480), function(inst)

  SpawnPrefab("poop").Transform:SetPosition(inst.Transform:GetWorldPosition())

  end )

  inst:AddComponent("lootdropper")

  inst.components.lootdropper:SetLoot({"smallmeat"})

  inst:AddTag("zoobaby")

  end

  if data and data.zoobaby3 then

  inst.AnimState:SetBank("koalefant")

  inst.AnimState:SetBuild("koalefant_winter_build")

  inst.AnimState:PlayAnimation("idle_loop", true)

  inst.entity:AddSoundEmitter()

  inst.Transform:SetScale(0.5,0.5,0.5)

  inst:AddComponent("locomotor")

  inst.components.locomotor.walkspeed = 3

  inst.components.locomotor.runspeed = 6

  inst:SetStateGraph("SGkoalefant")

  inst:AddTag("zoobaby3")

  local brain = require "brains/frogbrain"

  inst:SetBrain(brain)

  inst.Transform:SetFourFaced()

  MakeCharacterPhysics(inst, 15, .5)

  inst:AddComponent("knownlocations")

  inst:AddComponent("combat")

  inst:AddComponent("health")

  inst.components.health:SetMaxHealth(100)

  inst:RemoveComponent("stackable")

  inst:RemoveComponent("inventoryitem")

  inst:RemoveComponent("edible")

  inst:RemoveComponent("perishable")

  inst:RemoveComponent("deployable")

  inst:RemoveComponent("container")

  local minimap = inst.entity:AddMiniMapEntity()

  minimap:SetIcon("monkey_barrel.png")

  inst:AddComponent("follower")

  inst.components.inspectable.getstatus = function(inst)

  if not inst:HasTag("followme") then

  local brain = require "brains/abigailbrain"

  inst:SetBrain(brain)

  inst:RestartBrain()

  inst.components.follower:SetLeader(GetPlayer())

  inst.AnimState:SetBloomEffectHandle("shaders/anim.ksh")

  inst:AddTag("followme")

  else

  local brain = require "brains/frogbrain"

  inst:SetBrain(brain)

  inst:RestartBrain()

  inst.components.follower:SetLeader(nil)

  inst.AnimState:SetBloomEffectHandle("")

  inst:RemoveTag("followme")

  end

  end

  inst:DoPeriodicTask(math.random(360, 480), function(inst)

  SpawnPrefab("poop").Transform:SetPosition(inst.Transform:GetWorldPosition())

  end )

  inst:AddComponent("lootdropper")

  inst.components.lootdropper:SetLoot({"smallmeat"})

  inst:AddTag("zoobaby")

  end

  if data and data.zoobaby4 then

  inst.AnimState:SetBank("walrus")

  inst.AnimState:SetBuild("walrus_baby_build")

  inst.AnimState:PlayAnimation("idle_happy")

  inst.entity:AddSoundEmitter()

  inst.Transform:SetScale(0.8,0.8,0.8)

  inst:AddComponent("locomotor")

  inst.components.locomotor.walkspeed = 3

  inst.components.locomotor.runspeed = 6

  inst:SetStateGraph("SGwalrus")

  inst:AddTag("zoobaby4")

  local brain = require "brains/frogbrain"

  inst:SetBrain(brain)

  inst.Transform:SetFourFaced()

  MakeCharacterPhysics(inst, 15, .5)

  inst:AddComponent("knownlocations")

  inst:AddComponent("combat")

  inst:AddComponent("health")

  inst.components.health:SetMaxHealth(100)

  inst:RemoveComponent("stackable")

  inst:RemoveComponent("inventoryitem")

  inst:RemoveComponent("edible")

  inst:RemoveComponent("perishable")

  inst:RemoveComponent("deployable")

  inst:RemoveComponent("container")

  local minimap = inst.entity:AddMiniMapEntity()

  minimap:SetIcon("monkey_barrel.png")

  inst:AddComponent("follower")

  inst.components.inspectable.getstatus = function(inst)

  if not inst:HasTag("followme") then

  local brain = require "brains/abigailbrain"

  inst:SetBrain(brain)

  inst:RestartBrain()

  inst.components.follower:SetLeader(GetPlayer())

  inst.AnimState:SetBloomEffectHandle("shaders/anim.ksh")

  inst:AddTag("followme")

  else

  local brain = require "brains/frogbrain"

  inst:SetBrain(brain)

  inst:RestartBrain()

  inst.components.follower:SetLeader(nil)

  inst.AnimState:SetBloomEffectHandle("")

  inst:RemoveTag("followme")

  end

  end

  inst:DoPeriodicTask(math.random(360, 480), function(inst)

  SpawnPrefab("poop").Transform:SetPosition(inst.Transform:GetWorldPosition())

  end )

  inst:AddComponent("lootdropper")

  inst.components.lootdropper:SetLoot({"smallmeat"})

  inst:AddTag("zoobaby")

  end

  if data and data.zoobaby5 then

  inst.AnimState:SetBank("kiki")

  inst.AnimState:SetBuild("kiki_basic")

  inst.AnimState:PlayAnimation("idle_loop", true)

  inst.entity:AddSoundEmitter()

  inst.soundtype = ""

  inst.Transform:SetScale(1.2,1.2,1.2)

  inst:AddComponent("locomotor")

  inst.components.locomotor.walkspeed = 3

  inst.components.locomotor.runspeed = 6

  inst:SetStateGraph("SGmonkey")

  inst:AddTag("zoobaby5")

  local brain = require "brains/frogbrain"

  inst:SetBrain(brain)

  inst.Transform:SetFourFaced()

  MakeCharacterPhysics(inst, 15, .5)

  inst:AddComponent("knownlocations")

  inst:AddComponent("combat")

  inst:AddComponent("health")

  inst.components.health:SetMaxHealth(100)

  inst:RemoveComponent("stackable")

  inst:RemoveComponent("inventoryitem")

  inst:RemoveComponent("edible")

  inst:RemoveComponent("perishable")

  inst:RemoveComponent("deployable")

  inst:RemoveComponent("container")

  local minimap = inst.entity:AddMiniMapEntity()

  minimap:SetIcon("monkey_barrel.png")

  inst:AddComponent("follower")

  inst.components.inspectable.getstatus = function(inst)

  if not inst:HasTag("followme") then

  local brain = require "brains/abigailbrain"

  inst:SetBrain(brain)

  inst:RestartBrain()

  inst.components.follower:SetLeader(GetPlayer())

  inst.AnimState:SetBloomEffectHandle("shaders/anim.ksh")

  inst:AddTag("followme")

  else

  local brain = require "brains/frogbrain"

  inst:SetBrain(brain)

  inst:RestartBrain()

  inst.components.follower:SetLeader(nil)

  inst.AnimState:SetBloomEffectHandle("")

  inst:RemoveTag("followme")

  end

  end

  inst:DoPeriodicTask(math.random(360, 480), function(inst)

  SpawnPrefab("poop").Transform:SetPosition(inst.Transform:GetWorldPosition())

  end )

  inst:AddComponent("lootdropper")

  inst.components.lootdropper:SetLoot({"smallmeat"})

  inst:AddTag("zoobaby")

  end

  if data and data.followme then

  local brain = require "brains/abigailbrain"

  inst:SetBrain(brain)

  inst:RestartBrain()

  inst.components.follower:SetLeader(GetPlayer())

  inst.AnimState:SetBloomEffectHandle("shaders/anim.ksh")

  inst:AddTag("followme")

  end

  end

  inst.OnSave = onsave

  inst.OnLoad = onload

  即可在开阔的空地上,用黄油种动物园,在身上有30个黄金时,用鼠标左键点牌子,可打开格子,放入木炭点Buy按钮,可买一只小龙,花费30个黄金;放入夏象鼻点Buy按钮,可买小红象;放入冬象鼻点Buy按钮,可买小蓝象;放入海象牙点Buy按钮,可买小海象;放入香蕉点Buy按钮,可买猴子。鼠标左键点木栅栏,可开门,5秒后自动关门。鼠标左键点中间的胡萝卜房可打开格子,放入小动物爱吃的胡萝卜(每天消耗9个),当格子里的胡萝卜不足3个时,圈里的动物将陆续饿死。当动物园里有动物时,每天都能收到15-30个黄金的门票钱(放在牌子前面),动物会产便便,如果不及时清扫,门票钱将下降为正常的1/3。如果食物充足,小动物还有一定概率会繁殖,点胡萝卜房格子上方的Sell按钮,可卖掉圈舍中的动物,每只20个黄金。如果动物跑出圈舍,或想带领动物转场,就用鼠标左键点动物(手里不要拿武器),它会跟随你,再次用鼠标左键点动物,可以取消跟随。动物在小地图上显示为猴子的图标。不想要动物园时,用锤子砸掉胡萝卜房即可。黄油可以打蝴蝶获得,如果修改了“巨型超市”,也可花1-3个黄金购得

更多相关内容请关注:饥荒专区

责任编辑:Shy夏夏

上一页 351 352 353 354 355 356 357 358 359 360 361 下一页
友情提示:支持键盘左右键“← →”翻页

本文是否解决了您的问题

文章内容导航
游民星空APP
随手浏览游戏攻略
code
攻略合集
单机游戏下载
休闲娱乐
综合热点资讯
游民星空联运游戏