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; }
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; } }
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); } } } } } }
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; } } } }
// 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>(); }
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 }
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; }
public Spell GetSpell(string spellName) { Spell spell = Array.Find(spells, x => x.Name == spellName); return(spell); }