Exemplo n.º 1
0
        public void PreTimeSkipAI(NPC npc)
        {
            if (npc.type == NPCID.CultistBoss)
            {
                foreach (TimeSkipData dt in TimeSkipStates)
                {
                    Main.NewText(dt);
                }
            }

            var IsTimeSkipped = TBAR.TimeSkipManager.IsTimeSkipped;

            if (IsTimeSkipped)
            {
                elapsedTime++;
                if (elapsedTime == 6)
                {
                    TimeSkipStates.Add
                    (
                        new TimeSkipData(npc.Center, npc.velocity, npc.scale, npc.rotation, npc.frame, npc.direction, npc.ai)
                    );

                    elapsedTime = 0;
                }

                if (TimeSkipStates.Count > 12)
                {
                    TimeSkipStates.RemoveAt(0);
                }

                if (TimeSkipStates.Count <= 0)
                {
                    for (int i = 0; i < 13; i++)
                    {
                        TimeSkipStates.Add
                        (
                            new TimeSkipData(npc.Center, npc.velocity, npc.scale, npc.rotation, npc.frame, npc.direction, npc.ai)
                        );
                    }
                }
            }
            else
            {
                elapsedTime = 0;
            }

            if (!IsTimeSkipped && TimeSkipStates.Count > 0)
            {
                /*
                 * npc.ai = TimeSkipStates[0].AI;
                 * npc.Center = TimeSkipStates[0].Position;
                 * npc.scale = TimeSkipStates[0].Scale;
                 * npc.direction = TimeSkipStates[0].Direction;
                 */

                TimeSkipStates.Clear();
            }
        }
Exemplo n.º 2
0
        public void PreTimeSkipAI(NPC npc)
        {
            var IsTimeSkipped = TimeSkipManager.IsTimeSkipped;

            int TimeSkipDuration = TimeSkipManager.TimeSkippedFor;

            if (IsTimeSkipped)
            {
                if (TimeSkipManager.TimeSkippedFor % 6 == 0)
                {
                    TimeSkipStates.Add
                    (
                        new TimeSkipState(npc.Center, npc.velocity, npc.scale, npc.rotation, npc.frame, npc.direction, npc.ai)
                    );
                }
            }

            if (IsTimeSkipped && TimeSkipStates.Count > 12)
            {
                TimeSkipStates.RemoveAt(0);
            }

            if (TimeSkipStates.Count <= 0 && IsTimeSkipped)
            {
                for (int i = 0; i < 13; i++)
                {
                    TimeSkipStates.Add
                    (
                        new TimeSkipState(npc.Center, npc.velocity, npc.scale, npc.rotation, npc.frame, npc.direction, npc.ai)
                    );
                }
            }

            if (IsTimeSkipped && TimeSkipDuration <= 2 && TimeSkipStates.Count > 0)
            {
                /*
                 * npc.ai = TimeSkipStates[0].AI;
                 * npc.Center = TimeSkipStates[0].Position;
                 * npc.scale = TimeSkipStates[0].Scale;
                 * npc.direction = TimeSkipStates[0].Direction;
                 */
                TimeSkipStates.Clear();
            }
        }