code:
;各ソースによる影響の計算

;-------------------------------------------------
;快Ｃのソース
;-------------------------------------------------
@CALC_SOURCE0(ARG:0)
#DIM DYNAMIC 快楽加算値
#DIM DYNAMIC 欲情加算値
#DIM DYNAMIC 感情加算値
#DIM DYNAMIC 射精加算値

快楽加算値 = SOURCE:(ARG:0):快Ｃ
欲情加算値 = SOURCE:(ARG:0):快Ｃ
感情加算値 = SOURCE:(ARG:0):快Ｃ / 5
射精加算値 = SOURCE:(ARG:0):快Ｃ

快楽加算値 = CALC_SOURCE_SENSE_BASE(ABL:(ARG:0):Ｃ感, 快楽加算値)
欲情加算値 = CALC_SOURCE_SENSE_BASE(ABL:(ARG:0):Ｃ感, 欲情加算値)

;欲情による共通補正
快楽加算値 = CALC_SOURCE_SENSE_ESTRUS(ARG:0, 快楽加算値)

SELECTCASE ABL:(ARG:0):欲望
	CASE 0
		TIMES 欲情加算値, 0.10
		TIMES 感情加算値, 1.00
	CASE 1
		TIMES 欲情加算値, 0.15
		TIMES 感情加算値, 0.85
	CASE 2
		TIMES 欲情加算値, 0.20
		TIMES 感情加算値, 0.70
	CASE 3
		TIMES 欲情加算値, 0.25
		TIMES 感情加算値, 0.40
	CASE 4
		TIMES 欲情加算値, 0.30
		TIMES 感情加算値, 0.30
	CASEELSE
		欲情加算値 = 欲情加算値 * ((ABL:(ARG:0):欲望 - 5) * 5 + 40) / 100
		TIMES 感情加算値, 0.10
ENDSELECT

IF TALENT:(ARG:0):Ｃ敏感
	TIMES 快楽加算値, 1.5
	TIMES 欲情加算値, 2.00
	TIMES 射精加算値, 1.50
ENDIF

IF TALENT:(ARG:0):Ｃ鈍感
	TIMES 快楽加算値, 0.75
	TIMES 欲情加算値, 0.50
	TIMES 射精加算値, 0.75
ENDIF

IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_淫核)
	TIMES 快楽加算値, 1.50
	TIMES 欲情加算値, 1.20
	TIMES 感情加算値, 0.50
	TIMES 射精加算値, 1.50
ENDIF

;媚薬使用中
IF TCVAR:(ARG:0):媚薬
	TIMES 快楽加算値, 1.5
	TIMES 欲情加算値, 1.5
	TIMES 射精加算値, 1.50
ENDIF

;桃源香使用中
IF TFLAG:桃源香使用中
	TIMES 快楽加算値, 1.25
	TIMES 欲情加算値, 1.5
	TIMES 射精加算値, 1.25
ENDIF

;体力0による行動不能
IF TCVAR:(ARG:0):行動不能フラグ
	TIMES 快楽加算値, 0.20
	TIMES 欲情加算値, 0.20
	TIMES 射精加算値, 0.20
ENDIF

;気力0による失神中
IF TCVAR:(ARG:0):失神フラグ
	TIMES 快楽加算値, 0.20
	TIMES 欲情加算値, 0.20
	TIMES 射精加算値, 0.20
ENDIF

;睡眠中
IF TCVAR:(ARG:0):離脱フラグ == 1
	TIMES 快楽加算値, 0.50
	TIMES 欲情加算値, 0.50
	TIMES 射精加算値, 0.50
ENDIF

; ;逓減補正
; 快楽加算値 = SQRT(快楽加算値 * 10000) * 5 / 100
; 射精加算値 = SQRT(欲情加算値 * 10000) * 5 / 100

CUP:(ARG:0):欲情 += 欲情加算値

IF TALENT:(ARG:0):恋慕 && TALENT:(ARG:0):恋人 && TALENT:(ARG:0):合意
	TIMES 感情加算値, 0.25
ELSEIF (TALENT:(ARG:0):恋慕 || TALENT:(ARG:0):恋人) && TALENT:(ARG:0):合意
	TIMES 感情加算値, 0.50
ENDIF

IF ARG:0 != MASTER
	IF TALENT:(ARG:0):孤高
		CUP:(ARG:0):怒主 += 感情加算値
	ENDIF

	IF TALENT:(ARG:0):抑圧 || TALENT:(ARG:0):快感の否定
		CUP:(ARG:0):哀主 += 感情加算値
	ENDIF
ENDIF

IF HAS_PENIS(ARG:0)
	CUP:(ARG:0):射精 += 射精加算値 / 5
ENDIF

CUP:(ARG:0):快Ｃ += 快楽加算値
CUP:(ARG:0):潮吹き += SQRT(LOCAL:0 * 400)

IF TALENT:(ARG:0):母乳体質
	CUP:(ARG:0):噴乳 += CALC_SOURCE_MILK(ARG:0, 射精加算値 / 5)
ENDIF

;-------------------------------------------------
;快Ｐのソース
;-------------------------------------------------
@CALC_SOURCE9(ARG:0)
#DIM DYNAMIC 快楽加算値
#DIM DYNAMIC 欲情加算値
#DIM DYNAMIC 感情加算値
#DIM DYNAMIC 射精加算値

快楽加算値 = SOURCE:(ARG:0):快Ｐ
欲情加算値 = SOURCE:(ARG:0):快Ｐ
感情加算値 = SOURCE:(ARG:0):快Ｐ / 5
射精加算値 = SOURCE:(ARG:0):快Ｐ

快楽加算値 = CALC_SOURCE_SENSE_BASE(ABL:(ARG:0):Ｃ感, 快楽加算値)
欲情加算値 = CALC_SOURCE_SENSE_BASE(ABL:(ARG:0):Ｃ感, 欲情加算値)

;欲情による共通補正
快楽加算値 = CALC_SOURCE_SENSE_ESTRUS(ARG:0, 快楽加算値)

SELECTCASE ABL:(ARG:0):欲望
	CASE 0
		TIMES 欲情加算値, 0.10
		TIMES 感情加算値, 1.00
	CASE 1
		TIMES 欲情加算値, 0.15
		TIMES 感情加算値, 0.85
	CASE 2
		TIMES 欲情加算値, 0.20
		TIMES 感情加算値, 0.70
	CASE 3
		TIMES 欲情加算値, 0.25
		TIMES 感情加算値, 0.40
	CASE 4
		TIMES 欲情加算値, 0.30
		TIMES 感情加算値, 0.30
	CASEELSE
		欲情加算値 = 欲情加算値 * ((ABL:(ARG:0):欲望 - 5) * 5 + 40) / 100
		TIMES 感情加算値, 0.10
ENDSELECT

IF TALENT:(ARG:0):Ｃ敏感
	TIMES 快楽加算値, 1.50
	TIMES 欲情加算値, 2.00
	TIMES 射精加算値, 1.50
ENDIF

IF TALENT:(ARG:0):Ｃ鈍感
	TIMES 快楽加算値, 0.75
	TIMES 欲情加算値, 0.50
	TIMES 射精加算値, 0.75
ENDIF

IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_淫核)
	TIMES 快楽加算値, 1.50
	TIMES 欲情加算値, 1.20
	TIMES 感情加算値, 0.50
	TIMES 射精加算値, 1.50
ENDIF

;媚薬使用中
IF TCVAR:(ARG:0):媚薬
	TIMES 快楽加算値, 1.5
	TIMES 欲情加算値, 1.5
	TIMES 射精加算値, 1.50
ENDIF

;桃源香使用中
IF TFLAG:桃源香使用中
	TIMES 快楽加算値, 1.25
	TIMES 欲情加算値, 1.5
	TIMES 射精加算値, 1.25
ENDIF

;体力0による行動不能
IF TCVAR:(ARG:0):行動不能フラグ
	TIMES 快楽加算値, 0.20
	TIMES 欲情加算値, 0.20
	TIMES 射精加算値, 0.20
ENDIF

;気力0による失神中
IF TCVAR:(ARG:0):失神フラグ
	TIMES 快楽加算値, 0.20
	TIMES 欲情加算値, 0.20
	TIMES 射精加算値, 0.20
ENDIF

;睡眠中
IF TCVAR:(ARG:0):離脱フラグ == 1
	TIMES 快楽加算値, 0.50
	TIMES 欲情加算値, 0.50
	TIMES 射精加算値, 0.50
ENDIF

;逓減補正
; 快楽加算値 = SQRT(快楽加算値 * 1000) * 50 / 100
; 射精加算値 = SQRT(欲情加算値 * 1000) * 50 / 100

CUP:(ARG:0):欲情 += 欲情加算値

IF HAS_PENIS(ARG:0)
	CUP:(ARG:0):射精 += 射精加算値
ENDIF

CUP:(ARG:0):快Ｃ += 快楽加算値 / 15

IF TALENT:(ARG:0):母乳体質
	CUP:(ARG:0):噴乳 += CALC_SOURCE_MILK(ARG:0, 射精加算値 / 5)
ENDIF

IF ARG:0 != MASTER
	IF TALENT:(ARG:0):恋慕 || TALENT:(ARG:0):恋人
		TIMES 感情加算値, 0.50
	ENDIF

	IF TALENT:(ARG:0):孤高
		CUP:(ARG:0):怒主 += 感情加算値
	ENDIF

	IF TALENT:(ARG:0):抑圧 || TALENT:(ARG:0):快感の否定
		CUP:(ARG:0):哀主 += 感情加算値
	ENDIF
	;獣変化中
	IF TALENT:(ARG:0):動物耳 || TALENT:(ARG:0):しっぽ
		;好感度上昇
		IF 快楽加算値 >= 100000
			TCVAR:(ARG:0):好感度上昇値 += 2500
		ELSEIF 快楽加算値 >= 20000
			TCVAR:(ARG:0):好感度上昇値 += 1700
		ELSEIF 快楽加算値 >= 10000
			TCVAR:(ARG:0):好感度上昇値 += 1200
		ELSEIF 快楽加算値 >= 3000
			TCVAR:(ARG:0):好感度上昇値 += 800
		ELSEIF 快楽加算値 >= 500
			TCVAR:(ARG:0):好感度上昇値 += 600
		ENDIF

		;依存度上昇
		IF 快楽加算値 >= 100000
			TCVAR:(ARG:0):依存度上昇値 += 2500
		ELSEIF 快楽加算値 >= 20000
			TCVAR:(ARG:0):依存度上昇値 += 1700
		ELSEIF 快楽加算値 >= 10000
			TCVAR:(ARG:0):依存度上昇値 += 1200
		ELSEIF 快楽加算値 >= 3000
			TCVAR:(ARG:0):依存度上昇値 += 800
		ELSEIF 快楽加算値 >= 500
			TCVAR:(ARG:0):依存度上昇値 += 600
		ENDIF
	ENDIF
ENDIF

;-------------------------------------------------
;快Ｖのソース
;-------------------------------------------------
@CALC_SOURCE1(ARG:0)
#DIM DYNAMIC 快楽加算値
#DIM DYNAMIC 欲情加算値
#DIM DYNAMIC 感情加算値
#DIM DYNAMIC 射精加算値

快楽加算値 = SOURCE:(ARG:0):快Ｖ
欲情加算値 = SOURCE:(ARG:0):快Ｖ
感情加算値 = SOURCE:(ARG:0):快Ｖ / 5
射精加算値 = SOURCE:(ARG:0):快Ｖ

快楽加算値 = CALC_SOURCE_SENSE_BASE(ABL:(ARG:0):Ｖ感, 快楽加算値)
欲情加算値 = CALC_SOURCE_SENSE_BASE(ABL:(ARG:0):Ｖ感, 欲情加算値)

;欲情による共通補正
快楽加算値 = CALC_SOURCE_SENSE_ESTRUS(ARG:0, 快楽加算値)

SELECTCASE ABL:(ARG:0):欲望
	CASE 0
		TIMES 欲情加算値, 0.10
		TIMES 感情加算値, 1.00
	CASE 1
		TIMES 欲情加算値, 0.15
		TIMES 感情加算値, 0.85
	CASE 2
		TIMES 欲情加算値, 0.20
		TIMES 感情加算値, 0.70
	CASE 3
		TIMES 欲情加算値, 0.25
		TIMES 感情加算値, 0.40
	CASE 4
		TIMES 欲情加算値, 0.30
		TIMES 感情加算値, 0.30
	CASEELSE
		欲情加算値 = 欲情加算値 * ((ABL:(ARG:0):欲望 - 5) * 5 + 40) / 100
		TIMES 感情加算値, 0.10
ENDSELECT

IF TALENT:(ARG:0):Ｖ敏感
	TIMES 快楽加算値, 1.50
	TIMES 欲情加算値, 2.00
	TIMES 射精加算値, 1.50
ENDIF

IF TALENT:(ARG:0):Ｖ鈍感
	TIMES 快楽加算値, 0.75
	TIMES 欲情加算値, 0.50
	TIMES 射精加算値, 0.75
ENDIF

IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_淫壷)
	TIMES 快楽加算値, 1.50
	TIMES 欲情加算値, 1.50
	TIMES 感情加算値, 0.50
	TIMES 射精加算値, 1.50
ENDIF

;媚薬使用中
IF TCVAR:(ARG:0):媚薬
	TIMES 快楽加算値, 1.5
	TIMES 欲情加算値, 1.5
	TIMES 射精加算値, 1.50
ENDIF

;桃源香使用中
IF TFLAG:桃源香使用中
	TIMES 快楽加算値, 1.25
	TIMES 欲情加算値, 1.5
	TIMES 射精加算値, 1.25
ENDIF

;体力0による行動不能
IF TCVAR:(ARG:0):行動不能フラグ
	TIMES 快楽加算値, 0.20
	TIMES 欲情加算値, 0.20
	TIMES 射精加算値, 0.20
ENDIF

;気力0による失神中
IF TCVAR:(ARG:0):失神フラグ
	TIMES 快楽加算値, 0.20
	TIMES 欲情加算値, 0.20
	TIMES 射精加算値, 0.20
ENDIF

;睡眠中
IF TCVAR:(ARG:0):離脱フラグ == 1
	TIMES 快楽加算値, 0.50
	TIMES 欲情加算値, 0.50
	TIMES 射精加算値, 0.50
ENDIF

;逓減補正
; 快楽加算値 = SQRT(快楽加算値 * 1000) * 50 / 100
; 射精加算値 = SQRT(欲情加算値 * 1000) * 50 / 100

CUP:(ARG:0):快Ｖ += 快楽加算値
CUP:(ARG:0):欲情 += 欲情加算値
CUP:(ARG:0):潮吹き += SQRT(快楽加算値 * 400)

IF HAS_PENIS(ARG:0)
	CUP:(ARG:0):射精 += 射精加算値 / 2
ENDIF

IF TALENT:(ARG:0):母乳体質
	CUP:(ARG:0):噴乳 += CALC_SOURCE_MILK(ARG:0, 射精加算値 / 5)
ENDIF

IF ARG:0 != MASTER
	CUP:(ARG:0):哀主 -= 欲情加算値 / 5

	SIF TALENT:(ARG:0):恋慕 && TALENT:(ARG:0):恋人 && TALENT:(ARG:0):合意
		TIMES 感情加算値, 0.50

	SIF !TALENT:(ARG:0):処女
		TIMES 感情加算値, 0.50

	IF TALENT:(ARG:0):孤高
		CUP:(ARG:0):怒主 += 感情加算値
	ENDIF

	IF TALENT:(ARG:0):抑圧 || TALENT:(ARG:0):快感の否定
		CUP:(ARG:0):哀主 += 感情加算値
	ENDIF

	IF TALENT:(ARG:0):処女
		CUP:(ARG:0):怖主 += 感情加算値
	ENDIF

	;獣変化中
	IF TALENT:(ARG:0):動物耳 || TALENT:(ARG:0):しっぽ
		;好感度上昇
		IF 快楽加算値 >= 100000
			TCVAR:(ARG:0):好感度上昇値 += 2500
		ELSEIF 快楽加算値 >= 20000
			TCVAR:(ARG:0):好感度上昇値 += 1700
		ELSEIF 快楽加算値 >= 10000
			TCVAR:(ARG:0):好感度上昇値 += 1200
		ELSEIF 快楽加算値 >= 3000
			TCVAR:(ARG:0):好感度上昇値 += 800
		ELSEIF 快楽加算値 >= 500
			TCVAR:(ARG:0):好感度上昇値 += 600
		ENDIF

		;依存度上昇
		IF 快楽加算値 >= 100000
			TCVAR:(ARG:0):依存度上昇値 += 2500
		ELSEIF 快楽加算値 >= 20000
			TCVAR:(ARG:0):依存度上昇値 += 1700
		ELSEIF 快楽加算値 >= 10000
			TCVAR:(ARG:0):依存度上昇値 += 1200
		ELSEIF 快楽加算値 >= 3000
			TCVAR:(ARG:0):依存度上昇値 += 800
		ELSEIF 快楽加算値 >= 500
			TCVAR:(ARG:0):依存度上昇値 += 600
		ENDIF

		;従属度上昇
		IF 快楽加算値 >= 100000
			TCVAR:(ARG:0):従属度上昇値 += 1200
		ELSEIF 快楽加算値 >= 20000
			TCVAR:(ARG:0):従属度上昇値 += 900
		ELSEIF 快楽加算値 >= 10000
			TCVAR:(ARG:0):従属度上昇値 += 700
		ELSEIF 快楽加算値 >= 3000
			TCVAR:(ARG:0):従属度上昇値 += 500
		ELSEIF 快楽加算値 >= 500
			TCVAR:(ARG:0):従属度上昇値 += 300
		ENDIF

		;支配度上昇
		IF 快楽加算値 >= 100000
			TCVAR:(ARG:0):支配度上昇値 += 1200
		ELSEIF 快楽加算値 >= 20000
			TCVAR:(ARG:0):支配度上昇値 += 900
		ELSEIF 快楽加算値 >= 10000
			TCVAR:(ARG:0):支配度上昇値 += 700
		ELSEIF 快楽加算値 >= 3000
			TCVAR:(ARG:0):支配度上昇値 += 500
		ELSEIF 快楽加算値 >= 500
			TCVAR:(ARG:0):支配度上昇値 += 300
		ENDIF

	ELSE
		;好感度上昇
		IF 快楽加算値 >= 100000
			TCVAR:(ARG:0):好感度上昇値 += 700
		ELSEIF 快楽加算値 >= 20000
			TCVAR:(ARG:0):好感度上昇値 += 500
		ELSEIF 快楽加算値 >= 10000
			TCVAR:(ARG:0):好感度上昇値 += 300
		ELSEIF 快楽加算値 >= 3000
			TCVAR:(ARG:0):好感度上昇値 += 200
		ELSEIF 快楽加算値 >= 500
			TCVAR:(ARG:0):好感度上昇値 += 100
		ENDIF

		;依存度上昇
		IF 快楽加算値 >= 100000
			TCVAR:(ARG:0):依存度上昇値 += 700
		ELSEIF 快楽加算値 >= 20000
			TCVAR:(ARG:0):依存度上昇値 += 500
		ELSEIF 快楽加算値 >= 10000
			TCVAR:(ARG:0):依存度上昇値 += 300
		ELSEIF 快楽加算値 >= 3000
			TCVAR:(ARG:0):依存度上昇値 += 200
		ELSEIF 快楽加算値 >= 500
			TCVAR:(ARG:0):依存度上昇値 += 100
		ENDIF
	ENDIF

ENDIF
;-------------------------------------------------
;快Ａのソース
;-------------------------------------------------
@CALC_SOURCE2(ARG:0)
#DIM DYNAMIC 快楽加算値
#DIM DYNAMIC 欲情加算値
#DIM DYNAMIC 感情加算値
#DIM DYNAMIC 射精加算値

快楽加算値 = SOURCE:(ARG:0):快Ａ
欲情加算値 = SOURCE:(ARG:0):快Ａ
感情加算値 = SOURCE:(ARG:0):快Ａ / 5
射精加算値 = SOURCE:(ARG:0):快Ａ

快楽加算値 = CALC_SOURCE_SENSE_BASE(ABL:(ARG:0):Ａ感, 快楽加算値)
欲情加算値 = CALC_SOURCE_SENSE_BASE(ABL:(ARG:0):Ａ感, 欲情加算値)

;欲情による共通補正
快楽加算値 = CALC_SOURCE_SENSE_ESTRUS(ARG:0, 快楽加算値)

SELECTCASE ABL:(ARG:0):欲望
	CASE 0
		TIMES 欲情加算値, 0.10
		TIMES 感情加算値, 1.00
	CASE 1
		TIMES 欲情加算値, 0.15
		TIMES 感情加算値, 0.85
	CASE 2
		TIMES 欲情加算値, 0.20
		TIMES 感情加算値, 0.70
	CASE 3
		TIMES 欲情加算値, 0.25
		TIMES 感情加算値, 0.40
	CASE 4
		TIMES 欲情加算値, 0.30
		TIMES 感情加算値, 0.30
	CASEELSE
		欲情加算値 = 欲情加算値 * ((ABL:(ARG:0):欲望 - 5) * 5 + 40) / 100
		TIMES 感情加算値, 0.10
ENDSELECT

IF TALENT:(ARG:0):Ａ敏感
	TIMES 快楽加算値, 1.50
	TIMES 欲情加算値, 2.00
	TIMES 射精加算値, 1.50
ENDIF

IF TALENT:(ARG:0):Ａ鈍感
	TIMES 快楽加算値, 0.75
	TIMES 欲情加算値, 0.50
	TIMES 射精加算値, 0.75
ENDIF

IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_尻穴狂い)
	TIMES 快楽加算値, 1.50
	TIMES 欲情加算値, 1.20
	TIMES 感情加算値, 0.50
	TIMES 射精加算値, 1.50
ENDIF

;媚薬使用中
IF TCVAR:(ARG:0):媚薬
	TIMES 快楽加算値, 1.5
	TIMES 欲情加算値, 1.5
	TIMES 射精加算値, 1.50
ENDIF

;桃源香使用中
IF TFLAG:桃源香使用中
	TIMES 快楽加算値, 1.25
	TIMES 欲情加算値, 1.5
	TIMES 射精加算値, 1.25
ENDIF

;体力0による行動不能
IF TCVAR:(ARG:0):行動不能フラグ
	TIMES 快楽加算値, 0.20
	TIMES 欲情加算値, 0.20
	TIMES 射精加算値, 0.20
ENDIF

;気力0による失神中
IF TCVAR:(ARG:0):失神フラグ
	TIMES 快楽加算値, 0.20
	TIMES 欲情加算値, 0.20
	TIMES 射精加算値, 0.20
ENDIF

;睡眠中
IF TCVAR:(ARG:0):離脱フラグ == 1
	TIMES 快楽加算値, 0.50
	TIMES 欲情加算値, 0.50
	TIMES 射精加算値, 0.50
ENDIF

;逓減補正
; 快楽加算値 = SQRT(快楽加算値 * 1000) * 50 / 100
; 射精加算値 = SQRT(欲情加算値 * 1000) * 50 / 100

CUP:(ARG:0):快Ａ += 快楽加算値
CUP:(ARG:0):欲情 += 欲情加算値
IF HAS_PENIS(ARG:0)
	CUP:(ARG:0):射精 += 射精加算値 / 2
ENDIF

IF TALENT:(ARG:0):母乳体質
	CUP:(ARG:0):噴乳 += CALC_SOURCE_MILK(ARG:0, 射精加算値 / 5)
ENDIF

IF ARG:0 != MASTER
	CUP:(ARG:0):怒主 -= 欲情加算値 / 5

	IF TALENT:(ARG:0):孤高
		CUP:(ARG:0):怒主 += 感情加算値
	ENDIF

	IF TALENT:(ARG:0):抑圧 || TALENT:(ARG:0):快感の否定
		CUP:(ARG:0):哀主 += 感情加算値
	ENDIF

	;従属度上昇
	IF 快楽加算値 >= 100000
		TCVAR:(ARG:0):従属度上昇値 += 900
	ELSEIF 快楽加算値 >= 20000
		TCVAR:(ARG:0):従属度上昇値 += 700
	ELSEIF 快楽加算値 >= 10000
		TCVAR:(ARG:0):従属度上昇値 += 500
	ELSEIF 快楽加算値 >= 6000
		TCVAR:(ARG:0):従属度上昇値 += 400
	ELSEIF 快楽加算値 >= 3000
		TCVAR:(ARG:0):従属度上昇値 += 300
	ELSEIF 快楽加算値 >= 500
		TCVAR:(ARG:0):従属度上昇値 += 200
	ELSEIF 快楽加算値 >= 100
		TCVAR:(ARG:0):従属度上昇値 += 100
	ENDIF

	;支配度上昇
	IF 快楽加算値 >= 100000
		TCVAR:(ARG:0):支配度上昇値 += 900
	ELSEIF 快楽加算値 >= 20000
		TCVAR:(ARG:0):支配度上昇値 += 700
	ELSEIF 快楽加算値 >= 10000
		TCVAR:(ARG:0):支配度上昇値 += 500
	ELSEIF 快楽加算値 >= 6000
		TCVAR:(ARG:0):支配度上昇値 += 400
	ELSEIF 快楽加算値 >= 3000
		TCVAR:(ARG:0):支配度上昇値 += 300
	ELSEIF 快楽加算値 >= 500
		TCVAR:(ARG:0):支配度上昇値 += 200
	ELSEIF 快楽加算値 >= 100
		TCVAR:(ARG:0):支配度上昇値 += 100
	ENDIF

	;依存度上昇
	IF 快楽加算値 >= 100000
		TCVAR:(ARG:0):依存度上昇値 += 900
	ELSEIF 快楽加算値 >= 20000
		TCVAR:(ARG:0):依存度上昇値 += 700
	ELSEIF 快楽加算値 >= 10000
		TCVAR:(ARG:0):依存度上昇値 += 500
	ELSEIF 快楽加算値 >= 6000
		TCVAR:(ARG:0):依存度上昇値 += 400
	ELSEIF 快楽加算値 >= 3000
		TCVAR:(ARG:0):依存度上昇値 += 300
	ELSEIF 快楽加算値 >= 500
		TCVAR:(ARG:0):依存度上昇値 += 200
	ELSEIF 快楽加算値 >= 100
		TCVAR:(ARG:0):依存度上昇値 += 100
	ENDIF
ENDIF

;-------------------------------------------------
;快Ｂのソース
;-------------------------------------------------
@CALC_SOURCE3(ARG:0)
; #region 快Ｂ
#DIM DYNAMIC 快楽加算値
#DIM DYNAMIC 欲情加算値
#DIM DYNAMIC 感情加算値
#DIM DYNAMIC 射精加算値

快楽加算値 = SOURCE:(ARG:0):快Ｂ
欲情加算値 = SOURCE:(ARG:0):快Ｂ
感情加算値 = SOURCE:(ARG:0):快Ｂ / 5
射精加算値 = SOURCE:(ARG:0):快Ｂ

快楽加算値 = CALC_SOURCE_SENSE_BASE(ABL:(ARG:0):Ｂ感, 快楽加算値)
欲情加算値 = CALC_SOURCE_SENSE_BASE(ABL:(ARG:0):Ｂ感, 欲情加算値)

;欲情による共通補正
快楽加算値 = CALC_SOURCE_SENSE_ESTRUS(ARG:0, 快楽加算値)

SELECTCASE ABL:(ARG:0):欲望
	CASE 0
		TIMES 欲情加算値, 0.10
		TIMES 感情加算値, 1.00
	CASE 1
		TIMES 欲情加算値, 0.15
		TIMES 感情加算値, 0.85
	CASE 2
		TIMES 欲情加算値, 0.20
		TIMES 感情加算値, 0.70
	CASE 3
		TIMES 欲情加算値, 0.25
		TIMES 感情加算値, 0.40
	CASE 4
		TIMES 欲情加算値, 0.30
		TIMES 感情加算値, 0.30
	CASEELSE
		欲情加算値 = 欲情加算値 * ((ABL:(ARG:0):欲望 - 5) * 5 + 40) / 100
		TIMES 感情加算値, 0.10
ENDSELECT

IF TALENT:(ARG:0):Ｂ敏感
	TIMES 快楽加算値, 1.50
	TIMES 欲情加算値, 2.00
	TIMES 射精加算値, 1.50
ENDIF

IF TALENT:(ARG:0):Ｂ鈍感
	TIMES 快楽加算値, 0.75
	TIMES 欲情加算値, 0.50
	TIMES 射精加算値, 0.75
ENDIF

IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_淫乳)
	TIMES 快楽加算値, 1.50
	TIMES 欲情加算値, 1.20
	TIMES 感情加算値, 0.50
	TIMES 射精加算値, 1.50
ENDIF

;媚薬使用中
IF TCVAR:(ARG:0):媚薬
	TIMES 快楽加算値, 1.5
	TIMES 欲情加算値, 1.5
	TIMES 射精加算値, 1.50
ENDIF

;桃源香使用中
IF TFLAG:桃源香使用中
	TIMES 快楽加算値, 1.25
	TIMES 欲情加算値, 1.5
	TIMES 射精加算値, 1.25
ENDIF

;体力0による行動不能
IF TCVAR:(ARG:0):行動不能フラグ
	TIMES 快楽加算値, 0.20
	TIMES 欲情加算値, 0.20
	TIMES 射精加算値, 0.20
ENDIF

;気力0による失神中
IF TCVAR:(ARG:0):失神フラグ
	TIMES 快楽加算値, 0.20
	TIMES 欲情加算値, 0.20
	TIMES 射精加算値, 0.20
ENDIF

;睡眠中
IF TCVAR:(ARG:0):離脱フラグ == 1
	TIMES 快楽加算値, 0.50
	TIMES 欲情加算値, 0.50
	TIMES 射精加算値, 0.50
ENDIF

;逓減補正
; 快楽加算値 = SQRT(快楽加算値 * 1000) * 50 / 100
; 射精加算値 = SQRT(欲情加算値 * 1000) * 50 / 100

CUP:(ARG:0):快Ｂ += 快楽加算値
CUP:(ARG:0):欲情 += 欲情加算値

IF HAS_PENIS(ARG:0)
	CUP:(ARG:0):射精 += 射精加算値 / 5
ENDIF

IF TALENT:(ARG:0):母乳体質
	CUP:(ARG:0):噴乳 += CALC_SOURCE_MILK(ARG:0, 射精加算値)
ENDIF

IF ARG:0 != MASTER
	IF TALENT:(ARG:0):恋慕 && TALENT:(ARG:0):恋人
		TIMES 感情加算値, 0.25
	ELSEIF TALENT:(ARG:0):恋慕 || TALENT:(ARG:0):恋人
		TIMES 感情加算値, 0.50
	ENDIF

	SIF TALENT:(ARG:0):合意
		TIMES 感情加算値, 0.50

	IF TALENT:(ARG:0):孤高
		CUP:(ARG:0):怒主 += 感情加算値
	ENDIF

	IF TALENT:(ARG:0):抑圧 || TALENT:(ARG:0):快感の否定
		CUP:(ARG:0):哀主 += 感情加算値
	ENDIF
ENDIF
; #endregion

;-------------------------------------------------
;搾乳のソース
;-------------------------------------------------
@CALC_SOURCE8(ARG:0)
#DIM DYNAMIC 快楽加算値
#DIM DYNAMIC 欲情加算値
#DIM DYNAMIC 感情加算値
#DIM DYNAMIC 射精加算値

快楽加算値 = SOURCE:(ARG:0):搾乳
欲情加算値 = SOURCE:(ARG:0):搾乳
感情加算値 = SOURCE:(ARG:0):搾乳 / 5
射精加算値 = SOURCE:(ARG:0):搾乳

快楽加算値 = CALC_SOURCE_SENSE_BASE(ABL:(ARG:0):Ｂ感, 快楽加算値)
欲情加算値 = CALC_SOURCE_SENSE_BASE(ABL:(ARG:0):Ｂ感, 欲情加算値)

;欲情による共通補正
快楽加算値 = CALC_SOURCE_SENSE_ESTRUS(ARG:0, 快楽加算値)

SELECTCASE ABL:(ARG:0):欲望
	CASE 0
		TIMES 欲情加算値, 0.10
		TIMES 感情加算値, 1.00
	CASE 1
		TIMES 欲情加算値, 0.15
		TIMES 感情加算値, 0.85
	CASE 2
		TIMES 欲情加算値, 0.20
		TIMES 感情加算値, 0.70
	CASE 3
		TIMES 欲情加算値, 0.25
		TIMES 感情加算値, 0.40
	CASE 4
		TIMES 欲情加算値, 0.30
		TIMES 感情加算値, 0.30
	CASEELSE
		欲情加算値 = 欲情加算値 * ((ABL:(ARG:0):欲望 - 5) * 5 + 40) / 100
		TIMES 感情加算値, 0.10
ENDSELECT

IF TALENT:(ARG:0):Ｂ敏感
	TIMES 快楽加算値, 1.50
	TIMES 欲情加算値, 2.00
	TIMES 射精加算値, 1.50
ENDIF

IF TALENT:(ARG:0):Ｂ鈍感
	TIMES 快楽加算値, 0.75
	TIMES 欲情加算値, 0.50
	TIMES 射精加算値, 0.75
ENDIF

IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_淫乳)
	TIMES 快楽加算値, 1.50
	TIMES 欲情加算値, 1.20
	TIMES 感情加算値, 0.50
	TIMES 射精加算値, 1.50
ENDIF

;媚薬使用中
IF TCVAR:(ARG:0):媚薬
	TIMES 快楽加算値, 1.5
	TIMES 欲情加算値, 1.5
	TIMES 射精加算値, 1.50
ENDIF

;桃源香使用中
IF TFLAG:桃源香使用中
	TIMES 快楽加算値, 1.25
	TIMES 欲情加算値, 1.5
	TIMES 射精加算値, 1.25
ENDIF

;体力0による行動不能
IF TCVAR:(ARG:0):行動不能フラグ
	TIMES 快楽加算値, 0.20
	TIMES 欲情加算値, 0.20
	TIMES 射精加算値, 0.20
ENDIF

;気力0による失神中
IF TCVAR:(ARG:0):失神フラグ
	TIMES 快楽加算値, 0.20
	TIMES 欲情加算値, 0.20
	TIMES 射精加算値, 0.20
ENDIF

;睡眠中
IF TCVAR:(ARG:0):離脱フラグ == 1
	TIMES 快楽加算値, 0.50
	TIMES 欲情加算値, 0.50
	TIMES 射精加算値, 0.50
ENDIF

;逓減補正
; 快楽加算値 = SQRT(快楽加算値 * 1000) * 50 / 100
; 射精加算値 = SQRT(欲情加算値 * 1000) * 50 / 100

CUP:(ARG:0):快Ｂ += 快楽加算値 / 2
CUP:(ARG:0):欲情 += 欲情加算値

IF TALENT:(ARG:0):孤高
	CUP:(ARG:0):怒主 += 感情加算値
ENDIF

IF TALENT:(ARG:0):抑圧 || TALENT:(ARG:0):快感の否定
	CUP:(ARG:0):哀主 += 感情加算値
ENDIF

IF HAS_PENIS(ARG:0)
	CUP:(ARG:0):射精 += 射精加算値 / 10
ENDIF

IF TALENT:(ARG:0):母乳体質
	CUP:(ARG:0):噴乳 += CALC_SOURCE_MILK(ARG:0, 射精加算値 * 5)
ENDIF

;-------------------------------------------------
;快Ｍのソース
;-------------------------------------------------
@CALC_SOURCE4(ARG:0)
#DIM DYNAMIC 快楽加算値
#DIM DYNAMIC 欲情加算値
#DIM DYNAMIC 感情加算値
#DIM DYNAMIC 射精加算値

快楽加算値 = SOURCE:(ARG:0):快Ｍ
欲情加算値 = SOURCE:(ARG:0):快Ｍ
感情加算値 = SOURCE:(ARG:0):快Ｍ / 5
射精加算値 = SOURCE:(ARG:0):快Ｍ

快楽加算値 = CALC_SOURCE_SENSE_BASE(ABL:(ARG:0):Ｍ感, 快楽加算値)
欲情加算値 = CALC_SOURCE_SENSE_BASE(ABL:(ARG:0):Ｍ感, 欲情加算値)

;欲情による共通補正
快楽加算値 = CALC_SOURCE_SENSE_ESTRUS(ARG:0, 快楽加算値)

SELECTCASE ABL:(ARG:0):欲望
	CASE 0
		TIMES 欲情加算値, 0.10
		TIMES 感情加算値, 1.00
	CASE 1
		TIMES 欲情加算値, 0.15
		TIMES 感情加算値, 0.85
	CASE 2
		TIMES 欲情加算値, 0.20
		TIMES 感情加算値, 0.70
	CASE 3
		TIMES 欲情加算値, 0.25
		TIMES 感情加算値, 0.40
	CASE 4
		TIMES 欲情加算値, 0.30
		TIMES 感情加算値, 0.30
	CASEELSE
		欲情加算値 = 欲情加算値 * ((ABL:(ARG:0):欲望 - 5) * 5 + 40) / 100
		TIMES 感情加算値, 0.10
ENDSELECT

IF TALENT:(ARG:0):恋慕
	TIMES 快楽加算値, 1.20
	TIMES 欲情加算値, 1.20
	TIMES 感情加算値, 1.20
ELSEIF TALENT:(ARG:0):親友
	TIMES 快楽加算値, 1.10
	TIMES 欲情加算値, 1.10
	TIMES 感情加算値, 1.10
ELSEIF TALENT:(ARG:0):恋人
	TIMES 快楽加算値, 1.25
	TIMES 欲情加算値, 1.25
	TIMES 感情加算値, 1.25
ELSEIF TALENT:(ARG:0):親愛
	TIMES 快楽加算値, 1.25
	TIMES 欲情加算値, 1.25
	TIMES 感情加算値, 1.25
ELSEIF TALENT:(ARG:0):Ｍ敏感
	TIMES 快楽加算値, 2.00
	TIMES 欲情加算値, 2.00
	TIMES 射精加算値, 1.50
ELSEIF TALENT:(ARG:0):Ｍ鈍感
	TIMES 快楽加算値, 0.75
	TIMES 欲情加算値, 0.50
	TIMES 射精加算値, 0.75
ENDIF

IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_蕩唇)
	TIMES 快楽加算値, 1.50
	TIMES 欲情加算値, 1.20
	TIMES 感情加算値, 0.50
	TIMES 射精加算値, 1.50
ENDIF

;媚薬使用中
IF TCVAR:(ARG:0):媚薬
	TIMES 快楽加算値, 1.5
	TIMES 欲情加算値, 1.5
	TIMES 射精加算値, 1.50
ENDIF

;桃源香使用中
IF TFLAG:桃源香使用中
	TIMES 快楽加算値, 1.25
	TIMES 欲情加算値, 1.5
	TIMES 射精加算値, 1.25
ENDIF

;体力0による行動不能
IF TCVAR:(ARG:0):行動不能フラグ
	TIMES 快楽加算値, 0.20
	TIMES 欲情加算値, 0.20
	TIMES 射精加算値, 0.20
ENDIF

;気力0による失神中
IF TCVAR:(ARG:0):失神フラグ
	TIMES 快楽加算値, 0.20
	TIMES 欲情加算値, 0.20
	TIMES 射精加算値, 0.20
ENDIF

;睡眠中
IF TCVAR:(ARG:0):離脱フラグ == 1
	TIMES 快楽加算値, 0.50
	TIMES 欲情加算値, 0.50
	TIMES 射精加算値, 0.50
ENDIF

;逓減補正
; 快楽加算値 = SQRT(快楽加算値 * 1000) * 50 / 100
; 射精加算値 = SQRT(欲情加算値 * 1000) * 50 / 100

CUP:(ARG:0):快Ｍ += 快楽加算値
CUP:(ARG:0):欲情 += 欲情加算値

IF HAS_PENIS(ARG:0)
	CUP:(ARG:0):射精 += 射精加算値 / 5
ENDIF

IF TALENT:(ARG:0):母乳体質
	CUP:(ARG:0):噴乳 += CALC_SOURCE_MILK(ARG:0, 射精加算値 / 5)
ENDIF

IF ARG:0 != MASTER
	IF TALENT:(ARG:0):恋慕 && TALENT:(ARG:0):恋人
		TIMES 感情加算値, 0.10
	ELSEIF TALENT:(ARG:0):恋慕 || TALENT:(ARG:0):恋人
		TIMES 感情加算値, 0.50
	ENDIF

	IF TALENT:(ARG:0):孤高
		CUP:(ARG:0):怒主 += 感情加算値
	ENDIF

	IF TALENT:(ARG:0):抑圧 || TALENT:(ARG:0):快感の否定
		CUP:(ARG:0):哀主 += 感情加算値
	ENDIF

	CUP:(ARG:0):怒主 -= 欲情加算値 / 3
	CUP:(ARG:0):哀主 -= 欲情加算値 / 3
	CUP:(ARG:0):怖主 -= 欲情加算値 / 3

	;ムードの上昇
	IF 快楽加算値 >= 30000
		TFLAG:ムード += 9
		TCVAR:(ARG:0):HOムード値 += 9
	ELSEIF 快楽加算値 >= 10000
		TFLAG:ムード += 7
		TCVAR:(ARG:0):HOムード値 += 7
	ELSEIF 快楽加算値 >= 3000
		TFLAG:ムード += 5
		TCVAR:(ARG:0):HOムード値 += 5
	ELSEIF 快楽加算値 >= 500
		TFLAG:ムード += 3
		TCVAR:(ARG:0):HOムード値 += 3
	ELSEIF 快楽加算値 >= 100
		TFLAG:ムード += 2
		TCVAR:(ARG:0):HOムード値 += 2
	ELSEIF 快楽加算値 >= 10
		TFLAG:ムード += 1
		TCVAR:(ARG:0):HOムード値 += 1
	ENDIF
ENDIF

;-------------------------------------------------
;快Ｕのソース
;-------------------------------------------------
@CALC_SOURCE5(ARG:0)
#DIM DYNAMIC 快楽加算値
#DIM DYNAMIC 欲情加算値
#DIM DYNAMIC 感情加算値
#DIM DYNAMIC 射精加算値

快楽加算値 = SOURCE:(ARG:0):快Ｕ
欲情加算値 = SOURCE:(ARG:0):快Ｕ
感情加算値 = SOURCE:(ARG:0):快Ｕ / 5
射精加算値 = SOURCE:(ARG:0):快Ｕ

快楽加算値 = CALC_SOURCE_SENSE_BASE(ABL:(ARG:0):Ｕ感, 快楽加算値)
欲情加算値 = CALC_SOURCE_SENSE_BASE(ABL:(ARG:0):Ｕ感, 欲情加算値)

;欲情による共通補正
快楽加算値 = CALC_SOURCE_SENSE_ESTRUS(ARG:0, 快楽加算値)

IF TALENT:(ARG:0):Ｕ敏感
	TIMES 快楽加算値, 1.5
	TIMES 欲情加算値, 2.00
	TIMES 射精加算値, 1.50
ENDIF

IF TALENT:(ARG:0):Ｕ鈍感
	TIMES 快楽加算値, 0.75
	TIMES 欲情加算値, 0.50
	TIMES 射精加算値, 0.75
ENDIF

SELECTCASE ABL:(ARG:0):欲望
	CASE 0
		TIMES 欲情加算値, 0.10
		TIMES 感情加算値, 1.00
	CASE 1
		TIMES 欲情加算値, 0.15
		TIMES 感情加算値, 0.85
	CASE 2
		TIMES 欲情加算値, 0.20
		TIMES 感情加算値, 0.70
	CASE 3
		TIMES 欲情加算値, 0.25
		TIMES 感情加算値, 0.40
	CASE 4
		TIMES 欲情加算値, 0.30
		TIMES 感情加算値, 0.30
	CASEELSE
		欲情加算値 = 欲情加算値 * ((ABL:(ARG:0):欲望 - 5) * 5 + 40) / 100
		TIMES 感情加算値, 0.10
ENDSELECT

IF TALENT:(ARG:0):恋慕
	TIMES 快楽加算値, 1.20
	TIMES 欲情加算値, 1.20
	TIMES 感情加算値, 1.20
ELSEIF TALENT:(ARG:0):親友
	TIMES 快楽加算値, 1.10
	TIMES 欲情加算値, 1.10
	TIMES 感情加算値, 1.10
ELSEIF TALENT:(ARG:0):恋人
	TIMES 快楽加算値, 1.25
	TIMES 欲情加算値, 1.25
	TIMES 感情加算値, 1.25
ELSEIF TALENT:(ARG:0):親愛
	TIMES 快楽加算値, 1.25
	TIMES 欲情加算値, 1.25
	TIMES 感情加算値, 1.25
ENDIF

IF TALENT:(ARG:0):主人
	TIMES 快楽加算値, 1.20
	TIMES 欲情加算値, 1.20
	TIMES 感情加算値, 1.20
ELSEIF TALENT:(ARG:0):所有者
	TIMES 快楽加算値, 1.25
	TIMES 欲情加算値, 1.25
	TIMES 感情加算値, 1.25
ENDIF

IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_尿道狂い)
	TIMES 快楽加算値, 1.50
	TIMES 欲情加算値, 1.20
	TIMES 感情加算値, 0.50
	TIMES 射精加算値, 1.50
ENDIF

;体力0による行動不能
IF TCVAR:(ARG:0):行動不能フラグ
	TIMES 快楽加算値, 0.20
	TIMES 欲情加算値, 0.20
	TIMES 射精加算値, 0.20
ENDIF

;気力0による失神中
IF TCVAR:(ARG:0):失神フラグ
	TIMES 快楽加算値, 0.20
	TIMES 欲情加算値, 0.20
	TIMES 射精加算値, 0.20
ENDIF

;睡眠中
IF TCVAR:(ARG:0):離脱フラグ == 1
	TIMES 快楽加算値, 0.50
	TIMES 欲情加算値, 0.50
	TIMES 射精加算値, 0.50
ENDIF

;逓減補正
; 快楽加算値 = SQRT(快楽加算値 * 1000) * 50 / 100
; 射精加算値 = SQRT(欲情加算値 * 1000) * 50 / 100

CUP:(ARG:0):快Ｕ += 快楽加算値
CUP:(ARG:0):欲情 += 欲情加算値

IF HAS_PENIS(ARG:0)
	CUP:(ARG:0):射精 += 射精加算値 / 5
ENDIF

IF TALENT:(ARG:0):恋慕 && TALENT:(ARG:0):恋人
	TIMES 感情加算値, 0.10
ELSEIF TALENT:(ARG:0):恋慕 || TALENT:(ARG:0):恋人
	TIMES 感情加算値, 0.50
ENDIF

IF ARG:0 != MASTER
	IF TALENT:(ARG:0):孤高
		CUP:(ARG:0):怒主 += 感情加算値
	ENDIF

	IF TALENT:(ARG:0):抑圧 || TALENT:(ARG:0):快感の否定
		CUP:(ARG:0):哀主 += 感情加算値
	ENDIF

	CUP:(ARG:0):怒主 -= 欲情加算値 / 3
	CUP:(ARG:0):哀主 -= 欲情加算値 / 3
	CUP:(ARG:0):怖主 -= 欲情加算値 / 3
ENDIF

;-------------------------------------------------
;歓楽のソース
;-------------------------------------------------
@CALC_SOURCE10(ARG:0)
LOCAL:0 = SOURCE:(ARG:0):歓楽

IF TALENT:(ARG:0):恋慕 || TALENT:(ARG:0):親友
	TIMES LOCAL:0, 1.30
ENDIF

IF TALENT:(ARG:0):親愛
	TIMES LOCAL:0, 1.30
ENDIF

IF TALENT:(ARG:0):恋人
	TIMES LOCAL:0, 1.15
ENDIF

CUP:(ARG:0):怒主 -= LOCAL:0
CUP:(ARG:0):哀主 -= LOCAL:0
CUP:(ARG:0):怖主 -= LOCAL:0

;好感度上昇
TCVAR:(ARG:0):好感度上昇値 += LOCAL:0 * 100 / 6

;ムードの上昇
TFLAG:ムード += LOCAL:0 / 60
TCVAR:(ARG:0):HOムード値 += LOCAL:0 / 60

;-------------------------------------------------
;愛情のソース
;-------------------------------------------------
@CALC_SOURCE11(ARG:0)
LOCAL:0 = SOURCE:(ARG:0):愛情
LOCAL:1 = SOURCE:(ARG:0):愛情
LOCAL:2 = SOURCE:(ARG:0):愛情

IF TALENT:(ARG:0):恋慕
	TIMES LOCAL:0, 1.30
	TIMES LOCAL:1, 1.25
ENDIF

IF TALENT:(ARG:0):親友
	TIMES LOCAL:0, 1.30
	TIMES LOCAL:1, 1.50
ENDIF

IF TALENT:(ARG:0):親愛
	TIMES LOCAL:0, 1.30
	TIMES LOCAL:1, 2.00
ENDIF

IF TALENT:(ARG:0):恋人
	TIMES LOCAL:0, 1.15
	TIMES LOCAL:1, 1.50
ENDIF

;欲望による欲情の補正
LOCAL:1 = CALC_SOURCE_YOKUBOU(ARG:0, LOCAL:1)

;ウフフ中以外
IF !FLAG:ウフフフラグ
	TIMES LOCAL:1, 0.20
ENDIF

CUP:(ARG:0):怒主 -= LOCAL:0
CUP:(ARG:0):哀主 -= LOCAL:0
CUP:(ARG:0):怖主 -= LOCAL:0
CUP:(ARG:0):欲情 += LOCAL:1

;好感度上昇
TCVAR:(ARG:0):好感度上昇値 += LOCAL:2 * 100 / 8

;依存度上昇
TCVAR:(ARG:0):依存度上昇値 += LOCAL:2 * 100 / 12

;ムードの上昇
TFLAG:ムード += LOCAL:0 / 15
TCVAR:(ARG:0):HOムード値 += LOCAL:0 / 15

;-------------------------------------------------
;優越のソース
;-------------------------------------------------
@CALC_SOURCE12(ARG:0)
LOCAL:0 = SOURCE:(ARG:0):優越
LOCAL:1 = SOURCE:(ARG:0):優越
LOCAL:2 = SOURCE:(ARG:0):優越
LOCAL:3 = SOURCE:(ARG:0):優越

LOCAL:5 = ABL:(ARG:0):主導度Ｕ
IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_サド)
	TIMES LOCAL:0, 1.50
	TIMES LOCAL:1, 1.50
	TIMES LOCAL:2, 0.00
	TIMES LOCAL:3, 1.50
ELSEIF LOCAL:5 >= 500
	TIMES LOCAL:0, 1.00
	TIMES LOCAL:1, 1.00
	TIMES LOCAL:2, 0.00
	TIMES LOCAL:3, 1.50
ELSEIF LOCAL:5 >= 300
	TIMES LOCAL:0, 0.80
	TIMES LOCAL:1, 0.90
	TIMES LOCAL:2, 0.00
	TIMES LOCAL:3, 1.30
ELSEIF LOCAL:5 >= 100
	TIMES LOCAL:0, 0.60
	TIMES LOCAL:1, 0.70
	TIMES LOCAL:2, 0.00
	TIMES LOCAL:3, 1.10
ELSEIF LOCAL:5 < -100
	TIMES LOCAL:0, 0.30
	TIMES LOCAL:1, 0.50
	TIMES LOCAL:2, 0.00
	TIMES LOCAL:3, 1.00
ELSEIF LOCAL:5 < -300
	TIMES LOCAL:0, 0.20
	TIMES LOCAL:1, 0.20
	TIMES LOCAL:2, 0.30
	TIMES LOCAL:3, 0.90
ELSEIF LOCAL:5 < -500
	TIMES LOCAL:0, 0.10
	TIMES LOCAL:1, 0.10
	TIMES LOCAL:2, 0.60
	TIMES LOCAL:3, 0.80
ELSE
	TIMES LOCAL:0, 0.05
	TIMES LOCAL:1, 0.05
	TIMES LOCAL:2, 1.00
	TIMES LOCAL:3, 0.70
ENDIF

;欲望による欲情の補正
LOCAL:0 = CALC_SOURCE_YOKUBOU(ARG:0, LOCAL:0)

CUP:(ARG:0):欲情 += LOCAL:0
CUP:(ARG:0):怒主 -= LOCAL:1
CUP:(ARG:0):哀主 -= LOCAL:1

;好感度上昇
TCVAR:(ARG:0):好感度上昇値 += LOCAL:1 * 10

;依存度上昇
TCVAR:(ARG:0):依存度上昇値 += LOCAL:1 * 10 / 3

;従属度減少
TCVAR:(ARG:0):従属度減少値 += LOCAL:3 * 10 / 2

;支配度上昇
TCVAR:(ARG:0):支配度上昇値 += LOCAL:1 * 10 * 2 / 3

;-------------------------------------------------
;屈従のソース
;-------------------------------------------------
@CALC_SOURCE13(ARG:0)
LOCAL:0 = SOURCE:(ARG:0):屈従
LOCAL:1 = SOURCE:(ARG:0):屈従
LOCAL:2 = SOURCE:(ARG:0):屈従
LOCAL:3 = SOURCE:(ARG:0):屈従

LOCAL:5 = ABL:(ARG:0):主導度Ｕ
IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_マゾ)
	TIMES LOCAL:0, 1.50
	TIMES LOCAL:1, 1.50
	TIMES LOCAL:2, 0.10
	TIMES LOCAL:3, 1.50
ELSEIF LOCAL:5 <= -500
	TIMES LOCAL:0, 1.00
	TIMES LOCAL:1, 1.00
	TIMES LOCAL:2, 0.50
	TIMES LOCAL:3, 1.50
ELSEIF LOCAL:5 <= -300
	TIMES LOCAL:0, 0.60
	TIMES LOCAL:1, 0.90
	TIMES LOCAL:2, 0.60
	TIMES LOCAL:3, 1.30
ELSEIF LOCAL:5 <= -100
	TIMES LOCAL:0, 0.40
	TIMES LOCAL:1, 0.80
	TIMES LOCAL:2, 0.70
	TIMES LOCAL:3, 1.10
ELSEIF LOCAL:5 < 100
	TIMES LOCAL:0, 0.20
	TIMES LOCAL:1, 0.60
	TIMES LOCAL:2, 0.80
	TIMES LOCAL:3, 1.00
ELSEIF LOCAL:5 < 300
	TIMES LOCAL:0, 0.00
	TIMES LOCAL:1, 0.50
	TIMES LOCAL:2, 0.90
	TIMES LOCAL:3, 0.90
ELSEIF LOCAL:5 < 500
	TIMES LOCAL:0, 0.00
	TIMES LOCAL:1, 0.40
	TIMES LOCAL:2, 1.00
	TIMES LOCAL:3, 0.80
ELSE
	TIMES LOCAL:0, 0.00
	TIMES LOCAL:1, 0.20
	TIMES LOCAL:2, 1.00
	TIMES LOCAL:3, 0.70
ENDIF

;欲望による欲情の補正
LOCAL:0 = CALC_SOURCE_YOKUBOU(ARG:0, LOCAL:0)

IF TALENT:(ARG:0):服従
	TIMES LOCAL:0, 1.30
	TIMES LOCAL:1, 1.30
ENDIF
IF TALENT:(ARG:0):隷属
	TIMES LOCAL:0, 1.30
	TIMES LOCAL:1, 1.30
ENDIF
IF TALENT:(ARG:0):烙印
	TIMES LOCAL:0, 1.30
	TIMES LOCAL:1, 1.30
ENDIF

CUP:(ARG:0):欲情 += LOCAL:0
CUP:(ARG:0):怒主 -= LOCAL:1

IF TALENT:(ARG:0):服従 || TALENT:(ARG:0):烙印
	CUP:(ARG:0):哀主 -= LOCAL:1
ENDIF

IF TALENT:(ARG:0):抑圧
	CUP:(ARG:0):哀主 += LOCAL:2
ENDIF

;依存度上昇
TCVAR:(ARG:0):依存度上昇値 += LOCAL:3 * 10 / 3

;従属度上昇
TCVAR:(ARG:0):従属度上昇値 += LOCAL:3 * 10

;支配度現象
TCVAR:(ARG:0):支配度減少値 += LOCAL:3 * 10 / 2

;-------------------------------------------------
;恐怖のソース
;-------------------------------------------------
@CALC_SOURCE14(ARG:0)
LOCAL:0 = SOURCE:(ARG:0):恐怖

CUP:(ARG:0):怒主 += LOCAL:0 * 3 / 10
CUP:(ARG:0):怖主 += LOCAL:0

;好感度減少
TCVAR:(ARG:0):好感度減少値 += LOCAL:0

;従属度上昇
TCVAR:(ARG:0):従属度上昇値 += LOCAL:0
;支配度現象
TCVAR:(ARG:0):支配度減少値 += LOCAL:0 * 10 / 2

;-------------------------------------------------
;反感のソース
;-------------------------------------------------
@CALC_SOURCE15(ARG:0)
LOCAL:0 = SOURCE:(ARG:0):反感

CUP:(ARG:0):怒主 += LOCAL:0
CUP:(ARG:0):哀主 += LOCAL:0 * 3 / 10

;好感度減少
TCVAR:(ARG:0):好感度減少値 += LOCAL:0

;依存度減少
TCVAR:(ARG:0):依存度減少値 += LOCAL:0

;従属度減少
TCVAR:(ARG:0):従属度減少値 += LOCAL:0

;-------------------------------------------------
;不安のソース
;-------------------------------------------------
@CALC_SOURCE16(ARG:0)
LOCAL:0 = SOURCE:(ARG:0):不安

CUP:(ARG:0):怒主 += LOCAL:0 * 3 / 10
CUP:(ARG:0):哀主 += LOCAL:0
CUP:(ARG:0):怖主 += LOCAL:0 * 7 / 10

;好感度減少
TCVAR:(ARG:0):好感度減少値 += LOCAL:0

;-------------------------------------------------
;接触のソース
;-------------------------------------------------
@CALC_SOURCE17(ARG:0)
LOCAL:0 = SOURCE:(ARG:0):接触
LOCAL:1 = SOURCE:(ARG:0):接触
LOCAL:2 = SOURCE:(ARG:0):接触 / 2
LOCAL:3 = SOURCE:(ARG:0):接触 * 2 / 3

;好感度・従属度・支配度の大きい方を見る
IF ARG:0 != MASTER

	LOCAL:5 = MAX(CFLAG:(ARG:0):好感度, CFLAG:(ARG:0):従属度, CFLAG:(ARG:0):支配度)
	IF LOCAL:5 < 100
		TIMES LOCAL:0, 0.00
		TIMES LOCAL:1, 1.20
	ELSEIF LOCAL:5 < 300
		TIMES LOCAL:0, 0.10
		TIMES LOCAL:1, 1.00
	ELSEIF LOCAL:5 < 500
		TIMES LOCAL:0, 0.30
		TIMES LOCAL:1, 0.70
	ELSEIF LOCAL:5 < 800
		TIMES LOCAL:0, 0.50
		TIMES LOCAL:1, 0.30
	ELSEIF LOCAL:5 < 1500
		TIMES LOCAL:0, 0.80
		TIMES LOCAL:1, 0.10
	ELSEIF LOCAL:5 < 3000
		TIMES LOCAL:0, 1.50
		TIMES LOCAL:1, 0.00
	ELSEIF LOCAL:5 < 5000
		TIMES LOCAL:0, 1.40
		TIMES LOCAL:1, 0.00
	ELSE
		TIMES LOCAL:0, 1.50
		TIMES LOCAL:1, 0.00
	ENDIF
ENDIF

;好感度を見る
IF ARG:0 != MASTER
	IF CFLAG:(ARG:0):好感度 < 100
		TIMES LOCAL:2, 1.00
		TIMES LOCAL:3, 1.00
	ELSEIF CFLAG:(ARG:0):好感度 < 300
		TIMES LOCAL:2, 0.90
		TIMES LOCAL:3, 0.90
	ELSEIF CFLAG:(ARG:0):好感度 < 500
		TIMES LOCAL:2, 0.70
		TIMES LOCAL:3, 0.70
	ELSEIF CFLAG:(ARG:0):好感度 < 800
		TIMES LOCAL:2, 0.30
		TIMES LOCAL:3, 0.30
	ELSEIF CFLAG:(ARG:0):好感度 < 1500
		TIMES LOCAL:2, 0.15
		TIMES LOCAL:3, 0.15
	ELSE
		TIMES LOCAL:2, 0.00
		TIMES LOCAL:3, 0.00
	ENDIF
ENDIF

IF TALENT:(ARG:0):恥じらい
	TIMES LOCAL:1, 1.50
	TIMES LOCAL:2, 2.00
	TIMES LOCAL:3, 2.00
ENDIF

IF TALENT:(ARG:0):恥薄い
	TIMES LOCAL:1, 0.50
	TIMES LOCAL:2, 0.50
	TIMES LOCAL:3, 0.50
ENDIF

IF TALENT:(ARG:0):恋慕
	TIMES LOCAL:0, 1.50
	TIMES LOCAL:1, 0.20
	TIMES LOCAL:2, 0.10
	TIMES LOCAL:3, 0.20
ENDIF
IF TALENT:(ARG:0):親友
	TIMES LOCAL:1, 0.20
	TIMES LOCAL:2, 0.10
	TIMES LOCAL:3, 0.20
ENDIF
IF TALENT:(ARG:0):親愛
	TIMES LOCAL:0, 2.00
	TIMES LOCAL:1, 0.00
	TIMES LOCAL:2, 0.10
	TIMES LOCAL:3, 0.20
ENDIF
IF TALENT:(ARG:0):恋人
	TIMES LOCAL:0, 1.50
	TIMES LOCAL:1, 0.50
	TIMES LOCAL:2, 0.10
	TIMES LOCAL:3, 0.20
ENDIF

IF IS_MALE(ARG:0)
	TIMES LOCAL:1, 0.75
	TIMES LOCAL:2, 0.75
	TIMES LOCAL:3, 0.75
ENDIF

LOCAL:11 = 1
IF IS_MPLY(ARG:0)
	FOR LOCAL:10, 0, MTAR_NUM
		IF !IS_SAMESEX(ARG:0, MTAR:(LOCAL:10))
			LOCAL:11 = 0
			BREAK
		ENDIF
	NEXT
ELSEIF IS_MTAR(ARG:0)
	FOR LOCAL:10, 0, MPLY_NUM
		IF !IS_SAMESEX(ARG:0, MPLY:(LOCAL:10))
			LOCAL:11 = 0
			BREAK
		ENDIF
	NEXT
ENDIF
IF LOCAL:11
	IF !TALENT:(ARG:0):両刀
		TIMES LOCAL:0, 0.80
	ENDIF
	TIMES LOCAL:1, 0.60
	TIMES LOCAL:2, 0.60
	TIMES LOCAL:3, 0.60
ENDIF

IF IS_SAMESEX(MASTER, ARG:0) || ABL:(ARG:0):性知識 == 0
	IF (!TALENT:(ARG:0):合意 && !FLAG:ウフフフラグ) || ABL:(ARG:0):性知識 == 0
		TIMES LOCAL:0, 0.30
	ENDIF
	TIMES LOCAL:1, 0.30
	TIMES LOCAL:2, 0.30
	TIMES LOCAL:3, 0.50
ENDIF
;好感度上昇
TCVAR:(ARG:0):好感度上昇値 += LOCAL:0

CUP:(ARG:0):欲情 += LOCAL:0
CUP:(ARG:0):怒主 += LOCAL:1
CUP:(ARG:0):哀主 += LOCAL:2
CUP:(ARG:0):怖主 += LOCAL:3

;-------------------------------------------------
;奉仕のソース
;-------------------------------------------------
@CALC_SOURCE18(ARG:0)
LOCAL:0 = SOURCE:(ARG:0):奉仕
LOCAL:1 = SOURCE:(ARG:0):奉仕
LOCAL:2 = SOURCE:(ARG:0):奉仕

;欲望による欲情の補正
LOCAL:0 = CALC_SOURCE_YOKUBOU(ARG:0, LOCAL:0)

SELECTCASE ABL:(ARG:0):奉仕
	CASE 0
		TIMES LOCAL:1, 1.00
	CASE 1
		TIMES LOCAL:1, 0.80
	CASE 2
		TIMES LOCAL:1, 0.60
	CASE 3
		TIMES LOCAL:1, 0.40
	CASE 4
		TIMES LOCAL:1, 0.20
	CASEELSE
		TIMES LOCAL:1, 0.10
ENDSELECT

CUP:(ARG:0):欲情 += LOCAL:0
;好感度上昇
TCVAR:(ARG:0):好感度上昇値 += LOCAL:0 / 3

IF TALENT:(ARG:0):抑圧 || TALENT:(ARG:0):孤高
	CUP:(ARG:0):哀主 += LOCAL:1
ENDIF

;-------------------------------------------------
;苦痛のソース
;-------------------------------------------------
@CALC_SOURCE19(ARG:0)
LOCAL:0 = SOURCE:(ARG:0):苦痛
LOCAL:1 = SOURCE:(ARG:0):苦痛
LOCAL:2 = SOURCE:(ARG:0):苦痛
LOCAL:3 = SOURCE:(ARG:0):苦痛
LOCAL:4 = SOURCE:(ARG:0):苦痛 / 5

;好感度と従属度の大きい方を見る
IF ARG:0 != MASTER
	LOCAL:5 = MAX(CFLAG:(ARG:0):好感度, CFLAG:(ARG:0):従属度, CFLAG:(ARG:0):支配度)
	IF LOCAL:5 < 100
		TIMES LOCAL:0, 0.50
		TIMES LOCAL:1, 2.00
		TIMES LOCAL:2, 1.00
		TIMES LOCAL:3, 2.00
	ELSEIF LOCAL:5 < 300
		TIMES LOCAL:0, 0.60
		TIMES LOCAL:1, 1.60
		TIMES LOCAL:2, 0.90
		TIMES LOCAL:3, 1.90
	ELSEIF LOCAL:5 < 500
		TIMES LOCAL:0, 0.70
		TIMES LOCAL:1, 1.30
		TIMES LOCAL:2, 0.80
		TIMES LOCAL:3, 1.80
	ELSEIF LOCAL:5 < 800
		TIMES LOCAL:0, 0.80
		TIMES LOCAL:1, 1.00
		TIMES LOCAL:2, 0.70
		TIMES LOCAL:3, 1.60
	ELSEIF LOCAL:5 < 1500
		TIMES LOCAL:0, 1.00
		TIMES LOCAL:1, 0.60
		TIMES LOCAL:2, 0.50
		TIMES LOCAL:3, 1.40
	ELSE
		TIMES LOCAL:0, 1.20
		TIMES LOCAL:1, 0.30
		TIMES LOCAL:2, 0.30
		TIMES LOCAL:3, 1.00
	ENDIF
ENDIF

;倒錯度を見る
LOCAL:5 = ABL:(ARG:0):倒錯度
IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_マゾ)
	TIMES LOCAL:0, 1.20
	TIMES LOCAL:1, 0.10
	TIMES LOCAL:2, 0.10
	TIMES LOCAL:4, 0.50
ELSEIF LOCAL:5 >= 800
	TIMES LOCAL:0, 1.00
	TIMES LOCAL:1, 0.20
	TIMES LOCAL:2, 0.20
	TIMES LOCAL:4, 0.60
ELSEIF LOCAL:5 >= 500
	TIMES LOCAL:0, 0.70
	TIMES LOCAL:1, 0.40
	TIMES LOCAL:2, 0.40
	TIMES LOCAL:4, 0.70
ELSEIF LOCAL:5 >= 300
	TIMES LOCAL:0, 0.30
	TIMES LOCAL:1, 0.60
	TIMES LOCAL:2, 0.60
	TIMES LOCAL:4, 0.80
ELSEIF LOCAL:5 >= 100
	TIMES LOCAL:0, 0.10
	TIMES LOCAL:1, 0.80
	TIMES LOCAL:2, 0.80
	TIMES LOCAL:4, 0.90
ELSE
	TIMES LOCAL:0, 0.00
	TIMES LOCAL:1, 1.00
	TIMES LOCAL:2, 1.00
ENDIF

;ウフフ主導度を見る
LOCAL:5 = ABL:(ARG:0):主導度Ｕ
IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_マゾ)
	TIMES LOCAL:0, 2.00
	TIMES LOCAL:1, 0.50
	TIMES LOCAL:2, 0.50
ELSEIF LOCAL:5 <= -500
	TIMES LOCAL:0, 1.60
	TIMES LOCAL:1, 0.70
	TIMES LOCAL:2, 0.70
ELSEIF LOCAL:5 <= -300
	TIMES LOCAL:0, 1.40
	TIMES LOCAL:1, 0.80
	TIMES LOCAL:2, 0.80
ELSEIF LOCAL:5 <= -100
	TIMES LOCAL:0, 1.20
	TIMES LOCAL:1, 0.90
	TIMES LOCAL:2, 0.90
ELSEIF LOCAL:5 < 100
	TIMES LOCAL:0, 1.00
	TIMES LOCAL:1, 1.00
	TIMES LOCAL:2, 1.00
ELSEIF LOCAL:5 < 300
	TIMES LOCAL:0, 0.90
	TIMES LOCAL:1, 1.10
	TIMES LOCAL:2, 1.10
ELSEIF LOCAL:5 < 500
	TIMES LOCAL:0, 0.80
	TIMES LOCAL:1, 1.20
	TIMES LOCAL:2, 1.20
ELSE
	TIMES LOCAL:0, 0.60
	TIMES LOCAL:1, 1.30
	TIMES LOCAL:2, 1.30
ENDIF

;マゾを見る
SELECTCASE ABL:(ARG:0):マゾ
	CASE 0
		TIMES LOCAL:0, 0.50
		TIMES LOCAL:1, 1.10
		TIMES LOCAL:2, 1.10
		TIMES LOCAL:3, 1.10
	CASE 1
		TIMES LOCAL:0, 0.80
		TIMES LOCAL:1, 1.05
		TIMES LOCAL:2, 1.05
		TIMES LOCAL:3, 1.05
	CASE 2
		TIMES LOCAL:0, 1.0
		TIMES LOCAL:1, 1.0
		TIMES LOCAL:2, 1.0
		TIMES LOCAL:3, 1.0
	CASE 3
		TIMES LOCAL:0, 1.1
		TIMES LOCAL:1, 0.80
		TIMES LOCAL:2, 0.80
		TIMES LOCAL:3, 0.80
	CASE 4
		TIMES LOCAL:0, 1.2
		TIMES LOCAL:1, 0.60
		TIMES LOCAL:2, 0.60
		TIMES LOCAL:3, 0.60
	CASEELSE
		LOCAL:0 = LOCAL:0 * ((ABL:(ARG:0):マゾ - 5) * 5 + 140) / 100
		TIMES LOCAL:1, 0.20
		TIMES LOCAL:3, 0.20
		IF TALENT:(ARG:0):抑圧
			TIMES LOCAL:2, 0.50
		ELSE
			TIMES LOCAL:2, 0.20
		ENDIF
ENDSELECT

IF TALENT:(ARG:0):痛みに強い
	TIMES LOCAL:2, 0.80
	TIMES LOCAL:3, 0.70
	TIMES LOCAL:4, 0.70
ENDIF

;痛みに弱い
IF TALENT:(ARG:0):痛みに弱い
	TIMES LOCAL:2, 2.00
	TIMES LOCAL:3, 2.00
	TIMES LOCAL:4, 1.25
ENDIF

;苦痛快楽経験1につき0.1%カット、最大700で70%
LOCAL:4 = LOCAL:4 - LOCAL:4 * MIN(EXP:(ARG:0):苦痛快楽経験, 700) / 1000

;消費量が高すぎる場合の軽減措置(400以降、200おきに超過分を20%減衰)
FOR LOCAL:10, 0, 30
	LOCAL:11 = LOCAL:10 * 200 + 400
	IF LOCAL:4 < LOCAL:11
		BREAK
	ENDIF
	LOCAL:4 = LOCAL:11 + (LOCAL:4 - LOCAL:11) * 4 / 5
NEXT

CUP:(ARG:0):欲情 += LOCAL:0
CUP:(ARG:0):怒主 += LOCAL:1
CUP:(ARG:0):哀主 += LOCAL:2
CUP:(ARG:0):怖主 += LOCAL:3

DOWNBASE:(ARG:0):体力 += LOCAL:4

;-------------------------------------------------
;露出のソース
;-------------------------------------------------
@CALC_SOURCE20(ARG:0)
LOCAL:0 = SOURCE:(ARG:0):露出
LOCAL:1 = SOURCE:(ARG:0):露出
LOCAL:2 = SOURCE:(ARG:0):露出
LOCAL:3 = SOURCE:(ARG:0):露出 / 2

SELECTCASE ABL:(ARG:0):露出
	CASE 0
		TIMES LOCAL:0, 0.00
		TIMES LOCAL:1, 1.00
		TIMES LOCAL:2, 1.00
		TIMES LOCAL:3, 1.00
	CASE 1
		TIMES LOCAL:0, 0.20
		TIMES LOCAL:1, 0.80
		TIMES LOCAL:2, 0.80
		TIMES LOCAL:3, 0.70
	CASE 2
		TIMES LOCAL:0, 0.40
		TIMES LOCAL:1, 0.60
		TIMES LOCAL:2, 0.60
		TIMES LOCAL:3, 0.40
	CASE 3
		TIMES LOCAL:0, 0.70
		TIMES LOCAL:1, 0.40
		TIMES LOCAL:2, 0.40
		TIMES LOCAL:3, 0.20
	CASE 4
		TIMES LOCAL:0, 1.00
		TIMES LOCAL:1, 0.15
		TIMES LOCAL:2, 0.15
		TIMES LOCAL:3, 0.05
	CASEELSE
		LOCAL:0 = LOCAL:0 * ((ABL:(ARG:0):露出 - 5) * 5 + 140) / 100
		TIMES LOCAL:1, 0.05
		TIMES LOCAL:3, 0.00
		IF TALENT:(ARG:0):抑圧
			TIMES LOCAL:2, 0.10
		ELSE
			TIMES LOCAL:2, 0.00
		ENDIF
ENDSELECT

;親密度と依存度の大きい方を見る
LOCAL:5 = MAX(CFLAG:(ARG:0):好感度, CFLAG:(ARG:0):依存度)
IF LOCAL:5 < 100
	TIMES LOCAL:1, 1.00
	TIMES LOCAL:2, 1.00
	TIMES LOCAL:3, 1.00
ELSEIF LOCAL:5 < 300
	TIMES LOCAL:1, 0.90
	TIMES LOCAL:2, 0.90
	TIMES LOCAL:3, 0.90
ELSEIF LOCAL:5 < 500
	TIMES LOCAL:1, 0.70
	TIMES LOCAL:2, 0.70
	TIMES LOCAL:3, 0.80
ELSEIF LOCAL:5 < 800
	TIMES LOCAL:1, 0.50
	TIMES LOCAL:2, 0.50
	TIMES LOCAL:3, 0.60
ELSEIF LOCAL:5 < 1500
	TIMES LOCAL:1, 0.20
	TIMES LOCAL:2, 0.20
	TIMES LOCAL:3, 0.50
ELSEIF LOCAL:5 < 3000
	TIMES LOCAL:1, 0.10
	TIMES LOCAL:2, 0.10
	TIMES LOCAL:3, 0.40
ELSE
	TIMES LOCAL:1, 0.05
	TIMES LOCAL:2, 0.05
	TIMES LOCAL:3, 0.30
ENDIF

;恥じらいと恥薄いはここで処理
IF TALENT:(ARG:0):恥じらい
	TIMES LOCAL:1, 1.50
	TIMES LOCAL:2, 1.50
	TIMES LOCAL:3, 2.00
ENDIF
IF TALENT:(ARG:0):恥薄い
	TIMES LOCAL:1, 0.50
	TIMES LOCAL:2, 0.50
	TIMES LOCAL:3, 0.50
ENDIF

IF !TALENT:(ARG:0):抑圧
	TIMES LOCAL:2, 0.30
ENDIF

IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_露出狂)
	TIMES LOCAL:0, 1.25
	TIMES LOCAL:1, 0.1
	TIMES LOCAL:2, 0.1
	TIMES LOCAL:3, 0.1
ENDIF

CUP:(ARG:0):欲情 += LOCAL:0
CUP:(ARG:0):怒主 += LOCAL:1
CUP:(ARG:0):哀主 += LOCAL:2
CUP:(ARG:0):怖主 += LOCAL:3

;-------------------------------------------------
;不潔のソース
;-------------------------------------------------
@CALC_SOURCE21(ARG:0)
LOCAL:0 = SOURCE:(ARG:0):不潔

;親密度と依存度の大きい方を見る
LOCAL:5 = MAX(CFLAG:(ARG:0):好感度, CFLAG:(ARG:0):依存度)
IF LOCAL:5 < 100
	TIMES LOCAL:0, 1.00
ELSEIF LOCAL:5 < 300
	TIMES LOCAL:0, 0.90
ELSEIF LOCAL:5 < 500
	TIMES LOCAL:0, 0.70
ELSEIF LOCAL:5 < 800
	TIMES LOCAL:0, 0.50
ELSEIF LOCAL:5 < 1500
	TIMES LOCAL:0, 0.20
ELSEIF LOCAL:5 < 3000
	TIMES LOCAL:0, 0.10
ELSE
	TIMES LOCAL:0, 0.05
ENDIF

IF TALENT:(ARG:0):汚れ無視
	TIMES LOCAL:0, 0.00
ELSE
	IF TALENT:(ARG:0):汚臭敏感
		TIMES LOCAL:0, 2.00
	ENDIF
	IF TALENT:(ARG:0):汚臭鈍感
		TIMES LOCAL:0, 0.50
	ENDIF
ENDIF

CUP:(ARG:0):怒主 += LOCAL:0
CUP:(ARG:0):哀主 += LOCAL:0

;好感度減少
TCVAR:(ARG:0):好感度減少値 += LOCAL:0

;-------------------------------------------------
;逸脱のソース
;-------------------------------------------------
@CALC_SOURCE22(ARG:0)
LOCAL:0 = SOURCE:(ARG:0):逸脱
LOCAL:1 = SOURCE:(ARG:0):逸脱 / 2
LOCAL:2 = SOURCE:(ARG:0):逸脱

;親密度と依存度の大きい方を見る
LOCAL:5 = MAX(CFLAG:(ARG:0):好感度, CFLAG:(ARG:0):依存度)
IF LOCAL:5 < 100
	TIMES LOCAL:0, 1.00
	TIMES LOCAL:1, 1.00
	TIMES LOCAL:2, 1.00
ELSEIF LOCAL:5 < 300
	TIMES LOCAL:0, 0.90
	TIMES LOCAL:1, 0.90
	TIMES LOCAL:2, 0.90
ELSEIF LOCAL:5 < 500
	TIMES LOCAL:0, 0.70
	TIMES LOCAL:1, 0.70
	TIMES LOCAL:2, 0.80
ELSEIF LOCAL:5 < 800
	TIMES LOCAL:0, 0.50
	TIMES LOCAL:1, 0.50
	TIMES LOCAL:2, 0.60
ELSEIF LOCAL:5 < 1500
	TIMES LOCAL:0, 0.20
	TIMES LOCAL:1, 0.20
	TIMES LOCAL:2, 0.50
ELSEIF LOCAL:5 < 3000
	TIMES LOCAL:0, 0.10
	TIMES LOCAL:1, 0.10
	TIMES LOCAL:2, 0.40
ELSE
	TIMES LOCAL:0, 0.05
	TIMES LOCAL:1, 0.05
	TIMES LOCAL:2, 0.30
ENDIF

;倒錯度を見る
LOCAL:5 = ABL:(ARG:0):倒錯度
IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_マゾ)
	TIMES LOCAL:0, 0.00
	TIMES LOCAL:1, 0.00
	TIMES LOCAL:2, 0.05
ELSEIF LOCAL:5 >= 800
	TIMES LOCAL:0, 0.15
	TIMES LOCAL:1, 0.15
	TIMES LOCAL:2, 0.30
ELSEIF LOCAL:5 >= 500
	TIMES LOCAL:0, 0.40
	TIMES LOCAL:1, 0.40
	TIMES LOCAL:2, 0.60
ELSEIF LOCAL:5 >= 300
	TIMES LOCAL:0, 0.60
	TIMES LOCAL:1, 0.60
	TIMES LOCAL:2, 0.80
ELSEIF LOCAL:5 >= 100
	TIMES LOCAL:0, 0.80
	TIMES LOCAL:1, 0.80
	TIMES LOCAL:2, 0.90
ELSE
	TIMES LOCAL:0, 1.00
	TIMES LOCAL:1, 1.00
	TIMES LOCAL:2, 1.00
ENDIF

IF TALENT:(ARG:0):好奇心
	TIMES LOCAL:0, 0.50
	TIMES LOCAL:1, 0.50
	TIMES LOCAL:2, 0.50
ENDIF

IF TALENT:(ARG:0):保守的
	TIMES LOCAL:0, 2.00
	TIMES LOCAL:1, 2.00
	TIMES LOCAL:2, 2.00
ENDIF

IF TALENT:(ARG:0):倒錯的
	TIMES LOCAL:0, 0.50
	TIMES LOCAL:1, 0.50
	TIMES LOCAL:2, 0.50
ENDIF

CUP:(ARG:0):怒主 += LOCAL:0
CUP:(ARG:0):哀主 += LOCAL:1
CUP:(ARG:0):怖主 += LOCAL:2

;-------------------------------------------------
;嗜虐のソース
;-------------------------------------------------
@CALC_SOURCE23(ARG:0)
LOCAL:0 = SOURCE:(ARG:0):嗜虐 * 2
LOCAL:1 = SOURCE:(ARG:0):嗜虐
LOCAL:2 = SOURCE:(ARG:0):嗜虐
LOCAL:3 = SOURCE:(ARG:0):嗜虐

LOCAL:5 = ABL:(ARG:0):主導度Ｕ
IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_サド)
	TIMES LOCAL:0, 1.50
	TIMES LOCAL:1, 1.50
	TIMES LOCAL:2, 0.00
	TIMES LOCAL:3, 1.80
ELSEIF LOCAL:5 <= -500
	TIMES LOCAL:0, 0.00
	TIMES LOCAL:1, 0.00
	TIMES LOCAL:2, 1.00
	TIMES LOCAL:3, 0.70
ELSEIF LOCAL:5 <= -300
	TIMES LOCAL:0, 0.00
	TIMES LOCAL:1, 0.00
	TIMES LOCAL:2, 1.00
	TIMES LOCAL:3, 0.80
ELSEIF LOCAL:5 <= -100
	TIMES LOCAL:0, 0.05
	TIMES LOCAL:1, 0.05
	TIMES LOCAL:2, 1.00
	TIMES LOCAL:3, 0.90
ELSEIF LOCAL:5 < 100
	TIMES LOCAL:0, 0.10
	TIMES LOCAL:1, 0.10
	TIMES LOCAL:2, 0.70
	TIMES LOCAL:3, 1.00
ELSEIF LOCAL:5 < 300
	TIMES LOCAL:0, 0.30
	TIMES LOCAL:1, 0.30
	TIMES LOCAL:2, 0.30
	TIMES LOCAL:3, 1.10
ELSEIF LOCAL:5 < 500
	TIMES LOCAL:0, 0.60
	TIMES LOCAL:1, 0.60
	TIMES LOCAL:2, 0.05
	TIMES LOCAL:3, 1.30
ELSE
	TIMES LOCAL:0, 1.00
	TIMES LOCAL:1, 1.00
	TIMES LOCAL:2, 0.00
	TIMES LOCAL:3, 1.50
ENDIF

LOCAL:5 = ABL:(ARG:0):倒錯度
IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_サド) || LOCAL:5 >= 800
	TIMES LOCAL:0, 1.00
	TIMES LOCAL:1, 1.00
	TIMES LOCAL:2, 0.10
ELSEIF LOCAL:5 >= 500
	TIMES LOCAL:0, 0.90
	TIMES LOCAL:1, 0.90
	TIMES LOCAL:2, 0.30
ELSEIF LOCAL:5 >= 300
	TIMES LOCAL:0, 0.80
	TIMES LOCAL:1, 0.80
	TIMES LOCAL:2, 0.50
ELSEIF LOCAL:5 >= 100
	TIMES LOCAL:0, 0.60
	TIMES LOCAL:1, 0.60
	TIMES LOCAL:2, 0.80
ELSE
	TIMES LOCAL:0, 0.40
	TIMES LOCAL:1, 0.40
	TIMES LOCAL:2, 1.00
ENDIF

;サドを見る
SELECTCASE ABL:(ARG:0):サド
	CASE 0
		TIMES LOCAL:0, 0.50
		TIMES LOCAL:1, 1.10
		TIMES LOCAL:2, 1.10
		TIMES LOCAL:3, 1.10
	CASE 1
		TIMES LOCAL:0, 0.80
		TIMES LOCAL:1, 1.05
		TIMES LOCAL:2, 1.05
		TIMES LOCAL:3, 1.05
	CASE 2
		TIMES LOCAL:0, 1.0
		TIMES LOCAL:1, 1.0
		TIMES LOCAL:2, 1.0
		TIMES LOCAL:3, 1.0
	CASE 3
		TIMES LOCAL:0, 1.1
		TIMES LOCAL:1, 0.80
		TIMES LOCAL:2, 0.80
		TIMES LOCAL:3, 0.80
	CASE 4
		TIMES LOCAL:0, 1.2
		TIMES LOCAL:1, 0.60
		TIMES LOCAL:2, 0.60
		TIMES LOCAL:3, 0.60
	CASEELSE
		LOCAL:0 = LOCAL:0 * ((ABL:(ARG:0):マゾ - 5) * 5 + 140) / 100
		TIMES LOCAL:1, 0.20
		TIMES LOCAL:3, 0.20
		IF TALENT:(ARG:0):抑圧
			TIMES LOCAL:2, 0.50
		ELSE
			TIMES LOCAL:2, 0.20
		ENDIF
ENDSELECT

IF TALENT:(ARG:0):主人
	TIMES LOCAL:0, 1.30
	TIMES LOCAL:1, 1.30
ENDIF
IF TALENT:(ARG:0):所有者
	TIMES LOCAL:0, 1.30
	TIMES LOCAL:1, 1.30
ENDIF

;欲望による欲情の補正
LOCAL:0 = CALC_SOURCE_YOKUBOU(ARG:0, LOCAL:0)

CUP:(ARG:0):欲情 += LOCAL:0
CUP:(ARG:0):怒主 -= LOCAL:1
CUP:(ARG:0):哀主 -= LOCAL:1
CUP:(ARG:0):怖主 += LOCAL:2

;好感度上昇
TCVAR:(ARG:0):好感度上昇値 += LOCAL:1 * 10

;依存度上昇
TCVAR:(ARG:0):依存度上昇値 += LOCAL:1 * 4

;従属度減少
TCVAR:(ARG:0):従属度減少値 += LOCAL:3 * 10

;支配度上昇
TCVAR:(ARG:0):支配度上昇値 += LOCAL:1 * 15

;-------------------------------------------------
;感応のソース
;-------------------------------------------------
@CALC_SOURCE24(ARG:0)
LOCAL:0 = SOURCE:(ARG:0):感応
LOCAL:1 = SOURCE:(ARG:0):感応
LOCAL:2 = SOURCE:(ARG:0):感応
LOCAL:3 = SOURCE:(ARG:0):感応

LOCAL:0 = CALC_SOURCE_YOKUBOU(ARG:0, LOCAL:0)

SELECTCASE ABL:(ARG:0):欲望
	CASE 0
		TIMES LOCAL:1, 1.00
		TIMES LOCAL:2, 1.00
		TIMES LOCAL:3, 1.00
	CASE 1
		TIMES LOCAL:1, 0.85
		TIMES LOCAL:2, 0.85
		TIMES LOCAL:3, 0.85
	CASE 2
		TIMES LOCAL:1, 0.70
		TIMES LOCAL:2, 0.70
		TIMES LOCAL:3, 0.70
	CASE 3
		TIMES LOCAL:1, 0.40
		TIMES LOCAL:2, 0.40
		TIMES LOCAL:3, 0.40
	CASE 4
		TIMES LOCAL:1, 0.30
		TIMES LOCAL:2, 0.30
		TIMES LOCAL:3, 0.30
	CASEELSE
		LOCAL:1 = LOCAL:1 * 2 / (ABL:(ARG:0):欲望 + 15)
		LOCAL:2 = LOCAL:2 * 2 / (ABL:(ARG:0):欲望 + 15)
		LOCAL:3 = LOCAL:3 * 2 / (ABL:(ARG:0):欲望 + 15)
ENDSELECT

IF TALENT:(ARG:0):好奇心
	TIMES LOCAL:0, 1.50
	TIMES LOCAL:1, 0.50
	TIMES LOCAL:2, 0.50
ENDIF

IF TALENT:(ARG:0):保守的
	TIMES LOCAL:0, 0.75
	TIMES LOCAL:1, 1.50
ENDIF

IF TALENT:(ARG:0):無関心
	TIMES LOCAL:0, 0.30
	TIMES LOCAL:1, 0.30
	TIMES LOCAL:2, 0.30
	TIMES LOCAL:3, 0.30
ENDIF

IF TALENT:(ARG:0):孤高
	TIMES LOCAL:1, 1.50
	TIMES LOCAL:2, 1.50
ENDIF

IF TALENT:(ARG:0):抑圧
	TIMES LOCAL:2, 2.00
ENDIF

IF TALENT:(ARG:0):快感の否定
	TIMES LOCAL:1, 1.30
	TIMES LOCAL:3, 1.30
ENDIF

IF !(TALENT:(ARG:0):孤高 || TALENT:(ARG:0):抑圧 || TALENT:(ARG:0):快感の否定)
	LOCAL:2 = 0
ENDIF

CUP:(ARG:0):欲情 += LOCAL:0
CUP:(ARG:0):怒主 += LOCAL:1 / 6
CUP:(ARG:0):哀主 += LOCAL:2 / 4
CUP:(ARG:0):怖主 += LOCAL:3 / 8

;-------------------------------------------------
;解消のソース
;-------------------------------------------------
@CALC_SOURCE25(ARG:0)
LOCAL:0 = SOURCE:(ARG:0):解消

LOCAL:5 = MAX(PALAM:(ARG:0):怒外, PALAM:(ARG:0):哀外, PALAM:(ARG:0):怖外)

IF LOCAL:5 == PALAM:(ARG:0):怒外
	CUP:(ARG:0):怒外 -= LOCAL:0
ELSEIF LOCAL:5 == PALAM:(ARG:0):哀外
	CUP:(ARG:0):哀外 -= LOCAL:0
ELSE
	CUP:(ARG:0):怖外 -= LOCAL:0
ENDIF

;好感度上昇
TCVAR:(ARG:0):好感度上昇値 += LOCAL:0 * 100 / 15

;依存度上昇
TCVAR:(ARG:0):依存度上昇値 += LOCAL:0 * 100 / 15

;ムードの上昇
TFLAG:ムード += LOCAL:0 / 100
TCVAR:(ARG:0):HOムード値 += LOCAL:0 / 100

;-------------------------------------------------
;歓喜のソース
;-------------------------------------------------
@CALC_SOURCE26(ARG:0)
LOCAL:0 = SOURCE:(ARG:0):歓喜

CUP:(ARG:0):怒主 -= LOCAL:0
CUP:(ARG:0):哀主 -= LOCAL:0
CUP:(ARG:0):怖主 -= LOCAL:0

;-------------------------------------------------
;触手のソース
;-------------------------------------------------
@CALC_SOURCE27(ARG:0)
LOCAL:0 = SOURCE:(ARG:0):触手
LOCAL:1 = SOURCE:(ARG:0):触手 * 2
LOCAL:2 = SOURCE:(ARG:0):触手

SELECTCASE ABL:(ARG:0):触手
	CASE 0
		TIMES LOCAL:0, 1.00
		TIMES LOCAL:1, 1.00
		TIMES LOCAL:2, 0.05
	CASE 1
		TIMES LOCAL:0, 0.80
		TIMES LOCAL:1, 0.90
		TIMES LOCAL:2, 0.15
	CASE 2
		TIMES LOCAL:0, 0.50
		TIMES LOCAL:1, 0.65
		TIMES LOCAL:2, 0.40
	CASE 3
		TIMES LOCAL:0, 0.20
		TIMES LOCAL:1, 0.40
		TIMES LOCAL:2, 0.70
	CASE 4
		TIMES LOCAL:0, 0.05
		TIMES LOCAL:1, 0.20
		TIMES LOCAL:2, 1.00
	CASEELSE
		LOCAL:0 = LOCAL:0 / ((ABL:(ARG:0):触手 - 5) * 100 + 500)
		LOCAL:1 = LOCAL:1 / ((ABL:(ARG:0):触手 - 5) * 50 + 150)
		LOCAL:2 = LOCAL:2 * ((ABL:(ARG:0):触手 - 5) * 10 + 180) / 100
ENDSELECT

SELECTCASE ABL:(ARG:0):欲望
	CASE 0
		TIMES LOCAL:0, 1.00
	CASE 1
		TIMES LOCAL:0, 0.95
	CASE 2
		TIMES LOCAL:0, 0.90
	CASE 3
		TIMES LOCAL:0, 0.80
	CASE 4
		TIMES LOCAL:0, 0.70
	CASEELSE
		LOCAL:0 = LOCAL:0 * 10 / ((ABL:(ARG:0):欲望 - 5) * 3 + 18)
ENDSELECT

LOCAL:5 = ABL:(ARG:0):倒錯度
IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_マゾ) || LOCAL:5 >= 800
	TIMES LOCAL:0, 0.30
	TIMES LOCAL:1, 0.30
	TIMES LOCAL:2, 1.80
ELSEIF LOCAL:5 >= 500
	TIMES LOCAL:0, 0.50
	TIMES LOCAL:1, 0.50
	TIMES LOCAL:2, 1.50
ELSEIF LOCAL:5 >= 300
	TIMES LOCAL:0, 0.70
	TIMES LOCAL:1, 0.70
	TIMES LOCAL:2, 1.30
ELSEIF LOCAL:5 >= 100
	TIMES LOCAL:0, 0.90
	TIMES LOCAL:1, 0.90
	TIMES LOCAL:2, 1.10
ELSE
	TIMES LOCAL:0, 1.00
	TIMES LOCAL:1, 1.00
	TIMES LOCAL:2, 1.00
ENDIF

CUP:(ARG:0):怒主 += LOCAL:0
CUP:(ARG:0):哀主 += LOCAL:0 / 2
CUP:(ARG:0):怖主 += LOCAL:1
CUP:(ARG:0):欲情 += CALC_SOURCE_YOKUBOU(ARG:0, LOCAL:2)

;-------------------------------------------------
;主導のソース
;-------------------------------------------------
@CALC_SOURCE28(ARG:0)
;主導度が低いと「悲」が上がる
LOCAL:0 = SOURCE:(ARG:0):主導
LOCAL:1 = SOURCE:(ARG:0):主導
LOCAL:2 = SOURCE:(ARG:0):主導

LOCAL:5 = ABL:(ARG:0):主導度Ｎ
IF LOCAL:5 >= 500 || GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_サド)
	TIMES LOCAL:0, 1.50
	TIMES LOCAL:1, 1.00
	TIMES LOCAL:2, 1.50
ELSEIF LOCAL:5 >= 300
	TIMES LOCAL:0, 1.00
	TIMES LOCAL:1, 0.60
	TIMES LOCAL:2, 1.30
ELSEIF LOCAL:5 >= 100
	TIMES LOCAL:0, 0.50
	TIMES LOCAL:1, 0.30
	TIMES LOCAL:2, 1.10
ELSEIF LOCAL:5 > -100
	TIMES LOCAL:0, 0.00
	TIMES LOCAL:1, 0.00
	TIMES LOCAL:2, 1.00
ELSEIF LOCAL:5 > -300
	TIMES LOCAL:0, 0.00
	TIMES LOCAL:1, 0.50
	TIMES LOCAL:2, 0.90
	LOCAL:1 *= -1
ELSEIF LOCAL:5 > -500
	TIMES LOCAL:0, 0.00
	TIMES LOCAL:1, 1.00
	TIMES LOCAL:2, 0.80
	LOCAL:1 *= -1
ELSE
	TIMES LOCAL:0, 0.00
	TIMES LOCAL:1, 1.50
	TIMES LOCAL:2, 0.70
	LOCAL:1 *= -1
ENDIF

IF TALENT:(ARG:0):主人
	TIMES LOCAL:0, 1.30
	TIMES LOCAL:1, 1.30
ENDIF
IF TALENT:(ARG:0):所有者
	TIMES LOCAL:0, 1.30
	TIMES LOCAL:1, 1.30
ENDIF

CUP:(ARG:0):怒主 -= LOCAL:0
CUP:(ARG:0):哀主 -= LOCAL:1

;好感度上昇
TCVAR:(ARG:0):好感度上昇値 += (LOCAL:0 + LOCAL:1)

;従属度減少
TCVAR:(ARG:0):従属度減少値 += LOCAL:2 * 2

;支配度上昇
TCVAR:(ARG:0):支配度上昇値 += (LOCAL:0 + LOCAL:1) * 2

;-------------------------------------------------
;受動のソース
;-------------------------------------------------
@CALC_SOURCE29(ARG:0)
;主導度が高いと「怒」が上がる
LOCAL:0 = SOURCE:(ARG:0):受動
LOCAL:1 = SOURCE:(ARG:0):受動
LOCAL:2 = SOURCE:(ARG:0):受動

LOCAL:5 = ABL:(ARG:0):主導度Ｎ
IF LOCAL:5 <= -500 || GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_マゾ)
	TIMES LOCAL:0, 1.50
	TIMES LOCAL:1, 1.00
	TIMES LOCAL:2, 1.50
ELSEIF LOCAL:5 <= -300
	TIMES LOCAL:0, 1.00
	TIMES LOCAL:1, 0.60
	TIMES LOCAL:2, 1.30
ELSEIF LOCAL:5 <= -100
	TIMES LOCAL:0, 0.50
	TIMES LOCAL:1, 0.30
	TIMES LOCAL:2, 1.10
ELSEIF LOCAL:5 < 100
	TIMES LOCAL:0, 0.00
	TIMES LOCAL:1, 0.00
	TIMES LOCAL:2, 1.00
ELSEIF LOCAL:5 < 300
	TIMES LOCAL:0, 0.00
	TIMES LOCAL:1, 0.50
	TIMES LOCAL:2, 0.90
	LOCAL:1 *= -1
ELSEIF LOCAL:5 < 500
	TIMES LOCAL:0, 0.00
	TIMES LOCAL:1, 1.00
	TIMES LOCAL:2, 0.80
	LOCAL:1 *= -1
ELSE
	TIMES LOCAL:0, 0.00
	TIMES LOCAL:1, 1.50
	TIMES LOCAL:2, 0.70
	LOCAL:1 *= -1
ENDIF

CUP:(ARG:0):怒主 -= LOCAL:1
CUP:(ARG:0):哀主 -= LOCAL:0

;好感度上昇
TCVAR:(ARG:0):好感度上昇値 += (LOCAL:0 + LOCAL:1) * 2

;従属度上昇
TCVAR:(ARG:0):従属度上昇値 += LOCAL:2 * 2

;支配度減少
TCVAR:(ARG:0):支配度減少値 += LOCAL:2 / 3

;-------------------------------------------------
;中毒充足のソース
;-------------------------------------------------
@CALC_SOURCE30(ARG:0)
LOCAL:0 = SOURCE:(ARG:0):中毒充足 * 5
LOCAL:1 = SOURCE:(ARG:0):中毒充足

LOCAL:0 = CALC_SOURCE_YOKUBOU(ARG:0, LOCAL:0)

CUP:(ARG:0):欲情 += LOCAL:0
CUP:(ARG:0):怒主 -= LOCAL:1
CUP:(ARG:0):哀主 -= LOCAL:1
CUP:(ARG:0):怖主 -= LOCAL:1 * 2 / 3

;好感度上昇
TCVAR:(ARG:0):好感度上昇値 += LOCAL:1 / 6

;依存度上昇
TCVAR:(ARG:0):依存度上昇値 += LOCAL:1 / 2

;-------------------------------------------------
;悲哀のソース
;-------------------------------------------------
@CALC_SOURCE31(ARG:0)
LOCAL:0 = SOURCE:(ARG:0):悲哀

CUP:(ARG:0):怒主 += LOCAL:0 / 5
CUP:(ARG:0):哀主 += LOCAL:0

;好感度減少
TCVAR:(ARG:0):好感度減少値 += LOCAL:0 / 5

;依存度減少
TCVAR:(ARG:0):依存度減少値 += LOCAL:0 / 3

;従属度減少
TCVAR:(ARG:0):従属度減少値 += LOCAL:0 / 5

;支配度減少
TCVAR:(ARG:0):支配度減少値 += LOCAL:0 / 6

;-------------------------------------------------
;不満のソース
;-------------------------------------------------
@CALC_SOURCE32(ARG:0)
LOCAL:0 = SOURCE:(ARG:0):不満

CUP:(ARG:0):怒主 += LOCAL:0 / 10
CUP:(ARG:0):哀主 += LOCAL:0 / 10

;好感度減少
TCVAR:(ARG:0):好感度減少値 += LOCAL:0

;依存度減少
TCVAR:(ARG:0):依存度減少値 += LOCAL:0 / 2

;従属度減少
TCVAR:(ARG:0):従属度減少値 += LOCAL:0 / 3

;支配度減少
TCVAR:(ARG:0):支配度減少値 += LOCAL:0 / 4

;-------------------------------------------------
;性行動のソース
;-------------------------------------------------
@CALC_SOURCE33(ARG:0)
LOCAL:0 = SOURCE:(ARG:0):性行動
LOCAL:1 = SOURCE:(ARG:0):性行動
LOCAL:2 = SOURCE:(ARG:0):性行動
LOCAL:3 = SOURCE:(ARG:0):性行動

SELECTCASE ABL:(ARG:0):欲望
	CASE 0
		TIMES LOCAL:0, 1.00
		TIMES LOCAL:1, 1.00
	CASE 1
		TIMES LOCAL:0, 0.90
		TIMES LOCAL:1, 0.80
	CASE 2
		TIMES LOCAL:0, 0.75
		TIMES LOCAL:1, 0.50
	CASE 3
		TIMES LOCAL:0, 0.60
		TIMES LOCAL:1, 0.25
	CASE 4
		TIMES LOCAL:0, 0.50
		TIMES LOCAL:1, 0.10
	CASEELSE
		LOCAL:0 = LOCAL:0 * 4 / (ABL:(ARG:0):欲望 + 5)
		LOCAL:1 = LOCAL:1 / ((ABL:(ARG:0):欲望 + 5) * 2)
ENDSELECT

;親密度と依存度の大きい方を見る
LOCAL:5 = MAX(CFLAG:(ARG:0):好感度, CFLAG:(ARG:0):依存度)
IF LOCAL:5 < 100
	TIMES LOCAL:0, 1.00
	TIMES LOCAL:1, 1.00
	TIMES LOCAL:2, 1.00
ELSEIF LOCAL:5 < 300
	TIMES LOCAL:0, 0.90
	TIMES LOCAL:1, 0.90
	TIMES LOCAL:2, 0.90
ELSEIF LOCAL:5 < 500
	TIMES LOCAL:0, 0.70
	TIMES LOCAL:1, 0.70
	TIMES LOCAL:2, 0.80
ELSEIF LOCAL:5 < 800
	TIMES LOCAL:0, 0.50
	TIMES LOCAL:1, 0.50
	TIMES LOCAL:2, 0.60
ELSEIF LOCAL:5 < 1500
	TIMES LOCAL:0, 0.20
	TIMES LOCAL:1, 0.20
	TIMES LOCAL:2, 0.50
ELSEIF LOCAL:5 < 3000
	TIMES LOCAL:0, 0.10
	TIMES LOCAL:1, 0.10
	TIMES LOCAL:2, 0.40
ELSE
	TIMES LOCAL:0, 0.05
	TIMES LOCAL:1, 0.05
	TIMES LOCAL:2, 0.30
ENDIF

IF TALENT:(ARG:0):快感の否定
	TIMES LOCAL:0, 1.50
	TIMES LOCAL:2, 1.50
ENDIF

IF TALENT:(ARG:0):保守的
	TIMES LOCAL:0, 1.50
	TIMES LOCAL:2, 1.50
ENDIF

IF TALENT:(ARG:0):好奇心
	TIMES LOCAL:0, 0.80
	TIMES LOCAL:2, 0.80
ENDIF

IF TALENT:(ARG:0):プライド高い
	TIMES LOCAL:0, 1.20
ELSEIF TALENT:(ARG:0):プライド低い
	TIMES LOCAL:0, 0.80
ENDIF

IF TALENT:(ARG:0):親愛
	TIMES LOCAL:0, 0.20
	TIMES LOCAL:1, 0.50
	TIMES LOCAL:2, 0.20
ELSEIF TALENT:(ARG:0):恋慕
	TIMES LOCAL:0, 0.40
	TIMES LOCAL:1, 0.75
	TIMES LOCAL:2, 0.40
ENDIF

IF TALENT:(ARG:0):恋人
	TIMES LOCAL:0, 0.70
	TIMES LOCAL:1, 0.80
	TIMES LOCAL:2, 0.70
ENDIF

IF TALENT:(ARG:0):隷属
	TIMES LOCAL:0, 0.20
	TIMES LOCAL:2, 0.10
ELSEIF TALENT:(ARG:0):服従
	TIMES LOCAL:0, 0.40
	TIMES LOCAL:2, 0.25
ENDIF

IF TALENT:(ARG:0):烙印
	TIMES LOCAL:0, 0.70
	TIMES LOCAL:2, 0.70
ENDIF

IF IS_FALLEN_TO_SP_COUNTRY(ARG:0)
	TIMES LOCAL:0, 0.20
	TIMES LOCAL:1, 0.50
	TIMES LOCAL:2, 0.30
ENDIF

IF TALENT:(ARG:0):合意
	TIMES LOCAL:0, 0.40
	TIMES LOCAL:1, 0.50
	TIMES LOCAL:2, 0.40
ELSE
	IF TALENT:(ARG:0):貞操観念
		TIMES LOCAL:0, 1.50
		TIMES LOCAL:2, 1.50
	ENDIF
	IF TALENT:(ARG:0):貞操無頓着
		TIMES LOCAL:0, 0.75
		TIMES LOCAL:2, 0.75
	ENDIF
ENDIF

IF TALENT:(ARG:0):性別 == 0
	TIMES LOCAL:0, 0.50
	TIMES LOCAL:1, 0.50
ELSEIF GROUPMATCH(TALENT:(ARG:0):性別, 3, 4, 5)
	TIMES LOCAL:0, 0.80
	TIMES LOCAL:1, 0.80
ENDIF

;桃源香使用中
IF TFLAG:桃源香使用中
	TIMES LOCAL:0, 0.80
	TIMES LOCAL:1, 0.90
	TIMES LOCAL:2, 0.80
ENDIF

IF ABL:(ARG:0):性知識 == 0
	LOCAL:0 = 0
ENDIF

IF !TALENT:(ARG:0):孤高 && !TALENT:(ARG:0):抑圧
	LOCAL:2 = 0
ENDIF

CUP:(ARG:0):欲情 += CALC_SOURCE_YOKUBOU(ARG:0, LOCAL:3 / 2)

CUP:(ARG:0):怒主 += LOCAL:0
CUP:(ARG:0):哀主 += LOCAL:0
CUP:(ARG:0):怖主 += LOCAL:1

;好感度減少
TCVAR:(ARG:0):好感度減少値 += LOCAL:0

;依存度減少
TCVAR:(ARG:0):依存度減少値 += LOCAL:2 / 3

;従属度減少
TCVAR:(ARG:0):従属度減少値 += LOCAL:2 / 2

;支配度減少
TCVAR:(ARG:0):支配度減少値 += LOCAL:2 / 2

;-------------------------------------------------
;液体追加のソース
;-------------------------------------------------
@CALC_SOURCE40(ARG:0)
LOCAL:0 = SOURCE:(ARG:0):液体追加

CUP:(ARG:0):潤滑 += LOCAL:0

;-------------------------------------------------
;欲情追加のソース
;-------------------------------------------------
@CALC_SOURCE41(ARG:0)
LOCAL:0 = SOURCE:(ARG:0):欲情追加

CUP:(ARG:0):欲情 += LOCAL:0

;-------------------------------------------------
;酔い追加のソース
;-------------------------------------------------
@CALC_SOURCE50(ARG:0)
LOCAL:0 = SOURCE:(ARG:0):酔い追加

IF TALENT:(ARG:0):酒豪
	TIMES LOCAL:0, 0.8
ELSEIF TALENT:(ARG:0):下戸
	TIMES LOCAL:0, 1.2
ELSE
	IF TALENT:(ARG:0):幼児
		TIMES LOCAL:0, 3.00
	ELSEIF TALENT:(ARG:0):体格 == 体格_小柄
		TIMES LOCAL:0, 1.50
	ENDIF
ENDIF

CUP:(ARG:0):酔い += LOCAL:0

;-------------------------------------------------
;薬物追加のソース
;-------------------------------------------------
@CALC_SOURCE52(ARG:0)
LOCAL:0 = SOURCE:(ARG:0):薬物追加
IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_薬物中毒)
	TIMES LOCAL:0, 0.50
ELSE
	IF TALENT:(ARG:0):幼児
		TIMES LOCAL:0, 3.00
	ELSEIF TALENT:(ARG:0):体格 == 体格_小柄
		TIMES LOCAL:0, 1.50
	ENDIF
ENDIF

CUP:(ARG:0):薬物 += LOCAL:0
;-------------------------------------------------
;欲望による欲情の共通補正 ARG:0=キャラ番号、ARG:1=欲情上昇の基本値
;-------------------------------------------------
@CALC_SOURCE_YOKUBOU(ARG:0, ARG:1)
#FUNCTION
LOCAL:0 = ARG:1

;媚薬使用中
IF TCVAR:(ARG:0):媚薬
	TIMES LOCAL:0, 2.00
ENDIF

;桃源香使用中
IF TFLAG:桃源香使用中
	TIMES LOCAL:0, 1.25
ENDIF

SELECTCASE ABL:(ARG:0):欲望
	CASE 0
		TIMES LOCAL:0, 0.40
	CASE 1
		TIMES LOCAL:0, 0.80
	CASE 2
		TIMES LOCAL:0, 1.60
	CASE 3
		TIMES LOCAL:0, 2.50
	CASE 4
		TIMES LOCAL:0, 4.00
	CASEELSE
		LOCAL:0 = LOCAL:0 * ((ABL:(ARG:0):欲望 - 5) * 2 + 60) / 10
ENDSELECT
RETURNF LOCAL:0

;-------------------------------------------------
;対応する感覚レベルによる快楽ソースへの補正
;ARG:0=感覚の値
;ARG:1=現在の快感ソース
;-------------------------------------------------
@CALC_SOURCE_SENSE_BASE(ARG:0, ARG:1)
#FUNCTION
LOCAL:0 = ARG:1
LOCAL:1 = ARG:1
SELECTCASE ARG:0
	CASE 0
		TIMES LOCAL:0, 0.6
	CASE 1
		TIMES LOCAL:0, 0.8
	CASE 2
		TIMES LOCAL:0, 1.0
	CASE 3
		TIMES LOCAL:0, 1.5
	CASE 4
		TIMES LOCAL:0, 2.0
	CASEELSE
		;LOCAL:0 = LOCAL:0 * ((ARG:0 - 4) * 80 + 200) / 100
		LOCAL:0 = LOCAL:0 * ((ARG:0 - 4) / 3 * 10 + 240) / 100
ENDSELECT
RETURNF LOCAL:0
;-------------------------------------------------
;欲情による快感量の共通補正 ARG:0=キャラ番号、ARG:1=欲情上昇の基本値
;-------------------------------------------------
@CALC_SOURCE_SENSE_ESTRUS(ARG:0, ARG:1)
#FUNCTION
LOCAL:0 = ARG:1
IF PALAM:(ARG:0):欲情 < PALAMLV:1
	TIMES LOCAL:0, 0.30
ELSEIF PALAM:(ARG:0):欲情 < PALAMLV:2
	TIMES LOCAL:0, 0.40
ELSEIF PALAM:(ARG:0):欲情 < PALAMLV:3
	TIMES LOCAL:0, 0.60
ELSEIF PALAM:(ARG:0):欲情 < PALAMLV:4
	TIMES LOCAL:0, 0.80
ELSEIF PALAM:(ARG:0):欲情 < PALAMLV:5
	TIMES LOCAL:0, 1.00
ELSEIF PALAM:(ARG:0):欲情 < PALAMLV:6
	TIMES LOCAL:0, 1.05
ELSEIF PALAM:(ARG:0):欲情 < PALAMLV:7
	TIMES LOCAL:0, 1.10
ELSEIF PALAM:(ARG:0):欲情 < PALAMLV:8
	TIMES LOCAL:0, 1.20
ELSEIF PALAM:(ARG:0):欲情 < PALAMLV:9
	TIMES LOCAL:0, 1.30
ELSE
	TIMES LOCAL:0, 1.40
ENDIF
RETURNF LOCAL:0

;-------------------------------------------------
;噴乳上昇量の共通補正 ARG:0=キャラ番号、ARG:1=噴乳上昇の基本値
;-------------------------------------------------
@CALC_SOURCE_MILK(ARG:0, ARG:1)
#FUNCTION
LOCAL:0 = ARG:1
SELECTCASE ABL:(ARG:0):噴乳
	CASE 0
		TIMES LOCAL:0, 1.00
	CASE 1
		TIMES LOCAL:0, 1.15
	CASE 2
		TIMES LOCAL:0, 1.30
	CASE 3
		TIMES LOCAL:0, 1.50
	CASE 4
		TIMES LOCAL:0, 2.0
	CASEELSE
		LOCAL:0 = LOCAL:0 * MIN(ABL:(ARG:0):噴乳 * 50, 1000) / 100
ENDSELECT
SIF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_雌牛)
	TIMES LOCAL, 1.5
RETURNF LOCAL:0


code:
;MASTER専用のソース計算

;-------------------------------------------------
;快Ｃのソース
;-------------------------------------------------
@CALC_SOURCE_MASTER0(ARG:0)
CALL CALC_SOURCE0(ARG:0)
; LOCAL:0 = SOURCE:(ARG:0):快Ｃ
; LOCAL:5 = SOURCE:(ARG:0):快Ｃ
; LOCAL:6 = SOURCE:(ARG:0):快Ｃ

; SELECTCASE ABL:(ARG:0):Ｃ感
; 	CASE 0
; 		TIMES LOCAL:0, 0.04
; 		TIMES LOCAL:5, 0.70
; 	CASE 1
; 		TIMES LOCAL:0, 0.20
; 		TIMES LOCAL:5, 0.85
; 	CASE 2
; 		TIMES LOCAL:0, 1.00
; 		TIMES LOCAL:5, 1.00
; 	CASE 3
; 		TIMES LOCAL:0, 2.30
; 		TIMES LOCAL:5, 1.15
; 	CASE 4
; 		TIMES LOCAL:0, 4.00
; 		TIMES LOCAL:5, 1.30
; 	CASEELSE
; 		LOCAL:0 = LOCAL:0 * ((ABL:(ARG:0):Ｃ感 - 5) * 50 + 550) / 100
; 		LOCAL:5 = LOCAL:5 * ((ABL:(ARG:0):Ｃ感 - 5) * 10 + 140) / 100
; ENDSELECT

; IF TALENT:(ARG:0):Ｃ敏感
; 	TIMES LOCAL:0, 2.00
; 	TIMES LOCAL:5, 1.50
; ENDIF

; IF TALENT:(ARG:0):Ｃ鈍感
; 	TIMES LOCAL:0, 0.50
; 	TIMES LOCAL:5, 0.75
; ENDIF

; IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_淫核)
; 	TIMES LOCAL:0, 1.50
; 	TIMES LOCAL:5, 1.50
; ENDIF

; ;媚薬使用中
; IF TCVAR:(ARG:0):媚薬
; 	TIMES LOCAL:0, 2.50
; 	TIMES LOCAL:5, 2.00
; ENDIF

; ;桃源香使用中
; IF TFLAG:桃源香使用中
; 	TIMES LOCAL:0, 1.25
; 	TIMES LOCAL:5, 1.25
; ENDIF

; ;体力0による行動不能
; IF TCVAR:(ARG:0):行動不能フラグ
; 	TIMES LOCAL:0, 0.20
; 	TIMES LOCAL:5, 0.20
; ENDIF

; ;気力0による失神中
; IF TCVAR:(ARG:0):失神フラグ
; 	TIMES LOCAL:0, 0.20
; 	TIMES LOCAL:5, 0.20
; ENDIF

; IF HAS_PENIS(ARG:0)
; 	CUP:(ARG:0):射精 += LOCAL:5 / 5
; ENDIF

; IF HAS_VAGINA(ARG:0)
; 	CUP:(ARG:0):潤滑 += LOCAL:5 / 3
; ENDIF

; CUP:(ARG:0):快Ｃ += LOCAL:0
; CUP:(ARG:0):潮吹き += SQRT(LOCAL:0 * 400)

;-------------------------------------------------
;快Ｐのソース
;-------------------------------------------------
@CALC_SOURCE_MASTER9(ARG:0)
CALL CALC_SOURCE9(ARG:0)
; LOCAL:0 = SOURCE:(ARG:0):快Ｐ
; LOCAL:5 = SOURCE:(ARG:0):快Ｐ

; SELECTCASE ABL:(ARG:0):Ｃ感
; 	CASE 0
; 		TIMES LOCAL:0, 0.04
; 		TIMES LOCAL:5, 0.70
; 	CASE 1
; 		TIMES LOCAL:0, 0.20
; 		TIMES LOCAL:5, 0.85
; 	CASE 2
; 		TIMES LOCAL:0, 1.00
; 		TIMES LOCAL:5, 1.00
; 	CASE 3
; 		TIMES LOCAL:0, 2.30
; 		TIMES LOCAL:5, 1.15
; 	CASE 4
; 		TIMES LOCAL:0, 4.00
; 		TIMES LOCAL:5, 1.30
; 	CASEELSE
; 		LOCAL:0 = LOCAL:0 * ((ABL:(ARG:0):Ｃ感 - 5) * 50 + 550) / 100
; 		LOCAL:5 = LOCAL:5 * ((ABL:(ARG:0):Ｃ感 - 5) * 10 + 140) / 100
; ENDSELECT

; IF TALENT:(ARG:0):Ｃ敏感
; 	TIMES LOCAL:0, 2.00
; 	TIMES LOCAL:5, 1.50
; 	TIMES LOCAL:6, 1.50
; ENDIF

; IF TALENT:(ARG:0):Ｃ鈍感
; 	TIMES LOCAL:0, 0.50
; 	TIMES LOCAL:5, 0.75
; 	TIMES LOCAL:6, 0.75
; ENDIF

; IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_淫核)
; 	TIMES LOCAL:0, 1.50
; 	TIMES LOCAL:5, 1.50
; 	TIMES LOCAL:6, 1.50
; ENDIF

; ;媚薬使用中
; IF TCVAR:(ARG:0):媚薬
; 	TIMES LOCAL:0, 2.50
; 	TIMES LOCAL:5, 2.00
; ENDIF

; ;桃源香使用中
; IF TFLAG:桃源香使用中
; 	TIMES LOCAL:0, 1.25
; 	TIMES LOCAL:5, 1.25
; ENDIF

; ;体力0による行動不能
; IF TCVAR:(ARG:0):行動不能フラグ
; 	TIMES LOCAL:0, 0.20
; 	TIMES LOCAL:5, 0.20
; ENDIF

; ;気力0による失神中
; IF TCVAR:(ARG:0):失神フラグ
; 	TIMES LOCAL:0, 0.20
; 	TIMES LOCAL:5, 0.20
; ENDIF

; IF HAS_PENIS(ARG:0)
; 	CUP:(ARG:0):射精 += LOCAL:5
; ENDIF

; IF HAS_VAGINA(ARG:0)
; 	CUP:(ARG:0):潤滑 += LOCAL:5 / 3
; ENDIF

; CUP:(ARG:0):快Ｃ += LOCAL:0 / 15

;-------------------------------------------------
;快Ｖのソース
;-------------------------------------------------
@CALC_SOURCE_MASTER1(ARG:0)
CALL CALC_SOURCE1(ARG:0)
; LOCAL:0 = SOURCE:(ARG:0):快Ｖ
; LOCAL:5 = SOURCE:(ARG:0):快Ｖ

; SELECTCASE ABL:(ARG:0):Ｖ感
; 	CASE 0
; 		TIMES LOCAL:0, 0.08
; 		TIMES LOCAL:5, 0.60
; 	CASE 1
; 		TIMES LOCAL:0, 0.30
; 		TIMES LOCAL:5, 0.80
; 	CASE 2
; 		TIMES LOCAL:0, 1.40
; 		TIMES LOCAL:5, 1.00
; 	CASE 3
; 		TIMES LOCAL:0, 3.00
; 		TIMES LOCAL:5, 1.20
; 	CASE 4
; 		TIMES LOCAL:0, 5.00
; 		TIMES LOCAL:5, 1.40
; 	CASEELSE
; 		LOCAL:0 = LOCAL:0 * ((ABL:(ARG:0):Ｖ感 - 5) * 60 + 600) / 100
; 		LOCAL:5 = LOCAL:5 * ((ABL:(ARG:0):Ｖ感 - 5) * 10 + 160) / 100
; ENDSELECT

; IF TALENT:(ARG:0):Ｖ敏感
; 	TIMES LOCAL:0, 2.00
; 	TIMES LOCAL:5, 1.50
; ENDIF

; IF TALENT:(ARG:0):Ｖ鈍感
; 	TIMES LOCAL:0, 0.50
; 	TIMES LOCAL:5, 0.75
; ENDIF

; IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_淫壷)
; 	TIMES LOCAL:0, 2.00
; ENDIF

; ;媚薬使用中
; IF TCVAR:(ARG:0):媚薬
; 	TIMES LOCAL:0, 2.50
; 	TIMES LOCAL:5, 2.00
; ENDIF

; ;桃源香使用中
; IF TFLAG:桃源香使用中
; 	TIMES LOCAL:0, 1.25
; 	TIMES LOCAL:5, 1.25
; ENDIF

; ;体力0による行動不能
; IF TCVAR:(ARG:0):行動不能フラグ
; 	TIMES LOCAL:0, 0.20
; 	TIMES LOCAL:5, 0.20
; ENDIF

; ;気力0による失神中
; IF TCVAR:(ARG:0):失神フラグ
; 	TIMES LOCAL:0, 0.20
; 	TIMES LOCAL:5, 0.20
; ENDIF

; CUP:(ARG:0):快Ｖ += LOCAL:0
; CUP:(ARG:0):潮吹き += SQRT(LOCAL:0 * 400)

; IF HAS_PENIS(ARG:0)
; 	CUP:(ARG:0):射精 += LOCAL:5 / 2
; ENDIF

; IF HAS_VAGINA(ARG:0)
; 	CUP:(ARG:0):潤滑 += LOCAL:5 / 3
; ENDIF

;-------------------------------------------------
;快Ａのソース
;-------------------------------------------------
@CALC_SOURCE_MASTER2(ARG:0)
CALL CALC_SOURCE2(ARG:0)

; LOCAL:0 = SOURCE:(ARG:0):快Ａ
; LOCAL:5 = SOURCE:(ARG:0):快Ａ

; SELECTCASE ABL:(ARG:0):Ａ感
; 	CASE 0
; 		TIMES LOCAL:0, 0.04
; 		TIMES LOCAL:5, 0.60
; 	CASE 1
; 		TIMES LOCAL:0, 0.20
; 		TIMES LOCAL:5, 0.80
; 	CASE 2
; 		TIMES LOCAL:0, 0.80
; 		TIMES LOCAL:5, 1.00
; 	CASE 3
; 		TIMES LOCAL:0, 2.60
; 		TIMES LOCAL:5, 1.20
; 	CASE 4
; 		TIMES LOCAL:0, 4.60
; 		TIMES LOCAL:5, 1.40
; 	CASEELSE
; 		LOCAL:0 = LOCAL:0 * ((ABL:(ARG:0):Ａ感 - 5) * 60 + 600) / 100
; 		LOCAL:5 = LOCAL:5 * ((ABL:(ARG:0):Ａ感 - 5) * 10 + 160) / 100
; ENDSELECT

; IF TALENT:(ARG:0):Ａ敏感
; 	TIMES LOCAL:0, 2.00
; 	TIMES LOCAL:5, 1.50
; ENDIF

; IF TALENT:(ARG:0):Ａ鈍感
; 	TIMES LOCAL:0, 0.50
; 	TIMES LOCAL:5, 0.75
; ENDIF

; IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_尻穴狂い)
; 	TIMES LOCAL:0, 1.50
; 	TIMES LOCAL:5, 1.50
; ENDIF

; ;媚薬使用中
; IF TCVAR:(ARG:0):媚薬
; 	TIMES LOCAL:0, 2.50
; 	TIMES LOCAL:5, 2.00
; ENDIF

; ;桃源香使用中
; IF TFLAG:桃源香使用中
; 	TIMES LOCAL:0, 1.25
; 	TIMES LOCAL:5, 1.25
; ENDIF

; ;体力0による行動不能
; IF TCVAR:(ARG:0):行動不能フラグ
; 	TIMES LOCAL:0, 0.20
; 	TIMES LOCAL:5, 0.20
; ENDIF

; ;気力0による失神中
; IF TCVAR:(ARG:0):失神フラグ
; 	TIMES LOCAL:0, 0.20
; 	TIMES LOCAL:5, 0.20
; ENDIF

; CUP:(ARG:0):快Ａ += LOCAL:0

; IF HAS_PENIS(ARG:0)
; 	CUP:(ARG:0):射精 += LOCAL:5 / 2
; ENDIF

; IF HAS_VAGINA(ARG:0)
; 	CUP:(ARG:0):潤滑 += LOCAL:5 / 3
; ENDIF

;-------------------------------------------------
;快Ｂのソース
;-------------------------------------------------
@CALC_SOURCE_MASTER3(ARG:0)
CALL CALC_SOURCE3(ARG:0)

; LOCAL:0 = SOURCE:(ARG:0):快Ｂ
; LOCAL:5 = SOURCE:(ARG:0):快Ｂ

; SELECTCASE ABL:(ARG:0):Ｂ感
; 	CASE 0
; 		TIMES LOCAL:0, 0.04
; 		TIMES LOCAL:5, 0.60
; 	CASE 1
; 		TIMES LOCAL:0, 0.20
; 		TIMES LOCAL:5, 0.80
; 	CASE 2
; 		TIMES LOCAL:0, 1.00
; 		TIMES LOCAL:5, 1.00
; 	CASE 3
; 		TIMES LOCAL:0, 2.30
; 		TIMES LOCAL:5, 1.20
; 	CASE 4
; 		TIMES LOCAL:0, 4.00
; 		TIMES LOCAL:5, 1.40
; 	CASEELSE
; 		LOCAL:0 = LOCAL:0 * ((ABL:(ARG:0):Ｂ感 - 5) * 50 + 550) / 100
; 		LOCAL:5 = LOCAL:5 * ((ABL:(ARG:0):Ｂ感 - 5) * 10 + 160) / 100
; ENDSELECT

; IF TALENT:(ARG:0):Ｂ敏感
; 	TIMES LOCAL:0, 2.00
; 	TIMES LOCAL:5, 1.50
; ENDIF

; IF TALENT:(ARG:0):Ｂ鈍感
; 	TIMES LOCAL:0, 0.50
; 	TIMES LOCAL:5, 0.75
; ENDIF

; IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_淫乳)
; 	TIMES LOCAL:0, 1.50
; 	TIMES LOCAL:5, 1.50
; ENDIF

; ;媚薬使用中
; IF TCVAR:(ARG:0):媚薬
; 	TIMES LOCAL:0, 2.50
; 	TIMES LOCAL:5, 2.00
; ENDIF

; ;桃源香使用中
; IF TFLAG:桃源香使用中
; 	TIMES LOCAL:0, 1.25
; 	TIMES LOCAL:5, 1.25
; ENDIF

; ;体力0による行動不能
; IF TCVAR:(ARG:0):行動不能フラグ
; 	TIMES LOCAL:0, 0.20
; 	TIMES LOCAL:5, 0.20
; ENDIF

; ;気力0による失神中
; IF TCVAR:(ARG:0):失神フラグ
; 	TIMES LOCAL:0, 0.20
; 	TIMES LOCAL:5, 0.20
; ENDIF

; CUP:(ARG:0):快Ｂ += LOCAL:0

; IF HAS_PENIS(ARG:0)
; 	CUP:(ARG:0):射精 += LOCAL:5 / 5
; ENDIF

; IF HAS_VAGINA(ARG:0)
; 	CUP:(ARG:0):潤滑 += LOCAL:5 / 3
; ENDIF

;-------------------------------------------------
;快Ｍのソース
;-------------------------------------------------
@CALC_SOURCE_MASTER4(ARG:0)
CALL CALC_SOURCE4(ARG:0)
; LOCAL:0 = SOURCE:(ARG:0):快Ｍ
; LOCAL:5 = SOURCE:(ARG:0):快Ｍ

; SELECTCASE ABL:(ARG:0):Ｍ感
; 	CASE 0
; 		TIMES LOCAL:0, 0.04
; 		TIMES LOCAL:5, 0.60
; 	CASE 1
; 		TIMES LOCAL:0, 0.20
; 		TIMES LOCAL:5, 0.80
; 	CASE 2
; 		TIMES LOCAL:0, 1.00
; 		TIMES LOCAL:5, 1.00
; 	CASE 3
; 		TIMES LOCAL:0, 2.30
; 		TIMES LOCAL:5, 1.20
; 	CASE 4
; 		TIMES LOCAL:0, 4.00
; 		TIMES LOCAL:5, 1.40
; 	CASEELSE
; 		LOCAL:0 = LOCAL:0 * ((ABL:(ARG:0):Ｍ感 - 5) * 50 + 550) / 100
; 		LOCAL:5 = LOCAL:5 * ((ABL:(ARG:0):Ｍ感 - 5) * 10 + 160) / 100
; ENDSELECT

; IF TALENT:(ARG:0):Ｍ敏感
; 	TIMES LOCAL:0, 2.00
; 	TIMES LOCAL:5, 1.50
; ENDIF

; IF TALENT:(ARG:0):Ｍ鈍感
; 	TIMES LOCAL:0, 0.50
; 	TIMES LOCAL:5, 0.75
; ENDIF

; IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_蕩唇)
; 	TIMES LOCAL:0, 1.50
; 	TIMES LOCAL:5, 1.50
; ENDIF

; ;媚薬使用中
; IF TCVAR:(ARG:0):媚薬
; 	TIMES LOCAL:0, 2.50
; 	TIMES LOCAL:5, 2.00
; ENDIF

; ;桃源香使用中
; IF TFLAG:桃源香使用中
; 	TIMES LOCAL:0, 1.25
; 	TIMES LOCAL:5, 1.25
; ENDIF

; ;体力0による行動不能
; IF TCVAR:(ARG:0):行動不能フラグ
; 	TIMES LOCAL:0, 0.20
; 	TIMES LOCAL:5, 0.20
; ENDIF

; ;気力0による失神中
; IF TCVAR:(ARG:0):失神フラグ
; 	TIMES LOCAL:0, 0.20
; 	TIMES LOCAL:5, 0.20
; ENDIF

; CUP:(ARG:0):快Ｍ += LOCAL:0

; IF HAS_PENIS(ARG:0)
; 	CUP:(ARG:0):射精 += LOCAL:5 / 5
; ENDIF

; IF HAS_VAGINA(ARG:0)
; 	CUP:(ARG:0):潤滑 += LOCAL:5 / 3
; ENDIF

;-------------------------------------------------
;快Ｕのソース
;-------------------------------------------------
@CALC_SOURCE_MASTER5(ARG:0)
CALL CALC_SOURCE5(ARG:0)
; LOCAL:0 = SOURCE:(ARG:0):快Ｕ
; LOCAL:5 = SOURCE:(ARG:0):快Ｕ

; SELECTCASE ABL:(ARG:0):Ｕ感
; 	CASE 0
; 		TIMES LOCAL:0, 0.04
; 		TIMES LOCAL:5, 0.60
; 	CASE 1
; 		TIMES LOCAL:0, 0.20
; 		TIMES LOCAL:5, 0.80
; 	CASE 2
; 		TIMES LOCAL:0, 1.00
; 		TIMES LOCAL:5, 1.00
; 	CASE 3
; 		TIMES LOCAL:0, 2.30
; 		TIMES LOCAL:5, 1.20
; 	CASE 4
; 		TIMES LOCAL:0, 4.00
; 		TIMES LOCAL:5, 1.40
; 	CASEELSE
; 		LOCAL:0 = LOCAL:0 * ((ABL:(ARG:0):Ｕ感 - 5) * 50 + 550) / 100
; 		LOCAL:5 = LOCAL:5 * ((ABL:(ARG:0):Ｕ感 - 5) * 10 + 160) / 100
; ENDSELECT

; IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_尿道狂い)
; 	TIMES LOCAL:0, 1.50
; 	TIMES LOCAL:5, 1.50
; ENDIF

; ;媚薬使用中
; IF TCVAR:(ARG:0):媚薬
; 	TIMES LOCAL:0, 2.50
; 	TIMES LOCAL:5, 2.00
; ENDIF

; ;桃源香使用中
; IF TFLAG:桃源香使用中
; 	TIMES LOCAL:0, 1.25
; 	TIMES LOCAL:5, 1.25
; ENDIF

; ;体力0による行動不能
; IF TCVAR:(ARG:0):行動不能フラグ
; 	TIMES LOCAL:0, 0.20
; 	TIMES LOCAL:5, 0.20
; ENDIF

; ;気力0による失神中
; IF TCVAR:(ARG:0):失神フラグ
; 	TIMES LOCAL:0, 0.20
; 	TIMES LOCAL:5, 0.20
; ENDIF

; CUP:(ARG:0):快Ｕ += LOCAL:0

; IF HAS_PENIS(ARG:0)
; 	CUP:(ARG:0):射精 += LOCAL:5 / 5
; ENDIF

; IF HAS_VAGINA(ARG:0)
; 	CUP:(ARG:0):潤滑 += LOCAL:5 / 3
; ENDIF

;-------------------------------------------------
;液体追加のソース
;-------------------------------------------------
@CALC_SOURCE_MASTER40(ARG:0)
CALL CALC_SOURCE40(ARG:0)
;-------------------------------------------------
;酔い追加のソース
;-------------------------------------------------
@CALC_SOURCE_MASTER50(ARG:0)
CALL CALC_SOURCE50(ARG:0)

; LOCAL:0 = SOURCE:(ARG:0):酔い追加

; IF TALENT:(ARG:0):酒豪
; 	TIMES LOCAL:0, 0.8
; ELSEIF TALENT:(ARG:0):下戸
; 	TIMES LOCAL:0, 1.2
; ELSE
; 	IF TALENT:(ARG:0):幼児
; 		TIMES LOCAL:0, 3.00
; 	ELSEIF TALENT:(ARG:0):体格 == 体格_小柄
; 		TIMES LOCAL:0, 1.50
; 	ENDIF
; ENDIF

; CUP:(ARG:0):酔い += LOCAL:0

repo_name: napo/erafl

license: unknown


code:
;SOURCE_CHECKで使用する関数(雑多なもの)

;-------------------------------------------------
;;; NPC間の好感度処理
;-------------------------------------------------
@LOVE_UP_CHECK_ANOTHER(FROM_ID, TO_ID)
; #region 好感度上昇の処理
#DIM FROM_ID
#DIM TO_ID

;;例外
;能力固定フラグが立っているなら処理しない
SIF CFLAG:FROM_ID:能力固定フラグ
    RETURN
;催眠術実行中はダメ
SIF TCVAR:FROM_ID:催眠中 > 0
    RETURN
;凌辱中は変動させない
SIF CFLAG:FROM_ID:凌辱被害者フラグ || CFLAG:TO_ID:凌辱被害者フラグ
    RETURN
;主人公は処理しない
SIF FROM_ID == MASTER || TO_ID == MASTER
    RETURN
;自勢力のキャラクター以外の関係性は保持しない
SIF CFLAG:FROM_ID:所属 != CFLAG:MASTER:所属  || CFLAG:TO_ID:所属 != CFLAG:MASTER:所属
    RETURN

VARI 好感度上昇量
VARI 好感度減少量
VARI 依存度上昇量
VARI 依存度減少量
VARI 従属度上昇量
VARI 従属度減少量
VARI 支配度上昇量
VARI 支配度減少量

CALL LOVE_UP_CHECK_好感度(FROM_ID)
好感度上昇量 = RESULT:0
好感度減少量 = RESULT:1

CALL LOVE_UP_CHECK_依存度(FROM_ID)
依存度上昇量 = RESULT:0
依存度減少量 = RESULT:1

CALL LOVE_UP_CHECK_従属度(FROM_ID)
従属度上昇量 = RESULT:0
従属度減少量 = RESULT:1

CALL LOVE_UP_CHECK_支配度(FROM_ID)
支配度上昇量 = RESULT:0
支配度減少量 = RESULT:1

;●ウフフ中は好感度上昇量が低下
IF FLAG:ウフフフラグ
    TIMES 好感度上昇量, 0.30
ENDIF

;●浮気癖の場合上昇率が低下
IF GETBIT(TALENT:FROM_ID:淫乱系, 素質_淫乱_浮気癖)
    TIMES 好感度上昇量, 0.6
    TIMES 依存度上昇量, 0.6
    TIMES 従属度上昇量, 0.6
    TIMES 支配度上昇量, 0.6
ENDIF

VARI 好感度変化量
VARI 依存度変化量
VARI 従属度変化量
VARI 支配度変化量
;●実際の変動量をセット
好感度変化量 = (好感度上昇量  - 好感度減少量) / 100
依存度変化量 = (依存度上昇量 - 依存度減少量) / 100
従属度変化量 = (従属度上昇量 - 従属度減少量) / 100
支配度変化量 = (支配度上昇量 - 支配度減少量) / 100

;依存度の変動は最低でも-1
依存度変化量 = MAX(依存度変化量, -1)

;主導権に基づく支配度補正
IF FLAG:主導権所有者 == FROM_ID
    SELECTCASE 支配度変化量
        CASE IS < 0
            支配度変化量 += 3
        CASE IS < 15
            支配度変化量 += 2
        CASE IS < 25
            支配度変化量 += 1
    ENDSELECT
ENDIF

;●失神中・離脱中は好感度・依存度・従属度が変動しない
IF TCVAR:FROM_ID:失神フラグ || TCVAR:FROM_ID:離脱フラグ
    好感度変化量 = 0
    依存度変化量 = 0
    従属度変化量 = 0
    支配度変化量 = 0
ENDIF

;最終的な好感度補正
TIMES 好感度変化量, 0.3
TIMES 依存度変化量, 0.3
TIMES 従属度変化量, 0.3
TIMES 支配度変化量, 0.3

;●好感度・依存度・従属度を加算
CALL REL_ADD(FROM_ID, TO_ID, 好感度変化量, 依存度変化量, 従属度変化量, 支配度変化量)

IF 好感度変化量 || 依存度変化量 || 従属度変化量 || 支配度変化量
    ; PRINTFORM 　%ANAME(FROM_ID), 16, LEFT%:
    PRINTFORM (%SNAME(FROM_ID), 12, LEFT% ⇒ %SNAME(TO_ID), 12, LEFT%)
    IF ABS(好感度変化量) > 0
        PRINTFORM 好感度%TOSTR_SIGN(好感度変化量)%{ABS(好感度変化量), 3, RIGHT}(計:{REL_GET_LIKE(FROM_ID, TO_ID), 5})
    ENDIF
    IF ABS(依存度変化量) > 0
        PRINTFORM 依存度%TOSTR_SIGN(依存度変化量)%{ABS(依存度変化量), 3, RIGHT}(計:{REL_GET_DEPENDENCE(FROM_ID, TO_ID), 5})
    ENDIF
    IF ABS(従属度変化量) > 0
        PRINTFORM 従属度%TOSTR_SIGN(従属度変化量)%{ABS(従属度変化量), 3, RIGHT}(計:{REL_GET_SUBORDINATE(FROM_ID, TO_ID), 5})
    ENDIF
    IF ABS(支配度変化量) > 0
        PRINTFORM 支配度%TOSTR_SIGN(支配度変化量)%{ABS(支配度変化量), 3, RIGHT}(計:{REL_GET_DOMINANCE(FROM_ID, TO_ID), 5})
    ENDIF
    PRINTL
ENDIF

;-------------------------------------------------
;;; ●好感度補正値の取得
;-------------------------------------------------
; #region 好感度補正値
@LOVE_UP_CHECK_ANOTHER_好感度補正値(FROM_ID, TO_ID)
#DIM FROM_ID
#DIM TO_ID
VARI 上昇補正
VARI 減少補正
;素質による増減
;上昇補正は上昇成分に掛かる補正
上昇補正 = 100
;減少補正は減少成分に掛かる補正
減少補正 = 100

SIF TALENT:FROM_ID:素直
    上昇補正 += 10
SIF TALENT:FROM_ID:献身的
    上昇補正 += 5
SIF TALENT:TO_ID:天の御遣い
    上昇補正 += 20
SIF TALENT:TO_ID:魅惑
    上昇補正 += 10
SIF TALENT:TO_ID:謎の魅力
    上昇補正 += 10
SIF TALENT:TO_ID:人気
    上昇補正 += 10
SIF TALENT:FROM_ID:幼稚
    上昇補正 += 10
SIF TALENT:FROM_ID:チョロイン
    上昇補正 += 10

SIF TALENT:FROM_ID:反抗的
    減少補正 += 10
SIF TALENT:FROM_ID:生意気
    減少補正 += 10
SIF TALENT:FROM_ID:プライド高い
    減少補正 += 10
SIF TALENT:FROM_ID:男嫌い && IS_MALE(TO_ID)
    減少補正 += 10
SIF TALENT:FROM_ID:女嫌い && IS_FEMALE(TO_ID)
    減少補正 += 10
SIF TALENT:FROM_ID:幼稚
    減少補正 += 10
SIF TALENT:FROM_ID:チョロイン
    減少補正 -= 10

SIF TALENT:FROM_ID:反抗的
    TIMES 上昇補正, 0.90
SIF TALENT:FROM_ID:生意気
    TIMES 上昇補正, 0.90
SIF TALENT:FROM_ID:無関心
    TIMES 上昇補正, 0.90
SIF TALENT:FROM_ID:感情乏しい
    TIMES 上昇補正, 0.90
SIF TALENT:FROM_ID:孤高
    TIMES 上昇補正, 0.90
SIF TALENT:FROM_ID:男嫌い && IS_MALE(TO_ID)
    TIMES 上昇補正, 0.90
SIF TALENT:FROM_ID:女嫌い && IS_FEMALE(TO_ID)
    TIMES 上昇補正, 0.90
; SIF TALENT:FROM_ID:抑圧
; 	上昇補正 = 上昇補正 * (180 - YOKUATSU_RATE(FROM_ID)) / 180
; SIF TALENT:FROM_ID:孤高
; 	上昇補正 = 上昇補正 * (250 - KOKOU_RATE(FROM_ID)) / 250

SIF TALENT:FROM_ID:献身的
    TIMES 減少補正, 0.95
SIF TALENT:FROM_ID:大人しい
    TIMES 減少補正, 0.90
SIF TALENT:TO_ID:魅惑
    TIMES 減少補正, 0.90
SIF TALENT:TO_ID:謎の魅力
    TIMES 減少補正, 0.90
SIF TALENT:TO_ID:人気
    TIMES 減少補正, 0.90
SIF TALENT:FROM_ID:無関心
    TIMES 減少補正, 0.90
SIF TALENT:FROM_ID:感情乏しい
    TIMES 減少補正, 0.90
SIF TALENT:FROM_ID:チョロイン
    TIMES 減少補正, 0.90
; SIF TALENT:FROM_ID:抑圧
; 	減少補正 = 減少補正 * (180 - YOKUATSU_RATE(FROM_ID)) / 180

;素質による補正の最低値を50、最高値を180とする
上昇補正 = LIMIT(上昇補正, 50, 180)
減少補正 = LIMIT(減少補正, 50, 180)

;機嫌に応じた上下
SELECTCASE TOSTR_EMOTION(FROM_ID)
    CASE "幸"
        TIMES 上昇補正, 2.20
        TIMES 減少補正, 0.50
    CASE "悦"
        TIMES 上昇補正, 1.80
        TIMES 減少補正, 0.60
    CASE "良"
        TIMES 上昇補正, 1.30
        TIMES 減少補正, 0.80
    CASE "恨"
        TIMES 上昇補正, 0.30
        TIMES 減少補正, 3.50
    CASE "怒"
        TIMES 上昇補正, 0.60
        TIMES 減少補正, 1.80
    CASE "憤"
        TIMES 上昇補正, 0.85
        TIMES 減少補正, 1.40
    CASE "鬱"
        TIMES 上昇補正, 0.10
        TIMES 減少補正, 1.50
    CASE "悲"
        TIMES 上昇補正, 0.40
        TIMES 減少補正, 1.20
    CASE "憂"
        TIMES 上昇補正, 0.70
        TIMES 減少補正, 1.10
    CASE "狂"
        TIMES 上昇補正, 0.20
        TIMES 減少補正, 2.00
    CASE "恐"
        TIMES 上昇補正, 0.50
        TIMES 減少補正, 1.50
    CASE "怯"
        TIMES 上昇補正, 0.80
        TIMES 減少補正, 1.20
    CASE "壊"
        上昇補正 = 0
        減少補正 = 0
    CASE "虚"
        TIMES 上昇補正, 0.10
        TIMES 減少補正, 0.10
ENDSELECT

RESULT:1 = 減少補正
RETURN 上昇補正
; #endregion