Skip to content

Commit

Permalink
Add Emperor's Shadow
Browse files Browse the repository at this point in the history
  • Loading branch information
Ziktofel committed Oct 5, 2024
1 parent 3173a5d commit e6dd300
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 2 deletions.
2 changes: 2 additions & 0 deletions worlds/sc2/item_descriptions.py
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,7 @@ def _ability_desc(unit_name_plural: str, ability_name: str, ability_description:
item_names.SHOCK_DIVISION: "Royal Guard heavy tank. Long-range artillery in Siege Mode.",
item_names.BLACKHAMMER: "Royal Guard heavy assault mech.",
item_names.AEGIS_GUARD: "Royal Guard heavy assault infantry.",
item_names.EMPERORS_SHADOW: "Royal Guard specialist. Can use Pyrokinetic Immolation and EMP Blast abilities. Can call down Tactical missiles.",
item_names.PROGRESSIVE_TERRAN_INFANTRY_WEAPON: GENERIC_UPGRADE_TEMPLATE.format("damage", TERRAN, "infantry"),
item_names.PROGRESSIVE_TERRAN_INFANTRY_ARMOR: GENERIC_UPGRADE_TEMPLATE.format("armor", TERRAN, "infantry"),
item_names.PROGRESSIVE_TERRAN_VEHICLE_WEAPON: GENERIC_UPGRADE_TEMPLATE.format("damage", TERRAN, "vehicles"),
Expand Down Expand Up @@ -470,6 +471,7 @@ def _ability_desc(unit_name_plural: str, ability_name: str, ability_description:
item_names.BATTLECRUISER_FIELD_ASSIST_TARGETING_SYSTEM: "Battlecruisers increase the attack range of nearby friendly ground units by 1.",
item_names.VIKING_AESIR_TURBINES: "Increases Viking movement speed by 55%.",
item_names.MEDIVAC_RESOURCE_EFFICIENCY: _get_resource_efficiency_desc(item_names.MEDIVAC),
item_names.EMPERORS_SHADOW_SOVEREIGN_TACTICAL_MISSILES: "Tactical Missile Strikes no longer need to be channeled.",
item_names.BUNKER: "Defensive structure. Able to load infantry units, giving them +1 range to their attacks.",
item_names.MISSILE_TURRET: "Anti-air defensive structure.",
item_names.SENSOR_TOWER: "Reveals locations of enemy units at long range.",
Expand Down
3 changes: 2 additions & 1 deletion worlds/sc2/item_groups.py
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,7 @@ def get_all_group_names(cls) -> typing.Set[str]:
item_name_groups[ItemGroupNames.BARRACKS_UNITS] = barracks_units = [
item_names.MARINE, item_names.MEDIC, item_names.FIREBAT, item_names.MARAUDER,
item_names.REAPER, item_names.GHOST, item_names.SPECTRE, item_names.HERC, item_names.AEGIS_GUARD,
item_names.EMPERORS_SHADOW,
]
item_name_groups[ItemGroupNames.FACTORY_UNITS] = factory_units = [
item_names.HELLION, item_names.VULTURE, item_names.GOLIATH, item_names.DIAMONDBACK,
Expand Down Expand Up @@ -376,7 +377,7 @@ def get_all_group_names(cls) -> typing.Set[str]:
if item_data.type in (items.TerranItemType.Progressive, items.TerranItemType.Progressive_2)
]
item_name_groups[ItemGroupNames.MENGSK_UNITS] = [
item_names.AEGIS_GUARD,
item_names.AEGIS_GUARD, item_names.EMPERORS_SHADOW,
item_names.SHOCK_DIVISION, item_names.BLACKHAMMER,
item_names.PRIDE_OF_AUGUSTRGRAD, item_names.SKY_FURY,
]
Expand Down
2 changes: 2 additions & 0 deletions worlds/sc2/item_names.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
SHOCK_DIVISION = "Shock Division"
BLACKHAMMER = "Blackhammer"
AEGIS_GUARD = "Aegis Guard"
EMPERORS_SHADOW = "Emperor's Shadow"

# Terran Buildings
BUNKER = "Bunker"
Expand Down Expand Up @@ -149,6 +150,7 @@
DIAMONDBACK_SHAPED_HULL = "Shaped Hull (Diamondback)"
DIAMONDBACK_PROGRESSIVE_TRI_LITHIUM_POWER_CELL = "Progressive Tri-Lithium Power Cell (Diamondback)"
DIAMONDBACK_ION_THRUSTERS = "Ion Thrusters (Diamondback)"
EMPERORS_SHADOW_SOVEREIGN_TACTICAL_MISSILES = "Sovereign Tactical Missiles (Emperor's Shadow)"
FIREBAT_INCINERATOR_GAUNTLETS = "Incinerator Gauntlets (Firebat)"
FIREBAT_JUGGERNAUT_PLATING = "Juggernaut Plating (Firebat)"
FIREBAT_RESOURCE_EFFICIENCY = "Resource Efficiency (Firebat)"
Expand Down
7 changes: 7 additions & 0 deletions worlds/sc2/items.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
from . import item_names
from .mission_order.presets_static import get_used_layout_names
from worlds.AutoWorld import World
from ..ror2.items import classification

if TYPE_CHECKING:
from . import SC2World
Expand Down Expand Up @@ -228,6 +229,9 @@ def get_full_item_list():
classification=ItemClassification.progression, origin={"ext"}),
item_names.AEGIS_GUARD:
ItemData(54 + SC2WOL_ITEM_ID_OFFSET, TerranItemType.Unit_2, 2, SC2Race.TERRAN),
item_names.EMPERORS_SHADOW:
ItemData(55 + SC2WOL_ITEM_ID_OFFSET, TerranItemType.Unit_2, 3, SC2Race.TERRAN,
classification=ItemClassification.progression),

# Some other items are moved to Upgrade group because of the way how the bot message is parsed
item_names.PROGRESSIVE_TERRAN_INFANTRY_WEAPON: ItemData(100 + SC2WOL_ITEM_ID_OFFSET, TerranItemType.Upgrade, 0, SC2Race.TERRAN, quantity=WEAPON_ARMOR_UPGRADE_MAX_LEVEL),
Expand Down Expand Up @@ -1013,6 +1017,9 @@ def get_full_item_list():
item_names.MEDIVAC_RESOURCE_EFFICIENCY:
ItemData(755 + SC2WOL_ITEM_ID_OFFSET, TerranItemType.Armory_7, 9, SC2Race.TERRAN,
parent_item=item_names.MEDIVAC, origin={"ext"}),
item_names.EMPERORS_SHADOW_SOVEREIGN_TACTICAL_MISSILES:
ItemData(756 + SC2WOL_ITEM_ID_OFFSET, TerranItemType.Armory_7, 10, SC2Race.TERRAN,
parent_item=item_names.EMPERORS_SHADOW),

# Filler items to fill remaining spots
item_names.STARTING_MINERALS:
Expand Down
2 changes: 1 addition & 1 deletion worlds/sc2/rules.py
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ def terran_basic_anti_air(self, state: CollectionState) -> bool:
or self.advanced_tactics and (
state.has_any((
item_names.GHOST, item_names.SPECTRE, item_names.WIDOW_MINE, item_names.LIBERATOR,
item_names.PRIDE_OF_AUGUSTRGRAD, item_names.BLACKHAMMER,
item_names.PRIDE_OF_AUGUSTRGRAD, item_names.BLACKHAMMER, item_names.EMPERORS_SHADOW,
), self.player)
or (
state.has(item_names.MEDIVAC, self.player)
Expand Down

0 comments on commit e6dd300

Please sign in to comment.