2018/09/05
ミラダの石訪問販売デイリー用ノーブラ処理修正パッチ2

・なんか細かいバグがぽろぽろ出てきたので修正したよ



◆対象環境
eraTW4.630protoのバニラ環境

以下のパッチはマージ済み

[eraT0010724]eraTW4.630proto用外出マップ正邪宅追加他パッチ
	キャラ番号直打ちから_Rename.csvを利用して可読性を上げてるのはぜひ他の人にも広めたい
	目についた所だけでも少しずつ修正しておきたいです
[eraT0010726]eraTW4.630proto用パンツとブラ処理改変+αパッチ
	ブラジャー処理での総当たり分岐直打ち指定から
	各パンツ側にコーディネートするブラの情報を持たせるリファクタリングがとてもよい
	適当に改良しときました
	・MAKE_INTしなければ0が返るのでノーブラはそれでよし
	・衣装セット.ERBで使用している@CLOTHES_ID関数を使えば装備部位と衣服名称を使って衣服が指定できます
		コメントなしでもどのブラが対応してるのかわかるようになります
		CALLF MAKE_INT(V_NAME, 10)
			↓
		CALLF MAKE_INT(V_NAME, CLOTHES_ID("上半身下着１", "Ｔシャツ"))
	・ついでに@今日のブラジャーにてノーブラが発生するように仕込むなど、夏はノーブラ率上がります
	　その他、ヤリマン時空（全員ヤリマンモード）だと安易にエロくなります
	　とりあえず非ヤリマン時空において、ニューゲームで1日に1キャラ程度はノーブラの娘が発生するくらいの確率
	・ブラジャー抽選に確率系を織り交ぜた結果、途中でブラの種類が変わるようになるバグが出た
	　ぱんつと同じ要領で、今日のブラ、パジャマ用ブラを抽選するように処理を組みました
	　@今日のブラジャーはF関数化
[eraT0010728]eraTW4.630proto用ミラダの石訪問販売デイリーパッチ
[eraT0010731]eraTW4.630proto用 パンツ関連オーバーホールパッチ
	全キャラパンツ実装しててスゲー
	
	@DISPLAY_COLLECTION_Bの改良
	・[eraT0010728]の時点でパンツ着用条件をいじっていたので競合していた
	・判定処理を各パンツデータの側に任せて記述を整理した
[eraT0010734]　eraTW4.630proto用 スカートめくりでズボンも下ろすパッチ ＋パンツオーバーホール修正
[eraT0010736]　eraTW4.630proto用 スカートめくりでズボンも下ろすパッチ ＋パンツオーバーホール修正３
	マージついでに固有パンツの色を強調してみるなど
	・[eraT0010736]で"毛糸のパンツ"、"シルクのパンツ"が出てくるが
	　"毛糸のパンツ"　→大妖精固有パンツ
	　"シルクのパンツ"→名前に一致するパンツが現環境下では存在しないはず
	・一応、固有パンツにも透けるかどうかを設定できるようにしてみた
	　しかし、全キャラやる気力がないのでとりあえず霊夢さんに設定例を乗っけとく
	　他のパンツと比較すると、基本的にはパンツは透けるものであり、透けないのが例外であるらしい
	　ルーミアパンツとかは透けないイメージ



◆内容
・スレにも書いたけど248スレ>>670のエラーは修正済み
・夢精デイリーでのミラダの石入手分岐の修正
　ミラダの石を持ってる時は発生させないつもりだったのが判定入ってなかったので修正
・@LOOK_ATの死に分岐修正した
　が、構文読んで「コレおかしいよね」って箇所を直しただけ
　TEQUIP:下半身着衣状況やCFLAG:ノーパンあたりの仕様の理解はできてないのでまだバグが有るかも
・@PANTSNAMEの仕様
　@LOOK_ATにてPANTSNAMEの仕様が勘違いされていたが
　PANTSNAMEにはパンツのID（下半身下着２）しか入らないので下半身下着１の中身を放り込むのはNGだ
　@PANTSNAMEはパンツ専用でパンツ以外の衣服には@CLOTHNAMEを使うのだ（引数の仕様も微妙に異なるので注意）
・キャラの情報表示で仕事情報欄のバグ修正
　ver4.621にて仕事情報のCSTRをCSTR:3に移行する処理が入ったが
　キャラ.CSVの側の記述の表記ゆれによって移行がうまくいっていないので修正
・カレンダー処理で仕事情報がCSTR:1を参照してた古い処理をCSTR:3に修正
　あと確かCSV参照から現在値参照に仕様変更が入ったはずなのでそのように修正
・CFLAG:口上実装状況のフラグ立てがミスってたのを修正
　具体的にはRESULTを洗い忘れて全キャラにフラグ立ってたのが数箇所
・NEWGAME時、マスターのカスタム処理中に全キャラの加入処理があるのはどうかと思ったので分離した
・NEWGAME開始直後に全員の酒気がMAXになってたので0に（起床と同時に再設定されるのでほぼ修正する意味はない）
・NEWGAMEのボーナスでTSP強化を選択した際に初日から500TSP使用できるように
　試しに選択してみたら最大値のみが強化されて残念な気持ちになったので
・カウンターメッセージで余計な改行が入る箇所を修正
・248スレ>>880、小町固有依頼の報酬のエラー修正、報告さんくす
　ついでに、通常の仕事もお盆期間前後はサボらないようにした
・バグ修正、ルーミアの仕事場所の修正
・ついでにCSVの記載情報の見直し
　夢美の仕事時間が不適切だったのを変更（起床時間などとの兼ね合い）
　チルノの仕事情報をcsvに追記、文の仕事時間をcsvに合わせた、衣玖さんの仕事をcsvに記載
　お空の仕事時間をcsvに記載、鈴仙の仕事情報をcsvに追記
・JOB_仕事内容.ERBのリファクタリング
　全体的に読みやすくなったのではないでしょうか
　処理内容は変えてないつもりだが大規模にいじったからバグが出るかも
　キャラ別分岐が番号直打ち
　　→RENAME.CSVを利用した記述に書き換え
　曜日判定が煩雑
　　→@IS_WEEKDAY, @IS_WEEKEND, @YOUBI_MATCHを作成したことにより、ひと目見て判定内容がわかるようになった
　　使用例）
　　　SIF IS_WEEKDAY(DAY)
　　　　PRINTFORML 平日のみ実行（祭日判定は行いません）
　　　SIF IS_WEEKEND(DAY)
　　　　PRINTFORML 土日のみ実行（祭日判定は行いません）
　　　SIF YOUBI_MATCH(DAY, "月水金")
　　　　PRINTFORML 月曜日、水曜日、金曜日のみ実行
　時間指定が直感的でない
　　→従来の時間指定はTIME直書き（360＝6時、720＝12時、1440＝24時）でわかりにくかった
　　→@CLOCK_TO_TIMEを作成
　　使用例）
　　　 6時　＝CLOCK_TO_TIME( 6,  0)
　　　12時　＝CLOCK_TO_TIME(12,  0)
　　　24時　＝CLOCK_TO_TIME(24,  0)
　　　10時半＝CLOCK_TO_TIME(10, 30)
　　　SIF INRANGE(TIME, CLOCK_TO_TIME( 6,  0), CLOCK_TO_TIME(11, 59))
　　　　PRINTFORML 6:00～11:59まで指定する判定
・慧音の昼休みを1分削った
　あなた側の行動の経過時間は5分や10分単位が多い
　朝から授業を受けて12時～暇つぶししようかってときに13時ちょうどになると損した気になるので
　まー、別にちょっと出歩けばいいだけの話なんだけど



・見直して気になった点
　１）咲夜さんの仕事のうち、12:01～16:59の分岐
　　とりあえずそのままにしといたがこれって動くのか？
　　ある時間帯の咲夜さんの仕事が終了しないように処理されてて
　　時間停止お手伝いで報酬がすごいことになった云々の名残のような気がする
　２）ルーミアの仕事
　　妊娠系の判定が入っているが、更新ログを読むと一括で管理されている処理もあるらしい？？？
　　そして仕事場所のバグを発見
　　本来はお地蔵通りに行くはずが、命蓮寺境内で食料の確保をやっていた（お手伝い報酬：謎の肉）
　　いくら妖怪寺でも流石にこれはないでしょう
　　誰か止めろよ！（白蓮も星ちゃんもこの時間帯は寝てる）
　　原因はおでかけマップ用IDにGET_MAP_REPLACEMENTをかけてはダメだぞ☆っていういつものアレ
　　仕事場所の修正はした、妊娠判定の変更はしていない
　３）小傘の仕事
　　個人的には変えたいかなって
　　現状、20:00～24:00にベビーシッター業務
　　夜に突然仕事がはじまるからびっくりする
　　変更案を書いてみる
　　・金物販売
　　　人里の広場にて毎月8日14:00～17:00まで
　　　お手伝い報酬アイテムにかしわもち（針供養の日に大福や饅頭を贈る風習があるらしいので代用）
　　　腕利きの鍛冶屋なので給料は高めでもよさそう
　　・子守
　　　土日の寺子屋で14:00～17:00まで
　　　慧音に無断で勝手にやってる、多分無給
　４）映姫の仕事が未設定
　　記述の痕跡は存在するがコメントアウトされている
　　彼岸おでかけマップに是非曲直庁がないので設定のしようがない？
　　すくなくとも3年前から現在の状態であったようである



◆未着手の作業
・JOB_仕事内容.ERBのキャラデータへの移行について
　@JOBMOVE(ARG)の処理の代替をどうしようかと
　エレンの処理用に@JOB_EX_K44とか作ってやってTRYCALLFORMするのがいいのかな
　ということでキャラデータ.ERBへの移行は保留状態
　そこさえクリアできれば可能っぽい
・"DAIRY"or"DAILY"問題など、不具合未満のなにか
＞３．レースのパンティ（白） → レースのパンティ(白)
＞　　レースのパンティ（黒） → レースのパンティ(黒)
＞　　収集パンツ表示時のレイアウトが崩れないように。
　これに対応するレースのブラシリーズは全角カッコ
　その他、カッコを使う衣装類も基本的に全角で統一してる状態でパンティだけ半角という状態になった
　置換しつつレイアウトまで考えるのめんどくさいので棚上げ
　パンツマニアさんは半角でまとめる方針のようだがどうなんだこれ



◆その他
・演奏拡張するかも（フレーバー方面）
　内容は大体考えた
　実装が進まない

・合意取得周りについてのネタ出し
話題になってたので便乗
全体的に数値調整が難しそう
既にあったらごめんなさい
１）
「ムードが低い状態で押し倒しを実行すると信頼度が下がる」という処理を仕込んだら
セフレっぽい関係を演出し、維持することができはしないか？
押し倒しに成功しても下がるようにする、ということ
２）
押し倒し実行判定時に押し倒し成功回数依存で重めの補正値をつけておくと
なんとなくズルズルと身体を許してしまう、的なシチュエーションにならないだろうか？
３）
非合意うふふは挿入系コマンドの実行判定時にペナルティあるとそれっぽいかな


・適当に仕事を設定してやろうかと思うなど
;@仕事内容設定(ARG, ARG:1)
CASE [[依姫]]
	IF YOUBI_MATCH(DAY, "月水金")
		MAXBASE:ARG:仕事量 = 600 * 4
		TCVAR:ARG:仕事開始 = CLOCK_TO_TIME(13, 0)
		TCVAR:ARG:仕事終了 = CLOCK_TO_TIME(17, 0)
		CFLAG:ARG:職場 = 1080
		CFLAG:ARG:職種 = 42
		TCVAR:ARG:給料 = 2
		;TCVAR:ARG:お礼 = GETNUM(ITEM, "飴")
		TCVAR:ARG:手伝えない = 2
	ENDIF
;@JOBMOVE(ARG)
;@GET_JOBNAME(ARG)
CASE [[依姫]]
	LOCALS = 玉兎の指導


;@仕事内容設定(ARG, ARG:1)
CASE [[豊姫]]
	IF YOUBI_MATCH(DAY, "火木")
		MAXBASE:ARG:仕事量 = 600 * 2
		TCVAR:ARG:仕事開始 = CLOCK_TO_TIME(13, 0)
		TCVAR:ARG:仕事終了 = CLOCK_TO_TIME(15, 0)
		CFLAG:ARG:職場 = 1080
		CFLAG:ARG:職種 = 42
		TCVAR:ARG:給料 = 2
		TCVAR:ARG:お礼 = GETNUM(ITEM, "飴")
		TCVAR:ARG:手伝えない = 2
	ENDIF
;@JOBMOVE(ARG)
;@GET_JOBNAME(ARG)
CASE [[豊姫]]
	LOCALS = 玉兎の指導


;@仕事内容設定(ARG, ARG:1)
CASE [[レイセン]]
	IF IS_WEEKDAY(DAY)
		MAXBASE:ARG:仕事量 = 600 * 4
		TCVAR:ARG:仕事開始 = CLOCK_TO_TIME(13, 0)
		TCVAR:ARG:仕事終了 = CLOCK_TO_TIME(17, 0)
		CFLAG:ARG:職場 = 1080
		CFLAG:ARG:職種 = 42
		TCVAR:ARG:給料 = 0
		;TCVAR:ARG:お礼 = GETNUM(ITEM, "飴")
		TCVAR:ARG:手伝えない = 1
	ENDIF
;@JOBMOVE(ARG)
;@GET_JOBNAME(ARG)
CASE [[レイセン]]
	LOCALS = 訓練


;@仕事内容設定(ARG, ARG:1)
CASE [[清蘭]]
	IF YOUBI_MATCH(DAY, "金土日")
	;団子屋
	;ミスティア同様の処理を組めば仕込み→営業も可能
		MAXBASE:ARG:仕事量 = 600 * 6
		TCVAR:ARG:仕事開始 = CLOCK_TO_TIME(8, 0)
		TCVAR:ARG:仕事終了 = CLOCK_TO_TIME(14, 0)
		CFLAG:ARG:職場 = 1080
		CFLAG:ARG:職種 = 41
		;エレン同様にお客をつかまえるあつかい？
		TCVAR:ARG:給料 = 2
		;TCVAR:ARG:お礼 = GETNUM(ITEM, "飴")
		TCVAR:ARG:手伝えない = 2
	ELSEIF YOUBI_MATCH(DAY, "火水木")
	;訓練
		MAXBASE:ARG:仕事量 = 600 * 4
		TCVAR:ARG:仕事開始 = CLOCK_TO_TIME(13, 0)
		TCVAR:ARG:仕事終了 = CLOCK_TO_TIME(17, 0)
		CFLAG:ARG:職場 = 1080
		CFLAG:ARG:職種 = 42
		TCVAR:ARG:給料 = 0
		;TCVAR:ARG:お礼 = GETNUM(ITEM, "飴")
		TCVAR:ARG:手伝えない = 1
	ENDIF
;@JOBMOVE(ARG)
;@GET_JOBNAME(ARG)
CASE [[清蘭]]
	IF YOUBI_MATCH(DAY, "金土日")
		LOCALS = 団子屋
	ELSEIF YOUBI_MATCH(DAY, "火水木")
		LOCALS = 訓練
	ENDIF


CASE [[鈴瑚]]
	IF YOUBI_MATCH(DAY, "金土日")
	;団子屋
	;ミスティア同様の処理を組めば仕込み→営業も可能
		MAXBASE:ARG:仕事量 = 600 * 4
		TCVAR:ARG:仕事開始 = CLOCK_TO_TIME(13, 0)
		TCVAR:ARG:仕事終了 = CLOCK_TO_TIME(17, 0)
		CFLAG:ARG:職場 = 1080
		CFLAG:ARG:職種 = 41
		;エレン同様にお客をつかまえるあつかい？
		TCVAR:ARG:給料 = 2
		;TCVAR:ARG:お礼 = GETNUM(ITEM, "飴")
		TCVAR:ARG:手伝えない = 2
	ELSEIF YOUBI_MATCH(DAY, "火水木")
	;訓練
		MAXBASE:ARG:仕事量 = 600 * 4
		TCVAR:ARG:仕事開始 = CLOCK_TO_TIME(13, 0)
		TCVAR:ARG:仕事終了 = CLOCK_TO_TIME(17, 0)
		CFLAG:ARG:職場 = 1080
		CFLAG:ARG:職種 = 42
		TCVAR:ARG:給料 = 0
		;TCVAR:ARG:お礼 = GETNUM(ITEM, "飴")
		TCVAR:ARG:手伝えない = 1
	ENDIF
;@JOBMOVE(ARG)
;@GET_JOBNAME(ARG)
CASE [[鈴瑚]]
	IF YOUBI_MATCH(DAY, "金土日")
		LOCALS = 団子屋
	ELSEIF YOUBI_MATCH(DAY, "火水木")
		LOCALS = 訓練
	ENDIF


CASE [[ドレミー]]
	IF YOUBI_MATCH(DAY, "水木土日")
		MAXBASE:ARG:仕事量 = 600 * 4
		TCVAR:ARG:仕事開始 = CLOCK_TO_TIME(19, 0)
		TCVAR:ARG:仕事終了 = CLOCK_TO_TIME(23, 0)
		CFLAG:ARG:職場 = 1010
		CFLAG:ARG:職種 = 41
		TCVAR:ARG:給料 = 2
		TCVAR:ARG:お礼 = GETNUM(ITEM, "飴")
		TCVAR:ARG:手伝えない = 2
	ENDIF
;@JOBMOVE(ARG)
;@GET_JOBNAME(ARG)
CASE [[ドレミー]]
	LOCALS = 夢の管理


CASE [[サグメ]]
	IF IS_WEEKDAY(DAY)
		MAXBASE:ARG:仕事量 = 600 * 4
		TCVAR:ARG:仕事開始 = CLOCK_TO_TIME(13, 0)
		TCVAR:ARG:仕事終了 = CLOCK_TO_TIME(17, 0)
		CFLAG:ARG:職場 = 1050
		CFLAG:ARG:職種 = 43
		TCVAR:ARG:給料 = 3
		;TCVAR:ARG:お礼 = GETNUM(ITEM, "飴")
		TCVAR:ARG:手伝えない = 1
		SIF CFLAG:ARG:信頼度 >= 300
			TCVAR:ARG:手伝えない = 0
	ENDIF
;@JOBMOVE(ARG)
;@GET_JOBNAME(ARG)
CASE [[サグメ]]
	LOCALS = 事務作業


CASE [[あうん]]
	IF IS_WEEKEND(DAY) || GROUPMATCH(FESTIVAL(), "元日", "大晦日", "例大祭", "雛祭り", "七夕", "節分")
		MAXBASE:ARG:仕事量 = 600 * 4
		TCVAR:ARG:仕事開始 = CLOCK_TO_TIME(13, 0)
		TCVAR:ARG:仕事終了 = CLOCK_TO_TIME(17, 0)
		CFLAG:ARG:職場 = 1
		CFLAG:ARG:職種 = 41
		;片っ端から殴り飛ばすわけじゃないし基本は会話だよな
		TCVAR:ARG:給料 = 0
		;TCVAR:ARG:お礼 = GETNUM(ITEM, "飴")
		TCVAR:ARG:手伝えない = 1
	ENDIF
;@JOBMOVE(ARG)
;@GET_JOBNAME(ARG)
CASE [[あうん]]
	LOCALS = 神社の守護



◆つくったひと：morph
・morphのつくった以外のところの扱いはつくったひとに聞いて下さい
・配布・改造・流用、好きにしてください
・でも、その際のサポートは自分でやってね

※　era＝R-18全般の常識的な取り扱いとして例えば以下のような事はやめて下さい

・未成年者がいっぱいいる場所で広める
・R-18以外のモノをメインに扱ってる場所で取り上げる
