Project Zomboid

Project Zomboid

Zombie Virus vaccine Update 41+ MP
Sorrowsnow 26 Jan, 2022 @ 5:27pm
More detail of Vaccines
After you become infected, Inject the vaccine immediately reduce the "infection rate". For example, if you inject a Quality vaccine, your character's "infection rate" will be "10%"(push it back to 10%). After that, the "infection rate" starts to increase again. Quality Vaccine and Advanced Vaccine slightly slow down the early increase of rate.

If you take albumin while the vaccine is still in effect, the infection rate is reduced. And they prolong the effect of the vaccine. Albumin works better when a better vaccine is used.

Each vaccine has a limit on the number of times albumin intakes. For example, if you inject a Quality vaccine, albumin intake is effective for 5 to 10 tablets.(about 8 tablets) That's right, this is random.

To check your character's "infection rate" use a syringe to take blood and get a blood test with Spectrometer.
< >
Showing 1-15 of 21 comments
Muffinman 30 Jan, 2022 @ 12:58am 
Originally posted by Sorrowsnow:
After you become infected, Inject the vaccine immediately reduce the "infection rate". For example, if you inject a Quality vaccine, your character's "infection rate" will be "10%"(push it back to 10%). After that, the "infection rate" starts to increase again. Quality Vaccine and Advanced Vaccine slightly slow down the early increase of rate.

If you take albumin while the vaccine is still in effect, the infection rate is reduced. And they prolong the effect of the vaccine. Albumin works better when a better vaccine is used.

Each vaccine has a limit on the number of times albumin intakes. For example, if you inject a Quality vaccine, albumin intake is effective for 5 to 10 tablets.(about 8 tablets) That's right, this is random.

To check your character's "infection rate" use a syringe to take blood and get a blood test with Spectrometer.

How long is the effect of an albumin pill? How often and at what interval do you take them?

So if I understand this right, if you are infected, inject yourself with the best vaccine. Take albumin, at some interval, to prolong the effect of the vaccine while you try and synthesize more vaccine and repeat injection to prolong your life and try to make a cure?
Last edited by Muffinman; 30 Jan, 2022 @ 1:00am
Muffinman 30 Jan, 2022 @ 6:07am 
So I had a read of the code and hourly in-game it checks for the player's "infection rate"...Infection rate is really not a rate but more correctly an infection progress, like filling a glass with water. The mod reports this progress as a number between 0 and 1, with 0 being just infected, and 1 being a zombie. Once the water overflows the glass, you are dead. This is a vanilla feature and the mod only modifies how slowly you get there since the water level can only go up. It delays the inevitable by moving the infection time forward relative to the total hours survived.

Ex: You survived 1000h (call it T) and was infected at 999h (call it V) and you are supposed to die at 1050h (call it X) because you had 51h to live (call it L, the vanilla game assigns this number from a range every time you get infected). Every hour in game, T will increase and the (T-V)/L will slowly get to 1. The mod delays this by increasing V since the interval L is fixed. How much the mod delays depends on the progress of the disease, the quality of the vaccine, and how many albumins you have taken, which also depends on the quality of the vaccine.

After you can't take albumin anymore, you just take another dose of the vaccine to reset the infection progress. A vaccine cure of course instantly cures you, however, it is much more expensive to make.

So the best strategy is to not take the vaccine when you just bitten. You should take blood test to gauge you zombification progress. Once you get to about 70-75%, take the best vaccine you have. Then do the albumin course to prolong the effectiveness of the vaccine.
Last edited by Muffinman; 16 Feb, 2022 @ 11:32am
Muffinman 30 Jan, 2022 @ 6:21am 
Here's the relevant codes if you can read it

Different types of vaccines
CmpSyringeWithPlainVaccine = { Min = 0.15, Max = 0.86, CureChance = 5, InfectChance = 40, Time = 0, Strength = 0, AlbuminMin = 3, AlbuminDelta = 4, Recess = 0, }, CmpSyringeWithQualityVaccine = { Min = 0.10, Max = 0.91, CureChance = 10, InfectChance = 10, Time = 168, Strength = 20, AlbuminMin = 5, AlbuminDelta = 5, Recess = 1, }, CmpSyringeWithAdvancedVaccine = { Min = 0.05, Max = 0.96, CureChance = 15, InfectChance = 1, Time = 504, Strength = 65, AlbuminMin = 8, AlbuminDelta = 6, Recess = 2, }, CmpSyringeWithCure = { Min = -1, Max = 0.99, CureChance = 105, InfectChance = 0, Time = 0, Strength = 0, AlbuminMin = 0, AlbuminDelta = 0, Recess = 0, }, CmpSyringeReusableWithPlainVaccine = { Min = 0.15, Max = 0.86, CureChance = 5, InfectChance = 40, Time = 0, Strength = 0, AlbuminMin = 3, AlbuminDelta = 4, Recess = 0, }, CmpSyringeReusableWithQualityVaccine = { Min = 0.10, Max = 0.91, CureChance = 10, InfectChance = 10, Time = 168, Strength = 20, AlbuminMin = 5, AlbuminDelta = 5, Recess = 1, }, CmpSyringeReusableWithAdvancedVaccine = { Min = 0.05, Max = 0.96, CureChance = 15, InfectChance = 1, Time = 504, Strength = 65, AlbuminMin = 8, AlbuminDelta = 6, Recess = 2, }, CmpSyringeReusableWithCure = { Min = -1, Max = 0.99, CureChance = 105, InfectChance = 0, Time = 0, Strength = 0, AlbuminMin = 0, AlbuminDelta = 0, Recess = 0, },

Albumin effectiveness, scale of 1-10. You want to take it so that you stay around 50% infection progress, i.e. at 5.
[1] = 2, [2] = 3, [3] = 5, [4] = 7, [5] = 9, [6] = 11, [7] = 12, [8] = 11, [9] = 9, [10] = 8,

Dice roll for vaccine decline and arrest of the disease
function LabRecipes_RandNorm(min, max, mean, dev) local u1 = ZombRandFloat(0.01,0.99); local u2 = ZombRandFloat(0.01,0.99); local rnd = mean*math.abs(1+math.sqrt(-2*(math.log(u1)))*math.cos(2*math.pi*u2)*dev); return min+math.floor(rnd/2*(max-min)+0.5); end--function
Muffinman 30 Jan, 2022 @ 6:22am 
When you take the vaccine, it runs this code
-- Inject a vaccine with a variety of results function LabRecipes_DoInjection(player, vaccine) local body = player:getBodyDamage(); local pMod = player:getModData(); pMod.AlbuminDoses = 0; pMod.VaccineRecess = 0; pMod.VaccineTime = 0; pMod.VaccineStrength = 0; if body:isInfected() then if vaccine.CureChance > ZombRand(100) then LabRecipes_CurePlayer(body); else local rate = LabRecipes_InfectionRate(player); if rate > vaccine.Min and rate <= vaccine.Max then body:setInfectionTime(player:getHoursSurvived()-vaccine.Min*body:getInfectionMortalityDuration()); if vaccine.AlbuminMin > 0 then player:getModData().AlbuminDoses = vaccine.AlbuminMin+ZombRand(vaccine.AlbuminDelta); end--if player:getModData().VaccineRecess = vaccine.Recess; end--if end--if elseif vaccine.InfectChance > ZombRand(100) then body:setInfected(true); body:setInfectionMortalityDuration(body:pickMortalityDuration()); body:setInfectionTime(player:getHoursSurvived()); else pMod.VaccineTime = vaccine.Time; pMod.VaccineStrength = vaccine.Strength; end--if end--function

When you take albumin, it runs this
function LabActionTakeAlbumin:perform() self.pills:getContainer():setDrawDirty(true); self.pills:setJobDelta(0.0); local body = self.character:getBodyDamage(); local health = body:getOverallBodyHealth(); if health < 99 then body:AddGeneralHealth(math.min(health+14, 100)-health); end--if if body:isInfected() and self.character:getModData().AlbuminDoses ~= nil and self.character:getModData().AlbuminDoses > 0 then local rate = math.ceil((LabRecipes_InfectionRate(self.character)*100-14)/7); if albuminEff[rate] then body:setInfectionTime(body:getInfectionTime()+body:getInfectionMortalityDuration()*albuminEff[rate]/100); end--if end--if self.pills:Use(); LabRecipes_PrintTestInfo(self.character,nil); ISBaseTimedAction.perform(self); end--function

Hourly, it runs this code if you are infected or you vaccinated yourself
function LabRecipes_AdjustPlayerHealth() if getPlayer() ~= nil and getPlayer():getBodyDamage() ~= nil and getPlayer():getModData() ~=nil then local body = getPlayer():getBodyDamage(); local pMod = getPlayer():getModData(); if body:isInfected() then if pMod.VaccineRecess and pMod.VaccineRecess > 0 and LabRecipes_InfectionRate(getPlayer())>0.4 then pMod.VaccineRecess = pMod.VaccineRecess - 1; body:setInfectionTime(body:getInfectionTime()+body:getInfectionMortalityDuration()*LabRecipes_RandNorm(0, 30, 1.1, 0.35)/100); end--if if pMod.VaccineTime and pMod.VaccineTime > 0 then pMod.VaccineTime = 0; if pMod.VaccineStrength > ZombRand(100) then LabRecipes_CurePlayer(body); end--if end--if end--if if pMod.VaccineTime and pMod.VaccineTime > 0 then pMod.VaccineTime = pMod.VaccineTime-1; end--if end --if end--function
Sorrowsnow 30 Jan, 2022 @ 6:34am 
@Muffinman Wow dude you're genius , does this mean even the vaccine has a chance to cure infection if player is lucky ?

I really can't read those code and do the math , can you tell me how long should I pop a pill with a 1-2 week infection setting for each vaccine ?
Muffinman 30 Jan, 2022 @ 6:48am 
Originally posted by Sorrowsnow:
@Muffinman Wow dude you're genius , does this mean even the vaccine has a chance to cure infection if player is lucky ?

I really can't read those code and do the math , can you tell me how long should I pop a pill with a 1-2 week infection setting for each vaccine ?

Yes, starting with Quality Vaccine, it has a 20% chance, and Advanced has 65% chance to cure one hour after injection (checked once only). Plain vaccine does not cure and only prolongs the disease.

Remember, that the disease progresses regardless of whether you are vaccinated or not. It can only be arrested or slowed by the taking of vaccine and subsequently albumin to prolong the vaccine effect.

Being cured depends on chance if you didn't take a Curing Vaccine.

For 1-2 weeks setting, you have a lot of time since the disease progresses at least 4x slower. Thus, your albumin regiment is simply 4x longer in between. First albumin is 42h after advanced vaccination, and 24h subsequently.
Last edited by Muffinman; 16 Feb, 2022 @ 11:33am
Sorrowsnow 30 Jan, 2022 @ 4:12pm 
@Muffinman

oh sorry I just realize you haven't mention the interval about "Quality Vaccine" (the mid tier one ) yet .

also reading your earlier post , Quote "After you can't take albumin anymore, you just take another dose of the vaccine to reset the infection progress." << really !?
Muffinman 31 Jan, 2022 @ 2:42am 
Originally posted by Sorrowsnow:
@Muffinman

oh sorry I just realize you haven't mention the interval about "Quality Vaccine" (the mid tier one ) yet .

also reading your earlier post , Quote "After you can't take albumin anymore, you just take another dose of the vaccine to reset the infection progress." << really !?

Yes, taking a vaccine will always reset the infection progression to the vaccine's minimum of 15%/10%/5%, depending on quality of the vaccine.

Below are treatment courses that I derived for default zombification rate of at most 72h after infection (the 2-3 days setting). If the rate is slower than that, simply adjusts the courses with the appropriate scale factor.

Here's a treatment course for the plain vaccine. The treatment tries to maximize the albumin effectiveness (around 6/7).
Vaccine Min 0.15 Time InfectionTime InfectionProgress AlbStr Injection 100 89.2 0.15 Albumin 1 30 130 97.84 0.566666666666667 7 Albumin 2 12 142 106.48 0.613333333333333 7 Albumin 3 9 151 115.12 0.618333333333333 7 Albumin 4 9 160 123.76 0.623333333333333 7 Albumin 5 9 169 132.4 0.628333333333333 7

Here's one for quality vaccine. When the vaccine recesses, the infection time jumps ahead of "schedule" but how much is a bit random. So you should take a blood test 32h after vaccine injection to determine where you are. If the infection progression at 32h after injection is above 45%, take the albumin 1h ahead of schedule while keeping the 9h interval.
Vaccine Min 0.1 Time InfectionTime InfectionProgress AlbStr Injection 100 92.8 0.1 Vacc Recession 32 132 101.44 0.424444444444444 Albumin 1 9 141 109.36 0.549444444444444 6 Albumin 2 9 150 118 0.564444444444444 7 Albumin 3 9 159 126.64 0.569444444444444 7 Albumin 4 9 168 135.28 0.574444444444444 7 Albumin 5 9 177 143.92 0.579444444444444 7 Albumin 6 9 186 152.56 0.584444444444444 7 Albumin 7 9 195 162.64 0.589444444444444 7 Albumin 8 9 204 171.28 0.574444444444444 7

Here's one for the advanced vaccine. This one is more tricky as there's two vaccine recessions that are allowed and there is even more variations. However, I've chosen a treatment course that should prevent zombification. You likely won't even need to take albumin since the cure chance is quite good with the advanced vaccine. However, if your luck is really poor, then you might need to take a few courses of albumin around 40-44h after the vaccine injection. Always take a blood test 32h after vaccine injection to determine whether you are ahead or behind the disease "schedule" or already cured. If the infection progression at 44h after vaccine injection is above 45%, then take albumin 1h ahead of schedule just like the quality vaccine.
Vaccine Min 0.05 Time InfectionTime InfectionProgress AlbStr Injection 100 96.4 0.05 Vacc Recession 32 132 104.32 0.384444444444444 Vacc Recession 12 144 112.24 0.441111111111111 Albumin 1 9 153 120.88 0.566111111111111 7 Albumin 2 9 162 129.52 0.571111111111111 7 Albumin 3 9 171 138.16 0.576111111111111 7 Albumin 4 9 180 146.8 0.581111111111111 7 Albumin 5 9 189 155.44 0.586111111111111 7 Albumin 6 9 198 164.08 0.591111111111111 7 Albumin 7 9 207 172.72 0.596111111111111 7 Albumin 8 9 216 181.36 0.601111111111111 7 Albumin 9 9 225 190 0.606111111111112 7 Albumin 10 9 234 198.64 0.611111111111112 7 Albumin 11 9 243 207.28 0.616111111111112 7

Finally, if you take a blood test and find that you are above 80% zombified, further albumin courses likely won't save you. You will need a fresh vaccine dose to reset the infection time to "buy" you more time. For this purpose, a plain vaccine is sufficient.
Last edited by Muffinman; 2 Feb, 2022 @ 1:07am
Sorrowsnow 31 Jan, 2022 @ 4:10am 
@Muffinman Thank you very much to take such an effort explaining it to me friend !
I am setting up a dedicated server from Taiwan , should be up in one or two days , it will be an honor if ppl like you can join my server , just an idea no pressure tho .

I also notice from the format you write about 1-2 week infection cure course , it seems that all tier Vaccine has the same Albumin interval , which is 9 hours , besides the first pill take time difference , am I getting this right ? because the post you wrote yesterday mentioned the interval of "advanced vaccine" is 24 hours , I am a bit confused .
Last edited by Sorrowsnow; 31 Jan, 2022 @ 4:15am
Muffinman 31 Jan, 2022 @ 1:32pm 
Originally posted by Sorrowsnow:
I also notice from the format you write about 1-2 week infection cure course

No the treatment course in post #8 is not for the 1-2 week infection, but for the default 2-3 days infection. If you play with 1-2 week infection, then scale up the times accordingly. The actual time to live interval in-game is a random number in hours taken from the server setting at the time of infection. So if the server is 2-3 days infection, the time to live is anywhere between 24h-72h. Since I used 72h as the time to live interval for those tables, they are the most optimistic disease progression you can have for a 2-3 days infection server. Actual disease progression is likely far worse.

Originally posted by Sorrowsnow:
, it seems that all tier Vaccine has the same Albumin interval , which is 9 hours , besides the first pill take time difference , am I getting this right ?

Yes, the interval between albumin is about 9h to get maximum albumin effectiveness, on a 2-3 days infection server. The reason for this is albumin's effectiveness depends on the infection progress, scaled from 1-10. Refer to post #3 for that table.

Originally posted by Sorrowsnow:
because the post you wrote yesterday mentioned the interval of "advanced vaccine" is 24 hours , I am a bit confused .

I recalculated the times so that albumin is not taken until after the vaccine starts to decline as that's a better use of resources. Therefore, the times are different from my previous posts. I think they are better too and more optimized for albumin usage.

Finally, remember that the treatment courses are guidelines only. Personally, if you were bitten or have a fever, I would draw blood and test it to see if you are indeed infected and if so how far along. If you don't have a vaccine available and the infection progress is early, then don't panic but focus on getting materials together to produce a vaccine of any kind. If you can afford to produce better kinds, then great otherwise no big deal as taking just a plain vaccine will reset the disease back to 15% from whatever stage it was at before.

During treatment, you should always take blood samples to test yourself to determine the infection progress as the interval post infection for zombification is a random interval drawn from the server's infection setting on each instance of being infected. You can get a good estimate of this interval by doing two blood tests with a 1h difference, e.g. infection progress was 25 and 1h later was 26 so the interval is about 1/((26-25)/100) = 100h to zombie for this particular infection. Once you know this value, the rest is very easy as you can get a good prediction of your own disease progression and prescribe your own treatment plan using my tables as a guide.

If you only want to innoculate yourself, then it is best to use the advanced vaccine as it has the least likely chance to infect you and the longest protection time.

Last edited by Muffinman; 2 Feb, 2022 @ 1:07am
Shad 14 Feb, 2022 @ 5:42am 
Bonjour :)
Je souhaiterais diminuer les chances de guérison totale des vaccins de qualité et avancé. Je vois dans ce que la chance de guérison chaque heure correspond à la valeur de Strength de chaque vaccin, ça me paraît bizarre, et assez énorme ? Du coup à quoi correspond CureChance ? (je vois que les chiffres correspondraient au degré d'infection auquel ramène chaque vaccin ?)
Il me semblerait plus logique que CureChance = le pourcentage de chance de guérison, et Strength correspondrait à autre chose ?
Last edited by Shad; 14 Feb, 2022 @ 6:00am
Muffinman 15 Feb, 2022 @ 1:00am 
Originally posted by Shad:
Bonjour :)
Je souhaiterais diminuer les chances de guérison totale des vaccins de qualité et avancé. Je vois dans ce que la chance de guérison chaque heure correspond à la valeur de Strength de chaque vaccin, ça me paraît bizarre, et assez énorme ? Du coup à quoi correspond CureChance ? (je vois que les chiffres correspondraient au degré d'infection auquel ramène chaque vaccin ?)
Il me semblerait plus logique que CureChance = le pourcentage de chance de guérison, et Strength correspondrait à autre chose ?

Please correspond in English. I can't read French and translation isn't the best means to understand. It is also some what rude to expect others to translate when you are asking for help.

CureChance is evaluated once upon injection of vaccine if you are infected.
Strength is evaluated also only once during the vaccine's protective window. Essentially, vaccination with advanced vaccine is much more effective at keeping you infection free if you are bitten or got infected through dirty wound from bloody clothes if the server setting is saliva+blood.

For advanced vaccine, CureChance is 15% or 15% chance to cure infection upon injection if you are infected. The Strength is 65% or 65% chance to cure infection if you are infected during the vaccine's protective period. Both are evaluated only once.
Last edited by Muffinman; 15 Feb, 2022 @ 1:04am
Shad 15 Feb, 2022 @ 1:58am 
I asked in french cause I saw Dr Reaper write in french everywhere in the comments and the mod is named after him so I though he was the person to ask... I'm not sure who made what in this mod, so sorry for the confusion.
Okay, so cure chance for infection, strenght for prevention, that's exactly what I wanted to know, thank you !
slinkeh5890 15 Feb, 2022 @ 3:56pm 
Sorry I feel really dumb reading through all this. Say I use the quality vaccine on somebody who is infected, is there a chance/what is the chance of curing the infection?

From what I understand it's some percentage based ONLY on when it's injected, right? No additional checks, just a flat percentage chance to outright cure when injected.
Muffinman 16 Feb, 2022 @ 1:05am 
Post #3. All of the information is there. I already explain how and when infection is cured.
Last edited by Muffinman; 16 Feb, 2022 @ 1:07am
< >
Showing 1-15 of 21 comments
Per page: 1530 50