public string GenerateMonster(string name) { string message; if (monster != null && !monster.isDead()) { message = $"There is already a {monster.name} here."; } else { var generateSuccessful = false; switch (name) { case "gremlin": monster = MonsterFactory.GenerateGremlin(); generateSuccessful = true; break; } if (generateSuccessful) { message = $"Generate successful. There is now a {monster.name} here."; } else { message = "Generate unsuccessful. Try again."; } } return(message); }
public static string Defend(SimpleMonster monster) { int damage; int weaponDamage; string message = $"The {monster.name} misses you with its attack."; damage = DiceRoller.getDamage(); if (damage > 0) { weaponDamage = damage * monster.getStrength(); Game.Player.takeDamage(weaponDamage); message = $"The {monster.name} hit you for {weaponDamage} damage.";; } return(message); }
public static string Attack(SimpleMonster monster) { int damage; int weaponDamage; string message = $"You miss the {monster.name} with your attack."; damage = DiceRoller.getDamage(); if (damage > 0) { weaponDamage = damage * Game.Player.getDamageModifier(); List <DamageType> damageTypes = Game.Player.getDamageTypes(); int damageDealt = monster.takeDamage(weaponDamage, damageTypes); message = $"You hit the {monster.name} for {damageDealt} damage."; } return(message); }
public override Monster Build(Level level, MonsterType monsterType = MonsterType.Normal) { var monster = new SimpleMonster(); var dropFactory = DropService.Standard; var monsterStatsBalance = MonsterStatsBalance.Get(monsterType); monster.Level = level.Normal; monster.Damage = monsterStatsBalance.GetDefaultDPS(level.Normal); monster.Accuracy = monsterStatsBalance.GetDefaultAccuracy(level.Normal); monster.Evasion = monsterStatsBalance.GetDefaultEvasion(level.Normal); monster.MaxHealth = monsterStatsBalance.GetDefaultHealth(level.Normal); monster.Health = monster.MaxHealth; monster.DroppedItems = dropFactory.Build(level.Normal, monsterStatsBalance.GetDefaultDropValue(level.Normal)); monster.MonsterType = monsterType; monster.Skills.DefaultSkill = new AutoAttackSkill { Cooldown = 0.3, CastingTime = 0.7 }; if (monsterType == MonsterType.Boss && level.Normal > 50) { var skillsCount = 1; if (level.Normal > 80) { skillsCount++; } if (level.Normal > 110) { skillsCount++; } _possibleBossActiveSkills.TakeRandom(skillsCount) .ToList() .ForEach(s => monster.Skills.ActiveSkills.Add(s)); } monster.SkillService = new MonsterSkillController(monster, monster.Skills); monster.EffectService = new EffectService(monster, monster.Effects); return(monster); }
// Use this for initialization void Start() { currentPhase = CombatPhases.PLAYERMOVE; battleStarterScript = GameObject.FindGameObjectWithTag("BattleStarter").GetComponent<BattleStarterScript>(); player = battleStarterScript.playerMonsters[0]; opponent = battleStarterScript.opponent.monsters[0]; playerHp.text = "HP: " + player.health; opponentHp.text = "HP: " + opponent.health; Instantiate(snake, new Vector3(4f, 2f, 0f), Quaternion.identity); Instantiate(bigSnake, new Vector3(-4f, -3f, 0f), bigSnake.transform.rotation); }
void Awake() { bStarter = battleStarter; staticNpcPrefab = npcPrefab; PlayerData data = DataScript.Load(); Debug.Log(data.name); name = data.name; if(data.name.Equals("uninitialized")){ items = new List<SimpleItem>(); playersMonsters = new List<SimpleMonster>(); SimpleMonster monster = new SimpleMonster(); monster.name = "Snake"; monster.level = 10; monster.totalExp = 10000; monster.moves = new List<SimpleMove>(); monster.status = "OK"; monster.type = "snake"; monster.health = 100; monster.id = 1; SimpleMove move = new SimpleMove(); move.name = "Bite"; move.baseAttack = 10; move.accuracy = 95; move.id = 1; move.type = "snake"; monster.moves.Add (move); playersMonsters.Add(monster); SimpleBattleNpc bNpc = new SimpleBattleNpc(); bNpc.finishBattleText = "You suck!"; bNpc.moneyGiven = 10; bNpc.monsters = new List<SimpleMonster>(); monster = new SimpleMonster(); monster.name = "Snake"; monster.level = 10; monster.totalExp = 10000; monster.moves = new List<SimpleMove>(); monster.status = "OK"; monster.type = "snake"; monster.health = 100; monster.id = 1; move = new SimpleMove(); move.name = "Bite"; move.baseAttack = 10; move.accuracy = 95; move.id = 1; move.type = "snake"; monster.moves.Add (move); bNpc.monsters.Add(monster); bNpc.name = "Ben Call"; bNpc.id = 1; bNpc.xPos = 3f; bNpc.yPos = 3f; simpleBattleNpcs = new List<SimpleBattleNpc>(); simpleBattleNpcs.Add(bNpc); SimpleItem item = new SimpleItem(); item.buyCost = 100; item.name = "Potion"; item.sellCost = 50; items.Add(item); SimpleNPC npc = new SimpleNPC(); npc.name = "Ben Smith"; npc.conversationText = "Felgergarb"; npc.xPos = 1.0f; npc.yPos = 10.0f; simpleNPCs = new List<SimpleNPC>(); simpleNPCs.Add(npc); money = 100; playerStartPosX = 0f; playerStartPosY = 0f; data.name = "Joseph"; data.items = items; data.simpleNpcs = simpleNPCs; DataScript.Save (data); } Debug.Log (data.money); foreach(SimpleItem item in data.items){ Debug.Log (item.name); } foreach(SimpleNPC npc in data.simpleNpcs){ Debug.Log (npc.name); } data.name = "uninitialized"; DataScript.Save (data); }