private void ChaseTarget() { //float distance = Vector2.Distance(gameObject.transform.position, target.position); pirate.AddForce(direction * 5); pirate.velocity = ClampVelocity(pirate.velocity); randomAction action = rand.GetRandomValue(); if (action.toDoAction.Equals((Action)Fire) && action.isDone) { doAction += action.toDoAction; StartCoroutine(RemoveAction(action)); } }
public static QuestInstance GenerateQuestInstance(QuestSourceTypes forcedType) { int questDuration = m_QuestDurationChoser.GetRandomValue(); int itemRewardChance; IQuestReward additionalReward = null; IQuestSource qSource; switch (forcedType) { default: case QuestSourceTypes.FACTION: qSource = ReputationManager.GetRandomFaction(); QuestSourceFaction factionSource = qSource as QuestSourceFaction; itemRewardChance = 25; if (Random.Range(0, daysSinceHeroRecruit) == 0) { additionalReward = new QuestRewardHero(factionSource); daysSinceHeroRecruit = Random.Range(10, 20); } else if (Random.Range(0, daysSinceFactionRecruit) == 0) { additionalReward = new QuestRewardFaction(factionSource.AverageHeroLevel + Random.Range(3, 6)); daysSinceFactionRecruit = Random.Range(25, 35); } daysSinceHeroRecruit--; daysSinceFactionRecruit--; break; case QuestSourceTypes.PERSON: qSource = ReputationGenerator.GenerateReputationInstance(new QuestSourcePerson(EnumUtility.GetRandomEnumValue <ReputationBiases>())); itemRewardChance = 5; break; case QuestSourceTypes.RUMOR: qSource = ReputationGenerator.GenerateReputationInstance(new QuestSourceRumor()); itemRewardChance = 15; break; } QuestInstance quest = GenerateQuestInstance(qSource, questDuration); quest.AdditionalReward = additionalReward; quest.PartySize = m_PartySizeChoser.GetRandomValue(); if (Random.Range(0, itemRewardChance) == 0) { GameItem itemReward = GameItemGenerator.GenerateItem(GameItemTypes.UNKNOWN, GetItemRarityForDifficulty(quest.DifficultyLevel)); quest.HandlerItemReward = new QuestRewardItem(itemReward); } return(quest); }
private static void NextDay() { int questCount = m_QuestAmountChoser.GetRandomValue() * Mathf.Clamp(HeroManager.GetHeroCount() / 5, 1, 2); for (int i = 0; i < questCount; i++) { bool forceFactionQuest = i <= questCount / 3; QuestInstance newQuest; if (forceFactionQuest) { newQuest = QuestGenerator.GenerateQuestInstance(QuestSourceTypes.FACTION); } else { newQuest = QuestGenerator.GenerateQuestInstance(); } Requests.Add(newQuest); } QuestGenerator.daysSinceHeroRecruit = Mathf.Clamp(QuestGenerator.daysSinceHeroRecruit - 1, 0, int.MaxValue); }
public static string GetHeroName() { string[] firstNameSyllables = new string[] { "gar", "lal", "has", "fo", "sin", "nor", "dar", "khe", "gro", "bun", "dag", "kan", "orn", "gog", "san", "ug", "don", "aen", "an", "wil", "hel", "oli", "rae", "lyn", "tha", "aga", "gen", "ne", "ai", "ka", "in", "jar", "ym", "lus", "yl", "cid", "fed", "va", "mo", "ka", "ys", "ne", "ro", "dan", "te", "cho", "cha", "en", "gal", "ill", "id", "art", "has", "tryn", "myr", "mae", "as", "te", "ra", "es", "ta", "he", "to", "sko", "ke", "na", "sa", "se", "po", "pa", "mar", "ia", "amy", "eb", "rie", "tas", "dju", "ra", "gas", "coi", "gne", "lau", "ren", "ce", "lud", "wig", "lo", "ga", "mi", "co", "lash", "ame", "lia", "lea", "an", "ie", "ed", "ward" }; string[] surNameSyllables = new string[] { "sein", "lath", "runn", "than", "frun", "stam", "tarl", "rugg", "glath", "sten", "naeg", "sith", "joth", "thus", "hago", "osho", "gohe", "thel", "ebli", "anoz", "kiz", "gomi", "gehr", "lush", "ota", "olda", "vol" }; string[] surNameEndings = new string[] { "man", "son", "holm", "hall", "ham", "ston", "sey", "ford", "ton", "ley", "don", "den", "say", "lowe", "cett", "lin", "tun", "lyn", "dra", "dulm", "dil", "mor", "ian", "zin", "dral", "nar", "er", "ysh", "shel", "rus", "lix", "eth", "dras" }; string firstName = ""; string surName = ""; int firstNameSyllableCount = m_HeroNameFirstNameLenghts.GetRandomValue(); for (int i = 0; i < firstNameSyllableCount; i++) { firstName += firstNameSyllables[Random.Range(0, firstNameSyllables.Length)]; if (Random.Range(0, 15) == 0 && i != firstNameSyllableCount - 1) { if (Random.Range(0, 2) == 0) { firstName += "'"; } else { firstName += "-"; } } } int surNameSyllableCount = m_HeroNameSurNameLenghts.GetRandomValue(); for (int i = 0; i < surNameSyllableCount; i++) { if (i == surNameSyllableCount - 1) { surName += surNameEndings[Random.Range(0, surNameEndings.Length)]; } else { surName += surNameSyllables[Random.Range(0, surNameSyllables.Length)]; } if (Random.Range(0, 15) == 0 && i != surNameSyllableCount - 1) { surName += "'"; } } Random.InitState((int)Time.time + firstName.GetHashCode() + surName.GetHashCode()); return(firstName.ToCamelCase() + " " + surName.ToCamelCase()); }
public static QuestInstance GenerateQuestInstance() { return(GenerateQuestInstance(m_QuestSourceChoser.GetRandomValue())); }