lib/sc2ai/api/tech_tree_data.rb in sc2ai-0.1.0 vs lib/sc2ai/api/tech_tree_data.rb in sc2ai-0.2.0

- old
+ new

@@ -11,11 +11,17 @@ required_building: Api::UnitTypeId::ENGINEERINGBAY}, Api::UnitTypeId::ORBITALCOMMAND => {ability: Api::AbilityId::UPGRADETOORBITAL_ORBITALCOMMAND, required_building: Api::UnitTypeId::BARRACKS}}, Api::UnitTypeId::BARRACKS => - {Api::UnitTypeId::MARINE => + {Api::UnitTypeId::BARRACKSTECHLAB => + {ability: Api::AbilityId::BUILD_TECHLAB_BARRACKS, + requires_placement_position: true}, + Api::UnitTypeId::BARRACKSREACTOR => + {ability: Api::AbilityId::BUILD_REACTOR_BARRACKS, + requires_placement_position: true}, + Api::UnitTypeId::MARINE => {ability: Api::AbilityId::BARRACKSTRAIN_MARINE}, Api::UnitTypeId::REAPER => {ability: Api::AbilityId::BARRACKSTRAIN_REAPER}, Api::UnitTypeId::GHOST => {ability: Api::AbilityId::BARRACKSTRAIN_GHOST, @@ -23,11 +29,17 @@ required_building: Api::UnitTypeId::GHOSTACADEMY}, Api::UnitTypeId::MARAUDER => {ability: Api::AbilityId::BARRACKSTRAIN_MARAUDER, requires_techlab: true}}, Api::UnitTypeId::FACTORY => - {Api::UnitTypeId::HELLION => + {Api::UnitTypeId::FACTORYTECHLAB => + {ability: Api::AbilityId::BUILD_TECHLAB_FACTORY, + requires_placement_position: true}, + Api::UnitTypeId::FACTORYREACTOR => + {ability: Api::AbilityId::BUILD_REACTOR_FACTORY, + requires_placement_position: true}, + Api::UnitTypeId::HELLION => {ability: Api::AbilityId::FACTORYTRAIN_HELLION}, Api::UnitTypeId::CYCLONE => {ability: Api::AbilityId::TRAIN_CYCLONE}, Api::UnitTypeId::WIDOWMINE => {ability: Api::AbilityId::FACTORYTRAIN_WIDOWMINE}, Api::UnitTypeId::SIEGETANK => @@ -39,11 +51,17 @@ required_building: Api::UnitTypeId::ARMORY}, Api::UnitTypeId::HELLIONTANK => {ability: Api::AbilityId::TRAIN_HELLBAT, required_building: Api::UnitTypeId::ARMORY}}, Api::UnitTypeId::STARPORT => - {Api::UnitTypeId::MEDIVAC => + {Api::UnitTypeId::STARPORTTECHLAB => + {ability: Api::AbilityId::BUILD_TECHLAB_STARPORT, + requires_placement_position: true}, + Api::UnitTypeId::STARPORTREACTOR => + {ability: Api::AbilityId::BUILD_REACTOR_STARPORT, + requires_placement_position: true}, + Api::UnitTypeId::MEDIVAC => {ability: Api::AbilityId::STARPORTTRAIN_MEDIVAC}, Api::UnitTypeId::VIKINGFIGHTER => {ability: Api::AbilityId::STARPORTTRAIN_VIKINGFIGHTER}, Api::UnitTypeId::LIBERATOR => {ability: Api::AbilityId::STARPORTTRAIN_LIBERATOR}, @@ -54,10 +72,24 @@ {ability: Api::AbilityId::STARPORTTRAIN_RAVEN, requires_techlab: true}, Api::UnitTypeId::BATTLECRUISER => {ability: Api::AbilityId::STARPORTTRAIN_BATTLECRUISER, requires_techlab: true, required_building: Api::UnitTypeId::FUSIONCORE}}, + Api::UnitTypeId::FACTORYFLYING => + {Api::UnitTypeId::FACTORYTECHLAB => + {ability: Api::AbilityId::BUILD_TECHLAB_FACTORY, + requires_placement_position: true}, + Api::UnitTypeId::FACTORYREACTOR => + {ability: Api::AbilityId::BUILD_REACTOR_FACTORY, + requires_placement_position: true}}, + Api::UnitTypeId::STARPORTFLYING => + {Api::UnitTypeId::STARPORTTECHLAB => + {ability: Api::AbilityId::BUILD_TECHLAB_STARPORT, + requires_placement_position: true}, + Api::UnitTypeId::STARPORTREACTOR => + {ability: Api::AbilityId::BUILD_REACTOR_STARPORT, + requires_placement_position: true}}, Api::UnitTypeId::SCV => {Api::UnitTypeId::COMMANDCENTER => {ability: Api::AbilityId::TERRANBUILD_COMMANDCENTER, requires_placement_position: true}, Api::UnitTypeId::SUPPLYDEPOT => @@ -103,10 +135,17 @@ requires_placement_position: true}, Api::UnitTypeId::FUSIONCORE => {ability: Api::AbilityId::TERRANBUILD_FUSIONCORE, required_building: Api::UnitTypeId::STARPORT, requires_placement_position: true}}, + Api::UnitTypeId::BARRACKSFLYING => + {Api::UnitTypeId::BARRACKSTECHLAB => + {ability: Api::AbilityId::BUILD_TECHLAB_BARRACKS, + requires_placement_position: true}, + Api::UnitTypeId::BARRACKSREACTOR => + {ability: Api::AbilityId::BUILD_REACTOR_BARRACKS, + requires_placement_position: true}}, Api::UnitTypeId::RAVEN => {Api::UnitTypeId::AUTOTURRET => {ability: Api::AbilityId::BUILDAUTOTURRET_AUTOTURRET}}, Api::UnitTypeId::NEXUS => {Api::UnitTypeId::PROBE => {ability: Api::AbilityId::NEXUSTRAIN_PROBE}, @@ -778,19 +817,31 @@ [Api::UnitTypeId::COMMANDCENTER, Api::UnitTypeId::PLANETARYFORTRESS, Api::UnitTypeId::ORBITALCOMMAND], Api::UnitTypeId::PLANETARYFORTRESS => [Api::UnitTypeId::COMMANDCENTER], Api::UnitTypeId::ORBITALCOMMAND => [Api::UnitTypeId::COMMANDCENTER], + Api::UnitTypeId::BARRACKSTECHLAB => + [Api::UnitTypeId::BARRACKS, Api::UnitTypeId::BARRACKSFLYING], + Api::UnitTypeId::BARRACKSREACTOR => + [Api::UnitTypeId::BARRACKS, Api::UnitTypeId::BARRACKSFLYING], Api::UnitTypeId::MARINE => [Api::UnitTypeId::BARRACKS], Api::UnitTypeId::REAPER => [Api::UnitTypeId::BARRACKS], Api::UnitTypeId::GHOST => [Api::UnitTypeId::BARRACKS], Api::UnitTypeId::MARAUDER => [Api::UnitTypeId::BARRACKS], + Api::UnitTypeId::FACTORYTECHLAB => + [Api::UnitTypeId::FACTORY, Api::UnitTypeId::FACTORYFLYING], + Api::UnitTypeId::FACTORYREACTOR => + [Api::UnitTypeId::FACTORY, Api::UnitTypeId::FACTORYFLYING], Api::UnitTypeId::HELLION => [Api::UnitTypeId::FACTORY], Api::UnitTypeId::CYCLONE => [Api::UnitTypeId::FACTORY], Api::UnitTypeId::WIDOWMINE => [Api::UnitTypeId::FACTORY], Api::UnitTypeId::SIEGETANK => [Api::UnitTypeId::FACTORY], Api::UnitTypeId::THOR => [Api::UnitTypeId::FACTORY], Api::UnitTypeId::HELLIONTANK => [Api::UnitTypeId::FACTORY], + Api::UnitTypeId::STARPORTTECHLAB => + [Api::UnitTypeId::STARPORT, Api::UnitTypeId::STARPORTFLYING], + Api::UnitTypeId::STARPORTREACTOR => + [Api::UnitTypeId::STARPORT, Api::UnitTypeId::STARPORTFLYING], Api::UnitTypeId::MEDIVAC => [Api::UnitTypeId::STARPORT], Api::UnitTypeId::VIKINGFIGHTER => [Api::UnitTypeId::STARPORT], Api::UnitTypeId::LIBERATOR => [Api::UnitTypeId::STARPORT], Api::UnitTypeId::BANSHEE => [Api::UnitTypeId::STARPORT], Api::UnitTypeId::RAVEN => [Api::UnitTypeId::STARPORT],