Difference between revisions of "How to create new map (mission, scenario)"
Jump to navigation
Jump to search
Line 18: | Line 18: | ||
== Create new mission == | == Create new mission == | ||
+ | |||
+ | === Create mission atom=== | ||
To create new mission you have to create an atom for it first. | To create new mission you have to create an atom for it first. | ||
+ | *We will show it on an example. | ||
+ | <pre> | ||
+ | nature_buildings = { | ||
+ | 'base::build.palm.1', | ||
+ | 'base::build.palm.2', | ||
+ | 'base::build.palm.3', | ||
+ | 'base::build.palm.4', | ||
+ | 'base::build.bush.1', | ||
+ | 'base::build.bush.2', | ||
+ | 'base::build.bush.3', | ||
+ | 'base::build.bush.4', | ||
+ | 'base::build.palm.bush.1', | ||
+ | 'base::build.palm.bush.2', | ||
+ | 'base::build.palm.bush.3', | ||
+ | 'base::build.palm.bush.4', | ||
+ | 'base::build.fish.1', | ||
+ | } | ||
+ | |||
+ | irrig_buildings = { | ||
+ | 'base::build.irrig.canal', | ||
+ | 'base::build.irrig.pump', | ||
+ | 'base::build.irrig.bridge.dirty', | ||
+ | 'base::build.irrig.bridge.stone', | ||
+ | } | ||
+ | |||
+ | mission_base = { | ||
+ | base_mods = {"base"}, | ||
+ | first_residents_event = 'base::event.first_residents', | ||
+ | leaving_residents_event = 'base::event.leaving_residents', | ||
+ | returning_residents_event = 'base::event.returning_residents', | ||
+ | no_path_residents_event = 'base::event.no_path_residents', | ||
+ | } | ||
+ | |||
+ | atom ('mission.my_first_mission', mission_base, | ||
+ | { | ||
+ | description = 'description.my_first_mission', | ||
+ | intro_event = 'event.intro.my_first_mission', | ||
+ | money_events = {}, | ||
+ | |||
+ | allowed_buildings = ac( | ||
+ | nature_buildings, ac( | ||
+ | irrig_buildings, { | ||
+ | 'build.road.dirty', | ||
+ | 'build.shop.bread', | ||
+ | 'build.farm.plant.1', | ||
+ | 'build.warehouse.1', | ||
+ | 'build.house.lower.1', | ||
+ | }), | ||
+ | |||
+ | allowed_monuments = {}, | ||
+ | allowed_templates = {}, | ||
+ | |||
+ | map = 'map.my_first_mission', | ||
+ | prestige = 'prestige.my_first_mission', | ||
+ | requests = {}, | ||
+ | demands = {}, | ||
+ | |||
+ | target_population = 300, | ||
+ | target_prestige = 10, | ||
+ | target_level_atoms = {'base::level.house.lower.1'}, | ||
+ | target_level_counts = {12}, | ||
+ | }) | ||
+ | </pre> |
Revision as of 17:16, 4 February 2021
Mission vs Scenario vs Map
First let's explain these 3 different concepts.
Mission
- Mission is basic unit of Nebuchadnezzar.
- It connects map and objectives together.
- Several mission together can form campaign.
- Player always play missions.
Scenario
- Scenario is just a special subset of mission.
- It's a mission which is not part of any campaign.
- Player can play any scenario without any limitation, because all scenarios are unlocked.
Map
- Map is data file containg information about specific map.
- Stuff like surface layout, buildings etc.
Create new mission
Create mission atom
To create new mission you have to create an atom for it first.
- We will show it on an example.
nature_buildings = { 'base::build.palm.1', 'base::build.palm.2', 'base::build.palm.3', 'base::build.palm.4', 'base::build.bush.1', 'base::build.bush.2', 'base::build.bush.3', 'base::build.bush.4', 'base::build.palm.bush.1', 'base::build.palm.bush.2', 'base::build.palm.bush.3', 'base::build.palm.bush.4', 'base::build.fish.1', } irrig_buildings = { 'base::build.irrig.canal', 'base::build.irrig.pump', 'base::build.irrig.bridge.dirty', 'base::build.irrig.bridge.stone', } mission_base = { base_mods = {"base"}, first_residents_event = 'base::event.first_residents', leaving_residents_event = 'base::event.leaving_residents', returning_residents_event = 'base::event.returning_residents', no_path_residents_event = 'base::event.no_path_residents', } atom ('mission.my_first_mission', mission_base, { description = 'description.my_first_mission', intro_event = 'event.intro.my_first_mission', money_events = {}, allowed_buildings = ac( nature_buildings, ac( irrig_buildings, { 'build.road.dirty', 'build.shop.bread', 'build.farm.plant.1', 'build.warehouse.1', 'build.house.lower.1', }), allowed_monuments = {}, allowed_templates = {}, map = 'map.my_first_mission', prestige = 'prestige.my_first_mission', requests = {}, demands = {}, target_population = 300, target_prestige = 10, target_level_atoms = {'base::level.house.lower.1'}, target_level_counts = {12}, })