public void Initialize(AbilitySet _as) { currentlyTicking = new List <Ability>(); passives = new List <Ability>(); abilitySet = _as; attack = ScriptableObject.Instantiate(abilitySet.attack); ability1 = ScriptableObject.Instantiate(abilitySet.ability1); ability2 = ScriptableObject.Instantiate(abilitySet.ability2); ability3 = ScriptableObject.Instantiate(abilitySet.ability3); foreach (Ability a in abilitySet.passiveEffects) { if (a.isPassive) { passives.Add(ScriptableObject.Instantiate(a)); } else { Debug.Log("Non-passive ability added to passive ability list of " + abilitySet.name); } } attack.Initialize(this); ability1.Initialize(this); ability2.Initialize(this); ability3.Initialize(this); foreach (Ability a in passives) { a.Initialize(this); currentlyTicking.Add(a); } initializedEvent(ability1, ability2, ability3, attack); }
private void VerifyAbilitySetName(AbilitySet abilitySet) { List <string> powerupAbilities = new List <string> { "NanoBotAbility", "ChargeAbility", "TeleportAbility" }; //Creates a list of names that powerup abilities use List <string> projectileAbilities = new List <string> { "ExplosiveAbility", "ElectricAbility" }; //Creates a list of names that projectile abilities use List <string> teleportAbilities = new List <string> { "TeleportAbility" }; if (powerupAbilities.Contains(abilitySet.abilityName)) { InitialiseAbility(abilitySet.powerupAbilities[0], weaponHolderAttack, AbilityDeployModes.DeployStyle.Attack); //Initalize the powerup and set its weapon holder InitialiseAbility(abilitySet.powerupAbilities[1], weaponHolderDefense, AbilityDeployModes.DeployStyle.Defense); //Initalize the powerup and set its weapon holder } else if (projectileAbilities.Contains(abilitySet.abilityName)) { InitialiseAbility(abilitySet.projectileAbilities[0], weaponHolderAttack, AbilityDeployModes.DeployStyle.Attack); //Initalize the powerup and set its weapon holder InitialiseAbility(abilitySet.projectileAbilities[1], weaponHolderDefense, AbilityDeployModes.DeployStyle.Defense); //Initalize the powerup and set its weapon holder } else if (teleportAbilities.Contains(abilitySet.abilityName)) { //InitialiseAbility(abilitySet.teleportAbilities[0], weaponHolderAttack, AbilityDeployModes.DeployStyle.Attack); //InitialiseAbility(abilitySet.teleportAbilities[0], weaponHolderDefense, AbilityDeployModes.DeployStyle.Defense); } }
public void RandomPickupSelector() { if (possibleAbilitySets != null) { chosenAbilitySet = possibleAbilitySets[Random.Range(0, possibleAbilitySets.Count)]; //chooses a random ability set from a list of all ability sets available VerifyAbilitySetName(chosenAbilitySet); } }
private void Awake() { EquipmentSet = new EquipmentSet(); AbilitySet = new AbilitySet(); CharacterSheet = new CharacterSheet(); Resistances = new Resistance(); DamageReceiver = GetComponent <DamageReceiver>(); Inventory = new Inventory(); }
protected void Start() { if (abilities == null) { _abilities = GetComponentInChildren <AbilitySet>(); } abilities?.SetCharacter(this); GameManager.instance.AddOnTimeScaleChangedEvent(team, OnTimeScaleChanged); OnTimeScaleChanged(GameManager.instance.GetTeamTimeScale(team)); OnStart(); }
public ActionResult CreateAppliance(CreateApplianceModel data) { //Adding new appliance JobAppliance newAppliance = new JobAppliance(); newAppliance.Name = data.ApplianceData.Name; newAppliance.Comment = data.ApplianceData.Comment; newAppliance.UserId = GetCurrentUser().UserId; if (!_appRepository.Create(newAppliance)) { return(RedirectToAction("/Error/Index")); } _appRepository.Save(); int newAppId = newAppliance.Id; //Adding abilities and ability set for new appliance foreach (Ability ability in data.ApplianceAbilities) { Ability newAbilities = new Ability(); newAbilities.SkillId = ability.SkillId; newAbilities.SkillLevelId = ability.SkillLevelId; if (!_abilRepository.Create(newAbilities)) { return(RedirectToAction("/Error/Index")); } _abilRepository.Save(); int newAbilId = newAbilities.Id; AbilitySet newAbilitySet = new AbilitySet(); newAbilitySet.ApplianceId = newAppliance.Id; newAbilitySet.AbilitiesId = newAbilities.Id; if (!_abilSetRepository.Create(newAbilitySet)) { return(RedirectToAction("/Error/Index")); } _abilSetRepository.Save(); } return(RedirectToAction("Index")); }
public ActionResult CreateProfession(CreateProfessionModel dataModel) { Ability newAbilities = new Ability(); newAbilities.SkillId = dataModel.SkillId; newAbilities.SkillLevelId = dataModel.SkillLevelId; if (_abilRepository.Create(newAbilities)) { _abilRepository.Save(); } if (newAbilities.Id == 0) { //TODO Repalce with error page return(Redirect("/Home/Index")); } AbilitySet newAbilSet = new AbilitySet(); newAbilSet.AbilitiesId = newAbilities.Id; newAbilSet.ApplianceId = 0; if (_abilSetRepository.Create(newAbilSet)) { _abilSetRepository.Save(); } if (newAbilSet.Id == 0) { //TODO Repalce with error page return(Redirect("/Home/Index")); } Profession newProfession = new Profession(); newProfession.Name = dataModel.ProfessionData.Name; newProfession.AbilitySetId = newAbilSet.Id; if (_profRepo.Create(newProfession)) { _profRepo.Save(); } return(Redirect("/CreateVacancy/Index")); }
public MainWindow() { InitializeComponent(); AbilitySet set = new AbilitySet { Name = "Basics" }; set.Groups.Add(new AbilityGroup { Name = "Cantrips", Abilities = { new AbilityData { Name = "Blink", Icon = "", Level = AbilityCost.Cantrip, Script = "scripts/abilities/blink.js", Cost = { }, Requirements = { new ClassRequirement { Classes = { Classes.Rogue } }, new LevelRequirement { Level = 1 } } }, new AbilityData { Name = "Heal", Icon = "", Level = AbilityCost.Cantrip, Script = "scripts/abilities/heal.js", Cost = { AbilityComponent.Verbal, AbilityComponent.Somatic }, Requirements = { new ClassRequirement { Classes = { Classes.Bard, Classes.Cleric, Classes.Druid, Classes.Paladin, Classes.Wizard } }, new LevelRequirement { Level = 1 } } } } }); set.Groups.Add(new AbilityGroup { Name = "Sample 1", Abilities = { new AbilityData { Name = "Test 1", Icon = "Icon 1", Level = AbilityCost.Cantrip, }, new AbilityData { Name = "Test 2", Icon = "Icon 2", Level = AbilityCost.Cantrip, }, new AbilityData { Name = "Test 3", Icon = "Icon 3", Level = AbilityCost.Level_3, } } }); set.Groups.Add(new AbilityGroup { Name = "Sample 2", Abilities = { new AbilityData { Name = "Test 1", Icon = "Icon 1", Level = AbilityCost.Cantrip, }, new AbilityData { Name = "Test 2", Icon = "Icon 2", Level = AbilityCost.Cantrip, }, new AbilityData { Name = "Test 3", Icon = "Icon 3", Level = AbilityCost.Level_3, } } }); SetParent.SetViewer.ItemList.ItemsSource = set.Groups; }