Cum in Mouth (1 Viewer)

TomFrame

Potential Patron
Joined
Nov 5, 2014
Since i found out about the "J" button i have been troubled with the fact that the guy can't aim for shit.
It really annoys me (to a small extent nowadays) that when attempting to aim the penis to fire a shot straight down her throat without touching her lips, everything just kinda goes off to the side. Occasionally you'll get some small volumes of cum in there though, but I was wondering if it were possible to actually make it so that the cum "lands" on either her tongue or inside her mouth constantly or with a much higher rate of probability?

I have little experience in Flash, but I had a thought: Would it be possible to create some kind of "invisible" clothing that acts as a trigger\mask which removes all cum at a certain point and adds it to the CumInMouth Counter? The "object" would be placed somewhere in the far back of what we can see of her mouth.
Just a thought.
 

sby

Content Creator
Coder
Joined
Sep 11, 2012
well, if you know some stuff about code i can spitball here..

use the 'her top lip point' and 'her bottom lip point'
if one of the strand links goes past their x value, check if it is located between their y values. if so, destroy that strand link and add to her cuminmouth counter.

to properly do this, would probably want to 'split' the strand on the link before deleting it so the rest of the strand can land above or below her mouth.

appears that vanilla sdt has cum that lands on her tongue count towards cum in her mouth




also, my loader mod 'aimpenisV1' might be something you would like
 

TomFrame

Potential Patron
Joined
Nov 5, 2014
Thanks for the tip. I dont know helluvalot about how to use flash, but I want to learn it regardless. Will post link if I get it to work.

I also dont have flash so I would need to mess around with actionscript and test by compilling I guess.
If anyone else wishes to do the mod, please do so if you wish.

EDIT: I just delved into the code and I can pretty much say that this is too much for me atm. I will purchase Flash one day and learn it, but for now don't expect anything from me.
 

sby

Content Creator
Coder
Joined
Sep 11, 2012
yeah, this would probably be a more medium level of difficulty for a code mod, probably not the best thing to start off in.

i'm probably not gonna do it right off (lol, like that ever happens) , but i will post back here if i start working on it so the couple of people that might pick it up know.


also, you don't have to have flash to do code mods like these. we have a free alternate compiler on the loader forum section, and i have a bunch of helpful modding stuff in my thread if you did decide to look into it.
 

TomFrame

Potential Patron
Joined
Nov 5, 2014
Thank you for your help sby! Great to get help so fast after posting :D

Even though I might not need flash, I decided to get it (since I want to learn it) and at the same time I'm watching coding tutorials on youtube to get a basic idea of how to code.

If you ever get around to making this mod - awesome, but I am sure you can't code request for every dude on the forums. Mod it if you feel like it, I will perhaps get around to coding this myself :)

EDIT: To anyone who wants the same mod I do, i noticed that the girl (both in Vanilla and Loader) will put out her tongue when sufficiently far away from the penis.

This is not new to most of you, however the trick is to have Tongue = False (but not disabled through options menu) by using the "0" key (if your bindings are of default Loader values). If you did it correctly, she will pull in her tongue until the guy starts cumming. At this point, she will extend her tongue (when hes cumming) and the tongue can and will collide with the cum and it will then add to the CumInMouth Counter.

There is a difference between having the tongue "expecting" and having the tongue simply out. She will sometimes revert to simply having the tongue out. I found it easier to then put Tongue = False so that when she pulls her tongue out, I know that she will "catch" it.

Not exactly perfect as you're shooting all over the place at the same time, but for the time being I don't know if you'll get anything better :)
 

stuntcock

Content Creator
Joined
Jun 5, 2012
I've disregarded most of the preceding discussion. The "create an invisible floating object in front of her face and manually increment the cumInMouth counter" approach seemed inelegant. But I appreciated the very first sentence:
Since i found out about the "J" button i have been troubled with the fact that the guy can't aim for shit.
and therefore I have named this mod "sharpshooter"

https://www.undertow.club/downloads/sharpshooter.124/

I need testers for this thing, but the details are slightly complicated. Please don't volunteer unless you have a decent understanding of SDT gameplay and at least a rudimentary understanding of programming. If your feedback is vague then it won't help me to fix bugs; you'll just be wasting time for both of us.

Principle of operation:
  • proxy the her.tongue.okayToHit() function; replace it
    • the vanilla implementation correlates poorly with on-screen activity (TomFrame mentioned this as a special "expecting" state of the tongue) leading to unpredictable/unreliable behaviour
    • the new implementation is that the mouth can absorb a strand
      • WHENEVER the tongue visibly emerges from the mouth OR the Loader hotkey has been used to permanently activate the tongue
      • BUT NEVER while she is swallowing OR while her teeth are clenched
    • therefore - the mouth will not fill endlessly.
      • If the chin is pointed upwards then she'll eventually swallow (causing subsequent strands to splatter onto the cheeks, chin, etc).
      • If the chin is pointed downwards then she'll begin to drool after absorbing a few strandLinks. Note that she can continue to absorb strands while drooling.
  • proxy the strand.collide(...) function; add a Pre invocation
    • since this is a Pre function, it has priority over all other strand-interception checks
      • the vanilla code checks for costume collision before mouth collision. Hence - the new code might yield odd behaviour when dealing with costume items on the face (such as EYEWEAR or a large GAG, perhaps?). Needs comparative testing.
    • if a strand reaches the tongue (g.her.tongueContainer.tongue) or upper lip (g.her.face.lipOutline) then its first two strandLinks are immediately marked as being "on the tongue" and a collision with the tongue is reported
      • during the next animation frame, these two strandLinks will be absorbed (incrementing the cumInMouth counter) and the remainder of the strand will continue its ballistic flight -- no actual anchoring has yet occured
      • Alternative: it's possible to anchor the strand on the tongue (so that it will not be absorbed and will instead "dangle" from the tongue) but this approach diverges from TomFrame's request. It's also less stable at runtime.
    • no such check is performed on the lower lip. It's quite difficult to hit (because the tongue almost always interposes itself) and I can't find a sprite name (which means that we'd need to use numeric indices -- a compatibility risk).
  • absorption relies on spatial concidence (aka collision-testing) via DisplayObject.hitTestPoint(...)
    • the lip sprites are quite narrow at the corner of the mouth
    • it's possible for a well-aimed strand to "sneak through" the corner of the mouth and land on the cheek
    • awaiting feedback from testers re: frequency and severity of this problem
    • if the problem merits a response, then we could draw a nearly-invisible (A=0.01) extension zone behind the lip. This should suffice to catch errant strands, without noticeably disrupting the normal gameplay visuals
  • absorbing a strand does not automatically interrupt dialogue
    • the girl can continue to soliloquize while getting a mouthful - although she'll usually absorb enough to quickly trigger a CUM_IN_MOUTH line
    • it's trivial to invoke the g.dialogueControl.interrupt() method at the appropriate moment - causing an actual "-nngh" or "-mmph" interjection to appear. This invocation is hardcoded in the 0.1 version of the mod.
    • I'm open to feedback or alternative suggestions on this point. The interruption stuff is not a core feature, so it will probably be governed by an option in the Settings file. We can support several different options if there's demand for them.
    • I'd like to get the core functionality nailed down before worrying too much about the incidentals and side-effects

If you're testing this mod, then I'd suggest using CumInMouthCounter.swf (included in the standard Loader bundle) to track progress and bigGulp.mod (so that you don't need to wait ages for swallowing). For actual targeting you'll probably need to either use handjob mode or load sby's aimpenisV1 mod. You can also play around with crazy animtools files -- just in case you want to place the characters six meters apart and really test your sharpshooter skills.
 

Fleack

Avid Affiliate
Joined
Nov 20, 2014
Surprised no one else has commented, as it's one of the more ambitious mods I've seen on here since I joined. Maybe put this in Loader Imports to make it easier to find? I didn't see this until yesterday and I usually check out what's new every week or so.

Anyways, from my perspective, the "hitbox" felt a little unforgiving. If she was tilted up at all or the angle of the animtools position had the guy aimed upward in relation to her, the strands weren't registering.

It functions okay, but could obviously be improved a bit.

My suggestions:
-Add in some options in a settings file to allow strands to be absorbed while she's swallowing/talking/teeth clenched/whether or not her tongue is out.
-Add in other options on increasing the size of the "hitbox" to make it easier/seem less random. If it's possible, definitely try to increase the hitbox overall when she's talking. Typically what happens is it'll trigger a cum on face/mouth line and then not much will register due to an unreliable "hitbox" while she's talking.

If you don't feel like adding in a settings file, maybe just create two versions: the one you have now and one that's more forgiving overall.

Also, while outside of the scope of this mod, it could work a lot better in dialogues if someone like Sby could change cum_in_mouth lines to be able to interrupt others like the way cum_on_face lines currently can.

Obviously I'm not sure what you're working with. If there's a set "hitbox" in game that you can't change, none of these suggestions are really feasible. Anyways, good luck with it.
 
Last edited:

Fleack

Avid Affiliate
Joined
Nov 20, 2014
After playing around with it a little more, and experimenting with morecumstrandsV4, I've got a better idea of what's going on.

Like you mentioned, the lower lip isn't quite registering perfectly, but that's not the main issue. The main issue comes from long strands. Short strands register about 90% of the time, but longer ones are completely inconsistent. The main issue is that it only registers whether or not the initial part of the strand hits or not, and because the long strands' trajectories are really random, it becomes close to impossible to aim (there also seems to be registry issues that aren't there for the smaller strands).

The best/most elegant solution would be to have it possible to have the aim 'corrected', as in if the initial hit doesn't register, the strand can still register in the mouth midway through. But then suddenly the game's having to check whether or not a strand is registering multiple times per strand rather than once, so I imagine it would be extremely difficult/impossible to implement.

The probably more realistic but still difficult solution would be to have a sister mod used in conjunction that made longer strands fly straighter or use more consistent trajectories. And I don't even know if that's really realistic as I'm not a modder.

Other than that, the mod works pretty functionally if you use it in conjunction with morecumstrandsV4 and set all strands to be short in length. Maybe combine those settings into the mod if you decide to optimize/rerelease it?
 

stuntcock

Content Creator
Joined
Jun 5, 2012
Surprised no one else has commented, as it's one of the more ambitious mods I've seen on here since I joined.
Honestly - it isn't especially ambitious. The implementation is a textbox use-case for @ModGuy's lProxy class. The only real challenge is tracing the SDT source code, and that's challenging only because it's undocumented -- the actual code structure is straightforward.

Maybe put this in Loader Imports to make it easier to find?
It's currently included in the Resource Manager. I intend to publish stuff via the RM rather than creating new threads (or bumping old ones) because I see it as a more effective way of reaching users. That's just personal preference though; it's not a site rule and other modders are free to do their own thing.

Anyways, from my perspective, the "hitbox" felt a little unforgiving. If she was tilted up at all or the angle of the animtools position had the guy aimed upward in relation to her, the strands weren't registering.
Hmmm, that's tricky. If there's a timing problem (e.g. perfectly-aimed strands are being ignored during certain intervals) then I can increase the tolerance of the code -- to allow absorption during teeth clench, for example. Errors or inconsistencies in spatial behaviour (e.g. perfectly-aimed strands are being ignored if they fall at an oblique angle, or if they hit the wrong part of the tongue) are tougher, because the collision-checking code is almost "too simple to fail."

I will include a less accurate (more generous) collision-detection option in the next version. Let me know if the problem persists (and ideally - whether the problem occurs under each of the two collision-checking systems).

-Add in some options in a settings file to allow strands to be absorbed while she's swallowing/talking/teeth clenched/whether or not her tongue is out.
Ha! This is exactly why modders need feedback. I was so focused on "what makes sense w/r/t the simulated scene?" that I ignored the question of "is the result actually interesting or enjoyable w/r/t the gameplay experience?"

The requested options will be included in the next version.

Also, while outside of the scope of this mod, it could work a lot better in dialogues if someone like Sby could change cum_in_mouth lines to be able to interrupt others like the way cum_on_face lines currently can.
Definitely out-of-scope, but it should be trivial to implement. The only catch is that the code (obj.dialogue.Dialogue::buildState) already seems to do this. CUM_ON_FACE, CUM_IN_EYE, CUM_IN_THROAT, CUM_IN_MOUTH lines all have priority and should be able to interrupt lines of other types (but cannot interrupt the CUM_ lines themselves, for obvious reasons).

So I'll ask you to test it thoroughly (e.g. by writing a 60-second GENERAL line and then attempting to interrupt it with a well-aimed ejaculation) and then post a new Loader Request thread if necessary. Please note that DialogueActions presumably uses more complex logic for priority and interruption. If the non-interruption thing is specific to DialogueActions then feel free to create the new thread anyways, but be sure to explain the scope of the fix that you're looking for.

Like you mentioned, the lower lip isn't quite registering perfectly, but that's not the main issue. The main issue comes from long strands. Short strands register about 90% of the time, but longer ones are completely inconsistent.
...
The best/most elegant solution would be to have it possible to have the aim 'corrected', as in if the initial hit doesn't register, the strand can still register in the mouth midway through. But then suddenly the game's having to check whether or not a strand is registering multiple times per strand rather than once, so I imagine it would be extremely difficult/impossible to implement.
There's not too much additional difficulty in coding this -- the game needs to check every link within the strand anyways. For example - a midpoint link might collide with a clothing layer, even if the frontal links have already struck (and been anchored to) the skin.

The tricky part is that the absorption-in-the-mouth outcome actually kills strandLinks instead of anchoring them. When this happens to the frontal strandLinks, we're simply left with a shorter strand. The remainder of the strand will continue on its ballistic trajectory -- it might end up in the mouth, or it might splatter somewhere else.

If we kill links in the middle of the strand, then we've necessarily created two separate strands. The behavior is less predictable (the strands might suddenly "twist" or "bounce" in mid-air due to the missing gravitational/elastic influence of the lost neighbors), and there's a much greater risk of bugs (e.g. nullReference or arrayIndexOutOfBounds exceptions). There's also greater complexity and risk of incompatibility w/r/t similar mods. Anything which generates drool/spit/cum strands (such as the "lactation" feature of sby's breastExpansionPlus mod) might suddenly crash if used in conjunction with this mod.

I'll look into it, but I'm not making any promises yet.

Other than that, the mod works pretty functionally if you use it in conjunction with morecumstrandsV4 and set all strands to be short in length. Maybe combine those settings into the mod if you decide to optimize/rerelease it?
I'll keep this in mind, but I'm definitely hoping to avoid it.

The mods are functionally distinct. @ModGuy gave us the tools to write and publish mods separately while still allowing them to cooperate cleanly at runtime. I think that it would be silly to publish mods in a merged format; I'd rather just suggest that users download both and use them in conjunction.
 

Fleack

Avid Affiliate
Joined
Nov 20, 2014
The new version seems really solid, man. Everything seems to work in the settings file. Great work!

I'd still suggest posting this in the Loader Imports section once you've optimized/finished it. Not many people have gotten around to checking the 'resources' tab of the new site, and there's probably a lot of people in that category that would like the mod.
 

fleet

Staff
Admin
Forums Moderator
RM Moderator
Content Creator
Joined
Apr 16, 2012
Is there some way to track when new items are added to the Resource Manager?
Yes. Click on the Forums tab, then click on the New Posts tab, then click on New Resources.
 

Sass

Content Creator
Joined
May 16, 2016
Just wanted to report a glitch that happens when sharpshooter interacts with breastexpansion by sby. I'm not sure what causes it, as it can happen within a minute of the game loading or after 10 minutes or longer. Anyways, the glitch is this -- her stomach balloons out to maximum size (no matter what the maximum is set to in the breastexp settings file, she goes to full third trimester pregnancy size), the swallow animation is mysteriously sped up about 3x, and dialogues still work, but the dialogue boxes become transparent and the text becomes invisible. She'll still talk, her lips moving, but only a transparent text box with no text can be seen. Charcodes are also no longer able to be loaded in game after the glitch occurs.

I don't know if that's something fixable, but I figured I'd bring it to your attention.

Np4SYcb.png
 
Last edited:

Users who are viewing this thread

Top


Are you 18 or older?

This website requires you to be 18 years of age or older. Please verify your age to view the content, or click Exit to leave.