コード例 #1
0
 private void SelectTargetWindows(Kernel_bin.Target t)
 {
     Target = t;
     if ((t & Kernel_bin.Target.Ally) != 0 || t == Kernel_bin.Target.None || ((t & Kernel_bin.Target.Enemy) == 0 && (t & Kernel_bin.Target.Single_Side) != 0))
     {
         TargetParty.Show();
         TargetAll(TargetParty);
     }
     else
     {
         TargetParty.Hide();
     }
     if ((t & Kernel_bin.Target.Enemy) != 0)
     {
         TargetEnemies.Show();
         TargetAll(TargetEnemies);
     }
     else
     {
         TargetEnemies.Hide();
     }
     void TargetAll(IGMData.Base i)
     {
         if ((Target & Kernel_bin.Target.Single_Target) == 0)
         {
             i.Cursor_Status |= Cursor_Status.All;
         }
         else
         {
             i.Cursor_Status &= ~Cursor_Status.All;
         }
     }
 }
コード例 #2
0
 public void SelectTargetWindows(Kernel_bin.Magic_Data c)
 {
     Kernel_bin.Target t = c.Target;
     SelectTargetWindows(t);
     Command = Kernel_bin.BattleCommands[2];
     Magic   = c;
 }
コード例 #3
0
 public void SelectTargetWindows(Item_In_Menu c)
 {
     Kernel_bin.Target t = c.Battle.Target;
     SelectTargetWindows(t);
     Command = Kernel_bin.BattleCommands[4];
     Item    = c;
 }
コード例 #4
0
 public void SelectTargetWindows(Kernel_bin.Magic_Data c, int casts = 1, Random random = default)
 {
     Kernel_bin.Target t = c.Target;
     SelectTargetWindows(t, casts, random);
     Command = Kernel_bin.BattleCommands[2];
     Magic   = c;
 }
コード例 #5
0
 public void SelectTargetWindows(Combine.KernelItem c)
 {
     Kernel_bin.Target t = c.Target;
     SelectTargetWindows(t);
     Command           = Kernel_bin.BattleCommands[19];
     CombineKernelItem = c;
 }
コード例 #6
0
 public void SelectTargetWindows(Kernel_bin.Battle_Commands c)
 {
     Kernel_bin.Target t = c.Target;
     SelectTargetWindows(t);
     Command   = c;
     Magic     = null;
     BlueMagic = null;
 }
コード例 #7
0
 public void SelectTargetWindows(Kernel_bin.Blue_magic_Quistis_limit_break c)
 {
     //not sure if target data is missing for blue magic.
     //The target box does show up in game so I imagine the target data is in there somewhere.
     Kernel_bin.Target t = c.Target;
     SelectTargetWindows(t);
     Command   = Kernel_bin.BattleCommands[15];
     BlueMagic = c;
 }
コード例 #8
0
 public void SelectTargetWindows(Kernel_bin.Enemy_Attacks_Data c)
 {
     // we don't know what the enemy attacks default target is. Setting a general default here.
     // The battle AI script sets the target for the enemies
     // http://forums.qhimm.com/index.php?topic=18384.0
     Kernel_bin.Target t = Kernel_bin.Target.Ally | Kernel_bin.Target.Enemy | Kernel_bin.Target.Single_Target;
     SelectTargetWindows(t);
     Command     = Kernel_bin.BattleCommands[1];
     EnemyAttack = c;
 }
コード例 #9
0
 public void SelectTargetWindows(Item_In_Menu c, bool shot = false)
 {
     Kernel_bin.Target t = c.Battle?.Target ?? Kernel_bin.Target.Enemy | Kernel_bin.Target.Single_Target;
     if (shot)
     {
         t = c.Shot.Target;
     }
     SelectTargetWindows(t);
     Command = Kernel_bin.BattleCommands[shot ? 14 : 4];
     Item    = c;
 }
コード例 #10
0
        private void SelectTargetWindows(Kernel_bin.Target t, int casts = 1, Random random = default)
        {
            RandomTarget = random ?? new Random(false);
            Casts        = casts;
            Target       = t;
            if ((t & Kernel_bin.Target.Ally) != 0 || t == Kernel_bin.Target.None || ((t & Kernel_bin.Target.Enemy) == 0 && (t & Kernel_bin.Target.Single_Side) != 0))
            {
                TargetParty.Show();
                TargetAll(TargetParty);
            }
            else
            {
                TargetParty.Hide();
            }
            if ((t & Kernel_bin.Target.Enemy) != 0)
            {
                TargetEnemies.Show();
                TargetAll(TargetEnemies);
            }
            else
            {
                TargetEnemies.Hide();
            }
            void TargetAll(IGMData.Base i)
            {
                if (Target.HasFlag(Kernel_bin.Target.Single_Target))
                {
                    i.Cursor_Status &= ~Cursor_Status.All;
                }
                else
                {
                    i.Cursor_Status |= Cursor_Status.All;
                }
            }

            if (Damageable.GetEnemy(out Enemy e))
            {
                if (TargetEnemies.Enabled == (TargetParty.Enabled == true))
                {
                    //do nothing
                }
                else if (TargetEnemies.Enabled && !TargetParty.Enabled)
                {
                    TargetParty.Show();
                    TargetEnemies.Hide();
                }
                else if (!TargetEnemies.Enabled && TargetParty.Enabled)
                {
                    TargetParty.Hide();
                    TargetEnemies.Show();
                }
            }
        }
コード例 #11
0
            private void SelectTargetWindows(Kernel_bin.Target t)
            {
                IGMData_TargetEnemies i  = (IGMData_TargetEnemies)(((IGMDataItem_IGMData)ITEM[0, 0]).Data);
                IGMData_TargetParty   ii = (IGMData_TargetParty)(((IGMDataItem_IGMData)ITEM[1, 0]).Data);

                if ((t & Kernel_bin.Target.Ally) != 0)
                {
                    ii.Show();
                }
                else
                {
                    ii.Hide();
                }
                if ((t & Kernel_bin.Target.Enemy) != 0)
                {
                    i.Show();
                }
                else
                {
                    i.Hide();
                }
            }