|
|
|
@ -93,6 +93,55 @@ class Rank:
|
|
|
|
|
self.rank_points = rank_points
|
|
|
|
|
self.is_air = bool(is_air)
|
|
|
|
|
|
|
|
|
|
def __int__(self):
|
|
|
|
|
return self.id
|
|
|
|
|
|
|
|
|
|
def __eq__(self, other):
|
|
|
|
|
if isinstance(other, Rank):
|
|
|
|
|
return self.id == other.id if other.is_air == self.is_air else False
|
|
|
|
|
else:
|
|
|
|
|
return self.id == int(other)
|
|
|
|
|
|
|
|
|
|
def __ne__(self, other):
|
|
|
|
|
if isinstance(other, Rank):
|
|
|
|
|
return not self.id == other.id if other.is_air == self.is_air else True
|
|
|
|
|
else:
|
|
|
|
|
return not self.id == int(other)
|
|
|
|
|
|
|
|
|
|
def __lt__(self, other):
|
|
|
|
|
if isinstance(other, Rank):
|
|
|
|
|
return self.id < other.id if other.is_air == self.is_air else False
|
|
|
|
|
else:
|
|
|
|
|
return self.id < int(other)
|
|
|
|
|
|
|
|
|
|
def __le__(self, other):
|
|
|
|
|
if isinstance(other, Rank):
|
|
|
|
|
return self.id <= other.id if other.is_air == self.is_air else False
|
|
|
|
|
else:
|
|
|
|
|
return self.id <= int(other)
|
|
|
|
|
|
|
|
|
|
def __gt__(self, other):
|
|
|
|
|
if isinstance(other, Rank):
|
|
|
|
|
return self.id > other.id if other.is_air == self.is_air else False
|
|
|
|
|
else:
|
|
|
|
|
return self.id > int(other)
|
|
|
|
|
|
|
|
|
|
def __ge__(self, other):
|
|
|
|
|
if isinstance(other, Rank):
|
|
|
|
|
return self.id >= other.id if other.is_air == self.is_air else False
|
|
|
|
|
else:
|
|
|
|
|
return self.id >= int(other)
|
|
|
|
|
|
|
|
|
|
@property
|
|
|
|
|
def as_dict(self):
|
|
|
|
|
return dict(id=self.id, name=self.name, rank_points=self.rank_points, is_air=self.is_air)
|
|
|
|
|
|
|
|
|
|
def __str__(self):
|
|
|
|
|
return f"{'Air' if self.is_air else 'Ground'}Rank<#{self.id} {self.name}>"
|
|
|
|
|
|
|
|
|
|
def __repr__(self):
|
|
|
|
|
return str(self)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AIR_RANK_NAMES: Dict[int, str] = {
|
|
|
|
|
1: 'Airman', 2: 'Airman 1st Class', 3: 'Airman 1st Class*', 4: 'Airman 1st Class**', 5: 'Airman 1st Class***', 6: 'Airman 1st Class****', 7: 'Airman 1st Class*****',
|
|
|
|
@ -195,7 +244,7 @@ GROUND_RANK_POINTS: Dict[int, int] = {
|
|
|
|
|
86: 180000000000, 87: 190000000000, 88: 200000000000, 89: 210000000000
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
GROUND_RANKS: Dict[int, Rank] = {i: Rank(i, GROUND_RANK_NAMES[i], GROUND_RANK_POINTS[i], True) for i in range(1, 90)}
|
|
|
|
|
GROUND_RANKS: Dict[int, Rank] = {i: Rank(i, GROUND_RANK_NAMES[i], GROUND_RANK_POINTS[i], False) for i in range(1, 90)}
|
|
|
|
|
|
|
|
|
|
INDUSTRIES = Industries()
|
|
|
|
|
|
|
|
|
|