Exemplo n.º 1
0
        public void UnitMenuStaff(Game_Unit unit, int targetId, Vector2 targetLoc)
        {
            Global.game_map.clear_move_range();
            // Lock in unit movement
            unit.moved();

            Global.game_state.call_staff(
                unit.id, targetId,
                targetLoc);

            Global.game_state.call_battle(unit.id, targetId);
            if (unit.actor.weapon.Hits_All_in_Range())
            {
                foreach (int id in Global.game_system.Aoe_Targets)
                {
                    if (Global.game_map.units.ContainsKey(id))
                    {
                        // Adds to list of attacked units for this turn
                        if (unit.is_attackable_team(Global.game_map.units[id]))
                        {
                            unit.add_attack_target(id);

                            unit.same_target_support_gain_display(id);
                        }
                        else
                        {
                            unit.heal_support_gain_display(id);
                        }
                    }
                }
            }
            else
            {
                if (Global.game_map.units.ContainsKey(targetId))
                {
                    // Adds to list of attacked units for this turn
                    if (unit.is_attackable_team(Global.game_map.units[targetId]))
                    {
                        unit.add_attack_target(targetId);

                        unit.same_target_support_gain_display(targetId);
                    }
                    else
                    {
                        unit.heal_support_gain_display(targetId);
                    }
                }
            }

            Global.game_temp.clear_temp_range();
            Global.game_temp.menuing = false;
            close_unit_menu(true);
        }