private IList<IEffectSpriteInfo> ResolvePotionEffect(HardCodedPotionEffect effect)
		{
			var retList = _potionEffects[effect];
			foreach(var item in retList)
				item.Restart();
			return new List<IEffectSpriteInfo>(retList);
		}
Esempio n. 2
0
        private IList <IEffectSpriteInfo> ResolvePotionEffect(HardCodedPotionEffect effect)
        {
            var retList = _potionEffects[effect];

            foreach (var item in retList)
            {
                item.Restart();
            }
            return(new List <IEffectSpriteInfo>(retList));
        }
		private IList<EffectSpriteInfo> ResolvePotionEffect(HardCodedPotionEffect effect)
		{
			//FIRE: Effect #0 - 4 frames (same for small fire spell)
			// 101 - behind character
			// 102 - around character, 50% opacity
			// 103 - in front of character
			// repeats x2

			//LOVE: Effect #1 - 4 frames
			// 106 - in front of character
			// repeats x4

			//CELEBRATE: Effect #4 - 7 frames
			// 115 - in front of character
			// repeats x2

			//SPARKLES: Effect #5 - 5 frames (this one is weird)
			// 117 - in front of character (possible opacity?)
			// 118 - in front of character
			// repeats x1

			//EVIL: Effect #6 - 4 frames
			// 119 - behind character
			// repeats x4
			
			//TERROR: Effect #7 - 4 frames
			// 122 - behind character
			// repeats x4

			switch (effect)
			{
				case HardCodedPotionEffect.FLAMES:
					return new List<EffectSpriteInfo>(3)
					{
						new EffectSpriteInfo(4, 2, false, 255, GetGraphic(101)),
						new EffectSpriteInfo(4, 2, true, 128, GetGraphic(102)),
						new EffectSpriteInfo(4, 2, true, 255, GetGraphic(103))
					};
				case HardCodedPotionEffect.LOVE:
					return new List<EffectSpriteInfo>(1)
					{
						new EffectSpriteInfo(4, 4, true, 255, GetGraphic(106))
					};
				case HardCodedPotionEffect.CELEBRATE:
					return new List<EffectSpriteInfo>(1)
					{
						new EffectSpriteInfo(7, 2, true, 255, GetGraphic(115))
					};
				case HardCodedPotionEffect.SPARKLES:
					return new List<EffectSpriteInfo>(2)
					{
						new EffectSpriteInfo(5, 1, true, 255, GetGraphic(117)),
						new EffectSpriteInfo(5, 1, true, 255, GetGraphic(118))
					};
				case HardCodedPotionEffect.EVIL:
					return new List<EffectSpriteInfo>(1)
					{
						new EffectSpriteInfo(4, 4, false, 255, GetGraphic(119))
					};
				case HardCodedPotionEffect.TERROR:
					return new List<EffectSpriteInfo>(1)
					{
						new EffectSpriteInfo(4, 4, false, 255, GetGraphic(122))
					};
				default: throw new ArgumentOutOfRangeException("effect", effect, null);
			}
		}