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
"""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):