Example #1
0
 public void BonusWeakElement(EffectElement element)
 {
     if (IsWeakElement(element))
     {
         _context.Attack = (Int16)(_context.Attack * 3 >> 1);
     }
 }
Example #2
0
 public void PenaltyAbsorbElement(EffectElement element)
 {
     if (CanAbsorbElement(element))
     {
         _context.DefensePower = 0;
     }
 }
Example #3
0
 public void PenaltyHalfElement(EffectElement element)
 {
     if (IsHalfElement(element))
     {
         _context.Attack >>= 1;
     }
 }
Example #4
0
 public Boolean CanAbsorbElement(EffectElement element)
 {
     if (IsAbsorbElement(element))
     {
         _context.Flags |= BattleCalcFlags.Absorb;
         return(true);
     }
     return(false);
 }
Example #5
0
 public Boolean CanGuardElement(EffectElement element)
 {
     if (IsGuardElement(element))
     {
         _context.Flags |= BattleCalcFlags.Guard;
         return(true);
     }
     return(false);
 }
Example #6
0
        public void AlterStatuses(EffectElement element)
        {
            if ((element & (EffectElement.Cold | EffectElement.Aqua)) != 0)
            {
                RemoveStatus(BattleStatus.Heat);
            }

            if ((element & EffectElement.Fire) != 0)
            {
                RemoveStatus(BattleStatus.Freeze);
            }
        }
    public static void Effect(string effectName, Vector3 position, float volumeSound = -1f)
    {
        MusicManager  musicManager = MusicManager.GetMusicManager();
        GameObject    ONE_SHOT     = Instantiate(Resources.Load("Prefabs/ONE_SHOT", typeof(GameObject))) as GameObject;
        EffectElement found        = musicManager.foundEffect(effectName);

        if (found.name != null)
        {
            volumeSound = volumeSound == -1f ? musicManager.volume : volumeSound;
            ONE_SHOT.transform.position = position;
            ONE_SHOT.GetComponent <OneShotEffect>().Play(found.variants[Random.Range(0, found.variants.Count)], volumeSound);
        }
    }
Example #8
0
        public Boolean CanAttackElement(EffectElement element)
        {
            if (CanGuardElement(element))
            {
                return(false);
            }

            PenaltyHalfElement(element);
            PenaltyAbsorbElement(element);
            BonusWeakElement(element);
            AlterStatuses(element);

            return(true);
        }
    public List <effect_data.Effect> GetEffect(uint eid)
    {
        EffectElement?[] effectElements = GetEffectElementsByKey(eid);
        var eff = new List <effect_data.Effect>();

        if (effectElements.Length > 0)
        {
            for (int i = 0; i < effectElements.Length; i++)
            {
                EffectElement?item          = effectElements[i];
                EffectElement effectElement = item.Value;
                eff.Add(new effect_data.Effect((int)effectElement.Function, (int)effectElement.Attribute, effectElement.Value, effectElement.PipeLv));
            }
        }

        return(eff);
    }
Example #10
0
    public void PlayEffect(string effectName, float volumeSound = -1f)
    {
        volumeSound = volumeSound == -1 ? volume : volumeSound;
        EffectElement found = foundEffect(effectName);

        if (found.name != null)
        {
            AudioSource newAudio = gameObject.AddComponent(typeof(AudioSource)) as AudioSource;
            Sound2D.Adapt2DSound(newAudio);
            newAudio.maxDistance = maxDistance;
            newAudio.minDistance = minDistance;
            newAudio.clip        = found.variants[Random.Range(0, found.variants.Count)];
            newAudio.volume      = volumeSound;
            newAudio.Play();
            newAudio.loop = false;
            allSourcesSoundsEffects.Add(newAudio);
        }
    }
Example #11
0
        public void ParseEntry(String[] raw)
        {
            int index = 0;

            Targets     = (TargetType)CsvParser.Byte(raw[index++]);
            DefaultAlly = CsvParser.Boolean(raw[index++]);
            Display     = (TargetDisplay)CsvParser.Byte(raw[index++]);
            AnimationId = CsvParser.Int16(raw[index++]);
            Dead        = CsvParser.Boolean(raw[index++]);
            DefaultDead = CsvParser.Boolean(raw[index++]);

            ScriptId = CsvParser.Byte(raw[index++]);
            Power    = CsvParser.Byte(raw[index++]);
            Rate     = CsvParser.Byte(raw[index++]);
            Element  = (EffectElement)CsvParser.Byte(raw[index++]);

            Status = (BattleStatus)CsvParser.UInt32(raw[index]);
        }
Example #12
0
 public Boolean IsAbsorbElement(EffectElement element)
 {
     return((AbsorbElement & element) != 0);
 }
Example #13
0
 public static void SetBattleFollowMessage(BattleMesages message, EffectElement element)
 {
     UIManager.Battle.SetBattleFollowMessage((Int32)message, UIManager.Battle.BtlGetAttrName((Int32)element));
 }
Example #14
0
 public Boolean HasElement(EffectElement element)
 {
     return((Element & element) != 0);
 }
Example #15
0
 public Boolean IsGuardElement(EffectElement element)
 {
     return((GuardElement & element) != 0);
 }
Example #16
0
 public Boolean IsHalfElement(EffectElement element)
 {
     return((HalfElement & element) != 0);
 }
Example #17
0
 public Boolean IsWeakElement(EffectElement element)
 {
     return((WeakElement & element) != 0);
 }