I love this mod and its idea, in A19.3 its working flawless, but as mentioned before its a bit too much off a endless hassle, there should be a break every now and then...
My suggestion would be something like this pseudo code. It would bring in some values, such as gamestage, difficulty, population, day lenghts and (bad)luck. Differencing between Day and Night would also be an option, but for now the example is w/o Day/Night difference.
Its all about the idea, to make an player "invisible" for the 2D-ModeOfflineZombies as long as the player stays in the current chunk. If this is possible at all, bonus points for saving this chunk status (or the timer set for "invisibility"), when player leaves the current chunk.
Invisible means the player does not cause the 2D-Zombies to spawn in as soon as he hits the kills needed, more below.
Invisible does not mean, that any Zombies already spawned cant see/hear him.
Please let me know, what you think of it and if its possible at all.
Pseudo code:
TimeInChunkMins = get TimeInChunkMins
24hrLengthMins = day length in Mins
24hrLengthFlo = (24hrLengthMins / 100)
GameStage = get PlayerGameStage
TimeInChunkModMins = (GameStage x 24hrLengthFlo)
Difficulty = get PlayerDifficulty ---- 7 <-> 2 , 7 beeing easiest
Population = get (Population / 100)
RnG = random N# between 20 and 10
DayOrNight = ?
---------------------------------------------------------------------------------------------------------------------------------------------------
while in currentChunk
if (TimeInChunkMins > ((TimeInChunkModMins x Population) / (RnG - Difficulty)) then --- the time when counter starts should be a "secret" to the player, hence the RnG
count _kills
if _kills > (((RnG / Population) x TimeInChunkModMins) / (Difficulty x RnG)) then --- in terms of kills, a high RnG roll means (bad)luck
current chunk makePlayerInvisibleIn2D for (((TimeInChunkModMins x Population ) / RnG) + Difficulty) --- make Player invisible but do not remove the zombies currently left
end
end
end
---------------------------------------------------------------------------------------------------------------------------------------------------
ALL results should be upped to their next integer !
Example 1: EasyMode Early-Game: 60Mins Day, 120 Population, Random No. 17 , Difficulty 5, Gamestage 20 --- Low Difficulty, low Gamestage + good --- luck, in this gamestage you will only --- be able to kill slowly
Gamestage 20 x DayFloat 0,6 = TimeInChunkModMins 12
(TimeInChunkModMins x Population) / (RnG - Difficulty) = 1,2 Mins --- time you already have to be been in the chunk, before the kill count starts
((RnG / Population) x TimeInChunkModMins) / (Difficulty x RnG) = 2 kills --- seems a bit low but keep in mind that all previously --- spawned zombies will stay, which is already a lot at --- pop 120
((TimeInChunkModMins x Population ) / RnG) + Difficulty = 5,8 Mins Invisible/no Respawn
Example 2: RegularMode Mid-Game: 60Mins Day, 120 Population, Random No. 16 , Difficulty 4, Gamestage 80 --- good mid-game, in-between good --- and bad
Gamestage 80 x DayFloat 0,6 = TimeInChunkModMins 48
(TimeInChunkModMins x Population) / (RnG - Difficulty) = 4,8 Mins
((RnG / Population) x TimeInChunkModMins) / (Difficulty x RnG) = 14,4 kills
((TimeInChunkModMins x Population ) / RnG) + Difficulty = 7,6 Mins Invisible/no Respawn
Example 3: HarderMode End-Game: 60Mins Day, 120 Population, Random No. 13 , Difficulty 3, Gamestage 120 --- Harder Difficulty, higher Gamestage --- + less luck, but in this gamestage ---you should be able to kill really fast
Gamestage 120 x DayFloat 0,6 = TimeInChunkModMins 72
(TimeInChunkModMins x Population) / (RnG - Difficulty) = 8,6 Mins
((RnG / Population) x TimeInChunkModMins) / (Difficulty x RnG) = 28,8 kills
((TimeInChunkModMins x Population ) / RnG) + Difficulty = 9,6 Mins Invisible/no Respawn