Files
ComfyUI-Ethanfel-Prompt-Bui…/hardcore_role_anal.py
T

61 lines
3.3 KiB
Python

from __future__ import annotations
from typing import Any
try:
from . import item_axis_policy
except ImportError: # Allows local smoke tests with top-level imports.
import item_axis_policy
def _context_text(item_text: str, item_axis_values: dict[str, Any] | None) -> str:
return item_axis_policy.context_text(item_text, axis_values=item_axis_values)
def _anal_position_graph(woman: str, man: str, context: str) -> str:
if "bent-over" in context or "bent over" in context:
return f"{woman} is bent forward with hips raised while {man} stands behind her and thrusts his penis into her ass."
if "face-down" in context:
return f"{woman} lies face-down with ass raised while {man} is positioned behind her and thrusts his penis into her ass."
if "doggy" in context or "rear-entry" in context:
return f"{woman} is on all fours with hips raised while {man} is positioned behind her and thrusts his penis into her ass."
if "standing" in context:
return f"{woman} stands braced with hips angled back while {man} stands behind her and thrusts his penis into her ass."
if "spooning" in context or "side-lying" in context:
return f"{woman} lies on her side with thighs parted while {man} presses behind her and thrusts his penis into her ass."
if "edge-of-bed" in context or "edge of bed" in context or "bed edge" in context or "edge-supported" in context:
return f"{woman} lies near a raised edge with hips exposed while {man} kneels behind her and thrusts his penis into her ass."
if "kneeling" in context:
return f"{woman} kneels forward with hips raised while {man} kneels behind her and thrusts his penis into her ass."
return f"{woman} is on all fours with hips raised while {man} is positioned behind her and thrusts his penis into her ass."
def _two_person_double_graph(woman: str, man: str, context: str) -> str:
if "bent-over" in context or "bent over" in context:
return f"{woman} is bent forward with hips raised while {man} is positioned behind her and thrusts his penis into her ass."
if "face-down" in context:
return f"{woman} lies face-down with hips raised while {man} is positioned behind her and thrusts his penis into her ass."
if "standing" in context:
return f"{woman} stands braced with hips raised while {man} is positioned behind her and thrusts his penis into her ass."
if "kneeling" in context:
return f"{woman} kneels forward with hips raised while {man} is positioned behind her and thrusts his penis into her ass."
return f"{woman} is on all fours with hips raised while {man} is positioned behind her and thrusts his penis into her ass."
def build_anal_or_double_role_graph(
woman: str,
man: str,
third: str,
people_count: int,
item_text: str,
item_axis_values: dict[str, Any] | None = None,
) -> str:
context = _context_text(item_text, item_axis_values)
if "double" in context or "toy" in context:
if people_count >= 3 and third:
return f"{man} thrusts his penis into {woman} while {third} adds a second penetration point from the front."
return _two_person_double_graph(woman, man, context)
if people_count >= 3 and third:
return f"{man} thrusts his penis into {woman} while {third} gives oral contact from the front."
return _anal_position_graph(woman, man, context)