コード例 #1
0
def own_charcter_move(target_scene: list):
    """
    主角寻路至目标场景
    Keyword arguments:
    target_scene -- 寻路目标场景(在地图系统下的绝对坐标)
    """
    (
        move_now,
        now_path_list,
        now_target_position,
        now_need_time,
    ) = character_move(0, target_scene)
    if move_now == "Null":
        null_message = text_loading.get_text_data(
            constant.FilePath.MESSAGE_PATH, "30"
        )
        era_print.normal_print(null_message)
    else:
        map_handle.character_move_scene(
            cache_contorl.character_data[0].position, now_target_position, 0,
        )
        game_time.sub_time_now(now_need_time)
        if cache_contorl.character_data[0].position != target_scene:
            own_charcter_move(target_scene)
    update.game_update_flow()
    cache_contorl.character_data[0].target_character_id = 0
    cache_contorl.now_flow_id = "in_scene"
コード例 #2
0
def game_update_flow(add_time: int):
    """
    游戏流程刷新
    Keyword arguments:
    add_time -- 游戏步进的时间
    """
    character_behavior.init_character_behavior()
    game_time.sub_time_now(add_time)
    character_behavior.init_character_behavior()
コード例 #3
0
def handle_rest():
    """
    处理休息指令
    """
    character.init_character_behavior_start_time(0)
    character_data = cache_contorl.character_data[0]
    character_data.behavior["Duration"] = 10
    character_data.behavior["BehaviorId"] = constant.Behavior.REST
    character_data.state = constant.CharacterStatus.STATUS_REST
    if character_data.hit_point > character_data.hit_point_max:
        character_data.hit_point = character_data.hit_point_max
    target_character = cache_contorl.character_data[
        character_data.target_character_id]
    if (target_character.state == constant.CharacterStatus.STATUS_ARDER
            and target_character.behavior["BehaviorId"]
            == constant.Behavior.SHARE_BLANKLY):
        target_character.state = constant.CharacterStatus.STATUS_REST
        character.init_character_behavior_start_time(
            character_data.target_character_id)
        target_character.behavior["Duration"] = 10
        target_character.behavior["BehaviorId"] = constant.Behavior.REST
    update.game_update_flow()
    game_time.sub_time_now(10)
    update.game_update_flow()