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 }
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; }
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(); }
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); } } }
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); } } } }