* Genital refactoring and masturbation rework
Refactors a lot of genitalia code.
Reworks masturbation code.
Adds the ability to expose onself through clothing (Still bugfixing it).
* Fixes it so everything works
Toggling exposing your genitals now works properly. You can now expose
genitals through clothing.
Genitalia is rendered a bit more modularly and less hardcoded.
Genitalia no longer has linked_penis and such, but instead linked_organ.
More variables made general for genitals.
Breasts can now be used to masturbate and climax, also letting you fill
beakers and others with milk.
Both being pulled and pulling someone can let you count them as a
partner for climaxing verbs.
Mob_climax split up into more sub-procs.
Hexacrocin made less verbose, and not as spam-happy with forced orgasms.
Hexacamphor also made less verbose.
* Removes outcommented code
Forgot to remove the old masturbation code that I commented out.
* Changes one tab further on line 248
As pointed out to me ^^.
* Climaxing with partner tabulation
Also copied the command for the spillage version.
* capitalisation and timers
Removed timers from forced climaxes and made it a default value
parameter instead, so it's adjustable.
Changed capitalisation of genitals and the mentions of them now use the
.name to avoid including a "The" in the mention.
* I accidentally runtimestation
Accidentally committed changing the map to runtimestation when I
debugged my code.
Changed it back to basemap now.
* Added flared taur penises
FIRST STEP ONLY DO NOT PULL REQUEST THIS!!!!
The files are still messy and the penis is just another shape to choose
from right now for testing purposes!
Flipped the order of GENITALS_BEHIND_LAYER and BODY_BEHIND_LAYER, as
taurs need to be drawn on top of the genitalia, and I don't think
anything else uses this that would need genitals drawn on top of them.
* Adds More shapes
Adds Tapered and Knotted shapes to the Taur cocks.
* Fixes on-ground sprites
The OLD bug barbed knotted cocks being invisible when not inside a body
is fixed.
This fix solves why taur cocks were invisible when cut off or gibbed the
body.
This also removes the lowershape() workaround that was being used.
I'll get around a bigger refactor of other genitalia in another PR, as
the scope of this was just to add taur cocks to begin with...
Penile masturbation is fixed again.
Masturbation cooldown set to 5 seconds once again, as intended.
mob_masturbate is now mob_climax(forced_climax=FALSE). It can be used to
masturbate alone, cum inside someone partially or completely and can be
used to trigger a forced orgasm through all eligible genitals.
Hexacrocin (Aphro PLUS) now increases your minimum arousal over time
when overdosing, up to your maximum arousal level at which point you are
constantly aroused.
When fully aroused, hexacrocin overdose will force an orgasm.
Hexacamhor (ANaphro PLUS) overdose now decreases minimum arousal over
time, down to 0.
Added to_chat feedback to the player when their libido changes
permanently.
Changed old "src <<" messages to use the new to_chat in citadel chems
and citadel arousal, so text should display now.
Changed names of genitals to be capitalized, to avoid the code
automatically calling them "The X".
Masturbation also has more helpful feedback messages when you lack the
correct organs.
The old force_orgasm proc is removed, use mob_climax(forced_climax=TRUE)
instead.
* Adds taste to citadel reagents
No longer will semen, femcum and the rest taste like [Generic Food],
instead they will taste like... stuff!
If you got a better description for this, I'd like to hear it. Except
making personalized tastes or food-dependent tastes is way beyond the
scope of this PR.
* Fucked up committing
Somehow this didn't follow the rest of the committ, somehow...
* makes arousal meter invisible when arousal is disabled
* sets the appearance of the arousal meter when the hud is generated
* hm
* hopefully fixed
* cmon
* okay NOW it works. it 100% works
-Stole some virgo borgo modifications for them puppies.
-Added janiborgo dog.
-Nuked the fine balance with horribly abusable exploits :^)
-Y'all hubbie 4chog gamerkids can suck my egg.
-This update received Jay's blessing before I even started porting these.
(apparently had some older junk edits that tried to cram into the pr)
-Stole some virgo borgo modifications for them puppies.
-Added janiborgo dog.
-Nuked the fine balance with horribly abusable exploits :^)
-Y'all hubbie 4chog gamerkids can suck my egg.
-This update received Jay's blessing before I even started porting these.
-Drawback is that distance pouncing is borked. Borked out of box with tg hunters too?
-Removed stun time nerf to make up for the lack of distance functionality.
-Yeah, the jaw hud icon still shows up at the bottom, but the bite effect now shows up and covers most of it.
-Also made the borg sleeper insertion use a gulp sound :v
-Also replaced the offset breaking forth-reset attack anim with forth-back as I did last time.
-Dogborg pounce is currently broken and slapping people with hud icons may be harmful for immursions.
-No Borgi yet because I can't be arsed to readd the whole sprite set this tired.
* Revert "Revert "Huge Sprite Rework""
* Compilation of all feedback fixes
This commit contains all the suggested fixes so far and the changes we
came up with through discussion about the code.
For example, genitals **may** now use alternate icons for aroused
states, but does not have to, this is decided by a boolean variable in
the sprite accessory itself, defaulting to not using alternate icons.
Genital icon_state names now follow a new format to match these new
options in a modular way for all kinds of genitals.
* Conflict solving
reformats all the taurs to use the TAUR layer instead of the BODY_FRONT
layer. Same for the new Eevee sprites.
* Committing the old, unfixed file.
This will cause errors if used, but at least it won't cause conflicts.
* Contains fixed sprite names
The shepherd taur body should STILL have a hole in the body due to a
pixel error.
I have forgotten which pixes these are, so.... **le shrug**
* Anger commit
Commiting this in anger. I WILL make it work damnit!
* Proper name fixes.
Also renames the taur cow to no longer have an incorrectly duplicate
icon_state.
* Shepherd taur pixel fix
Fixes the missing pixels from the taur body that caused a hole to appear
when viewed from the sides.
* Conflict resolution
This PR will cause some sprite-breaking overlay errors.
But it's the only way to handle the conflicting .dmi.
So I'll make a separate PR to fix the sprites later.
* Fixes global lists
Now they use whatever weird new system we got for them.
This is a big one, I reworked:
Vagina sprites, Breast sprites, both onmob and item, and some Taur
sprites
How Taur sprites are layered, finally making genitals show for Nagas as
they should.
How colours are chosen (Humans can enable/disabled matching genitals to
their skintones, everyone else has to pick a colour).
Vaginas and Breasts now follow the same naming convention for sprites
that penises use, so all genital organs can be rendered using the same
piece of code. This means that breast sizes have dropped to
single-letter variants, since those are what we got sprites for (Because
the cup-size is now the Size of the obj).
Breasts now have shapes! So far we only got the "pair" shape, but we got
code-support for other variants.
Vaginas can now also be chosen and will render properly, meaning we now
have more of them to choose from (Some of them terrifying). They don't
really use a size, but there's code support for it if sprites would be
made for it.
Breast items now change their size and color to the owner's when/if they
somehow lose the organs (gibbing for example). Both Breasts and Vaginas
change their description to match what the object is set to look like,
sprites are lacking in that area however.
Minor variable error in the penis-description code fixed.
Taur sprites renamed to use the correct layers. Shephard sprite bug
fixed where there was a missing 2 pixels in the middle of the body.
* Cloning-Genitalia-Fix
Fixes the issue with genitals not being re-created with cloning. This
should make it so other methods of coming back also gives the organs
your DNA says you should have, such as podding people.
* Sanity checks and fixes
Removed the OLD sanity check for drawing eyes. It was refusing to draw
eyes if you had ANY disability. 's far as I know, blind people still
have eyes and so do mute people.
Also, put a sanity check in give_genitals, just in case a species has
DNA with genitals but is a NOGENITALS species. Somehow. IT COULD HAPPEN,
ALRIGHT?! ^^
* TRAVIS LOVE ME AGAIN
This commit fixes the problem that made Travis hate me previously. Even
though THAT part of the code had not been changed...
Anyway, it looks more neat now, so that's good.
* sensible fixes
* this too
* some more
* fixes chair icons
reverted to state before tg pull
* fixes telecomms icons
revert to state before tg pull
* fixes research icons
reverted to before tg pull
* de-whitewashed the stools
* fixed missing broadcaster sprites
* always load from the savefile
helps custom servers who don't want to fuck with the config, this will
never not be wanted with the system we have
* stop it, ghosts
* fixes limb augmentation
https://github.com/tgstation/tgstation/pull/25446
* removes lag
* re-adds sounds
* exception
* makes travis happy
* I'LL SNEAK THIS IN, TOO
* will it blend
* event tweaking
* new kinkmate sprite
* savefile bugfixes
* drinks got overwritten again
rip
* replaces missing styles
* dildos
* last bit