示例#1
0
        public static void NPCAttackHero()
        {
            NPCShip ship  = mainFunctions.getNPCByID(npcAttackID);
            double  num13 = ship.getPosX();
            double  num14 = ship.getPosY();
            double  num6  = Module1.mainHero.getPosX();
            double  num7  = Module1.mainHero.getPosY();
            double  num   = num6 - num13;
            double  num2  = num7 - num14;

            if ((!((num > 500.0) | (num < -500.0)) && !((num2 > 500.0) | (num2 < -500.0))) && !initConnection.heroEMP)
            {
                double num8;
                int    num9;
                int    num10;
                if (initConnection.heroInsta)
                {
                    num10 = 0;
                    num9  = 0;
                }
                else
                {
                    num10 = ship.getMinDMG();
                    num9  = ship.getMaxDMG();
                }
                if (Module1.mainHero.getShield() <= 0)
                {
                    Module1.mainHero.setShield(0, Module1.mainHero.getMaxHP());
                    num8 = 1.0;
                }
                else
                {
                    num8 = 0.1;
                }
                double num15       = 1.0 - num8;
                int    dmgDone     = rnd.Next(num10, num9);
                int    num4        = (int)Math.Round((double)(dmgDone * num8));
                int    num5        = (int)Math.Round((double)(dmgDone * num15));
                int    attackedHP  = Module1.mainHero.getHP() - num4;
                int    attackedSHD = Module1.mainHero.getShield() - num5;
                initConnection.sendHeroAttack(npcAttackID, 0, 1, 0);
                initConnection.updateHeroAttackLasers(npcAttackID, attackedHP, attackedSHD, dmgDone);
                Module1.mainHero.setHP(attackedHP, Module1.mainHero.getMaxHP());
                Module1.mainHero.setShield(attackedSHD, Module1.mainHero.getMaxShield());
            }
        }