126 lines
3.1 KiB
Python
126 lines
3.1 KiB
Python
class AppGUID:
|
|
Release = b"\x10\x5e\x62\xa7\x96\x1a\xd2\x11\x9a\xfc\x00\x60\x08\x45\xe5\x71"
|
|
Beta = b'j\xfbF/Le\xedJ\x8c\x0b\x06@\x14f\x9b\xfd'
|
|
|
|
class MapID:
|
|
ID = {
|
|
"MvM_L1": 19,
|
|
"MvM_L2": 20,
|
|
"MvM_L3": 21,
|
|
"RvR_L1": 22,
|
|
"RvR_L2": 23,
|
|
"RvR_L3": 24,
|
|
"3W_L1": 25,
|
|
"3W_L2": 26,
|
|
"3W_L3": 27,
|
|
"MvM_LW1": 28,
|
|
"RvR_LW1": 29,
|
|
"3W_LW1": 30,
|
|
"MvM_L6": 31,
|
|
}
|
|
|
|
@staticmethod
|
|
def get_id(name):
|
|
if name in MapID.ID:
|
|
return MapID.ID[name]
|
|
else:
|
|
return 0xFF
|
|
|
|
@staticmethod
|
|
def get_name(map_id):
|
|
for _map_name in MapID.ID:
|
|
_map_id = MapID.ID[_map_name]
|
|
if _map_id == map_id:
|
|
return _map_name
|
|
return None
|
|
|
|
class Teams:
|
|
@staticmethod
|
|
def get_name_by_id(team_id):
|
|
for prop in Teams.__dict__:
|
|
if Teams.__dict__[prop] == team_id:
|
|
return prop
|
|
return "Unknown"
|
|
|
|
@staticmethod
|
|
def get_groupid_by_team_id(_id, teams):
|
|
print("get_groupid_by_team_id: %s %s" % (_id, teams))
|
|
if teams == Teams.MvK:
|
|
if _id == 1:
|
|
return 2
|
|
if _id == 2:
|
|
return 1
|
|
if teams == Teams.MvMvM or teams == Teams.MvM:
|
|
return 2
|
|
if teams == Teams.RvR:
|
|
return 3
|
|
if teams == Teams.MvR:
|
|
if _id == 1:
|
|
return 2
|
|
if _id == 2:
|
|
return 3
|
|
if teams == Teams.MvRvK:
|
|
if _id == 1:
|
|
return 2
|
|
if _id == 2:
|
|
return 3
|
|
if _id == 3:
|
|
return 1
|
|
if teams == Teams.RvK:
|
|
if _id == 1:
|
|
return 3
|
|
if _id == 2:
|
|
return 1
|
|
return 0
|
|
MvM = 0x00
|
|
MvMvM = 0x01
|
|
RvR = 0x02
|
|
MvR = 0x03
|
|
MvRvK = 0x04
|
|
MvK = 0x05
|
|
RvK = 0x06
|
|
TeamB = 0x07
|
|
TeamB = 0x08
|
|
TeamB = 0x0c
|
|
TeamB = 0x10
|
|
|
|
class GameTypes:
|
|
@staticmethod
|
|
def get_name_by_id(gametype_id):
|
|
for prop in GameTypes.__dict__:
|
|
if GameTypes.__dict__[prop] == gametype_id:
|
|
return prop
|
|
return "Unknown"
|
|
# 00: Team Deathmatch
|
|
# 01: Team Deathmatch with full base
|
|
# 02: Capture Smartie
|
|
# 03: Capture Smartie with full base
|
|
# 04: Base Build Deathmatch
|
|
# 05: Base Build and Capture the Smartie
|
|
# 06: Defend Base
|
|
# 07: Defend Base and Capture the Smartie
|
|
# 08: GTypeStone
|
|
# 09: GTypeWood
|
|
# 0a: crash to desktop
|
|
# 0b: crash to desktop
|
|
# 0c: GType(null)
|
|
# 0d: crash to desktop
|
|
# 0e: crash to desktop
|
|
# 0f: crash to desktop
|
|
# 10: crash to desktop
|
|
# aa: crash to desktop
|
|
# ff: crash to desktop
|
|
|
|
TeamDeathmatch = 0x00
|
|
TeamDeathmatchWithFullBase = 0x01
|
|
CaptureSmartie = 0x02
|
|
CaptureSmartieWithFullBase = 0x03
|
|
BaseBuildDeathmatch = 0x04
|
|
BaseBuildCaptureSmartie = 0x05
|
|
DefendBase = 0x06
|
|
DefendBaseCaptureSmartie = 0x07
|
|
GTypeStone = 0x08
|
|
GTypeWood = 0x09
|
|
Crash = 0x0a
|
|
GTypeNull = 0x0c
|