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

Research Rework Part Two: The Contract System. #7023

Draft
wants to merge 141 commits into
base: master
Choose a base branch
from

Conversation

kiVts
Copy link
Contributor

@kiVts kiVts commented Aug 24, 2024

About the pull request

Massively revamps the main gameplay loop of research, Tons of changes, an attempt to make research more independent and less afk based gameplay, There are tons of changes to be covered.

To start, research had their passive gain nuked completely. They now get a free chemical to pick every 5 minutes(Subject to change) (2 if none picked(Subject to change)), with three levels of difficulty, with hard having hydro-exclusive chemicals, credit reward is substantially higher though, so think carefully.

Create mode was also removed, the cornerstone of every godstim, impossible to balance in a way to make not hoarding points the best way without hindering the other more healthier options. As a counterbalance, randomly generated chemicals have had their OD average increased considerably, and a new "ADD" mode, in which you can add a property from reference chemical without downsides to the target chemical, however the reference chemical will refuse any further interactions in the simulator(Subject to change).

Legendary properties are no longer generated in the chemicals, instead, they're now assigned 3 properties randomly each round, which when mixed, combines into the property. Documents telling exactly which properties can be found groundside, for that reason, recent legendary properties nerfs are reverted back into their original form. Ciphering also falls into the same fate, Royal plasma now has "Encrypted" property (Subject to change), which is only one key out of four to making ciphering, a minor hint is found in CMO office, while the rest in groundside.

Pregenerated chemicals are removed, Those are the chemicals you would encounter in the hydro plants, Groundside vials, and researcher labcoat. Groundside vials now only contain extremely rare chemicals like Thwei, and etc, the chance to have such vials are lowered substantially.

Hydro has 10(9? I forgot) new chemicals exclusive to them, all of them are also exclusive to certain plants, and most of them exist in the real world (Albeit, the plants you find them in are not), those pop up in the hard tier chemicals mentioned earlier.

Credit disks in the dissection analyzer are replaced for contract reroll, buying which will instantly reroll the contracts, bought or not.(Subject to change)

WIP, although most of it is done, I need to do some massive polish and repair. (seed datum code, look at it its insane) PRed so I can track the changes more easily and Im rapidly approaching the end.

This will also need a huge amount of price and rarity balance, perhaps the most pain will be brought by property generation.

Hard tier contracts require hydro exclusive chemicals, Essentially those are the chemicals that are only acquired via mutation of various plants. Namely:

Urishiol is found in death nettle
Zygacine In reishi mushrooms
Digoxin in Predator burn kit (hack the seed vendor
Atropine in Poppies
Psoralen In Cabbage
Coniine And Phenol in Carrots
Thymol is found in death berries.(mutation of berries)

Explain why it's good for the game

Research suffers from huge amounts of issues to the point that writing them out here would take hours, however there are main things to point out

Meta - The research meta was often attempted to be destroyed, the result was often, disappointing and nerfs only swirled up the meta, if at all (example being MST recieving 3(4?) nerfs in the years of researching), This way we attempt to

  • Effectively knock down godstims, forcing research to build up from ground to it
  • heavily promote multiple chemicals being deployed
  • Promote more creativity, at least in a way off "how to relate/add/amplify it the most efficient way."

AFK/Heavily groundside reliant gameplay - The passive gain would heavily promote to just afk out of boredom, and the huge reliance on groundside IOs is not exactly healthy for the department, their perfomance being largely out of their hands. We try to fix this, by

  • Nuking passive gain, if you want to have good perfomance, you'll need to perform great art of teamwork of growing plants and mixing the chemicals.
  • Making IOs strictly boost the research department, by bringing up the legendary properties documents and simular ciphering documents..
Screenshots & Videos

Put screenshots and videos here with an empty line between the screenshots and the <details> tags.

Changelog

🆑
del: Create mode is removed
del: Chemicals that appear in vials are gone, xeno plasma still appears in the vials.
add: Contract system for research, Research gets a choice of 3 chemicals every 5 minutes (2 if not picked), of random difficulty. Level of difficulty affects the quality of properties and complexity of the recipe, however, the harder - the more points you get to manipulate the chemical in synthesis simulator.
add: ADD mode in synthesis simulator, This is a replacement to CREATE mode, in this mode you can add a property to target chemical at no disadvantage for the target chemical, however the reference chemical is "damage" and simulator wont accept it anymore.
add: 9 Hydro exclusive chemicals. Atropine, more powerful epinephrine but deals brain damage, Thymol an extremely weak anti parasitic, Psoralen a powerful carcinogenic and more. Found only in certain plants during a mutagenic process.
del: Passive income for research is removed.
add: Legendary properties will not generate in chemicals anymore, instead they're now assigned 3 properties to combine from, similar applies to ciphering.
balance: Regulating, MST and NST nerf is reverted
/:cl:

cm13-github added a commit that referenced this pull request Nov 1, 2024
cm13-github added a commit that referenced this pull request Nov 1, 2024
cm13-github added a commit that referenced this pull request Nov 1, 2024
@cm13-issue-bot cm13-issue-bot mentioned this pull request Nov 1, 2024
cm13-github added a commit that referenced this pull request Nov 1, 2024
code/modules/admin/topic/topic_events.dm Outdated Show resolved Hide resolved
code/modules/paperwork/paper.dm Outdated Show resolved Hide resolved
code/modules/paperwork/paper.dm Outdated Show resolved Hide resolved
code/modules/reagents/chemistry_properties/prop_special.dm Outdated Show resolved Hide resolved
code/game/objects/items/research_upgrades.dm Outdated Show resolved Hide resolved
cm13-github added a commit that referenced this pull request Nov 1, 2024
cm13-github added a commit that referenced this pull request Nov 2, 2024
cm13-github added a commit that referenced this pull request Nov 2, 2024
This was referenced Nov 3, 2024
cm13-github added a commit that referenced this pull request Nov 3, 2024
cm13-github added a commit that referenced this pull request Nov 3, 2024
cm13-github added a commit that referenced this pull request Nov 4, 2024
@@ -191,10 +191,15 @@ SUBSYSTEM_DEF(objectives)
for(var/i=0;i<research_papers;i++)
var/dest = pick(10;"close", 8;"medium", 2;"far", 20;"science", 15;"close_documents", 12;"medium_documents", 3;"far_documents", 30;"science_documents")
spawn_objective_at_landmark(dest, /obj/item/paper/research_notes)
for(var/i=0;i<research_legendary_hints;i++)//;-;
var/dest = pick(5;"close", 8;"medium", 7;"far", 20;"science", 13;"close_documents", 9;"medium_documents", 13;"far_documents", 25;"science_documents")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i hate this syntax can't we use pick_weight

random_chem = pick(GLOB.chemical_gen_classes_list["T1"])
C = GLOB.chemical_reagents_list["[random_chem]"]
note_type = pick(prob(50);"synthesis",prob(35);"grant")
var/datum/reagent/generated/C
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

because you refactored this this is all green on the diff so you have to fix the C now

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😭

if(!random_chem)
random_chem = pick(GLOB.chemical_gen_classes_list["T1"])
C = GLOB.chemical_reagents_list["[random_chem]"]
note_type = pick(prob(50);"synthesis",prob(35);"grant")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pick_weight? 🥺

Comment on lines +16 to +17
var/list/contract_chems = list() //3 chemicals that you get to pick
var/next_reroll = null//when will next reroll happen
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

code docs before the var with ///

switch(C.gen_tier) // pick a reagent hint.
if(1)
C.credit_reward = 3
if(roll<=60)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if(roll<=60)
if(roll <= 60)

C.reagent_recipe_hint = pick(GLOB.chemical_gen_classes_list["C2"])
if(2)
C.credit_reward = 5
if(roll<=40)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if(roll<=40)
if(roll <= 40)

@kiVts
Copy link
Contributor Author

kiVts commented Nov 5, 2024

removed from tm while I smash hydro with a sledge

@kiVts kiVts marked this pull request as draft November 5, 2024 02:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Balance You need to be a professional veteran game maintainer to comprehend what is being done here. Feature Feature coder badge Fix Fix one bug, make ten more Mapping Approved adds 500 new dict keys Mapping did you remember to save in tgm format? Removal snap UI deletes nanoui/html
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants