/// <summary> /// Remove a partyMember from the party /// </summary> /// <param name="pm"> partyMember to remove </param> public void RemovePartyMember(PartyMember pm) { pm.RemoveAllStatusEffects(); partyMembersAll.Remove(pm); partyMembersAlive.Remove(pm); partyMembersDead.Remove(pm); EventManager.instance.UpdatePartyMembers(); Destroy(pm.gameObject); }
/// <summary> /// Similar to a revive, except for summons, it always restore the summon /// to full health and mana, purging status effects, and may be used while the summon /// is alive (hence not always needing to register the partyMember alive again) /// </summary> /// <param name="summon"></param> public void RestoreSummon(PartyMember summon) { if (summon.CheckDeath() == true) { RegisterPartyMemberAlive(summon); } summon.AddHP((int)(summon.HP)); summon.AddMP((int)(summon.MP)); summon.RemoveAllStatusEffects(); summon.GetSummonBuff(); }
/// <summary> /// Adds a partyMember to the dead list and removes them from the alive list /// </summary> /// <param name="pm"> partyMember object </param> public void RegisterPartyMemberDead(PartyMember pm) { if (partyMembersAlive.Contains(pm)) { partyMembersAlive.Remove(pm); partyMembersDead.Add(pm); pm.RemoveAllStatusEffects(); CalculateMultipliers(); } }