Compare commits

...

5 commits

4 changed files with 42 additions and 15 deletions

View file

@ -55,7 +55,7 @@ build:
when: on_success when: on_success
expire_in: 1 day expire_in: 1 day
paths: paths:
- "*" # Incluse everything - "*" # Include everything
exclude: exclude:
- ".*" # Exclude dot files - ".*" # Exclude dot files
- ".*/**/*" # Exclude everything in the dot folders - ".*/**/*" # Exclude everything in the dot folders
@ -66,12 +66,13 @@ release_dev:
rules: rules:
- if: $CI_COMMIT_TAG - if: $CI_COMMIT_TAG
when: never # Do not run this job when a tag is created manually when: never # Do not run this job when a tag is created manually
- if: $CI_COMMIT_BRANCH == "dev" # Run this job when commits are pushed or merged to the dev branch - if: $CI_COMMIT_BRANCH == "dev" # Run this job when commits are pushed or merged to the dev branch
variables: variables:
GIT_STRATEGY: none # Do not clone repo and skip 'before_script' GIT_STRATEGY: none # Do not clone repo and skip 'before_script'
PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/rsi/test" PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${CI_PROJECT_NAME}/${CI_COMMIT_BRANCH}"
script: script:
- apk add zip - apk add zip
- zip -rq mod.zip ./ - zip -rq mod.zip ./
- echo "${PACKAGE_REGISTRY_URL}" - echo "${PACKAGE_REGISTRY_URL}"
- 'curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file About/About.xml "${PACKAGE_REGISTRY_URL}/About.xml"'
- 'curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file mod.zip "${PACKAGE_REGISTRY_URL}/rjw_sexperience_ideology.zip"' - 'curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file mod.zip "${PACKAGE_REGISTRY_URL}/rjw_sexperience_ideology.zip"'

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<ModMetaData> <ModMetaData>
<name>RJW Sexperience Ideology</name> <name>RJW Sexperience Ideology</name>
<author>aamevarashi</author> <author>amevarashi</author>
<supportedVersions> <supportedVersions>
<li>1.3</li> <li>1.3</li>
<li>1.4</li> <li>1.4</li>
@ -31,6 +31,7 @@
<li>rim.job.world</li> <li>rim.job.world</li>
</loadAfter> </loadAfter>
<packageId>rjw.sexperience.ideology</packageId> <packageId>rjw.sexperience.ideology</packageId>
<url>https://gitgud.io/amevarashi/rjw-sexperience-ideology</url>
<description><![CDATA[ <description><![CDATA[
This is a submod for RJW that adds: This is a submod for RJW that adds:
Ideology content: Ideology content:

View file

@ -39,6 +39,14 @@ The only consistent way to get in touch with me is the RJW Discord server #sexpe
Please, ping me in the RJW Discord if you rased the issue here. Please, ping me in the RJW Discord if you rased the issue here.
### Contributing ### Contributing
All work should be done based of the `dev` branch! Trying to compile on the `master` branch will fail - this is intentional. While I can't do something like that for XML and translations, I may choose to reject the pull request based on the amount of work required to transfer all commits into the `dev` branch.
The best practices:
1. Fork this repository.
2. In your fork create a new branch based on `dev`. The name of the new branch should reflect what you are changing in 3 words or less, separated by `-`. For example `rmb-menu-refactor` or `japanese-translation`.
3. Make your changes and commit them to the new branch.
4. Create a new merge request from your branch into the `dev` branch of this repository.
To be consistent with RJW, please use TABS not SPACES. To be consistent with RJW, please use TABS not SPACES.
Please, ping me in the RJW Discord after creating a merge request. Please, ping me in the RJW Discord after creating a merge request.

View file

@ -61,27 +61,44 @@ namespace RJWSexperience.Ideology
} }
} }
///<summary>
/// If the pawn has multiple genitalia, the "best" is picked (the biggest penis or tightest vagina).
/// For futanari return the biggest penis size
///</summary>
public static float GetGenitalSize(Pawn p) public static float GetGenitalSize(Pawn p)
{ {
if (p == null) if (p == null)
return 0f; return 0f;
// Iff the pawn has multiple genitalia, the "best" is picked (the biggest penis or tightest vagina) float bestSize = 0f;
float bestSeenSize = 0f; bool foundPenis = false;
foreach (Hediff part in Genital_Helper.get_AllPartsHediffList(p)) foreach (Hediff part in Genital_Helper.get_AllPartsHediffList(p))
{ {
float size;
// Only check for Vaginas and Penises, not for Anus or for things not categorized as primary sexual parts // Only check for Vaginas and Penises, not for Anus or for things not categorized as primary sexual parts
if (Genital_Helper.is_penis(part) || Genital_Helper.is_vagina(part)) if (Genital_Helper.is_penis(part))
{ {
bestSeenSize = part.Severity > bestSeenSize ? part.Severity : bestSeenSize; if (!foundPenis)
{
foundPenis = true;
bestSize = 0f;
}
size = part.Severity;
} }
else if (!foundPenis && Genital_Helper.is_vagina(part))
{
// For vagina, the scale is inverted.
size = 1 - part.Severity;
}
else
{
continue;
}
bestSize = size > bestSize ? size : bestSize;
} }
// For Women, the scale is inverted. return bestSize;
if (p.gender == Gender.Female)
return 1 - bestSeenSize;
return bestSeenSize;
} }
public static bool IsVisiblyPregnant(Pawn pawn) public static bool IsVisiblyPregnant(Pawn pawn)