-
Notifications
You must be signed in to change notification settings - Fork 121
fix #313 Eliza Quinn interaction 'Milking' does not re-equip bra afterwards #317
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6,6 +6,8 @@ var vaginaMilked = false | |
| var hasPenisPump = false | ||
| var amountCollected = 0.0 | ||
|
|
||
| var displacedItems := LightInventory.new() | ||
|
|
||
| func _init(): | ||
| sceneID = "ElizaQuickMilkingScene" | ||
|
|
||
|
|
@@ -19,14 +21,14 @@ func _reactInit(): | |
| var theFluids = thePump.getFluids() | ||
| if(theFluids): | ||
| theFluids.addFluid("Milk", 400.0) | ||
| GM.pc.getInventory().forceEquipStoreOtherUnlessRestraint(thePump) | ||
| displacedItems.addItem(GM.pc.getInventory().forceEquipReturnOther(thePump)) | ||
| if(GM.pc.hasReachablePenis() || GM.pc.isWearingChastityCage()): | ||
| amountCollected += GM.main.SCI.processMilkPlayerPenis() | ||
| penisMilked = true | ||
| if(GM.pc.hasReachablePenis()): | ||
| var thePump = GlobalRegistry.createItem("PenisPump") | ||
| GM.pc.getInventory().forceEquipStoreOtherUnlessRestraint(thePump) | ||
| hasPenisPump = true | ||
| if(GM.pc.hasReachablePenis() || GM.pc.getWornChastityCage().getRestraintData().canBeEasilyRemovedByDom()): | ||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can be dropped, if you like. Seemed sensible, but is not in scope of the issue.
Owner
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This could error out if we're waring portal panties or something. The pp is not reachable but there is no chastity cage. I'd promoute it to a variable and check if its not null |
||
| var thePump = GlobalRegistry.createItem("PenisPump") | ||
| displacedItems.addItem(GM.pc.getInventory().forceEquipReturnOther(thePump)) | ||
| hasPenisPump = true | ||
| if(GM.pc.hasReachableVagina()): | ||
| amountCollected += GM.main.SCI.processMilkPlayerVagina() | ||
| vaginaMilked = true | ||
|
|
@@ -47,7 +49,7 @@ func _run(): | |
|
|
||
| addButton("Continue", "See what happens next", "endthescene_removestuff") | ||
|
|
||
| func _react(_action: String, _args): | ||
| func _react(_action: String, _args) -> void: | ||
| if(_action == "endthescene"): | ||
| endScene() | ||
| return | ||
|
|
@@ -57,7 +59,9 @@ func _react(_action: String, _args): | |
| GM.pc.getInventory().clearSlot(InventorySlot.Penis) | ||
| if(breastsMilked): | ||
| GM.pc.getInventory().clearSlot(InventorySlot.UnderwearTop) | ||
|
|
||
| for displacedItem in displacedItems.getAllItems(): | ||
| GM.pc.getInventory().forceEquipRemoveOther(displacedItem) | ||
|
|
||
| playAnimation(StageScene.Duo, "stand", {npc="eliza"}) | ||
| aimCameraAndSetLocName(GM.pc.getLocation()) | ||
| endScene() | ||
|
|
@@ -73,6 +77,7 @@ func saveData(): | |
| data["vaginaMilked"] = vaginaMilked | ||
| data["hasPenisPump"] = hasPenisPump | ||
| data["amountCollected"] = amountCollected | ||
| data["displacedItems"] = displacedItems.saveData() | ||
|
|
||
| return data | ||
|
|
||
|
|
@@ -84,3 +89,4 @@ func loadData(data): | |
| vaginaMilked = SAVE.loadVar(data, "vaginaMilked", false) | ||
| hasPenisPump = SAVE.loadVar(data, "hasPenisPump", false) | ||
| amountCollected = SAVE.loadVar(data, "amountCollected", 0.0) | ||
| displacedItems.loadData(SAVE.loadVar(data, "displacedItems", {})) | ||
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be better to change the return value of
forceEquipRemoveOtherand assorted functions to be a structbut I did not want to make such a big change without asking you first.
(Don't mind the leg work, though, so if you give the go-ahead, I shall.)
... It also seems that GDScript flat out cannot handle null-ables as return types? So it would also need such an Optional class, which it also does not implement itself?
- Damn, one should think that if someone were to create their own programming language, they'd take care to make it better than its predecessors!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do this really need extra new functions? Can you maybe use the other ones that exist already.
instead of doing
displacedItems.addItem(GM.pc.getInventory().forceEquipReturnOther(thePump))you can get the current item in that slot and unequip it manually
Or something x3
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just wrote the extra function to have a working prototype, but I also dislike adding more. That's why I figured it would be more sensible to change the return value of the existing functions. Just did not want to dump 100+ code changes on you without asking first.
Of course, once there is a dedicated object to deal with these code changes, it does not harm to just do it in several lines - those would no longer pollute the Scene code, they would all be hidden behind a tidy one-liner calling on said object.
Candidates are