image CG lun_intro luna bendover = Fixed( "images/CG/lun_intro/bg.webp", "images/CG/lun_intro/luna.webp", ) image CG lun_intro luna bendover naked = Fixed( "images/CG/lun_intro/bg.webp", "images/CG/lun_intro/luna_naked.webp", ) layeredimage lun_blowjob_personal_pose1: fit "cover" fit_first True always "lun_blowjob_personal_background" always "lun_blowjob_personal_pose1_luna_base" always "lun_blowjob_personal_genie_back" group luna_cheeks auto prefix "cheeks": attribute none null default group luna_mouth auto prefix "mouth": attribute base default group luna_eyes auto prefix "eyes": attribute base_stare default group luna_eyebrows auto prefix "eyebrows": attribute base default always "lun_blowjob_personal_pose1_luna_hair" attribute penis default if_not ["trousers"] attribute penis_shadow default if_not ["trousers"] attribute penis_spit group throatpie auto prefix "throatpie" group handjob prefix "handjob" if_not ["trousers"]: attribute idle Fixed("lun_blowjob_personal_pose1_luna_stroke_down_shadow", "lun_blowjob_personal_pose1_luna_stroke_down") default attribute slow attribute moderate attribute fast always "lun_blowjob_personal_tabletop" group genie_arm auto prefix "genie_arm": attribute idle "lun_blowjob_personal_genie_arm_idle" attribute down null default always "lun_blowjob_personal_genie_front" group genie: attribute trousers "lun_blowjob_personal_genie_trousers" default attribute no_trousers null group cum auto prefix "cum" if_not ["trousers"]: attribute precum default always "lun_blowjob_personal_vignette" layeredimage lun_blowjob_personal_pose2: fit "cover" fit_first True always "lun_blowjob_personal_background" always "lun_blowjob_personal_pose2_luna_base" always "lun_blowjob_personal_genie_back" group luna_cheeks auto prefix "cheeks": attribute none null default group luna_mouth auto prefix "mouth": attribute lick default group luna_eyes auto prefix "eyes": attribute base_stare default group luna_eyebrows auto prefix "eyebrows": attribute base default always "lun_blowjob_personal_pose2_luna_hair" attribute penis default attribute penis_spit group throatpie auto prefix "throatpie" attribute idle "lun_blowjob_personal_pose2_luna_stroke_down" default always "lun_blowjob_personal_tabletop" group genie_arm auto prefix "genie_arm": attribute idle "lun_blowjob_personal_genie_arm_idle" attribute down null default always "lun_blowjob_personal_genie_front" group genie: attribute no_trousers null default # group cum auto prefix "cum" if_not ["trousers"]: # attribute precum default always "lun_blowjob_personal_vignette" layeredimage lun_blowjob_personal_pose3: fit "cover" fit_first True always "lun_blowjob_personal_background" always "lun_blowjob_personal_pose3_luna_base" always "lun_blowjob_personal_genie_back" group luna_cheeks auto prefix "cheeks": attribute none null default group luna_eyes auto prefix "eyes": attribute base_stare default group luna_eyebrows auto prefix "eyebrows": attribute base default always "lun_blowjob_personal_pose3_luna_hair" attribute penis default group luna_mouth auto prefix "mouth": attribute suck default attribute penis_spit group throatpie auto prefix "throatpie" attribute idle "lun_blowjob_personal_pose3_luna_stroke_down" default always "lun_blowjob_personal_tabletop" group genie_arm auto prefix "genie_arm": attribute idle "lun_blowjob_personal_genie_arm_idle" attribute down null default always "lun_blowjob_personal_genie_front" group genie: attribute no_trousers null default # group cum auto prefix "cum" if_not ["trousers"]: # attribute precum default always "lun_blowjob_personal_vignette" layeredimage lun_blowjob_personal_pose4: fit "cover" fit_first True always "lun_blowjob_personal_background" always "lun_blowjob_personal_genie_back" always "lun_blowjob_personal_pose4_luna_base" group luna_cheeks auto prefix "cheeks": attribute none null default group luna_eyes auto prefix "eyes": attribute base_stare default group luna_eyebrows auto prefix "eyebrows": attribute base default always "lun_blowjob_personal_pose4_luna_hair" attribute penis default group luna_mouth auto prefix "mouth": attribute suck default attribute penis_spit group throatpie auto prefix "throatpie" attribute idle "lun_blowjob_personal_pose4_luna_stroke_down" default always "lun_blowjob_personal_tabletop" group genie_arm auto prefix "genie_arm": attribute idle "lun_blowjob_personal_genie_arm_idle" attribute down null default always "lun_blowjob_personal_genie_front" group genie: attribute no_trousers null default # group cum auto prefix "cum" if_not ["trousers"]: # attribute precum default always "lun_blowjob_personal_vignette" layeredimage lun_blowjob_personal_pose5: fit "cover" fit_first True always "lun_blowjob_personal_background" always "lun_blowjob_personal_genie_back" always "lun_blowjob_personal_pose5_luna_base" group luna_cheeks auto prefix "cheeks": attribute none null default group luna_eyes auto prefix "eyes": attribute base_stare default group luna_eyebrows auto prefix "eyebrows": attribute base default always "lun_blowjob_personal_pose5_luna_hair" attribute penis default group luna_mouth auto prefix "mouth": attribute suck default attribute penis_spit attribute luna_frothing group throatpie auto prefix "throatpie" attribute idle "lun_blowjob_personal_pose5_luna_stroke_down" default always "lun_blowjob_personal_tabletop" group genie_arm auto prefix "genie_arm": attribute idle "lun_blowjob_personal_genie_arm_idle" attribute down null default always "lun_blowjob_personal_genie_front" group genie: attribute no_trousers null default always "lun_blowjob_personal_vignette" image lun_blowjob_personal_loop: "lun_blowjob_personal_pose3 penis_spit eyebrows_worried eyes_halflid_stare" with d1 pause 0.35 "lun_blowjob_personal_pose4 penis_spit eyebrows_worried eyes_halflid_up" with d1 pause 0.25 "lun_blowjob_personal_pose5 penis_spit eyebrows_angry eyes_halflid_up" with d1 pause 0.45 "lun_blowjob_personal_pose4 penis_spit eyebrows_worried eyes_halflid_stare" with d1 pause 0.25 "lun_blowjob_personal_pose3 penis_spit eyebrows_worried eyes_halflid_stare" with d1 pause 0.25 repeat image lun_blowjob_personal_loop_ahegao: "lun_blowjob_personal_pose3 penis_spit eyebrows_worried eyes_halflid_stare_hearts" with d1 pause 0.35 "lun_blowjob_personal_pose4 penis_spit eyebrows_worried eyes_halflid_up_hearts" with d1 pause 0.15 "lun_blowjob_personal_pose5 penis_spit eyebrows_worried eyes_halflid_up_hearts" with d1 pause 0.45 "lun_blowjob_personal_pose4 penis_spit eyebrows_worried eyes_halflid_stare_hearts" with d1 pause 0.15 "lun_blowjob_personal_pose3 penis_spit eyebrows_worried eyes_halflid_stare_hearts" with d1 pause 0.15 repeat image lun_blowjob_personal_loop_ahegao_hold: "lun_blowjob_personal_pose3 penis_spit eyebrows_worried genie_arm_petting eyes_halflid_up_hearts" with d1 pause 0.2 "lun_blowjob_personal_pose4 penis_spit eyebrows_worried genie_arm_petting eyes_halflid_down_hearts" with d1 pause 0.10 "lun_blowjob_personal_pose5 penis_spit eyebrows_worried genie_arm_petting eyes_halflid_stare_hearts" with d1 pause 0.2 "lun_blowjob_personal_pose4 penis_spit eyebrows_worried genie_arm_petting eyes_halflid_up_hearts" with d1 pause 0.10 "lun_blowjob_personal_pose3 penis_spit eyebrows_worried genie_arm_petting eyes_halflid_up_hearts" with d1 pause 0.10 repeat image lun_blowjob_personal_loop_ahegao_hold_down: "lun_blowjob_personal_pose3 penis_spit eyebrows_worried genie_arm_petting eyes_halflid_up_hearts" with d1 pause 0.2 "lun_blowjob_personal_pose4 penis_spit eyebrows_worried genie_arm_petting eyes_halflid_down_hearts" with d1 pause 0.10 "lun_blowjob_personal_pose5 penis_spit eyebrows_worried genie_arm_petting eyes_halflid_stare_hearts" with d1 pause 0.6 "lun_blowjob_personal_pose4 penis_spit eyebrows_worried genie_arm_petting eyes_halflid_up_hearts" with d1 pause 0.10 "lun_blowjob_personal_pose3 penis_spit eyebrows_worried genie_arm_petting eyes_halflid_up_hearts" with d1 pause 0.10 repeat image lun_blowjob_personal_pose1_handjob_slow: Fixed( "lun_blowjob_personal_pose1_luna_stroke_down_shadow", "lun_blowjob_personal_pose1_luna_stroke_down") pause 0.5 Fixed( "lun_blowjob_personal_pose1_luna_stroke_up_shadow", "lun_blowjob_personal_pose1_luna_stroke_up") pause 0.5 repeat image lun_blowjob_personal_pose1_handjob_moderate: Fixed( "lun_blowjob_personal_pose1_luna_stroke_down_shadow", "lun_blowjob_personal_pose1_luna_stroke_down") pause 0.35 Fixed( "lun_blowjob_personal_pose1_luna_stroke_up_shadow", "lun_blowjob_personal_pose1_luna_stroke_up") pause 0.35 repeat image lun_blowjob_personal_pose1_handjob_fast: Fixed( "lun_blowjob_personal_pose1_luna_stroke_down_shadow", "lun_blowjob_personal_pose1_luna_stroke_down", "lun_blowjob_personal_pose1_luna_stroke_down_speedlines") pause 0.2 Fixed( "lun_blowjob_personal_pose1_luna_stroke_up_shadow", "lun_blowjob_personal_pose1_luna_stroke_up", "lun_blowjob_personal_pose1_luna_stroke_up_speedlines") pause 0.2 repeat layeredimage lun_grind: fit "contain" fit_first True always "lun_grind_background" group body: attribute idle "lun_grind_idle" default attribute grind "lun_grind_grind" # animation attribute spread "lun_grind_spread" # animation attribute cumshot "lun_grind_cumshot" # animation attribute resting "lun_grind_resting" attribute resting_spread "lun_grind_resting_spread" attribute spring_out "lun_grind_spring_out" # animation image lun_grind_border: fit "contain" HBox("interface/frames/cg_frame.webp", Null(2878, 3840), Transform("interface/frames/cg_frame.webp", xzoom=-1)) image lun_grind_idle: Fixed( "lun_grind_body_idle", "lun_grind_penis_grind_frame0") image lun_grind_resting: Fixed( "lun_grind_body_idle", "lun_grind_penis_tease_frame0") image lun_grind_resting_spread: Fixed( "lun_grind_body_spread", "lun_grind_penis_tease_frame1") image lun_grind_grind: Fixed( "lun_grind_body_idle", "lun_grind_penis_grind_frame0") pause 0.44 Fixed( "lun_grind_body_grind", "lun_grind_penis_grind_frame1") pause 0.44 repeat image lun_grind_spring_out: Fixed( "lun_grind_body_spread", "lun_grind_penis_tease_frame1") pause 0.3 Fixed( "lun_grind_body_spread", "lun_grind_penis_tease_frame0") pause 0.3 Fixed( "lun_grind_body_spread", "lun_grind_penis_grind_frame1") image lun_grind_spread: Fixed( "lun_grind_body_spread", "lun_grind_penis_grind_frame1") image lun_grind_cumshot: Fixed( "lun_grind_body_spread", "lun_grind_penis_grind_frame1", "lun_grind_cumshot_frame0") pause 0.2 Fixed( "lun_grind_body_spread", "lun_grind_penis_grind_frame1", "lun_grind_cumshot_frame1") pause 0.2 Fixed( "lun_grind_body_spread", "lun_grind_penis_grind_frame1", "lun_grind_cumshot_frame2") pause 0.2 Fixed( "lun_grind_body_spread", "lun_grind_penis_grind_frame1", "lun_grind_cumshot_frame3") pause 0.2 Fixed( "lun_grind_body_spread", "lun_grind_penis_grind_frame1", "lun_grind_cumshot_frame4") pause 0.12 Fixed( "lun_grind_body_spread", "lun_grind_penis_grind_frame1", "lun_grind_cumshot_frame5") layeredimage lun_inspect spread_legs: fit "cover" fit_first True always "lun_inspect_background" always "lun_inspect_chair" always "lun_inspect_genie_body" attribute genie_clothes_back "lun_inspect_genie_clothes_back" if_all ["genie_clothes"] default always "lun_inspect_spread_legs_luna_shadow" if_not ["genie_clothes"] always "lun_inspect_spread_legs_luna_hair_back" always "lun_inspect_spread_legs_luna_body" attribute breastfix "lun_inspect_background_breastfix" default if_any ["luna_bra", "arms_grab", "arms_touch_tits"] group luna_arm prefix "luna_arm" auto: attribute idle default group luna_fluids auto multiple group luna_clothes variant "luna_clothes" multiple: attribute stockings attribute panties attribute bra if_not ["luna_shirt", "arms_grab", "arms_touch_tits"] attribute shirt attribute skirt attribute blush "lun_inspect_spread_legs_luna_face_blush" group luna_face_mouth prefix "mouth" auto: attribute base default group luna_face_eyebrows prefix "eyebrows" auto: attribute base default group luna_face_eyes prefix "eyes" auto: attribute base_stare default always "lun_inspect_spread_legs_luna_hair_front" attribute genie_clothes_hood "lun_inspect_genie_clothes_hood" if_all ["genie_clothes"] default always "lun_inspect_genie_head" group genie_arm_right prefix "arm_right" if_not ["arms_grab", "arms_touch_tits"]: attribute idle "lun_inspect_genie_arm_right_idle" default attribute touch_mound "lun_inspect_genie_arm_right_touch_mound" attribute touch_tit "lun_inspect_genie_arm_right_touch_tit" attribute touch_pussy "lun_inspect_arm_right_touch_pussy" attribute touch_pussy_pause "lun_inspect_genie_arm_right_spread_legs_touch_pussy_frame0" attribute touch_pussy_inserted "lun_inspect_genie_arm_right_spread_legs_touch_pussy_frame1" attribute down null group genie_arm_left prefix "arm_left" if_not ["arms_grab", "arms_touch_tits"]: attribute hold "lun_inspect_genie_arm_left_hold" default attribute touch_tit "lun_inspect_genie_arm_left_grab" group genie_arms prefix "arms": attribute grab "lun_inspect_genie_arm_both_grab_tits" attribute touch_tits "lun_inspect_genie_arm_both_touch_tits" attribute genie_clothes_front "lun_inspect_genie_clothes" if_all ["genie_clothes"] default attribute luna_bra "lun_inspect_spread_legs_luna_bra_grab" if_any ["arms_grab", "arms_touch_tits"] always "lun_inspect_vignette" attribute genie_clothes null layeredimage lun_inspect legs_together: fit "cover" fit_first True always "lun_inspect_background" always "lun_inspect_chair" always "lun_inspect_genie_body" attribute genie_clothes_back "lun_inspect_genie_clothes_back" if_all ["genie_clothes"] default always "lun_inspect_legs_together_luna_shadow" if_not ["genie_clothes"] always "lun_inspect_legs_together_luna_hair_back" always "lun_inspect_legs_together_luna_body" attribute breastfix "lun_inspect_background_breastfix" default if_any ["luna_bra", "arms_grab", "arms_touch_tits"] group luna_arm prefix "luna_arm" auto: attribute idle default group luna_clothes variant "luna_clothes" multiple: attribute stockings attribute panties attribute bra if_not ["luna_shirt", "arms_grab", "arms_touch_tits"] attribute shirt attribute skirt attribute blush "lun_inspect_legs_together_luna_face_blush" group luna_face_mouth prefix "mouth" auto: attribute base default group luna_face_eyebrows prefix "eyebrows" auto: attribute base default group luna_face_eyes prefix "eyes" auto: attribute base_stare default always "lun_inspect_legs_together_luna_hair_front" attribute genie_clothes_hood "lun_inspect_genie_clothes_hood" if_all ["genie_clothes"] default always "lun_inspect_genie_head" group genie_arm_right prefix "arm_right" if_not ["arms_grab", "arms_touch_tits"]: attribute idle "lun_inspect_genie_arm_right_idle" default attribute touch_mound "lun_inspect_genie_arm_right_touch_mound" attribute touch_tit "lun_inspect_genie_arm_right_touch_tit" attribute touch_pussy "lun_inspect_arm_right_touch_pussy_alt" attribute touch_pussy_pause "lun_inspect_genie_arm_right_touch_pussy_frame0" attribute touch_pussy_inserted "lun_inspect_genie_arm_right_touch_pussy_frame1" attribute down null group genie_arm_left prefix "arm_left" if_not ["arms_grab", "arms_touch_tits"]: attribute hold "lun_inspect_genie_arm_left_hold" default attribute touch_tit "lun_inspect_genie_arm_left_grab" group genie_arms prefix "arms": attribute grab "lun_inspect_genie_arm_both_grab_tits" attribute touch_tits "lun_inspect_genie_arm_both_touch_tits" attribute genie_clothes_front "lun_inspect_genie_clothes" if_all ["genie_clothes"] default attribute luna_bra "lun_inspect_legs_together_luna_bra_grab" if_any ["arms_grab", "arms_touch_tits"] always "lun_inspect_vignette" attribute genie_clothes null layeredimage lun_inspect head_back_spread_legs: fit "cover" fit_first True always "lun_inspect_background" always "lun_inspect_chair" always "lun_inspect_genie_body" always "lun_inspect_head_back_spread_legs_luna_shadow" if_not ["genie_clothes"] always "lun_inspect_head_back_spread_legs_luna_hair_back" always "lun_inspect_head_back_spread_legs_luna_body" attribute breastfix "lun_inspect_background_breastfix" default if_any ["luna_bra", "arms_grab", "arms_touch_tits"] group luna_arm prefix "luna_arm" auto: attribute idle default group luna_fluids auto multiple group luna_clothes variant "luna_clothes" multiple: attribute stockings attribute panties attribute bra if_not ["luna_shirt", "arms_grab", "arms_touch_tits"] attribute shirt attribute skirt attribute blush "lun_inspect_head_back_spread_legs_luna_face_blush" group luna_face_mouth prefix "mouth" auto: attribute open default group luna_face_eyebrows prefix "eyebrows" auto: attribute base default group luna_face_eyes prefix "eyes" auto: attribute base_right default always "lun_inspect_head_back_spread_legs_luna_hair_front" always "lun_inspect_genie_head" group genie_arm_right prefix "arm_right" if_not ["arms_grab", "arms_touch_tits"]: # attribute idle "lun_inspect_genie_arm_right_idle" default attribute touch_mound "lun_inspect_genie_arm_right_touch_mound" default attribute touch_tit "lun_inspect_genie_arm_right_touch_tit" attribute touch_pussy "lun_inspect_arm_right_touch_pussy" attribute touch_pussy_pause "lun_inspect_genie_arm_right_spread_legs_touch_pussy_frame0" attribute touch_pussy_inserted "lun_inspect_genie_arm_right_spread_legs_touch_pussy_frame1" attribute down null group genie_arm_left prefix "arm_left" if_not ["arms_grab", "arms_touch_tits"]: attribute hold "lun_inspect_genie_arm_left_hold" default attribute touch_tit "lun_inspect_genie_arm_left_grab" group genie_arms prefix "arms": attribute grab "lun_inspect_genie_arm_both_grab_tits" attribute touch_tits "lun_inspect_genie_arm_both_touch_tits" attribute luna_bra "lun_inspect_head_back_spread_legs_luna_bra_grab" if_any ["arms_grab", "arms_touch_tits"] always "lun_inspect_vignette" layeredimage lun_inspect head_back_legs_together: fit "cover" fit_first True always "lun_inspect_background" always "lun_inspect_chair" always "lun_inspect_genie_body" always "lun_inspect_head_back_legs_together_luna_shadow" if_not ["genie_clothes"] always "lun_inspect_head_back_legs_together_luna_hair_back" always "lun_inspect_head_back_legs_together_luna_body" attribute breastfix "lun_inspect_background_breastfix" default if_any ["luna_bra", "arms_grab", "arms_touch_tits"] group luna_arm prefix "luna_arm" auto: attribute idle default group luna_clothes variant "luna_clothes" multiple: attribute stockings attribute panties attribute bra if_not ["luna_shirt", "arms_grab", "arms_touch_tits"] attribute shirt attribute skirt attribute blush "lun_inspect_head_back_legs_together_luna_face_blush" group luna_face_mouth prefix "mouth" auto: attribute open default group luna_face_eyebrows prefix "eyebrows" auto: attribute base default group luna_face_eyes prefix "eyes" auto: attribute base_right default always "lun_inspect_head_back_legs_together_luna_hair_front" always "lun_inspect_genie_head" group genie_arm_right prefix "arm_right" if_not ["arms_grab", "arms_touch_tits"]: # attribute idle "lun_inspect_genie_arm_right_idle" default # attribute touch_mound "lun_inspect_genie_arm_right_touch_mound" attribute touch_tit "lun_inspect_genie_arm_right_touch_tit" default attribute touch_pussy "lun_inspect_arm_right_touch_pussy_alt" attribute touch_pussy_pause "lun_inspect_genie_arm_right_touch_pussy_frame0" attribute touch_pussy_inserted "lun_inspect_genie_arm_right_touch_pussy_frame1" attribute down null group genie_arm_left prefix "arm_left" if_not ["arms_grab", "arms_touch_tits"]: attribute hold "lun_inspect_genie_arm_left_hold" default attribute touch_tit "lun_inspect_genie_arm_left_grab" group genie_arms prefix "arms": attribute grab "lun_inspect_genie_arm_both_grab_tits" attribute touch_tits "lun_inspect_genie_arm_both_touch_tits" attribute luna_bra "lun_inspect_head_back_legs_together_luna_bra_grab" if_any ["arms_grab", "arms_touch_tits"] always "lun_inspect_vignette" image lun_inspect_arm_right_touch_pussy: "lun_inspect_genie_arm_right_spread_legs_touch_pussy_frame0" pause 0.5 "lun_inspect_genie_arm_right_spread_legs_touch_pussy_frame1" pause 0.5 repeat image lun_inspect_arm_right_touch_pussy_alt: "lun_inspect_genie_arm_right_touch_pussy_frame0" pause 0.5 "lun_inspect_genie_arm_right_touch_pussy_frame1" pause 0.5 repeat layeredimage lun_talk: fit "cover" fit_first True always "lun_talk_background" always "lun_talk_torso" group blush prefix "blush" auto: attribute base default group eyes prefix "eyes" auto: attribute base_stare default group mouth prefix "mouth" auto: attribute base default group eyebrows prefix "eyebrows" auto: attribute base default always "lun_talk_hair" group arm_right prefix "arm_right" if_not ["arms_grab_chest"]: attribute rest default always "lun_talk_book" group arm_left prefix "arm_left" if_not ["arms_grab_chest"]: attribute rest default always "lun_talk_chest" if_not ["arms_grab_chest", "legs_down"] attribute arms_grab_chest group legs prefix "legs" auto: attribute down default group arm_right prefix "arm_right" if_not ["arms_grab_chest"]: attribute hold_leg_variant_legs_up attribute hold_leg_variant_legs_side group arm_left prefix "arm_left" if_not ["arms_grab_chest"]: attribute hold_leg_variant_legs_up attribute hold_leg_variant_legs_side attribute masturbate_variant_legs_up attribute masturbate_variant_legs_side attribute spread_variant_legs_up always "lun_talk_chest" if_not ["arms_grab_chest", "legs_side"] group cum prefix "cum" auto multiple group wet prefix "wet" auto