示例#1
0
        public JoyBase() : base(HappinessPigGuardianID)
        {
            Name          = "Joy";
            PossibleNames = new string[] { "Cheery", "Fortue", "Glee", "Joy" };
            Description   = "";
            Width         = 10 * 2;
            Height        = 27 * 2;
            SpriteWidth   = 64;
            SpriteHeight  = 64;
            //FramesInRows = 28;
            //DuckingHeight = 54;
            //Each pig should definitelly have the same size, birthday age and time, so I moved those infos.
            Genderless         = true;
            InitialMHP         = 110; //320
            LifeCrystalHPBonus = 15;
            LifeFruitHPBonus   = 5;
            Accuracy           = 0.67f;
            Mass                = 0.40f;
            MaxSpeed            = 3.62f;
            Acceleration        = 0.12f;
            SlowDown            = 0.35f;
            MaxJumpHeight       = 12;
            JumpSpeed           = 9.76f;
            CanDuck             = false;
            ReverseMount        = true;
            DontUseHeavyWeapons = true;
            DrinksBeverage      = false;
            SetTerraGuardian();

            MountUnlockLevel = 255;

            InitialItems.Add(new ItemPair(Terraria.ID.ItemID.YellowPhaseblade, 1));
            InitialItems.Add(new ItemPair(Terraria.ID.ItemID.LesserHealingPotion, 10));
            InitialItems.Add(new ItemPair(Terraria.ID.ItemID.AmberStaff, 1));

            //Animation Frames

            //Left Arm
            LeftHandPoints.AddFramePoint2x(10, 10, 2);
            LeftHandPoints.AddFramePoint2x(11, 22, 9);
            LeftHandPoints.AddFramePoint2x(12, 24, 17);
            LeftHandPoints.AddFramePoint2x(13, 20, 22);

            LeftHandPoints.AddFramePoint2x(17, 24, 26);

            //Right Arm
            RightHandPoints.AddFramePoint2x(10, 15, 2);
            RightHandPoints.AddFramePoint2x(11, 25, 9);
            RightHandPoints.AddFramePoint2x(12, 27, 17);
            RightHandPoints.AddFramePoint2x(13, 23, 22);

            RightHandPoints.AddFramePoint2x(17, 26, 26);

            //Headgear
            HeadVanityPosition.DefaultCoordinate2x = new Microsoft.Xna.Framework.Point(16 + 2, 11);
            HeadVanityPosition.AddFramePoint2x(14, 16 + 2, 9);
            HeadVanityPosition.AddFramePoint2x(17, 23 + 2, 18);
            HeadVanityPosition.AddFramePoint2x(22, 16 + 2, 9);
            HeadVanityPosition.AddFramePoint2x(25, 23 + 2, 18);
        }
示例#2
0
        public SadnessBase() : base(SadnessPigGuardianID)
        {
            Name          = "Sadness";
            PossibleNames = new string[] { "Downcast", "Sorrow", "Unfortue", "Misera" };
            Description   = "One of the emotion pieces fragments\nof a TerraGuardian. Very saddened.";
            Width         = 10 * 2;
            Height        = 27 * 2;
            SpriteWidth   = 72;
            SpriteHeight  = 68;
            DefaultTactic = CombatTactic.Snipe;
            //FramesInRows = 28;
            //DuckingHeight = 54;
            //Each pig should definitelly have the same size, birthday age and time, so I moved those infos.
            Genderless         = true;
            InitialMHP         = 110; //320
            LifeCrystalHPBonus = 15;
            LifeFruitHPBonus   = 5;
            Accuracy           = 0.67f;
            Mass                = 0.40f;
            MaxSpeed            = 3.62f;
            Acceleration        = 0.12f;
            SlowDown            = 0.35f;
            MaxJumpHeight       = 12;
            JumpSpeed           = 9.76f;
            CanDuck             = false;
            ReverseMount        = true;
            DontUseHeavyWeapons = true;
            DrinksBeverage      = false;
            SetTerraGuardian();

            MountUnlockLevel = 255;

            InitialItems.Add(new ItemPair(Terraria.ID.ItemID.BluePhaseblade, 1));
            InitialItems.Add(new ItemPair(Terraria.ID.ItemID.LesserHealingPotion, 10));

            //Animation Frames

            //Left Arm
            LeftHandPoints.AddFramePoint2x(10, 12, 4);
            LeftHandPoints.AddFramePoint2x(11, 24, 11);
            LeftHandPoints.AddFramePoint2x(12, 26, 19);
            LeftHandPoints.AddFramePoint2x(13, 22, 24);

            LeftHandPoints.AddFramePoint2x(17, 26, 28);

            //Right Arm
            RightHandPoints.AddFramePoint2x(10, 17, 4);
            RightHandPoints.AddFramePoint2x(11, 27, 11);
            RightHandPoints.AddFramePoint2x(12, 29, 19);
            RightHandPoints.AddFramePoint2x(13, 25, 24);

            RightHandPoints.AddFramePoint2x(17, 28, 28);

            //Headgear
            HeadVanityPosition.DefaultCoordinate2x = new Microsoft.Xna.Framework.Point(16 + 2, 11);
            HeadVanityPosition.AddFramePoint2x(14, 16 + 2, 9);
            HeadVanityPosition.AddFramePoint2x(17, 23 + 2, 18);
            HeadVanityPosition.AddFramePoint2x(22, 16 + 2, 9);
            HeadVanityPosition.AddFramePoint2x(25, 23 + 2, 18);
        }
示例#3
0
        public void AddItem(LR0Item core)
        {
            //Check if a core had been already added. If yes, simply return
            if (!_allCores.Add(core))
            {
                return;
            }
            //Create new item, add it to AllItems, InitialItems, ReduceItems or ShiftItems
            var item = new LRItem(_state, core);

            AllItems.Add(item);

            if (item.Core.IsFinal)
            {
                ReduceItems.Add(item);
            }
            else
            {
                ShiftItems.Add(item);
            }

            if (item.Core.IsInitial)
            {
                InitialItems.Add(item);
            }

            if (core.IsFinal)
            {
                return;
            }

            //Add current term to ShiftTerms
            if (!ShiftTerms.Add(core.Current))
            {
                return;
            }

            if (core.Current is Terminal)
            {
                ShiftTerminals.Add(core.Current as Terminal);
            }

            //If current term (core.Current) is a new non-terminal, expand it
            var currNt = core.Current as NonTerminal;

            if (currNt == null)
            {
                return;
            }

            foreach (var prod in currNt.Productions)
            {
                AddItem(prod.LR0Items[0]);
            }
        }
示例#4
0
        //I'll need to think how I'll make the cloud form of them work, and toggle.
        public WrathBase()
            : base(AngerPigGuardianID)
        {
            Name = "Wrath";
            PossibleNames = new string[] { "Wrath", "Rage", "Fury", "Irk" };
            Description = "The angry emotional pig piece\nof a TerraGuardian. Very volatile.";
            Width = 10 * 2;
            Height = 27 * 2;
            SpriteWidth = 70;
            SpriteHeight = 68;
            FramesInRows = 28;
            //DuckingHeight = 54;
            //Each pig should definitelly have the same size, birthday age and time, so I moved those infos.
            DefaultTactic = CombatTactic.Charge;
            Genderless = true;
            InitialMHP = 110; //320
            LifeCrystalHPBonus = 15;
            LifeFruitHPBonus = 5;
            Accuracy = 0.67f;
            Mass = 0.40f;
            MaxSpeed = 3.62f;
            Acceleration = 0.12f;
            SlowDown = 0.35f;
            MaxJumpHeight = 12;
            JumpSpeed = 9.76f;
            CanDuck = false;
            ReverseMount = true;
            DontUseHeavyWeapons = true;
            DrinksBeverage = false;
            SetTerraGuardian();

            MountUnlockLevel = 255;

            InitialItems.Add(new ItemPair(Terraria.ID.ItemID.RedPhaseblade, 1));
            InitialItems.Add(new ItemPair(Terraria.ID.ItemID.LesserHealingPotion, 10));

            RightArmFrontFrameSwap.Add(0, 0);
            RightArmFrontFrameSwap.Add(1, 0);
            RightArmFrontFrameSwap.Add(2, 1);
            RightArmFrontFrameSwap.Add(3, 2);
            RightArmFrontFrameSwap.Add(4, 2);
            RightArmFrontFrameSwap.Add(5, 1);
            RightArmFrontFrameSwap.Add(6, 0);
            RightArmFrontFrameSwap.Add(7, 0);
            RightArmFrontFrameSwap.Add(8, 0);
            //RightArmFrontFrameSwap.Add(9, 0);
            //RightArmFrontFrameSwap.Add(10, 0);

            //Animation Frames

            //Left Arm
            LeftHandPoints.AddFramePoint2x(10, 11, 4);
            LeftHandPoints.AddFramePoint2x(11, 23, 11);
            LeftHandPoints.AddFramePoint2x(12, 24, 19);
            LeftHandPoints.AddFramePoint2x(13, 22, 24);

            LeftHandPoints.AddFramePoint2x(17, 25, 28);

            //Right Arm
            RightHandPoints.AddFramePoint2x(10, 15, 4);
            RightHandPoints.AddFramePoint2x(11, 25, 11);
            RightHandPoints.AddFramePoint2x(12, 27, 19);
            RightHandPoints.AddFramePoint2x(13, 23, 24);

            RightHandPoints.AddFramePoint2x(17, 27, 28);

            //Headgear
            HeadVanityPosition.DefaultCoordinate2x = new Microsoft.Xna.Framework.Point(16 + 2, 11);
            HeadVanityPosition.AddFramePoint2x(14, 16 + 2, 9);
            HeadVanityPosition.AddFramePoint2x(17, 23 + 2, 18);
            HeadVanityPosition.AddFramePoint2x(22, 16 + 2, 9);
            HeadVanityPosition.AddFramePoint2x(25, 23 + 2, 18);

            GetRequests();
            SkinsAndOutfits();
        }
示例#5
0
        public FearBase() :
            base(FearPigGuardianID)
        {
            Name          = "Fear";
            PossibleNames = new string[] { "Frighty", "Dread", "Anxie", "Pani" };
            Description   = "One of the emotion pieces fragments\nof a TerraGuardian. Very scaredy.";
            Width         = 10 * 2;
            Height        = 27 * 2;
            SpriteWidth   = 64;
            SpriteHeight  = 64;
            FramesInRows  = 31;
            //DuckingHeight = 54;
            //Each pig should definitelly have the same size, birthday age and time, so I moved those infos.
            Genderless         = true;
            InitialMHP         = 110; //320
            LifeCrystalHPBonus = 15;
            LifeFruitHPBonus   = 5;
            Accuracy           = 0.67f;
            Mass                = 0.40f;
            MaxSpeed            = 3.62f;
            Acceleration        = 0.12f;
            SlowDown            = 0.35f;
            MaxJumpHeight       = 12;
            JumpSpeed           = 9.76f;
            CanDuck             = false;
            ReverseMount        = true;
            DontUseHeavyWeapons = true;
            DrinksBeverage      = false;
            SetTerraGuardian();

            MountUnlockLevel = 255;

            InitialItems.Add(new ItemPair(Terraria.ID.ItemID.PurplePhaseblade, 1));
            InitialItems.Add(new ItemPair(Terraria.ID.ItemID.Handgun, 1));
            InitialItems.Add(new ItemPair(Terraria.ID.ItemID.MusketBall, 250));
            InitialItems.Add(new ItemPair(Terraria.ID.ItemID.LesserHealingPotion, 10));

            RightArmFrontFrameSwap.Add(0, 0);
            RightArmFrontFrameSwap.Add(1, 0);
            RightArmFrontFrameSwap.Add(2, 0);
            RightArmFrontFrameSwap.Add(3, 1);
            RightArmFrontFrameSwap.Add(4, 1);
            RightArmFrontFrameSwap.Add(5, 0);
            RightArmFrontFrameSwap.Add(6, 0);
            RightArmFrontFrameSwap.Add(7, 1);
            RightArmFrontFrameSwap.Add(8, 1);

            RightArmFrontFrameSwap.Add(19, 0);

            //Animation Frames
            //Left Arm
            LeftHandPoints.AddFramePoint2x(10, 10, 2);
            LeftHandPoints.AddFramePoint2x(11, 22, 9);
            LeftHandPoints.AddFramePoint2x(12, 24, 17);
            LeftHandPoints.AddFramePoint2x(13, 20, 22);

            LeftHandPoints.AddFramePoint2x(17, 25, 27);

            //Right Arm
            RightHandPoints.AddFramePoint2x(10, 16, 2);
            RightHandPoints.AddFramePoint2x(11, 25, 9);
            RightHandPoints.AddFramePoint2x(12, 27, 17);
            RightHandPoints.AddFramePoint2x(13, 23, 22);

            RightHandPoints.AddFramePoint2x(17, 27, 27);

            //Headgear
            HeadVanityPosition.DefaultCoordinate2x = new Point(16 + 2, 11);
            HeadVanityPosition.AddFramePoint2x(14, 16 + 2, 9);
            HeadVanityPosition.AddFramePoint2x(17, 23 + 2, 18);
            HeadVanityPosition.AddFramePoint2x(22, 16 + 2, 9);
            HeadVanityPosition.AddFramePoint2x(25, 23 + 2, 18);
        }
示例#6
0
        /// <summary>
        /// -Not very sociable.
        /// -Loves cooking.
        /// -Likes Vladimir.
        /// -Has flatulence problems.
        /// -Loves clear weather days.
        /// -Likes seeing people enjoy her food.
        /// -Is fat due to experimenting her own food, to see if It's good.
        /// </summary>
        public MinervaBase()
        {
            Name                = "Minerva";
            Description         = "She's not very sociable, but is\na good cook. If you're feeling\nhungry, go see her to get food.";
            Size                = GuardianSize.Large;
            Width               = 26;
            Height              = 90;
            DuckingHeight       = 52;
            SpriteWidth         = 96;
            SpriteHeight        = 112;
            CompanionSlotWeight = 1.4f;
            Scale               = 108f / 90f;
            Age = 19;
            SetBirthday(SEASON_WINTER, 9);
            Male               = false;
            InitialMHP         = 300; //1000
            LifeCrystalHPBonus = 40;
            LifeFruitHPBonus   = 20;
            Accuracy           = 0.47f;
            Mass               = 0.62f;
            MaxSpeed           = 4.8f;
            Acceleration       = 0.16f;
            SlowDown           = 0.52f;
            MaxJumpHeight      = 16;
            JumpSpeed          = 7.60f;
            CanDuck            = true;
            ReverseMount       = false;
            DrinksBeverage     = true;
            SetTerraGuardian();

            CallUnlockLevel = 2;
            MoveInLevel     = 3;

            PopularityContestsWon = 0;
            ContestSecondPlace    = 0;
            ContestThirdPlace     = 0;

            StandingFrame             = 0;
            WalkingFrames             = new int[] { 2, 3, 4, 5, 6, 7, 8, 9 };
            PlayerMountedArmAnimation = JumpFrame = 10;
            HeavySwingFrames          = new int[] { 21, 22, 23 };
            ItemUseFrames             = new int[] { 11, 12, 13, 14 };
            DuckingFrame       = 24;
            DuckingSwingFrames = new int[] { 25, 26, 27 };
            SittingFrame       = 16;
            ChairSittingFrame  = 15;
            ThroneSittingFrame = 18;
            BedSleepingFrame   = 17;
            SleepingOffset.X   = 16;
            ReviveFrame        = 20;
            DownedFrame        = 19;
            //PetrifiedFrame = 28;

            BackwardStanding = 28;
            BackwardRevive   = 29;

            InitialItems.Add(new ItemPair(Terraria.ID.ItemID.PearlwoodSword, 1));
            InitialItems.Add(new ItemPair(Terraria.ID.ItemID.AmethystStaff, 1));
            InitialItems.Add(new ItemPair(Terraria.ID.ItemID.BottledHoney, 5));
            InitialItems.Add(new ItemPair(Terraria.ID.ItemID.BowlofSoup, 5));

            SpecificBodyFrontFramePositions = true;
            BodyFrontFrameSwap.Add(15, 0);
            BodyFrontFrameSwap.Add(16, 0);

            RightArmFrontFrameSwap.Add(0, 0);
            RightArmFrontFrameSwap.Add(15, 1);
            RightArmFrontFrameSwap.Add(16, 1);
            RightArmFrontFrameSwap.Add(20, 2);
            RightArmFrontFrameSwap.Add(21, 3);

            SittingPoint2x = new Point(22, 43);

            MountShoulderPoints.DefaultCoordinate2x = new Point(18, 21);
            MountShoulderPoints.AddFramePoint2x(20, 23, 33);
            MountShoulderPoints.AddFramePoint2x(24, 18, 35);
            MountShoulderPoints.AddFramePoint2x(25, 18, 35);
            MountShoulderPoints.AddFramePoint2x(26, 18, 35);
            MountShoulderPoints.AddFramePoint2x(27, 18, 35);

            //Left Arm
            LeftHandPoints.AddFramePoint2x(11, 14, 7);
            LeftHandPoints.AddFramePoint2x(12, 36, 14);
            LeftHandPoints.AddFramePoint2x(13, 41, 26);
            LeftHandPoints.AddFramePoint2x(14, 33, 36);

            LeftHandPoints.AddFramePoint2x(20, 30, 47);

            LeftHandPoints.AddFramePoint2x(21, 21, 15);
            LeftHandPoints.AddFramePoint2x(22, 38, 22);
            LeftHandPoints.AddFramePoint2x(23, 34, 43);

            LeftHandPoints.AddFramePoint2x(25, 24, 19);
            LeftHandPoints.AddFramePoint2x(26, 34, 30);
            LeftHandPoints.AddFramePoint2x(27, 35, 45);

            //Right Arm
            RightHandPoints.AddFramePoint2x(11, 17, 7);
            RightHandPoints.AddFramePoint2x(12, 38, 14);
            RightHandPoints.AddFramePoint2x(13, 43, 26);
            RightHandPoints.AddFramePoint2x(14, 35, 36);

            RightHandPoints.AddFramePoint2x(20, 34, 47);

            RightHandPoints.AddFramePoint2x(21, 24, 15);
            RightHandPoints.AddFramePoint2x(22, 41, 22);
            RightHandPoints.AddFramePoint2x(23, 36, 43);

            RightHandPoints.AddFramePoint2x(25, 26, 19);
            RightHandPoints.AddFramePoint2x(26, 37, 30);
            RightHandPoints.AddFramePoint2x(27, 37, 45);

            //Vanity Position
            HeadVanityPosition.DefaultCoordinate2x = new Point(24, 17);
            HeadVanityPosition.AddFramePoint2x(20, 28, 28);

            HeadVanityPosition.AddFramePoint2x(23, 28, 22);

            HeadVanityPosition.AddFramePoint2x(24, 24, 31);
            HeadVanityPosition.AddFramePoint2x(25, 24, 31);
            HeadVanityPosition.AddFramePoint2x(26, 24, 31);
            HeadVanityPosition.AddFramePoint2x(27, 24, 31);

            SetDialogues();
            SetRewards();
        }