示例#1
0
        public void UnitMenuSteal(Game_Unit unit, int targetId, int itemIndex)
        {
            Global.game_map.remove_updated_move_range(unit.id);
            Global.game_map.clear_move_range();
            Global.game_map.range_start_timer = 0;

            Global.game_state.call_steal(unit.id, targetId, itemIndex);
            // Adds to list of attacked units for this turn
            if (Global.game_map.units.ContainsKey(Global.game_system.Battler_2_Id) &&
                unit.is_attackable_team(Global.game_map.units[Global.game_system.Battler_2_Id]))
            {
                unit.add_attack_target(Global.game_system.Battler_2_Id);

                unit.same_target_support_gain_display(Global.game_system.Battler_2_Id);
            }
            Global.game_temp.menuing = false;
            close_unit_menu(true);

            unit.cantoing = false;
            // Lock in unit movement
            unit.moved();
            if (unit.has_canto() && !unit.full_move())
            {
                unit.cantoing = true;
            }
        }
示例#2
0
        public void UnitMenuTalk(Game_Unit unit, int targetId, Canto_Records canto)
        {
            Global.game_map.remove_updated_move_range(unit.id);
            Global.game_map.clear_move_range();
            Global.game_map.range_start_timer = 0;

            Global.game_state.activate_talk(unit.id, targetId);
            Global.game_temp.menuing = false;
            close_unit_menu(true);

            unit.cantoing = false;
            // Lock in unit movement
            unit.moved();
            bool cantoMovement = unit.has_canto() && !unit.full_move();

            if (Constants.Gameplay.TALKING_IS_FREE_ACTION)
            {
                Global.game_system.Menu_Canto = canto | Canto_Records.Talk |
                                                (cantoMovement ? Canto_Records.Horse : Canto_Records.None);
                unit.cantoing = true;
            }
            else if (cantoMovement)
            {
                unit.cantoing = true;
            }
            Global.player.facing = 6;
            Global.player.frame  = 1;
        }
示例#3
0
        public void UnitMenuDance(Game_Unit unit, int targetId, int ringIndex)
        {
            Global.game_map.remove_updated_move_range(unit.id);
            Global.game_map.clear_move_range();
            Global.game_map.range_start_timer = 0;

            Global.game_state.call_dance(unit.id, targetId, ringIndex);
            Global.game_temp.menuing = false;
            close_unit_menu(true);

            unit.cantoing = false;
            // Lock in unit movement
            unit.moved();
            if (unit.has_canto() && !unit.full_move())
            {
                unit.cantoing = true;
            }
        }
示例#4
0
        public void UnitMenuDoor(Game_Unit unit, Vector2 targetLoc)
        {
            Global.game_map.remove_updated_move_range(unit.id);
            Global.game_map.clear_move_range();
            Global.game_map.range_start_timer = 0;

            Global.game_state.call_visit(Tactile.State.Visit_Modes.Door, unit.id, targetLoc);
            Global.game_temp.menuing = false;
            close_unit_menu(true);

            unit.cantoing = false;
            // Lock in unit movement
            unit.moved();
            if (unit.has_canto() && !unit.full_move())
            {
                unit.cantoing = true;
            }
        }
示例#5
0
        private void EndConstruct(Game_Unit unit)
        {
            Global.game_temp.menuing = false;
            close_unit_menu(true);

            unit.cantoing = false;
            // Lock in unit movement
            unit.moved();
            if (unit.has_canto() && !unit.full_move())
            {
                unit.cantoing = true;
            }



            // Simplified wait @Debug
            unit.start_wait();
            suspend();
        }
示例#6
0
        public void UnitMenuEscape(Game_Unit unit)
        {
            Global.game_map.remove_updated_move_range(unit.id);
            Global.game_map.clear_move_range();
            Global.game_map.range_start_timer = 0;

            Global.game_state.call_visit(Tactile.State.Visit_Modes.Escape, unit.id, unit.loc);
            Global.game_temp.menuing = false;
            close_unit_menu(true);
            Global.game_system.Selected_Unit_Id = -1;

            unit.cantoing = false;
            // Lock in unit movement
            unit.moved();
            if (unit.has_canto() && !unit.full_move())
            {
                unit.cantoing = true;
            }
        }
示例#7
0
        public void UnitMenuSupport(Game_Unit unit, int targetId)
        {
            Global.game_map.remove_updated_move_range(unit.id);
            Global.game_map.clear_move_range();
            Global.game_map.range_start_timer = 0;

            Global.game_state.call_support(unit.id, targetId);
            Global.game_temp.menuing = false;
            close_unit_menu(true);

            unit.cantoing = false;
            // Lock in unit movement
            unit.moved();
            if (unit.has_canto() && !unit.full_move())
            {
                unit.cantoing = true;
            }
            Global.player.facing = 6;
            Global.player.frame  = 1;
        }