code:
;-------------------------------------------------
;����哱��w��
;�Z�b�N�X�n�R�}���h�A���x��1
;-------------------------------------------------
@COM322
;-------------------------------------------------
;����h������
;-------------------------------------------------
;�����łȂ�or�o�X���[���Ńv���C�}�b�g�������Ɨ��ʂ�
SIF !INROOM(CFLAG:PLAYER:���݈ʒu) && !(BATHROOM() && ITEM:20)
	TFLAG:193 = 1

;-------------------------------------------------
;COM��FLAG�̐ݒ�
;-------------------------------------------------
;�s�׎�
TCVAR:116 = PLAYER

;��d���y�t���O
TCVAR:PLAYER:108 = 1

CSTR:PLAYER:10 += @"{TARGET}/"
;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
TCVAR:PLAYER:2 = 1
;���x
TCVAR:PLAYER:4 = 1800

CSTR:TARGET:10 += @"{PLAYER}/"
;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
TCVAR:TARGET:2 = 13
;���x
TCVAR:TARGET:4 = 1500

;-------------------------------------------------
;�\�[�X�ǉ�����
;-------------------------------------------------
DOWNBASE:PLAYER:�̗� += 80
SOURCE:PLAYER:���b = 450
DOWNBASE:�̗� += 40
DOWNBASE:�C�� += 50

SOURCE:���u = 500
SOURCE:� = 200
SOURCE:��� = 300
SOURCE:�I�o = 150
SIF TFLAG:193
	SOURCE:�I�o = 300

;��̂ق��Ōv�Z��������f�[�^
SOURCE:�s�� = Y*10 + 60
CALL ����\�[�X����
;V�ւ̋�ɂ͐�ɏ������Ă���
CALL PAIN_CHECK_V(TARGET)
;-------------------------------------------------
;����̏���
;-------------------------------------------------
;�ː��Ɋ֌W�Ȃ��s���鏈���͂�������
CALL STAIN_�S���o�}��
;-------------------------------------------------
;�o���̏���
;-------------------------------------------------
EXP:PLAYER:�}���o�� ++
EXP:�u�o�� ++
;�������@���Y�Ȃ�߂�l1�Q�C�Ȃ�߂�l2

IF HETEROSEX(TARGET,PLAYER)
	EXP:(50 + HETEROSEX(TARGET,PLAYER)) += 4
	EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 4
ENDIF
EXP:�u�����o�� ++
IF !ASSIPLAY
	EXP:����o�� += TALENT:���� * 3
	;����
	SIF TALENT:���� == 1 && TALENT:����
		EXP:����o�� += 10
ENDIF

RETURN 1

;-------------------------------------------------
;���s����
;-------------------------------------------------
@COM_ABLE322
SIF !TFLAG:100
	RETURN 0
SIF TCVAR:20 != 43
	RETURN 0
;�����҂��I�g�R�A�ӂ��Ȃ�̏ꍇ�͂�����x�u�N���ĂȂ��ƃ_��
SIF (TALENT:PLAYER:2 & 2) && BASE:PLAYER:�u�N < 1000
	RETURN 0
;�o�C�u�}�����̓_��
SIF TEQUIP:13
	RETURN 0
;�I�g�R���ƃ_��
SIF !(TALENT:2 & 1)
	RETURN 0
;�̊i��������ꍇ�͌o�����Ȃ��ƃ_��
SIF �}���s��(TARGET) == 1 && EXP:�u�o�� < 50 && !TALENT:PLAYER:�֒f�̒m��
	RETURN 0
;����ɑ̊i��������Ƌ֒f�̒m�����K�v
SIF �}���s��(TARGET) == 2 && (!TALENT:PLAYER:�֒f�̒m�� || EXP:�u�o�� < 50)
	RETURN 0
SIF �}���s��(TARGET) == 3
	RETURN 0
;�����҂��I�g�R�A���l���d�A�ӂ��Ȃ�A�������̓y�j�X�o���h���Ȃ��ƃ_��
SIF !(TALENT:PLAYER:2 & 2) && ITEM:PBAND == 0
	RETURN 0
;�����ŁA�]��4�ȉ��E���Y���C4�ȉ���ASSI�̏ꍇ�͂ł��Ȃ��i�T�h�Ȃ�n�j�j
IF TALENT:���� && ASSIPLAY
	SIF (ABL:ASSI:�]�� <= 4 || ABL:ASSI:���Y���C <= 4) && TALENT:ASSI:�T�h == 0
		RETURN 0
ENDIF

;�Ζʍ��ʂ���̓_��
SIF TEQUIP:�̈� == 4
	RETURN 0
;�����g����
SIF TEQUIP:0 & 4
	RETURN 0
;�����C��v���C���̓v���C�}�b�g�������ƃ_��
IF TEQUIP:31
	SIF ITEM:20 == 0 && NOITEM == 0
		RETURN 0
ENDIF

RETURN 1


code:
;-------------------------------------------------
;����哱��w�ʃA�i��
;�Z�b�N�X�n�R�}���h�A���x��1
;-------------------------------------------------
@COM323
;-------------------------------------------------
;����h������
;-------------------------------------------------
;�����łȂ�or�o�X���[���Ńv���C�}�b�g���Ȃ��Ɨ��ʂ�
SIF !INROOM(CFLAG:PLAYER:���݈ʒu) && !(BATHROOM() && ITEM:20)
	TFLAG:193 = 1

;-------------------------------------------------
;COM��FLAG�̐ݒ�
;-------------------------------------------------
;�s�׎�
TCVAR:116 = PLAYER
;��d���y�t���O
TCVAR:PLAYER:108 = 1

CSTR:PLAYER:10 += @"{TARGET}/"
;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
TCVAR:PLAYER:2 = 2
;���x
TCVAR:PLAYER:4 = 2000

CSTR:TARGET:10 += @"{PLAYER}/"
;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
TCVAR:TARGET:2 = 12
;���x
TCVAR:TARGET:4 = 1500

;-------------------------------------------------
;�\�[�X�ǉ�����
;-------------------------------------------------
DOWNBASE:�̗� += 60
DOWNBASE:�C�� += 60
DOWNBASE:PLAYER:�̗� += 100
SOURCE:PLAYER:���b = 400
SOURCE:���` = 500
SOURCE:� = 300
SOURCE:��� = 900
SOURCE:�I�o = 100
SOURCE:��E = 200

;��̂ق��Ōv�Z��������f�[�^
SOURCE:�s�� = Y*10 + 60

;A�ւ̋�ɂ͐�ɏ������Ă���
CALL PAIN_CHECK_A(TARGET)

;-------------------------------------------------
;����̏���
;-------------------------------------------------
;�ː��Ɋ֌W�Ȃ��s���鏈���͂�������
;�z��̂`�̒����҂̂o�̉��ꂪ�ړ�
CALL STAIN_�A�i���o�}��

;-------------------------------------------------
;�o���̏���
;-------------------------------------------------
EXP:�`�o�� ++
EXP:PLAYER:�}���o�� ++
;�������@���Y�Ȃ�߂�l1�Q�C�Ȃ�߂�l2
IF FLAG:70 == 1
	IF HETEROSEX(TARGET,PLAYER)
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 4
	ENDIF
		EXP:PLAYER:�����o�� += 1
ELSE
	IF HETEROSEX(TARGET,PLAYER)
		EXP:(50 + HETEROSEX(TARGET,PLAYER)) += 4
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 4
	ENDIF
	EXP:�`�����o�� ++
	;����o��
	SIF !ASSIPLAY
		EXP:����o�� += TALENT:����
ENDIF
RETURN 1

;-------------------------------------------------
;���s����
;-------------------------------------------------
@COM_ABLE323
SIF !TFLAG:100
	RETURN 0
SIF TCVAR:20 != 44
	RETURN 0
;�����҂��I�g�R�A�ӂ��Ȃ�̏ꍇ�͂�����x�u�N���ĂȂ��ƃ_��
SIF (TALENT:PLAYER:2 & 2) && BASE:PLAYER:�u�N < 1000
	RETURN 0
;�A�i���o�C�u�}�����̓_��
SIF TEQUIP:14
	RETURN 0
;�A�i���r�[�Y�g�p���͕s��
SIF TEQUIP:15
	RETURN 0
;���ʂ̟����g�p���͕s��
SIF TEQUIP:21
	RETURN 0
;�o���[���g�p���͕s��
SIF TEQUIP:22
	RETURN 0
;�d�Ɏg�p���͕s��
SIF TEQUIP:23
	RETURN 0

;�̊i��������ꍇ�͌o�����Ȃ��ƃ_��
SIF �}���s��(TARGET) == 1 && EXP:�`�o�� < 50 && !TALENT:PLAYER:�֒f�̒m��
	RETURN 0
;����ɑ̊i��������Ƌ֒f�̒m�����K�v
SIF �}���s��(TARGET) == 2 && (!TALENT:PLAYER:�֒f�̒m�� || EXP:�`�o�� < 50)
	RETURN 0
SIF �}���s��(TARGET) == 3
	RETURN 0
;�����҂��I�g�R�A���l���d�A�ӂ��Ȃ�A�������̓y�j�X�o���h���Ȃ��ƃ_��
SIF !(TALENT:PLAYER:2 & 2) && ITEM:PBAND == 0
	RETURN 0

;�Ζʍ��ʂ���̓_��
SIF TEQUIP:�̈� == 4
	RETURN 0
;�����g����
SIF TEQUIP:0 & 4
	RETURN 0
;�����C��v���C���̓v���C�}�b�g�������ƃ_��
IF TEQUIP:31
	SIF ITEM:20 == 0 && NOITEM == 0
		RETURN 0
ENDIF

RETURN 1

repo_name: akadiya/eratw

license: unknown


code:
;-------------------------------------------------
;�A�i���r��
;�����n�R�}���h�A���x��1
;-------------------------------------------------
@COM4
;-------------------------------------------------
;COM��FLAG�̐ݒ�
;-------------------------------------------------
;�s�׎�
TCVAR:116 = PLAYER
;��d���y
TCVAR:PLAYER:108 = 1

CSTR:TARGET:10 += @"{PLAYER}/"
;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
TCVAR:TARGET:2 = 12
;���x
TCVAR:TARGET:4 = 500

;-------------------------------------------------
;�\�[�X�ǉ�����
;-------------------------------------------------
;����̗́A�C��
IF FLAG:70 == 1
	BASE:MASTER:TSP -= 50
	SOURCE:���` = 50
	SOURCE:�t�� = 50
	SOURCE:���` += ABL:PLAYER:�� * 2

	;�����҂�TALENT:��g�����݂�
	SIF TALENT:PLAYER:��g��
		TIMES SOURCE:���` , 1.50

	;�����҂�TALENT:�L����݂�
	SIF TALENT:PLAYER:�L��
		TIMES SOURCE:���` , 0.75
	;�z��̂`�̒����҂̌��̉��ꂪ�ړ�
	STAIN:4 |= STAIN:PLAYER:0
	STAIN:PLAYER:0 |= STAIN:4

	;�������@���Y�Ȃ�߂�l1�Q�C�Ȃ�߂�l2
	IF HETEROSEX(TARGET,PLAYER)
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 3
	ENDIF

	;�����҂��L�㎝���̏ꍇ�́A�����҂ɚn�s���y�o����ǉ�
	SIF TALENT:PLAYER:�L��
		EXP:PLAYER:�n�s���y�o�� += 1
	EXP:PLAYER:�����o�� ++
ELSE

	DOWNBASE:�̗� += 5
	DOWNBASE:�C�� += 50

	SOURCE:���` = 50
	SOURCE:�t�� = 50
	SOURCE:��E = 40
	SOURCE:���� = 30

	;-------------------------------------------------
	;����\�[�X����
	;-------------------------------------------------
	;�}���A��R�����ɂ́A�}�T�\�[�X�ǉ�
	SIF TALENT:���Ȉ� < 0 || TALENT:��R
		SOURCE:�T�� += 50

	SOURCE:���` += ABL:PLAYER:�� * 2

	;�����҂�TALENT:��g�����݂�
	SIF TALENT:PLAYER:��g��
		TIMES SOURCE:���` , 1.50

	;�����҂�TALENT:�L����݂�
	SIF TALENT:PLAYER:�L��
		TIMES SOURCE:���` , 0.75

	;-------------------------------------------------
	;����̏���
	;-------------------------------------------------
	;�z��̂`�̒����҂̌��̉��ꂪ�ړ�
	STAIN:4 |= STAIN:PLAYER:0
	STAIN:PLAYER:0 |= STAIN:4
	;-------------------------------------------------
	;�o���̏���
	;-------------------------------------------------
	;�������@���Y�Ȃ�߂�l1�Q�C�Ȃ�߂�l2
	IF HETEROSEX(TARGET,PLAYER)
		EXP:(50 + HETEROSEX(TARGET,PLAYER)) += 3
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 3
	ENDIF

	;�����҂��L�㎝���̏ꍇ�́A�����҂ɚn�s���y�o����ǉ�
	SIF TALENT:PLAYER:�L��
		EXP:PLAYER:�n�s���y�o�� += 1
	EXP:PLAYER:�����o�� ++
ENDIF
RETURN 1

;-------------------------------------------------
;���s����
;-------------------------------------------------
@COM_ABLE4
;�A�i���r�ߎ��s����
SIF !TFLAG:100
	RETURN 0
;�ꊇ�Ǘ�
SIF GLOBAL_COMABLE(4)
	RETURN RESULT
;���킪����Ă���
SIF STAIN:4 >= 2 && (STAIN:3 != 16 && STAIN:3 != 17) && ASSIPLAY == 0 && TALENT:PLAYER:���L�ϐ� < 2
	RETURN 0

;�L��̒����҂̏ꍇ�͋Z�ILv2�ȏ�K�v
SIF TALENT:PLAYER:�L�� && ABL:PLAYER:�Z�I < 2
	RETURN 0

;�����g����
SIF TEQUIP:0 & 4 || TEQUIP:0 & 2
	RETURN 0
;�A�i���o�C�u�g�p���͕s��
SIF TEQUIP:14
	RETURN 0
;�A�i���r�[�Y�g�p���͕s��
SIF TEQUIP:15
	RETURN 0
;���ʂ̟����g�p���͕s��
SIF TEQUIP:21
	RETURN 0
;�o���[���g�p���͕s��
SIF TEQUIP:22
	RETURN 0
;�d�Ɏg�p���͕s��
SIF TEQUIP:23
	RETURN 0
RETURN 1


code:
;-------------------------------------------------
;�d�}�b�T�[�W��
;����g�p�R�}���h�A���x��2
;-------------------------------------------------
@COM41
;-------------------------------------------------
;COM��FLAG�̐ݒ�
;-------------------------------------------------
;�s�׎�
TCVAR:116 = PLAYER
;��d���y�t���O
TCVAR:PLAYER:108 = 1

;TARGET���ӂ��Ȃ�̏ꍇ�ɂ͎ː��\��
CSTR:TARGET:10 += @"{PLAYER}/"
;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
TCVAR:TARGET:2 = 10
;���x
TCVAR:TARGET:4 = 1000

;-------------------------------------------------
;�\�[�X�ǉ�����
;-------------------------------------------------
;����̗́A�C��
IF FLAG:70 == 1
	BASE:MASTER:TSP -= 150
	SOURCE:���b = 500

ELSE

	DOWNBASE:�̗� += 30
	DOWNBASE:�C�� += 150

	SOURCE:���b = 500
	SOURCE:�I�o = 40
	SOURCE:��E = 60
	SOURCE:���� = 60

	;-------------------------------------------------
	;����\�[�X����
	;-------------------------------------------------
	;�}���A��R�����ɂ́A�}�T�\�[�X�ǉ�
	SIF TALENT:���Ȉ� < 0 || TALENT:��R
		SOURCE:�T�� += 60
ENDIF
;-------------------------------------------------
;�o���̏���
;-------------------------------------------------
;�������@���Y�Ȃ�߂�l1�Q�C�Ȃ�߂�l2
IF FLAG:70 == 1
	IF HETEROSEX(TARGET,PLAYER)
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 1
	ENDIF
ELSE
	IF HETEROSEX(TARGET,PLAYER)
		EXP:(50 + HETEROSEX(TARGET,PLAYER)) += 1
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 1
	ENDIF
ENDIF
EXP:PLAYER:����g�p�o�� ++

RETURN 1

;-------------------------------------------------
;���s����
;-------------------------------------------------
@COM_ABLE41
;�d�}�b�T�[�W�����s����
SIF !TFLAG:100
	RETURN 0
;�ꊇ�Ǘ�
SIF GLOBAL_COMABLE(41)
	RETURN RESULT
;�A�C�e���������Ă��邩�A�A�C�e���Ȃ��ݒ�łȂ��ƃ_��
SIF ITEM:1 == 0 && NOITEM == 0
	RETURN 0
;ASSI�̏ꍇ�A�Z�I3�ȏォ�T�h����Ȃ��Ǝg���Ȃ��B
IF ASSIPLAY
	SIF ABL:ASSI:�Z�I < 3 && TALENT:ASSI:�T�h == 0
		RETURN 0
ENDIF
;�V�����[���̓_��
SIF TEQUIP:32
	RETURN 0
;�����łȂ��ƃ_��
SIF !INROOM(CFLAG:PLAYER:���݈ʒu)
	RETURN 0
RETURN 1


code:
;-------------------------------------------------
;�I�i�z�[��
;����g�p�R�}���h�A���x��2
;-------------------------------------------------
@COM43
;���E�̏���
TEQUIP:�I�i�z�[�� = !TEQUIP:�I�i�z�[��

;-------------------------------------------------
;COM��FLAG�̐ݒ�
;-------------------------------------------------
;�s�׎�
TCVAR:116 = PLAYER
;��d���y�t���O
TCVAR:PLAYER:108 = 1

;TARGET���ӂ��Ȃ�̏ꍇ�ɂ͎ː��\��
CSTR:TARGET:10 += "�I�i�z�[��/"
;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
TCVAR:TARGET:2 = 10
;���x
TCVAR:TARGET:4 = 1000

;-------------------------------------------------
;�\�[�X�ǉ�����
;-------------------------------------------------
;����̗́A�C��
IF FLAG:70 == 1
	BASE:MASTER:TSP -= 80
	SOURCE:���b = 200

ELSE

	DOWNBASE:�̗� += 10
	DOWNBASE:�C�� += 80

	SOURCE:���b = 200
	SOURCE:�I�o = 20
	SOURCE:��E = 30
	SOURCE:���� = 30

	;-------------------------------------------------
	;����\�[�X����
	;-------------------------------------------------
	;�}���A��R�����ɂ́A�}�T�\�[�X�ǉ�
	SIF TALENT:���Ȉ� < 0 || TALENT:��R
		SOURCE:�T�� += 30
ENDIF
;-------------------------------------------------
;�o���̏���
;-------------------------------------------------
;�������@���Y�Ȃ�߂�l1�Q�C�Ȃ�߂�l2
IF FLAG:70 == 1
	IF HETEROSEX(TARGET,PLAYER)
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 1
	ENDIF
ELSE
	IF HETEROSEX(TARGET,PLAYER)
		EXP:(50 + HETEROSEX(TARGET,PLAYER)) += 1
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 1
	ENDIF
ENDIF
EXP:PLAYER:����g�p�o�� ++

RETURN 1
;-------------------------------------------------
;�����p���̏���
;-------------------------------------------------
@EQUIP_COM43(ARG)
PRINTL ���I�i�z�[����������

;TCVAR:0 �ː��Ώۃt���O�i�r�b�g0=TARGET 1=PLAYER 2=MASTER 3=ASSI 4=�G�� 5=���̑��j
;TCVAR:1 �\���ː��Ώۃt���O�i�r�b�g���g�������Ȃ��l�p�ACFLAG:100�ɖ|�󂳂�܂��j
;	�i1=TARGET 2=PLAYER 3=MASTER 4=ASSI 5=TARGET+ASSI 6=MASTER+ASSI -1=�G�� -2=���̑��j
;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ �j
;TCVAR:4 �ː��������x

SETBIT TCVAR:TARGET:0, 5
;���x
TCVAR:ARG:4 = 1000
;-------------------------------------------------
;�\�[�X�ǉ�����
;-------------------------------------------------
IF FLAG:70 == 1
	BASE:MASTER:TSP -= 20
	SOURCE:���b += 100

ELSE

	DOWNBASE:�̗� += 5
	DOWNBASE:�C�� += 20

	SOURCE:���b += 100
	SOURCE:�I�o += 10
	SOURCE:��E += 15
	SOURCE:���� += 15
	;-------------------------------------------------
	;�o���̏���
	;-------------------------------------------------
ENDIF
RETURN 1

;-------------------------------------------------
;���s����
;-------------------------------------------------
@COM_ABLE43
;�I�i�z�[�����s����
SIF !TFLAG:100
	RETURN 0
;�ꊇ�Ǘ�
SIF GLOBAL_COMABLE(43)
	RETURN RESULT
;�����͂��ł��\
SIF TEQUIP:12
	RETURN 1
;�A�C�e���������Ă��邩�A�A�C�e���Ȃ��ݒ�łȂ��ƃ_��
SIF ITEM:3 == 0 && NOITEM == 0
	RETURN 0
;�I�g�R��ӂ��Ȃ肶��Ȃ��ƃ_��
SIF !(TALENT:2 & 2)
	RETURN 0

;�����g����
SIF TEQUIP:0 > 1
	RETURN 0
;ASSI�̏ꍇ�A�Z�I3�ȏザ��Ȃ��Ǝg���Ȃ��B
IF ASSIPLAY
	SIF ABL:ASSI:�Z�I < 3
		RETURN 0
ENDIF
;�V�ȃv���C���̓_��
SIF TEQUIP:33
	RETURN 0
RETURN 1


code:
;-------------------------------------------------
;�o�C�u
;����g�p�R�}���h�A���x��2
;-------------------------------------------------
@COM44
;���E�̏���
TEQUIP:�o�C�u = !TEQUIP:�o�C�u
;-------------------------------------------------
;COM��FLAG�̐ݒ�
;-------------------------------------------------
;�s�׎�
TCVAR:116 = PLAYER
;��d���y�t���O
TCVAR:PLAYER:108 = 1

CSTR:TARGET:10 += @"{PLAYER}/"
;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
TCVAR:TARGET:2 = 13
;���x
TCVAR:TARGET:4 = 900

;-------------------------------------------------
;�\�[�X�ǉ�����
;-------------------------------------------------
;����̗́A�C��
IF FLAG:70 == 1
	BASE:MASTER:TSP -= 100
	SOURCE:���u = 250
	SOURCE:��� = 25

	;�����������ꍇ�́A��ɂ̃\�[�X�Ɣ����̃\�[�X��ǉ�����
	IF TALENT:���� == 1
		SOURCE:��� += 1000
	ENDIF

	;�Đ������������ꍇ�́A��ɂ̃\�[�X�Ɣ����̃\�[�X��ǉ�����
	IF TALENT:���� == 2
		SOURCE:��� += 250
	ENDIF

ELSE

	DOWNBASE:�̗� += 30
	DOWNBASE:�C�� += 100

	SOURCE:���u = 250
	SOURCE:��� = 50
	SOURCE:�I�o = 20
	SOURCE:��E = 40
	SOURCE:���� = 40

	;-------------------------------------------------
	;����\�[�X����
	;-------------------------------------------------
	;�}���A��R�����ɂ́A�}�T�\�[�X�ǉ�
	SIF TALENT:���Ȉ� < 0 || TALENT:��R
		SOURCE:�T�� += 40

	;�����������ꍇ�́A��ɂ̃\�[�X�Ɣ����̃\�[�X��ǉ�����
	IF TALENT:���� == 1
		SOURCE:��� += 2000
		SOURCE:���� += 3000
	ENDIF

	;�Đ������������ꍇ�́A��ɂ̃\�[�X�Ɣ����̃\�[�X��ǉ�����
	IF TALENT:���� == 2
		SOURCE:��� += 500
		SOURCE:���� += 1000
	ENDIF
ENDIF
;V�ւ̋�ɂ͐�ɏ������Ă���
CALL PAIN_CHECK_V(TARGET)

;-------------------------------------------------
;�o���̏���
;-------------------------------------------------
;�}�����͂u�o��+
EXP:�u�o�� ++
IF FLAG:70 == 1
	IF HETEROSEX(TARGET,PLAYER)
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 1
	ENDIF
ELSE
	;�ُ�o��
	IF TALENT:���� == 1 && !GETBIT(CFLAG:3,3)
		EXP:�ُ�o�� ++
		SETBIT CFLAG:3,3
	ENDIF

	;�������@���Y�Ȃ�߂�l1�Q�C�Ȃ�߂�l2
	IF HETEROSEX(TARGET,PLAYER)
		EXP:(50 + HETEROSEX(TARGET,PLAYER)) += 1
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 1
	ENDIF
ENDIF
EXP:PLAYER:����g�p�o�� ++

RETURN 1

;-------------------------------------------------
;�����p���̏���
;-------------------------------------------------
@EQUIP_COM44(ARG)
;�o�C�u�}����
PRINTL ���o�C�u�}������

CSTR:TARGET:10 += @"{PLAYER}/"
TCVAR:TARGET:2 = 13
TCVAR:TARGET:4 = 450

IF FLAG:70 == 1
BASE:MASTER:TSP -= 50
SOURCE:ARG:���u += 125

ELSE

DOWNBASE:ARG:�̗� += 10
DOWNBASE:ARG:�C�� += 50

SOURCE:ARG:���u += 125
SOURCE:ARG:�I�o += 10
SOURCE:ARG:��E += 20

;-------------------------------------------------
;����\�[�X����
;-------------------------------------------------
;�}���A��R�����ɂ́A�}�T�\�[�X�ǉ�
SIF TALENT:ARG:���Ȉ� < 0 || TALENT:ARG:��R
	SOURCE:ARG:�T�� += 20

;V�ւ̋�ɂ͐�ɏ������Ă���
;EXP:�u�o�����݂�i�����͂��肦�Ȃ��j
LOCAL = 25
LOCAL:1 = 20
IF EXP:ARG:�u�o�� < EXPLV:2
	TIMES LOCAL , 0.80
	TIMES LOCAL:1 , 1.20
ELSEIF EXP:ARG:�u�o�� < EXPLV:3
	TIMES LOCAL , 0.40
ELSEIF EXP:ARG:�u�o�� < EXPLV:4
	TIMES LOCAL , 0.10
ELSEIF EXP:ARG:�u�o�� < EXPLV:5
	TIMES LOCAL , 0.00
ELSEIF EXP:ARG:�u�o�� >= EXPLV:5
	TIMES LOCAL , 0.00
ENDIF

;PALAM:�������݂�
IF PALAM:ARG:���� < PALAMLV:1
	TIMES LOCAL , 1.20
	TIMES LOCAL:1 , 1.50
ELSEIF PALAM:ARG:���� < PALAMLV:2
	TIMES LOCAL , 0.70
	TIMES LOCAL:1 , 1.20
ELSEIF PALAM:ARG:���� < PALAMLV:3
	TIMES LOCAL , 0.40
ELSEIF PALAM:ARG:���� < PALAMLV:4
	TIMES LOCAL , 0.10
ELSEIF PALAM:ARG:���� >= PALAMLV:4
	TIMES LOCAL , 0.10
ENDIF
SOURCE:ARG:��� += LOCAL
SOURCE:ARG:���� += LOCAL:1

;-------------------------------------------------
;�o���̏���
;-------------------------------------------------
;���Ԏ��s���͌o���{�P
SIF EXP_UP(22,TARGET)
	EXP:ARG:�u�o�� += 1
ENDIF
RETURN 1

;-------------------------------------------------
;���s����
;-------------------------------------------------
@COM_ABLE44
;�o�C�u���s����
SIF !TFLAG:100
	RETURN 0
;�ꊇ�Ǘ�
SIF GLOBAL_COMABLE(44)
	RETURN RESULT
;�����͂��ł��\
SIF TEQUIP:13
	RETURN 1
;�I�g�R���ƃ_��
SIF !(TALENT:2 & 1)
	RETURN 0
;�A�C�e���������Ă��邩�A�A�C�e���Ȃ��ݒ�łȂ��ƃ_��
SIF ITEM:4 == 0 && NOITEM == 0
	RETURN 0

;�����g����
SIF TEQUIP:0 & 4
	RETURN 0
;�����ŁA�]��4�ȉ��E���Y���C4�ȉ���ASSI�̏ꍇ�o�C�u�͂ł��Ȃ��i�T�h�Ȃ�n�j�j
IF TALENT:���� && ASSIPLAY
	SIF (ABL:ASSI:�]�� <= 4 || ABL:ASSI:���Y���C <= 4) && TALENT:ASSI:�T�h == 0
		RETURN 0
ENDIF
;�����s���ŁA�]��3�ȉ��E���Y���C3�ȉ���ASSI�̏ꍇ�o�C�u�͂ł��Ȃ��i�T�h�Ȃ�n�j�j
IF PALAM:���� < PALAMLV:2 && ASSIPLAY
	SIF (ABL:ASSI:�]�� <= 3 || ABL:ASSI:���Y���C <= 3) && TALENT:ASSI:�T�h == 0
		RETURN 0
ENDIF
RETURN 1


code:
;-------------------------------------------------
;�A�i���r�[�Y
;����g�p�R�}���h�A���x��3
;-------------------------------------------------
@COM46
;���E�̏���
TEQUIP:�A�i���r�[�Y = !TEQUIP:�A�i���r�[�Y
;-------------------------------------------------
;COM��FLAG�̐ݒ�
;-------------------------------------------------
;�s�׎�
TCVAR:116 = PLAYER
;��d���y�t���O
TCVAR:PLAYER:108 = 1

CSTR:TARGET:10 += @"{PLAYER}/"
;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
TCVAR:TARGET:2 = 12
;���x
TCVAR:TARGET:4 = 800

;-------------------------------------------------
;�\�[�X�ǉ�����
;-------------------------------------------------
;����̗́A�C��
IF FLAG:70 == 1
	BASE:MASTER:TSP -= 150
	SOURCE:���` = 150
	SOURCE:��� = 100

	;�������͉�A�͉�����
	SIF TEQUIP:�A�i���r�[�Y
		TIMES SOURCE:���` , 0.80

	;�O�����͉�A�オ��
	SIF !TEQUIP:�A�i���r�[�Y
		TIMES SOURCE:���` , 3.00

ELSE

	DOWNBASE:�̗� += 60
	DOWNBASE:�C�� += 150

	SOURCE:���` = 150
	SOURCE:��� = 200
	SOURCE:�I�o = 50
	SOURCE:���] = 50
	SOURCE:��E = 60
	SOURCE:���� = 80

	;�������͉�A�͉�����
	SIF TEQUIP:�A�i���r�[�Y
		TIMES SOURCE:���` , 0.80

	;�O�����͉�A�オ��
	SIF !TEQUIP:�A�i���r�[�Y
		TIMES SOURCE:���` , 3.00

	;-------------------------------------------------
	;����\�[�X����
	;-------------------------------------------------
	;�}���A��R�����ɂ́A�}�T�\�[�X�ǉ�
	SIF TALENT:���Ȉ� < 0 || TALENT:��R
		SOURCE:�T�� += 70
ENDIF
;A�ւ̋�ɂ͐�ɏ������Ă���
CALL PAIN_CHECK_A(TARGET)

;-------------------------------------------------
;����̏���
;-------------------------------------------------
STAIN:7 |= STAIN:4
STAIN:4 |= STAIN:7
;-------------------------------------------------
;�o���̏���
;-------------------------------------------------
SIF !TEQUIP:�A�i���r�[�Y
	EXP:�`�o�� += 2
IF FLAG:70 == 1
	IF HETEROSEX(TARGET,PLAYER)
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 1
	ENDIF
ELSE
	;�������@���Y�Ȃ�߂�l1�Q�C�Ȃ�߂�l2
	IF HETEROSEX(TARGET,PLAYER)
		EXP:(50 + HETEROSEX(TARGET,PLAYER)) += 1
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 1
	ENDIF
ENDIF
EXP:PLAYER:����g�p�o�� ++

RETURN 1
;-------------------------------------------------
;�����p���̏���
;-------------------------------------------------
@EQUIP_COM46(ARG)
;�A�i���r�[�Y�}����

PRINTL ���A�i���r�[�Y�}������

CSTR:TARGET:10 += @"{PLAYER}/"
TCVAR:TARGET:2 = 12
TCVAR:TARGET:4 = 400

IF FLAG:70 == 1
	BASE:MASTER:TSP -= 150
	SOURCE:ARG:���` += 75

ELSE

	DOWNBASE:ARG:�̗� += 60
	DOWNBASE:ARG:�C�� += 150

	SOURCE:ARG:���` += 75
	SOURCE:ARG:�I�o += 25
	SOURCE:ARG:���] += 25
	SOURCE:ARG:��E += 25
	;-------------------------------------------------
	;����\�[�X����
	;-------------------------------------------------
	;�}���A��R�����ɂ́A�}�T�\�[�X�ǉ�
	SIF TALENT:ARG:���Ȉ� < 0 || TALENT:ARG:��R
		SOURCE:ARG:�T�� += 35

	;A�ւ̋�ɂ͐�ɏ������Ă���
	;EXP:�`�o�����݂�
	LOCAL = 100
	LOCAL:1 = 25
	IF EXP:ARG:�`�o�� < EXPLV:1
		TIMES LOCAL , 3.00
		TIMES LOCAL:1 , 3.00
	ELSEIF EXP:ARG:�`�o�� < EXPLV:2
		TIMES LOCAL , 1.20
		TIMES LOCAL:1 , 2.00
	ELSEIF EXP:ARG:�`�o�� < EXPLV:3
		TIMES LOCAL , 0.80
		TIMES LOCAL:1 , 1.50
	ELSEIF EXP:ARG:�`�o�� < EXPLV:4
		TIMES LOCAL , 0.60
		TIMES LOCAL:1 , 1.20
	ELSEIF EXP:ARG:�`�o�� < EXPLV:5
		TIMES LOCAL , 0.40
	ELSEIF EXP:ARG:�`�o�� >= EXPLV:5
		TIMES LOCAL , 0.20
	ENDIF

	;PALAM:�������݂�
	IF PALAM:ARG:���� < PALAMLV:1
		TIMES LOCAL , 1.20
		TIMES LOCAL:1 , 2.00
	ELSEIF PALAM:ARG:���� < PALAMLV:2
		TIMES LOCAL , 1.00
		TIMES LOCAL:1 , 1.50
	ELSEIF PALAM:ARG:���� < PALAMLV:3
		TIMES LOCAL , 0.60
	ELSEIF PALAM:ARG:���� < PALAMLV:4
		TIMES LOCAL , 0.30
	ELSEIF PALAM:ARG:���� >= PALAMLV:4
		TIMES LOCAL , 0.20
	ENDIF
	SOURCE:ARG:��� += LOCAL
	SOURCE:ARG:���� += LOCAL:1
ENDIF
RETURN 1
;-------------------------------------------------
;���s����
;-------------------------------------------------
@COM_ABLE46
;�A�i���r�[�Y���s����
SIF !TFLAG:100
	RETURN 0
;�ꊇ�Ǘ�
SIF GLOBAL_COMABLE(46)
	RETURN RESULT
;�����͂��ł��\
SIF TEQUIP:15
	RETURN 1
;�A�C�e���������Ă��邩�A�A�C�e���Ȃ��ݒ�łȂ��ƃ_��
SIF ITEM:6 == 0 && NOITEM == 0
	RETURN 0

;�����g����
SIF TEQUIP:0 > 1
	RETURN 0
;�A�i���o�C�u�g�p���͕s��
SIF TEQUIP:14
	RETURN 0
;���ʂ̟����g�p���͕s��
SIF TEQUIP:21
	RETURN 0
;�o���[���g�p���͕s��
SIF TEQUIP:22
	RETURN 0
;�d�Ɏg�p���͕s��
SIF TEQUIP:23
	RETURN 0
;�V�ȃv���C���̓_��
SIF TEQUIP:33
	RETURN 0
RETURN 1


code:
;-------------------------------------------------
;������
;�����n�R�}���h�A���x��2
;-------------------------------------------------
@COM6
;-------------------------------------------------
;COM��FLAG�̐ݒ�
;-------------------------------------------------
;�s�׎�
TCVAR:116 = PLAYER
;��d���y
TCVAR:PLAYER:108 = 1

;-------------------------------------------------
;�\�[�X�ǉ�����
;-------------------------------------------------
;����̗́A�C��
IF FLAG:70 == 1
	BASE:MASTER:TSP -= 20
	SOURCE:���a = 100
	IF ABL:PLAYER:�w >= 4
		SOURCE:���a += 70
	ELSE
		SOURCE:���a += ABL:PLAYER:�w * 15
	ENDIF
ELSE

	DOWNBASE:�̗� += 5
	DOWNBASE:�C�� += 50

	SOURCE:���a = 100
	SOURCE:� = 50
	SOURCE:���s�� = 60
	SOURCE:�I�o = 10
	SOURCE:�s�� = 20
	SOURCE:���� = 20
	;-------------------------------------------------
	;����\�[�X����
	;-------------------------------------------------
	IF ABL:PLAYER:�w >= 4
		SOURCE:���a += 70
	ELSE
		SOURCE:���a += ABL:PLAYER:�w * 15
	ENDIF
	;�}���A��R�����ɂ́A�}�T�\�[�X�ǉ�
	SIF TALENT:���Ȉ� < 0 || TALENT:��R
		SOURCE:�T�� += 20
	;-------------------------------------------------
	;����̏���
	;-------------------------------------------------
	;�z��̋��̉��ꂪ�Ȃ���Ό��������i���t�ƕ���悲��͂n�j�A���ꖳ�������蒲�����͖��Ȃ��j
	IF STAIN:5 < 2 || STAIN:5 == 16 || STAIN:5 == 17 || ASSIPLAY == 1 || TALENT:PLAYER:���L�ϐ� == 2
		;�����҂�TALENT:��g�����݂�
		TIMES SOURCE:�s�� , 1.40
		SIF TALENT:PLAYER:��g��
			TIMES SOURCE:���a , 1.40
		SOURCE:�T�� += SOURCE:�s�� / 20
		;�z��̂a�̒����҂̌��̉��ꂪ�ړ�
		STAIN:5 |= STAIN:PLAYER:0
		STAIN:PLAYER:0 |= STAIN:5
		EXP:PLAYER:�����o�� ++
	ENDIF
ENDIF
;�z��̂a�̒����҂̎w�̉��ꂪ�ړ�
STAIN:5 |= STAIN:PLAYER:1
STAIN:PLAYER:1 |= STAIN:5

;-------------------------------------------------
;�o���̏���
;-------------------------------------------------
;�������@���Y�Ȃ�߂�l1�Q�C�Ȃ�߂�l2
IF FLAG:70 == 1
	IF HETEROSEX(TARGET,PLAYER)
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 5
	ENDIF
ELSE
	IF HETEROSEX(TARGET,PLAYER)
		EXP:(50 + HETEROSEX(TARGET,PLAYER)) += 5
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 5
	ENDIF
ENDIF
EXP:PLAYER:����o�� ++
RETURN 1

;-------------------------------------------------
;���s����
;-------------------------------------------------
@COM_ABLE6
;���������s����
SIF !TFLAG:100
	RETURN 0
;�ꊇ�Ǘ�
SIF GLOBAL_COMABLE(6)
	RETURN RESULT
RETURN 1


code:
;-------------------------------------------------
;�����
;�Z�b�N�X�n�R�}���h�A���x��1
;-------------------------------------------------
@COM60
;-------------------------------------------------
;����h������
;-------------------------------------------------

;�O��̒�����3P�̂Ƃ�3P��
IF PREVCOM == 71
	CALL COM_ABLE71
	SIF RESULT == 1
		JUMP COM71
ENDIF
;�x�b�h���Ȃ�OR�o�X���[���Ńv���C�}�b�g���Ȃ��Ɨ��ʂ�
SIF !BEDROOM(CFLAG:PLAYER:���݈ʒu) && !(BATHROOM() && ITEM:20)
	TFLAG:193 = 1

;-------------------------------------------------
;COM��FLAG�̐ݒ�
;-------------------------------------------------
;�s�׎�
TCVAR:116 = PLAYER
;��d���y�t���O
TCVAR:PLAYER:108 = 1

CSTR:PLAYER:10 += @"{TARGET}/"
;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
TCVAR:PLAYER:2 = 1
;���x
TCVAR:PLAYER:4 = 1500

CSTR:TARGET:10 += @"{PLAYER}/"
;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
TCVAR:TARGET:2 = 13
;���x
TCVAR:TARGET:4 = 1500

;�V�ݒ��
;���x�@�Ƃ肠����2��
;TCVAR:PLAYER:4 = 300
;�\�[�X�͔�������
;	SOURCE:���u = 200
;	SOURCE:��� = 130(250)

DOWNBASE:PLAYER:�̗� += 80

;-------------------------------------------------
;�\�[�X�ǉ�����
;-------------------------------------------------
;����̗́A�C��
IF FLAG:70 == 1
	BASE:MASTER:TSP -= 100
	SOURCE:PLAYER:���b = 400
	SOURCE:���u = 400
	SOURCE:��� = 250

	;�����������ꍇ�́A��ɂ̃\�[�X�Ɣ����̃\�[�X��ǉ�����
	IF TALENT:���� == 1
		SOURCE:��� += 1000
	ENDIF

	;�Đ������������ꍇ�́A��ɂ̃\�[�X�Ɣ����̃\�[�X��ǉ�����
	IF TALENT:���� == 2
		SOURCE:��� += 250
	ENDIF

ELSE

	DOWNBASE:�̗� += 50
	DOWNBASE:�C�� += 60

	SOURCE:PLAYER:���b = 400
	SOURCE:���u = 300
	SOURCE:� = 150
	SOURCE:��� = 500
	SOURCE:�I�o = 50
	SIF TFLAG:193
		SOURCE:�I�o = 300
	SOURCE:���� = 300

	;����ʕ␳
	;PLAYER��TARGET���S�ɑ}�����Ă���
	IF BEDROOM(CFLAG:PLAYER:���݈ʒu) && TEQUIP:50 == PLAYER
		TCVAR:PLAYER:4 += EXP:����o�� * 5
		SOURCE:���u += EXP:����o��
		SIF SOURCE:���u >= 700
			SOURCE:���u = 700
		SIF TCVAR:PLAYER:4 >= 3000
			TCVAR:PLAYER:4 = 3000
	ENDIF

	;��̂ق��Ōv�Z��������f�[�^
	SOURCE:�s�� = Y*10 + 60
	CALL ����\�[�X����
ENDIF
;V�ւ̋�ɂ͐�ɏ������Ă���
CALL PAIN_CHECK_V(TARGET)
;-------------------------------------------------
;����̏���
;-------------------------------------------------
;�ː��Ɋ֌W�Ȃ��s���鏈���͂�������
CALL STAIN_�S���o�}��

;-------------------------------------------------
;�o���̏���
;-------------------------------------------------
EXP:PLAYER:�}���o�� ++
EXP:�u�o�� ++
;�������@���Y�Ȃ�߂�l1�Q�C�Ȃ�߂�l2
IF FLAG:70 == 1 || CFLAG:�C�^�Y��
	IF HETEROSEX(TARGET,PLAYER)
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 4
	ENDIF
	IF CFLAG:PLAYER:�C�^�Y�� == 2
		EXP:PLAYER:�������o�� += 1
		EXP:TARGET:�������o�� += 1
	ENDIF
	SIF !CFLAG:�C�^�Y��
	EXP:PLAYER:�����o�� += 1
ELSE
	IF HETEROSEX(TARGET,PLAYER)
		EXP:(50 + HETEROSEX(TARGET,PLAYER)) += 4
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 4
	ENDIF
	EXP:�u�����o�� ++
	IF !ASSIPLAY
		EXP:����o�� += TALENT:���� * 2
		;����
		SIF TALENT:���� == 1 && TALENT:����
			EXP:����o�� += 10
	ENDIF
ENDIF
RETURN 1

@CAN_COM60(ARG)
;-------------------------------------------------
;���s���菈��
;-------------------------------------------------
IF FLAG:70 == 1 || CFLAG:�C�^�Y��
	SKIPDISP ARG
	IF CFLAG:PLAYER:���݈ʒu == 10 || CFLAG:PLAYER:���݈ʒu == 40
		PRINTL ����ʂŔƂ�
	ELSEIF !BEDROOM(CFLAG:PLAYER:���݈ʒu) && !(BATHROOM() && ITEM:20)
		PRINTL �Ζʗ��ʂŔƂ�
	ELSE
		PRINTL ����ʂŔƂ�
	ENDIF
ELSE
	;��Ŕ����Ă���ꍇ�͖����i�ꂪ�������̂ݎ��s������s���j
	IF TEQUIP:�� == 0
		SKIPDISP ARG
		IF CFLAG:PLAYER:���݈ʒu == 10 || CFLAG:PLAYER:���݈ʒu == 40
			PRINTL �����
		ELSEIF !BEDROOM(CFLAG:PLAYER:���݈ʒu) && !(BATHROOM() && ITEM:20)
			PRINTL �Ζʗ���
		ELSE
			PRINTL �����
		ENDIF
		A = 0
		S = 0
		;���ׂĂ̖��߂ɋ��ʂ̗v�f���l��
		;(�]���������Ɩ��߂ɏ]���₷���Ȃ�)
		CALL COM_ORDER

		;ABL:�~�]
		IF ABL:�~�]
			SIF S
				PRINT  +
			A += ABL:�~�] * 3
			PRINT �~�]
			PRINTV 'LV,ABL:�~�],'(,ABL:�~�] * 3,')
			S = 1
		ENDIF
		;ABL:�u���o
		IF ABL:�u���o
			SIF S
				PRINT  +
			A += ABL:�u���o * 2
			PRINT �u���o
			PRINTV 'LV,ABL:�u���o,'(,ABL:�u���o * 2,')
			S = 1
		ENDIF
		;���y����
		IF MARK:���y����
			SIF S
				PRINT  +
			A += MARK:���y���� * 3
			PRINT ���y����
			PRINTV 'LV,MARK:���y����,'(,MARK:���y���� * 3,')
			S = 1
		ENDIF
		;PALAM:�����i�̕s���j
		IF PALAM:���� < PALAMLV:3
			PRINT  -
			A -= 5
			PRINT �����s��
			PRINTV '(,5,')
			S = 1
		ENDIF
		;PALAM:�~��
		IF GETPALAMLV(PALAM:�~��,5)
			SIF S
				PRINT  +
			A += GETPALAMLV(PALAM:�~��,5) * 3
			PRINT �~��
			PRINTV 'LV,GETPALAMLV(PALAM:�~��,5),'(,GETPALAMLV(PALAM:�~��,5) * 3,')
			S = 1
		ENDIF
		;�p���炢
		IF TALENT:㵒p�S > 0
			PRINT  -
			A -= 2
			PRINT �p���炢
			PRINTV '(,2,')
			S = 1
		ENDIF
		;�����̔ے�
		IF TALENT:�������� < 0 && !TALENT:����
			PRINT  -
			A -= 5
			PRINT �����̔ے�
			PRINTV '(,5,')
			S = 1
		ENDIF
		;�j�����i����A�e���Ŗ����j
		IF OTOKOGIRAI(TARGET)
			PRINT  -
			A -= 12
			PRINT �j����
			PRINTV '(,12,')
			S = 1
		ENDIF
		;����
		IF TALENT:���� && ASSIPLAY == 0
			SIF S
				PRINT  +
			A += 15
			PRINT ����
			PRINTV '(,15,')
			S = 15
		ENDIF
		;�e��
		IF TALENT:���� > 1 && ASSIPLAY == 0
			SIF S
				PRINT  +
			A += 5
			PRINT �e��
			PRINTV '(,5,')
			S = 5
		ENDIF
		;����
		LOCAL = MAX(10,40 - EXP:�u�o��)
		IF TALENT:����
			PRINT  -
			A -= LOCAL
			PRINT ����
			PRINTV '(,LOCAL,')
			S = 1
		;V�o��
		ELSEIF EXP:�u�o�� < EXPLV:2
			PRINT  -
			A -= 15
			PRINT �u�o��
			PRINT �s��
			PRINTV '(,15,')
			S = 1
		ENDIF

		;�����҂��ӂ��Ȃ�
		IF (TALENT:PLAYER:2 & 3) == 3
			SIF S
				PRINT  +
			A += 4
			PRINT �ӂ��Ȃ�
			PRINTV '(,4,')
			S = 1
		ENDIF

		;�Z��
		IF TCVAR:�Z��
			SIF S
				PRINT  +
			A += 6
			PRINT �Z��
			PRINTV '(,6,')
			S = 1
		ENDIF

		Y = 0
		;���t�̉���
		SIF STAIN:PLAYER:2 & 1
			Y += 1
		;���t�̉���
		SIF STAIN:PLAYER:2 & 4
			Y += 3
		;�A�i���̉���
		SIF STAIN:PLAYER:2 & 8
			Y += 7
		SIF STAIN:PLAYER:2 & 16
			Y += 15
		Y = Y * (2 - TALENT:���L�ϐ�) / 2

		;���ꂠ��
		IF Y
			PRINT  -
			A -= Y
			PRINT ���ꂠ��
			;���L�݊�
			IF TALENT:���L�ϐ� > 0
				PRINT �A���L�݊�
			ELSEIF TALENT:���L�ϐ� < 0
				PRINT �A���L�q��
			ENDIF
			PRINTV '(,Y,')
			S = 1
		ENDIF

		;���v��\��(20�ȏ�Ŏ��s)
		PRINT  =
		PRINTV A

		V = 20
		SIF A < V
			PRINT  <
		SIF A == V
			PRINT  =
		SIF A > V
			PRINT  >
		PRINT ���s�l
		PRINTV V

	ELSE
		SKIPDISP ARG
		IF !BEDROOM(CFLAG:PLAYER:���݈ʒu) && !(BATHROOM() && ITEM:20)
			PRINTL �����Ζʗ���
		ELSE
			PRINTL ���������
		ENDIF
	ENDIF
	WAIT
	SKIPDISP 0
	;���s�ł��Ȃ�
	SIF A < V
		RETURN 0

	;���̑���������
	IF ARG == 1
		SIF TFLAG:17 != TARGET
			TFLAG:16 = 0
		;���̌�����������
		IF GROUPMATCH(TALENT:TARGET:����, 1, -1)
			CALL LOST_VIRGIN_STOP(TARGET)
			SIF RESULT
				RETURN 0
		ENDIF
		;�댯����D�v������
		CALL ��D�v��(TARGET)
		IF TFLAG:16 && !(TEQUIP:PLAYER:�R���h�[�� || TCVAR:�s��)
			TFLAG:16 -= 1
			RETURN 0
		ENDIF
	ENDIF
ENDIF
SKIPDISP 0
RETURN 1

;-------------------------------------------------
;���s����
;-------------------------------------------------
@COM_ABLE60
;����ʎ��s����
SIF !TFLAG:100
	RETURN 0
;�ꊇ�Ǘ�
SIF GLOBAL_COMABLE(60)
	RETURN RESULT
;�����҂��I�g�R�A�ӂ��Ȃ�̏ꍇ�͂�����x�u�N���ĂȂ��ƃ_��
SIF (TALENT:PLAYER:2 & 2) && BASE:PLAYER:�u�N < 1000
	RETURN 0
;�o�C�u�}�����̓_��
SIF TEQUIP:13
	RETURN 0
;�I�g�R���ƃ_��
SIF !(TALENT:2 & 1)
	RETURN 0
;�̊i��������ꍇ�͌o�����Ȃ��ƃ_��
SIF �}���s��(TARGET) == 1 && EXP:�u�o�� < 50 && !TALENT:PLAYER:�֒f�̒m��
	RETURN 0
;����ɑ̊i��������Ƌ֒f�̒m�����K�v
SIF �}���s��(TARGET) == 2 && (!TALENT:PLAYER:�֒f�̒m�� || EXP:�u�o�� < 50)
	RETURN 0
SIF �}���s��(TARGET) == 3
	RETURN 0
;�����҂��I�g�R�A���l���d�A�ӂ��Ȃ�A�������̓y�j�X�o���h���Ȃ��ƃ_��
SIF !(TALENT:PLAYER:2 & 2) && ITEM:PBAND == 0
	RETURN 0
;�����ŁA�]��4�ȉ��E���Y���C4�ȉ���ASSI�̏ꍇ�͂ł��Ȃ��i�T�h�Ȃ�n�j�j
IF TALENT:���� && ASSIPLAY
	SIF (ABL:ASSI:�]�� <= 4 || ABL:ASSI:���Y���C <= 4) && TALENT:ASSI:�T�h == 0
		RETURN 0
ENDIF
;���Ԓ�~���̓X�L�b�v
IF FLAG:70 != 1
	;�����������s���͂���
	SIF PALAM:���� < PALAMLV:2 && TALENT:���� && TALENT:���� != -1
		RETURN 0
ENDIF

;�����g����
SIF TEQUIP:0 & 4
	RETURN 0
;�����C��v���C���̓v���C�}�b�g�������ƃ_��
IF TEQUIP:31
	SIF ITEM:20 == 0 && NOITEM == 0
		RETURN 0
ENDIF
;�w�ʍ��ʂ���̓_��
SIF TEQUIP:�̈� == 5
	RETURN 0
RETURN 1


code:
;-------------------------------------------------
;��w��
;�Z�b�N�X�n�R�}���h�A���x��1
;-------------------------------------------------
@COM61
;-------------------------------------------------
;����h������
;-------------------------------------------------
;�O��̒�����3P�̂Ƃ�3P��
IF PREVCOM == 71
	CALL COM_ABLE71
	SIF RESULT == 1
		JUMP COM71

ENDIF
;�����łȂ�or�o�X���[���Ńv���C�}�b�g�������Ɨ��ʂ�
SIF !INROOM(CFLAG:PLAYER:���݈ʒu) && !(BATHROOM() && ITEM:20)
	TFLAG:193 = 1
;-------------------------------------------------
;COM��FLAG�̐ݒ�
;-------------------------------------------------
;�s�׎�
TCVAR:116 = PLAYER

;��d���y�t���O
TCVAR:PLAYER:108 = 1

CSTR:PLAYER:10 += @"{TARGET}/"
;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
TCVAR:PLAYER:2 = 1
;���x
TCVAR:PLAYER:4 = 1800

CSTR:TARGET:10 += @"{PLAYER}/"
;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
TCVAR:TARGET:2 = 13
;���x
TCVAR:TARGET:4 = 1500

DOWNBASE:PLAYER:�̗� += 80

;-------------------------------------------------
;�\�[�X�ǉ�����
;-------------------------------------------------
;����̗́A�C��
IF FLAG:70 == 1
	BASE:MASTER:TSP -= 90
	SOURCE:PLAYER:���b = 450
	SOURCE:���u = 450
	SOURCE:��� = 200

	;�����������ꍇ�́A��ɂ̃\�[�X�Ɣ����̃\�[�X��ǉ�����
	IF TALENT:���� == 1
		SOURCE:��� += 1000
	ENDIF

	;�Đ������������ꍇ�́A��ɂ̃\�[�X�Ɣ����̃\�[�X��ǉ�����
	IF TALENT:���� == 2
		SOURCE:��� += 250
	ENDIF

ELSE

	DOWNBASE:�̗� += 50
	DOWNBASE:�C�� += 60

	SOURCE:PLAYER:���b = 450
	SOURCE:���u = 450
	SOURCE:� = 150
	SOURCE:��� = 400
	SOURCE:�I�o = 70
	SIF TFLAG:193
		SOURCE:�I�o = 320
	SOURCE:���� = 600
	SOURCE:��E = 200
	IF TALENT:������
		SOURCE:��E = 0
		SOURCE:���� = 300
		SOURCE:���s�� = 100
	ENDIF
	;��̂ق��Ōv�Z��������f�[�^
	SOURCE:�s�� = Y*10 + 60

	CALL ����\�[�X����
ENDIF
;V�ւ̋�ɂ͐�ɏ������Ă���
CALL PAIN_CHECK_V(TARGET)

;-------------------------------------------------
;����̏���
;-------------------------------------------------
;�ː��Ɋ֌W�Ȃ��s���鏈���͂�������
CALL STAIN_�S���o�}��

;-------------------------------------------------
;�o���̏���
;-------------------------------------------------
EXP:PLAYER:�}���o�� ++
EXP:�u�o�� ++
;�������@���Y�Ȃ�߂�l1�Q�C�Ȃ�߂�l2
IF FLAG:70 == 1 || CFLAG:�C�^�Y��
	IF HETEROSEX(TARGET,PLAYER)
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 4
	ENDIF
	IF CFLAG:PLAYER:�C�^�Y�� == 2
		EXP:PLAYER:�������o�� += 1
		EXP:TARGET:�������o�� += 1
	ENDIF
		SIF !CFLAG:�C�^�Y��
		EXP:PLAYER:�����o�� += 1
ELSE
	IF HETEROSEX(TARGET,PLAYER)
		EXP:(50 + HETEROSEX(TARGET,PLAYER)) += 4
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 4
	ENDIF
	EXP:�u�����o�� ++
	;����o��
	IF !ASSIPLAY
		EXP:����o�� += TALENT:���� * 2
		;����
		SIF TALENT:���� && TALENT:���� && TALENT:���� != -1
			EXP:����o�� += 5
	ENDIF
ENDIF
RETURN 1

@CAN_COM61(ARG)

;-------------------------------------------------
;���s���菈��
;-------------------------------------------------
IF FLAG:70 == 1 || CFLAG:�C�^�Y��
	SKIPDISP ARG
	IF !INROOM(CFLAG:PLAYER:���݈ʒu)
		PRINTL �w�ʗ��ʂŔƂ�
	ELSE
		PRINTL ��w�ʂŔƂ�
	ENDIF
ELSE
	;��Ŕ����Ă���ꍇ�͖����i�ꂪ�������̂ݎ��s������s���j
	IF !TEQUIP:��
		SKIPDISP ARG
		IF !INROOM(CFLAG:PLAYER:���݈ʒu)
			PRINTL �w�ʗ���
		ELSE
			PRINTL ��w��
		ENDIF
		A = 0
		S = 0
		;���ׂĂ̖��߂ɋ��ʂ̗v�f���l��
		;(�]���������Ɩ��߂ɏ]���₷���Ȃ�)
		CALL COM_ORDER

		;ABL:�~�]
		IF ABL:�~�]
			SIF S
				PRINT  +
			A += ABL:�~�] * 3
			PRINT �~�]
			PRINTV 'LV,ABL:�~�],'(,ABL:�~�] * 3,')
			S = 1
		ENDIF
		;ABL:�u���o
		IF ABL:�u���o
			SIF S
				PRINT  +
			A += ABL:�u���o * 2
			PRINT �u���o
			PRINTV 'LV,ABL:�u���o,'(,ABL:�u���o * 2,')
			S = 1
		ENDIF
		;���y����
		IF MARK:���y����
			SIF S
				PRINT  +
			A += MARK:���y���� * 3
			PRINT ���y����
			PRINTV 'LV,MARK:���y����,'(,MARK:���y���� * 3,')
			S = 1
		ENDIF
		;PALAM:�����i�̕s���j
		IF PALAM:���� < PALAMLV:3
			PRINT  -
			A -= 5
			PRINT �����s��
			PRINTV '(,5,')
			S = 1
		ENDIF
		;PALAM:�~��
		IF GETPALAMLV(PALAM:�~��,5)
			SIF S
				PRINT  +
			A += GETPALAMLV(PALAM:�~��,5) * 3
			PRINT �~��
			PRINTV 'LV,GETPALAMLV(PALAM:�~��,5),'(,GETPALAMLV(PALAM:�~��,5) * 3,')
			S = 1
		ENDIF
		;�p���炢
		IF TALENT:㵒p�S > 0
			PRINT  -
			A -= 2
			PRINT �p���炢
			PRINTV '(,2,')
			S = 1
		ENDIF
		;�����̔ے�
		IF TALENT:�������� < 0 && !TALENT:����
			PRINT  -
			A -= 5
			PRINT �����̔ے�
			PRINTV '(,5,')
			S = 1
		ENDIF
		;�j�����i����A�e���Ŗ����j
		IF OTOKOGIRAI(TARGET)
			PRINT  -
			A -= 12
			PRINT �j����
			PRINTV '(,12,')
			S = 1
		ENDIF
		;����
		IF TALENT:���� && !ASSIPLAY
			SIF S
				PRINT  +
			A += 15
			PRINT ����
			PRINTV '(,15,')
			S = 15
		ENDIF
		;�e��
		IF TALENT:���� > 1 && !ASSIPLAY
			SIF S
				PRINT  +
			A += 5
			PRINT �e��
			PRINTV '(,5,')
			S = 5
		ENDIF
		;����
		LOCAL = MAX(10,40 - EXP:�u�o��)
		IF TALENT:���� && TALENT:���� !=-1
			PRINT  -
			A -= LOCAL
			PRINT ����
			PRINTV '(,LOCAL,')
			S = 1
		;V�o��
		ELSEIF EXP:�u�o�� < EXPLV:2
			PRINT  -
			A -= 15
			PRINT �u�o���s��
			PRINTV '(,15,')
			S = 1
		ENDIF

		;�����҂��ӂ��Ȃ�
		IF (TALENT:PLAYER:2 & 3) == 3
			SIF S
				PRINT  +
			A += 4
			PRINT �ӂ��Ȃ�
			PRINTV '(,4,')
			S = 1
		ENDIF

		;�Z��
		IF TCVAR:�Z��
			SIF S
				PRINT  +
			A += 6
			PRINT �Z��
			PRINTV '(,6,')
			S = 1
		ENDIF

		Y = 0
		;���t�̉���
		SIF STAIN:PLAYER:2 & 1
			Y += 1
		;���t�̉���
		SIF STAIN:PLAYER:2 & 4
			Y += 3
		;�A�i���̉���
		SIF STAIN:PLAYER:2 & 8
			Y += 7
		SIF STAIN:PLAYER:2 & 16
			Y += 15
		Y = Y * (2 - TALENT:���L�ϐ�) / 2

		;���ꂠ��
		IF Y
			PRINT  -
			A -= Y
			PRINT ���ꂠ��
			;���L�݊�
			IF TALENT:���L�ϐ� > 0
				PRINT �A���L�݊�
			ELSEIF TALENT:���L�ϐ� < 0
				PRINT �A���L�q��
			ENDIF
			PRINTV '(,Y,')
			S = 1
		ENDIF

		;���v��\��(22�ȏ�Ŏ��s)
		PRINT  =
		PRINTV A

		V = 22
		SIF A < V
			PRINT  <
		SIF A == V
			PRINT  =
		SIF A > V
			PRINT  >
		PRINT ���s�l
		PRINTV V

	ELSE
		SKIPDISP ARG
		IF !BEDROOM(CFLAG:PLAYER:���݈ʒu) && !(BATHROOM() && ITEM:20)
			PRINTL �����w�ʗ���
		ELSE
			PRINTL ������w��
		ENDIF
	ENDIF
	WAIT
	SKIPDISP 0
	;���s�ł��Ȃ�
	SIF A < V
		RETURN 0

	;���̑���������
	IF ARG == 1
		SIF TFLAG:17 != TARGET
			TFLAG:16 = 0
		;���̌�����������
		IF GROUPMATCH(TALENT:TARGET:����, 1, -1)
			CALL LOST_VIRGIN_STOP(TARGET)
			SIF RESULT
				RETURN 0
		ENDIF
		;�댯����D�v������
		CALL ��D�v��(TARGET)
		IF TFLAG:16 && !(TEQUIP:PLAYER:�R���h�[�� || TCVAR:�s��)
			TFLAG:16 -= 1
			RETURN 0
		ENDIF
	ENDIF
ENDIF
	SKIPDISP 0
RETURN 1

;-------------------------------------------------
;���s����
;-------------------------------------------------
@COM_ABLE61
;��w�ʎ��s����
SIF !TFLAG:100
	RETURN 0
SIF GLOBAL_COMABLE(61)
	RETURN RESULT
;�����҂��I�g�R�A�ӂ��Ȃ�̏ꍇ�͂�����x�u�N���ĂȂ��ƃ_��
SIF (TALENT:PLAYER:2 & 2) && BASE:PLAYER:�u�N < 1000
	RETURN 0
;�o�C�u�}�����̓_��
SIF TEQUIP:13
	RETURN 0
;�I�g�R���ƃ_��
SIF !(TALENT:2 & 1)
	RETURN 0
;�̊i��������ꍇ�͌o�����Ȃ��ƃ_��
SIF �}���s��(TARGET) == 1 && EXP:�u�o�� < 50 && !TALENT:PLAYER:�֒f�̒m��
	RETURN 0
;����ɑ̊i��������Ƌ֒f�̒m�����K�v
SIF �}���s��(TARGET) == 2 && (!TALENT:PLAYER:�֒f�̒m�� || EXP:�u�o�� < 50)
	RETURN 0
SIF �}���s��(TARGET) == 3
	RETURN 0
;�����҂��I�g�R�A���l���d�A�ӂ��Ȃ�A�������̓y�j�X�o���h���Ȃ��ƃ_��
SIF !(TALENT:PLAYER:2 & 2) && ITEM:PBAND == 0
	RETURN 0
;�����ŁA�]��4�ȉ��E���Y���C4�ȉ���ASSI�̏ꍇ�͂ł��Ȃ��i�T�h�Ȃ�n�j�j
IF TALENT:���� && ASSIPLAY
	SIF (ABL:ASSI:�]�� <= 4 || ABL:ASSI:�Z�I <= 4) && TALENT:ASSI:�T�h == 0
		RETURN 0
ENDIF

;���Ԓ�~���̓X�L�b�v
IF FLAG:70 != 1
	;�����������s���͂���
	SIF PALAM:���� < PALAMLV:2 && TALENT:���� && TALENT:���� != -1
		RETURN 0
ENDIF

;�����g����
SIF TEQUIP:0 & 4
	RETURN 0
;�����C��v���C���̓v���C�}�b�g�������ƃ_��
IF TEQUIP:31
	SIF ITEM:20 == 0 && NOITEM == 0
		RETURN 0
ENDIF
;�Ζʍ��ʂ���̓_��
SIF TEQUIP:�̈� == 4
	RETURN 0
RETURN 1


code:
;-------------------------------------------------
;����ʃA�i��
;�Z�b�N�X�n�R�}���h�A���x��1
;-------------------------------------------------
@COM62
;-------------------------------------------------
;����h������
;-------------------------------------------------
;�O��̒�����3P�̂Ƃ�3P��
IF PREVCOM == 71
	CALL COM_ABLE71
	SIF RESULT
		JUMP COM71
ENDIF
;�x�b�h���Ȃ�or�o�X���[���Ńv���C�}�b�g�������Ɨ��ʂ�
SIF !BEDROOM(CFLAG:PLAYER:���݈ʒu) && !(BATHROOM() && ITEM:20)
	TFLAG:193 = 1
;-------------------------------------------------
;COM��FLAG�̐ݒ�
;-------------------------------------------------
;�s�׎�
TCVAR:116 = PLAYER

;��d���y�t���O
TCVAR:PLAYER:108 = 1

CSTR:PLAYER:10 += @"{TARGET}/"
;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
TCVAR:PLAYER:2 = 2
;���x
TCVAR:PLAYER:4 = 1700

CSTR:TARGET:10 += @"{PLAYER}/"
;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
TCVAR:TARGET:2 = 12
;���x
TCVAR:TARGET:4 = 1500

DOWNBASE:PLAYER:�̗� += 80

;-------------------------------------------------
;�\�[�X�ǉ�����
;-------------------------------------------------
;����̗́A�C��
IF FLAG:70 == 1
	BASE:MASTER:TSP -= 120
	SOURCE:PLAYER:���b = 400
	SOURCE:���` = 400
	SOURCE:��� = 400

ELSE

	DOWNBASE:�̗� += 80
	DOWNBASE:�C�� += 80

	SOURCE:PLAYER:���b = 400
	SOURCE:���` = 400
	SOURCE:� = 100
	SOURCE:��� = 800
	SOURCE:�I�o = 60
	SIF TFLAG:193
		SOURCE:�I�o = 300
	SOURCE:��E = 200
	SOURCE:���� = 500

	;��̂ق��Ōv�Z��������f�[�^
	SOURCE:�s�� = Y*10 + 60

	;���Z�␳
	LOCAL = 1 + (ABL:PLAYER:�� - 2) / 10
	SOURCE:���` *= LOCAL
	SOURCE:� *= LOCAL
	;-------------------------------------------------
	;����\�[�X����
	;-------------------------------------------------
	;�}���A��R�����ɂ́A�}�T�\�[�X�ǉ�
	SIF TALENT:���Ȉ� < 0 || TALENT:��R
		SOURCE:�T�� += 500
ENDIF
;A�ւ̋�ɂ͐�ɏ������Ă���
CALL PAIN_CHECK_A(TARGET)

;-------------------------------------------------
;����̏���
;-------------------------------------------------
;�ː��Ɋ֌W�Ȃ��s���鏈���͂�������
;�z��̂`�̒����҂̂o�̉��ꂪ�ړ�
CALL STAIN_�A�i���o�}��

;-------------------------------------------------
;�o���̏���
;-------------------------------------------------
EXP:�`�o�� ++
EXP:PLAYER:�}���o�� ++
;�������@���Y�Ȃ�߂�l1�Q�C�Ȃ�߂�l2
IF FLAG:70 == 1 || CFLAG:�C�^�Y��
	IF HETEROSEX(TARGET,PLAYER)
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 4
	ENDIF
	IF CFLAG:PLAYER:�C�^�Y�� == 2
		EXP:PLAYER:�������o�� += 1
		EXP:TARGET:�������o�� += 1
	ENDIF
		SIF !CFLAG:�C�^�Y��
		EXP:PLAYER:�����o�� += 1
ELSE
	IF HETEROSEX(TARGET,PLAYER)
		EXP:(50 + HETEROSEX(TARGET,PLAYER)) += 4
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 4
	ENDIF
	EXP:�`�����o�� ++
	;����o��
	SIF !ASSIPLAY
		EXP:����o�� += TALENT:����
ENDIF
RETURN 1

@CAN_COM62(ARG)
;-------------------------------------------------
;���s���菈��
;-------------------------------------------------
IF FLAG:70 == 1 || CFLAG:�C�^�Y��
	SKIPDISP ARG
	IF !BEDROOM(CFLAG:PLAYER:���݈ʒu)
		PRINTL �Ζʗ��ʂŃA�i����Ƃ�
	ELSE
		PRINTL ����ʂŃA�i����Ƃ�
	ENDIF
ELSE

	;��Ŕ����Ă���ꍇ�͖����i�ꂪ�������̂ݎ��s������s���j
	IF !TEQUIP:��
		SKIPDISP ARG
		IF !BEDROOM(CFLAG:PLAYER:���݈ʒu) && !(BATHROOM() && ITEM:20)
			PRINTL �Ζʗ��ʃA�i��
		ELSE
			PRINTL ����ʃA�i��
		ENDIF
		A = 0
		S = 0
		;���ׂĂ̖��߂ɋ��ʂ̗v�f���l��
		;(�]���������Ɩ��߂ɏ]���₷���Ȃ�)
		CALL COM_ORDER

		;ABL:�~�]
		IF ABL:�~�]
			SIF S
				PRINT  +
			A += ABL:�~�] * 3
			PRINT �~�]
			PRINTV 'LV,ABL:�~�],'(,ABL:�~�] * 3,')
			S = 1
		ENDIF
		;ABL:�`���o
		IF ABL:�`���o
			SIF S
				PRINT  +
			A += ABL:�`���o * 2
			PRINT �`���o
			PRINTV 'LV,ABL:�`���o,'(,ABL:�`���o * 2,')
			S = 1
		ENDIF
		;���y����
		IF MARK:���y����
			SIF S
				PRINT  +
			A += MARK:���y���� * 3
			PRINT ���y����
			PRINTV 'LV,MARK:���y����,'(,MARK:���y���� * 3,')
			S = 1
		ENDIF
		;PALAM:�����i�̕s���j
		IF PALAM:���� < PALAMLV:3
			PRINT  -
			A -= 5
			PRINT �����s��
			PRINTV '(,5,')
			S = 1
		ENDIF
		;PALAM:�~��
		IF GETPALAMLV(PALAM:�~��,5)
			SIF S
				PRINT  +
			A += GETPALAMLV(PALAM:�~��,5) * 3
			PRINT �~��
			PRINTV 'LV,GETPALAMLV(PALAM:�~��,5),'(,GETPALAMLV(PALAM:�~��,5) * 3,')
			S = 1
		ENDIF
		;�p���炢
		IF TALENT:㵒p�S > 0
			PRINT  -
			A -= 2
			PRINT �p���炢
			PRINTV '(,2,')
			S = 1
		ENDIF
		;�����̔ے�
		IF TALENT:�������� < 0 && !TALENT:����
			PRINT  -
			A -= 5
			PRINT �����̔ے�
			PRINTV '(,5,')
			S = 1
		ENDIF
		;�j�����i����A�e���Ŗ����j
		IF OTOKOGIRAI(TARGET)
			PRINT  -
			A -= 12
			PRINT �j����
			PRINTV '(,12,')
			S = 1
		ENDIF
		;����
		IF TALENT:���� && ASSIPLAY == 0
			SIF S
				PRINT  +
			A += 15
			PRINT ����
			PRINTV '(,15,')
			S = 15
		ENDIF
		;���w
		IF TALENT:���� > 1 && ASSIPLAY == 0
			SIF S
				PRINT  +
			A += 5
			PRINT ���w
			PRINTV '(,5,')
			S = 5
		ENDIF
		;A�o��
		IF EXP:�`�o�� < EXPLV:2
			PRINT  -
			A -= 30
			PRINT �`�o���s��
			PRINTV '(,30,')
			S = 1
		ENDIF
		;�����҂��ӂ��Ȃ�
		IF (TALENT:PLAYER:2 & 3) == 3
			SIF S
				PRINT  +
			A += 4
			PRINT �ӂ��Ȃ�
			PRINTV '(,4,')
			S = 1
		ENDIF

		;�Z��
		IF TCVAR:�Z��
			SIF S
				PRINT  +
			A += 6
			PRINT �Z��
			PRINTV '(,6,')
			S = 1
		ENDIF
		Y = 0
		;���t�̉���
		SIF STAIN:PLAYER:2 & 1
			Y += 1
		;���t�̉���
		SIF STAIN:PLAYER:2 & 4
			Y += 3
		;�A�i���̉���
		SIF STAIN:PLAYER:2 & 8
			Y += 7
		SIF STAIN:PLAYER:2 & 16
			Y += 15
		Y = Y * (2 - TALENT:���L�ϐ�) / 2

		;���ꂠ��
		IF Y
			PRINT  -
			A -= Y
			PRINT ���ꂠ��
			;���L�݊�
			IF TALENT:���L�ϐ� > 0
				PRINT �A���L�݊�
			ELSEIF TALENT:���L�ϐ� < 0
				PRINT �A���L�q��
			ENDIF
			PRINTV '(,Y,')
			S = 1
		ENDIF

		;���v��\��(30�ȏ�Ŏ��s)
		PRINT  =
		PRINTV A

		V = 30
		SIF A < V
			PRINT  <
		SIF A == V
			PRINT  =
		SIF A > V
			PRINT  >
		PRINT ���s�l
		PRINTV V
	ELSE
		SKIPDISP ARG
		IF !BEDROOM(CFLAG:PLAYER:���݈ʒu) && !(BATHROOM() && ITEM:20)
			PRINTL �����Ζʗ��ʃA�i��
		ELSE
			PRINTL ��������ʃA�i��
		ENDIF
	ENDIF
	WAIT
	SKIPDISP 0
	;���s�ł��Ȃ�
	SIF A < V
		RETURN 0
	IF TALENT:�D�P && (CFLAG:903 <= 30 || CFLAG:903 >= 71)
		PRINTFORMW �����̎q�ׂ̈ɂ�����%CALLNAME:ARG%�ɖ����͂����Ȃ������������낤
		RETURN 0
	ENDIF
ENDIF
SKIPDISP 0
RETURN 1

;-------------------------------------------------
;���s����
;-------------------------------------------------
@COM_ABLE62
;����ʃA�i�����s����
SIF !TFLAG:100
	RETURN 0
SIF GLOBAL_COMABLE(62)
	RETURN RESULT
;�����҂��I�g�R�A�ӂ��Ȃ�̏ꍇ�͂�����x�u�N���ĂȂ��ƃ_��
SIF (TALENT:PLAYER:2 & 2) && BASE:PLAYER:�u�N < 1000
	RETURN 0
;�A�i���o�C�u�}�����̓_��
SIF TEQUIP:14
	RETURN 0
;�A�i���r�[�Y�g�p���͕s��
SIF TEQUIP:15
	RETURN 0
;���ʂ̟����g�p���͕s��
SIF TEQUIP:21
	RETURN 0
;�o���[���g�p���͕s��
SIF TEQUIP:22
	RETURN 0
;�d�Ɏg�p���͕s��
SIF TEQUIP:23
	RETURN 0
;���Ԓ�~���̓X�L�b�v
IF FLAG:70 != 1
	;���̂`�o�����K�v
	SIF EXP:2 < EXPLV:3
		RETURN 0
ENDIF
;�̊i��������ꍇ�͌o�����Ȃ��ƃ_��
SIF �}���s��(TARGET) == 1 && EXP:�`�o�� < 50 && !TALENT:PLAYER:�֒f�̒m��
	RETURN 0
;����ɑ̊i��������Ƌ֒f�̒m�����K�v
SIF �}���s��(TARGET) == 2 && (!TALENT:PLAYER:�֒f�̒m�� || EXP:�`�o�� < 50)
	RETURN 0
SIF �}���s��(TARGET) == 3
	RETURN 0
;�����҂��I�g�R�A���l���d�A�ӂ��Ȃ�A�������̓y�j�X�o���h���Ȃ��ƃ_��
SIF !(TALENT:PLAYER:2 & 2)  && ITEM:PBAND == 0
	RETURN 0
;�����s���ŁA�]��3�ȉ��E���Y���C3�ȉ���ASSI�̏ꍇ�͂ł��Ȃ��i�T�h�Ȃ�n�j�j
IF PALAM:���� < PALAMLV:2 && ASSIPLAY
	SIF (ABL:ASSI:�]�� <= 3 || ABL:ASSI:�Z�I <= 3) && TALENT:ASSI:�T�h == 0
		RETURN 0
ENDIF
;�����g����
SIF TEQUIP:0 & 4
	RETURN 0
;�����C��v���C���̓v���C�}�b�g�������ƃ_��
IF TEQUIP:31
	SIF ITEM:20 == 0 && NOITEM == 0
		RETURN 0
ENDIF
;�w�ʍ��ʂ���̓_��
SIF TEQUIP:�̈� == 5
	RETURN 0
RETURN 1


code:
;-------------------------------------------------
;�t���C�v
;�Z�b�N�X�n�R�}���h�A���x��1
;-------------------------------------------------
@COM64
;-------------------------------------------------
;COM��FLAG�̐ݒ�
;-------------------------------------------------
;�s�׎�
TCVAR:116 = PLAYER

;��d���y�t���O
TCVAR:PLAYER:108 = 1

CSTR:PLAYER:10 += @"{TARGET}/"
;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
TCVAR:PLAYER:2 = 13
;���x
TCVAR:PLAYER:4 = 800 + (160 * MIN(ABL:PLAYER:�u���o,5))

CSTR:TARGET:10 += @"{PLAYER}/"
;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
TCVAR:TARGET:2 = 1
;���x
TCVAR:TARGET:4 = 2100

DOWNBASE:PLAYER:�̗� += 150

;-------------------------------------------------
;�\�[�X�ǉ�����
;-------------------------------------------------
IF FLAG:70 == 1
	BASE:MASTER:TSP -= 100
	SOURCE:PLAYER:���u = 500
	SOURCE:���b = 400
ELSE
	;����̗́A�C��
	DOWNBASE:�̗� += 80
	DOWNBASE:�C�� += 40
	SOURCE:PLAYER:���u = 500

	SOURCE:���b = 400
	SOURCE:���s�� = 500
	SOURCE:���] = 1000
	SOURCE:��E = 500
	SOURCE:���� = 500

	;��̂ق��Ōv�Z��������f�[�^
	SOURCE:�s�� = Y*10 + 60

	;-------------------------------------------------
	;����\�[�X����
	;-------------------------------------------------
	;�}���A��R�����ɂ́A�}�T�\�[�X�ǉ�
	SIF TALENT:���Ȉ� < 0 || TALENT:��R
		SOURCE:�T�� += 700
	[SKIPSTART]
	;�����҂������i���̂݁j
	IF TALENT:PLAYER:���� && TALENT:���� == -1 && !GETBIT(CFLAG:3,10)
		TIMES SOURCE:��E , 20.00
		TIMES SOURCE:���] , 3.00
		CFLAG:PLAYER:�����r���L�O�� = DAY
		PRINTFORML ��%CALLNAME:PLAYER%�����������܂�����
		IF TALENT:2 & 2
			CFLAG:PLAYER:�����r���Ώ� |= �r��_�y�j�X
		ELSE
			CFLAG:PLAYER:�����r���Ώ� |= �r��_�y�j�o��
		ENDIF
		;�ُ�o���ǉ�
		IF TALENT:PLAYER:���� == 1
			EXP:�ُ�o�� += 1
			SETBIT CFLAG:3,10
		ENDIF
		TALENT:PLAYER:���� = 0
	ENDIF
	[SKIPEND]
ENDIF
;-------------------------------------------------
;����̏���
;-------------------------------------------------
IF TALENT:2 & 2
	;�z��̂o�̒����҂��S���̉��ꂪ�ړ�
	STAIN:2 |= STAIN:PLAYER:3
	STAIN:2 |= STAIN:PLAYER:6
	STAIN:PLAYER:3 |= STAIN:2
	STAIN:PLAYER:6 |= STAIN:2

ENDIF

;-------------------------------------------------
;�o���̏���
;-------------------------------------------------

;EXP:PLAYER:�u�o�� ++
EXP:PLAYER:�u�����o�� ++
EXP:�}���o�� ++

;�������@���Y�Ȃ�߂�l1�Q�C�Ȃ�߂�l2
IF HETEROSEX(TARGET,PLAYER)
	EXP:(50 + HETEROSEX(TARGET,PLAYER)) += 4
	EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 4
ENDIF

RETURN 1

@CAN_COMF64(ARG)
SKIPDISP ARG
PRINTL �t���C�v
;-------------------------------------------------
;���s���菈��
;-------------------------------------------------
A = 0
S = 0

;���ׂĂ̖��߂ɋ��ʂ̗v�f���l��
;(�]���������Ɩ��߂ɏ]���₷���Ȃ�)
CALL COM_ORDER

;ABL:�~�]
IF ABL:�~�]
	SIF S
		PRINT  +
	A += ABL:�~�] * 2
	PRINT �~�]
	PRINTV 'LV,ABL:�~�],'(,ABL:�~�] * 2,')
	S = 1
ENDIF

IF MARK:���y����
	SIF S
		PRINT  +
	A += MARK:���y���� * 2
	PRINT ���y����
	PRINTV 'LV,MARK:���y����,'(,MARK:���y���� * 2,')
	S = 1
ENDIF

;�����ɑf��
IF TALENT:�������� > 0
	SIF S
		PRINT  +
	A += 2
	PRINT �����ɑf��
	PRINTV '(,2,')
	S = 1
ENDIF
;�����̔ے�i�����A���w�Ŗ����j
IF TALENT:�������� < 0 && !TALENT:����
	PRINT  -
	A -= 2
	PRINT �����̔ے�
	PRINTV '(,2,')
	S = 1
ENDIF
;����
IF TALENT:���� && ASSIPLAY == 0
	SIF S
		PRINT  +
	A += 5
	PRINT ����
	PRINTV '(,5,')
	S = 5
ENDIF
;���w
IF TALENT:���� > 1 && ASSIPLAY == 0
	SIF S
		PRINT  +
	A += 5
	PRINT ���w
	PRINTV '(,5,')
	S = 5
ENDIF

;�����҂�����
IF TALENT:PLAYER:���� && TALENT:PLAYER:���� == -1
	PRINT  -
	A -= 15
	PRINTFORM %NAME:PLAYER%������
	PRINTV '(,15,')
	S = 1
ENDIF

;�����҂��呀�ϔO
IF TALENT:PLAYER:�呀 > 0
	PRINT  -
	A -= 10
	PRINTFORM %NAME:PLAYER%���呀�ϔO
	PRINTV '(,10,')
	S = 1
ENDIF

;�����҂��呀���ڒ�
IF TALENT:PLAYER:�呀 < 0
	PRINT  +
	A += 5
	PRINTFORM %NAME:PLAYER%���呀���ڒ�
	PRINTV '(,5,')
	S = 1
ENDIF

;�����҂�ABL:�Z�I
IF ABL:PLAYER:�Z�I
	SIF S
		PRINT  +
	A += ABL:PLAYER:�Z�I * 4
	PRINTFORM %NAME:PLAYER%�̋Z�I
	PRINTV 'LV,ABL:PLAYER:�Z�I,'(,ABL:PLAYER:�Z�I * 4,')
	S = 1
ENDIF

;���v��\��(15�ȏ�Ŏ��s)
PRINT  =
PRINTV A

V = 15
SIF A < V
	PRINT  <
SIF A == V
	PRINT  =
SIF A > V
	PRINT  >
PRINT ���s�l
PRINTV V

WAIT
SKIPDISP 0
;���s�ł��Ȃ�
SIF A < V
	RETURN 0
RETURN 1

;-------------------------------------------------
;���s����
;-------------------------------------------------
@COM_ABLE64
;�t���C�v���s����
SIF !TFLAG:100
	RETURN 0
SIF GLOBAL_COMABLE(64)
	RETURN RESULT
;������x�u�N���ĂȂ��ƃ_��
SIF BASE:�u�N < 1000
	RETURN 0
;�����҂��I�g�R���ƃ_��
SIF !(TALENT:PLAYER:2 & 1)
	RETURN 0
;�̊i��������ꍇ�͌o�����Ȃ��ƃ_��
SIF �}���s��(TARGET) == 1 && EXP:�u�o�� < 50 && !TALENT:PLAYER:�֒f�̒m��
	RETURN 0
;����ɑ̊i��������Ƌ֒f�̒m�����K�v
SIF �}���s��(TARGET) == 2 && (!TALENT:PLAYER:�֒f�̒m�� || EXP:�u�o�� < 50)
	RETURN 0
SIF �}���s��(TARGET) == 3
	RETURN 0

;�I�g�R�A���l���d�A�ӂ��Ȃ�łȂ��ƃ_��
SIF !(TALENT:2 & 2)
	RETURN 0
;�����g����;�Y�{���͕s�ɂȂ��Ă邯�ǁA�Y�{���Ȃ炨���񂿂�o���Ă����Ȃ�ˁH
;SIF TEQUIP:0 & 4
	;RETURN 0
;�����g����(PLAYER);���������͂������ɃY�{���͂��Ă�Ȃ疳�������
SIF TEQUIP:PLAYER:0 & 4
	RETURN 0

;�����C��v���C���̓v���C�}�b�g�������ƃ_��
IF TEQUIP:31
	SIF ITEM:20 == 0 && NOITEM == 0
		RETURN 0
ENDIF
;�V�ȃv���C���̓_��
SIF TEQUIP:33
	RETURN 0
;��~���͕s��
;SIF FLAG:70 == 1
	;RETURN 0
RETURN 1


code:
;-------------------------------------------------
;�R���
;�Z�b�N�X�n�R�}���h�A���x��2
;-------------------------------------------------
@COM65
;�O��̒�����3P�̂Ƃ�3P��
IF PREVCOM == 71
	CALL COM_ABLE71
	SIF RESULT
		JUMP COM71
ENDIF
;-------------------------------------------------
;COM��FLAG�̐ݒ�
;-------------------------------------------------
;�s�׎�
TCVAR:116 = TARGET
;��d���y�t���O
TCVAR:108 = 1

CSTR:PLAYER:10 += @"{TARGET}/"
;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
TCVAR:PLAYER:2 = 1
;���x
TCVAR:PLAYER:4 = 2000

CSTR:TARGET:10 += @"{PLAYER}/"
;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
TCVAR:TARGET:2 = 13
;���x
TCVAR:TARGET:4 = 1300

DOWNBASE:PLAYER:�̗� += 50

;-------------------------------------------------
;�\�[�X�ǉ�����
;-------------------------------------------------
;����̗́A�C��
IF FLAG:70 == 1
	BASE:MASTER:TSP -= 150
	SOURCE:PLAYER:���b = 400

	SOURCE:���u = 500
	SOURCE:��� = 250

	;�����������ꍇ�́A��ɂ̃\�[�X�Ɣ����̃\�[�X��ǉ�����
	IF TALENT:���� == 1
		SOURCE:��� += 1000
	ENDIF

	;�Đ������������ꍇ�́A��ɂ̃\�[�X�Ɣ����̃\�[�X��ǉ�����
	IF TALENT:���� == 2
		SOURCE:��� += 250
	ENDIF

ELSE

	DOWNBASE:�̗� += 80
	DOWNBASE:�C�� += 50
	SOURCE:PLAYER:���b = 400

	SOURCE:���u = 500
	SOURCE:� = 250
	SOURCE:���s�� = 250
	SOURCE:�B�� = 250
	SOURCE:��� = 500
	SOURCE:�I�o = 120
	SOURCE:��E = 600
	SOURCE:���� = 800

	;��̂ق��Ōv�Z��������f�[�^
	SOURCE:�s�� = Y*10 + 60
	CALL ����\�[�X����
ENDIF
;V�ւ̋�ɂ͐�ɏ������Ă���
CALL PAIN_CHECK_V(TARGET)

;-------------------------------------------------
;����̏���
;-------------------------------------------------
;�ː��Ɋ֌W�Ȃ��s���鏈���͂�������
CALL STAIN_�S���o�}��

;-------------------------------------------------
;�o���̏���
;-------------------------------------------------
;�����o��
EXP:PLAYER:�}���o�� ++
EXP:�u�o�� ++
IF FLAG:70 == 1
	IF HETEROSEX(TARGET,PLAYER)
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 7
	ENDIF
		EXP:PLAYER:�����o�� += 1
ELSE
	;�ُ�o��
	IF TALENT:���� && TALENT:���� != -1 && !GETBIT(CFLAG:3,1)
		IF ASSIPLAY && (TALENT:PLAYER:2 & 1)
			EXP:�ُ�o�� += 3
		ELSE
			EXP:�ُ�o�� += 2
		ENDIF
		SETBIT CFLAG:3,1
	ENDIF
	;�������@���Y�Ȃ�߂�l1�Q�C�Ȃ�߂�l2
	IF HETEROSEX(TARGET,PLAYER)
		EXP:(50 + HETEROSEX(TARGET,PLAYER)) += 7
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 7
	ENDIF
	EXP:�u�����o�� ++
	IF !ASSIPLAY
		EXP:����o�� += TALENT:���� * 2
		;����
		SIF TALENT:���� && TALENT:���� != -1 && TALENT:����
			EXP:����o�� += 5
	ENDIF
ENDIF
RETURN 1

@CAN_COM65(ARG)
;-------------------------------------------------
;���s���菈��
;-------------------------------------------------
IF FLAG:70 == 1
	SKIPDISP ARG
	PRINTL �R��ʂŔƂ�
ELSE
	SKIPDISP ARG
	PRINTL �R���
	A = 0
	S = 0

	;���ׂĂ̖��߂ɋ��ʂ̗v�f���l��
	;(�]���������Ɩ��߂ɏ]���₷���Ȃ�)
	CALL COM_ORDER

	;ABL:�~�]
	IF ABL:�~�]
		SIF S
			PRINT  +
		A += ABL:�~�] * 3
		PRINT �~�]
		PRINTV 'LV,ABL:�~�],'(,ABL:�~�] * 3,')
		S = 1
	ENDIF
	;ABL:�u���o
	IF ABL:�u���o
		SIF S
			PRINT  +
		A += ABL:�u���o * 2
		PRINT �u���o
		PRINTV 'LV,ABL:�u���o,'(,ABL:�u���o * 2,')
		S = 1
	ENDIF
	;ABL:��d���_
	IF ABL:��d���_
		SIF S
			PRINT  +
		A += ABL:��d���_ * 4
		PRINT ��d���_
		PRINTV 'LV,ABL:��d���_,'(,ABL:��d���_ * 4,')
		S = 1
	ENDIF
	IF MARK:���y����
		SIF S
			PRINT  +
		A += MARK:���y���� * 3
		PRINT ���y����
		PRINTV 'LV,MARK:���y����,'(,MARK:���y���� * 3,')
		S = 1
	ENDIF

	;PALAM:�����i�̕s���j
	IF PALAM:���� < PALAMLV:3
		PRINT  -
		A -= 5
		PRINT �����s��
		PRINTV '(,5,')
		S = 1
	ENDIF
	;PALAM:�~��
	IF GETPALAMLV(PALAM:�~��,5)
		SIF S
			PRINT  +
		A += GETPALAMLV(PALAM:�~��,5) * 3
		PRINT �~��
		PRINTV 'LV,GETPALAMLV(PALAM:�~��,5),'(,GETPALAMLV(PALAM:�~��,5) * 3,')
		S = 1
	ENDIF
	;�p���炢
	IF TALENT:㵒p�S > 0
		PRINT  -
		A -= 2
		PRINT �p���炢
		PRINTV '(,2,')
		S = 1
	ENDIF
	;�����̔ے�i�����A���w�Ŗ����j
	IF TALENT:�������� < 0 && !TALENT:����
		PRINT  -
		A -= 5
		PRINT �����̔ے�
		PRINTV '(,5,')
		S = 1
	ENDIF
	;�j�����i����A�e���Ŗ����j
	IF OTOKOGIRAI(TARGET)
		PRINT  -
		A -= 12
		PRINT �j����
		PRINTV '(,12,')
		S = 1
	ENDIF
	;����
	IF TALENT:���� && ASSIPLAY == 0
		SIF S
			PRINT  +
		A += 15
		PRINT ����
		PRINTV '(,15,')
		S = 15
	ENDIF
	;�e��
	IF TALENT:���� > 1 && ASSIPLAY == 0
		SIF S
			PRINT  +
		A += 5
		PRINT �e��
		PRINTV '(,5,')
		S = 5
	ENDIF

	;����
	LOCAL = MAX(10,40 - EXP:�u�o��)
	IF TALENT:���� && TALENT:���� != -1
		PRINT  -
		A -= LOCAL
		PRINT ����
		PRINTV '(,LOCAL,')
		S = 1
	ELSEIF EXP:�u�o�� < EXPLV:2
		PRINT  -
		A -= 15
		PRINT �u�o���s��
		PRINTV '(,15,')
		S = 1
	ENDIF

	;�����҂��ӂ��Ȃ�
	IF (TALENT:PLAYER:2 & 3) == 3
		SIF S
			PRINT  +
		A += 4
		PRINT �ӂ��Ȃ�
		PRINTV '(,4,')
		S = 1
	ENDIF

	;�Z��
	IF TCVAR:�Z��
		SIF S
			PRINT  +
		A += 6
		PRINT �Z��
		PRINTV '(,6,')
		S = 1
	ENDIF

	Y = 0
	;���t�̉���
	SIF STAIN:PLAYER:2 & 1
		Y += 1
	;���t�̉���
	SIF STAIN:PLAYER:2 & 4
		Y += 3
	;�A�i���̉���
	SIF STAIN:PLAYER:2 & 8
		Y += 7
	SIF STAIN:PLAYER:2 & 16
		Y += 15

	Y = Y * (2 - TALENT:���L�ϐ�) / 2

	;���ꂠ��
	IF Y
		PRINT  -
		A -= Y
		PRINT ���ꂠ��
		;���L�݊�
		IF TALENT:���L�ϐ� > 0
			PRINT �A���L�݊�
		ELSEIF TALENT:���L�ϐ� < 0
			PRINT �A���L�q��
		ENDIF
		PRINTV '(,Y,')
		S = 1
	ENDIF

	;���v��\��(35�ȏ�Ŏ��s)
	PRINT  =
	PRINTV A

	V = 35
	SIF A < V
		PRINT  <
	SIF A == V
		PRINT  =
	SIF A > V
		PRINT  >
	PRINT ���s�l
	PRINTV V

	WAIT
	SKIPDISP 0
	;���s�ł��Ȃ�
	SIF A < V
		RETURN 0

	;���̑���������
	IF ARG == 1
		SIF TFLAG:17 != TARGET
			TFLAG:16 = 0
		;���̌�����������
		IF GROUPMATCH(TALENT:TARGET:����, 1, -1)
			CALL LOST_VIRGIN_STOP(TARGET)
			SIF RESULT
				RETURN 0
		ENDIF
		;�댯����D�v������
		CALL ��D�v��(TARGET)
		IF TFLAG:16 && !(TEQUIP:PLAYER:�R���h�[�� || TCVAR:�s��)
			TFLAG:16 -= 1
			RETURN 0
		ENDIF
	ENDIF
ENDIF
SKIPDISP 0
RETURN 1

;-------------------------------------------------
;���s����
;-------------------------------------------------
@COM_ABLE65
;�R��ʎ��s����
SIF !TFLAG:100
	RETURN 0
SIF GLOBAL_COMABLE(65)
	RETURN RESULT
;�����҂��I�g�R�A�ӂ��Ȃ�̏ꍇ�͂�����x�u�N���ĂȂ��ƃ_��
SIF (TALENT:PLAYER:2 & 2) && BASE:PLAYER:�u�N < 1000
	RETURN 0
;�o�C�u�}�����̓_��
SIF TEQUIP:13
	RETURN 0
;�I�g�R���ƃ_��
SIF !(TALENT:2 & 1)
	RETURN 0
;�̊i��������ꍇ�͌o�����Ȃ��ƃ_��
SIF �}���s��(TARGET) == 1 && EXP:�u�o�� < 50 && !TALENT:PLAYER:�֒f�̒m��
	RETURN 0
;����ɑ̊i��������Ƌ֒f�̒m�����K�v
SIF �}���s��(TARGET) == 2 && (!TALENT:PLAYER:�֒f�̒m�� || EXP:�u�o�� < 50)
	RETURN 0
SIF �}���s��(TARGET) == 3
	RETURN 0
;�����҂��I�g�R�����l���d���ӂ��Ȃ肶��Ȃ��ƃ_��
SIF !(TALENT:PLAYER:2 & 2)
	RETURN 0

;�����g����
SIF TEQUIP:0 & 4
	RETURN 0
;�����C��v���C���̓v���C�}�b�g�������ƃ_��
IF TEQUIP:31
	SIF ITEM:20 == 0 && NOITEM == 0
		RETURN 0
ENDIF
;�����ŁA�]��4�ȉ��E���Y���C4�ȉ���ASSI�̏ꍇ�͂ł��Ȃ��i�T�h�Ȃ�n�j�j
IF TALENT:���� && ASSIPLAY
	SIF (ABL:ASSI:�]�� <= 4 || ABL:ASSI:�Z�I <= 4) && TALENT:ASSI:�T�h == 0
		RETURN 0
ENDIF
;���Ԓ�~���̓X�L�b�v
IF FLAG:70 != 1
	;�����������s���͂���
	SIF PALAM:���� < PALAMLV:2 && TALENT:���� && TALENT:���� != -1
		RETURN 0
	;��g�p���͕s��
	SIF TEQUIP:��
		RETURN 0
ENDIF
;��������
SIF CFLAG:�C�^�Y�� > 1
	RETURN 0
;�x�b�h���[��or�o�X���[���Ńv���C�}�b�g���Ȃ��ƃ_��
SIF !BEDROOM(CFLAG:PLAYER:���݈ʒu) && !(BATHROOM() && ITEM:20)
	RETURN 0
RETURN 1


code:
;-------------------------------------------------
;�Ζʍ���
;�Z�b�N�X�n�R�}���h�A���x��3
;-------------------------------------------------
@COM67
;�O��̒�����3P�̂Ƃ�3P��
IF PREVCOM == 71
	CALL COM_ABLE71
	SIF RESULT == 1
		JUMP COM71
ENDIF
;-------------------------------------------------
;COM��FLAG�̐ݒ�
;-------------------------------------------------
;�s�׎�
TCVAR:116 = PLAYER

;��d���y�t���O
TCVAR:PLAYER:108 = 1

CSTR:PLAYER:10 += @"{TARGET}/"
;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
TCVAR:PLAYER:2 = 1
;���x
TCVAR:PLAYER:4 = 1200

CSTR:TARGET:10 += @"{PLAYER}/"
;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
TCVAR:TARGET:2 = 13
;���x
TCVAR:TARGET:4 = 1000

DOWNBASE:PLAYER:�̗� += 80

;-------------------------------------------------
;�\�[�X�ǉ�����
;-------------------------------------------------
;����̗́A�C��
IF FLAG:70 == 1
	BASE:MASTER:TSP -= 100
	SOURCE:PLAYER:���b = 400
	SOURCE:���u = 350
	SOURCE:��� = 250

	;�����������ꍇ�́A��ɂ̃\�[�X�Ɣ����̃\�[�X��ǉ�����
	IF TALENT:���� == 1
		SOURCE:��� += 1000
	ENDIF

	;�Đ������������ꍇ�́A��ɂ̃\�[�X�Ɣ����̃\�[�X��ǉ�����
	IF TALENT:���� == 2
		SOURCE:��� += 250
	ENDIF

ELSE

	DOWNBASE:�̗� += 50
	DOWNBASE:�C�� += 60
	SOURCE:PLAYER:���b = 400

	SOURCE:���u = 350
	SOURCE:���b = 250
	SOURCE:� = 350
	SOURCE:��� = 500
	SOURCE:���� = 300
	SOURCE:��E = 100
	SOURCE:���� = 400

	;��̂ق��Ōv�Z��������f�[�^
	SOURCE:�s�� = Y*10 + 60

	CALL ����\�[�X����

ENDIF

;V�ւ̋�ɂ͐�ɏ������Ă���
CALL PAIN_CHECK_V(TARGET)

;-------------------------------------------------
;����̏���
;-------------------------------------------------
;�ː��Ɋ֌W�Ȃ��s���鏈���͂�������

CALL STAIN_�S���o�}��

;-------------------------------------------------
;�o���̏���
;-------------------------------------------------
EXP:�u�o�� ++
EXP:PLAYER:�}���o�� ++
;�������@���Y�Ȃ�߂�l1�Q�C�Ȃ�߂�l2
IF FLAG:70 == 1
	IF HETEROSEX(TARGET,PLAYER)
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 4
	ENDIF
	EXP:PLAYER:�����o�� += 1
ELSE
	IF HETEROSEX(TARGET,PLAYER)
		EXP:(50 + HETEROSEX(TARGET,PLAYER)) += 4
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 4
	ENDIF
	EXP:�u�����o�� ++
	IF !ASSIPLAY
		EXP:����o�� += TALENT:���� * 2
		;����
		SIF TALENT:���� && TALENT:���� && TALENT:���� != -1
			EXP:����o�� += 7
	ENDIF
ENDIF
RETURN 1

@CAN_COM67(ARG)
;-------------------------------------------------
;���s���菈��
;-------------------------------------------------
IF FLAG:70 == 1
	SKIPDISP ARG
	PRINTL �Ζʍ��ʂŔƂ�
ELSE

	;��Ŕ����Ă���ꍇ�͖����i�ꂪ�������̂ݎ��s������s���j
	IF !TEQUIP:��
		SKIPDISP ARG
		PRINTL �Ζʍ���
		A = 0
		S = 0
		;���ׂĂ̖��߂ɋ��ʂ̗v�f���l��
		;(�]���������Ɩ��߂ɏ]���₷���Ȃ�)
		CALL COM_ORDER

		;ABL:�~�]
		IF ABL:�~�]
			SIF S
				PRINT  +
			A += ABL:�~�] * 3
			PRINT �~�]
			PRINTV 'LV,ABL:�~�],'(,ABL:�~�] * 3,')
			S = 1
		ENDIF
		;ABL:�u���o
		IF ABL:�u���o
			SIF S
				PRINT  +
			A += ABL:�u���o * 2
			PRINT �u���o
			PRINTV 'LV,ABL:�u���o,'(,ABL:�u���o * 2,')
			S = 1
		ENDIF
		;���y����
		IF MARK:���y����
			SIF S
				PRINT  +
			A += MARK:���y���� * 3
			PRINT ���y����
			PRINTV 'LV,MARK:���y����,'(,MARK:���y���� * 3,')
			S = 1
		ENDIF
		;PALAM:�����i�̕s���j
		IF PALAM:���� < PALAMLV:3
			PRINT  -
			A -= 5
			PRINT �����s��
			PRINTV '(,5,')
			S = 1
		ENDIF
		;PALAM:�~��
		IF GETPALAMLV(PALAM:�~��,5)
			SIF S
				PRINT  +
			A += GETPALAMLV(PALAM:�~��,5) * 3
			PRINT �~��
			PRINTV 'LV,GETPALAMLV(PALAM:�~��,5),'(,GETPALAMLV(PALAM:�~��,5) * 3,')
			S = 1
		ENDIF
		;�p���炢
		IF TALENT:㵒p�S > 0
			PRINT  -
			A -= 2
			PRINT �p���炢
			PRINTV '(,2,')
			S = 1
		ENDIF
		;�����̔ے�
		IF TALENT:�������� < 0 && !TALENT:����
			PRINT  -
			A -= 5
			PRINT �����̔ے�
			PRINTV '(,5,')
			S = 1
		ENDIF
		;�j�����i����A�e���Ŗ����j
		IF OTOKOGIRAI(TARGET)
			PRINT  -
			A -= 12
			PRINT ����
			PRINTV '(,12,')
			S = 1
		ENDIF
		;����
		IF TALENT:���� && ASSIPLAY == 0
			SIF S
				PRINT  +
			A += 15
			PRINT ����
			PRINTV '(,15,')
			S = 15
		ENDIF
		;�e��
		IF TALENT:���� > 1 && ASSIPLAY == 0
			SIF S
				PRINT  +
			A += 5
			PRINT �e��
			PRINTV '(,5,')
			S = 5
		ENDIF
		;����
		LOCAL = MAX(10,40 - EXP:�u�o��)
		IF TALENT:���� && TALENT:���� != -1
			PRINT  -
			A -= LOCAL
			PRINT ����
			PRINTV '(,LOCAL,')
			S = 1
		;V�o��
		ELSEIF EXP:�u�o�� < EXPLV:2
			PRINT  -
			A -= 15
			PRINT �u�o��
			PRINT �s��
			PRINTV '(,15,')
			S = 1
		ENDIF

		;�����҂��ӂ��Ȃ�
		IF (TALENT:PLAYER:2 & 3) == 3
			SIF S
				PRINT  +
			A += 4
			PRINT �ӂ��Ȃ�
			PRINTV '(,4,')
			S = 1
		ENDIF

		;�Z��
		IF TCVAR:�Z��
			SIF S
				PRINT  +
			A += 6
			PRINTS ITEMNAME:41
			PRINTV '(,6,')
			S = 1
		ENDIF

		Y = 0
		;���t�̉���
		SIF STAIN:PLAYER:2 & 1
			Y += 1
		;���t�̉���
		SIF STAIN:PLAYER:2 & 4
			Y += 3
		;�A�i���̉���
		SIF STAIN:PLAYER:2 & 8
			Y += 7
		SIF STAIN:PLAYER:2 & 16
			Y += 15
		Y = Y * (2 - TALENT:���L�ϐ�) / 2

		;���ꂠ��
		IF Y
			PRINT  -
			A -= Y
			PRINT ���ꂠ��
			;���L�݊�
			IF TALENT:���L�ϐ� > 0
				PRINT �A���L�݊�
			ELSEIF TALENT:���L�ϐ� < 0
				PRINT �A���L�q��
			ENDIF
			PRINTV '(,Y,')
			S = 1
		ENDIF

		;���v��\��(40�ȏ�Ŏ��s)
		PRINT  =
		PRINTV A

		V = 40
		SIF A < V
			PRINT  <
		SIF A == V
			PRINT  =
		SIF A > V
			PRINT  >
		PRINT ���s�l
		PRINTV V
	ELSE
		SKIPDISP ARG
		PRINTL �����Ζʍ���
	ENDIF
	WAIT
	SKIPDISP 0

	;���s�ł��Ȃ�
	SIF A < V
		RETURN 0

	;���̑���������
	IF ARG == 1
		SIF TFLAG:17 != TARGET
			TFLAG:16 = 0
		;���̌�����������
		IF GROUPMATCH(TALENT:TARGET:����, 1, -1)
			CALL LOST_VIRGIN_STOP(TARGET)
			SIF RESULT
				RETURN 0
		ENDIF
		;�댯����D�v������
		CALL ��D�v��(TARGET)
		IF TFLAG:16 && !(TEQUIP:PLAYER:�R���h�[�� || TCVAR:�s��)
			TFLAG:16 -= 1
			RETURN 0
		ENDIF
	ENDIF
ENDIF
SKIPDISP 0
RETURN 1

;-------------------------------------------------
;���s����
;-------------------------------------------------
@COM_ABLE67
;�Ζʍ��ʎ��s����
SIF !TFLAG:100
	RETURN 0
SIF GLOBAL_COMABLE(67)
	RETURN RESULT
;�����҂��I�g�R�A�ӂ��Ȃ�̏ꍇ�͂�����x�u�N���ĂȂ��ƃ_��
SIF (TALENT:PLAYER:2 & 2) && BASE:PLAYER:�u�N < 1000
	RETURN 0
;�o�C�u�}�����̓_��
SIF TEQUIP:13
	RETURN 0
;�I�g�R���ƃ_��
SIF !(TALENT:2 & 1)
	RETURN 0
;�����C��v���C���̓v���C�}�b�g�������ƃ_��
IF TEQUIP:31
	SIF ITEM:20 == 0 && NOITEM == 0
		RETURN 0
ENDIF
;�����g����
SIF TEQUIP:0 & 4
	RETURN 0
;�̊i��������ꍇ�͌o�����Ȃ��ƃ_��
SIF �}���s��(TARGET) == 1 && EXP:�u�o�� < 50 && !TALENT:PLAYER:�֒f�̒m��
	RETURN 0
;����ɑ̊i��������Ƌ֒f�̒m�����K�v
SIF �}���s��(TARGET) == 2 && (!TALENT:PLAYER:�֒f�̒m�� || EXP:�u�o�� < 50)
	RETURN 0
SIF �}���s��(TARGET) == 3
	RETURN 0
;�����҂��I�g�R�A���l���d�A�ӂ��Ȃ�A�������̓y�j�X�o���h���Ȃ��ƃ_��
SIF !(TALENT:PLAYER:2 & 2) && ITEM:PBAND == 0
	RETURN 0
;�����ŁA�]��4�ȉ��E���Y���C4�ȉ���ASSI�̏ꍇ�͂ł��Ȃ��i�T�h�Ȃ�n�j�j
IF TALENT:���� && ASSIPLAY
	SIF (ABL:ASSI:�]�� <= 4 || ABL:ASSI:�Z�I <= 4) && TALENT:ASSI:�T�h == 0
		RETURN 0
ENDIF
;��~���͕s��
SIF FLAG:70 == 1
	RETURN 0
;�����������s���͂���
SIF PALAM:���� < PALAMLV:2 && TALENT:����
		RETURN 0
;�w�ʍ��ʁA��w�ʂ���̓_��
SIF TEQUIP:�̈� == 5 || TEQUIP:�̈� == 2
	RETURN 0
;��������
SIF CFLAG:�C�^�Y�� > 1
	RETURN 0
;�����łȂ����o�X���[���Ńv���C�}�b�g���Ȃ��ƃ_��
SIF !INROOM(CFLAG:PLAYER:���݈ʒu) && !(BATHROOM() && ITEM:20)
	RETURN 0
RETURN 1


code:
;-------------------------------------------------
;�w�ʍ���
;�Z�b�N�X�n�R�}���h�A���x��3
;-------------------------------------------------
@COM68
;-------------------------------------------------
;����h������
;-------------------------------------------------
;�O��̒�����3P�̂Ƃ�3P��
IF PREVCOM == 71
	CALL COM_ABLE71
	SIF RESULT == 1
		JUMP COM71
ENDIF
;-------------------------------------------------
;COM��FLAG�̐ݒ�
;-------------------------------------------------
;�s�׎�
TCVAR:116 = PLAYER

;��d���y�t���O
TCVAR:PLAYER:108 = 1

CSTR:PLAYER:10 += @"{TARGET}/"
;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
TCVAR:PLAYER:2 = 1
;���x
TCVAR:PLAYER:4 = 1200

CSTR:TARGET:10 += @"{PLAYER}/"
;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
TCVAR:TARGET:2 = 13
;���x
TCVAR:TARGET:4 = 1200

DOWNBASE:PLAYER:�̗� += 80

;-------------------------------------------------
;�\�[�X�ǉ�����
;-------------------------------------------------
;����̗́A�C��
IF FLAG:70 == 1
	BASE:MASTER:TSP -= 100
	SOURCE:PLAYER:���b = 400

	SOURCE:���u = 350
	SOURCE:���a = 250
	SOURCE:��� = 200

	;�����������ꍇ�́A��ɂ̃\�[�X�Ɣ����̃\�[�X��ǉ�����
	IF TALENT:���� == 1
		SOURCE:��� += 1000
	ENDIF

	;�Đ������������ꍇ�́A��ɂ̃\�[�X�Ɣ����̃\�[�X��ǉ�����
	IF TALENT:���� == 2
		SOURCE:��� += 250
	ENDIF

ELSE

	DOWNBASE:�̗� += 50
	DOWNBASE:�C�� += 60
	SOURCE:PLAYER:���b = 400

	;SOURCE:���b = 250
	SOURCE:���u = 350
	SOURCE:���a = 250
	SOURCE:� = 350
	SOURCE:��� = 400
	SOURCE:�I�o = 200
	SOURCE:��E = 400
	SOURCE:���� = 800

	;��̂ق��Ōv�Z��������f�[�^
	SOURCE:�s�� = Y*10 + 60

	CALL ����\�[�X����

ENDIF
;V�ւ̋�ɂ͐�ɏ������Ă���
CALL PAIN_CHECK_V(TARGET)

;-------------------------------------------------
;����̏���
;-------------------------------------------------
;�ː��Ɋ֌W�Ȃ��s���鏈���͂�������
CALL STAIN_�S���o�}��

;-------------------------------------------------
;�o���̏���
;-------------------------------------------------
EXP:�u�o�� ++
EXP:PLAYER:�}���o�� ++
;�������@���Y�Ȃ�߂�l1�Q�C�Ȃ�߂�l2
IF FLAG:70 == 1
	IF HETEROSEX(TARGET,PLAYER)
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 4
	ENDIF
	EXP:PLAYER:�����o�� += 1
ELSE
	IF HETEROSEX(TARGET,PLAYER)
		EXP:(50 + HETEROSEX(TARGET,PLAYER)) += 4
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 4
	ENDIF
	EXP:�u�����o�� ++
	IF !ASSIPLAY
		EXP:����o�� += TALENT:���� * 2
		;����
		SIF TALENT:���� && TALENT:���� != -1 && TALENT:����
			EXP:����o�� += 5
	ENDIF
ENDIF
RETURN 1

@CAN_COM68(ARG)
;-------------------------------------------------
;���s���菈��
;-------------------------------------------------
IF FLAG:70 == 1
	SKIPDISP ARG
	PRINTL �w�ʍ��ʂŔƂ�
ELSE
	;��Ŕ����Ă���ꍇ�͖����i�ꂪ�������̂ݎ��s������s���j
	IF !TEQUIP:��
		SKIPDISP ARG
		PRINTL �w�ʍ���
		A = 0
		S = 0
		;���ׂĂ̖��߂ɋ��ʂ̗v�f���l��
		;(�]���������Ɩ��߂ɏ]���₷���Ȃ�)
		CALL COM_ORDER

		;ABL:�~�]
		IF ABL:�~�]
			SIF S
				PRINT  +
			A += ABL:�~�] * 3
			PRINT �~�]
			PRINTV 'LV,ABL:�~�],'(,ABL:�~�] * 3,')
			S = 1
		ENDIF
		;ABL:�u���o
		IF ABL:�u���o
			SIF S
				PRINT  +
			A += ABL:�u���o * 2
			PRINT �u���o
			PRINTV 'LV,ABL:�u���o,'(,ABL:�u���o * 2,')
			S = 1
		ENDIF
		;���y����
		IF MARK:���y����
			SIF S
				PRINT  +
			A += MARK:���y���� * 3
			PRINT ���y����
			PRINTV 'LV,MARK:���y����,'(,MARK:���y���� * 3,')
			S = 1
		ENDIF
		;PALAM:�����i�̕s���j
		IF PALAM:���� < PALAMLV:3
			PRINT  -
			A -= 5
			PRINT �����s��
			PRINTV '(,5,')
			S = 1
		ENDIF
		;PALAM:�~��
		IF GETPALAMLV(PALAM:�~��,5)
			SIF S
				PRINT  +
			A += GETPALAMLV(PALAM:�~��,5) * 3
			PRINT �~��
			PRINTV 'LV,GETPALAMLV(PALAM:�~��,5),'(,GETPALAMLV(PALAM:�~��,5) * 3,')
			S = 1
		ENDIF
		;�p���炢
		IF TALENT:㵒p�S > 0
			PRINT  -
			A -= 2
			PRINT �p���炢
			PRINTV '(,2,')
			S = 1
		ENDIF
		;�����̔ے�
		IF TALENT:�������� < 0 && !TALENT:����
			PRINT  -
			A -= 5
			PRINT �����̔ے�
			PRINTV '(,5,')
			S = 1
		ENDIF
		;�j�����i����A�e���Ŗ����j
		IF OTOKOGIRAI(TARGET)
			PRINT  -
			A -= 12
			PRINT �j����
			PRINTV '(,12,')
			S = 1
		ENDIF
		;����
		IF TALENT:���� && ASSIPLAY == 0
			SIF S
				PRINT  +
			A += 15
			PRINT ����
			PRINTV '(,15,')
			S = 15
		ENDIF
		;�e��
		IF TALENT:���� > 1 && ASSIPLAY == 0
			SIF S
				PRINT  +
			A += 20
			PRINT �e��
			PRINTV '(,20,')
			S = 20
		ENDIF
		;����
		LOCAL = MAX(10,40 - EXP:�u�o��)
		IF TALENT:���� && TALENT:���� != -1
			PRINT  -
			A -= LOCAL
			PRINT ����
			PRINTV '(,LOCAL,')
			S = 1
		;�u�o��
		ELSEIF EXP:�u�o�� < EXPLV:2
			PRINT  -
			A -= 15
			PRINT �u�o���s��
			PRINTV '(,15,')
			S = 1
		ENDIF

		;�����҂��ӂ��Ȃ�
		IF (TALENT:PLAYER:2 & 3) == 3
			SIF S
				PRINT  +
			A += 4
			PRINT �ӂ��Ȃ�
			PRINTV '(,4,')
			S = 1
		ENDIF

		;�Z��
		IF TCVAR:�Z��
			SIF S
				PRINT  +
			A += 6
			PRINT �Z��
			PRINTV '(,6,')
			S = 1
		ENDIF

		Y = 0
		;���t�̉���
		SIF STAIN:PLAYER:2 & 1
			Y += 1
		;���t�̉���
		SIF STAIN:PLAYER:2 & 4
			Y += 3
		;�A�i���̉���
		SIF STAIN:PLAYER:2 & 8
			Y += 7
		SIF STAIN:PLAYER:2 & 16
			Y += 15
		Y = Y * (2 - TALENT:���L�ϐ�) / 2

		;���ꂠ��
		IF Y
			PRINT  -
			A -= Y
			PRINT ���ꂠ��
			;���L�݊�
			IF TALENT:���L�ϐ� > 0
				PRINT �A���L�݊�
			ELSEIF TALENT:���L�ϐ� < 0
				PRINT �A���L�q��
			ENDIF
			PRINTV '(,Y,')
			S = 1
		ENDIF
		;���v��\��(42�ȏ�Ŏ��s)
		PRINT  =
		PRINTV A

		V = 42
		SIF A < V
			PRINT  <
		SIF A == V
			PRINT  =
		SIF A > V
			PRINT  >
		PRINT ���s�l
		PRINTV V
	ELSE
		SKIPDISP ARG
		PRINTL �����w�ʍ���
	ENDIF
		WAIT
		SKIPDISP 0

	;���s�ł��Ȃ�
	SIF A < V
		RETURN 0

	;���̑���������
	IF ARG == 1
		SIF TFLAG:17 != TARGET
			TFLAG:16 = 0
		;���̌�����������
		IF GROUPMATCH(TALENT:TARGET:����, 1, -1)
			CALL LOST_VIRGIN_STOP(TARGET)
			SIF RESULT
				RETURN 0
		ENDIF
		;�댯����D�v������
		CALL ��D�v��(TARGET)
		IF TFLAG:16 && !(TEQUIP:PLAYER:�R���h�[�� || TCVAR:�s��)
			TFLAG:16 -= 1
			RETURN 0
		ENDIF
	ENDIF
ENDIF
SKIPDISP 0
RETURN 1

;-------------------------------------------------
;���s����
;-------------------------------------------------
@COM_ABLE68
;�w�ʍ��ʎ��s����
SIF !TFLAG:100
	RETURN 0
SIF GLOBAL_COMABLE(68)
	RETURN RESULT
;�����҂��I�g�R�A�ӂ��Ȃ�̏ꍇ�͂�����x�u�N���ĂȂ��ƃ_��
SIF (TALENT:PLAYER:2 & 2) && BASE:PLAYER:�u�N < 1000
	RETURN 0
;�o�C�u�}�����̓_��
SIF TEQUIP:13
	RETURN 0
;�I�g�R���ƃ_��
SIF !(TALENT:2 & 1)
	RETURN 0
;�����C��v���C���̓v���C�}�b�g�������ƃ_��
IF TEQUIP:31
	SIF ITEM:20 == 0 && NOITEM == 0
		RETURN 0
ENDIF

;�����g����
SIF TEQUIP:0 & 4
	RETURN 0
;�̊i��������ꍇ�͌o�����Ȃ��ƃ_��
SIF �}���s��(TARGET) == 1 && EXP:�u�o�� < 50 && !TALENT:PLAYER:�֒f�̒m��
	RETURN 0
;����ɑ̊i��������Ƌ֒f�̒m�����K�v
SIF �}���s��(TARGET) == 2 && (!TALENT:PLAYER:�֒f�̒m�� || EXP:�u�o�� < 50)
	RETURN 0
SIF �}���s��(TARGET) == 3
	RETURN 0
;�����҂��I�g�R�A���l���d�A�ӂ��Ȃ�A�������̓y�j�X�o���h���Ȃ��ƃ_��
SIF !(TALENT:PLAYER:2 & 2) && ITEM:PBAND == 0
	RETURN 0
;�����ŁA�]��4�ȉ��E���Y���C4�ȉ���ASSI�̏ꍇ�͂ł��Ȃ��i�T�h�Ȃ�n�j�j
IF TALENT:���� && ASSIPLAY
	SIF (ABL:ASSI:�]�� <= 4 || ABL:ASSI:�Z�I <= 4) && TALENT:ASSI:�T�h == 0
		RETURN 0
ENDIF
;��~���͕s��
SIF FLAG:70 == 1
	RETURN 0
;�����������s���͂���
SIF PALAM:���� < PALAMLV:2 && TALENT:���� && TALENT:���� != -1
	RETURN 0
;�Ζʍ��ʁA����ʂ���̓_��
SIF TEQUIP:�̈� == 4 || TEQUIP:�̈� == 1
	RETURN 0
;��������
SIF CFLAG:�C�^�Y�� > 1
	RETURN 0
;�����łȂ����o�X���[���Ńv���C�}�b�g���Ȃ��ƃ_��
SIF !INROOM(CFLAG:PLAYER:���݈ʒu) && !(BATHROOM() && ITEM:20)
	RETURN 0
RETURN 1


code:
;-------------------------------------------------
;�񌊑}��
;�Z�b�N�X�n�h���R�}���h
;-------------------------------------------------
@COM71
VARSET LOCAL
IF GROUPMATCH(TALENT:TARGET:����, 1, -1)
	CALL LOST_VIRGIN_STOP(TARGET)
	SIF RESULT
		RETURN 0
ENDIF
SIF SHIRAHU(TARGET)
	CALL ��D�v��(TARGET)
IF TFLAG:16 && !(TEQUIP:PLAYER:�R���h�[�� || TCVAR:�s��)
	TFLAG:16 -= 1
	RETURN 0
ENDIF

LOCAL:1 = MASTER_POSE(SET_V,SET_P,1)
LOCAL:2 = MASTER_POSE(SET_A,SET_P,1)
IF LOCAL:1
	LOCAL = LOCAL:1
ELSEIF LOCAL:2
	LOCAL = LOCAL:2
ENDIF
;LOCAL �񌊑}�������l
;-------------------------------------------------
;COM��FLAG�̐ݒ�
;-------------------------------------------------
;�s�׎ҁi����ݒ肷��͖̂����A�b��I�ɂ��������
TCVAR:116 = LOCAL
TCVAR:LOCAL:116 = PLAYER
;-------------------------------------------------
;�}�����ʊǗ�
;-------------------------------------------------
;PLAYER��A,TARGET��V�}��
IF LOCAL == LOCAL:2
	CSTR:10 += @"{LOCAL}/"
	;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
	TCVAR:2 = 1
	;���x
	TCVAR:4 = 1500

	CSTR:PLAYER:10 += @"{LOCAL}/"
	;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
	TCVAR:PLAYER:2 = 2
	;���x
	TCVAR:PLAYER:4 = 2500
;PLAYER��V,TARGET��A�}��
ELSE
	CSTR:PLAYER:10 += @"{LOCAL}/"
	;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
	TCVAR:PLAYER:2 = 1
	;���x
	TCVAR:PLAYER:4 = 1500

	CSTR:10 += @"{LOCAL}/"
	;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
	TCVAR:2 = 2
	;���x
	TCVAR:4 = 2500
ENDIF
;-------------------------------------------------
;�\�[�X�ǉ�����
;-------------------------------------------------
;����̗́A�C��
IF FLAG:70 == 1
	BASE:MASTER:TSP -= 220
	SOURCE:PLAYER:���b = 400
	SOURCE:���b = 400
	SOURCE:LOCAL:���u = 400
	SOURCE:LOCAL:���` = 400
	SOURCE:LOCAL:��� = 650

	;�����������ꍇ�́A��ɂ̃\�[�X�Ɣ����̃\�[�X��ǉ�����
	IF TALENT:LOCAL:���� == 1
		SOURCE:LOCAL:��� += 2750
	ENDIF

	;�Đ������������ꍇ�́A��ɂ̃\�[�X�Ɣ����̃\�[�X��ǉ�����
	IF TALENT:LOCAL:���� == 2
		SOURCE:LOCAL:��� += 1750
	ENDIF

	EXP:PLAYER:�����o�� += 1

ELSE

	DOWNBASE:�̗� += 40
	DOWNBASE:�C�� += 220
	SOURCE:PLAYER:���b = 400

	SOURCE:���b = 400
	SOURCE:���s�� = 500
	SOURCE:���] = 1000
	SOURCE:��E = 500
	SOURCE:���� = 500

	DOWNBASE:LOCAL:�̗� += 160
	DOWNBASE:LOCAL:�C�� += 350

	SOURCE:LOCAL:���u = 400
	SOURCE:LOCAL:���` = 400
	SOURCE:LOCAL:� = 300
	SOURCE:LOCAL:���s�� = 300
	SOURCE:LOCAL:��� = 1300
	SOURCE:LOCAL:���] = 500
	SOURCE:LOCAL:��E = 500
	SOURCE:LOCAL:���� = 500

	;-------------------------------------------------
	;����\�[�X����
	;-------------------------------------------------
	;�}���A��R�����ɂ́A�}�T�\�[�X�ǉ�
	SIF TALENT:���Ȉ� < 0 || TALENT:��R
		SOURCE:�T�� += 500
	SIF TALENT:LOCAL:���Ȉ� < 0 || TALENT:LOCAL:��R
		SOURCE:LOCAL:�T�� += 500

	;�呀�ϔO�����ŗ���A�e�������ȊO�ɂ�ɔ����̃\�[�X��ǉ�����i�Z�b�N�X�n�̂݁j
	SIF TALENT:LOCAL:�呀 && !TALENT:LOCAL:����
		SOURCE:LOCAL:���� += 1000

	;�����������ꍇ�́A��ɂ̃\�[�X�Ɣ����̃\�[�X��ǉ�����
	IF TALENT:LOCAL:���� == 1
		SOURCE:LOCAL:��� += 5500
		SOURCE:LOCAL:���� += 3000
	ENDIF

	;�Đ������������ꍇ�́A��ɂ̃\�[�X�Ɣ����̃\�[�X��ǉ�����
	IF TALENT:LOCAL:���� == 2
		SOURCE:LOCAL:��� += 3500
		SOURCE:LOCAL:���� += 1000
	ENDIF
ENDIF
;V�ւ̋�ɂ͐�ɏ������Ă���
CALL PAIN_CHECK_V(LOCAL)
;A�ւ̋�ɂ͐�ɏ������Ă���
CALL PAIN_CHECK_A(LOCAL)

;-------------------------------------------------
;����̏���
;-------------------------------------------------
;PLAYER��V,TARGET��A�}��
IF LOCAL == LOCAL:1
	;�S���ɔj�Z�̌��̉����t��
	SIF TALENT:LOCAL:���� && TALENT:���� != -1
		STAIN:LOCAL:6 |= 64
	;LOCAL���S���̎�l�̂o�̉��ꂪ�ړ�
	IF TALENT:PLAYER:2 & 2
		STAIN:PLAYER:2 |= STAIN:LOCAL:6
		STAIN:PLAYER:2 |= STAIN:LOCAL:3
		STAIN:LOCAL:6 |= STAIN:PLAYER:2
		STAIN:LOCAL:3 |= STAIN:PLAYER:2
	ENDIF
	;LOCAL�̂`��TARGET�̂o�̉��ꂪ�ړ�
	IF TALENT:2 & 2
		STAIN:2 |= STAIN:LOCAL:7
		STAIN:2 |= STAIN:LOCAL:4
		STAIN:LOCAL:7 |= STAIN:2
		STAIN:LOCAL:4 |= STAIN:2
	ENDIF
ELSE
	;�S���ɔj�Z�̌��̉����t��
	SIF TALENT:LOCAL:���� && TALENT:���� != -1
		STAIN:LOCAL:6 |= 64
	;LOCAL���S����TARGET�̂o�̉��ꂪ�ړ�
	IF TALENT:PLAYER:2 & 2
		STAIN:2 |= STAIN:LOCAL:6
		STAIN:2 |= STAIN:LOCAL:3
		STAIN:LOCAL:6 |= STAIN:2
		STAIN:LOCAL:3 |= STAIN:2
	ENDIF
	;LOCAL�̂`��PLAYER�̂o�̉��ꂪ�ړ�
	IF TALENT:2 & 2
		STAIN:PLAYER:2 |= STAIN:LOCAL:7
		STAIN:PLAYER:2 |= STAIN:LOCAL:4
		STAIN:LOCAL:7 |= STAIN:PLAYER:2
		STAIN:LOCAL:4 |= STAIN:PLAYER:2
	ENDIF
ENDIF
;-------------------------------------------------
;�o���̏���
;-------------------------------------------------
EXP:PLAYER:�}���o�� ++

;EXP:LOCAL:�`�o�� ++
EXP:LOCAL:�u�����o�� ++
EXP:LOCAL:�`�����o�� ++

EXP:�}���o�� ++

;�ُ�o��
IF TALENT:LOCAL:����  && TALENT:���� != -1 && !GETBIT(CFLAG:3,9)
	EXP:LOCAL:�ُ�o�� += 2
	SETBIT CFLAG:LOCAL:3,9
ENDIF

IF LOCAL == TARGET
	IF FLAG:70 == 1
		IF HETEROSEX(LOCAL,PLAYER)
			EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 3
		ENDIF
		EXP:PLAYER:�����o�� += 1
	ELSE
		;�������@���Y�Ȃ�߂�l1�Q�C�Ȃ�߂�l2
		IF HETEROSEX(LOCAL,PLAYER)
			EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 3
			EXP:LOCAL:(50 + HETEROSEX(TARGET,PLAYER)) += 3
		ENDIF
	ENDIF
ELSE
	;�������@���Y�Ȃ�߂�l1�Q�C�Ȃ�߂�l2
	IF FLAG:70 == 1
		IF HETEROSEX(TARGET,PLAYER)
			EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 3
		ENDIF
		IF HETEROSEX(LOCAL,PLAYER)
			EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 3
		ENDIF
		EXP:PLAYER:�����o�� += 1
	ELSE
		IF HETEROSEX(TARGET,PLAYER)
			EXP:(50 + HETEROSEX(TARGET,PLAYER)) += 3
			EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 3
		ENDIF
		;�������@���Y�Ȃ�߂�l1�Q�C�Ȃ�߂�l2
		IF HETEROSEX(LOCAL,PLAYER)
			EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 3
			EXP:LOCAL:(50 + HETEROSEX(TARGET,PLAYER)) += 3
		ENDIF
		IF HETEROSEX(TARGET,LOCAL)
			EXP:(50 + HETEROSEX(TARGET,LOCAL)) += 3
			EXP:LOCAL:(50 + HETEROSEX(TARGET,LOCAL)) += 3
		ENDIF
	ENDIF
ENDIF
RETURN 1

;-------------------------------------------------
;���s����
;-------------------------------------------------
@COM_ABLE71
;�񌊑}�����s����
VARSET LOCAL
LOCAL = MASTER_POSE(SET_V,SET_P,1)
LOCAL:1 = MASTER_POSE(SET_A,SET_P,1)
IF LOCAL
	LOCAL:2 = LOCAL
ELSEIF LOCAL:1
	LOCAL:2 = LOCAL:1
ENDIF
SIF !TFLAG:100
	RETURN 0
SIF GLOBAL_COMABLE(71)
	RETURN RESULT
[SKIPSTART]
;�o�C�u�}�����̓_��
SIF TEQUIP:13
	RETURN 0
;�A�i���o�C�u�}�����̓_��
SIF TEQUIP:14
	RETURN 0
;�A�i���r�[�Y�g�p���͕s��
SIF TEQUIP:15
	RETURN 0
;���ʂ̟����g�p���͕s��
SIF TEQUIP:21
	RETURN 0
;�o���[���g�p���͕s��
SIF TEQUIP:22
	RETURN 0
;�d�Ɏg�p���͕s��
SIF TEQUIP:23
	RETURN 0
[SKIPEND]
;�o�������Ȃ�ЂƂ�ŉ\
IF TALENT:PLAYER:�o�� == 1
	SIF BASE:PLAYER:�u�N < 1000
	RETURN 0
	;�������}�����ĂȂ��ƃ_��
	SIF !LOCAL:2
		RETURN 0
	RETURN 1
ELSE
	;TARGET���I�g�R�A�ӂ��Ȃ�̏ꍇ�͂�����x�u�N���ĂȂ��ƃ_��
	SIF (TALENT:2 & 2) && BASE:�u�N < 1000
		RETURN 0
	;TARGET�ȊO�̒N���ɑ}�����ĂȂ��ƃ_��
	SIF !LOCAL:2 || LOCAL:2 == TARGET
		RETURN 0
	;���肪�����ŁA�]��4�ȉ��E���Y���C4�ȉ��̏ꍇ�͂ł��Ȃ��i�T�h�Ȃ�n�j�j
	IF LOCAL:2 && TALENT:(LOCAL:2):����
		SIF (ABL:�]�� <= 4 || ABL:���Y���C <= 4) && TALENT:�T�h == 0
			RETURN 0
	ENDIF
	;�����s���ŁA�]��3�ȉ��E���Y���C3�ȉ���ASSI�̏ꍇ�͂ł��Ȃ��i�T�h�Ȃ�n�j�j
	IF LOCAL:2 && PALAM:(LOCAL:2):���� < PALAMLV:2
		SIF (ABL:�]�� <= 3 || ABL:���Y���C <= 3) && TALENT:�T�h == 0
			RETURN 0
	ENDIF
ENDIF
;�I�g�R���ƃ_��
SIF LOCAL:2 && !(TALENT:(LOCAL:2):2 & 1)
	RETURN 0
;�y�j�X���Ȃ��Ƃ���
SIF !(TALENT:2 & 2) && ITEM:PBAND == 0
	RETURN 0
;�o�C�u�������̓_��
SIF TEQUIP:(LOCAL:2):13
	RETURN 0
;�A�i���o�C�u�g�p���͕s��
SIF TEQUIP:(LOCAL:2):14
	RETURN 0
;�A�i���r�[�Y�g�p���͕s��
SIF TEQUIP:(LOCAL:2):15
	RETURN 0
;���ʂ̟����g�p���͕s��
SIF TEQUIP:(LOCAL:2):21
	RETURN 0
;�o���[���g�p���͕s��
SIF TEQUIP:(LOCAL:2):22
	RETURN 0
;�d�Ɏg�p���͕s��
SIF TEQUIP:(LOCAL:2):23
	RETURN 0
;�V�ȃv���C���̓_��
SIF TEQUIP:(LOCAL:2):33 || TEQUIP:33
	RETURN 0
;�̊i��������ꍇ�͌o�����Ȃ��ƃ_��
SIF �}���s��(TARGET) == 1 && EXP:�`�o�� < 50 && !TALENT:PLAYER:�֒f�̒m��
	RETURN 0
;����ɑ̊i��������Ƌ֒f�̒m�����K�v
SIF �}���s��(TARGET) == 2 && (!TALENT:PLAYER:�֒f�̒m�� || EXP:�`�o�� < 50)
	RETURN 0
SIF �}���s��(TARGET) == 3
	RETURN 0
;���Ԓ�~���̓X�L�b�v
IF FLAG:70 != 1
	;���̂`�o�����K�v
	SIF EXP:(LOCAL:2):2 < EXPLV:3
		RETURN 0
ENDIF
;�����g����
SIF TEQUIP:(LOCAL:2):0 > 1
	RETURN 0
RETURN 1


code:
;-------------------------------------------------
;���l�I�i�z
;�Z�b�N�X�n�R�}���h�A���x��1
;-------------------------------------------------
@COM79
;-------------------------------------------------
;����h������
;-------------------------------------------------

;-------------------------------------------------
;COM��FLAG�̐ݒ�
;-------------------------------------------------
;�s�׎�
TCVAR:116 = PLAYER

CSTR:TARGET:10 += @"{TARGET}/"
;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
TCVAR:PLAYER:2 = 1
;���x
TCVAR:PLAYER:4 = 1500

CSTR:TARGET:10 += @"{PLAYER}/"
;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
TCVAR:TARGET:2 = 13
;���x
TCVAR:TARGET:4 = 2000

;-------------------------------------------------
;�\�[�X�ǉ�����
;-------------------------------------------------
;����̗́A�C��
IF FLAG:70 == 1
	BASE:MASTER:TSP -= 200
	SOURCE:PLAYER:���b = 50
	SOURCE:���u = 50
	SOURCE:��� = 1200
ELSE
	DOWNBASE:�̗� += 250
	DOWNBASE:�C�� += 200
	SOURCE:PLAYER:���b = 50
	SOURCE:���u = 50
	SOURCE:� = 100
	SOURCE:��� = 1200
	SOURCE:�I�o = 50
	SOURCE:���s�� = 250
	SIF TFLAG:193
		SOURCE:�I�o = 300
	SOURCE:���� = 900
	SOURCE:��E = 900
	SOURCE:���] = 1800
	SOURCE:���| = 1600
	;��̂ق��Ōv�Z��������f�[�^
	SOURCE:�s�� = Y*10 + 60
	CALL ����\�[�X����
ENDIF
;�g���o���̂���}�]�Ȃ�C�����悭�Ȃ��
IF EXP:�u�g���o�� > 50 && ABL:�}�]���C > 3
	SOURCE:���u += 600
	SOURCE:PLAYER:���b += 500
ELSEIF EXP:�u�g���o�� > 25 && ABL:�}�]���C > 1
	SOURCE:���u += 300
	SOURCE:PLAYER:���b += 250
ENDIF
;V�ւ̋�ɂ͐�ɏ������Ă���
CALL PAIN_CHECK_V(TARGET)
;�����������ꍇ�́A��ɂ̃\�[�X�Ɣ����̃\�[�X��ǉ�����
IF TALENT:���� == 1
	SOURCE:��� += 2000
	SIF FLAG:70
		SOURCE:���� += 3000
ENDIF

;�Đ������������ꍇ�́A��ɂ̃\�[�X�Ɣ����̃\�[�X��ǉ�����
IF TALENT:���� == 2
	SOURCE:��� += 1000
	SIF FLAG:70
		SOURCE:���� += 2000
ENDIF
;-------------------------------------------------
;����̏���
;-------------------------------------------------
;�ː��Ɋ֌W�Ȃ��s���鏈���͂�������
CALL STAIN_�S���o�}��
;-------------------------------------------------
;�o���̏���
;-------------------------------------------------
EXP:PLAYER:�}���o�� ++
;�������@���Y�Ȃ�߂�l1�Q�C�Ȃ�߂�l2
IF FLAG:70 == 1 || CFLAG:�C�^�Y��
	IF HETEROSEX(TARGET,PLAYER)
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 4
	ENDIF
	IF CFLAG:PLAYER:�C�^�Y�� == 2
		EXP:PLAYER:�������o�� += 1
		EXP:TARGET:�������o�� += 1
	ENDIF
	SIF !CFLAG:�C�^�Y��
		EXP:PLAYER:�����o�� += 1
	EXP:�u�g���o�� ++
ELSE
	IF HETEROSEX(TARGET,PLAYER)
		EXP:(50 + HETEROSEX(TARGET,PLAYER)) += 4
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 4
	ENDIF
	EXP:�u�����o�� ++
	EXP:�u�g���o�� ++
	IF !ASSIPLAY
		EXP:����o�� += TALENT:���� * 2
		;����
		SIF TALENT:���� == 1 && TALENT:����
			EXP:����o�� += 5
	ENDIF
ENDIF
RETURN 1

@CAN_COM79(ARG)
;-------------------------------------------------
;���s���菈��
;-------------------------------------------------
IF FLAG:70 == 1 || CFLAG:�C�^�Y��

ELSE
	;��Ŕ����Ă���ꍇ�͖����i�ꂪ�������̂ݎ��s������s���j
	IF TEQUIP:�� == 0
		SKIPDISP ARG
		IF CFLAG:PLAYER:���݈ʒu == 10 || CFLAG:PLAYER:���݈ʒu == 40
			PRINTL �����
		ELSEIF !BEDROOM(CFLAG:PLAYER:���݈ʒu)
			PRINTL �Ζʗ���
		ELSE
			PRINTL �����
		ENDIF
		A = 0
		S = 0
		;���ׂĂ̖��߂ɋ��ʂ̗v�f���l��
		;(�]���������Ɩ��߂ɏ]���₷���Ȃ�)
		CALL COM_ORDER

		;ABL:�~�]
		IF ABL:�~�]
			SIF S
				PRINT  +
			A += ABL:�~�] * 3
			PRINT �~�]
			PRINTV 'LV,ABL:�~�],'(,ABL:�~�] * 3,')
			S = 1
		ENDIF
		;ABL:�u���o
		IF ABL:�u���o
			SIF S
				PRINT  +
			A += ABL:�u���o * 2
			PRINT �u���o
			PRINTV 'LV,ABL:�u���o,'(,ABL:�u���o * 2,')
			S = 1
		ENDIF
		;���y����
		IF MARK:���y����
			SIF S
				PRINT  +
			A += MARK:���y���� * 3
			PRINT ���y����
			PRINTV 'LV,MARK:���y����,'(,MARK:���y���� * 3,')
			S = 1
		ENDIF
		;PALAM:�����i�̕s���j
		IF PALAM:���� < PALAMLV:3
			PRINT  -
			A -= 5
			PRINT �����s��
			PRINTV '(,5,')
			S = 1
		ENDIF
		;PALAM:�~��
		IF GETPALAMLV(PALAM:�~��,5)
			SIF S
				PRINT  +
			A += GETPALAMLV(PALAM:�~��,5) * 3
			PRINT �~��
			PRINTV 'LV,GETPALAMLV(PALAM:�~��,5),'(,GETPALAMLV(PALAM:�~��,5) * 3,')
			S = 1
		ENDIF
		;�p���炢
		IF TALENT:㵒p�S > 0
			PRINT  -
			A -= 2
			PRINT �p���炢
			PRINTV '(,2,')
			S = 1
		ENDIF
		;�����̔ے�
		IF TALENT:�������� < 0 && !TALENT:����
			PRINT  -
			A -= 5
			PRINT �����̔ے�
			PRINTV '(,5,')
			S = 1
		ENDIF
		;�j�����i����A�e���Ŗ����j
		IF OTOKOGIRAI(TARGET)
			PRINT  -
			A -= 12
			PRINT �j����
			PRINTV '(,12,')
			S = 1
		ENDIF
		;����
		IF TALENT:���� && ASSIPLAY == 0
			SIF S
				PRINT  +
			A += 15
			PRINT ����
			PRINTV '(,15,')
			S = 15
		ENDIF
		;�e��
		IF TALENT:���� > 1 && ASSIPLAY == 0
			SIF S
				PRINT  +
			A += 5
			PRINT �e��
			PRINTV '(,5,')
			S = 5
		ENDIF
		;����
		LOCAL = MAX(10,40 - EXP:�u�o��)
		IF TALENT:����
			PRINT  -
			A -= LOCAL
			PRINT ����
			PRINTV '(,LOCAL,')
			S = 1
		;V�o��
		ELSEIF EXP:�u�o�� < EXPLV:2
			PRINT  -
			A -= 15
			PRINT �u�o��
			PRINT �s��
			PRINTV '(,15,')
			S = 1
		ENDIF

		;�����҂��ӂ��Ȃ�
		IF (TALENT:PLAYER:2 & 3) == 3
			SIF S
				PRINT  +
			A += 4
			PRINT �ӂ��Ȃ�
			PRINTV '(,4,')
			S = 1
		ENDIF

		;�Z��
		IF TCVAR:�Z��
			SIF S
				PRINT  +
			A += 6
			PRINT �Z��
			PRINTV '(,6,')
			S = 1
		ENDIF

		Y = 0
		;���t�̉���
		SIF STAIN:PLAYER:2 & 1
			Y += 1
		;���t�̉���
		SIF STAIN:PLAYER:2 & 4
			Y += 3
		;�A�i���̉���
		SIF STAIN:PLAYER:2 & 8
			Y += 7
		SIF STAIN:PLAYER:2 & 16
			Y += 15
		Y = Y * (2 - TALENT:���L�ϐ�) / 2

		;���ꂠ��
		IF Y
			PRINT  -
			A -= Y
			PRINT ���ꂠ��
			;���L�݊�
			IF TALENT:���L�ϐ� > 0
				PRINT �A���L�݊�
			ELSEIF TALENT:���L�ϐ� < 0
				PRINT �A���L�q��
			ENDIF
			PRINTV '(,Y,')
			S = 1
		ENDIF

		;���v��\��(40�ȏ�Ŏ��s)
		PRINT  =
		PRINTV A

		V = 40
		SIF A < V
			PRINT  <
		SIF A == V
			PRINT  =
		SIF A > V
			PRINT  >
		PRINT ���s�l
		PRINTV V
	ENDIF
	WAIT
	SKIPDISP 0
	;���s�ł��Ȃ�
	SIF A < V
		RETURN 0

	;���̑���������
	IF ARG == 1
		SIF TFLAG:17 != TARGET
			TFLAG:16 = 0
		;���̌�����������
		IF GROUPMATCH(TALENT:TARGET:����, 1, -1)
			CALL LOST_VIRGIN_STOP(TARGET)
			SIF RESULT
				RETURN 0
		ENDIF
		;�댯��?
		SIF !(TEQUIP:PLAYER:�R���h�[�� || TCVAR:�s��) && TALENT:PLAYER:2 & 2 && !TFLAG:16 && ((!CFLAG:������ && ESTRUS_CYCLE(TARGET) != 15 ) || (CFLAG:������ < 2 && ESTRUS_CYCLE(TARGET) == 150)) && !TALENT:�c�t
			CALL HININSHITE(TARGET)
		IF TFLAG:16 && !(TEQUIP:PLAYER:�R���h�[�� || TCVAR:�s��)
			TFLAG:16 -= 1
			RETURN 0
		ENDIF
	ENDIF
ENDIF
SKIPDISP 0
RETURN 1

;-------------------------------------------------
;���s����
;-------------------------------------------------
@COM_ABLE79
;���l�I�i�z���s����
SIF !TFLAG:100
	RETURN 0
;�ꊇ�Ǘ�
SIF GLOBAL_COMABLE(79)
	RETURN RESULT
;�����҂��I�g�R�A�ӂ��Ȃ�̏ꍇ�͂�����x�u�N���ĂȂ��ƃ_��
SIF (TALENT:PLAYER:2 & 2) && BASE:PLAYER:�u�N < 1000
	RETURN 0
;�o�C�u�}�����̓_��
SIF TEQUIP:13
	RETURN 0
;�I�g�R���ƃ_��
SIF !(TALENT:2 & 1)
	RETURN 0
;�̊i���������Ď�l���֒f�̒m����������Ȃ��ƃ_��
SIF !TALENT:PLAYER:�֒f�̒m��
	RETURN 0
SIF �}���s��(TARGET) != 3
	RETURN 0
;�����҂��I�g�R�A���l���d�A�ӂ��Ȃ�A�������̓y�j�X�o���h���Ȃ��ƃ_��
SIF !(TALENT:PLAYER:2 & 2) && ITEM:PBAND == 0
	RETURN 0
;���Ԓ�~���̓X�L�b�v
IF FLAG:70 != 1
	;�����������s���͂���
	SIF PALAM:���� < PALAMLV:2 && TALENT:���� && TALENT:���� != -1
		RETURN 0
	;�����ŁA�]��4�ȉ��E���Y���C4�ȉ���ASSI�̏ꍇ�͂ł��Ȃ��i�T�h�Ȃ�n�j�j
	IF TALENT:���� && ASSIPLAY
		SIF (ABL:ASSI:�]�� <= 4 || ABL:ASSI:���Y���C <= 4) && TALENT:ASSI:�T�h == 0
			RETURN 0
	ENDIF
ENDIF

;�����g����
SIF TEQUIP:0 & 4
	RETURN 0
RETURN 1


code:
;-------------------------------------------------
;�t�F���`�I
;��d�n�R�}���h�A���x��2
;-------------------------------------------------
@COM81
;-------------------------------------------------
;COM��FLAG�̐ݒ�
;-------------------------------------------------
;�s�׎�
TCVAR:116 = TARGET
;��d���y
TCVAR:108 = 1

CSTR:PLAYER:10 += @"{TARGET}/"
;TCVAR:2 �ː��ӏ��t���O�i-1=�R���h�[�� 1=�S�� 2=�A�i�� 3=��� 4=���� 5=�p�C�Y�� 6=�f�� 7=���R�L 8=�̕\ 9=�A�i����d 10=���� 11=�G�� 12=�`�ӂ� 13=�u�ӂ߁j
TCVAR:PLAYER:2 = 4
;���x
TCVAR:PLAYER:4 = 1500

;-------------------------------------------------
;�\�[�X�ǉ�����
;-------------------------------------------------
;����̗́A�C��
IF FLAG:70 == 1
	BASE:MASTER:TSP -= 50
	SOURCE:���l = 50

	SOURCE:PLAYER:���b = 110
	;���Z�␳
	SOURCE:PLAYER:���b += MIN(ABL:�� * 25,100)

	;�����҂�TALENT:�L����݂�
	IF TALENT:�L��
		TIMES SOURCE:PLAYER:���b , 0.75
		;�����҂��L�㎝���̏ꍇ�́A�����҂ɚn�s���y�o����ǉ�
		EXP:�n�s���y�o�� += 1
	ENDIF

ELSE
	DOWNBASE:�̗� += 10
	DOWNBASE:�C�� += 100
	SOURCE:PLAYER:���b = 110
	SOURCE:���l = 50
	SOURCE:� = 100
	SOURCE:���s�� = 300
	SOURCE:�B�� = 150
	SOURCE:���] = 700
	SOURCE:���� = 400
	SOURCE:��E = 100

	;��̂ق��Ōv�Z��������f�[�^
	SOURCE:�s�� = Y*10 + 60

	;-------------------------------------------------
	;����\�[�X����
	;-------------------------------------------------
	;�}���A��R�����ɂ́A�}�T�\�[�X�ǉ�
	SIF TALENT:���Ȉ� < 0 || TALENT:��R
		SOURCE:�T�� += 400

	;���Z�␳
	IF ABL:�� >= 4
		SOURCE:PLAYER:���b += 100
	ELSE
		SOURCE:PLAYER:���b += ABL:�� * 25
	ENDIF

	;�����҂�TALENT:��g�����݂�
	SIF TALENT:��g��
		TIMES SOURCE:PLAYER:���b , 1.50

	;�����҂�TALENT:�L����݂�
	SIF TALENT:�L��
		TIMES SOURCE:PLAYER:���b , 0.75

ENDIF

;-------------------------------------------------
;����̏���
;-------------------------------------------------
;�ː��Ɋ֌W�Ȃ��s���鏈���͂�������
;�z��̎w�̒����҂̂o�̉��ꂪ�ړ�
STAIN:0 |= STAIN:PLAYER:2
STAIN:PLAYER:2 |= STAIN:0

;-------------------------------------------------
;�o���̏���
;-------------------------------------------------
;�t�F���o��
;�Ƃ肠����M�o���ǉ�
EXP:�l�o�� += 1

;�������@���Y�Ȃ�߂�l1�Q�C�Ȃ�߂�l2
SIF HETEROSEX(TARGET,PLAYER)
	EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 7

IF !FLAG:70 && !CFLAG:�C�^�Y��
	EXP:�����o�� += 3
	;�z�ꂪ�L�㎝���̏ꍇ�́A�����҂ɚn�s���y�o����ǉ�
	SIF TALENT:TARGET:�L��
		EXP:�n�s���y�o�� += 1
	;�������@���Y�Ȃ�߂�l1�Q�C�Ȃ�߂�l2
	SIF HETEROSEX(TARGET,PLAYER)
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 7
	IF HETEROSEX(TARGET,PLAYER)
		EXP:(50 + HETEROSEX(TARGET,PLAYER)) += 7
		EXP:PLAYER:(50 + HETEROSEX(TARGET,PLAYER)) += 7
	ENDIF
	;����o��
	SIF TALENT:���� && ASSIPLAY == 0
		EXP:����o�� += 1
ELSE
	SIF !CFLAG:�C�^�Y��
		EXP:PLAYER:�����o�� += 1
ENDIF
IF CFLAG:PLAYER:�C�^�Y�� == 2
	EXP:PLAYER:�������o�� += 1
	EXP:TARGET:�������o�� += 1
ENDIF

;���t����
SIF TCVAR:PLAYER:112 == 1 || TCVAR:PLAYER:112 == 2
	EXP:�����o�� ++

RETURN 1

@CAN_COM81(ARG)
SKIPDISP ARG
PRINTL �t�F���`�I
;-------------------------------------------------
;���s���菈��
;-------------------------------------------------
IF FLAG:70 == 1 || CFLAG:�C�^�Y��

ELSE
A = 0
S = 0

;���ׂĂ̖��߂ɋ��ʂ̗v�f���l��
;(�]���������Ɩ��߂ɏ]���₷���Ȃ�)
CALL COM_ORDER

;ABL:�~�]
IF ABL:�~�]
	SIF S
		PRINT  +
	A += ABL:�~�] * 1
	PRINT �~�]
	PRINTV 'LV,ABL:�~�],'(,ABL:�~�] * 1,')
	S = 1
ENDIF
;ABL:��d���_
IF ABL:��d���_
	SIF S
		PRINT  +
	A += ABL:��d���_ * 4
	PRINT ��d���_
	PRINTV 'LV,ABL:��d���_,'(,ABL:��d���_ * 4,')
	S = 1
ENDIF
;ABL:���t����
IF ABL:���t����
	SIF S
		PRINT  +
	A += ABL:���t���� * 3
	PRINT ���t����
	PRINTV 'LV,ABL:���t����,'(,ABL:���t���� * 3,')
	S = 1
ENDIF

IF MARK:���y����
	SIF S
		PRINT  +
	A += MARK:���y���� * 1
	PRINT ���y����
	PRINTV 'LV,MARK:���y����,'(,MARK:���y���� * 1,')
	S = 1
ENDIF
;PALAM:�~��
IF GETPALAMLV(PALAM:�~��,5)
	SIF S
		PRINT  +
	A += GETPALAMLV(PALAM:�~��,5) * 1
	PRINT �~��
	PRINTV 'LV,GETPALAMLV(PALAM:�~��,5),'(,GETPALAMLV(PALAM:�~��,5) * 1,')
	S = 1
ENDIF
;�p���炢
IF TALENT:㵒p�S > 0
	PRINT  -
	A -= 1
	PRINT �p���炢
	PRINTV '(,1,')
	S = 1
ENDIF
;���L�݊�
IF TALENT:���L�ϐ� > 0
	SIF S
		PRINT  +
	A += 1
	PRINT ���L�݊�
	PRINTV '(,1,')
	S = 1
ENDIF
;���L�q��
IF TALENT:���L�ϐ� < 0
	PRINT  -
	A -= 3
	PRINT ���L�q��
	PRINTV '(,3,')
	S = 1
ENDIF
;���g�I
IF TALENT:���g�I
	SIF S
		PRINT  +
	A += 6
	PRINT ���g�I
	PRINTV '(,6,')
	S = 1
ENDIF
;�����̔ے�i�����A���w�Ŗ����j
IF TALENT:�������� < 0 && !TALENT:����
	PRINT  -
	A -= 1
	PRINT �����̔ے�
	PRINTV '(,1,')
	S = 1
ENDIF
;�j�����i����A�e���Ŗ����j
IF OTOKOGIRAI(TARGET)
	PRINT  -
	A -= 12
	PRINT �j����
	PRINTV '(,12,')
	S = 1
ENDIF
;����
IF TALENT:���� && ASSIPLAY == 0
	SIF S
		PRINT  +
	A += 5
	PRINT ����
	PRINTV '(,5,')
	S = 5
ENDIF
;�e��
IF TALENT:���� > 1 && ASSIPLAY == 0
	SIF S
		PRINT  +
	A += 5
	PRINT �e��
	PRINTV '(,5,')
	S = 5
ENDIF

;�����҂��ӂ��Ȃ�
IF (TALENT:PLAYER:2 & 3) == 3
	SIF S
		PRINT  +
	A += 8
	PRINT �ӂ��Ȃ�
	PRINTV '(,8,')
	S = 1
ENDIF

Y = 0
;���t�̉���
SIF STAIN:PLAYER:2 & 1
	Y += 1
;���t�̉���
SIF STAIN:PLAYER:2 & 4
	Y += 3
;�A�i���̉���
SIF STAIN:PLAYER:2 & 8
	Y += 7
SIF STAIN:PLAYER:2 & 16
	Y += 15

Y = Y * (2 - TALENT:���L�ϐ�) / 2

;���ꂠ��
IF Y
	PRINT  -
	A -= Y
	PRINT ���ꂠ��
	;���L�݊�
	IF TALENT:���L�ϐ� > 0
		PRINT �A���L�݊�
	ELSEIF TALENT:���L�ϐ� < 0
		PRINT �A���L�q��
	ENDIF
	PRINTV '(,Y,')
	S = 1
ENDIF

;���v��\��(24�ȏ�Ŏ��s)
PRINT  =
PRINTV A

V = 24
SIF A < V
	PRINT  <
SIF A == V
	PRINT  =
SIF A > V
	PRINT  >
PRINT ���s�l
PRINTV V

WAIT
SKIPDISP 0
;���s�ł��Ȃ�
SIF A < V
	RETURN 0
ENDIF
RETURN 1

;-------------------------------------------------
;���s����
;-------------------------------------------------
@COM_ABLE81
;�t�F���`�I���s����
SIF !TFLAG:100
	RETURN 0
SIF GLOBAL_COMABLE(81)
	RETURN RESULT
;�����҂��I�g�R�����l���d���ӂ��Ȃ肶��Ȃ��ƃ_��
SIF !(TALENT:PLAYER:2 & 2)
	RETURN 0
;���Ԓ�~���͋���
IF FLAG:70 != 1
	;�L��̓z��̏ꍇ�͋Z�ILv2�ȏ�K�v
	SIF TALENT:�L�� && ABL:�Z�I < 2
		RETURN 0
	;���l�T�C�Y���ƌ��̒��ɓ���Ȃ�
	SIF �}���s��(TARGET) == 3
		RETURN 0
ENDIF
;�{�[���M���O�g�p���͕s��
SIF TEQUIP:�{�[���M���O
	RETURN 0
RETURN 1