/// <inheritdoc /> public void OnTargetKilled(ILivingEntity killedEntity) { if (killedEntity is IMonsterEntity deadMonster) { // Give experience _experienceSystem.GiveExeperience(_player, deadMonster.Data.Experience * _worldConfiguration.Rates.Experience); // Quest check _questSystem.UpdateQuestDiary(_player, QuestActionType.KillMonster, deadMonster.Data.Id, 1); } }
public void OnSendExpServerHandler(IWorldClient client, ExperiencePacket packet) { if (client.Player.PlayerData.Authority == AuthorityType.GameMaster || client.Player.PlayerData.Authority == AuthorityType.Administrator) { _logger.LogTrace($"{client.Player.Object.Name} gives himself {packet.Experience} experience point."); _expSystem.GiveExeperience(client.Player, packet.Experience); } else { throw new ArgumentException($"{client.Player.Object.Name} cannot send to himself exp server while beeing {client.Player.PlayerData.Authority}."); } }