Пример #1
0
def build_timeline_by_role(tl: timeline, role_name: str) -> timeline:
    role = roles.get_role(role_name)
    trigger_dict = get_squad_timeline(role_name)
    if role != None and trigger_dict != None:
        for i in range(0, 90):
            moment = 90 - i
            if role.__contains__("ex"):
                for trigger_point in trigger_dict["ex"]:
                    if trigger_point >= moment and moment > trigger_point - role["ex"]["duration"]:
                        tl.add_status(moment, role["ex"]["name"], role["ex"]["value"], role["ex"]["type"], role["ex"]["private"])
            if role.__contains__("s1"):
                for trigger_point in trigger_dict["s1"]:
                    if trigger_point >= moment and moment > trigger_point - role["s1"]["duration"]:
                        tl.add_status(moment, role["s1"]["name"], role["s1"]["value"], role["s1"]["type"], role["s1"]["private"])
            if role.__contains__("s2"):
                for trigger_point in trigger_dict["s2"]:
                    if trigger_point >= moment and moment > trigger_point - role["s2"]["duration"]:
                        tl.add_status(moment, role["s2"]["name"], role["s2"]["value"], role["s2"]["type"], role["s2"]["private"])
    return tl