Can you explain to me this part of script, please?

if (level.skill >= 64 && !randomint(150 - level.skill)) zom.type = 10;
else if (level.skill >= 61 && !randomint(110 - level.skill)) zom.type = 11;
else if (level.skill >= 63 && !randomint(110 - level.skill)) zom.type = 9;
else if (level.skill >= 50 && !randomint(110 - level.skill)) zom.type = 8;
else if (level.skill >= 40 && !randomint(110 - level.skill)) zom.type = 7;
else if (level.skill >= 50 && !randomint(110 - level.skill)) zom.type = 6;
else if (level.skill >= 20 && !randomint(110 - level.skill)) zom.type = randomint(3) + 3;
else if (level.skill >= 20 && !randomint(110 - level.skill)) zom.type = randomint(3) + 3;
else if (level.skill >= 20 && !randomint(110 - level.skill)) zom.type = randomint(3) + 3;
else if (level.skill >= 20 && !randomint(110 - level.skill)) zom.type = randomint(3) + 3;
else zom.type = randomint(3);

It doesn't make sense when i use level 5 only, right? What about zt (0-5)? What do these last two lines mean?