5.4 KiB
CAM-B2p-G-PC : C3 dans le cycle C du sexe (G-d) et panneau des positions (G-g) (PC, fiche lp-mcp-bp, 2026-10-14)
SPEC : CAM-B2p-G-SPEC.md § 2 (G-d, option 1) et § 5.4 (G-g). UE-GO de Big Boss (PC pour G-d, et G-g si la DIAG le
demande : elle le demande). PC seul ; ni Room, ni GI, ni Person. Un seul appel MCP à la fois. Type vérifié avant
chaque create_node.
Barème
a0 b1 c1 d0 e1 f1 = 4 → N3 (MCP) ; S = C3 1 + f 1 = 2 : une fiche. Environ 6 nœuds, 1 variable, 2 coupures,
14 liens, environ 50 appels. Case C9a : état du PC relu dans CAM-B2kmn-VAL_LPDumpFunction_20261014-011816.txt (PC
F45BE57A39D13D3EB19D0B543153AB0B, 1439 nœuds) ; à relire par get_node_infos avant écriture.
Conditions d'entrée
UeState= 0 ; PC =F45BE57A39D13D3EB19D0B543153AB0B(sinon : arrêt et compte rendu).- Instantané pris par l'orchestrateur :
.\Tools\Snapshot.ps1 -Lot CAM-B2p-G-PC -Path Content\BPs\PC.uasset. - unreal-mcp connecté ; éditeur sans demande de recompilation.
État attendu avant écriture (préfixe /Game/BPs/PC.PC:EventGraph.)
| Nœud | Attendu |
|---|---|
K2Node_IfThenElse_23 |
Condition ← VariableGet_51.SexOn ; then → IfThenElse_44.execute ; else → IfThenElse_131 |
K2Node_IfThenElse_44 |
execute ← 23.then et CustomEvent_5.then ; Condition ← CallFunction_139 ; then → VariableSet_25 (POVOn vrai) ; else → VariableSet_30 (POVOn faux) |
K2Node_IfThenElse_123 |
Condition ← VariableGet_233.SexOn ; then → CallFunction_35 (LeftMouseSexOn) ; else → IfThenElse_0 |
K2Node_IfThenElse_15 |
Condition ← VariableGet_22.SexOn ; then → IfThenElse_10 ; else → CallFunction_160 |
K2Node_CustomEvent_11 |
événement LeftMouseSexOn ; then → IfThenElse_10 |
K2Node_InputAction_3 |
action Pause (à confirmer par get_node_infos : nom de l'action) ; Pressed → IfThenElse_63 |
K2Node_IfThenElse_40 |
execute ← 63.else ; then → CallFunction_277 (PlayClick) |
K2Node_CallFunction_277 |
then → VariableSet_0 (GamePaused = NOT GamePaused) |
Si InputAction_3 n'est pas Pause (barre espace), ou pour tout autre écart : arrêt avant écriture de G-g.
G-d peut se faire seul.
Écritures
G-d : SexC3
-
Variable de membre
SexC3(booléen, défaut faux) dans le PC (outil d'ajout de variable de BlueprintTools, comme pourCamC1Onen B1). Relecture. -
Nœuds :
- Branche A, Condition ← nouveau Get
SexC3; - Set
SexC3= faux (S0) ; - Branche B, Condition ← nouveau Get
POVOn(variable du PC) ; - Set
SexC3= vrai (S1).
- Branche A, Condition ← nouveau Get
-
Liens :
23.then→A.execute(remplace 23.then → 44) ;A.then→S0.execute;S0.then→44.execute;A.else→B.execute;B.then→44.execute;B.else→S1.execute;S1.thenvide.
44.executegarde aussiCustomEvent_5.then. -
Effet : Scene (
POVOnfaux,SexC3faux) → C → C3 (SexC3vrai, vue inchangée) → C →SexC3faux, puis POV 1 → … → dernier POV → C → Scene (voie d'origine de 44.else).
G-g : panneau des positions
break_pins123.then→35.execute(le clic court gauche ne bascule plus le panneau pendant le sexe).break_pins15.then→10.execute(même chose pour l'autre bouton).- Branche S (Condition ← nouveau Get
SexOnsurGIdu PC, ou reprise d'un getter existant deGI.SexOn) entre40.thenet277:40.then→S.execute(remplace 40.then → 277) ;S.else→277.execute;S.then→ nouvel appelLeftMouseSexOn(événement personnalisé du PC, cible self) ; then vide.
- Effet : pendant le sexe, Espace bascule le panneau au lieu de mettre en pause. Le clic molette est fait par le C++ (B2p-G). Hors sexe, rien ne change.
Fin
- Relecture de tous les nœuds touchés et de leurs voisins (23, 44, CustomEvent_5, 123, 15, 10, 35, 40, 277, 63, et les nœuds créés). Aucun autre lien modifié.
is_dirty= vrai ;compile_blueprintavec warnings_as_errors = true ;save_assets[/Game/BPs/PC] seul ;Saving Package: /Game/BPs/PC; MD5 du PC ≠F45BE57A…; Room, GI et Person inchangés.
Amendement B2p-G-PC-a (2026-10-14, arrêt de lp-mcp-bp à l'étape 7, décision de l'orchestrateur)
- Refus :
create_node "Variables|Sex|ObtenirSexOn"→does not exist. Ce type n'apparaît que sous contexte (la sortie d'un Get GI), etcreate_nodepasse un contexte vide (blueprint.py:912). - Option A retenue, déjà prévue au § 7 (« reprise d'un getter existant de
GI.SexOn») :VariableGet_22.SexOn(déjà relié àIfThenElse_15.Condition) →IfThenElse_134.Condition(une sortie de données peut alimenter plusieurs entrées) ;delete_nodedu Get GI orphelinVariableGet_387;- puis les 3 liens d'exécution :
40.then→134.execute(remplace 40 → 277),134.else→277.execute,134.then→CallFunction_408.execute(LeftMouseSexOn) ; - puis les étapes 9 et 10.
- Volume : 1 nœud créé de moins, 1 suppression. Le reste de la fiche ne change pas.
VAL (lp-validator distinct, éditeur fermé)
- V5 : dump du PC ; diff contre
CAM-B2kmn-VAL_LPDumpFunction_20261014-011816.txt; seules différences : la variable, les nœuds créés, les 2 coupures et les liens ci-dessus. - V6 :
CompileAllBlueprints= référence.
Retour arrière
.\Tools\Restore.ps1 -Lot CAM-B2p-G-PC -Only Content\BPs\PC.uasset, éditeur fermé.