using NeonSprawl.Server.Game.Mastery;
namespace NeonSprawl.Server.Game.Skills;
///
/// NEO-43: E7.M2 mission/quest reward apply should call so XP uses the same path as
/// POST …/skill-progression. Outcome is ignored on success paths (mirror NEO-42); use
/// directly when callers need deny envelopes.
///
public static class MissionRewardSkillXpGrant
{
/// Applies one grant with sourceKind: mission_reward if the catalog allowlist permits it.
/// Pass a normalized (e.g. route-trimmed), matching other grant hook callers.
public static void GrantFromMissionReward(
string playerId,
string skillId,
int amount,
ISkillDefinitionRegistry registry,
IPlayerSkillProgressionStore xpStore,
ISkillLevelCurve levelCurve,
PerkUnlockEngine perkUnlockEngine)
{
_ = SkillProgressionGrantOperations.TryApplyGrant(
playerId,
skillId,
amount,
MissionRewardSkillXpConstants.MissionRewardSourceKind,
registry,
xpStore,
levelCurve,
perkUnlockEngine);
}
}