Пример #1
0
        //Pets and Summons backup

        /*public bool bunny, penguin, puppy, grinch, turtle, eater, skeletron, hornet, tiki, lizard, parrot, truffle, sapling, cSapling, spider, squashling, wisp, dino,
         *  babyFaceMonster, slime, eyeSpring, snowman, blackCat, zephyrfish, pygmy, spiderMinion, miniMinotaur;*/

        public PlayerDataBackup(Player player, TerraGuardian guardian)
        {
            this.player      = player;
            this.guardian    = guardian;
            Position         = player.position;
            Velocity         = player.velocity;
            Direction        = player.direction;
            ItemPosition     = player.itemLocation;
            Width            = player.width;
            Height           = player.height;
            numMinions       = player.numMinions;
            maxMinions       = player.maxMinions;
            SlotsMinion      = player.slotsMinions;
            Wet              = player.wet;
            Active           = player.active;
            MouseX           = Main.mouseX;
            MouseY           = Main.mouseY;
            Dead             = player.dead;
            FrostBurn        = player.frostArmor;
            MeleeEnchantment = player.meleeEnchant;
            ItemAnimation    = player.itemAnimation;
            ItemAnimationMax = player.itemAnimationMax;
            ItemTime         = player.itemTime;
            ItemRotation     = player.itemRotation;
            HeldProj         = player.heldProj;
            channel          = player.channel;
            townNPCs         = player.townNPCs;
            activeNPCs       = player.activeNPCs;
            Zone1            = player.zone1;
            Zone2            = player.zone2;
            Zone3            = player.zone3;
            Zone4            = player.zone4;
            BuffTypes        = (int[])player.buffType.Clone();
            BuffTimes        = (int[])player.buffTime.Clone();
            ghostHeal        = player.ghostHeal;
            ghostHurt        = player.ghostHurt;
            LifeStealRate    = player.lifeSteal;
            GhostDamage      = player.ghostDmg;

            phantasmTime = player.phantasmTime;

            //BackupPetSummonData(player, guardian);

            player.position     = guardian.TopLeftPosition;
            player.velocity     = guardian.Velocity;
            player.direction    = guardian.Direction;
            player.width        = guardian.Width;
            player.height       = guardian.Height;
            player.itemLocation = new Vector2(guardian.ItemPositionX, guardian.ItemPositionY) + guardian.Position;
            //player.numMinions = guardian.NumMinions + player.maxMinions;
            //player.maxMinions += guardian.MaxMinions;
            //player.slotsMinions = guardian.MinionSlotCount;
            player.wet    = guardian.Wet;
            player.active = guardian.Active;
            player.dead   = guardian.Downed;
            Main.mouseX  += (int)guardian.AimDirection.X - (Main.mouseX + (int)Main.screenPosition.X);
            Main.mouseY  += (int)guardian.AimDirection.Y - (Main.mouseY + (int)Main.screenPosition.Y);
            if (guardian.GravityDirection < 0)
            {
                Main.mouseY += (int)(guardian.AimDirection.Y - guardian.CenterY) * 2;
            }
            player.frostArmor       = guardian.HasFlag(GuardianFlags.FrostSetEffect);
            player.meleeEnchant     = guardian.MeleeEnchant;
            player.itemAnimation    = guardian.ItemAnimationTime;
            player.itemAnimationMax = guardian.ItemMaxAnimationTime;
            player.itemTime         = guardian.ItemUseTime;
            player.itemRotation     = guardian.ItemRotation;
            player.heldProj         = guardian.HeldProj;
            //player.townNPCs = guardian.TownNpcs;
            player.activeNPCs = guardian.ActiveNpcs;
            player.channel    = guardian.Channeling;

            player.phantasmTime = guardian.GetCooldownValue(GuardianCooldownManager.CooldownType.PhantasmCooldown);

            player.zone1 = guardian.Zone1;
            player.zone2 = guardian.Zone2;
            player.zone3 = guardian.Zone3;
            player.zone4 = guardian.Zone4;

            player.ghostHeal = guardian.HasFlag(GuardianFlags.SpectreHealSetEffect);
            player.ghostHurt = guardian.HasFlag(GuardianFlags.SpectreSplashSetEffect);
            player.lifeSteal = guardian.LifeStealRate;
            player.ghostDmg  = guardian.GhostDamage;
        }