2323"""
2424from enum import Enum
2525
26+
2627class ExtendedEnum (Enum ):
2728 """An Enum class that allows for the `__str__` method to be implemented."""
2829 def __str__ (self ):
@@ -61,10 +62,8 @@ class PlayerHouseElementType(ExtendedEnum):
6162 @property
6263 def in_game_name (self ) -> str :
6364 """Get a neat client-facing string value for the element type."""
64- lookup = {PlayerHouseElementType .ground : "Ground" , PlayerHouseElementType .roof : "Roof" ,
65- PlayerHouseElementType .foot : "Foot" , PlayerHouseElementType .deco : "Decoration" ,
66- PlayerHouseElementType .walls : "Walls" }
67- return lookup [self ]
65+ lookup = {"ground" : "Ground" , "roof" : "Roof" , "foot" : "Foot" , "decoration" : "Decoration" , "walls" : "Walls" }
66+ return lookup [self .value ]
6867
6968
7069class Role (ExtendedEnum ):
@@ -78,8 +77,8 @@ class Role(ExtendedEnum):
7877 @property
7978 def in_game_name (self ) -> str :
8079 """Get a neat client-facing string value for the role."""
81- lookup = {Role . member : "Member" , Role . elder : "Elder" , Role . co_leader : "Co-Leader" , Role . leader : "Leader" }
82- return lookup [self ]
80+ lookup = {" member" : "Member" , "admin" : "Elder" , "coLeader" : "Co-Leader" , " leader" : "Leader" }
81+ return lookup [self . value ]
8382
8483
8584class WarRound (ExtendedEnum ):
@@ -90,16 +89,23 @@ class WarRound(ExtendedEnum):
9089 def __str__ (self ):
9190 return self .name
9291
92+ @property
93+ def in_game_name (self ) -> str :
94+ lookup = ["Previous War" , "Current War" , "Current Preparation" ]
95+ return lookup [self .value ]
96+
97+
9398class BattleModifier (ExtendedEnum ):
9499 """Enum to map the type of battle modifiers."""
95- none = "None "
100+ none = "none "
96101 hard_mode = "hardMode"
97102
98103 @property
99104 def in_game_name (self ) -> str :
100105 """Get a neat client-facing string value for the battle modifier."""
101- lookup = {BattleModifier .none : "None" , BattleModifier .hard_mode : "Hard Mode" }
102- return lookup [self ]
106+ lookup = {"none" : "None" , "hardMode" : "Hard Mode" }
107+ return lookup [self .value ]
108+
103109
104110class WarState (ExtendedEnum ):
105111 """Enum to map the state of the war.
@@ -112,9 +118,21 @@ class WarState(ExtendedEnum):
112118 @property
113119 def in_game_name (self ) -> str :
114120 """Get a neat client-facing string value for the war state."""
115- lookup = {WarState .not_in_war : "Not in War" , WarState .preparation : "Preparation" ,
116- WarState .in_war : "In War" , WarState .war_ended : "War Ended" }
117- return lookup [self ]
121+ lookup = {"notInWar" : "Not in War" , "preparation" : "Preparation" , "inWar" : "In War" , "warEnded" : "War Ended" }
122+ return lookup [self .value ]
123+
124+
125+ class WarResult (ExtendedEnum ):
126+ """Enum to map the result of the war"""
127+ win = "win"
128+ lose = "lose"
129+ tie = "tie"
130+
131+ @property
132+ def in_game_name (self ) -> str :
133+ """Get a neat client-facing string value for the war state."""
134+ lookup = {"win" : "Win" , "lose" : "Lose" , "tie" : "Tie" }
135+ return lookup [self .value ]
118136
119137
120138class Resource (ExtendedEnum ):
@@ -130,10 +148,10 @@ class Resource(ExtendedEnum):
130148 @property
131149 def in_game_name (self ) -> str :
132150 """Get a neat client-facing string value for the resource."""
133- lookup = {Resource . elixir : "Elixir" , Resource . builder_elixir : "Builder Elixir" ,
134- Resource . dark_elixir : "Dark Elixir" , Resource . gold : "Gold" , Resource . builder_gold : "Builder Gold" ,
135- Resource . shiny_ore : "Shiny Ore" , Resource . glowy_ore : "Glowy Ore" , Resource . starry_ore : "Starry Ore" }
136- return lookup [self ]
151+ lookup = {"Elixir" : "Elixir" , "Elixir2" : "Builder Elixir" ,
152+ "DarkElixir" : "Dark Elixir" , "Gold" : "Gold" , "Gold2" : "Builder Gold" ,
153+ "CommonOre" : "Shiny Ore" , "RareOre" : "Glowy Ore" , "EpicOre" : "Starry Ore" }
154+ return lookup [self . value ]
137155
138156
139157ELIXIR_TROOP_ORDER = [
0 commit comments