public void ServerOnShot(PlayerCharacterSkills skills) { if (this.ExperienceAddedPerShot > 0) { skills.ServerAddSkillExperience(this, this.ExperienceAddedPerShot); } }
public void ServerOnKill(PlayerCharacterSkills skills, ICharacter killedCharacter) { var maxHealth = killedCharacter.SharedGetFinalStatValue(StatName.HealthMax); skills.ServerAddSkillExperience( this, experience: maxHealth * this.ExperienceAddedOnKillPerMaxEnemyHealthMultiplier); }
public void ServerOnDamageApplied( PlayerCharacterSkills skills, IWorldObject damagedObject, double damageApplied) { if (damagedObject is ICharacter) { // apply experience only when the damage is applied to a character skills.ServerAddSkillExperience(this, damageApplied * this.ExperienceAddedPerDamageDoneMultiplier); } }