public BarbarianChaseState(BarbarianAnimator anim, EnemyMovement movement, Barbarian barbarian) { enemyAnim = anim; enemyMovement = movement; movementSpeed = enemyMovement.MoveSpeed; this.barbarian = barbarian; }
protected static void MoveReallyFast(float x, float y) { switch (Me.SNOId) { case SNOActorId.Barbarian_Male: case SNOActorId.Barbarian_Female: Barbarian.SprintEverywhere(x, y); break; case SNOActorId.WitchDoctor_Male: case SNOActorId.WitchDoctor_Female: Walk(x, y); break; case SNOActorId.Wizard_Male: case SNOActorId.Wizard_Female: Walk(x, y); break; case SNOActorId.Demonhunter_Male: case SNOActorId.Demonhunter_Female: DemonHunter.MoveSuperFuckingFast(x, y); break; case SNOActorId.Monk_Male: case SNOActorId.Monk_Female: Walk(x, y); break; } }
void Update() { if (!gameInit) { return; } this.curBarbTime += Time.deltaTime; if (this.curBarbTime >= this.barbSpawnTime) { List <GameObject> remainingVillagers = new List <GameObject> (this.VillagerGameObjects.Values); for (int i = 0; i < this.barbsInNextWave; i++) { Vector3 spawnPos = resourceObjects [Random.Range(0, resourceObjects.Count)].transform.position; spawnPos = new Vector3(spawnPos.x + Random.Range(-2.0f, 2.0f), spawnPos.y, spawnPos.z + Random.Range(-2.0f, 2.0f)); GameObject curGO = Instantiate(this.barbarianPrefab, spawnPos, Quaternion.identity) as GameObject; curGO.transform.SetParent(this.transform); Barbarian barb = new Barbarian(); curGO.GetComponent <UnitController> ().SetUnitData(barb, this.BaseGO); int number = 1; // Set attack target if (number == 0) { curGO.GetComponent <UnitController> ().SetNewTargetPosition(this.BaseGO.transform.position, UnitController.ActionMode.ATTACK, this.BaseGO); } else { Vector3 targetPos = Vector3.zero; float latestDist = 1000.0f; GameObject targetVillager = null; foreach (GameObject villager in remainingVillagers) { float curDist = Vector3.Distance(curGO.transform.position, villager.transform.position); if (curDist < latestDist) { targetPos = villager.transform.position; latestDist = curDist; targetVillager = villager; } } if (targetPos == Vector3.zero || targetVillager == null) { return; } else { curGO.GetComponent <UnitController> ().SetNewTargetPosition(targetVillager.transform.position, UnitController.ActionMode.ATTACK, targetVillager); } } } this.barbSpawnTime += 5.0f; this.curBarbTime = 0.0f; this.barbsInNextWave = Random.Range(1, 3); } }
public static void AddBarbarian(Character character) { Barbarian.Base(character); Barbarian.Features(character); Barbarian.Equipment(character); character.Archetype = Barbarian.PathName; }
public void TestMethod1() { Barbarian barbarian = new Barbarian(); Assert.AreEqual(20, barbarian.GetClassAbilitiesTableList().Count); Assert.AreEqual(20, barbarian.ClassDataTableRows().Count); }
private void Update() { transform.localPosition += (direction * speed * Time.deltaTime); cDist = Vector3.Distance(transform.localPosition, targetPos); if (cDist < 0.1f) { //hit FX.Emit(transform.position, transform.rotation, FX.VFX.ShadowBoltHit, 50); Barbarian.FindBarbarian().Damage(10); ParticleSystem ps = GetComponentInChildren <ParticleSystem>(); Transform tr = GetComponentInChildren <TrailRenderer>().transform; ParticleSystem.EmissionModule em = ps.emission; em.enabled = false; tr.SetParent(null, true); ps.transform.SetParent(tr, true); GetComponentInChildren <VLight>().Hide(); Destroy(tr.gameObject, 0.5f); Destroy(gameObject); } }
public void BarbarianSubclassTest() { List <PrimalPath> paths = new List <PrimalPath>() { new BeserkBarbarian(1), new TotemBarbarian(1) }; for (int i = 1; i < 1000; i++) { Barbarian b = new Barbarian(); if (b.Level < 3) { Assert.IsInstanceOf <EmptyBarbarian>(b.primalPath); } else if (b.Level >= 3) { bool isType = false; foreach (PrimalPath p in paths) { if (b.primalPath.GetType() == p.GetType()) { isType = true; } } Assert.IsTrue(isType); } } }
public void TestBaseAttackBonus() { // Arrange Barbarian barbarian = new Barbarian("barbarian"); Monk monk = new Monk("monk"); Wizard wizard = new Wizard("wizard"); barbarian.CharacterLevel = 11; monk.CharacterLevel = 6; wizard.CharacterLevel = 20; double[] barbarianTemplate = { 11, 6, 1, 0 }; double[] monkTemplate = { 4, 0, 0, 0 }; double[] wizardTemplate = { 10, 5, 0, 0 }; // Act barbarian.CalculateBaseAttackBonus(); monk.CalculateBaseAttackBonus(); wizard.CalculateBaseAttackBonus(); // Assert Assert.Equal(barbarianTemplate, barbarian.BaseAttackBonus); Assert.Equal(monkTemplate, monk.BaseAttackBonus); Assert.Equal(wizardTemplate, wizard.BaseAttackBonus); }
public Special Trap_Sense(Barbarian barbarian) { int bonus = barbarian.Level / 3; Name = "Trap Sense +" + bonus; Description = "At 3rd level, a barbarian gains a +1 bonus on Reflex saves made to avoid traps and a +1 dodge bonus to armor class against attacks made by traps. These bonuses increase by +1 every three barbarian levels thereafter (6th, 9th, 12th, 15th, and 18th level). Trap sense bonuses gained from multiple classes stack."; return(this); }
private static string[] getSubClassDnD(CLASSES C, int lv) { string[] Sub = new string[20];// may need to change temp size if (C == BARBARIAN) { Sub = Barbarian.getDnD(lv); } else if (C == BARD) { Sub = Bard.getDnD(); } else if (C == CLERIC) { Sub = Cleric.getDnD(D5Core); } else if (C == DRUID) { Sub = Druid.getDnD(D5Core); } else if (C == FIGHTER) { Sub = Fighter.getDnD(D5Core, lv); } else if (C == MONK) { Sub = Monk.getDnD(D5Core, lv); } else if (C == PALADIN) { Sub = Paladin.getDnD(D5Core); } else if (C == RANGER) { Sub = Ranger.getDnD(D5Core, lv); } else if (C == ROGUE) { Sub = Rogue.getDnD(D5Core); } else if (C == SORCERER) { Sub = Sorcerer.getDnD(D5Core, lv); } else if (C == WARLOCK) { Sub = Warlock.getDnD(D5Core, lv); } else if (C == WIZARD) { Sub = Wizard.getDnD(D5Core); } Sub = Vars.shorten <string>(Sub); return(Sub); }
public Special Damage_Reduction(Character character, Barbarian barbarian) { int bonus = (barbarian.Level - 7) / 3 + 1; Name = "Damage Reduction " + bonus + "/-"; Description = "At 7th level, a barbarian gains damage reduction. Subtract 1 from the damage the barbarian takes each time she is dealt damage from a weapon or a natural attack. At 10th level, and every three barbarian levels thereafter (13th, 16th, and 19th level), this damage reduction rises by 1 point. Damage reduction can reduce damage to 0 but not below 0."; //set up functionality (DR on character) return(this); }
public static Barbarian FindBarbarian() { if (barbarian == null) { barbarian = (Barbarian)FindObjectOfType <Barbarian>(); } return(barbarian); }
public Special Rage_Powers(Barbarian barbarian) { Name = "Rage Powers"; Description = "As a barbarian gains levels, she learns to use her rage in new ways. Starting at 2nd level, a barbarian gains a rage power. She gains another rage power for every two levels of barbarian attained after 2nd level. A barbarian gains the benefits of rage powers only while raging, and some of these powers require the barbarian to take an action first. Unless otherwise noted, a barbarian cannot select an individual power more than once." + "\n\n" + "Any barbarian who meets the powers’ prerequisites can select and use rage powers. Totem rage powers grant powers related to a theme. A barbarian cannot select from more than one group of totem rage powers; for example, a barbarian who selects a beast totem rage power cannot later choose to gain any of the dragon totem rage powers (any rage power with “dragon totem” in its title)."; //set up functionality return(this); }
private void Initialize() { map = Map.FindMap(); barbarian = Barbarian.FindBarbarian(); anim = GetComponent <AnimatedObject>(); anim.Initialize(); anim.PlayAnimation("Slime_Idle"); value = 3; }
public void Attack_WhenGivenAMonster_ShouldHitMonsterWithHisWeapon() { // Arrange var barbarian = new Barbarian {Name = "Conan", Weapon = new Weapon {Name = "Sword", Damage = 1.5}, HitPoints = 150}; var monster = new Monster {Name = "Goblin", HitPoints = 10}; // Act string description = barbarian.Attack(monster); // Assert Assert.That(description, Is.StringContaining("Conan swings his Sword and hits the Goblin in strength. Goblin loses")); }
// Start is called before the first frame update void Start() { // init players // TODO get players from player select scene, for now hard coded to 2 players and 2 enemies players = new List <PlayerClassBase>(); for (int i = 1; i < Meta.CURRENTPLAYERS + 1; i++) { PlayerClassBase player = new Barbarian($"{i}", statusPrefab); // todo this loop stupid, there are other classes (soon) player.Init(); players.Add(player); } // set turn order // TODO for now just all players then all enemies currentPlayer = players[0]; currentTurn = new Tuple <string, int>(PLAYERS, 0); // access with currentTurn.Item1 and currentTurn.Item2 Debug.Log($"Current player is {currentTurn.Item2}"); phaseIndex = 0; // init enemies TODO make dynamic enemies = new List <EnemyBase>(); EnemyBase e1 = new Bandit("1"); enemies.Add(e1); enemies[0].Init(); EnemyBase e2 = new Bandit("2"); enemies.Add(e2); enemies[1].Init(); SetupUi(); lookCard = 0; deselectedY = hand1.transform.position.y; selectedY = deselectedY + cardLift; last_select = Time.time; last_play = Time.time; for (int i = 0; i < Meta.MAX_HAND_SIZE; i++) { // find the card, set it inactive GameObject hcard = GameObject.Find($"Hand{i + 1}"); GameObject hcd = hcard.transform.Find("CardDesc").gameObject; hcd.GetComponent <MeshRenderer>().enabled = false; GameObject hcn = hcard.transform.Find("CardName").gameObject; hcn.GetComponent <MeshRenderer>().enabled = false; GameObject hcc = hcard.transform.Find("CardCost").gameObject; hcc.GetComponent <MeshRenderer>().enabled = false; hcard.GetComponent <Renderer>().enabled = false; } }
public void validateLevel2(Barbarian barb) { if (barb.Level < 2) { Assert.IsFalse(barb.DangerSense); validateLevel1(barb); return; } Assert.IsTrue(barb.UnarmoredDefense); Assert.IsTrue(barb.RecklessAttack); }
private void generateClass() { int randomNumber = NumberGen.gen(12); if (randomNumber == 0) { characterClass = new Barbarian(); } else if (randomNumber == 1) { characterClass = new Bard(); } else if (randomNumber == 2) { characterClass = new Cleric(); } else if (randomNumber == 3) { characterClass = new Druid(); } else if (randomNumber == 4) { characterClass = new Fighter(); } else if (randomNumber == 5) { characterClass = new Monk(); } else if (randomNumber == 6) { characterClass = new Paladin(); } else if (randomNumber == 7) { characterClass = new Ranger(); } else if (randomNumber == 8) { characterClass = new Rogue(); } else if (randomNumber == 9) { characterClass = new Sorcerer(); } else if (randomNumber == 10) { characterClass = new Warlock(); } else if (randomNumber == 11) { characterClass = new Wizard(); } }
public void BarbarianConstructorTest() { var barb = new Barbarian(); for (int i = 0; i < 100000; i++) { barb = new Barbarian(); Assert.AreEqual("", validateCharacter(barb)); Assert.AreEqual("", validateHero(barb, "StrSave", "ConSave")); validateLevel20(barb); } }
public string AddHero(IList <string> arguments) { string heroName = arguments[0]; string heroTypeName = arguments[1]; IHero hero = new Barbarian(heroName); this.heroes.Add(heroTypeName, hero); string result = string.Format(Constants.HeroCreateMessage, hero.GetType().Name, hero.Name);; return(result); }
void Start() { // Initialize all static classes here. FX.Initialize(); map = Map.FindMap(); //map.Generate(false); barbarian = FindObjectOfType <Barbarian>(); enemies = map.Enemies(); //GameObject go = MeshGenerator.GenerateCube(1, 1, 1, 3, c1, c2); //GameObject go2 = MeshGenerator.GenerateCube(1, 1, 1, 4, c1, c2); }
/// <summary> /// När man trycker A på Xbox-kontrollen så väljer man den nuvarande gubben man bläddrat till, trycker man B så ångrar man sitt val. /// Om den användaren som har kontroll nummer 1 trycker på B så går spelet tillbaka till huvudmenyn. /// </summary> private void SelectingCharacter() { for (int i = 0; i < nrOfPlayers; i++) { if (controllerArray[i].ButtonPressed(Buttons.A) && selectingCharacter[i] && !characterChosen[i]) { if (currentCharacter[i] == 0) { PlayerArray[i] = new Knight(TextureBank.playerTextureList[0], new Vector2(100 * i + 100, 200), i, controllerArray[i]); } else if (currentCharacter[i] == 1) { PlayerArray[i] = new Barbarian(TextureBank.playerTextureList[1], new Vector2(100 * i + 100, 200), i, controllerArray[i]); } else if (currentCharacter[i] == 2) { PlayerArray[i] = new Druid(TextureBank.playerTextureList[2], new Vector2(100 * i + 100, 200), i, controllerArray[i]); } else if (currentCharacter[i] == 3) { PlayerArray[i] = new Ranger(TextureBank.playerTextureList[3], new Vector2(100 * i + 100, 200), i, controllerArray[i]); } characterChosen[i] = true; readyPlayers++; } if (controllerArray[i].ButtonPressed(Buttons.B) && characterChosen[i]) { characterChosen[i] = false; readyPlayers--; justPressed = true; } else if (controllerArray[0].ButtonPressed(Buttons.B) && selectingCharacter[0] && !justPressed) { for (int j = 0; j < nrOfPlayers; j++) { characterChosen[j] = false; currentCharacter[j] = 0; readyPlayers = 0; } GameManager.currentState = GameState.MainMenu; } } }
public void CreatePlayerClass(string playerClass) { switch (playerClass) { case "Barbarian": PlayerClass = new Barbarian(); break; case "Bard": PlayerClass = new Bard(); break; case "Cleric": PlayerClass = new Cleric(); break; case "Druid": PlayerClass = new Druid(); break; case "Fighter": PlayerClass = new Fighter(); break; case "Monk": PlayerClass = new Monk(); break; case "Paladin": PlayerClass = new Paladin(); break; case "Ranger": PlayerClass = new Ranger(); break; case "Rogue": PlayerClass = new Rogue(); break; case "Sorcerer": PlayerClass = new Sorcerer(); break; case "Wizard": PlayerClass = new Wizard(); break; } }
public void getRageDamageTest() { Barbarian b = new Barbarian(); int Expected = 2; for (int i = 1; i < 21; i++) { b.Level = i; if (b.Level == 9 || b.Level == 16) { Expected++; } Assert.AreEqual(Expected, b.getRageDamage()); } }
public void AttributeBonusTest() { Barbarian b = new Barbarian(); int ExpectedAttributeBonus = -6; for (int i = 0; i < 31; i++) { if (i % 2 == 0) { ExpectedAttributeBonus++; } int bonus = b.calculateAttributeBonus(i); Assert.AreEqual(ExpectedAttributeBonus, bonus); } }
public void validateLevel7(Barbarian barb) { if (barb.Level < 7) { Assert.IsFalse(barb.FeralInstinct); validateLevel5(barb); return; } Assert.IsTrue(barb.UnarmoredDefense); Assert.IsTrue(barb.RecklessAttack); Assert.IsTrue(barb.DangerSense); Assert.IsTrue(barb.PrimalPath); Assert.IsTrue(barb.ExtraAttack); Assert.IsTrue(barb.FastMovement); Assert.IsTrue(barb.FeralInstinct); }
/// <summary> /// Saves all the tabs at once /// </summary> public void SaveAll() { Save(); Barbarian.Save(); Crusader.Save(); DemonHunter.Save(); Monk.Save(); WitchDoctor.Save(); Wizard.Save(); Debug.Save(); Avoidance.Save(); Kiting.Save(); Log.Info("Saved All Settings"); }
public void validateLevel11(Barbarian barb) { if (barb.Level < 11) { Assert.IsFalse(barb.RelentlessRage); validateLevel9(barb); return; } Assert.IsTrue(barb.UnarmoredDefense); Assert.IsTrue(barb.RecklessAttack); Assert.IsTrue(barb.DangerSense); Assert.IsTrue(barb.PrimalPath); Assert.IsTrue(barb.ExtraAttack); Assert.IsTrue(barb.FastMovement); Assert.IsTrue(barb.FeralInstinct); Assert.IsTrue(barb.BrutalCritical); Assert.IsTrue(barb.RelentlessRage); }
public void calculateRagesTest() { Barbarian b = new Barbarian(); int rages = 2; for (int i = 1; i < 21; i++) { b.Level = i; int expected = b.calculateRages(); if (i == 3 || i == 6 || i == 12 || i == 16 || i == 20) { rages++; } if (b.Level == 20) { rages = 1000; } Assert.AreEqual(rages, b.calculateRages()); } }
public void Setup() { _input = new MockInput(); _output = new MockOutput(); _menuManager = new TestMenuManager(_input, _output); _chanceService = new MockChanceService(); _battleManager = new TestBattleManager(_chanceService, _input, _output); TestFighterFactory.SetChanceService(_chanceService); _barbarian = (Barbarian)FighterFactory.GetFighter(FighterType.Barbarian, 1); _enemyTeam = new Team(_menuManager, _barbarian); _hero = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1, "Hero"); _sidekick = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1, "SideKick"); _humanTeam = new TestTeam(new List <HumanFighter> { _hero, _sidekick }); }
private IEnumerator MoveMap(float time) { Vector3 end = Vector3.zero; float t = 0.0f; float d = Vector3.Distance(transform.localPosition, end); while (t < time) { float delta = (d * Time.deltaTime) / time; transform.localPosition = Vector3.MoveTowards(transform.localPosition, end, delta); t += Time.deltaTime; yield return(null); } transform.localPosition = end; Barbarian.FindBarbarian().StartLevel(); }