Ejemplo n.º 1
0
 private void addGameObject(GameObject go, StatusEffectType.StatusTypes key)
 {
     prefabs.Add(key, go);
 }
Ejemplo n.º 2
0
        public void DrawStatusEffect(GameObject primaryTarget, StatusEffectType.StatusTypes key)
        {
            if (statusPrefabManager == null)
                statusPrefabManager = GameObject.Find("StatusPrefabManager").GetComponent<StatusPrefabManager>();

            GameObject go;

            if (prefabs.ContainsKey(key))
            {
                go = prefabs[key];
            }
            else
            {
                go = statusPrefabManager.getStatus(status).effect;
                if (go == null)
                    return;

                addGameObject(go, key);
            }

            Bounds casterBounds = primaryTarget.GetComponent<IBattleCharacter>().getModelBounds();
            Vector3 castPoint = casterBounds.center;
            castPoint.y = (casterBounds.center.y + casterBounds.extents.y) * yCastPoint;

            go = GameObject.Instantiate(go);
            go.transform.parent = primaryTarget.transform;
            go.transform.localPosition = castPoint;
        }
Ejemplo n.º 3
0
    public void applyStatusEffect(StatusEffectType statusEffectType)
    {
        switch (statusEffectType.status)
        {
            case StatusEffectType.StatusTypes.Wait:
                addStock();
                playerStats.offenseDamageMultiplier = playerStats.offenseDamageMultiplier * statusEffectType.calculateEffect();
                break;

            case StatusEffectType.StatusTypes.Raise:
                playerStats.dead = false;
                playerStats.curHP = 1;

                Damage damage = new Damage(-(int)(statusEffectType.potency * playerStats.maxHP), false);
                damage.actualDamage = damage.baseDamage;
                this.takeDamage(damage, false, 0.0f);
                break;

        }

        // Apply status effect for each unique type of status effect type
    }
Ejemplo n.º 4
0
 public void removeStatusEffect(StatusEffectType statusEffectType)
 {
     switch (statusEffectType.status)
     {
         case StatusEffectType.StatusTypes.Raise:
             break;
         case StatusEffectType.StatusTypes.Poison:
             break;
         case StatusEffectType.StatusTypes.Haste:
             break;
         case StatusEffectType.StatusTypes.Slow:
             break;
         case StatusEffectType.StatusTypes.Curse:
             break;
         case StatusEffectType.StatusTypes.Death:
             break;
         case StatusEffectType.StatusTypes.Regen:
             break;
         case StatusEffectType.StatusTypes.Wait:
             playerStats.offenseDamageMultiplier = playerStats.offenseDamageMultiplier / statusEffectType.calculateEffect();
             break;
         default:
             break;
     }
 }
Ejemplo n.º 5
0
 public StatusEffect(StatusEffectType statusEffectType, Damage damageEachTurn)
 {
     this.statusEffectType = statusEffectType;
     this.damageEachTurn = damageEachTurn;
 }