예제 #1
0
        public static bool Init()
        {
            Commando.Setup();
            Huntress.Setup();
            Artificer.Setup();
            Mercenary.Setup();
            Engineer.Setup();
            Acrid.Setup();

            return(true);

            //#region merc
            //LoadoutAPI.AddSkill(typeof(VTStates.States.Mercenary.SummonClones));
            //{
            //    SkillDef mySkillDef = ScriptableObject.CreateInstance<SkillDef>();
            //    mySkillDef.activationState = new SerializableEntityStateType(typeof(VTStates.States.Mercenary.SummonClones));
            //    mySkillDef.activationStateMachineName = "Weapon";
            //    mySkillDef.baseMaxStock = 2;
            //    mySkillDef.baseRechargeInterval = 16f;
            //    mySkillDef.beginSkillCooldownOnSkillEnd = false;
            //    mySkillDef.canceledFromSprinting = false;
            //    mySkillDef.fullRestockOnAssign = true;
            //    mySkillDef.interruptPriority = InterruptPriority.Any;
            //    mySkillDef.isBullets = false;
            //    mySkillDef.isCombatSkill = true;
            //    mySkillDef.mustKeyPress = true;
            //    mySkillDef.noSprint = false;
            //    mySkillDef.rechargeStock = 1;
            //    mySkillDef.requiredStock = 1;
            //    mySkillDef.shootDelay = 0f;
            //    mySkillDef.stockToConsume = 1;
            //    //mySkillDef.icon = Resources.Load<Sprite>()
            //    mySkillDef.skillDescriptionToken = "Summon a shadow clone that inherits your items";
            //    mySkillDef.skillName = "EXPANDEDSKILLS_SUMMONCLONE_SPECIAL";
            //    mySkillDef.skillNameToken = "Shadow Clones";

            //    LoadoutAPI.AddSkillDef(mySkillDef);

            //    GameObject gameObject = Resources.Load<GameObject>("prefabs/characterbodies/mercbody");
            //    SkillLocator component = gameObject.GetComponent<SkillLocator>();
            //    SkillFamily skillFamily = component.special.skillFamily;

            //    Array.Resize(ref skillFamily.variants, skillFamily.variants.Length + 1);

            //    skillFamily.variants[skillFamily.variants.Length - 1] = new SkillFamily.Variant
            //    {
            //        skillDef = mySkillDef,
            //        unlockableName = "",
            //        viewableNode = new ViewablesCatalog.Node(mySkillDef.skillNameToken, false, null)

            //    };
            //}


            //#endregion merc

            #region commando

            #endregion commando
        }
예제 #2
0
        public BearTrap(Huntress owner, sbyte damage, Vector2 position, float speed, double direction) : base(position, speed, direction, damage)
        {
            Type               = Library.AbilityOutline.AbilityType.AbilityTwo;
            Activated          = false;
            openAnimation      = new SpriteAnimation(AssetManager.HuntressBearTrap, new Vector2(0, 0), new Vector2(0, 0), new Vector2(10, 6), new Vector2(1, 0), 5000);
            activatedAnimation = new SpriteAnimation(AssetManager.HuntressBearTrap, new Vector2(1, 0), new Vector2(1, 0), new Vector2(10, 6), new Vector2(1, 0), 5000);

            currentAnimation = openAnimation;
            this.owner       = owner;
            timer            = 20;
        }
예제 #3
0
        public Boar(Huntress owner, sbyte damage, double direction, Vector2 position, float speed, Rectangle clientBounds) : base(position, speed, direction, damage)
        {
            Type = Library.AbilityOutline.AbilityType.AbilityOne;

            currentAnimation = new SpriteAnimation(AssetManager.HuntressBoar, new Vector2(0, 0), new Vector2(2, 0), new Vector2(20, 9), new Vector2(2, 0), 100);

            timer      = 20;
            this.owner = owner;
            CalculateStartingPosition(position, clientBounds);
            NormalizeAngle();
            CheckRotation();
        }
예제 #4
0
        public override void Update(GameTime gameTime, ref States state, ref Character player)
        {
            if (MouseKeyboardManager.LeftClick)
            {
                if (wizardRect.Contains(MouseKeyboardManager.MousePosition.ToPoint()))
                {
                    player = new Wizard(new Vector2(Window.ClientBounds.Width / 2, Window.ClientBounds.Height / 2), 3f, 0.0);
                    state  = States.Lobby;
                    networkManager.SendClassChange(Player.ClassType.Wizard);
                }
                else if (ogreRect.Contains(MouseKeyboardManager.MousePosition.ToPoint()))
                {
                    player = new Ogre(new Vector2(Window.ClientBounds.Width / 2, Window.ClientBounds.Height / 2), 3f, 0.0);
                    state  = States.Lobby;
                    networkManager.SendClassChange(Player.ClassType.Ogre);
                }
                else if (huntressRect.Contains(MouseKeyboardManager.MousePosition.ToPoint()))
                {
                    player = new Huntress(new Vector2(Window.ClientBounds.Width / 2, Window.ClientBounds.Height / 2), 3f, 0.0, Window.ClientBounds);
                    state  = States.Lobby;
                    networkManager.SendClassChange(Player.ClassType.Huntress);
                }

                else if (knightRect.Contains(MouseKeyboardManager.MousePosition.ToPoint()))
                {
                    player = new Knight(new Vector2(Window.ClientBounds.Width / 2, Window.ClientBounds.Height / 2), 3f, 0.0);
                    state  = States.Lobby;
                    networkManager.SendClassChange(Player.ClassType.Knight);
                }

                else if (travelerRect.Contains(MouseKeyboardManager.MousePosition.ToPoint()))
                {
                    player = new TimeTraveler(new Vector2(Window.ClientBounds.Width / 2, Window.ClientBounds.Height / 2), 3f, 0.0);
                    state  = States.Lobby;
                    networkManager.SendClassChange(Player.ClassType.TimeTraveler);
                }
            }
        }
예제 #5
0
        public void Draw(SpriteBatch spriteBatch, NetworkManager networkManager)
        {
            spriteBatch.Draw(AssetManager.stoneTiles, Vector2.Zero, Color.White);
            lava.Draw(spriteBatch);

            foreach (Obstacle obstacle in obstacles)
            {
                obstacle.Draw(spriteBatch);
            }
            foreach (var player in networkManager.Players)
            {
                if (player.Username != networkManager.Username && player != null)
                {
                    Rectangle source = new Rectangle(player.Animation.XRecPos, player.Animation.YRecPos, player.Animation.Width, player.Animation.Height);


                    if (player.Health > 0)
                    {
                        SpriteEffects spritEffect;

                        if (player.OrbiterRotation >= 1.53269 || player.OrbiterRotation <= -1.547545)
                        {
                            spritEffect = SpriteEffects.FlipHorizontally;
                        }
                        else
                        {
                            spritEffect = SpriteEffects.None;
                        }

                        switch (player.Type)
                        {
                        case Library.Player.ClassType.Wizard:
                            spriteBatch.Draw(AssetManager.WizardSpriteSheet, new Vector2(player.XPosition, player.YPosition), source,
                                             Color.White, 0f, Vector2.Zero, Game1.SCALE, spritEffect, 1.0f);
                            break;

                        case Library.Player.ClassType.Ogre:
                            spriteBatch.Draw(AssetManager.ogreSpriteSheet, new Vector2(player.XPosition, player.YPosition), source,
                                             Color.White, 0f, Vector2.Zero, Game1.SCALE, spritEffect, 1.0f);
                            break;

                        case Library.Player.ClassType.Huntress:
                            spriteBatch.Draw(AssetManager.HuntressSpriteSheet, new Vector2(player.XPosition, player.YPosition), source,
                                             Color.White, 0f, Vector2.Zero, Game1.SCALE, spritEffect, 1.0f);
                            break;

                        case Library.Player.ClassType.TimeTraveler:
                            spriteBatch.Draw(AssetManager.TimeTravelerSpriteSheet, new Vector2(player.XPosition, player.YPosition), source,
                                             Color.White, 0f, Vector2.Zero, Game1.SCALE, spritEffect, 1.0f);
                            break;

                        case Library.Player.ClassType.Knight:
                            spriteBatch.Draw(AssetManager.KnightSpriteSheet, new Vector2(player.XPosition, player.YPosition), source,
                                             Color.White, 0f, Vector2.Zero, Game1.SCALE, spritEffect, 1.0f);
                            break;
                        }

                        spriteBatch.DrawString(AssetManager.CooldownFont, $"{player.Username}", new Vector2(player.XPosition, player.YPosition - 5), Color.White);
                        spriteBatch.DrawString(AssetManager.CooldownFont, $"{player.Health}", new Vector2(player.XPosition, player.YPosition - 20), Color.White);
                    }


                    //spriteBatch.DrawString(font, player.Username, new Vector2(player.XPosition - 10, player.YPosition - 10), Color.Black);
                }
                else
                {
                    if (player.Health > 0)
                    {
                        if (this.player is Wizard)
                        {
                            Wizard tempPlayer = (Wizard)this.player;
                            tempPlayer.Draw(spriteBatch);
                        }
                        else if (this.player is Ogre)
                        {
                            Ogre tempPlayer = (Ogre)this.player;
                            tempPlayer.Draw(spriteBatch);
                        }
                        else if (this.player is Huntress)
                        {
                            Huntress tempPlayer = (Huntress)this.player;
                            tempPlayer.Draw(spriteBatch);
                        }
                        else if (this.player is Knight)
                        {
                            Knight tempPlayer = (Knight)this.player;
                            tempPlayer.Draw(spriteBatch);
                        }
                        else if (this.player is TimeTraveler)
                        {
                            TimeTraveler tempPlayer = (TimeTraveler)this.player;
                            tempPlayer.Draw(spriteBatch);
                        }

                        spriteBatch.DrawString(AssetManager.CooldownFont, $"{networkManager.Username}", new Vector2(player.XPosition, player.YPosition - 5), Color.White);
                        spriteBatch.DrawString(AssetManager.CooldownFont, $"{this.player.Health}", new Vector2(player.XPosition, player.YPosition - 20), Color.White);
                    }
                }
            }
        }