Jump to content

Game Update 138844 - 6/5/2015


Recommended Posts

138844 - 6/5/2015

 

Changes
  • Players will have a better chance of finding Berry Bushes when spawning into long running Wilderness servers
  • Added new mod api function AddRecipeTab(string_title, sort_key, atlas, texture) that returns the tab that can be passed into AddRecipe.
 
Bug Fixes
  • Fixed crash sometimes when catching Mosquitos
  • Fixed crash sometimes when Birchnutters lose their combat target
  • Cook action no longer shows up for targets that you should not currently be able to cook
 
Link to comment
https://forums.kleientertainment.com/forums/topic/54862-game-update-138844-652015/
Share on other sites

@KarateF22, all modes. The component picks a spawn point each time it regenerates.

In wilderness you have many spawn points, in endless/survival you get only one.

 

@Kzisor, @rezecib, can you explain to me how the regeneration process works?

To me it seems that spawns next to nothing, allowing only 3 flint/saplings/grass/bushes in the nearby spawn location.

 

@DarkXero, in the forestresourcespawner.lua file you have this code:

local function GetRenewablePeriod()    return TUNING.SEG_TIME + math.random() * TUNING.SEG_TIMEendlocal function DoPrefabRenew(x, z, ents, prefab, prefab_matches, max)    --Check if this prefab was found already    for i, v in ipairs(ents) do        if prefab_matches[v.prefab] then            return        end    end    --Spawn random up to max count    for i = math.random(max), 1, -1 do        local theta = math.random() * 2 * PI        local radius = math.random() * RENEW_RADIUS        local x1 = x + radius * math.cos(theta)        local z1 = z - radius * math.sin(theta)        if inst.Map:CanPlantAtPoint(x1, 0, z1) then            SpawnPrefab(prefab).Transform:SetPosition(x1, 0, z1)        end    endendlocal function DoRenew()    local targeti = math.min(math.floor(easing.inQuint(math.random(), 1, #_spawnpts, 1)), #_spawnpts)    local target = _spawnpts[targeti]    table.remove(_spawnpts, targeti)    table.insert(_spawnpts, target)    local x, y, z = target.Transform:GetWorldPosition()    if not IsAnyPlayerInRange(x, y, z, MIN_PLAYER_DISTANCE) then        local ents = TheSim:FindEntities(x, y, z, RENEW_RADIUS, { "renewable" })        for k, v in pairs(RENEWABLES) do            DoPrefabRenew(x, z, ents, k, v, 3)        end    end    _task = inst:DoTaskInTime(GetRenewablePeriod(), DoRenew)end 

Basically it allows each entity in the RENEWABLES list to spawn up to 3 entities each. The equation for the time to be ran is basically the following:

SEG_TIME = 30math.random = 0 through 1SEG_TIME * math.random * 30Minimum Time Frame: 0 secondsMedian Time Frame: 450 secondsMaximum Time Frame: 900 secondsTotal Time in Day: 480 seconds

So basically it has the chance to spawn up to 3 of each resource in the renewables list every day.

 

Note: This is actually only ran on Endless and Wilderness game modes not on Survival game mode.

@Kzisor, what I think I understand is this:

 

1) Every 30 - 60 seconds, DoRenew gets executed

2) A spawn point is chosen at random

3) If there are no players near the 240 distance, then proceed

4) Get all entities with renewable tag in vicinity

(60, three screens) (sapling, grass, flint) (bushes as of now don't have this tag)

5) For each prefab in RENEWABLES do DoPrefabRenew

 

6) Check if in the ents found there are no renewable prefab entities

Example, if there is one flint inside ents, then the function runs return and nothing happens

 

7) If there aren't any of the resource, then pick between 1 - 3 and pick one position around to spawn it

 

The important point is 6.

 

Lets suppose the area gets obliterated and everything gets removed.

Does this mean that there will only be a max of 3 of each prefab near spawn?

@Kzisor, 60 is a huge radius, two screens.

Even more, people can't linger around the area (240) of it will deprive newcomers of the newly resources.

 

And if they get the chance to get them, they get only 3? 3. Absurd.

Why not do it like this, for example: http://steamcommunity.com/sharedfiles/filedetails/?id=369588618

 

Generate the world, get a number count of all reeds, grass, saplings, flints, and generate new prefabs towards that goal.

 

3 is nothing.

 

Also, again, berry bushes don't have the renewable tag.

 

There are tons of berry bushes in my server near spawn now.

Basically, for every 30-60 seconds, check ...
If there is no new player in range (240), spawn sapling, grass, flint and berrybush, 3 each.
Do not spawn if it's not plantable at point.
If there is any grass or depleted grass nearby (60), do not spawn new grass.
If there is any sapling nearby (60), do not spawn new sapling.

 

IMO, they should replace berrybush with planted carrots because the function does not check whether there is already berrybush nearby.
 

<p>138844 - 6/5/2015Changes

  • [*]Players will have a better chance of finding Berry Bushes when spawning into long running Wilderness servers[*]

Great, now can we have the same for grass tufts and saplings? All though, actually; no. Why do you not implement a system where seeds dropped on the ground and not stacked would eventually grow into something? That would:

1) Deal with the rot-everywhere-when-the-world-is-old problem

2) Deal with game logic of carrots and things that don't respawn in the places they were picked from and be more convenient

3) Deal with the non-renewability of things such as berry bushes, grass tufts, saplings, flint, rocks, boulders, mushrooms, spiky trees and spiky bushes, cactuses etc. And if you think that this might eventually make the world full of this stuff because it's not picked, well think again; griefers might be little more helpful in that manner and also the fact that we have summer season which will burn the crops around the world which are not protected by flingomatics. And if you're thjnking that you're gonna have certain things in biomes they are generally not supposed to be in; just make them biome growth based, so that a seed has a chance of growing into something that is generally found in that particular biome.

So I'm still questioning as to why this isn't a thing and why it wasn't a thing since the beginning, because logically, you'd let seeds dropped on the ground grow into something, would you not?

Okay, emm my world is now being dominated by berry hushes ;_; goddamit, Klei, just put in the seed-regrowth so we're not dealing with the overkill spawning or stuff becoming less and less in the world! That way I wouldn't much care for the stuff that gets burnt outside muh base during Summer, or wouldn't need to light stuff on fire myself, as it would be a reaccuring natural cycle in the game!

Cook action no longer shows up for targets that you should not currently be able to cook
 

But... but I wanted to cook moleworms out in the open air. TT^TT

 

Why do all my exploits get taken away!!

 

*cries in the corner trying to cook a live moleworm*

 

LOL :D

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

×
  • Create New...