第206页:糖豆敢死队
展开二零六.糖豆敢死队(按键盘T键召唤糖豆敢死队,对敌发动自杀式爆炸,鼠标左键点击可退钱)
用记事本打开游戏目录\data\DLC0001\scripts\prefabs\player_common.lua文件,在inst:AddComponent("playercontroller")的下一行插入以下内容:
TheInput:AddKeyUpHandler(KEY_T, function()
if inst.components.inventory:Has("goldnugget", 2) then
inst.components.inventory:ConsumeByName("goldnugget", 2)
inst.AnimState:PlayAnimation("give")
inst.SoundEmitter:PlaySound("dontstarve/HUD/research_available")
local bean = SpawnPrefab("goatmilk")
local pt = GetPlayer():GetPosition()
bean.Transform:SetPosition(pt.x+(math.random(3)-math.random(3)), 0, pt.z+(math.random(3)-math.random(3)))
SpawnPrefab("collapse_small").Transform:SetPosition(bean.Transform:GetWorldPosition())
bean.AnimState:SetBank("treedrake")
bean.AnimState:SetBuild("treedrake_build")
bean.AnimState:PlayAnimation("enter")
bean.AnimState:SetBloomEffectHandle("shaders/anim.ksh")
bean.Transform:SetScale(1.2, 1.2, 1.2)
bean.Transform:SetFourFaced()
local sound = bean.entity:AddSoundEmitter()
local shadow = bean.entity:AddDynamicShadow()
shadow:SetSize(1.25, .75)
MakeCharacterPhysics(bean, 1, .25)
local colours= { {198/255,43/255,43/255}, {79/255,153/255,68/255}, {35/255,105/255,235/255}, {233/255,208/255,69/255}, {109/255,50/255,163/255}, {222/255,126/255,39/255} }
bean.colour_idx = math.random(#colours)
bean.AnimState:SetMultColour(colours[bean.colour_idx][1],colours[bean.colour_idx][2],colours[bean.colour_idx][3],1)
bean:RemoveComponent("edible")
bean:RemoveComponent("perishable")
bean:RemoveComponent("stackable")
bean:RemoveComponent("inventoryitem")
bean:RemoveTag("catfood")
bean.persists = false
bean:AddComponent("named")
bean.components.named:SetName("Jelly Bean")
bean:AddComponent("follower")
bean.components.follower:SetLeader(GetPlayer())
bean:AddComponent("health")
bean.components.health:SetMaxHealth(10)
bean.components.health:SetInvincible(true)
bean:AddComponent("combat")
bean.components.combat:SetDefaultDamage(1)
bean.components.combat:SetAttackPeriod(2)
bean.components.combat:SetRange(0.5)
bean.components.combat:SetRetargetFunction(1, function(bean)
if not bean.components.health:IsDead() then
return FindEntity(bean, 25, function(guy)
if guy.components.combat then
return guy.components.combat.target == GetPlayer() or GetPlayer().components.combat.target == guy or guy:HasTag("monster")
end
end )
end
end )
bean.components.combat:SetKeepTargetFunction(function(bean, target) return target and target:IsValid() end )
bean:AddComponent("locomotor")
bean.components.locomotor.walkspeed = 15
bean:SetStateGraph("SGbirchnutdrake")
local brain = require "brains/abigailbrain"
bean:SetBrain(brain)
bean:DoPeriodicTask(0.25, function()
local pos = Vector3(bean.Transform:GetWorldPosition())
local ents = TheSim:FindEntities(pos.x,pos.y,pos.z, 2)
for k,v in pairs(ents) do
if v and v.components.combat and v.components.health and not v.components.health:IsDead() then
if v.components.combat.target == GetPlayer() or GetPlayer().components.combat.target == v or v.components.combat.target == bean or bean.components.combat.target == v or v:HasTag("monster") then
GetPlayer().SoundEmitter:PlaySound("dontstarve_DLC001/creatures/glommer/foot_ground")
SpawnPrefab("collapse_big").Transform:SetPosition(v.Transform:GetWorldPosition())
SpawnPrefab("explode_small").Transform:SetPosition(v.Transform:GetWorldPosition())
GetClock():DoLightningLighting()
GetPlayer().components.playercontroller:ShakeCamera(v, "FULL", 0.7, 0.02, .5, 40)
v.components.health:Kill()
bean:Remove()
end
end
end
end )
bean.components.inspectable.getstatus = function(bean)
inst.SoundEmitter:PlaySound("dontstarve/HUD/research_available")
SpawnPrefab("collapse_small").Transform:SetPosition(bean.Transform:GetWorldPosition())
for k = 1, 2 do
local goldnugget = SpawnPrefab("goldnugget")
inst.components.inventory:GiveItem(goldnugget)
end
bean:Remove()
end
bean:AddTag("companion")
bean:AddTag("beans")
end
end )
即可按键盘T键召唤糖豆敢死队,花费2个黄金,身上黄金数不足时无法召唤。糖豆敢死队员将冲向你的敌人,对其发动自杀式爆炸,并杀伤周边敌人。鼠标点击多余的糖豆敢死队员,可清退它们,换回2个黄金(放入主角物品栏)。存档退出后再读档,糖豆敢死队将离开,在之前将它们都清退掉吧
更多相关内容请关注:饥荒专区
责任编辑:Shy夏夏