Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def get_entity_location(self, entity_id):
- extensions = self.protocol.map_info.extensions
- if entity_id == BLUE_BASE and extensions.has_key('ctf_blue_cp'):
- return extensions['ctf_blue_cp']
- elif entity_id == GREEN_BASE and extensions.has_key('ctf_green_cp'):
- return extensions['ctf_green_cp']
- elif entity_id == BLUE_FLAG and extensions.has_key('ctf_blue_intel'):
- return extensions['ctf_blue_intel']
- elif entity_id == GREEN_FLAG and extensions.has_key('ctf_green_intel'):
- return extensions['ctf_green_intel']
- def get_spawn_location(connection):
- extensions = connection.protocol.map_info.extensions
- #distance from spawn center to randomly spawn in
- spawn_range_x = 20;
- spawn_range_y = 20;
- if extensions.has_key('ctf_spawn_range_x'):
- spawn_range_x = extensions['ctf_spawn_range_x']
- if extensions.has_key('ctf_spawn_range_y'):
- spawn_range_y = extensions['ctf_spawn_range_y']
- if connection.team is connection.protocol.blue_team:
- if extensions.has_key('ctf_blue_spawn'):
- xb = extensions.get('ctf_blue_spawn')[0]
- yb = extensions.get('ctf_blue_spawn')[1]
- xb += randint(-spawn_range_x, spawn_range_x)
- yb += randint(-spawn_range_y, spawn_range_y)
- return (xb, yb, connection.protocol.map.get_z(xb, yb))
- if connection.team is connection.protocol.green_team:
- if extensions.has_key('ctf_green_spawn'):
- xb = extensions.get('ctf_green_spawn')[0]
- yb = extensions.get('ctf_green_spawn')[1]
- xb += randint(-spawn_range_x, spawn_range_x)
- yb += randint(-spawn_range_y, spawn_range_y)
- return (xb, yb, connection.protocol.map.get_z(xb, yb))
- def apply_script(protocol, connection, config):
- class CTFpointProtocol(protocol):
- def on_map_change(self, map):
- extensions = self.map_info.extensions
- if ALWAYS_ENABLED:
- self.push = True
- else:
- if extensions.has_key('ctfpoint'):
- self.push = extensions['ctfpoint']
- else:
- self.push = False
- if self.push:
- self.map_info.get_entity_location = get_entity_location
- self.map_info.get_spawn_location = get_spawn_location
- self.check_loop = LoopingCall(self.check_intel_locations)
- self.check_loop.start(0.5)
- return protocol.on_map_change(self, map)
- return CTFpointProtocol, connection
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement