Пример #1
0
    public bool IsHitExtraEffect(CharacterStateControl character, EffectStatusBase.ExtraEffectType extraEffectType)
    {
        List <ExtraEffectStatus> list = ChipEffectStatus.CheckStageEffectInvalid(new List <ExtraEffectStatus>
        {
            this
        }, character);

        if (list.Count == 0)
        {
            return(false);
        }
        List <ExtraEffectStatus> totalExtraEffectStatusList = ExtraEffectStatus.GetTotalExtraEffectStatusList(list, character.characterStatus.monsterIntegrationIds, character.groupId, character.tolerance, character.characterDatas.tribe, character.characterDatas.growStep, null, null, ExtraEffectStatus.GetExtraTargetType(character), extraEffectType);

        return(totalExtraEffectStatusList.Count > 0);
    }
Пример #2
0
    public static int GetSkillPowerCorrectionValue(List <ExtraEffectStatus> extraEffectStatusList, AffectEffectProperty skillPropety, CharacterStateControl character)
    {
        List <ExtraEffectStatus> list = ChipEffectStatus.CheckStageEffectInvalid(extraEffectStatusList, character);

        if (list.Count == 0)
        {
            return(skillPropety.GetPower(character));
        }
        return((int)ExtraEffectStatus.GetExtraEffectCorrectionValue(list, (float)skillPropety.GetPower(character), character.characterStatus.monsterIntegrationIds, character.groupId, character.tolerance, character.characterDatas.tribe, character.characterDatas.growStep, skillPropety, character.currentSufferState, ExtraEffectStatus.GetExtraTargetType(character), EffectStatusBase.ExtraEffectType.SkillPower));
    }
Пример #3
0
    public static float GetSkillHitRateCorrectionValue(List <ExtraEffectStatus> extraEffectStatusList, AffectEffectProperty skillPropety, CharacterStateControl character)
    {
        List <ExtraEffectStatus> list = ChipEffectStatus.CheckStageEffectInvalid(extraEffectStatusList, character);

        if (list.Count == 0)
        {
            return(skillPropety.hitRate);
        }
        int   num = ServerToBattleUtility.PercentageToPermillion(skillPropety.hitRate);
        float extraEffectCorrectionValue = ExtraEffectStatus.GetExtraEffectCorrectionValue(list, (float)num, character.characterStatus.monsterIntegrationIds, character.groupId, character.tolerance, character.characterDatas.tribe, character.characterDatas.growStep, skillPropety, character.currentSufferState, ExtraEffectStatus.GetExtraTargetType(character), EffectStatusBase.ExtraEffectType.SkillHit);

        return(ServerToBattleUtility.PermillionToPercentage((int)extraEffectCorrectionValue));
    }
Пример #4
0
    public static int GetExtraEffectValue(List <ExtraEffectStatus> extraEffectStatusList, int baseValue, CharacterStateControl character, EffectStatusBase.ExtraEffectType effectType)
    {
        List <ExtraEffectStatus> list = ChipEffectStatus.CheckStageEffectInvalid(extraEffectStatusList, character);

        if (list.Count == 0)
        {
            return(baseValue);
        }
        return((int)ExtraEffectStatus.GetExtraEffectCorrectionValue(list, (float)baseValue, character.characterStatus.monsterIntegrationIds, character.groupId, character.tolerance, character.characterDatas.tribe, character.characterDatas.growStep, null, character.currentSufferState, ExtraEffectStatus.GetExtraTargetType(character), effectType));
    }