Пример #1
0
        private static CharacterAbility[][] LoadCharacterAbilities()
        {
            try
            {
                if (!Directory.Exists(DataResources.Characters.Abilities.Directory))
                {
                    throw new DirectoryNotFoundException($"[ff9abil] Cannot load character abilities because a directory does not exist: [{DataResources.Characters.Abilities.Directory}].");
                }

                CharacterPresetId[]  presetIds = CharacterPresetId.GetWellKnownPresetIds();
                CharacterAbility[][] result    = new CharacterAbility[presetIds.Length][];
                for (Int32 id = 0; id < result.Length; id++)
                {
                    CharacterPresetId presetId = presetIds[id];
                    result[id] = LoadCharacterAbilities(presetId);
                }
                return(result);
            }
            catch (Exception ex)
            {
                Log.Error(ex, "[ff9abil] Load character abilities failed.");
                UIManager.Input.ConfirmQuit();
                return(null);
            }
        }
Пример #2
0
    public override IEnumerator takeTurn(Character target, CharacterAbility ability)
    {
        yield return(new WaitForSeconds(1));

        TurnManager.instance.target  = grabTarget(TurnManager.instance);
        TurnManager.instance.ability = getAbilty(target);
    }
Пример #3
0
 public void LimitedGainTest()
 {
     Ability ability = new Ability(0, AbilityType.General, "TestAbility");
     CharacterAbility charAbility = new CharacterAbility(ability);
     charAbility.AddExperience(10, 1);
     Assert.AreEqual(1, charAbility.Value);
 }
Пример #4
0
        public void Init(float radius, float depth)
        {
            _speed          = GameManager.Instance.GameConfig.OverallSpeed;
            _angularSpeed   = Mathf.PI * _speed * Mathf.Rad2Deg * Time.deltaTime;
            _radius         = radius;
            CurrentAngle    = transform.localRotation.eulerAngles.z;
            Model.position  = new Vector3(0, -radius, depth);
            OverallVelocity = new Vector3(0, 0, -1) * _speed;
            GameManager.Instance.OnScoreUpdated -= OnScoreUpdate;
            GameManager.Instance.OnScoreUpdated += OnScoreUpdate;

            // Get all abilities, initialize and activate only the one that was
            // purchased at the store
            _characterAbilities = GetComponents <CharacterAbility>();
            foreach (var ability in _characterAbilities)
            {
                ability.enabled     = false;
                ability.IsPermitted = false;
                if (ability.AbilityID == DataPersistanceManager.PlayerData.ActiveAbility)
                {
                    _activeAbility             = ability;
                    _activeAbility.IsPermitted = true;
                    _activeAbility.Initialize(this);
                }
            }
        }
Пример #5
0
        private static PA_DATA[] LoadCharacterAbilities(CharacterPresetId presetId)
        {
            try
            {
                String inputPath = DataResources.GetCsvCharacterAbilitiesPath(presetId);

                if (!File.Exists(inputPath))
                {
                    throw new FileNotFoundException($"File with {presetId}'s abilities not found: [{inputPath}]");
                }

                CharacterAbility[] abilities = CsvReader.Read <CharacterAbility>(inputPath);
                if (abilities.Length != 48)
                {
                    throw new NotSupportedException($"You must set 48 abilities, but there {abilities.Length}. Any number of abilities will be available after a game stabilization."); // TODO Json, Player, SettingsState, EqupUI, ff9feqp
                }
                PA_DATA[] result = new PA_DATA[abilities.Length];
                for (Int32 i = 0; i < abilities.Length; i++)
                {
                    CharacterAbility source = abilities[i];
                    result[i] = new PA_DATA(source.Id, source.Ap);
                }
                return(result);
            }
            catch (Exception ex)
            {
                throw new FileLoadException($"Failed to load {presetId}'s  learnable abilities.", ex);
            }
        }
Пример #6
0
        public void LimitedGainTest()
        {
            Ability          ability     = new Ability(0, AbilityType.General, "TestAbility");
            CharacterAbility charAbility = new CharacterAbility(ability);

            charAbility.AddExperience(10, 1);
            Assert.AreEqual(1, charAbility.Value);
        }
Пример #7
0
        public void CharacterAbilityZeroTest()
        {
            Ability ability = new Ability(0, AbilityType.General, "TestAbility");
            CharacterAbility characterAbility = new CharacterAbility(ability);
            characterAbility.Experience = 0;

            Assert.AreEqual(0, characterAbility.Value);
        }
    // Start is called before the first frame update
    void Start()
    {
        curInteractable  = null;
        characterAbility = GetComponent <CharacterAbility>();
        MyCamera         = GetComponent <Camera>();

        // StartCoroutine("CastTick");
    }
Пример #9
0
        public void CharacterAbilityInexactTest()
        {
            Ability          ability          = new Ability(0, AbilityType.General, "TestAbility");
            CharacterAbility characterAbility = new CharacterAbility(ability);

            characterAbility.Experience = 37;

            Assert.AreEqual(3, characterAbility.Value);
        }
Пример #10
0
 // Token: 0x06000F83 RID: 3971 RVA: 0x0005DEBC File Offset: 0x0005C0BC
 public void SetAllAbilitys(bool abilityEnabled)
 {
     CharacterAbility[] abilities = this.Abilities;
     for (int i = 0; i < abilities.Length; i++)
     {
         CharacterAbility characterAbility = abilities[i];
         characterAbility.HasAbility = abilityEnabled;
     }
     this.m_sein.Prefabs.EnsureRightPrefabsAreThereForAbilities();
 }
Пример #11
0
    public void SetAbility()
    {
        ICharacter       character = gameObject.GetComponentInParent <ICharacter> ();
        CharacterAbility abilities = character.GetAbilities();

        abilities.SetAbility(this.defense.GetPrimaryAbility(), 0);
        abilities.SetAbility(this.utility.GetPrimaryAbility(), 1);
        abilities.SetAbility(this.weapon.GetSecondaryAbility(), 2);
        abilities.SetAbility(this.weapon.GetPrimaryAbility(), 3);
    }
Пример #12
0
    public void showAbilityDescription(int idx)
    {
        CharacterAbility ability = player.abilities[idx];

        abilityDescription.text = ability.getDescription();
        abilityName.text        = ability.abilityName;
        abilityCost.text        = ability.spCost.ToString();
        abilityCost.color       = ability.hasEnoughSP() ? Color.white : Color.red;
        attribute.text          = ability.getAttribute();
        descriptionPanel.gameObject.SetActive(true);
    }
Пример #13
0
    // Start is called before the first frame update
    void Start()
    {
        characterAbility = GetComponentInParent <CharacterAbility>();
        UI = FindObjectOfType <GameUI>();

        _startPosition = transform.position;
        _totalCoins    = 0;
        _totalDistance = 0;

        _power = 0;
    }
Пример #14
0
    IEnumerator takeTurn()
    {
        yield return(null);

        CombatLogger.instance.logEffectString(EncountersManager.instance.currentEncounter.into);
        yield return(CombatLogger.instance.isDisplaying());

        while (!isCombatOver())
        {
            TurnManagerGUI.instance.updateTurnOrder(getNext3Orders());
            current = turnOrder.Dequeue();
            while (current.health.isDead())
            {
                current = turnOrder.Dequeue();
            }
            TurnManagerGUI.instance.setCurrentCharacter(current.name);
            StatsPanelGUI.instance.initStatsPanel(current.stats);
            yield return(current.health.resolveEffects());


            target  = null;
            ability = null;
            if (!current.skipTurn && !current.health.isDead())
            {
                yield return(current.takeTurn(target, ability));

                Debug.Log(current.name + " targeted " + target.name);
                ability.useAbilty(target);
            }
            else
            {
                current.skipTurn = false;
            }

            yield return(CombatLogger.instance.isDisplaying());

            turnOrder.Enqueue(current);
            TurnManagerGUI.instance.updateTurnOrder(getNext3Orders());
            yield return(null);
        }
        for (int i = 0; i < PartyGUI.instance.party.Count; i++)
        {
            PartyGUI.instance.party[i].health.clearStatuses();
        }
        Debug.Log("Combat over");
        if (onCombatOver != null)
        {
            onCombatOver();
        }
    }
Пример #15
0
    // Desactiva la habilidad pasada como parámetro
    bool DeactivateAbility(CharacterAbility ability) {
        bool res = (ability != null);
        if (res) {
            res = ability.DeactivateAbility();
            if (res) {
                characterStatus.EndAbility(ability);
                if (ability.Equals(activeAbility)) {
                    activeAbility = null;
                }
            }
        }

        return res;
    }
Пример #16
0
    // Activa la habilidad pasada como parámetro
    bool ActivateAbility(CharacterAbility ability) {
        // Comprueba si la habilidad puede activarse
        bool res = ability.CanBeStarted();
        if (res) {
            res = characterStatus.StartAbility(ability);
            if (res) {
                activeAbility = ability;
            }
        } else {
            characterStatus.NegationAnimation();
        }

        return res;
    }
Пример #17
0
    public void RemoveAbility()
    {
        switch (Type)
        {
        case AbilityType.BattleArt:
            EventManager.instance.Fire(new PlayerUnequipBattleArt((BattleArt)CurrentAbility));
            break;

        case AbilityType.PassiveAbility:
            EventManager.instance.Fire(new PlayerUnequipPassiveAbility((PassiveAbility)CurrentAbility, index));
            break;
        }
        CurrentAbility = null;
    }
Пример #18
0
    public void Equip(CharacterAbility Ability)
    {
        CurrentAbility = Ability;
        switch (Type)
        {
        case AbilityType.BattleArt:
            EventManager.instance.Fire(new PlayerEquipBattleArt((BattleArt)Ability));
            break;

        case AbilityType.PassiveAbility:
            EventManager.instance.Fire(new PlayerEquipPassiveAbility((PassiveAbility)Ability, index));
            break;
        }
    }
Пример #19
0
 public void UnPauseAndAbility()
 {
     PlayerMovement[] playerMovements = (PlayerMovement[])FindObjectsOfType(typeof(PlayerMovement));
     foreach (PlayerMovement pm in playerMovements)
     {
         if (pm.isFrozen && !(this.gameObject.name == "PlayerChe"))
         {
             CharacterAbility ability = pm.GetComponent <CharacterAbility>();
             if (ability.gameObject.name == "PlayerChe")
             {
                 pm.HandlePauseAbility();
                 ability.TriggerChemistryAbility();
             }
         }
     }
 }
Пример #20
0
    public override IEnumerator takeTurn(Character target, CharacterAbility ability)
    {
        myDisplay.setNameColor(true);
        AbilityManager.instance.setUpAbilityManager(this);
        myAbility = null;
        myTarget  = null;

        // myAbility = ability01;

        while (myTarget == null || myAbility == null)
        {
            yield return(null);
        }
        TurnManager.instance.ability = myAbility;
        TurnManager.instance.target  = myTarget;
        AbilityManager.instance.removeAbilityPanel();
        myDisplay.setNameColor(false);
    }
Пример #21
0
    void Start()
    {
        _flingCount    = 0;
        superSizeCount = 0;
        _immunityCount = 0;

        animator = GetComponent <CharacterAnimations>();
        ability  = GetComponentInParent <CharacterAbility>();
        Movement = GetComponentInParent <CharacterMovement>();
        UI       = FindObjectOfType <GameUI>();

        CurrentResistanceLevel = playerResistance.none;
        rend         = GetComponent <Renderer>();
        rend.enabled = true;

        materials = Resources.LoadAll <Material>("Materials/Player");
        UI.ChangeColour(materials[0]);
    }
Пример #22
0
    // Use this for initialization
    void Start()
    {
        this.canClimb      = false;
        this.isStun        = false;
        rb2d               = gameObject.GetComponent <Rigidbody2D> ();
        anim               = gameObject.GetComponent <Animator> ();
        this.playerAbility = gameObject.GetComponentInChildren <CharacterAbility> ();
        this.playerDefense = gameObject.GetComponentInChildren <CharacterDefense> ();

        this.fit = gameObject.GetComponentInChildren <FittingMenu> ();
        TestMenu global = GameObject.FindObjectOfType <TestMenu> ();

        this.fit.Equip(global.activeWeapon);
        this.fit.Equip(global.activeDefense);
        this.fit.Equip(global.activeUtility);
        this.fit.SetAbility();

        InitializeCharacter();
    }
        public async Task SendAbilityWebhook(string url, CharacterAbility characterAbility, string characterName)
        {
            DiscordWebHookModel dwhm = new DiscordWebHookModel();

            dwhm.username = characterName;
            dwhm.embeds.Add(
                new DiscordWebHookEmbed()
            {
                title       = $"SUCCESS!/FAILURE!",
                description = "**Difficulty:** 3 TN(3)\n**Trained** -1\n**Final Difficulty:** 2\n**Roll:** 18 Beats difficulty 8 (TN: 18)",
                author      = new DiscordWebHookEmbedAuthor {
                    author = $"Fin Piercer - Attack - Speed"
                },
                footer = new DiscordWebHookEmbedFooter {
                    text = $"Special: +2 Damage"
                }
            });

            await SendWebHook(url, dwhm);
        }
Пример #24
0
 // Token: 0x06000F84 RID: 3972 RVA: 0x0005DF00 File Offset: 0x0005C100
 public override void Serialize(Archive ar)
 {
     try
     {
         CharacterAbility[] abilities = this.Abilities;
         for (int i = 0; i < abilities.Length; i++)
         {
             CharacterAbility characterAbility = abilities[i];
             ar.Serialize(ref characterAbility.HasAbility);
         }
     }
     catch (Exception exception)
     {
         Debug.LogException(exception);
     }
     if (ar.Reading)
     {
         this.m_sein.Prefabs.EnsureRightPrefabsAreThereForAbilities();
     }
 }
    // Use this for initialization
    void Start()
    {
        //player =(ICharacter) GameObject.FindGameObjectWithTag("Player");
        player = (ICharacter)FindObjectOfType(typeof(Player));
        rb2d   = gameObject.GetComponent <Rigidbody2D> ();
        anim   = gameObject.GetComponent <Animator> ();
        //this.projspawner = gameObject.GetComponentInChildren<ProjSpawner> ();
        this.enemyAbility = gameObject.GetComponentInChildren <CharacterAbility> ();
        this.enemyDefense = gameObject.GetComponentInChildren <EnemyDefense> ();
        IAbility projectile = new BasicAttack("Lazer", 10f, 10f, 10f, 10f, 0f);

        //IEffect cripple = new CrippleEffect (1f,49f,0f);
        //IEffect stun = new StunEffect (2f);
        //projectile.AddEffect (cripple);
        //projectile.AddEffect (stun);
        this.enemyAbility.SetAbility(projectile, 0);
        this.enemyAbility.SetAbility(projectile, 1);
        this.currentSpeed = speed;
        this.canClimb     = false;
    }
        public async Task <CharacterAbility> UpdateCharacterAbility(CharacterAbility characterAbility)
        {
            var ca = _context.CharacterAbilities.Find(characterAbility.CharacterAbilityId);

            if (ca == null)
            {
                return(characterAbility);
            }
            try
            {
                ca.CharacterId = characterAbility.CharacterId;
                ca.IsEnabled   = characterAbility.IsEnabled;
                ca.AbilityId   = characterAbility.AbilityId;
                _context.SaveChanges();
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(ca);
        }
Пример #27
0
 public void setAbility(CharacterAbility ability)
 {
     myAbility = ability;
 }
Пример #28
0
 public override void setTargetAndAbilty(Character target, CharacterAbility ability)
 {
     target  = myTarget;
     ability = myAbility;
 }
        public (CharacterAbilityListWithFilterCount, Character, RuleSet) SP_CharacterAbility_GetByCharacterId(int characterId, int rulesetId, int page, int pageSize, int sortType = 1)
        {
            CharacterAbilityListWithFilterCount result = new CharacterAbilityListWithFilterCount();
            CharacterAbility _characterAbility         = new CharacterAbility();
            RuleSet          ruleset   = new RuleSet();
            Character        character = new Character();

            string connectionString = _configuration.GetSection("ConnectionStrings").GetSection("DefaultConnection").Value;

            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                List <CharacterAbility> _CharacterAbilityList = new List <CharacterAbility>();
                string qry = "EXEC CharacterAbility_GetByCharacterId @CharacterId='" + characterId + "',@RulesetID='" + rulesetId + "',@page='" + page + "',@size='" + pageSize + "',@SortType='" + sortType + "'";
                try
                {
                    var characterability_record = connection.QueryMultiple(qry);
                    var _characterAbilitySPList = characterability_record.Read <CharacterAbilitySP>().ToList();
                    ruleset   = characterability_record.Read <RuleSet>().FirstOrDefault();
                    character = characterability_record.Read <Character>().FirstOrDefault();

                    _characterAbilitySPList.ForEach(obj =>
                    {
                        _characterAbility = new CharacterAbility()
                        {
                            CharacterAbilityId  = obj.CharacterAbilityId,
                            CharacterId         = obj.CharacterId,
                            AbilityId           = obj.AbilityId,
                            CurrentNumberOfUses = obj.CurrentNumberOfUses,
                            MaxNumberOfUses     = obj.MaxNumberOfUses,
                            IsEnabled           = obj.IsEnabled,
                            Ability             = new Ability()
                            {
                                Name                = obj.Name,
                                Stats               = obj.Stats,
                                Metatags            = obj.Metatags,
                                Command             = obj.Command,
                                CommandName         = obj.CommandName,
                                Description         = obj.Description,
                                gmOnly              = obj.gmOnly,
                                ImageUrl            = obj.ImageUrl,
                                Level               = obj.Level,
                                IsDeleted           = obj.IsDeleted,
                                IsEnabled           = obj.IsEnabled ?? false,
                                AbilityId           = obj.AbilityId ?? 0,
                                ParentAbilityId     = obj.ParentAbilityId ?? 0,
                                RuleSetId           = obj.RuleSetId,
                                CurrentNumberOfUses = obj.CurrentNumberOfUses ?? 0,
                                MaxNumberOfUses     = obj.MaxNumberOfUses ?? 0,

                                RuleSet = ruleset,
                            },
                            //   Character = character
                        };

                        _CharacterAbilityList.Add(_characterAbility);
                    });

                    result = new CharacterAbilityListWithFilterCount()
                    {
                        FilterAplhabetCount = characterability_record.Read <AlphabetCountSP>().FirstOrDefault().AplhabetCount,
                        FilterEnabledCount  = characterability_record.Read <EnabledCountSP>().FirstOrDefault().EnabledCount,
                        FilterLevelCount    = characterability_record.Read <LevelCountSP>().FirstOrDefault().LevelCount,
                        AbilityList         = _CharacterAbilityList
                    };
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    connection.Close();
                }
            }
            //(CharacterAbilityListWithFilterCount characterAbilityresult, Character _character, RuleSet _ruleSet) = SP_CharacterAbility_GetByCharacterId_Old(characterId, rulesetId, page, pageSize, sortType);
            return(result, character, ruleset);
        }
        public (CharacterAbilityListWithFilterCount, Character, RuleSet) SP_CharacterAbility_GetByCharacterId_Old(int characterId, int rulesetId, int page, int pageSize, int sortType = 1)
        {
            CharacterAbilityListWithFilterCount result = new CharacterAbilityListWithFilterCount();
            List <CharacterAbility>             _CharacterAbilityList = new List <CharacterAbility>();
            RuleSet   ruleset   = new RuleSet();
            Character character = new Character();

            int FilterAplhabetCount = 0;
            int FilterEnabledCount  = 0;
            int FilterLevelCount    = 0;

            result.AbilityList         = _CharacterAbilityList;
            result.FilterAplhabetCount = FilterAplhabetCount;
            result.FilterEnabledCount  = FilterEnabledCount;
            result.FilterLevelCount    = FilterLevelCount;

            short  num = 0;
            string connectionString = _configuration.GetSection("ConnectionStrings").GetSection("DefaultConnection").Value;
            //string qry = "EXEC CharacterAbility_GetByCharacterId @CharacterId='" + characterId + "',@RulesetID='" + rulesetId + "',@page='" + page + "',@size='" + pageSize + "'";

            SqlConnection  connection = new SqlConnection(connectionString);
            SqlCommand     command    = new SqlCommand();
            SqlDataAdapter adapter    = new SqlDataAdapter();
            DataSet        ds         = new DataSet();

            try
            {
                connection.Open();
                command = new SqlCommand("CharacterAbility_GetByCharacterId", connection);

                // Add the parameters for the SelectCommand.
                command.Parameters.AddWithValue("@CharacterId", characterId);
                command.Parameters.AddWithValue("@RulesetID", rulesetId);
                command.Parameters.AddWithValue("@page", page);
                command.Parameters.AddWithValue("@size", pageSize);
                command.Parameters.AddWithValue("@SortType", sortType);
                command.CommandType = CommandType.StoredProcedure;

                adapter.SelectCommand = command;

                adapter.Fill(ds);
                command.Dispose();
                connection.Close();
            }
            catch (Exception ex)
            {
                command.Dispose();
                connection.Close();
            }

            if (ds.Tables[1].Rows.Count > 0)
            {
                ruleset = _repo.GetRuleset(ds.Tables[1], num);
            }
            if (ds.Tables[2].Rows.Count > 0)
            {
                character = _repo.GetCharacter(ds.Tables[2]);
            }

            if (ds.Tables[0].Rows.Count > 0)
            {
                foreach (DataRow row in ds.Tables[0].Rows)
                {
                    CharacterAbility _characterAbility = new CharacterAbility();
                    _characterAbility.CharacterAbilityId  = row["CharacterAbilityId"] == DBNull.Value ? 0 : Convert.ToInt32(row["CharacterAbilityId"].ToString());
                    _characterAbility.CharacterId         = characterId;
                    _characterAbility.AbilityId           = row["AbilityId"] == DBNull.Value ? 0 : Convert.ToInt32(row["AbilityId"].ToString());
                    _characterAbility.CurrentNumberOfUses = row["CharacterCurrentNumberOfUses"] == DBNull.Value ? 0 : Convert.ToInt32(row["CharacterCurrentNumberOfUses"].ToString());
                    _characterAbility.MaxNumberOfUses     = row["CharacterMaxNumberOfUses"] == DBNull.Value ? 0 : Convert.ToInt32(row["CharacterMaxNumberOfUses"].ToString());
                    _characterAbility.IsEnabled           = row["CharacterIsEnabled"] == DBNull.Value ? false : Convert.ToBoolean(row["CharacterIsEnabled"]);

                    Ability _ability = new Ability();
                    _ability.Name        = row["Name"] == DBNull.Value ? null : row["Name"].ToString();
                    _ability.Stats       = row["Stats"] == DBNull.Value ? null : row["Stats"].ToString();
                    _ability.Metatags    = row["Metatags"] == DBNull.Value ? null : row["Metatags"].ToString();
                    _ability.Command     = row["Command"] == DBNull.Value ? null : row["Command"].ToString();
                    _ability.CommandName = row["CommandName"] == DBNull.Value ? null : row["CommandName"].ToString();
                    _ability.Description = row["Description"] == DBNull.Value ? null : row["Description"].ToString();
                    _ability.gmOnly      = row["gmOnly"] == DBNull.Value ? null : row["gmOnly"].ToString();
                    _ability.ImageUrl    = row["ImageUrl"] == DBNull.Value ? null : row["ImageUrl"].ToString();
                    _ability.Level       = row["Level"] == DBNull.Value ? null : row["Level"].ToString();
                    _ability.IsDeleted   = row["IsDeleted"] == DBNull.Value ? false : Convert.ToBoolean(row["IsDeleted"]);
                    _ability.IsEnabled   = row["IsEnabled"] == DBNull.Value ? false : Convert.ToBoolean(row["IsEnabled"]);

                    _ability.AbilityId           = row["AbilityId"] == DBNull.Value ? 0 : Convert.ToInt32(row["AbilityId"].ToString());
                    _ability.ParentAbilityId     = row["ParentAbilityId"] == DBNull.Value ? 0 : Convert.ToInt32(row["ParentAbilityId"].ToString());
                    _ability.RuleSetId           = row["RuleSetId"] == DBNull.Value ? 0 : Convert.ToInt32(row["RuleSetId"].ToString());
                    _ability.CurrentNumberOfUses = row["CurrentNumberOfUses"] == DBNull.Value ? 0 : Convert.ToInt32(row["CurrentNumberOfUses"].ToString());
                    _ability.MaxNumberOfUses     = row["MaxNumberOfUses"] == DBNull.Value ? 0 : Convert.ToInt32(row["MaxNumberOfUses"].ToString());

                    _ability.RuleSet          = ruleset;
                    _characterAbility.Ability = _ability;
                    //_characterAbility.Character = character;
                    _CharacterAbilityList.Add(_characterAbility);
                }
            }

            if (ds.Tables[3].Rows.Count > 0)
            {
                FilterAplhabetCount = ds.Tables[3].Rows[0][0] == DBNull.Value ? 0 : Convert.ToInt32(ds.Tables[3].Rows[0][0]);
                FilterLevelCount    = ds.Tables[3].Rows[0][1] == DBNull.Value ? 0 : Convert.ToInt32(ds.Tables[3].Rows[0][1]);
            }
            if (ds.Tables[4].Rows.Count > 0)
            {
                FilterEnabledCount = ds.Tables[4].Rows[0][0] == DBNull.Value ? 0 : Convert.ToInt32(ds.Tables[4].Rows[0][0]);
            }

            if (ds.Tables[5].Rows.Count > 0)
            {
                FilterLevelCount = ds.Tables[5].Rows[0][0] == DBNull.Value ? 0 : Convert.ToInt32(ds.Tables[5].Rows[0][0]);
            }

            result.AbilityList         = _CharacterAbilityList;
            result.FilterAplhabetCount = FilterAplhabetCount;
            result.FilterEnabledCount  = FilterEnabledCount;
            result.FilterLevelCount    = FilterLevelCount;
            //return result;
            return(result, character, ruleset);
        }
 public async Task <CharacterAbility> InsertCharacterAbility(CharacterAbility characterAbility)
 {
     return(await _repo.Add(characterAbility));
 }
Пример #32
0
 // Se ejecuta cuando se termina la ejecución de una habilidad
 void AbilityExecutionEnd(CharacterAbility ability) {
     // Habilidad afectada
     RectTransform abilityUI = GetAbilityUIRectTransform(ability.GetType());
     // Reduce tamaño del icono
     foreach (RectTransform trf in abilityUI) {
         trf.sizeDelta /= (1 + modificationActiveAbility);
     }
 }
Пример #33
0
 public virtual void setTargetAndAbilty(Character target, CharacterAbility ability)
 {
 }
Пример #34
0
 void OnTriggerEnter(Collider other) {
     // Si se trata de un personaje, lo añade al listado
     CharacterStatus cs = other.gameObject.GetComponent<CharacterStatus>();
     if (cs != null) {
         charactersList.Add(cs);
         // Asocia la habilidad relacionada con el objeto, si la requiere
         if ((requireAbility) && (requiredAbility == null)) {
             requiredAbility = GetRequiredAbility(other.gameObject);
         }
     }
 }
Пример #35
0
 /// <summary>
 /// Resetea el estado de las dos habilidades del personaje
 /// </summary>
 public void ResetAbilities() {
     ability1.Reset();
     ability2.Reset();
     activeAbility = null;
 }
Пример #36
0
        public Character(Ability writingLanguage, Ability writingAbility, Ability areaAbility, uint baseSeasonableAge = 20)
        {
            Die die = new Die();
            _attributes[(short)AttributeType.Strength] = new Attribute(die.RollNormal());
            _attributes[(short)AttributeType.Stamina] = new Attribute(die.RollNormal());
            _attributes[(short)AttributeType.Dexterity] = new Attribute(die.RollNormal());
            _attributes[(short)AttributeType.Quickness] = new Attribute(die.RollNormal());
            _attributes[(short)AttributeType.Intelligence] = new Attribute(die.RollNormal());
            _attributes[(short)AttributeType.Communication] = new Attribute(die.RollNormal());
            _attributes[(short)AttributeType.Perception] = new Attribute(die.RollNormal());
            _attributes[(short)AttributeType.Presence] = new Attribute(die.RollNormal());

            Decrepitude = 0;
            CurrentSeason = Season.Spring;
            KnownAuras = new List<Aura>();
            IsCollaborating = false;
            WantsToFollow = true;

            _noAgingSeasons = 0;
            _baseAge = baseSeasonableAge;
            _mandatoryAction = null;

            _abilityList = new Dictionary<int, CharacterAbilityBase>();
            _seasonList = new List<IAction>();
            _booksRead = new List<IBook>();
            _booksWritten = new List<IBook>();
            _booksOwned = new List<IBook>();

            _areaAbility = areaAbility;
            _writingAbility = writingAbility;
            _writingLanguage = writingLanguage;
            _writingAbilities = new List<Ability>();
            _writingAbilities.Add(_writingAbility);
            _writingAbilities.Add(_writingLanguage);

            _incompleteBooks = new List<Summa>();
            _goals = new List<IGoal>();
            Log = new List<string>();
            Warping = new CharacterAbility(Abilities.Warping);
        }
Пример #37
0
    private void RandomAbility()
    {
        var Data = CharacterOpenInfo.Self.GetComponent <CharacterData>();

        int value;

        switch (Type)
        {
        case AbilityObjectType.OnlyBattleArt:
            value = Random.Range(0, Data.BattleArtTypeNumber);
            break;

        case AbilityObjectType.OnlyPassiveAbility:
            value = Random.Range(Data.BattleArtTypeNumber, Data.BattleArtTypeNumber + Data.PassiveAbilityTypeNumber);
            break;

        case AbilityObjectType.All:
            value = Random.Range(0, Data.BattleArtTypeNumber + Data.PassiveAbilityTypeNumber);
            break;

        default:
            value = Random.Range(0, Data.BattleArtTypeNumber + Data.PassiveAbilityTypeNumber);
            break;
        }


        if (value < Data.BattleArtTypeNumber)
        {
            BattleArtType Type = (BattleArtType)value;

            switch (Type)
            {
            case BattleArtType.PowerSlash:
                Ability = new PowerSlash();
                break;

            case BattleArtType.CrossSlash:
                Ability = new CrossSlash();
                break;
            }
        }
        else
        {
            PassiveAbilityType Type = (PassiveAbilityType)(value - Data.BattleArtTypeNumber);

            switch (Type)
            {
            case PassiveAbilityType.Harmony:
                Ability = new Harmony();
                break;

            case PassiveAbilityType.SpiritMaster:
                Ability = new SpiritMaster();
                break;

            case PassiveAbilityType.UltimateAwakening:
                Ability = new UltimateAwakening();
                break;

            case PassiveAbilityType.CriticalEye:
                Ability = new CriticalEye();
                break;

            case PassiveAbilityType.BattleArtMaster:
                Ability = new BattleArtMaster();
                break;

            case PassiveAbilityType.Dancer:
                Ability = new Dancer();
                break;

            case PassiveAbilityType.OneMind:
                Ability = new OneMind();
                break;
            }
        }
    }
Пример #38
0
 // Use this for references
 void Awake() {
     CharacterAbility[] abilities = GetComponents<CharacterAbility>();
     ability1 = abilities[0];
     ability2 = abilities[1];
     characterStatus = GetComponent<CharacterStatus>();
 }
Пример #39
0
    /// <summary>
    /// Comienza la ejecución de una habilidad concreta, modificando el estado en que se encuentra el personaje
    /// </summary>
    /// <param name="ability">Habilidad que se desea iniciar a ejecutar</param>
    /// <returns><c>true</c> si es posible iniciar la habilidad, en cuyo caso modifica además el estado del personaje; <c>false</c> en otro caso</returns>
    public bool StartAbility(CharacterAbility ability) {
        // Comprueba que el personaje no esté bloqueado por alguna animación
        bool res = !lockedByAnimation;
        if (res) {
            // Estados desde los que se puede iniciar cualquier habilidad: Walking, Idle
            res = (characterState.Equals(State.Walking) || characterState.Equals(State.Idle));
            if (res) {
                // Actualiza el estado del personaje
                switch (ability.abilityName) {
                    case AbilityName.AstralProjection:
                        characterState = State.AstralProjection;
                        CharacterAnimationController.SetAnimatorTrigger(characterName, CharacterAnimationController.ASTRAL_PROJECTION);
                        break;
                    case AbilityName.BigJump:
                        characterState = State.BigJumping;
                        CharacterAnimationController.SetAnimatorTrigger(characterName, CharacterAnimationController.BIG_JUMP);
                        break;
                    case AbilityName.Break:
                        characterState = State.Breaking;
                        CharacterAnimationController.SetAnimatorTrigger(characterName, CharacterAnimationController.BREAK);
                        break;
                    case AbilityName.Push:
                        characterState = State.Pushing;
                        CharacterAnimationController.SetAnimatorTrigger(characterName, CharacterAnimationController.PUSH);
                        break;
                    case AbilityName.Sprint:
                        characterState = State.Sprint;
                        CharacterAnimationController.SetAnimatorTrigger(characterName, CharacterAnimationController.SPRINT);
                        break;
                    case AbilityName.Telekinesis:
                        characterState = State.Telekinesis;
                        CharacterAnimationController.SetAnimatorTrigger(characterName, CharacterAnimationController.TELEKINESIS);
                        break;
                }
                //INCREMENTAR EL NUMERO DE PARTICULAS
                playerParticles.IncreaseEmission(abilityEmissionRate);
                // Inicia la habilidad
                res = ability.ActivateAbility();
            }
        }

        return res;
    }
Пример #40
0
    // Se ejecuta cuando se produce un cambio en la cantidad de energía de la habilidad determinada
    void EnergyModified(CharacterAbility ability) {
        // Selecciona la interfaz relativa a la habilidad y modifica el relleno de la imagen
        RectTransform abilityUI = GetAbilityUIRectTransform(ability.GetType());
        float amount = ability.GetAvailableEnergy() / ability.GetMaxEnergy();
        GameObject full = abilityUI.Find("Full").gameObject;
        full.GetComponent<Image>().fillAmount = amount;

        if (amount >= 1) {
            //Comprueba si se trata del jugador activo
            if (abilityUI.GetComponentInChildren<CanvasRenderer>().GetAlpha().Equals(1)) {

                //Lanzar Imagen segun habilidad
                cooldownNotification.GetComponent<CooldownNotification>().ShowNotification(full.GetComponent<Image>().sprite);
            }
        }
    }
Пример #41
0
 public virtual IEnumerator takeTurn(Character target, CharacterAbility ability)
 {
     yield return(null);
 }
Пример #42
0
    /// <summary>
    /// 
    /// </summary>
    /// <param name="ability">Habilidad cuya ejecución se desea finalizar</param>
    public void EndAbility(CharacterAbility ability) {

        //PARAR CANTIDAD DE PARTICULAS
        playerParticles.DecreaseEmission();

        switch (ability.abilityName) {
            //case AbilityName.AstralProjection:
            //case AbilityName.Break:
            case AbilityName.Push:
                AudioManager.Stop(pushSound);
                //case AbilityName.Sprint:
                //case AbilityName.Telekinesis:
                break;
        }
        // Cambia de estado salvo que se trate de la habilidad "BigJump"
        if (!ability.abilityName.Equals(AbilityName.BigJump)) {
            characterState = State.Idle;
            CharacterAnimationController.SetAnimatorTrigger(characterName, CharacterAnimationController.IDLE);
        }
    }
Пример #43
0
 // Se ejecuta cuando se selecciona una habilidad
 void AbilitySelected(CharacterAbility ability) {
     // Deselección de habilidad anterior
     AbilitySelection(selectedAbility.GetType(), transparency);
     // Selección de nueva habilidad
     selectedAbility = ability;
     AbilitySelection(selectedAbility.GetType(), 1);
 }
Пример #44
0
 // Use this for initialization
 void Start() {
     // Inicialización
     activeAbility = null;
 }