Пример #1
0
class Regeneration_Suit(Item):
    "Regenerate health up to 100 when out of combat for 5 seconds."
    authors = 'Mahi',
    category = 'DEBUG'
    cost = 2500
    limit = 1

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self._repeat = TickRepeat(self._tick)
        self._delay = None

    def _tick(self, player):
        if player.health < 100:
            player.health = min(player.health + 3, 100)

    def player_spawn(self, player, **eargs):
        self._repeat.args = (player,)
        self._repeat.start(1, 0)

    def player_death(self, **eargs):
        if self._delay is not None:
            self._delay.cancel()
            self._delay = None
        self._repeat.stop()

    def player_attack(self, **eargs):
        if self._delay is not None:
            self._delay.cancel()
        self._repeat.pause()
        self._delay = tick_delays.delay(5, self._cancel_pause)

    def player_victim(self, **eargs):
        if self._delay is not None:
            self._delay.cancel()
        self._repeat.pause()
        self._delay = tick_delays.delay(5, self._cancel_pause)

    def _cancel_pause(self):
        self._repeat.resume()
        self._delay = None
Пример #2
0
    """Save player's RPG data into the database."""
    index = index_from_userid(event['userid'])
    if index not in _players:
        return
    _save_player_data(_players[index])
    del _players[index]


def _save_everyones_data():
    """Save every player's RPG data into the database."""
    for player in _players.values():
        _save_player_data(player)
    _database.commit()

_data_save_repeat = TickRepeat(_save_everyones_data)
_data_save_repeat.start(240, 0)


# ======================================================================
# >> SKILL EXECUTION EVENT CALLBACKS
# ======================================================================

@Event('player_jump', 'player_spawn', 'player_disconnect')
def _execute_independent_skill_callbacks(event):
    """Execute skill callbacks for events with only one user.

    Also makes sure the player is in a valid team to prevent
    accidental errors with spectators and unassigned players.
    """
    event_args = event.variables.as_dict()
    player = _players.from_userid(event_args.pop('userid'))
        
    pop_list.reverse()
    for index_to_remove in pop_list:
        pending_activation_player_list.pop(index_to_remove)
    pass

def submiter_callback():
    print(">>>>>>>>>>>>>>>>>>>>> Repeat Submitter")
    leetcoin_client.repeatingServerUpdate()

# Get the instance of Repeat
my_repeat = TickRepeat(my_repeat_callback)
submit_repeat = TickRepeat(submiter_callback)

# Start the repeat
my_repeat.start(10, 0)
submit_repeat.start(45, 0)

@Event('game_init')
def game_init(game_event):
    print(">>>>>>>>>>>>>>>>>>>>>  game_init")
    pass
    

@Event('round_announce_match_start')
def round_announce_match_start(game_event):
    print(">>>>>>>>>>>>>>>>>>>>>  round_announce_match_start")
    #collectMoney()
    pass   

@Event('round_start')
        
    pop_list.reverse()
    for index_to_remove in pop_list:
        pending_activation_player_list.pop(index_to_remove)
    pass

def submiter_callback():
    print(">>>>>>>>>>>>>>>>>>>>> Repeat Submitter")
    leetcoin_client.repeatingServerUpdate()

# Get the instance of Repeat
my_repeat = TickRepeat(my_repeat_callback)
submit_repeat = TickRepeat(submiter_callback)

# Start the repeat
my_repeat.start(10, 0)
submit_repeat.start(60, 0)

@Event
def game_init(game_event):
    print(">>>>>>>>>>>>>>>>>>>>>  game_init")
    pass
    

@Event
def round_announce_match_start(game_event):
    print(">>>>>>>>>>>>>>>>>>>>>  round_announce_match_start")
    pass   

@Event
def round_start(game_event):
Пример #5
0
Файл: rpg.py Проект: Mahi/RPG-SP
    """Save player's RPG data into the database."""
    index = index_from_userid(event['userid'])
    if index not in _players:
        return
    _save_player_data(_players[index])
    del _players[index]


def _save_everyones_data():
    """Save every player's RPG data into the database."""
    for player in _players.values():
        _save_player_data(player)
    _database.commit()

_data_save_repeat = TickRepeat(_save_everyones_data)
_data_save_repeat.start(240, 0)


# ======================================================================
# >> SKILL EXECUTION EVENT CALLBACKS
# ======================================================================

@Event('player_jump', 'player_spawn', 'player_disconnect')
def _execute_independent_skill_callbacks(event):
    """Execute skill callbacks for events with only one user.

    Also makes sure the player is in a valid team to prevent
    accidental errors with spectators and unassigned players.
    """
    event_args = event.variables.as_dict()
    player = _players.from_userid(event_args.pop('userid'))