PI_RATE Posted April 10, 2018 Share Posted April 10, 2018 I want to prevent maxwell's shadow workers from digging mushtree stumps and cutting any type of tree unless it's fully grown. As I understood changing shadowwaxwell.lua is enough, so my mod consists only of brains/shadowwaxwelbrain.lua and modinfo.lua. Here are the contents changed in the former: local function FindEntityToWorkAction(inst, action, addtltags) local leader = GetLeader(inst) if leader ~= nil then --Keep existing target? local target = inst.sg.statemem.target if target ~= nil and target:IsValid() and not (target:IsInLimbo() or target:HasTag("NOCLICK") or target:HasTag("event_trigger")) and target.components.workable ~= nil and target.components.workable:CanBeWorked() and target.components.workable:GetWorkAction() == action and not (target.components.burnable ~= nil and (target.components.burnable:IsBurning() or target.components.burnable:IsSmoldering())) and target.entity:IsVisible() and target:IsNear(leader, KEEP_WORKING_DIST) then if addtltags ~= nil then for i, v in ipairs(addtltags) do if target:HasTag(v) then return BufferedAction(inst, target, action) end end else return BufferedAction(inst, target, action) end end TheNet:SystemMessage("target.prefab: ".. target.prefab, false) --Find new target target = FindEntity(leader, SEE_WORK_DIST, nil, { action.id.."_workable" }, { "fire", "smolder", "event_trigger", "INLIMBO", "NOCLICK" }, addtltags) if target ~=nil and (target.prefab == "mushtree_small_stump" or target.prefab == "mushtree_medium_stump" or target.prefab == "mushtree_tall_stump" or target.prefab == "marbleshrub_small" or target.prefab == "marbleshrub_medium" or target.prefab == "evergreen_normal" or target.prefab == "evergreen_short" or target.prefab == "evergreen_sparse_normal" or target.prefab == "evergreen_sparse_short" or target.prefab == "twiggy_normal" or target.prefab == "twiggy_short" or target.prefab == "twiggy_old" ) then return nil end return target ~= nil and BufferedAction(inst, target, action) or nil end end The only thing I have added is the last if; there is no other change. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now