diff --git a/server/area.py b/server/area.py index 1a5c350b..fb8412eb 100644 --- a/server/area.py +++ b/server/area.py @@ -973,7 +973,9 @@ def send_ic(self, frames_realization="", frames_sfx="", additive=0, - effect="", + effect="", + blipname="", + slide=0, targets=None, third_charid=-1, third_folder="", @@ -1213,6 +1215,8 @@ def send_ic(self, frames_sfx, additive, effect, + blipname, + slide, third_charid, third_folder, third_emote, @@ -1268,12 +1272,14 @@ def send_ic(self, frames_sfx, # 27 additive, # 28 effect, # 29 - third_charid, # 30 - third_folder, # 31 - third_emote, # 32 - third_offset, # 33 - third_flip, # 34 - video, #35 + blipname, #30 + slide, #31 + third_charid, # 32 + third_folder, # 33 + third_emote, # 34 + third_offset, # 35 + third_flip, # 36 + video, #37 ) self.last_ic_message = args @@ -1328,12 +1334,14 @@ def send_ic(self, frames_sfx, # 27 additive, # 28 effect, # 29 - third_charid, # 30 - third_folder, # 31 - third_emote, # 32 - third_offset, # 33 - third_flip, # 34 - video, # 35 + blipname, #30 + slide, #31 + third_charid, # 32 + third_folder, # 33 + third_emote, # 34 + third_offset, # 35 + third_flip, # 36 + video, # 37 ) if idx == -1: # Add one statement at the very end. diff --git a/server/network/aoprotocol.py b/server/network/aoprotocol.py index 981918cf..f9cf6086 100644 --- a/server/network/aoprotocol.py +++ b/server/network/aoprotocol.py @@ -374,6 +374,8 @@ def net_cmd_ms(self, args): effect = "" pair_order = 0 third_charid = -1 + blipname = "" + slide = 0 video = "" if self.validate_net_cmd( args, @@ -595,6 +597,8 @@ def net_cmd_ms(self, args): self.ArgType.INT, # 24 # additive self.ArgType.STR, # 25 # effect self.ArgType.INT, # 26 # third_charid + self.ArgType.STR, # 27 # blipname + self.ArgType.INT, # 28 # slide ): # AO Golden validation monstrosity ( @@ -625,6 +629,8 @@ def net_cmd_ms(self, args): additive, effect, third_charid, + blipname, + slide, ) = args try: pair_args = charid_pair.split("^") @@ -664,7 +670,9 @@ def net_cmd_ms(self, args): self.ArgType.INT, # 24 # additive self.ArgType.STR, # 25 # effect self.ArgType.INT, # 26 # third_charid - self.ArgType.STR_OR_EMPTY, # 27 # video + self.ArgType.STR, # 27 # blipname + self.ArgType.INT, # 28 # slide + self.ArgType.STR_OR_EMPTY, # 29 # video ): # KFO Client validation monstrosity ( @@ -695,6 +703,8 @@ def net_cmd_ms(self, args): additive, effect, third_charid, + blipname, + slide, video, ) = args try: @@ -754,6 +764,7 @@ def net_cmd_ms(self, args): frames_realization = derelative(frames_realization) frames_sfx = derelative(frames_sfx) effect = derelative(effect) + blipname = derelative(blipname) if not self.client.is_mod and not (self.client in self.client.area.owners): if not self.client.area.blankposting_allowed: @@ -1285,7 +1296,9 @@ def net_cmd_ms(self, args): third_emote, # 32 third_offset, # 33 third_flip, # 33 - video, # 34 + blipname, #34 + slide, #35 + video, # 36 ) a_list = ", ".join([str(a.id) for a in target_area]) if not (self.client.area in target_area): @@ -1328,6 +1341,8 @@ def net_cmd_ms(self, args): third_emote, third_offset, third_flip, + blipname, + slide, video, ) self.client.send_ooc(f"Broadcasting to areas {a_list}") @@ -1456,6 +1471,8 @@ def net_cmd_ms(self, args): third_emote, third_offset, third_flip, + blipname, + slide, video, ) @@ -1504,6 +1521,8 @@ def net_cmd_ms(self, args): frames_sfx=frames_sfx, additive=additive, effect=effect, + blipname=blipname, + slide=slide, targets=whisper_clients, third_charid=third_charid, third_folder=third_folder, @@ -1550,6 +1569,8 @@ def net_cmd_ms(self, args): third_emote, third_offset, third_flip, + blipname, + slide, video, ) diff --git a/server/tsuserver.py b/server/tsuserver.py index 9126a04b..c75b1530 100644 --- a/server/tsuserver.py +++ b/server/tsuserver.py @@ -67,6 +67,7 @@ def __init__(self): "effects", "expanded_desk_mods", "y_offset", + "custom_blips", "triplex", "typing_timer", "video_support",