123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775 |
- # pcs_has_attr
- !! Preferences:
- !!
- !! body:
- !! ass:
- !! body_ass_flat
- !! body_ass_average
- !! body_ass_big
- !! body_ass_heart
- !! body_ass_bubble
- !! bmi:
- !! body_bmi_starving
- !! body_bmi_underweight
- !! body_bmi_normal
- !! body_bmi_overweight
- !! body_bmi_obese
- !! eyes:
- !! body_eyes_brown
- !! body_eyes_grey
- !! body_eyes_green
- !! body_eyes_blue
- !! lips:
- !! body_lips_thin
- !! body_lips_normal
- !! body_lips_plump
- !! body_lips_big
- !! body_lips_pillowy
- !! skin:
- !! body_skin_bad
- !! body_skin_normal
- !! body_skin_good
- !! strength:
- !! body_strength_weak
- !! body_strenght_normal
- !! body_strenght_athletic
- !! body_strenght_strong
- !! body_strenght_manly
- !! sweat:
- !! body_sweat_none
- !! body_sweat_sweaty
- !! body_sweat_stinky
- !! tits:
- !! body_tits_small
- !! body_tits_average
- !! body_tits_big
- !! body_tits_huge
- !! body_fit
- !! body_pregnant
- !! body_tan
- !! body_tan_not
- !!
- !! clothes:
- !! exposed:
- !! clothes_exposed_ass
- !! clothes_exposed_bra
- !! clothes_exposed_panties
- !! clothes_exposed_pussy
- !! clothes_exposed_tits
- !! skirt:
- !! clothes_skirt_long
- !! clothes_skirt_normal
- !! clothes_skirt_short
- !! style:
- !! clothes_style_bimbo
- !! clothes_style_goth
- !! clothes_style_punk
- !! clothes_thin
- !!
- !! cosmetics:
- !! cosmetics_deodorant
- !! cosmetics_makeup
- !! cosmetics_piercing
- !! cosmetics_tattoo
- !!
- !! cum:
- !! cum_clothes
- !! cum_face
- !!
- !! hair:
- !! color:
- !! hair_color_black
- !! hair_color_brown
- !! hair_color_red
- !! hair_color_blonde
- !! hair_color_dyed
- !! length:
- !! hair_length_veryshort
- !! hair_length_short
- !! hair_length_chin
- !! hair_length_shoulder
- !! hair_length_bra
- !! hair_length_long
- !! pubes:
- !! hair_pubes_shaven
- !! hair_pubes_grown
- !! hair_pubes_styled
- !! hair_leg
- !! hair_leg_not
- !! hair_curly
- !! hair_straight
- !! How to use.
- !!
- !! func('pcs_has_attr', 'clothes_style_bimbo')
- !! func('pcs_has_attr', 'cosmetics_tattoo')
- !!
- !!------------------------!!
- !! !!
- !! Temporary !!
- !! !!
- !! To be Checked !!
- !! !!
- !!------------------------!!
- !! body_
- !! ass_bubble
- !! ass_big
- !! ass_average
- !! ass_flat
- !! tits_big
- !! tits_average
- !! tits_small
- !! hair_length_long
- !! $npc_reaction_choice[] = 'NAME' adds 'NAME' to the end of the list.
- result = 0
- !!-------------------------------------------------------------------!!
- !! !!
- !! LOGIC !!
- !! !!
- !!-------------------------------------------------------------------!!
- !! How to use: func('pcs_has_attr', 'AND', $ARGS[1], $ARGS[2], ...)
- !! func('pcs_has_attr', 'AND', 'body_tits_average', 'body_bmi_normal', 'hair_color_black')
- !! You CANNOT nest the same logic function within itself at ANY depth.
- !! func(..., 'AND', '...', func(..., 'OR', '...', func(..., 'AND')))
- !! DOES NOT WORK.
- ! AND returns 1 if the PC has all attributes
- if $ARGS[0] = 'AND':
- pha_AND_maxi = arrsize('ARGS')
- if pha_AND_maxi = 1:
- result = 0
- jump 'pha_AND_killvar'
- end
- pha_AND_i = 1
- :pha_AND_loop
- if func('pcs_has_attr', $ARGS[pha_AND_i]) = 0:
- result = 0
- jump 'pha_AND_killvar'
- end
- pha_AND_i += 1
- if pha_AND_i < pha_AND_maxi: jump 'pha_AND_loop'
- result = 1
- :pha_AND_killvar
- killvar 'pha_AND_maxi'
- killvar 'pha_AND_i'
- ! OR returns 1 if the PC has any of the attributes
- elseif $ARGS[0] = 'OR':
- pha_OR_maxi = arrsize('ARGS')
- if pha_OR_maxi = 1:
- result = 0
- jump 'pha_OR_killvar'
- end
- pha_OR_i = 1
- :pha_OR_loop
- if func('pcs_has_attr', $ARGS[pha_OR_i]):
- result = 1
- jump 'pha_OR_killvar'
- end
- pha_OR_i += 1
- if pha_OR_i < pha_OR_maxi: jump 'pha_OR_loop'
- result = 0
- :pha_OR_killvar
- killvar 'pha_OR_maxi'
- killvar 'pha_OR_i'
- ! NAND returns 1 if the pcs does NOT have all of the attributes
- elseif $ARGS[0] = 'NAND':
- pha_NAND_maxi = arrsize('ARGS')
- if pha_NAND_maxi = 1:
- result = 0
- jump 'pha_NAND_killvar'
- end
- pha_NAND_i = 1
- :pha_NAND_loop
- if func('pcs_has_attr', $ARGS[pha_NAND_i]) = 0:
- result = 1
- jump 'pha_NAND_killvar'
- end
- pha_NAND_i += 1
- if pha_NAND_i < pha_NAND_maxi: jump 'pha_NAND_loop'
- result = 0
- :pha_NAND_killvar
- killvar 'pha_NAND_maxi'
- killvar 'pha_NAND_i'
- ! NOR returns 1 if the PC does NOT have any of the attributes
- elseif $ARGS[0] = 'NOR':
- pha_NOR_maxi = arrsize('ARGS')
- if pha_NOR_maxi = 1:
- result = 0
- jump 'pha_NOR_killvar'
- end
- pha_NOR_i = 1
- :pha_NOR_loop
- if func('pcs_has_attr', $ARGS[pha_NOR_i]):
- result = 0
- jump 'pha_NOR_killvar'
- end
- pha_NOR_i += 1
- if pha_NOR_i < pha_NOR_maxi: jump 'pha_NOR_loop'
- result = 1
- :pha_NOR_killvar
- killvar 'pha_NOR_maxi'
- killvar 'pha_NOR_i'
- ! XOR returns 1 if the PC has EXACTLY {target} of the attributes. Target defaults to 1, can be set using ARGS[1]
- elseif $ARGS[0] = 'XOR':
- pha_XOR_maxi = arrsize('ARGS')
- if pha_XOR_maxi = 1:
- result = 0
- jump 'pha_XOR_killvar'
- end
- result = 0
- if ARGS[1] = 0:
- pha_XOR_i = 1
- pha_XOR_target = 1
- else
- pha_XOR_i = 2
- pha_XOR_target = ARGS[1]
- end
- :pha_XOR_loop
- if func('pcs_has_attr', $ARGS[pha_NOR_i]):
- if result < pha_XOR_target:
- result += 1
- else
- result = 0
- jump 'pha_XOR_killvar'
- end
- end
- pha_NOR_i += 1
- if pha_NOR_i < pha_NOR_maxi: jump 'pha_XOR_loop'
- if result ! pha_XOR_target: result = 0
- :pha_XOR_killvar
- killvar 'pha_XOR_maxi'
- killvar 'pha_XOR_i'
- killvar 'pha_XOR_target'
- end
- !!-------------------------------------------------------------------!!
- !! !!
- !! Body !!
- !! !!
- !!-------------------------------------------------------------------!!
- !!To be checked
- if $ARGS[0] = 'body_ass_flat':
- !! flat butt
- if pcs_buttsize <= 14:
- result = 1
- end
- elseif $ARGS[0] = 'body_ass_average':
- !! average feminine butt
- if pcs_buttsize >= 15 and pcs_buttsize <= 29:
- result = 1
- end
- elseif $ARGS[0] = 'body_ass_big':
- !! Big round butt
- if pcs_buttsize >= 30 and pcs_buttsize <= 44:
- result = 1
- end
- elseif $ARGS[0] = 'body_ass_heart':
- !! Heart-shaped butt
- if pcs_buttsize >= 45 and pcs_buttsize <= 59:
- result = 1
- end
- elseif $ARGS[0] = 'body_ass_bubble':
- !! Bubble butt
- if pcs_buttsize >= 60:
- result = 1
- end
- end
- !! To be checked
- if $ARGS[0] = 'body_bmi_starving':
- temp_bs_class = func('body_structure', 'get_class')
- if temp_bs_class < 100:
- result = 1
- end
- killvar 'temp_bs_class'
- elseif $ARGS[0] = 'body_bmi_underweight':
- temp_bs_class = func('body_structure', 'get_class')
- if temp_bs_class >= 100 and temp_bs_class < 200:
- result = 1
- end
- killvar 'temp_bs_class'
- elseif $ARGS[0] = 'body_bmi_normal':
- temp_bs_class = func('body_structure', 'get_class')
- if temp_bs_class >= 200 and temp_bs_class < 400:
- result = 1
- end
- killvar 'temp_bs_class'
- elseif $ARGS[0] = 'body_bmi_overweight':
- temp_bs_class = func('body_structure', 'get_class')
- if temp_bs_class >= 400 and temp_bs_class < 500:
- result = 1
- end
- killvar 'temp_bs_class'
- elseif $ARGS[0] = 'body_bmi_obese':
- temp_bs_class = func('body_structure', 'get_class')
- if temp_bs_class >= 500:
- result = 1
- end
- killvar 'temp_bs_class'
- end
- !!To be checked
- if $ARGS[0] = 'body_eyes_brown':
- if pcs_eyecol = 0:
- result = 1
- end
- elseif $ARGS[0] = 'body_eyes_grey':
- if pcs_eyecol = 1:
- result = 1
- end
- elseif $ARGS[0] = 'body_eyes_green':
- if pcs_eyecol = 2:
- result = 1
- end
- elseif $ARGS[0] = 'body_eyes_blue':
- if pcs_eyecol = 3:
- result = 1
- end
- end
- !!To be checked
- if $ARGS[0] = 'body_lips_thin':
- if pcs_lips <= 0:
- result = 1
- end
- elseif $ARGS[0] = 'body_lips_normal':
- if pcs_lips = 1:
- result = 1
- end
- elseif $ARGS[0] = 'body_lips_plump':
- if pcs_lips = 2:
- result = 1
- end
- elseif $ARGS[0] = 'body_lips_big':
- if pcs_lips = 3:
- result = 1
- end
- elseif $ARGS[0] = 'body_lips_pillowy':
- if pcs_lips >= 4:
- result = 1
- end
- end
- !!To be checked
- if $ARGS[0] = 'body_skin_bad':
- if pcs_skin <= 399:
- result = 1
- end
- elseif $ARGS[0] = 'body_skin_normal':
- if pcs_skin >= 400 and pcs_skin <= 599:
- result = 1
- end
- elseif $ARGS[0] = 'body_skin_good':
- if pcs_skin >= 600:
- result = 1
- end
- end
- if $ARGS[0] = 'body_strength_weak':
- if stren_plus_lvl <= 0 and strenbuf <= 20:
- result = 1
- end
- elseif $ARGS[0] = 'body_strength_normal':
- if stren_plus_lvl <= 0 and strenbuf >= 21 and strenbuf <= 60:
- result = 1
- end
- elseif $ARGS[0] = 'body_strength_athletic':
- if stren_plus_lvl <= 0 and strenbuf >= 61 and strenbuf <= 100:
- result = 1
- end
- elseif $ARGS[0] = 'body_strength_strong':
- if stren_plus_lvl > 0 and strenbuf >= 100 and strenbuf <= 150:
- result = 1
- end
- elseif $ARGS[0] = 'body_strength_manly':
- if stren_plus_lvl > 0 and strenbuf >= 151:
- result = 1
- end
- end
- !!To be checked
- if $ARGS[0] = 'body_sweat_none':
- if pcs_sweat <= 21:
- result = 1
- end
- elseif $ARGS[0] = 'body_sweat_sweaty':
- if pcs_sweat >= 22 and pcs_sweat <= 39:
- result = 1
- end
- elseif $ARGS[0] = 'body_sweat_stinky':
- if pcs_sweat >= 40:
- result = 1
- end
- end
- !!To be checked
- if $ARGS[0] = 'body_tits_small':
- !! flat to A-cup
- if pcs_cupsize <= 10:
- result = 1
- end
- elseif $ARGS[0] = 'body_tits_average':
- !! B- to D-cup
- if pcs_cupsize >= 11 and pcs_cupsize <= 25:
- result = 1
- end
- elseif $ARGS[0] = 'body_tits_big':
- !! E- to G-cup
- if pcs_cupsize >= 26 and pcs_cupsize <= 40:
- result = 1
- end
- elseif $ARGS[0] = 'body_tits_huge':
- !! H-cup and bigger
- if pcs_cupsize >= 41:
- result = 1
- end
- end
- if $ARGS[0] = 'body_fit':
- if pcs_bmi >= 19 and pcs_bmi <= 24 and (pcs_vital*2 + pcs_agil + pcs_stren)/4 >= 60:
- result = 1
- end
- elseif $ARGS[0] = 'body_pregnant':
- if func('body_din', 'pregnancyVisibility'):
- result = 1
- end
- elseif $ARGS[0] = 'body_tan':
- if pcs_tan >= 5:
- result = 1
- end
- elseif $ARGS[0] = 'body_tan_not':
- if pcs_tan <= 5:
- result = 1
- end
- end
- !!-------------------------------------------------------------------!!
- !! !!
- !! Clothes !!
- !! !!
- !!-------------------------------------------------------------------!!
- if $ARGS[0] = 'clothes_exposed_ass':
- !! if $pantyworntype = 'none' and ($clothingworntype = 'nude' or PCloThinness >= 5 or PCloPants = 6 or PCloSkirt => 5 or PCloCoverBack >= 1):
- if CoverBack >= 1:
- result = 1
- end
- elseif $ARGS[0] = 'clothes_exposed_bra':
- !! if $braworntype ! 'none' and ($clothingworntype = 'nude' or PCloThinness >= 5 or CloTopCut >= 3):
- if $braworntype ! 'none' and PBraCover >= 1:
- result = 1
- end
- elseif $ARGS[0] = 'clothes_exposed_panties':
- !! if $pantyworntype ! 'none' and ($clothingworntype = 'nude' or PCloThinness >= 5 or PCloPants = 6 or PCloSkirt => 5):
- if $pantyworntype ! 'none' and (PCloCoverBack >= 1 or PCloCoverFront >= 1):
- result = 1
- end
- elseif $ARGS[0] = 'clothes_exposed_pussy':
- !! if $pantyworntype = 'none' and ($clothingworntype = 'nude' or PCloThinness >= 5 or PCloPants = 6 or PCloSkirt => 5 or PCloCoverFront >= 1):
- if CoverFront >= 1:
- result = 1
- end
- elseif $ARGS[0] = 'clothes_exposed_tits':
- !! if $braworntype = 'none' and ($clothingworntype = 'nude' or PCloThinness >= 5 or CloTopCut >= 3 or PCloCoverTop >= 1):
- if CoverTop >= 1:
- result = 1
- end
- end
- if $ARGS[0] = 'clothes_skirt_long':
- if CloSkirtShortness <= 2:
- result = 1
- end
- elseif $ARGS[0] = 'clothes_skirt_normal':
- if CloSkirtShortness >= 3 and CloSkirtShortness <= 4:
- result = 1
- end
- elseif $ARGS[0] = 'clothes_skirt_short':
- if CloSkirtShortness >= 5:
- result = 1
- end
- elseif $ARGS[0] = 'clothes_style_bimbo':
- if PCloBimbo = 1 and PShoBimbo = 1 and pcs_makeup = 6:
- result = 1
- end
- elseif $ARGS[0] = 'clothes_style_goth':
- if PCloGoth = 1 and PShoGoth = 1 and pcs_makeup = 7:
- result = 1
- end
- elseif $ARGS[0] = 'clothes_style_punk':
- if PCloPunk = 1 and PShoPunk = 1 and (pcs_makeup >= 1 and pcs_makeup <= 2):
- result = 1
- end
- elseif $ARGS[0] = 'clothes_thin':
- if CloThinness >= 5:
- result = 1
- end
- end
- !!-------------------------------------------------------------------!!
- !! !!
- !! Cosmetics !!
- !! !!
- !!-------------------------------------------------------------------!!
- !! To be checked
- if $ARGS[0] = 'cosmetics_deodorant':
- if deodorant_on ! 0:
- result = 1
- end
- elseif $ARGS[0] = 'cosmetics_makeup':
- if pcs_makeup > 1:
- result = 1
- end
- elseif $ARGS[0] = 'cosmetics_piercing':
- if (pirsA > 0 and pirsA < 10000) or (pirsB > 0 and pirsB < 10000) or (pirsD > 0 and pirsD < 10000) or (pirsE > 0 and pirsE < 10000) or (pirsE > 0 and pirsE < 10000 and (PCloBra > 0 or CloThinness > 5)):
- result = 1
- end
- elseif $ARGS[0] = 'cosmetics_tattoo':
- if tatarm >= 1 or tatlip >= 1 or tatneck >= 1 or tathand >= 1 or tatfce >= 1 or ((tatback >= 1 or tatblly >= 1 or tatside >= 1 or tatlech >= 1 or tatwrist >= 1) and (PCloBra > 0 or CloThinness > 5)) or (tatankle >= 1 and (CloSkirtShortness > 1 or CloPantsShortness > 1)) or (tatleg >= 1 and (CloSkirtShortness > 2 or CloPantsShortness > 2)):
- result = 1
- end
- end
- !!-------------------------------------------------------------------!!
- !! !!
- !! Cum !!
- !! !!
- !!-------------------------------------------------------------------!!
- if $ARGS[0] = 'cum_face':
- if cumloc[11] = 1 or cumloc[16] = 1:
- result = 1
- end
- elseif $ARGS[0] = 'cum_clothes':
- if cumloc[6] = 1 or cumloc[7] = 1:
- result = 1
- end
- end
- !!-------------------------------------------------------------------!!
- !! !!
- !! Hair !!
- !! !!
- !!-------------------------------------------------------------------!!
- if $ARGS[0] = 'hair_color_black':
- if pcs_haircol = 0:
- result = 1
- end
- elseif $ARGS[0] = 'hair_color_brown':
- if pcs_haircol = 1:
- result = 1
- end
- elseif $ARGS[0] = 'hair_color_red':
- if pcs_haircol = 2:
- result = 1
- end
- elseif $ARGS[0] = 'hair_color_blonde':
- if pcs_haircol = 3:
- result = 1
- end
- elseif $ARGS[0] = 'hair_color_dyed':
- if pcs_haircol >= 4:
- result = 1
- end
- end
- if $ARGS[0] = 'hair_length_veryshort':
- if pcs_hairlng <= 30:
- result = 1
- end
- elseif $ARGS[0] = 'hair_length_short':
- if pcs_hairlng >= 31 and pcs_hairlng <= 80:
- result = 1
- end
- elseif $ARGS[0] = 'hair_length_chin':
- if pcs_hairlng >= 81 and pcs_hairlng <= 160:
- result = 1
- end
- elseif $ARGS[0] = 'hair_length_shoulder':
- if pcs_hairlng >= 161 and pcs_hairlng <= 260:
- result = 1
- end
- elseif $ARGS[0] = 'hair_length_bra':
- if pcs_hairlng >= 261 and pcs_hairlng <= 400:
- result = 1
- end
- elseif $ARGS[0] = 'hair_length_long':
- if pcs_hairlng >= 401:
- result = 1
- end
- end
- if $ARGS[0] = 'hair_pubes_shaven':
- if pcs_pubes <= 10 or lashair = 1:
- result = 1
- end
- elseif $ARGS[0] = 'hair_pubes_grown':
- if pcs_pubes >= 11 and lashair = 0:
- result = 1
- end
- !! needs to be finished
- elseif $ARGS[0] = 'hair_pubes_styled':
- result = 0
- if pcs_pubes >= 17 and pcs_pubes <= 25 and lashair = 0 and func('pcs_has_attr', 'clothes_exposed_pussy'):
- if (pubestyle >= 2 and pubestyle <= 9) or (pubestyle >= 12 and pubestyle <= 14):
- result = 1
- end
- end
- end
- if $ARGS[0] = 'hair_leg':
- if pcs_leghair >= 4:
- result = 1
- end
- elseif $ARGS[0] = 'hair_leg_not':
- if pcs_leghair <= 3:
- result = 1
- end
- elseif $ARGS[0] = 'hair_curly':
- if curly >= 1:
- result = 1
- end
- elseif $ARGS[0] = 'hair_straight':
- if curly <= 0:
- result = 1
- end
- end
- --- pcs_has_attr ---------------------------------
|