Files
Grinch-AP/worlds/civ_6/data/existing_tech.py
Carter Hesterman 5f73c245fc New Game Implementation: Civilization VI (#3736)
* Init

* remove submodule

* Init

* Update docs

* Fix tests

* Update to use apcivvi

* Update Readme and codeowners

* Minor changes

* Remove .value from options (except starting hint)

* Minor updates

* remove unnecessary property

* Cleanup Rules and Region

* Fix output file generation

* Implement feedback

* Remove 'AP' tag and fix issue with format strings and using same quotes

* Update worlds/civ_6/__init__.py

Co-authored-by: Scipio Wright <scipiowright@gmail.com>

* Minor docs changes

* minor updates

* Small rework of create items

* Minor updates

* Remove unused variable

* Move client to Launcher Components with rest of similar clients

* Revert "Move client to Launcher Components with rest of similar clients"

This reverts commit f9fd5df9fdf19eaf4f1de54e21e3c33a74f02364.

* modify component

* Fix generation issues

* Fix tests

* Minor change

* Add improvement and test case

* Minor options changes

* .

* Preliminary Review

* Fix failing test due to slot data serialization

* Format json

* Remove exclude missable boosts

* Update options (update goody hut text, make research multiplier a range)

* Update docs punctuation and slot data init

* Move priority/excluded locations into options

* Implement docs PR feedback

* PR Feedback for options

* PR feedback misc

* Update location classification and fix client type

* Fix typings

* Update research cost multiplier

* Remove unnecessary location priority code

* Remove extrenous use of items()

* WIP PR Feedback

* WIP PR Feedback

* Add victory event

* Add option set for death link effect

* PR improvements

* Update post fill hint to support items with multiple classifications

* remove unnecessary len

* Move location exclusion logic

* Update test to use set instead of accidental dict

* Update docs around progressive eras and boost locations

* Update docs for options to be more readable

* Fix issue with filler items and prehints

* Update filler_data to be static

* Update links in docs

* Minor updates and PR feedback

* Update boosts data

* Update era required items

* Update existing techs

* Update existing techs

* move boost data class

* Update reward data

* Update prereq data

* Update new items and progressive districts

* Remove unused code

* Make filler item name func more efficient

* Update death link text

* Move Civ6 to the end of readme

* Fix bug with hidden locations and location.name

* Partial PR Feedback Implementation

* Format changes

* Minor review feedback

* Modify access rules to use list created in generate_early

* Modify boost rules to precalculate requirements

* Remove option checks from access rules

* Fix issue with pre initialized dicts

* Add inno setup for civ6 client

* Update inno_setup.iss

---------

Co-authored-by: Scipio Wright <scipiowright@gmail.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Co-authored-by: Exempt-Medic <ExemptMedic@Gmail.com>
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
2025-03-10 14:53:26 +01:00

547 lines
12 KiB
Python

from typing import List
from ..ItemData import ExistingItemData
existing_tech: List[ExistingItemData] = [
{
"Type": "TECH_POTTERY",
"Cost": 25,
"UITreeRow": 0,
"EraType": "ERA_ANCIENT",
"Name": "Pottery",
},
{
"Type": "TECH_ANIMAL_HUSBANDRY",
"Cost": 25,
"UITreeRow": 1,
"EraType": "ERA_ANCIENT",
"Name": "Animal Husbandry",
},
{
"Type": "TECH_MINING",
"Cost": 25,
"UITreeRow": 3,
"EraType": "ERA_ANCIENT",
"Name": "Mining",
},
{
"Type": "TECH_SAILING",
"Cost": 50,
"UITreeRow": -3,
"EraType": "ERA_ANCIENT",
"Name": "Sailing",
},
{
"Type": "TECH_ASTROLOGY",
"Cost": 50,
"UITreeRow": -2,
"EraType": "ERA_ANCIENT",
"Name": "Astrology",
},
{
"Type": "TECH_IRRIGATION",
"Cost": 50,
"UITreeRow": -1,
"EraType": "ERA_ANCIENT",
"Name": "Irrigation",
},
{
"Type": "TECH_ARCHERY",
"Cost": 50,
"UITreeRow": 1,
"EraType": "ERA_ANCIENT",
"Name": "Archery",
},
{
"Type": "TECH_WRITING",
"Cost": 50,
"UITreeRow": 0,
"EraType": "ERA_ANCIENT",
"Name": "Writing",
},
{
"Type": "TECH_MASONRY",
"Cost": 80,
"UITreeRow": 2,
"EraType": "ERA_ANCIENT",
"Name": "Masonry",
},
{
"Type": "TECH_BRONZE_WORKING",
"Cost": 80,
"UITreeRow": 3,
"EraType": "ERA_ANCIENT",
"Name": "Bronze Working",
},
{
"Type": "TECH_THE_WHEEL",
"Cost": 80,
"UITreeRow": 4,
"EraType": "ERA_ANCIENT",
"Name": "The Wheel",
},
{
"Type": "TECH_CELESTIAL_NAVIGATION",
"Cost": 120,
"UITreeRow": -2,
"EraType": "ERA_CLASSICAL",
"Name": "Celestial Navigation",
},
{
"Type": "TECH_CURRENCY",
"Cost": 120,
"UITreeRow": 0,
"EraType": "ERA_CLASSICAL",
"Name": "Currency",
},
{
"Type": "TECH_HORSEBACK_RIDING",
"Cost": 120,
"UITreeRow": 1,
"EraType": "ERA_CLASSICAL",
"Name": "Horseback Riding",
},
{
"Type": "TECH_IRON_WORKING",
"Cost": 120,
"UITreeRow": 3,
"EraType": "ERA_CLASSICAL",
"Name": "Iron Working",
},
{
"Type": "TECH_SHIPBUILDING",
"Cost": 200,
"UITreeRow": -3,
"EraType": "ERA_CLASSICAL",
"Name": "Shipbuilding",
},
{
"Type": "TECH_MATHEMATICS",
"Cost": 200,
"UITreeRow": -1,
"EraType": "ERA_CLASSICAL",
"Name": "Mathematics",
},
{
"Type": "TECH_CONSTRUCTION",
"Cost": 200,
"UITreeRow": 2,
"EraType": "ERA_CLASSICAL",
"Name": "Construction",
},
{
"Type": "TECH_ENGINEERING",
"Cost": 200,
"UITreeRow": 4,
"EraType": "ERA_CLASSICAL",
"Name": "Engineering",
},
{
"Type": "TECH_MILITARY_TACTICS",
"Cost": 300,
"UITreeRow": -2,
"EraType": "ERA_MEDIEVAL",
"Name": "Military Tactics",
},
{
"Type": "TECH_APPRENTICESHIP",
"Cost": 300,
"UITreeRow": 0,
"EraType": "ERA_MEDIEVAL",
"Name": "Apprenticeship",
},
{
"Type": "TECH_MACHINERY",
"Cost": 300,
"UITreeRow": 4,
"EraType": "ERA_MEDIEVAL",
"Name": "Machinery",
},
{
"Type": "TECH_EDUCATION",
"Cost": 390,
"UITreeRow": -1,
"EraType": "ERA_MEDIEVAL",
"Name": "Education",
},
{
"Type": "TECH_STIRRUPS",
"Cost": 390,
"UITreeRow": 1,
"EraType": "ERA_MEDIEVAL",
"Name": "Stirrups",
},
{
"Type": "TECH_MILITARY_ENGINEERING",
"Cost": 390,
"UITreeRow": 2,
"EraType": "ERA_MEDIEVAL",
"Name": "Military Engineering",
},
{
"Type": "TECH_CASTLES",
"Cost": 390,
"UITreeRow": 3,
"EraType": "ERA_MEDIEVAL",
"Name": "Castles",
},
{
"Type": "TECH_CARTOGRAPHY",
"Cost": 600,
"UITreeRow": -3,
"EraType": "ERA_RENAISSANCE",
"Name": "Cartography",
},
{
"Type": "TECH_MASS_PRODUCTION",
"Cost": 600,
"UITreeRow": -2,
"EraType": "ERA_RENAISSANCE",
"Name": "Mass Production",
},
{
"Type": "TECH_BANKING",
"Cost": 600,
"UITreeRow": 0,
"EraType": "ERA_RENAISSANCE",
"Name": "Banking",
},
{
"Type": "TECH_GUNPOWDER",
"Cost": 600,
"UITreeRow": 1,
"EraType": "ERA_RENAISSANCE",
"Name": "Gunpowder",
},
{
"Type": "TECH_PRINTING",
"Cost": 600,
"UITreeRow": 4,
"EraType": "ERA_RENAISSANCE",
"Name": "Printing",
},
{
"Type": "TECH_SQUARE_RIGGING",
"Cost": 730,
"UITreeRow": -3,
"EraType": "ERA_RENAISSANCE",
"Name": "Square Rigging",
},
{
"Type": "TECH_ASTRONOMY",
"Cost": 730,
"UITreeRow": -1,
"EraType": "ERA_RENAISSANCE",
"Name": "Astronomy",
},
{
"Type": "TECH_METAL_CASTING",
"Cost": 730,
"UITreeRow": 1,
"EraType": "ERA_RENAISSANCE",
"Name": "Metal Casting",
},
{
"Type": "TECH_SIEGE_TACTICS",
"Cost": 730,
"UITreeRow": 3,
"EraType": "ERA_RENAISSANCE",
"Name": "Siege Tactics",
},
{
"Type": "TECH_INDUSTRIALIZATION",
"Cost": 930,
"UITreeRow": -2,
"EraType": "ERA_INDUSTRIAL",
"Name": "Industrialization",
},
{
"Type": "TECH_SCIENTIFIC_THEORY",
"Cost": 930,
"UITreeRow": -1,
"EraType": "ERA_INDUSTRIAL",
"Name": "Scientific Theory",
},
{
"Type": "TECH_BALLISTICS",
"Cost": 930,
"UITreeRow": 1,
"EraType": "ERA_INDUSTRIAL",
"Name": "Ballistics",
},
{
"Type": "TECH_MILITARY_SCIENCE",
"Cost": 930,
"UITreeRow": 3,
"EraType": "ERA_INDUSTRIAL",
"Name": "Military Science",
},
{
"Type": "TECH_STEAM_POWER",
"Cost": 1070,
"UITreeRow": -3,
"EraType": "ERA_INDUSTRIAL",
"Name": "Steam Power",
},
{
"Type": "TECH_SANITATION",
"Cost": 1070,
"UITreeRow": -1,
"EraType": "ERA_INDUSTRIAL",
"Name": "Sanitation",
},
{
"Type": "TECH_ECONOMICS",
"Cost": 1070,
"UITreeRow": 0,
"EraType": "ERA_INDUSTRIAL",
"Name": "Economics",
},
{
"Type": "TECH_RIFLING",
"Cost": 1070,
"UITreeRow": 2,
"EraType": "ERA_INDUSTRIAL",
"Name": "Rifling",
},
{
"Type": "TECH_FLIGHT",
"Cost": 1250,
"UITreeRow": -2,
"EraType": "ERA_MODERN",
"Name": "Flight",
},
{
"Type": "TECH_REPLACEABLE_PARTS",
"Cost": 1250,
"UITreeRow": 0,
"EraType": "ERA_MODERN",
"Name": "Replaceable Parts",
},
{
"Type": "TECH_STEEL",
"Cost": 1250,
"UITreeRow": 1,
"EraType": "ERA_MODERN",
"Name": "Steel",
},
{
"Type": "TECH_ELECTRICITY",
"Cost": 1370,
"UITreeRow": -3,
"EraType": "ERA_MODERN",
"Name": "Electricity",
},
{
"Type": "TECH_RADIO",
"Cost": 1370,
"UITreeRow": -2,
"EraType": "ERA_MODERN",
"Name": "Radio",
},
{
"Type": "TECH_CHEMISTRY",
"Cost": 1370,
"UITreeRow": -1,
"EraType": "ERA_MODERN",
"Name": "Chemistry",
},
{
"Type": "TECH_COMBUSTION",
"Cost": 1370,
"UITreeRow": 2,
"EraType": "ERA_MODERN",
"Name": "Combustion",
},
{
"Type": "TECH_ADVANCED_FLIGHT",
"Cost": 1480,
"UITreeRow": -2,
"EraType": "ERA_ATOMIC",
"Name": "Advanced Flight",
},
{
"Type": "TECH_ROCKETRY",
"Cost": 1480,
"UITreeRow": -1,
"EraType": "ERA_ATOMIC",
"Name": "Rocketry",
},
{
"Type": "TECH_ADVANCED_BALLISTICS",
"Cost": 1480,
"UITreeRow": 0,
"EraType": "ERA_ATOMIC",
"Name": "Advanced Ballistics",
},
{
"Type": "TECH_COMBINED_ARMS",
"Cost": 1480,
"UITreeRow": 1,
"EraType": "ERA_ATOMIC",
"Name": "Combined Arms",
},
{
"Type": "TECH_PLASTICS",
"Cost": 1480,
"UITreeRow": 2,
"EraType": "ERA_ATOMIC",
"Name": "Plastics",
},
{
"Type": "TECH_COMPUTERS",
"Cost": 1660,
"UITreeRow": -3,
"EraType": "ERA_ATOMIC",
"Name": "Computers",
},
{
"Type": "TECH_NUCLEAR_FISSION",
"Cost": 1660,
"UITreeRow": 1,
"EraType": "ERA_ATOMIC",
"Name": "Nuclear Fission",
},
{
"Type": "TECH_SYNTHETIC_MATERIALS",
"Cost": 1660,
"UITreeRow": 2,
"EraType": "ERA_ATOMIC",
"Name": "Synthetic Materials",
},
{
"Type": "TECH_TELECOMMUNICATIONS",
"Cost": 1850,
"UITreeRow": -3,
"EraType": "ERA_INFORMATION",
"Name": "Telecommunications",
},
{
"Type": "TECH_SATELLITES",
"Cost": 1850,
"UITreeRow": -1,
"EraType": "ERA_INFORMATION",
"Name": "Satellites",
},
{
"Type": "TECH_GUIDANCE_SYSTEMS",
"Cost": 1850,
"UITreeRow": 0,
"EraType": "ERA_INFORMATION",
"Name": "Guidance Systems",
},
{
"Type": "TECH_LASERS",
"Cost": 1850,
"UITreeRow": 1,
"EraType": "ERA_INFORMATION",
"Name": "Lasers",
},
{
"Type": "TECH_COMPOSITES",
"Cost": 1850,
"UITreeRow": 2,
"EraType": "ERA_INFORMATION",
"Name": "Composites",
},
{
"Type": "TECH_STEALTH_TECHNOLOGY",
"Cost": 1850,
"UITreeRow": 3,
"EraType": "ERA_INFORMATION",
"Name": "Stealth Technology",
},
{
"Type": "TECH_ROBOTICS",
"Cost": 2155,
"UITreeRow": -2,
"EraType": "ERA_INFORMATION",
"Name": "Robotics",
},
{
"Type": "TECH_NANOTECHNOLOGY",
"Cost": 2155,
"UITreeRow": 2,
"EraType": "ERA_INFORMATION",
"Name": "Nanotechnology",
},
{
"Type": "TECH_NUCLEAR_FUSION",
"Cost": 2155,
"UITreeRow": 1,
"EraType": "ERA_INFORMATION",
"Name": "Nuclear Fusion",
},
{
"Type": "TECH_BUTTRESS",
"Cost": 300,
"UITreeRow": -3,
"EraType": "ERA_MEDIEVAL",
"Name": "Buttress",
},
{
"Type": "TECH_REFINING",
"Cost": 1250,
"UITreeRow": 3,
"EraType": "ERA_MODERN",
"Name": "Refining",
},
{
"Type": "TECH_SEASTEADS",
"Cost": 2200,
"UITreeRow": -3,
"EraType": "ERA_FUTURE",
"Name": "Seasteads",
},
{
"Type": "TECH_ADVANCED_AI",
"Cost": 2200,
"UITreeRow": -2,
"EraType": "ERA_FUTURE",
"Name": "Advanced AI",
},
{
"Type": "TECH_ADVANCED_POWER_CELLS",
"Cost": 2200,
"UITreeRow": -1,
"EraType": "ERA_FUTURE",
"Name": "Advanced Power Cells",
},
{
"Type": "TECH_CYBERNETICS",
"Cost": 2200,
"UITreeRow": 0,
"EraType": "ERA_FUTURE",
"Name": "Cybernetics",
},
{
"Type": "TECH_SMART_MATERIALS",
"Cost": 2200,
"UITreeRow": 1,
"EraType": "ERA_FUTURE",
"Name": "Smart Materials",
},
{
"Type": "TECH_PREDICTIVE_SYSTEMS",
"Cost": 2200,
"UITreeRow": 2,
"EraType": "ERA_FUTURE",
"Name": "Predictive Systems",
},
{
"Type": "TECH_OFFWORLD_MISSION",
"Cost": 2500,
"UITreeRow": 0,
"EraType": "ERA_FUTURE",
"Name": "Offworld Mission",
},
{
"Type": "TECH_FUTURE_TECH",
"Cost": 2600,
"UITreeRow": 0,
"EraType": "ERA_FUTURE",
"Name": "Future Tech",
},
]