Fix for hidden settings & tower messages

This commit is contained in:
2021-09-04 18:07:12 +02:00
parent 3c8eb7bb70
commit 10df6c3d26
8 changed files with 66 additions and 29 deletions
+11 -9
View File
@@ -48,12 +48,12 @@ class TrackController(BaseModule):
self.event_service.register_event_type("track_logon")
self.event_service.register_event_type("track_logoff")
self.setting_service.register(self.module_name, "track_on_color", "#FF0000", ColorSettingType(),
"Color for Track logon")
"Color for Track logon")
self.setting_service.register(self.module_name, "track_off_color", "#00FF00", ColorSettingType(),
"Color for Track logoff")
"Color for Track logoff")
self.setting_service.register(self.module_name, "autotrack", 'none',
TextSettingType(['omni', 'clan', 'neutral', "none"]),
"Autotrack all players initiating tower attacks towards this faction:")
"Autotrack all players initiating tower attacks towards this faction:")
self.db.exec(
"CREATE TABLE IF NOT EXISTS track("
"char_id int not null primary key, "
@@ -85,23 +85,25 @@ class TrackController(BaseModule):
def track_fire_logoff(self, _1, event_data):
if buddy := self.buddy_service.get_buddy(event_data.char_id):
if "track" in buddy["types"]:
self.event_service.fire_event("track_logoff", self.db.query_single("SELECT * from player where char_id=?",
[event_data.char_id]))
self.db.exec("DELETE FROM online where char_id=? and bot=?", [event_data.char_id, self.bot.get_char_id()])
self.event_service.fire_event("track_logoff",
self.db.query_single("SELECT * from player where char_id=?",
[event_data.char_id]))
self.db.exec("DELETE FROM online where char_id=? and bot=?",
[event_data.char_id, self.bot.get_char_id()])
@event(event_type="track_logon", description="Fire tracker events", is_hidden=True)
@event(event_type="track_logon", description="Fire tracker logon events")
def track_logon(self, _1, user):
if self.bot.is_ready():
color = self.setting_service.get("track_on_color").format_text("ON")
self.send_t_warn(0, f'{color} :: {self.text.format_char_info(user)}')
@event(event_type="track_logoff", description="Fire tracker events", is_hidden=True)
@event(event_type="track_logoff", description="Fire tracker logoff events")
def track_logoff(self, _1, user):
if self.bot.is_ready():
color = self.setting_service.get("track_off_color").format_text("OFF")
self.send_t_warn(0, f'{color} :: {self.text.format_char_info(user)}')
@event(event_type=TowerController.TOWER_ATTACK_EVENT, description="Warn on Tower attacks", is_hidden=True)
@event(event_type=TowerController.TOWER_ATTACK_EVENT, description="Autottrack players attacking our faction")
def tower_attack_event(self, _, event_data):
attacker = event_data.attacker
if event_data.defender.faction.lower() == self.setting_service.get_value("autotrack"):