예제 #1
0
        public static DLCTraceSlower GenerateInstanceOrNullFromArguments(string[] args, Rectangle location, object osObj, Computer target)
        {
            OS operatingSystem = (OS)osObj;

            target.hostileActionTaken();
            return(new DLCTraceSlower(location, operatingSystem));
        }
예제 #2
0
        public override void LoadContent()
        {
            base.LoadContent();
            this.graphPoints     = new List <Vector2>();
            this.backGraphPoints = new List <Vector2>();
            float num1 = 6f;

            this.heightRange = (float)((this.bounds.Height - 4 - 17) / 3) * 2f;
            int     num2    = (int)((double)(this.bounds.Width - 4) / (double)num1);
            Vector2 vector2 = new Vector2(2f, (float)(this.bounds.Height - 4 - 17));

            this.graphPoints.Add(new Vector2(vector2.X, vector2.Y));
            this.backGraphPoints.Add(new Vector2(vector2.X, vector2.Y));
            for (int index = 1; index < num2 - 1; ++index)
            {
                this.graphPoints.Add(new Vector2(vector2.X, vector2.Y - (float)(Utils.random.NextDouble() * 0.2 + 0.3) * this.heightRange));
                this.backGraphPoints.Add(new Vector2(vector2.X, vector2.Y - (float)Utils.random.NextDouble() * this.heightRange));
                vector2.X += num1;
            }
            this.graphPoints.Add(new Vector2(vector2.X, vector2.Y));
            this.backGraphPoints.Add(new Vector2(vector2.X, vector2.Y));
            Computer computer = Programs.getComputer(this.os, this.targetIP);

            if (computer == null)
            {
                return;
            }
            computer.hostileActionTaken();
        }
예제 #3
0
        public override void Update(float t)
        {
            base.Update(t);
            if (IsTargetingPorthackHeart)
            {
                progress = Utils.rand(0.98f);
            }
            else
            {
                progress += t / CRACK_TIME;
            }
            if (progress >= 1.0)
            {
                progress = 1f;
                if (!hasCompleted)
                {
                    Completed();
                    hasCompleted = true;
                }
                sucsessTimer -= t;
                if (sucsessTimer <= 0.0)
                {
                    isExiting = true;
                }
            }
            else
            {
                target.hostileActionTaken();
            }
            if (progress < 1.0)
            {
                textSwitchTimer -= t;
                if (textSwitchTimer <= 0.0)
                {
                    textSwitchTimer = TIME_BETWEEN_TEXT_SWITCH;
                    ++textOffsetIndex;
                }
            }
            if (hasCheckedForheart || progress <= 0.5)
            {
                return;
            }
            hasCheckedForheart = true;
            var porthackHeartDaemon = target.getDaemon(typeof(PorthackHeartDaemon)) as PorthackHeartDaemon;

            if (porthackHeartDaemon == null)
            {
                return;
            }
            IsTargetingPorthackHeart = true;
            porthackHeartDaemon.BreakHeart();
            cubeSeq.ShouldCentralSpinInfinitley = true;
        }
예제 #4
0
 public override void Update(float t)
 {
     base.Update(t);
     if (!Programs.getComputer(os, targetIP).adminIP.Equals(os.thisComputer.ip) ||
         Programs.getComputer(os, targetIP).disabled)
     {
         Completed();
     }
     if (targetRamUse != ramCost)
     {
         if (targetRamUse < ramCost)
         {
             ramCost -= (int)(t * (double)RAM_CHANGE_PS);
             if (ramCost < targetRamUse)
             {
                 ramCost = targetRamUse;
             }
         }
         else
         {
             var num = (int)(t * (double)RAM_CHANGE_PS);
             if (os.ramAvaliable >= num)
             {
                 ramCost += num;
                 if (ramCost > targetRamUse)
                 {
                     ramCost = targetRamUse;
                 }
             }
         }
     }
     switch (state)
     {
     case 1:
         if (!destComp.hasProxy)
         {
             break;
         }
         destComp.proxyOverloadTicks -= t;
         if (destComp.proxyOverloadTicks <= 0.0)
         {
             destComp.proxyOverloadTicks = 0.0f;
             destComp.proxyActive        = false;
             completedAction(1);
             break;
         }
         destComp.hostileActionTaken();
         break;
     }
 }