/// <reference path="../../playerCharacter/skills/skills.ts" />


setup.skills.makeup = {
	label: 'Make-up',
	e2s: (n=>Math.floor(n/100)),
	s2e: (n=>n*100),
	isDifficultyBased:true,
	image: 'pc/skills/makeup.webp',
	description: '',
	functions:{
		experienceGain: (makeupLevel:number,thickness:('subtle'|'medium'|'heavy'|'train'),hastened:boolean=false) => {
			switch(thickness){
				case "subtle":
					if(makeupLevel < 10) return 25;
					if(makeupLevel < 20) return 10;
					if(makeupLevel < 30) return 5;
					return 0;
				case "medium":
					if(makeupLevel < 20) return 30;
					if(makeupLevel < 30) return 15;
					if(makeupLevel < 40) return 10;
					return 0;
				case "heavy":
					if(makeupLevel < 30) return 50;
					if(makeupLevel < 40) return 30;
					if(makeupLevel < 50) return 20;
					return 0;
				case "train":
					if(makeupLevel < 40) return 100;
					if(makeupLevel < 50) return 50;
					return 0;
			}
			return 0;
		},
		timeRequirement:(makeupLevel:number,thickness:('subtle'|'medium'|'heavy'),hastened:boolean=false)=>{
			const base = Math.pow(0.5,0.02);
			const factor = Math.pow(base,makeupLevel) * (hastened ? 0.5 : 1);
			switch(thickness){
				case "subtle":	return Math.ceil(factor * 20);
				case "medium":	return Math.ceil(factor * 40);
				case "heavy":	return Math.ceil(factor * 80);
			}
		}
	}
}