Пример #1
0
 public BattleAction(BattleSequence bs, Player user, Player[] target, BattleActionType type, Spell spell, Item item)
 {
     this.user = user;
     this.target = target;
     this.type = type;
     this.spell = spell;
     this.item = item;
     this.battleSequence = bs;
 }
Пример #2
0
 public void Initialize( Texture2D texture, Spell action, Vector2 position, bool isLeft, int xwall, BattleEntity ent)
 {
     Texture = texture;
     Position = position;
     Active = true;
     this.xwall = xwall;
     projectileMoveSpeed = 6;
     this.isLeft = isLeft;
     soundplay = false;
     ba = action;
     this.ent = ent;
 }
    // Use this for initialization

    void Start()
    {
        list = GameObject.Find("Player").GetComponent <CharacterWieldingMagic>().StudiedSpells;
        for (int i = 0; i < inventory.transform.childCount; i++)
        {
            GameObject img = Instantiate(container);
            img.transform.SetParent(inventory.transform.GetChild(i).transform);

            RPG.Spell it = list[i];
            img.GetComponent <Image>().sprite     = Resources.Load <Sprite>(it.sprite);
            img.GetComponent <SpellClick>().spell = it;
        }
    }
Пример #4
0
 private void OnTriggerStay2D(Collider2D other)
 {
     if (other.gameObject.name == "Player")
     {
         if (Input.GetKeyDown(KeyCode.Space))
         {
             inventory.SetActive(!inventory.activeSelf);
             if (inventory.activeSelf == true)
             {
                 int count = list.Count;
                 for (int i = 0; i < count; i++)
                 {
                     RPG.Spell it = list[i];
                     if (!other.gameObject.GetComponent <RPG.CharacterWieldingMagic>().StudiedSpells.Contains(it))
                     {
                         if (inventory.transform.childCount >= i)
                         {
                             GameObject img = Instantiate(container);
                             img.transform.SetParent(inventory.transform.GetChild(i).transform);
                             img.GetComponent <Image>().sprite     = Resources.Load <Sprite>(it.sprite);
                             img.GetComponent <SpellClick>().spell = it;
                         }
                         else
                         {
                             break;
                         }
                     }
                 }
             }
             if (inventory.activeSelf == false)
             {
                 for (int i = 0; i < inventory.transform.childCount; i++)
                 {
                     if (inventory.transform.GetChild(i).transform.childCount > 0)
                     {
                         Destroy(inventory.transform.GetChild(i).transform.GetChild(0).gameObject);
                     }
                 }
             }
         }
     }
 }
Пример #5
0
 private void OnTriggerEnter2D(Collider2D other)
 {
     if (other.gameObject.name == "Player")
     {
         inventory.SetActive(true);
         int count = list.Count;
         for (int i = 0; i < count; i++)
         {
             RPG.Spell it = list[i];
             if (inventory.transform.childCount >= i)
             {
                 GameObject img = Instantiate(container);
                 img.transform.SetParent(inventory.transform.GetChild(i).transform);
                 img.GetComponent <Image>().sprite     = Resources.Load <Sprite>(it.sprite);
                 img.GetComponent <SpellClick>().spell = it;
             }
             else
             {
                 break;
             }
         }
     }
 }
Пример #6
0
    // Use this for initialization

    void Start()
    {
        inventory.SetActive(true);
        int count = list.Count;

        for (int i = 0; i < count; i++)
        {
            RPG.Spell it = list[i];
            if (inventory.transform.childCount >= i)
            {
                GameObject img = Instantiate(container);
                img.transform.SetParent(inventory.transform.GetChild(i).transform);
                img.GetComponent <Image>().sprite     = Resources.Load <Sprite>(it.sprite);
                img.GetComponent <SpellClick>().spell = it;
            }
            else
            {
                break;
            }
        }

        // playerContr = GetComponent<PlayerMovement>();
    }
Пример #7
0
 public PlayerBase(PlayerType type, int HP_MAX, int MP_MAX,
     int INIT_ATK, int INIT_MAG_ATK, int INIT_DEF, int INIT_AGL, int INIT_HP_REGEN, int INIT_MP_REGEN,
     Item[] inventory, Item armor, Item weapon, ItemType[] equipableArmor, ItemType[] equipableWeapon,
     int HP_GROWTH, int MP_GROWTH, int ATK_GROWTH, int MAG_ATK_GROWTH, int DEF_GROWTH, int AGL_GROWTH,
     int[] expGrowth, Spell[] spellList, Sprite battleSprite)
 {
     #region INITIALIZATIONS
     this.playerType = type;
     this.baseHP = HP_MAX;
     this.baseMP= MP_MAX;
     this.baseATK = INIT_ATK;
     this.baseDEF = INIT_DEF;
     this.baseAGL = INIT_AGL;
     this.baseMAGATK = INIT_MAG_ATK;
     this.baseHPRegen = INIT_HP_REGEN;
     this.baseMPRegen = INIT_MP_REGEN;
     this.inventory = new Inventory(inventory);
     this.armor = armor;
     this.weapon = weapon;
     this.weaponSet = equipableWeapon;
     this.armorSet = equipableArmor;
     this.hpGrowth = HP_GROWTH;
     this.mpGrowth = MP_GROWTH;
     this.atkGrowth = ATK_GROWTH;
     this.magAtkGrowth = MAG_ATK_GROWTH;
     this.defGrowth = DEF_GROWTH;
     this.aglGrowth = AGL_GROWTH;
     this.expGrowth = expGrowth;
     this.spellList = spellList;
     #endregion
 }
Пример #8
0
        public Texture2D UseSpell(Player target, Spell spell)
        {
            Texture2D ret = null;
            switch(spell.type)
            {
                case SpellType.MAGIC:
                    ret = Game1.fire;
                    break;
                case SpellType.SUPPORT:
                    ret = Game1.heal;
                    break;
                case SpellType.PHYSICAL:
                    ret = Game1.sword;
                    break;
                default:
                    ret = Game1.sword;
                    break;
            }
            switch (spell.type)
            {
                case SpellType.MAGIC:

                    foreach(SpellEffect se in spell.effects)
                    {
                        if (se.target == SpellTargetType.SELF)
                        {
                            switch (se.type)
                            {
                                case SpellEffectType.MP:
                                    if ((se.value * -1) > this.GetCurrentMana())
                                        return null;
                                    break;
                                case SpellEffectType.HP:
                                    if ((se.value * -1) > this.GetCurrentHealth())
                                        return null;
                                    break;

                            }
                        }
                    }

                    foreach (SpellEffect se in spell.effects)
                    {

                        switch (se.target)
                        {
                            case SpellTargetType.ALL:
                                break; //not supported
                            case SpellTargetType.SELF:
                                this.ModifyStatSpell(se.type, se.value);
                                break;
                            case SpellTargetType.SINGLE:
                                int damage = se.value + this.GetCurrentMAGATK();
                                target.ModifyStatSpell(se.type,-1 * damage);
                                break;
                            default: break;
                        }
                    }
                    break;
                case SpellType.PHYSICAL:
                    foreach (SpellEffect se in spell.effects)
                    {
                        switch (se.target)
                        {
                            case SpellTargetType.ALL:
                                break; //not supported
                            case SpellTargetType.SELF:
                                this.ModifyStatSpell(se.type, se.value);
                                break;
                            case SpellTargetType.SINGLE:
                                int damage = se.value + this.GetCurrentATK();
                                target.ModifyStatSpell(se.type, -1 * damage);
                                break;
                            default: break;
                        }
                    }
                    break;
                case SpellType.SUPPORT:
                    foreach (SpellEffect se in spell.effects)
                    {
                        switch (se.target)
                        {
                            case SpellTargetType.ALL:
                                break; //not supported
                            case SpellTargetType.SELF:
                                this.ModifyStatSpell(se.type, se.value);
                                break;
                            case SpellTargetType.SINGLE:
                                int damage = se.value + this.GetCurrentMAGATK();
                                target.ModifyStatSpell(se.type, damage);
                                break;
                            default: break;
                        }
                    }
                    break;
                default: break;
            }
            return ret;
        }
Пример #9
0
        public Spell GetSpell(string spellName)
        {
            Spell spell = Array.Find(spells, x => x.Name == spellName);

            return(spell);
        }