/// <summary> /// Removes the selected language from the known languages ListBox, replacing back into the learnable languages ListBox, if the language is removeable /// </summary> /// <param name="index">The index value of the language</param> public void RemoveKnownLanguage(int index) { ListBox knownLanguages = _knownLanguages.GetComponent <ListBox>(); ListBox learnableLanguages = _learnableLanguages.GetComponent <ListBox>(); ListItem listItem = knownLanguages.GetListItem(index); if (listItem.IsRemoveable) { ListBox.MoveItem(index, knownLanguages, learnableLanguages, true); } // TODO: The following code prevents more bonus languages been added than should be, needs moving/refactoring RaceBase characterRace = GetCharacterRace(); int initialLanguages = characterRace.KnownLanguages.Count; int addedLanguages = knownLanguages.Options.Count - initialLanguages; int intelligenceModifier = ParseAbilityModifier(typeof(Intelligence)); // all bonus languages have been added if (addedLanguages < intelligenceModifier) { // set all learnable languages to IsRemoveable = true foreach (Transform option in learnableLanguages.content.transform) { listItem = option.GetComponent <ListItem>(); listItem.IsRemoveable = true; } } }
public void Treat(RaceBase race) { int hp = (100 - race.Health) / 2; race.Health += hp; Console.WriteLine("\n" + race.GetType().Name.ToString() + ": Restores health = " + hp + " hp"); }
/// <summary> /// Returns the selected character race /// </summary> /// <returns>A character race corresponding to the race selection</returns> private RaceBase GetCharacterRace() { Dropdown.OptionData optionData = GetSelectedDropdownOption(_characterRace); RaceBase characterRace = CharacterCreator.FindCharacterRace(optionData.text); return(characterRace); }
public TemplateChecker(StatBlockMessageWrapper _messageXML, MonSBSearch _monSBSearch, RaceBase Race_Base, MonsterStatBlock MonSB, ClassMaster CharacterClasses) { this._messageXML = _messageXML; this._monSBSearch = _monSBSearch; this.Race_Base = Race_Base; this.MonSB = MonSB; this.CharacterClasses = CharacterClasses; }
public void Ressurect(RaceBase race) { if (race.Health <= 0) { race.Health = 100; Console.WriteLine(race.GetType().Name.ToString() + ": I'm alive again! (100 hp)"); } }
/// <summary> /// Create Minion /// </summary> /// private NPCBase(Gender gender, RaceBase race, Class.AgentClassBase @class, string name, NPCBase Leader) : this(Leader.World, gender, race, @class, name, 0, 0) { if (Leader.PartyMembers == null) { Leader.PartyMembers = new List <NPCBase>(); } IsPartyMember = true; Leader.PartyMembers.Add(this); /// DA DA DA DA! X joined y's party :p }
/// <summary> /// Event handler for character race selection /// </summary> public void SelectedRaceChanged() { RaceBase characterRace = GetCharacterRace(); UpdateRacialAbilityModifiers(characterRace); UpdateAbilityModifiers(); UpdateKnownLanguages(); UpdateLearnableLanguages(); }
/// <summary> /// Updates the content of the learnable languages listbox for the currently selected character race /// </summary> private void UpdateLearnableLanguages() { RaceBase characterRace = GetCharacterRace(); List <Dropdown.OptionData> options = GetOptionData(characterRace.LearnableLanguages); ListBox learnableLanguages = _learnableLanguages.GetComponent <ListBox>(); learnableLanguages.ClearOptions(); learnableLanguages.AddOptions(options, true); }
// TODO: CharacterRace is being used at least twice now, it would be more efficient to store the // selection in a local variable or start to build an object to hold the values than retrieve // them each time they are required. /// <summary> /// Updates the content of the known languages listbox for the currently selected character race /// </summary> private void UpdateKnownLanguages() { RaceBase characterRace = GetCharacterRace(); List <Dropdown.OptionData> options = GetOptionData(characterRace.KnownLanguages); ListBox knownLanguages = _knownLanguages.GetComponent <ListBox>(); knownLanguages.ClearOptions(); knownLanguages.AddOptions(options, false); }
public SavesChecker(ClassMaster CharacterClasses, IndividualStatBlock_Combat _indvSB, RaceBase Race_Base, List <MagicItemAbilitiesWrapper> MagicItemAbilities, MonSBSearch _monSBSearch, MonsterStatBlock MonSB, AbilityScores.AbilityScores _abilityScores, StatBlockMessageWrapper _messageXML) { this.MagicItemAbilities = MagicItemAbilities; this.CharacterClasses = CharacterClasses; this._indvSB = _indvSB; this.Race_Base = Race_Base; this._monSBSearch = _monSBSearch; this.MonSB = MonSB; this._messageXML = _messageXML; this._abilityScores = _abilityScores; }
/// <summary> /// Enables or disables the learnable languages listbox /// </summary> private void ToggleLearnableLanguages() { RaceBase characterRace = GetCharacterRace(); int modifier = ParseAbilityModifier(typeof(Intelligence)); if (modifier > 0 && characterRace) { _learnableLanguagesContainer.SetActive(true); } else { _learnableLanguagesContainer.SetActive(false); } }
/// <summary> /// Initialises the character /// </summary> /// <param name="strength">The character's strength ability's base score</param> /// <param name="dexterity">The character's dexterity ability's base score</param> /// <param name="constitution">The character's constitution ability's base score</param> /// <param name="intelligence">The character's intelligence ability's base score</param> /// <param name="wisdom">The character's wisdom ability's base score</param> /// <param name="charisma">The character's charisma ability's base score</param> /// <param name="strengthModifier">The character's strength modifier</param> /// <param name="dexterityModifier">The character's dexterity modifier</param> /// <param name="constitutionModifier">The character's constitution modifier</param> /// <param name="intelligenceModifier">The character's intelligence modifier</param> /// <param name="wisdomModifier">The character's wisdom modifier</param> /// <param name="charismaModifier">The character's charisma modifier</param> /// <param name="characterRace">The character's race</param> /// <param name="knownLanguages">The character's known languages</param> /// <param name="favouredClass">The character's favoured class</param> /// <param name="experience">The character's experience</param> private void Initialise ( int strength, int dexterity, int constitution, int intelligence, int wisdom, int charisma, int strengthModifier, int dexterityModifier, int constitutionModifier, int intelligenceModifier, int wisdomModifier, int charismaModifier, RaceBase characterRace, List <Language> knownLanguages, ClassBase favouredClass, int experience ) { _baseStrength = strength; _baseDexterity = dexterity; _baseConstitution = constitution; _baseIntelligence = intelligence; _baseWisdom = wisdom; _baseCharisma = charisma; _modifiedStrength = _baseStrength; _modifiedDexterity = _baseDexterity; _modifiedConstitution = _baseConstitution; _modifiedIntelligence = _baseIntelligence; _modifiedWisdom = _baseWisdom; _modifiedCharisma = _baseCharisma; _strengthModifier = strengthModifier; _dexterityModifier = dexterityModifier; _constitutionModifier = constitutionModifier; _intelligenceModifier = intelligenceModifier; _wisdomModifier = wisdomModifier; _charismaModifier = charismaModifier; _characterRace = characterRace; _knownLanguages = knownLanguages; _favouredClass = favouredClass; _experience = experience; CalculateHealth(); }
/// <summary> /// Initialises a new instance of the <see cref="Character" /> class /// </summary> /// <param name="strength">The character's base strength ability</param> /// <param name="dexterity">The character's base dexterity ability</param> /// <param name="constitution">The character's base constitution ability</param> /// <param name="intelligence">The character's base intelligence ability</param> /// <param name="wisdom">The character's base wisdom ability</param> /// <param name="charisma">The character's base charisma ability</param> /// <param name="strengthModifier">The character's strength modifier</param> /// <param name="dexterityModifier">The character's dexterity modifier</param> /// <param name="constitutionModifier">The character's constitution modifier</param> /// <param name="intelligenceModifier">The character's intelligence modifier</param> /// <param name="wisdomModifier">The character's wisdom modifier</param> /// <param name="charismaModifier">The character's charisma modifier</param> /// <param name="characterRace">The character's race</param> /// <param name="knownLanguages">The character's known languages</param> /// <param name="favouredClass">The character's favoured class</param> /// <param name="experience">The character's experience</param> /// <param name="hitDie">The character's hit die</param> /// <param name="health">The character's base health</param> /// <returns>Character</returns> public static Character CreateInstance ( int strength, int dexterity, int constitution, int intelligence, int wisdom, int charisma, int strengthModifier, int dexterityModifier, int constitutionModifier, int intelligenceModifier, int wisdomModifier, int charismaModifier, RaceBase characterRace, List <Language> knownLanguages, ClassBase favouredClass, int experience ) { Character character = ScriptableObject.CreateInstance <Character>(); character.Initialise ( strength, dexterity, constitution, intelligence, wisdom, charisma, strengthModifier, dexterityModifier, constitutionModifier, intelligenceModifier, wisdomModifier, charismaModifier, characterRace, knownLanguages, favouredClass, experience ); return(character); }
/// <summary> /// Event handler for character creation /// </summary> public void CreateCharacter() { int baseStrength = CalculateBaseAbility(typeof(Strength)); int baseDexterity = CalculateBaseAbility(typeof(Dexterity)); int baseConstitution = CalculateBaseAbility(typeof(Constitution)); int baseIntelligence = CalculateBaseAbility(typeof(Intelligence)); int baseWisdom = CalculateBaseAbility(typeof(Wisdom)); int baseCharisma = CalculateBaseAbility(typeof(Charisma)); int strengthModifier = ParseAbilityModifier(typeof(Strength)); int dexterityModifier = ParseAbilityModifier(typeof(Dexterity)); int constitutionModifier = ParseAbilityModifier(typeof(Constitution)); int intelligenceModifier = ParseAbilityModifier(typeof(Intelligence)); int wisdomModifier = ParseAbilityModifier(typeof(Wisdom)); int charismaModifier = ParseAbilityModifier(typeof(Charisma)); RaceBase characterRace = GetCharacterRace(); List <Language> bonusLanguages = GetBonusLanguages(); ClassBase characterClass = GetCharacterClass(); int experience = ParseAttribute(typeof(Experience)); Character character = CharacterCreator.Create ( baseStrength, baseDexterity, baseConstitution, baseIntelligence, baseWisdom, baseCharisma, strengthModifier, dexterityModifier, constitutionModifier, intelligenceModifier, wisdomModifier, charismaModifier, characterRace, bonusLanguages, characterClass, experience ); // TODO: Temporary Player player = GameObject.FindObjectOfType <Player>(); player.character = character; }
/// <summary> /// Initialises a new instance of the <see cref="Character" /> class /// </summary> /// <param name="strength">The character's base strength ability</param> /// <param name="dexterity">The character's base dexterity ability</param> /// <param name="constitution">The character's base constitution ability</param> /// <param name="intelligence">The character's base intelligence ability</param> /// <param name="wisdom">The character's base wisdom ability</param> /// <param name="charisma">The character's base charisma ability</param> /// <param name="strengthModifier">The character's strength modifier</param> /// <param name="dexterityModifier">The character's dexterity modifier</param> /// <param name="constitutionModifier">The character's constitution modifier</param> /// <param name="intelligenceModifier">The character's intelligence modifier</param> /// <param name="wisdomModifier">The character's wisdom modifier</param> /// <param name="charismaModifier">The character's charisma modifier</param> /// <param name="characterRace">The character's race</param> /// <param name="bonusLanguages">The character's chosen bonus languages</param> /// <param name="characterClass">The character's class</param> /// <param name="experience">The character's experience</param> /// <returns>Character</returns> public static Character Create ( int strength, int dexterity, int constitution, int intelligence, int wisdom, int charisma, int strengthModifier, int dexterityModifier, int constitutionModifier, int intelligenceModifier, int wisdomModifier, int charismaModifier, RaceBase characterRace, List <Language> bonusLanguages, ClassBase characterClass, int experience ) { Character character = Character.CreateInstance ( strength, dexterity, constitution, intelligence, wisdom, charisma, strengthModifier, dexterityModifier, constitutionModifier, intelligenceModifier, wisdomModifier, charismaModifier, characterRace, bonusLanguages, characterClass, experience ); return(character); }
/// <summary> /// Updates the racial ability modifiers for the selected race /// </summary> /// <param name="characterRace">The character race</param> private void UpdateRacialAbilityModifiers(RaceBase characterRace) { ClearRacialAbilityModifiers(); if (characterRace.AbilityModifiers.Count == 0) { EnableRacialModifierSelection(); } else { DisableRacialModifierSelection(); UpdateRacialAbilityModifier(_strengthRacialModifier, characterRace.GetModifier <Strength>()); UpdateRacialAbilityModifier(_dexterityRacialModifier, characterRace.GetModifier <Dexterity>()); UpdateRacialAbilityModifier(_constitutionRacialModifier, characterRace.GetModifier <Constitution>()); UpdateRacialAbilityModifier(_intelligenceRacialModifier, characterRace.GetModifier <Intelligence>()); UpdateRacialAbilityModifier(_wisdomRacialModifier, characterRace.GetModifier <Wisdom>()); UpdateRacialAbilityModifier(_charismaRacialModifier, characterRace.GetModifier <Charisma>()); } }
public FeatChecker(StatBlockMessageWrapper _messageXML, MonSBSearch _monSBSearch, ClassMaster CharacterClasses, bool HasEnvirmonment, RaceBase Race_Base, int IntAbilityScoreValue, int HDValue, List <FeatData> Feats, int BAB, int Int, int Str, int Cha, int Con, int Dex, int Wis, List <SkillCalculation> SkillCalculations) { this._messageXML = _messageXML; this._monSBSearch = _monSBSearch; this.CharacterClasses = CharacterClasses; this.HasEnvirmonment = HasEnvirmonment; this.Race_Base = Race_Base; this.IntAbilityScoreValue = IntAbilityScoreValue; this.HDValue = HDValue; this.Feats = Feats; this.BAB = BAB; this.Int = Int; this.Str = Str; this.Dex = Dex; this.Con = Con; this.Cha = Cha; this.Wis = Wis; this.SkillCalculations = SkillCalculations; }
public CombatManeuversChecker(StatBlockMessageWrapper _messageXML, MonSBSearch _monSBSearch, ClassMaster CharacterClasses, StatBlockInfo.SizeCategories SizeCat, int SizeMod, int OnGoing, string BaseAtk, bool HasMonk, string CMBString, string formula, int TotalHD, string AC_Mods, int DodgeBonus, string CMDString, RaceBase raceBase) { this._messageXML = _messageXML; this._monSBSearch = _monSBSearch; this.CharacterClasses = CharacterClasses; this.SizeCat = SizeCat; this.BaseAtk = BaseAtk; this.HasMonk = HasMonk; this.CMBString = CMBString; this.SizeMod = SizeMod; this.OnGoing = OnGoing; this.formulaOnGoing = formula; this.TotalHD = TotalHD; this.AC_Mods = AC_Mods; this.DodgeBonus = DodgeBonus; this.CMDString = CMDString; Race_Base = raceBase; }
/// <summary> /// Create Leader /// </summary> public NPCBase(IWorld grid, Gender gender, RaceBase race, Class.AgentClassBase @class, string name, int x, int y) : base(grid) { this.X = x; this.Y = y; this.Race = race; this.Name = name; this.Gender = gender; this.Class = @class; this.Fire = new FireStat(this); this.Water = new WaterStat(this); this.Wind = new WindStat(this); this.Earth = new EarthStat(this); this.Chaos = new ChaosStat(this); this.Order = new Orderstat(this); this.Light = new LightStat(this); this.Darkness = new DarkStat(this); this.Strenght = new StrenghtStat(this); this.HP = new HealthPointsStat(this); this.Constitution = new ConstitutuinStat(this); this.Stamina = new StaminaStat(this); this.Awareness = new AwarnessStat(this); this.Stealth = new StealthStat(this); this.Speed = new speedStat(this); this.Agility = new AgilityStat(this); this.Dexterity = new DexterityStat(this); //change later baced on race maybe? this.HP.MaxBase = 5; this.HP.Current = this.HP.Max; this.Stamina.MaxBase = 5; this.Stamina.Current = this.Stamina.Max; this.Awareness.MaxBase = 5; this.Awareness.Current = this.Awareness.Max; }
public void AddPartyMember(Gender gender, RaceBase race, Class.AgentClassBase @class, string name) { new NPCBase(gender, race, @class, name, this); }
public void Ressurect(RaceBase race) { }
public void Accelerate(RaceBase race) { }
public void Treat(RaceBase race) { }
public Player(IWorld grid, Gender gender, RaceBase race, Class.AgentClassBase @class, string name, int x, int y) : base(grid, gender, race, @class, name, x, y) { this.AI = null; }
public void Accelerate(RaceBase race) { race.ImpactForce = race.ImpactForce * 2; Console.WriteLine(race.GetType().Name.ToString() + ": Strong acceleration = " + race.ImpactForce.ToString()); }