유이하게 임신 컨텐츠가 정식으로 개발된 검은 늑대이지만

묘하게 고정적인 교미 기회가 없다는 게 좀 아쉽더라고.


높은 ferocity 유지로 Challenge-Calm it down 이벤트를 노리는 정도인데,

이러면 다른 늑대의 강간 확률이 함께 높아지고, 도움을 받아 무마할 경우 harmony가 깎인다는 점이 걸려서 불편하고...


물론 콘솔에 치트까지 다 쓰면서 갖고 놀긴 하지만,

아무튼 불편한 건 불편한 거기도 하고

'상시 발정 상태로 만들면 꼴리지 않을까' 하는 생각이 들어서 실행에 옮겨봤음




발정(Heat)는 생리주기 중 배란일을 지날 때 발생하므로

생리주기를 줄이고 배란기를 늘리는 방향으로 건드리면 되지 않을까 했음.

이에 해당하는 변수를 찾기 위해 Visual Studio에서 menstruation, fertility, ovulate, cycle 등등 키워드를 검색해봄

V.sexStats 라는 항목이 자주 보임.

콘솔에서 변수를 수정할 경우 일반적으로 State.variables.~~~ 와 같은 형식이 되는데

이때 variables가 V일 거라는 직감이 듦.


빙고!


하위 항목을 쭉쭉 펼치며 어떤 변수가 관여하는지 살펴봤다.

baseDays가 생리주기 설정의 베이스가 되는 값인 듯.


~Rng는 검색해보니 Random number generator, 난수 생성기라고 한다.

currentDays 연산에 관여한다.


currentDaysMax가 현재 생리주기의 총 일수인 듯. rng로 주기를 임의화하나?

last~는 지난 생리주기에 해당하는 거겠고...


nonCycleRng는 도대체 뭔지 찾아봤는데...

...생리주기 연산에 관여하는 게 없어서

아마도 fertility cycle을 해제했을 경우 참고되는 변수가 아닌가 추측한다.


recovery~는 모두 null이길래, 배란 이후 사용되는 함수인가 싶어서 치트로 ovulate 해봤는데

그래도 바뀌지 않던 걸로 봐서는 다른 곳에 사용되는 변수인 듯?


stages의 값 중 15, 15.5가 생리주기의 중간쯤, 배란일 근처에 해당하는 날짜라서

아마 이게 생리주기의 단계에 해당하는 게 아닌가 생각했다.

> 생리주기 1일째


> 5일째

>15일째


...그게 아닌가?


>14일째

>13일째

>12일째

>9일째


0~8일 vs

9일 s

10~12dlf sws

13일 r

14일 본능적r

15일 d

16일 본능적r


저 위험수치는 따로 연산하는 게 있는 듯...

암튼 15일이 가장 위험한 것으로 보아, stages의 값들이 관여하는 게 아닌가 추측했다.


이렇게 수치를 바꿔주고


생리주기를 6일에 맞춰주면?

risky가 뜬다.

흚... dangerous가 떠야하는데... stage[3]의 .5가 위험일을 결정하는 값인가보다.


다시 고쳐주고...

생리주기를 4일에 맞춰주면

성공!


그럼 이후 주기는 4일에 맞춰서 앞당겨지나 싶었는데,

11일부터 very safy가 떠서 주기가 끝날 때까지 이어졌다.


0에서 4.5까지가 반기고, 4.6에서 9까지가 나머지 반기라고 치면 10일째는 어째서 very safe가 아닌 그냥 safe가 뜨는지...

그래도 이정도는 모르고 넘어가도 어케어케 되지 않겠나 싶으니 일단 재낀다.


그럼 여기서 건드려야 할 변수는

baseDays(생리주기 기준값)

baseDaysRng(난수생성)

currentDay(생리주기 중 몇번째 날인지)

currentDaysMax(이번 주기 총일수)

stages(생리주기 단계)


lastDaysMax는 큰 의미가 있는지 모르겠는데, 혹시나 다음 주기 연산에 쓰일지도 모르니 currentDaysMax와 동일하게 맞춰야겠다.


일단 뒤탈을 없애려면 난수는 아예 빼버리는 게 낫지 않을까?

어차피 치트랑 콘솔로 떡칠을 하는 마당에 굳이 난수를 유지해봐야...


>>>


슬슬 고장나면 어떡하나 하는 생각이 들기 시작한다...



두려움을 뒤로하고, 나머지 변수들을 건드려야 한다.

상시 발정을 시키려면 생리주기를 하루로 설정하고 stage3을 0.5로 설정하면 될 듯 하다.

우선 baseDays, currentDaysMax를 1으로 설정하자.

오류가 생길 수 있으니, currentDay를 먼저 1로 바꾸고 시작해야겠다.



당장은 제대로 반영된 것 같다.



arousal 하한값은 stage의 영향을 받으니, 효과를 확인하려면 stage값들도 건드려야 한다.


검색해보니 중간에 stage값을 세팅하는 구문이 있다.

...그것도 두 줄이...?


...뭐가 다른 건지는 잘 모르겠지만

위와 아래가 동일하도록 바꿔주면 문제가 없을 듯 하다.

그런데 0(=stage1?), stage2, stage3까지는 알겠다만, 마지막에 'stage3+난수'는 도대체 용도가...


...?


일수<stage[1]일 때 월경기 진입 (stage[1] = _stage2)

일수<stage[2]일 때 난포기 진입 (stage[2] = _stage3)

일수<stage[3]일 때 배란기 진입 (stage[3] = _stage3+난수)

이렇게 값을 다시 넣어주는 것 같다.


연산 과정에서 일과중 시간을 0.5일로 설정해 놓는 듯 한데...

currentDay=1.5가 된다고 생각하면, 배란기를 상시 유지하기 위해서는

stage[2]< 1.5 <stage[3]으로 만들면 되지 않을까


현재 계산되는 값은

stage[2] = stage3 = currentDaysMax*0.5 = 0.5

stage[3]=stage3+(0.5 or 1) = 1 or 1.5

일 것 같은데...


일단 건드리기 전에 어떻게 되나 살펴보는 게 좋을지도....

24시간을 넘겨 어떻게 적용되는지 살펴보자.

음?

흚...


24시간을 다시 넘기면 1of1이 되는 건가?

...



baseDaysRng를 뺐다고 생각했는데, 못찾은 곳이 있나보다..

0으로 맞춰주는 게 편할 듯



난수 문제는 해결했는데,

stage[2]가 어째서인지 2로 뜬다.

currentDay는1.5가 아닌 0.5로 계산되나보다.


다시 살펴보니, _stage3이 13보다 작으면 1을 더해주는 줄이 있었다.

뿐만 아니라 currentDaysMax*0.5 값을 반올림해버리는데

이렇게 되면 0.5인 currentDaysMax보다 stage[2](=_stage3)값이 무조건 커진다.


그래서 currentDaysMax*0.4로 반올림 시 0이 되도록 하고, 1을 더해주는 줄을 없애버렸다.

stage[3]=_stage3+random(1,2)*0.5=(0.5 or 1)

0.5가 나오면 currentDaysMax와 stage[3]의 값이 동일해지니, stage[3]이 무조건 1이 되도록 고치는 게 낫겠다.


두 부분을 모두 고쳤다.


이제 다시 24시간을 돌려보면...

...






고맙다, 챗지피티민수야!


붙여놓고 뭐가 바뀌었나 싶어서 보니, elseif가 if로 바뀌었다.

...진짜 그게 문제였는지는 모르겠지만



잘 작동하는 듯?




...라고 생각하면서 점검을 해봤는데

어째서인지 정오 이전에는 currentDay가 0.5가 아닌 1로 계산되고, 위험도는 risky로, arousal 하한치도 반토막이 났다.




뭐가 문젠가 싶어 고민하다, +0.5가 유독 많았던 월경주기(페이즈) 연산 부분이 문제일까 싶었다.


근데 이제 슬슬 글자가 눈에 안들어와...

여기서 한 1시간 정도 헤맸다...





이쪽 블록을 처음부터 읽던 중, 

elseif _menstruation.currentDay lt _menstruation.stages[3]

     _menstruation.currentDay += 0.5

여기 말고는 걸리는 곳이 없어서, +=0.5를 +=0으로 고쳐보았다.






이제 자정과 정오를 넘겨도 발정이 유지된다!




Wa! PC는 상시 발정 하였다!




이제 매일매일 PC의 발정 뷰지를 알파의 늑대 자지에 매듭 지어지면서 보낼 수 있게 되었다!









정리


콘솔처리: 

State.variables.sexStats.vagina.menstruation.

     baseDays=1

     baseDaysRng=0

     currentDay=0.5

     currentDaysMax=1

     lastDayMax=1


파일 수정:

baseDaysRng 연산에서 제외 처리


set _stage3 to Math.round(_menstruation.currentDayMax*0.5)

>>>배율 0.4로 수정


if _stage3 lt 13

     set _stage3++

두 줄 제거


elseif _stage3 gte 18

>>> if문으로 수정


/*Ovulation Phase*/ 아래

_menstruation.currentDay += 0.5

>>> +=0으로 수정






정말... 쉽죠....?



개야매로 개조한거라 오류 터져도 못봐줌...