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

Update and simplify scenarios #31213

Closed
wants to merge 162 commits into from

Conversation

Projects
None yet
@Rail-Runner
Copy link
Contributor

commented Jun 7, 2019

Summary

SUMMARY: Content "Change scenarios to be less restrictive and more generic"

Purpose of change

This PR changes all the currently available scenarios to be more "generic", to let players mix and match professions, scenarios and starting locations however they want to make up their own stories and/or challenges (as long as it makes sense and is fair), and also makes them easier to maintain by reducing total number of separate scenarios. End of the world is a very chaotic event, so one indeed could expect anyone to end up near anywhere and in any circumstances as it happens, as long as it's not some highly guarded place like a lab, a prison, or a military bunker.

List of changes for scenarios:

Evacuee: renamed to Survivor and had the following scenarios integrated into it: Missed, Mall Cop, The Last Firefighter, Assault on Precinct Z, School, At the Zoo, Out Golfing, Apartment Rooftop. Description changed to reflect this.

Surrounded: this is a new scenario; this is an integration of all scenarios in which the player is surrounded by zombies at start.

Refugee: renamed to Safe Place and had Out of Town integrated into it. Description changed to reflect this.

Missed: integrated into Survivor.

Infected: added more start locations and removed profession blacklist (in previous versions they had items which allowed to get rid of infection right at start and that's why they were blacklisted; now those items don't work that way, so it's fair)

Burning Building: added more locations.

Really Bad Day: added more start locations and allowed all professions (so that players could adjust how much of a challenge it actually is)

Medieval Peasant: added field as a possible start location.

Lab: added more professions which could reasonably be assumed to be either lab staff (guards, scientists, technicians, etc.) or patients. Also add missing Electroreceptors starting mutation (it is available as a starting trait in Experiment scenario, but not in Lab scenario)

Ambush: added extra start locations, allowed it to use all freely available professions (assuming someone who got kicked out of a survivor camp/evacuee center), and added some additional scenario-only professions that make sense. Also added a list of mutations as starting traits (same as for Lab; presumably enough time passed that someone could mutate accidentally or deliberately)

The Next Summer: added extra start locations, allowed it to use all freely available professions (assuming someone who got kicked out of a survivor camp/evacuee center), and added some additional scenario-only professions that make sense. Also added a list of mutations as starting traits (same as for Lab; presumably enough time passed that someone could mutate accidentally or deliberately)

Sheltered: allowed it to use all freely available professions and some scenario-only ones (anyone could have just found a stocked shelter and decided to stay there, after all).

Abandoned: changed nothing; wasn't really sure what to do with it.

Prison Break: renamed to Prison and added more professions which could reasonably be assumed to be prison staff, also removed Psychopath as a forced trait because of this change. Description changed to reflect this.

Island Prison Break: added more professions which could reasonably be assumed to be prison staff. Description changed a bit to reflect this.

Experiment: added two more valid professions (which could be escaped experiments as well) and a field starting location.

Mall Cop: integrated into Survivor.

The Last Firefighter: integrated into Surrounded.

Assault on Precinct Z: integrated into Surrounded.

School: integrated into Survivor.

Wilderness: allowed it to use all freely available professions (assuming someone who decided that running into wilderness away from zombies was a good idea), added field as a valid starting location, Camping scenario was integrated into it.

Helicopter Crash: allowed it to use all freely available professions (perhaps they were transported on a military/police/civilian helicopter that was piloted by someone else and crashed, or even they stole a helicopter and unsuccessfully tried to operate it with no training)

Bottom of a Mine: allowed it to use all freely available professions (perhaps someone tried to hide from the bombs and zombies underground in a nearby mine; having flashlights on phones owned by most professions makes this feasible and actually playable)

Fled the Riots: integrated into Surrounded.

Out of Town: integrated into Refugee.

High Tech, Low Life: allowed it to use all freely available professions (finding this randomly seems feasible, or perhaps the character knew of the hidden bionic clinic nearby and went there deliberately), changed description to reflect this.

At the Zoo: integrated into Survivor.

Out Golfing: integrated into Survivor.

Camping: integrated into Wilderness.

Apartment Rooftop: integrated into Surrounded.

Removed SCEN_ONLY flag from the following professions:

Naturalist: I guess it is possible that such a person decided that they could come back to formerly-populated areas because nearly everyone is dead now. Its high point cost keeps it fair still, so up to the player to decide if it makes sense for their character, as they could walk to cities right after game start anyway.

Miner: escaping from the mine with the tools and going somewhere else seems possible. Cost also raised to 2, as it actually has some pretty useful equipment.

Naked and Afraid: well, it could be possible to find a totally naked person anywhere, depending on what previously happened to the person in question.

Also removed a duplicate starting location that was simply going by different names.

Incidentally the changes included a few changes that were already present in More Classes and Scenarios mod, so I removed them from there as they are now part of mainline. Also removed Golfer profession from this mod, because profession with the same ID and name already existed in mainline and seemed to be more fleshed out.

Describe the solution

JSON editing mostly, also did a small C++ code addition to allow scenarios "professions" field to add to default professions rather than replacing them or blacklisting some.

Describe alternatives you've considered

None other than those listed here; if anything ends up not making sense, I'll revert it.

Additional context

None.

@kevingranade

This comment has been minimized.

Copy link
Member

commented Jun 7, 2019

First your testing error: It doesn't look like you can wear fur_footrags and fur_boots at the same time, and that's what the test is trying to do.
I suspect that the SCEN_ONLY flag was preventing the naturist from being tested at all previously.
So irregardless of anything else that's a bug. The simple fix is remove the footrags.

@kevingranade

This comment has been minimized.

Copy link
Member

commented Jun 8, 2019

I'm fine with what you're doing in general, but there are a few places that overreach a bit.

The biggest thing is open season on mutations or CBM resources, whether adding it to scenarios or adding professions to scenarios that have it.

Ambush, Next Summer: Passage of time does not justify enabling starting mutations.

Sheltered: Likewise, the shelter is supposed to be a HUGE bonus, allowing that to pair with arbitrary professions is a really big deal.

Lab: If you're throwing open the list of professions allowed, the mutations need to go, it's precisely to avoid this mixing and matching of professions and mutations that was the reason for creating the lab start in the first place.

Bottom of a mine: You're stretching the scenario past it's breaking point, most of these professions have no reason to be in a mine, and, "you can make it there after the cataclysm" is an insufficient justification.

High tech, Low Life: not ok, this was intended for use with specific professions.

@Rail-Runner

This comment has been minimized.

Copy link
Contributor Author

commented Jun 8, 2019

Ambush, Next Summer: Passage of time does not justify enabling starting mutations.

Removed mutations from there. Possibly worth making a separate scenario for that.

Sheltered: Likewise, the shelter is supposed to be a HUGE bonus, allowing that to pair with arbitrary professions is a really big deal.

Made Sheltered scenario cost more. Probably wasn't too fair as it was before, either. Having a shelter far away from zombies is pretty good.

Lab: If you're throwing open the list of professions allowed, the mutations need to go, it's precisely to avoid this mixing and matching of professions and mutations that was the reason for creating the lab start in the first place.

Split it into two scenarios: one includes "patient"-type professions only, which may have mutations, another one is for lab staff that don't have mutations.

Bottom of a mine: You're stretching the scenario past it's breaking point, most of these professions have no reason to be in a mine, and, "you can make it there after the cataclysm" is an insufficient justification.

Removed most professions from there, but still added some extra ones compared to what it was before, like security or scietists. If something is "weird" there, there's a good chance there could be scientists as well.

High tech, Low Life: not ok, this was intended for use with specific professions.

Removed most professions from there, kept various "low-life" and "outlaw" type professions in there. Hope it fits now (perhaps they signed up to get secondhand bionics installed, but end of the world got in the way of it).

Also removed fur footwraps from naturalist starting items to fix the test.

@Night-Pryanik

This comment has been minimized.

Copy link
Member

commented Jun 8, 2019

While you're here, could you please rename all "Challenge-foo" scenario names to "Challenge - foo" ones, with spaces around hyphen?

@Rail-Runner

This comment has been minimized.

Copy link
Contributor Author

commented Jun 8, 2019

While you're here, could you please rename all "Challenge-foo" scenario names to "Challenge - foo" ones, with spaces around hyphen?

Done.

@kevingranade

This comment has been minimized.

Copy link
Member

commented Jun 9, 2019

Sheltered: Likewise, the shelter is supposed to be a HUGE bonus, allowing that to pair with arbitrary professions is a really big deal.

Made Sheltered scenario cost more. Probably wasn't too fair as it was before, either.

Please revert these changes, scenarios are there to depict specific situations that would likely occur, not provide a mechanism to buy your way into an advantageous situation.

@Rail-Runner

This comment has been minimized.

Copy link
Contributor Author

commented Jun 9, 2019

Please revert these changes, scenarios are there to depict specific situations that would likely occur, not provide a mechanism to buy your way into an advantageous situation.

Well, which criteria should I use to tell if a specific profession is valid for this scenario then? I had ideas for other cases, but not really for this one (if simply allowing all isn't good).

@kevingranade

This comment has been minimized.

Copy link
Member

commented Jun 13, 2019

This pull request has been mentioned on Cataclysm: Dark Days Ahead. There might be relevant details there:

https://discourse.cataclysmdda.org/t/starting-scenarios-c-professions-and-forum-ediquette-questions-help/20355/2

DemAvalon and others added some commits Jun 13, 2019

Update data/json/items/melee.json
Co-Authored-By: anothersimulacrum <anothersimulacrum@gmail.com>
Update melee.json
Let's see if it works now
Update data/json/items/melee.json
Co-Authored-By: Anton Burmistrov <Night_Pryanik@mail.ru>
Update data/json/items/melee.json
Co-Authored-By: Anton Burmistrov <Night_Pryanik@mail.ru>
Removed chain, Increased craft time.
to simulate making one's own links for the flail.
Update melee.json
Short chain

ZhilkinSerg and others added some commits Jun 18, 2019

Merge pull request #31593 from Night-Pryanik/constructable-chainlink-…
…gate

Actually constructable chainlink gate and chickenwire gate
Magiclysm: Spellbook UI Improvements (#31592)
* first commit

* commit

* spellbook info
Enable two minor clang-tidy checks
Enable cppcoreguidelines-slicing and
bugprone-forwarding-reference-overload.  No actual bugs to fix for these
two, just a couple of suppressions.
Offer a hint as to how to discover keybindings
Whenever the "Unknown command" message is displayed in the sidebar, also
print a message indicating how to discover or edit keybindings.
Merge pull request #31550 from jbytheway/remove_long_misc
Removing long (part 7): Various miscellaneous changes
Change to Omnicellular Slime Spawning
Instead of asking if the player either has 51k calories OR enough hydration, it will instead ask if the player has 51k calories AND enough hydration. Thus, the player will be able to drink when they are thirsty.
Merge pull request #31603 from LaVeyanFiend/FPNerf
True Foodperson balanced
Merge pull request #31606 from jbytheway/hint_keybindings_key
Offer a hint as to how to discover keybindings
Merge pull request #31602 from jbytheway/clang_tidy_slicing_and_forwa…
…rding_reference

Enable two minor clang-tidy checks
Magiclysm: improve confirmation menu (#31609)
* improve confirmation menu

* add additional logic

* added period
Merge pull request #31599 from KorGgenT/move-some-members-out-of-player
move some members from player to Character
Photos expansion (#30672)
* Photos expansion: selfie photos include more features

* Photos expansion: allow monsters to have extended photo descriptions.

* Camera expansion: refactor of iuse::camera, allow more than one figure in photo.

* Photos expansion: allow photos of any point; more refactoring

* Photos expansion: npc/creature effects

* Photos expansion: include unusual terrain in photo.

* Photos expansion: fields and traps

* Photos expansion: more refactoring, create method for enumerating objects around point.

* Photos expansion: minor bug fix, extend description of field effects.

* Photos expansion: include time of day, outside/inside status, overmap name. Refactor long effects_description_for_creature method.

* Photos expansion: can view photos on e-ink, make all creatures in photo blinded, save all monsters in photo to memory

* Photos expansion: do not capture items inside of SEALABLE and CONTAINER furniture. Added "balancing" pose.

* Photos expansion: correctly remove object at aim_point from list of nearby object, for cases when no creature in photo area.

* Photos expansion: support for riding states. Fixed not being able to update quality in monster collection.
Merge branch 'scenarios' of https://github.com/Rail-Runner/Cataclysm-DDA
 into scenarios

# Conflicts:
#	data/json/scenarios/scenarios.json
@Rail-Runner

This comment has been minimized.

Copy link
Contributor Author

commented Jun 19, 2019

Damn. I guess I'll just rewrite it from scratch later.

@BevapDin

This comment has been minimized.

Copy link
Contributor

commented on src/savegame_json.cpp in a9de97c Jun 19, 2019

This should go before the new lines. It ends the "skills" sub object in the output. Now it writes "power_level" and "max_power_level" into the json object started via json.member("skills");. The end_object() referees to the start_object() above.

This comment has been minimized.

Copy link
Contributor

replied Jun 19, 2019

Yes. See #31634.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.