2Fort CTF version 1.0
  • description

    VXL remake of 2Fort.

  • authors

    100best 5

  • downloads
    voxlap .vxl 2.13 MiB
    Download
    pyspades .txt 1.81 KiB
    Download
  • text file
    #    Copyright (C) 2018  100best
    #
    #    This program is free software: you can redistribute it and/or modify
    #    it under the terms of the GNU General Public License as published by
    #    the Free Software Foundation, either version 3 of the License, or
    #    (at your option) any later version.
    #
    #    This program is distributed in the hope that it will be useful,
    #    but WITHOUT ANY WARRANTY; without even the implied warranty of
    #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    #    GNU General Public License for more details.
    #
    #    You should have received a copy of the GNU General Public License
    #    along with this program.  If not, see <https://www.gnu.org/licenses/>.
    name = '2Fort CTF'
    version = '1.0'
    author = '100best'
    description = 'VXL remake of 2Fort.'
    
    # scripting
    # https://github.com/infogulch/pyspades/wiki/Map-Scripting
    import random
    from pyspades.constants import *
    from pyspades.server import ServerConnection
    
    # teams
    def get_entity_location(team, entity_id):
        if entity_id == BLUE_FLAG:
            return (194, 261, 51)
        elif entity_id == BLUE_BASE:
            return (217, 285, 46)
        if entity_id == GREEN_FLAG:
            return (318, 254, 51)
        elif entity_id == GREEN_BASE:
            return (292, 228, 4)
    
    # spawns
    spawn_locations_blue = [
        (226, 217, 46),
        (217, 285, 46)
    ]
    
    spawn_locations_green = [
        (284, 290, 46),
        (292, 228, 46)
    ]
    
    def get_spawn_location(connection):
        if connection.team is connection.protocol.blue_team:
            x, y, z = random.choice(spawn_locations_blue)
        elif connection.team is connection.protocol.green_team:
            x, y, z = random.choice(spawn_locations_green)
        if connection.protocol.map.get_z(x, y) <= z:
            return x, y, z
        else:
            return x, y, connection.protocol.map.get_z(x, y)