using System;
using MaidStatus;
using Yotogis;

public class Yotogi
{
	public const int kSkillMaxSlot = 7;

	public enum ExcitementStatus
	{
		Minus,
		Small,
		Medium,
		Large
	}

	public enum SkillCommandType
	{
		挿入,
		継続,
		単発,
		単発_挿入,
		絶頂,
		止める
	}

	public enum RCType
	{
		RCNull,
		RC0,
		RC1,
		RC2
	}

	public enum RRCType
	{
		RRCNull,
		RRC_2,
		RRC_1,
		RRC1,
		RRC2,
		RRC3,
		RRC4,
		RRC5,
		RRC6,
		RRC7,
		RRC8,
		RRC9
	}

	public enum RRType
	{
		RRNull,
		RR_2,
		RR_1,
		RR1,
		RR2,
		RR3,
		RR4,
		RR5,
		RR6
	}

	public enum Category
	{
		淫欲,
		変態,
		奉仕,
		M性,
		交換,
		乱交,
		詰られ,
		ハ\u30FCレム,
		MAX
	}

	public class SkillDataPair
	{
		public static Yotogi.SkillDataPair Create(Maid maid, int skill_id)
		{
			return new Yotogi.SkillDataPair
			{
				maid = maid,
				base_data = Skill.Get(skill_id),
				skill_data = maid.status.yotogiSkill.Get(skill_id)
			};
		}

		public static Yotogi.SkillDataPair CreateBaseDataOnly(Maid maid, Skill.Data base_data)
		{
			return new Yotogi.SkillDataPair
			{
				maid = maid,
				base_data = base_data,
				skill_data = null
			};
		}

		public static Yotogi.SkillDataPair Create(Maid maid, Skill.Data base_data)
		{
			return new Yotogi.SkillDataPair
			{
				maid = maid,
				base_data = base_data,
				skill_data = maid.status.yotogiSkill.Get(base_data.id)
			};
		}

		public static Yotogi.SkillDataPair Create(Maid maid, YotogiSkillData skill_data)
		{
			return new Yotogi.SkillDataPair
			{
				maid = maid,
				base_data = skill_data.data,
				skill_data = skill_data
			};
		}

		public Skill.Data base_data;

		public YotogiSkillData skill_data;

		public Maid maid;

		public bool lock_skill_exp;
	}
}
