public void Initialize(BuffConfiguration newConfiguration, ElementType[] newAffinity, BattleNPC newCaster = null)
 {
     m_Configuration    = newConfiguration;
     m_BuffActiveObject = _createBuffActive(newConfiguration);
     m_SkillAffinity    = newAffinity;
     m_Caster           = newCaster;
 }
Esempio n. 2
0
        public override string ToString()
        {
            string passiveText;

            switch (Type)
            {
            case JudgementType.Basic:
                if (BasicType == BasicType.Number)
                {
                    if (BuffPassive.IsZero)
                    {
                        passiveText = "";
                    }
                    else
                    {
                        passiveText = BuffPassive.ToString(false);
                    }
                }
                else
                {
                    passiveText = $"/{BasicType.GetText()}{BuffPassive.ToString(true)}";
                }
                break;

            case JudgementType.Versus:
                passiveText = $"/{UseSkillPassive.GetText()}{BuffPassive.ToString(true)}";
                break;

            default:
                return(Type.GetText());
            }
            return($"{Type.GetText()}({UseSkillActive.GetText()}{BuffActive.ToString(true)}{passiveText})");
        }
Esempio n. 3
0
 public BuffByte(BuffByteConfig newConfiguration, BuffActive newController, BattleNPC caster)
 {
     Configuration = newConfiguration;
     Controller    = newController;
     BuffCaster    = caster;
     BuffDiff      = 0;
 }
Esempio n. 4
0
    private void OnBuffFunction(string methodName, params object[] parameter)
    {
        var myClass = new BuffActive();

        var method = myClass.GetType().GetMethod(methodName);

        if (method != null)
        {
            method.Invoke(myClass, parameter);
        }
    }
    private void _applyBuffWhenPassesChance(BattleNPC targetNPC)
    {
        bool passedChanceToHit = GameGlobals.CheckPercentHitChance(m_Configuration.ChanceToApply);

        if (passedChanceToHit)
        {
            BuffActive newActive = Instantiate(m_BuffActiveObject, targetNPC.transform);
            newActive.gameObject.SetActive(true);
            targetNPC.RegisterBuff(newActive);
            newActive.Initialize(m_Configuration, m_SkillAffinity, m_Caster);
            newActive.StartBuffs(targetNPC);
        }
    }
    private BuffActive _createBuffActive(BuffConfiguration configuration)
    {
        GameObject newObject = new GameObject(configuration.name);

        newObject.SetActive(false);
        SpriteRenderer renderer = newObject.AddComponent <SpriteRenderer>();

        renderer.material         = m_BuffSpriteMaterial;
        renderer.sortingLayerName = BattleGlobals.BUFF_LAYER_NAME;
        newObject.layer           = LayerMask.NameToLayer(BattleGlobals.BUFF_LAYER_NAME);
        renderer.sortingOrder     = m_BuffSpriteOrder;
        BuffActive newActive = newObject.AddComponent <BuffActive>();

        return(newActive);
    }
 public SkillDropBuffByte(BuffByteConfig newConfiguration, BuffActive newController, BattleNPC caster) :
     base(newConfiguration, newController, caster)
 {
 }
Esempio n. 8
0
    public BuffByte GenerateBuffByteFromByteType(BuffActive newController, BattleNPC caster)
    {
        BuffByte returnObject = null;

        switch (ByteType)
        {
        case BuffByteType.Cleanse:
            returnObject = new CleanseBuffByte(this, newController, caster);
            break;

        case BuffByteType.Current_Health:
            returnObject = new CurrentHealthBuffByte(this, newController, caster);
            break;

        case BuffByteType.Delayed_Revive:
            returnObject = new DelayedReviveBuffByte(this, newController, caster);
            break;

        case BuffByteType.Experience:
            returnObject = new ExperienceBuffByte(this, newController, caster);
            break;

        case BuffByteType.Flat_Resistance:
            returnObject = new FlatResistanceBuffByte(this, newController, caster);
            break;

        case BuffByteType.Martyr:
            returnObject = new MartyrBuffByte(this, newController, caster);
            break;

        case BuffByteType.Maximum_Health:
            returnObject = new MaxHealthBuffByte(this, newController, caster);
            break;

        case BuffByteType.Move_Speed:
            returnObject = new MoveSpeedBuffByte(this, newController, caster);
            break;

        case BuffByteType.Readiness:
            returnObject = new ReadinessBuffByte(this, newController, caster);
            break;

        case BuffByteType.Resistance:
            returnObject = new ResistanceBuffByte(this, newController, caster);
            break;

        case BuffByteType.Retaliate:
            returnObject = new RetaliateBuffByte(this, newController, caster);
            break;

        case BuffByteType.Skill_Drop:
            returnObject = new SkillDropBuffByte(this, newController, caster);
            break;

        case BuffByteType.Skill_Level:
            returnObject = new SkillLevelBuffByte(this, newController, caster);
            break;

        case BuffByteType.Stun:
            returnObject = new StunDebuffByte(this, newController, caster);
            break;

        case BuffByteType.Taunt:
            returnObject = new TauntDebuffByte(this, newController, caster);
            break;

        default:
            break;
        }
        return(returnObject);
    }
Esempio n. 9
0
 public MoveSpeedBuffByte(BuffByteConfig newConfiguration, BuffActive newController, BattleNPC caster) :
     base(newConfiguration, newController, caster)
 {
 }
Esempio n. 10
0
 public ExperienceBuffByte(BuffByteConfig newConfiguration, BuffActive newController, BattleNPC caster) :
     base(newConfiguration, newController, caster)
 {
 }
 public DelayedReviveBuffByte(BuffByteConfig newConfiguration, BuffActive newController, BattleNPC caster) :
     base(newConfiguration, newController, caster)
 {
 }
 public FlatResistanceBuffByte(BuffByteConfig newConfiguration, BuffActive newController, BattleNPC caster) :
     base(newConfiguration, newController, caster)
 {
     m_GotLock = false;
 }
Esempio n. 13
0
 public TauntDebuffByte(BuffByteConfig newConfiguration, BuffActive newController, BattleNPC caster) :
     base(newConfiguration, newController, caster)
 {
     Configuration.IsDebuff = true;
 }
Esempio n. 14
0
 public ReadinessBuffByte(BuffByteConfig newConfiguration, BuffActive newController, BattleNPC caster) :
     base(newConfiguration, newController, caster)
 {
 }
Esempio n. 15
0
 public RetaliateBuffByte(BuffByteConfig newConfiguration, BuffActive newController, BattleNPC caster) :
     base(newConfiguration, newController, caster)
 {
     Continuous = true;
 }
 public CurrentHealthBuffByte(BuffByteConfig newConfiguration, BuffActive newController, BattleNPC caster) :
     base(newConfiguration, newController, caster)
 {
 }
 public StunDebuffByte(BuffByteConfig newConfiguration, BuffActive newController, BattleNPC caster) :
     base(newConfiguration, newController, caster)
 {
     m_AlreadyAppliedStun   = false;
     Configuration.IsDebuff = true;
 }