Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feral preppers, survivalists, and militia #52526

Merged
merged 70 commits into from
Dec 19, 2021

Conversation

BioHazardSuit
Copy link
Contributor

@BioHazardSuit BioHazardSuit commented Oct 29, 2021

Summary

Content "Adds firearm wielding feral humans to town areas; Continuation of #51825."

Purpose of change

Adds firearm wielding feral humans in form of preppers, survivalists, and militias; Feral versions of them would be mostly left isolated in their safehouses during the chaotic events before the start of the game, making them able to appear and become enemies for the player.

Describe the solution

Added 3 feral enemies:

  • feral prepper: mainly as a horde bringer. Uses a 9mm pistol with 0 pistol skill, will mostly not miss when beside player. Melee similar to crowbar feral human. 3 amount of bullets available and follows a similar mon-drop of the zombie survivor, focusing on the survival equipment. Resurrects as a survivor zombie.
  • crazed survivalist: *Changed to melee. Health follows tough zombie and melee skill follows feral axe human. Follows similar item drop to feral prepper, but more increased in frequency. Being a survivalist, it will mimic the fallen survivor behavior from L4D2 where they flee when (critically) hurt. (I have decided to not make them have heavy survivor armor). *Given a flashlight to introduce surface flashlight enemy and prepare for mad militia.
  • mad militia: feral version of the car militia profession. Moderate amount of bullet protection but with weak points similar to the zombie sec-guard (only using a kevlar vest). Uses an automatic gun (ar15) as a weapon and has 8 bullets. Resurrects as soldier zombie, item drop similar to the others; Also uses a headlamp (surface level flashlight enemy/mid-endgame night raid obstacle).

Added 2 (3) locations:

  • 2 variations of the 4 bed Lmoe shelters, heavily-moderately(?) trapped and occupied (the idea is that the increasingly feral preppers made more aggressive, lethal deterrents against intruders before becoming mad).
  • A variation of a cabin where it is boarded, occupied, and has a basement that leads to a similar, modified Lmoe shelter of the homemade-version.

Describe alternatives you've considered

We could add feral security guards (9mm) to some parts of towns, with a "starts": "# days" for early-game balance.

Testing

Spawning

  • Made debug character
  • walked around a town, no feral preppers.
  • debug to 5th day.
  • None appear (quite new to the weight unit in spawning, is it similar to frequency?)
  • try experimenting with weight, cost multiplier, and pack size.
  • Theory culprit is that the default 60 day start cancels the “start”: “5 days” line.
  • Try removing the start time code.
  • Now they appear.
  • Looks good.
  • Tried to see if ‘upgrades into monster’ works and debugged time.
  • Doesn’t seem to work, whether decreasing half-life.
  • Make upgrade_group, since other monsters’ evolutions work with upgrade groups
  • Next summer start, mad militias and survivalists appear

Health and mon-drops

  • security guard prof
  • use gun
  • decrease armor due to kill test.
  • Drop check.
  • loaded guns can drop; militia change to milbase personnel drops for no helmet.
  • similar group to survivor zombie, Item drops look alright.

Lethality and behavior

  • Aiming check: Prepper misses, mostly hit shot when beside. Survivalists hit shots when they are in the middle-near distance. Militia seems to mostly hit their shots in all ranges, sounds alright.
  • Survivalist flees when in the last bar of health. Militia flees at the critical last bar, will mostly die.
  • Melee/range lethality: Severely decreased prepper’s melee. Survivalist is alright. Militia firearms are quite lethal.
  • Luminance check for militia at night. Works alright.

2nd Test

  • "Starts": test
  • debugged character Next Summer Start for results.
  • Mad militia and survivalists do appear.
  • Nice

3rd Test

  • location test
  • locate an occupied lmoe shelter
  • enemies do appear, nice
  • body controlled a soldier npc through debug (that option is awesome) and went in and fought.
  • fought resulted in a moderate injured bleeding arm.
  • Sounds dangerous enough.

Survivalist melee test

  • Made survivalist fight a crossbow npc.
  • Result: Survivalist ends up fleeing, but npc retains heavy bleeding injured in 2 limbs, and 2 other broken limbs.
  • sounds maybe alright.

Additional context

Screenshot (82)
Occupied shelter
Screenshot (81)
Another occupied shelter but in 2 years.
Screenshot (84)
Fight result
Screenshot (87)
Cabin prepper surface
Screenshot (88)
Cabin prepper shelter basement

@Amoebka
Copy link
Contributor

Amoebka commented Oct 29, 2021

Doesn't the evolution here break the lore a little? Either ferals are improving their skills and equipment over time (shouldn't be smart enough for that?), or new people are going feral long after the initial wave.

@Maleclypse
Copy link
Member

Doesn't the evolution here break the lore a little? Either ferals are improving their skills and equipment over time (shouldn't be smart enough for that?), or new people are going feral long after the initial wave.

I think this has more to do with gamification that we are trying to avoid gameover situations before the player has the ability to prepare for it. And one of the few ways we have of doing this is via delayed appearance.

@Maleclypse Maleclypse added Monsters Monsters both friendly and unfriendly. Spawn Creatures, items, vehicles, locations appearing on map labels Oct 29, 2021
@BioHazardSuit
Copy link
Contributor Author

BioHazardSuit commented Oct 30, 2021

Doesn't the evolution here break the lore a little? Either ferals are improving their skills and equipment over time (shouldn't be smart enough for that?), or new people are going feral long after the initial wave.

I think this has more to do with gamification that we are trying to avoid gameover situations before the player has the ability to prepare for it. And one of the few ways we have of doing this is via delayed appearance.

I have/will put a "//": note about the early game balancing intent in the feral upgrade group

@Amoebka
Copy link
Contributor

Amoebka commented Oct 30, 2021

What I'm saying is there is a difference between delayed spawns and evolutions. Veteran survivor zombies spawn much later than normal survivor zombies, in the same monstergroups, but the latter don't mutate into the former. The reason for that was explicitly that zombies can't acquire more equipment after death.

IMO, ferals shouldn't evolve at all. The later game variants should be added to the same groups, and the spawn delays handled via the "ends" and "starts" properties. Again, see survivor zombies for reference. Would be nice to keep this stuff consistent.

@BioHazardSuit
Copy link
Contributor Author

What I'm saying is there is a difference between delayed spawns and evolutions. Veteran survivor zombies spawn much later than normal survivor zombies, in the same monstergroups, but the latter don't mutate into the former. The reason for that was explicitly that zombies can't acquire more equipment after death.

IMO, ferals shouldn't evolve at all. The later game variants should be added to the same groups, and the spawn delays handled via the "ends" and "starts" properties. Again, see survivor zombies for reference. Would be nice to keep this stuff consistent.

Ah alright, gotta stay consistent. I'll follow the veteran zombie "starts":, delete the upgrade group too then. Thank you.

@BioHazardSuit
Copy link
Contributor Author

click on the "Details" link, and read every single word and link on that page until you find out why your test is failing. Then fix it and push a new set of changes.

I should read all of it first.
5 days sounds like a alright amount, I will try to ping for review; @Maleclypse

@I-am-Erk
Copy link
Member

There are a lot of general changes to monster groups going on here besides just adding these guys, what's up with that?

@BioHazardSuit
Copy link
Contributor Author

BioHazardSuit commented Dec 15, 2021

There are a lot of general changes to monster groups going on here besides just adding these guys, what's up with that?

Oh right. There were if I remember correctly, 2 other pull requests: one that removed the mon_null on the top of most monster groups, and the other that made changes for the monsters that spawn with the pack_size command. Therefore I then had an outdated copy, so I tried to follow the changes here.
It's been a while amount of time, so I may have forgotten the accurate context.
Edit: Sapien spear feral got in, woohoo!!
Now I have to try to follow the new monster groups, lest file conflict.

But there's nothing more to lint. 
I consider uniting lmoe-zombie with lmoe file.
catchup
They likely wouldn't be on parks too, if you think about it.
Making a different file for the zombie Lmoe shelter may be hindering.
@github-actions github-actions bot added the json-styled JSON lint passed, label assigned by github actions label Dec 16, 2021
@BioHazardSuit
Copy link
Contributor Author

06:34:29.625 ERROR : D:\a\Cataclysm-DDA\Cataclysm-DDA\src\map.cpp:369 [detach_vehicle] detach_vehicle can't find it! name=custom_empty, submap:0,0,0 [ Previous repeated 94 times ] 06:34:30.202 ERROR : D:\a\Cataclysm-DDA\Cataclysm-DDA\src\map.cpp:369 [detach_vehicle] detach_vehicle can't find it! name=custom_empty, submap:0,0,0

I need help, what should I do?

@NetSysFire
Copy link
Member

Nothing. This is a known issue with the tests. Every PR has this error currently, so do not worry.

@BioHazardSuit
Copy link
Contributor Author

Nothing. This is a known issue with the tests. Every PR has this error currently, so do not worry.

Thank you

Feral preppers were to disappear from the surface as survivalists appear, introducing the flashlight. Messed around and found out that the "ends": worked, rather than "stops".
@I-am-Erk
Copy link
Member

For the moment, I don't think any feral armed with guns should be in any of the vanilla spawning groups that can just appear anywhere. Having them as special spawns in LMOE shelters and cabins and such is great, and gives a way to test them out. Having them appear on the street and gank you unexpectedly, less so.

@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label Dec 17, 2021
@BioHazardSuit
Copy link
Contributor Author

For the moment, I don't think any feral armed with guns should be in any of the vanilla spawning groups that can just appear anywhere. Having them as special spawns in LMOE shelters and cabins and such is great, and gives a way to test them out. Having them appear on the street and gank you unexpectedly, less so.

Aw alright then, I'll take the gun ones out most of the groups.

Most of the town groups are neverminded, but the house spawn and the feral group spawn sounds ok.
Co-authored-by: Anton Burmistrov <Night_Pryanik@mail.ru>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions json-styled JSON lint passed, label assigned by github actions Monsters Monsters both friendly and unfriendly. Spawn Creatures, items, vehicles, locations appearing on map
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants