List of bugs related to monster evolution and spawning
Is your feature request related to a problem? Please describe.
I was gathering a list in notebook for a few months. I will list all bugs I found, gather feedback from other people, and start creating PR's in next week. Most of the bugs are related to situation when monster uses copy-from, and lacks upgrades: FALSE. This can lead to situation when monster that is final upgrade of evolution line can evolve into something lame, like pupating zed. Or some advanced monsters can repetedly evolve into themselves. Or all boomers and gasbags can transform into each others endlessly. Same for pupating zeds.
There are also some quirks with evolutiongroups, standard zed can skip some steps, and evolve directly into screecher zombie, skipping shrieker zombie. Or to zombie brute skipping zombie bruiser. In addition, standard zed can evolve into tough zombie, which is baisicaly just more fit human that got zombified.
Also, there are still some evolved zombies in mundane, day 1 zombie groups, like static zombies, and zombie boomers.
Feral humans often lack "upgrades", and they inherit upgrade options from base zombie, so after few days they evolve into something random, not matching the monster they would ressurect into if they died. Most of the time they should use the same monster as in their "zombify_into" codeline.
Another weirdness is fact that some zombies who show tendency to evolve into more specified variant do it 100% of the time (runner zombie -> 100% chance for zombie hunter), while for example tough zombie has regular zombie evolution possibilities. Ideally, these zombies should evolve into their ovn group, something like this: "GROUP_ZOMBIE_TOUGH_UPGRADE" "monsters": [ { "monster": "mon_zombie_bruiser", "weight": 300 }, { "group": "GROUP_ZOMBIE_UPGRADE", "weight": 700 } ]
Solution you would like.
LOOOONG list:
zed-winged
- winged brute - give it upgrades FALSE
zed_tentacle
- mon_zombie_strider - give it upgrades FALSE
zed_ferrous
- mon_zombie_shell - give it upgrades FALSE
- mon_zombie_plated - give it upgrades FALSE
- mon_zombie_urchin - give it upgrades FALSE
- mon_zombie_hammer_hands - give it upgrades FALSE
zed_lab
- mon_zombie_phase_shrike - give it upgrades FALSE
zed_misc
- mon_frog_husk - CHANGE upgrades to FALSE
zed_skeletal
- mon_skeleton_electric - give it upgrades FALSE
zed_soldiers
- mon_zombie_soldier_acid_2 - give it upgrades FALSE
- mon_zombie_military_pilot - give it upgrades into group {create new tough zombie evolution group}
- mon_zombie_milbase_personnel - REMOVE upgrades into
- mon_zombie_marine_upgrade - give it upgrades FALSE
- mon_zombie_armored - give it upgrades FALSE, it could get some evolution later
- mon_zombie_bio_op - probably give it upgrades into group GROUP_SOLDIER_UPGRADE
zed_survivor
- mon_zombie_paramilitary - give it upgrades into group GROUP_SOLDIER_UPGRADE
- mon_zombie_survivor_elite - give it upgrades into group GROUP_SOLDIER_UPGRADE
zed_classic
- mon_zombie_cop - give it upgrades into group {create new tough zombie evolution group}
- mon_zombie_swat - change upgrades into group GROUP_SOLDIER_UPGRADE
- mon_zombie_fireman - give it upgrades into group {create new tough zombie evolution group}
- mon_zombie_hazmat - remove upgrades false
- mon_zombie_tough - give it upgrades into group {create new tough zombie evolution group}
nether
- mon_XEDRA_officer - give it upgrades FALSE, but there is already PR doing it
- mon_XEDRA_soldier - give it upgrades FALSE
civilians
- tweak "GROUP_CIVILIANS_UPGRADE"
- mon_civilian_police - give it { "half_life": 1, "age_grow": 1, "into_group": "new group with zombie cop and feral cop to choose" }
feral_humans
- mon_feral_sapien_spear - give it "upgrades": { "half_life": 90, "into": "mon_zombie_survivor" }
- mon_chud - give it "upgrades": { "half_life": 90, "into": "mon_zombie_shady" }
- mon_feral_scientist_scalpel - give it "upgrades": { "half_life": 90, "into": "mon_zombie_scientist" }
- mon_feral_labsecurity_9mm - give it "upgrades": { "half_life": 90, "into": "mon_zombie_labsecurity" }
- mon_feral_prepper_mace - give it "upgrades": { "half_life": 90, "into": "mon_zombie_survivor" }
- mon_feral_survivalist - give it "upgrades": { "half_life": 90, "into": "mon_zombie_survivor" }
- mon_feral_militia - change "zombify_into": "mon_zombie_milbase_personnel" to "zombify_into": "mon_zombie_paramilitary", give it "upgrades": { "half_life": 90, "into": "mon_zombie_paramilitary" }
- mon_feral_soldier - give it "upgrades": { "half_life": 90, "into": "mon_zombie_soldier" }
- mon_feral_swimmer_kickboard - give it "upgrades": { "half_life": 90, "into": "mon_zombie_swimmer_base" }
- mon_feral_sailor_wrench - give it "upgrades": { "half_life": 90, "into": "mon_zombie_sailor" }
- mon_feral_marine_bayonet - give it "upgrades": { "half_life": 90, "into": "mon_zombie_marine" }
- mon_feral_officer - give it "upgrades": { "half_life": 90, "into": "mon_zombie_officer" }
- mon_feral_cop - give it "upgrades": { "half_life": 90, "into": "mon_zombie_cop" }
- mon_feral_cop_fungal_infected - for some reason it lacks further fungal evolution that other fungal ferals have. Probably make one for it.
fish
- mon_crayfish_mega - give it upgrades FALSE
fungus
- mon_fungaloid_shambler - it has 12L and 160 kg, give it 120L
insect_spider
- mon_pregnant_giant_cockroach - give it "upgrades": { "age_grow": 15, "into": "mon_giant_cockroach" }. The idea here is that it cycles between being pregnant and not being pregnant. You cant be perpetually pregnant, right?
- mon_bee_mega - give it upgrades FALSE
- mon_centipede_mom - PROBABLY give it upgrades FALSE
- mon_fly_mega - give it upgrades FALSE
- mon_mosquito_mega - give it upgrades FALSE
- mon_spider_cellar_mom - PROBABLY change { "str": "mommy long-legs", "str_pl": "mommies long-legs" }, and give it upgrades FALSE
- mon_spider_jumping_mega - give it upgrades FALSE
- mon_spider_trapdoor_mega - give it upgrades FALSE
- mon_spider_widow_mega - give it upgrades FALSE
- mon_spider_web_mega - give it upgrades FALSE
- mon_spider_wolf_mega - give it upgrades FALSE
- mon_ant_acid_soldier_mega - give it upgrades FALSE
- mon_ant_soldier_mega - give it upgrades FALSE
- mon_locust_mega - give it upgrades FALSE
- mon_mantis_mega - give it upgrades FALSE
mutant
- mon_mutant_alpha - PROBABLY give it "burn_into" "mon_zombie_scorched"
- mon_mutant_alpha_boss - PROBABLY give it "burn_into" "mon_zombie_child_scorched"
rodentkin
- remove mundane, non-mutated rats from "GROUP_RATKIN_EVOLVED"
- mon_tunnel_rat - give it upgrades FALSE
- mon_pack_rat - give it upgrades FALSE
- mon_teke_mouse - give it upgrades FALSE
- mon_mausketeer - give it upgrades FALSE
starers
- mon_starer_pipe - PROBABLY give it upgrades FALSE
zanimal_upgrades
- mon_dog_howling - CHANGE upgrades to upgrades FALSE
- mon_dog_scorched - PROBABLY give it upgrades FALSE, in line with change for other scorched ZEDs
- mon_dog_skeleton_brute - give it upgrades FALSE
- mon_zpig_brute - give it upgrades FALSE
- mon_zombie_pig_gas - give it upgrades FALSE
- mon_zougar_hunter - give it upgrades FALSE
- mon_zombear_skeleton - give it upgrades FALSE
- mon_zougar_shady - give it upgrades FALSE
- mon_zombear_acidic - give it upgrades FALSE
- mon_zombie_horse_white - give it upgrades FALSE
- mon_zombie_horse_red - give it upgrades FALSE
- mon_zombie_horse_black - give it upgrades FALSE
- mon_zombie_horse_pale - give it upgrades FALSE
- mon_zoose_brute - give it upgrades FALSE
- mon_zoose_thorny - give it upgrades FALSE
zed-pupating
- Change them a bit. They all should all start as pupa_decoy versions, and then they use age_grow to become real ones.
- "mon_zombie_crawler_pupa" - PROBABLY give it UPGRADES FALSE
- "mon_zombie_crawler_pupa_decoy" - give it "age_grow": 4, "into": "mon_zombie_crawler_pupa"
- "mon_zombie_pupa" - PROBABLY give it UPGRADES FALSE
- "mon_zombie_pupa_decoy" - give it "age_grow": 4, "into": "mon_zombie_pupa"
- "mon_hulk_pupa_decoy" - give it "age_grow": 4, "into": "mon_hulk_pupa"
- "mon_zombie_pupa_decoy_shady" - give it "age_grow": 4, "into": "mon_zombie_pupa_shady"
- "mon_zombie_pupa_shady" - CHANGE copy from to "mon_zombie_pupa_decoy_shady", NOT "mon_zombie_pupa_decoy"
zed_explosive Split boomers and gasbags. Change "GROUP_ZOMBIE_FAT" so it includes "mon_boomer", "mon_zombie_gasbag", "mon_zombie_relax_gasbag", "mon_zombie_tear_gasbag", "mon_zombie_pupa_decoy"
- mon_boomer - CHANGE "GROUP_ZOMBIE_BOOMER_UPGRADE" so it no longer includes regular BOOMER and 3 gasbag variants
- mon_boomer_huge - give it upgrades FALSE, make it actually larger than regular boomer
- mon_gas_zombie - give it upgrades FALSE
- mon_zombie_gasbag - PROBABLY give it upgrades FALSE. It could evolve into relax or tear gasbags, but then regular toxic gas zombies would eventually become extinct
- mon_zombie_relax_gasbag - give it upgrades FALSE
- mon_zombie_tear_gasbag - give it upgrades FALSE
- mon_boomer_glutton - give it upgrades FALSE
- mon_boomer_claymore - give it upgrades FALSE
zed-burned I am not 100% sure on these, but it seems weird that they can unburn themselves. Also, there is some copy-from wierdness when metal wariants can evolve into non-metal variants.
- mon_zombie_child_scorched - PROBABLY give it upgrades FALSE
- mon_zombie_scorched_brute - PROBABLY give it upgrades FALSE
- mon_zombie_scorched - PROBABLY give it upgrades FALSE
- mon_zombie_scorched_lasher - PROBABLY give it upgrades FALSE
Describe alternatives you have considered.
mutant
- mon_mutant_alpha - "zombify_into": "mon_zombie_tough" or maybe "mon_zombie_master"
Additional context
My head hurts
A bunch of those are my oversights from my copy-from chaining of zombies, but there are some I really don't follow.
mon_spider_jumping_mega - give it upgrades FALSE
Okay so what does that change, actually. If it did upgrade, it'd upgrade into itself, causing no effect. You've listed a lot of cases like this one. Does this actually cause some bug that you confirmed?
mon_centipede_mom - PROBABLY give it upgrades FALSE
This one is actually intended, I talked with Venera about this specific use case since the upgrades for it confused me. The idea is once it stops laying eggs it goes back to being a normal giant centipede. A little clunky but the logic tracks.
A bunch of those are my oversights from my copy-from chaining of zombies, but there are some I really don't follow.
mon_spider_jumping_mega - give it upgrades FALSE
Okay so what does that change, actually. If it did upgrade, it'd upgrade into itself, causing no effect. You've listed a lot of cases like this one. Does this actually cause some bug that you confirmed?
This is a bug more by definition, but there is a case where it has impact on player. Imagine situation where you meet zombie master, a bunch of boneplate wolves, and a regular zombie. Boneplate wolves can evolve only into boneplate wolves. Zombie master is very likely to waste his special attack on doggos doing nothing. If the regular zed was accompanied by some other zed that is final line upgrade and has no "upgrades", zombie master would only upgrade mentioned regular zed.
This is a bug more by definition, but there is a case where it has impact on player. Imagine situation where you meet zombie master, a bunch of boneplate wolves, and a regular zombie. Boneplate wolves can evolve only into boneplate wolves. Zombie master is very likely to waste his special attack on doggos doing nothing. If the regular zed was accompanied by some other zed that is final line upgrade and has no "upgrades", zombie master would only upgrade mentioned regular zed.
Right, but only one of the monsters you mentioned that this happens to is in the zombie faction from what I can see. Zombie master's usecase is hardcoded and until it is more widely in use, a hypothetical scenario like this just doesn't matter. Just about all the insects you listed are nonissues in this case.
Yes, this currently has next to zero impact on the player. I dont know about performance of game engine, probably zero as well. Its just my opinion that mess hidden under carpet is still a mess, and these are trivial to fix
What if one day we will have messages about monsters evolving when player can see it?
What if one day we will have messages about monsters evolving when player can see it?
Please don't worry about hypothetical problems that don't exist, nor do we have any indication there's any reason to assume they will. If something becomes a bug, then it'll be a bug, until then it isn't.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not bump or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.