Example #1
0
 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);
 }
Example #2
0
    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);
        }
    }
Example #3
0
 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);
     }
 }
Example #4
0
 private void Awake()
 {
     EquipmentSet   = new EquipmentSet();
     AbilitySet     = new AbilitySet();
     CharacterSheet = new CharacterSheet();
     Resistances    = new Resistance();
     DamageReceiver = GetComponent <DamageReceiver>();
     Inventory      = new Inventory();
 }
Example #5
0
    protected void Start()
    {
        if (abilities == null)
        {
            _abilities = GetComponentInChildren <AbilitySet>();
        }
        abilities?.SetCharacter(this);

        GameManager.instance.AddOnTimeScaleChangedEvent(team, OnTimeScaleChanged);
        OnTimeScaleChanged(GameManager.instance.GetTeamTimeScale(team));

        OnStart();
    }
Example #6
0
        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"));
        }
Example #7
0
        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"));
        }
Example #8
0
        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;
        }