public int GetTempHP(IHasHealth hasHealth)
        {
            if (TempHitPointsDict.ContainsKey(hasHealth))
            {
                return(TempHitPointsDict[hasHealth]);
            }

            return(0);
        }
        public int TakeDamage(IHasHealth hasHealth, int damage)
        {
            if (TempHitPointsDict.ContainsKey(hasHealth))
            {
                if (damage > TempHitPointsDict[hasHealth])
                {
                    damage -= TempHitPointsDict[hasHealth];
                    TempHitPointsDict[hasHealth] = 0;
                }
                else
                {
                    TempHitPointsDict[hasHealth] -= damage;
                    damage = 0;
                }
            }

            return(damage);
        }