Aura.Channel.World.Entities.Creatures.CreatureDeadMenu.GetExpPenalty C# (CSharp) Метод

GetExpPenalty() публичный Метод

Returns exp penalty for given level and option.
public GetExpPenalty ( int level, ReviveOptions option ) : int
level int
option ReviveOptions
Результат int
		public int GetExpPenalty(int level, ReviveOptions option)
		{
			float optionMultiplicator;
			switch (option)
			{
				// Check both Nao Stone options for exp, as the exp aren't
				// reduced until the second option gets in.
				case ReviveOptions.NaoStone: optionMultiplicator = 0.001f; break;
				case ReviveOptions.NaoStoneRevive: optionMultiplicator = 0.001f; break;

				case ReviveOptions.PhoenixFeather: optionMultiplicator = 0.0025f; break;
				case ReviveOptions.DungeonEntrance: optionMultiplicator = 0.005f; break;
				case ReviveOptions.StatueOfGoddess: optionMultiplicator = 0.0075f; break;
				case ReviveOptions.Here: optionMultiplicator = 0.01f; break;

				case ReviveOptions.Town:
					var premium = true;
					if (premium)
						goto default;
					optionMultiplicator = 0.005f; break;

				default: return 0;
			}

			float levelMultiplicator;
			if (level < 10) levelMultiplicator = 1;
			else if (level < 30) levelMultiplicator = 3;
			else if (level < 50) levelMultiplicator = 4;
			else if (level < 100) levelMultiplicator = 5;
			else levelMultiplicator = 6;

			var exp = AuraData.ExpDb.GetForLevel(level);

			return (int)(exp * optionMultiplicator * levelMultiplicator);
		}
	}