diff --git a/game/03-JavaScript/05-renderer/20-canvasmodel-combat-close-penis.js b/game/03-JavaScript/05-renderer/20-canvasmodel-combat-close-penis.js index 677fe745a3652a909407b92f38bb59ca9fa60486..bb3e23f689386d80d7241702d84eb4b38282c638 100644 --- a/game/03-JavaScript/05-renderer/20-canvasmodel-combat-close-penis.js +++ b/game/03-JavaScript/05-renderer/20-canvasmodel-combat-close-penis.js @@ -56,7 +56,7 @@ const combatClosePenis = { options.pcPenis = V.worn.under_lower.name === "strap-on knotted cock" ? "strapon-knotted" : "strapon-dick"; } else if (playerChastity("cage")) { options.pcPenis = options.penis.chastityPenis; - } else if (["beast", "beast-oral"].includes(options.penis.npc)) { + } else if (["beast-oral"].includes(options.penis.npc)) { options.pcPenis = `${options.penis.size}-${options.penis.type}-${options.penis.state}`; } else { options.pcPenis = `${options.penis.size}-${options.penis.type}`; diff --git a/game/03-JavaScript/05-renderer/20-canvasmodel-combat-close-vagina.js b/game/03-JavaScript/05-renderer/20-canvasmodel-combat-close-vagina.js index 86c65270da9a1fe834192d142e964d4c8ae63eb8..177e9be8f673bd6bd6e23f9a33f97971172ddb88 100644 --- a/game/03-JavaScript/05-renderer/20-canvasmodel-combat-close-vagina.js +++ b/game/03-JavaScript/05-renderer/20-canvasmodel-combat-close-vagina.js @@ -90,7 +90,7 @@ const combatCloseVagina = { animationfn(options) { return options.animKeyVagina; }, - filters: ["pbhair"], + filters: ["hirsute"], z: CombatRenderer.indices.closeBase + 1, }, silhouette: { diff --git a/game/03-JavaScript/05-renderer/21-close-options.js b/game/03-JavaScript/05-renderer/21-close-options.js index b55ff32d213d10be3906320d801f4fca37ce8ed6..8d4cbc40a792fb661b3f83f6e05626b03436b356 100644 --- a/game/03-JavaScript/05-renderer/21-close-options.js +++ b/game/03-JavaScript/05-renderer/21-close-options.js @@ -86,6 +86,7 @@ class CloseCombatMapper { options.pbhairColour = V.makeup.pbcolour || V.naturalhaircolour; options.filters.pbhair = CombatRenderer.lookupColour(setup.colours.hair_map, options.pbhairColour, "pbhair", "pbhair_custom", "pbhair"); + options.filters.hirsute = CombatRenderer.getTransformationFilter("wolf", "pubes"); if (V.player.condom) { options.condomColour = V.player.condom.colour || "red"; @@ -172,7 +173,7 @@ class CloseCombatMapper { if (slot === "vagina") { /* match drippy cum sprites to corresponding vagina state */ - const entrance = ["entrance", "doubleentrance", "tentacleentrance"].includes(V.vaginastate.toString()) ? "entrance" : "vagina"; + const entrance = ["entrance", "doubleentrance", "tentacleentrance", "imminent"].includes(V.vaginastate.toString()) ? "entrance" : "vagina"; options[slot].cumState = options.vagina.state === "penetrated" ? "penetrated" : entrance; /* select appropriate chastity sprite */ if (chastity) { diff --git a/game/03-JavaScript/05-renderer/21-npc-options.js b/game/03-JavaScript/05-renderer/21-npc-options.js index f28168777bb1e895874fcae4d70ca94867f20b95..7a0c248b1fb379a21c4f36fe31ce3a6a908fe1f2 100644 --- a/game/03-JavaScript/05-renderer/21-npc-options.js +++ b/game/03-JavaScript/05-renderer/21-npc-options.js @@ -45,7 +45,7 @@ * @property {string} hex */ -const beastModels = ["bear", "boar", "cat", "creature", "dog", "dolphin", "fox", "horse", "centaur", "lizard", "pig", "wolf"]; +const beastModels = ["bear", "boar", "cat", "creature", "dog", "dolphin", "fox", "hawk", "horse", "centaur", "lizard", "pig", "wolf"]; class NpcCombatMapper { /** @returns {NpcOptions} */ diff --git a/game/03-JavaScript/05-renderer/22-canvasmodel-combat-xray-penis.js b/game/03-JavaScript/05-renderer/22-canvasmodel-combat-xray-penis.js index 80273a0e36e53cd00a6e897af7fd968d006a13f3..6a4b0fbd64f25be3677237d8bd3680a34063ab92 100644 --- a/game/03-JavaScript/05-renderer/22-canvasmodel-combat-xray-penis.js +++ b/game/03-JavaScript/05-renderer/22-canvasmodel-combat-xray-penis.js @@ -51,7 +51,7 @@ const combatXrayPenis = { animationfn(options) { return options.animKeyPenis; }, - filters: ["body"], + filters: ["playerPenis"], z: CombatRenderer.indices.xrayPenetrator, }, playerCum: { diff --git a/game/03-JavaScript/05-renderer/23-xray-options.js b/game/03-JavaScript/05-renderer/23-xray-options.js index 907486a29ccd27ec0d745624f7a3cf991c539fcb..094e2122b9fbd751caa304ecd876b27013903bab 100644 --- a/game/03-JavaScript/05-renderer/23-xray-options.js +++ b/game/03-JavaScript/05-renderer/23-xray-options.js @@ -131,14 +131,14 @@ class XrayCombatMapper { * @returns {boolean} */ static isPcVaginaVisible() { - return V.player.vaginaExist && (combat.isVaginaPenetrated() || T.pullOutVagina); + return V.player.vaginaExist && combat.isVaginaPenetrated(); } /** * @returns {boolean} */ static isPcAnusVisible() { - return combat.isAnusPenetrated() || T.pullOutAnus; + return combat.isAnusPenetrated(); } /** @@ -225,7 +225,7 @@ class XrayCombatMapper { V.NPCList[V[slot + "target"]].penis === slot + "double" && V.NPCList[V[slot + "doubletarget"]].penis === slot + "double"; - /* If NPC pulled out, show empty xray base for that turn */ + /* If NPC pulled out, show empty xray base for that turn if (T["pullOut" + slot.toUpperFirst()]) { penetrator.npcType = "none"; penetrator.size = 0; @@ -235,6 +235,9 @@ class XrayCombatMapper { penetrator.base = "sex"; penetrator.npc = V[slot + "target"]; } + */ + penetrator.base = "sex"; + penetrator.npc = V[slot + "target"]; /* Penetrator control */ switch (penetrator.npcType) { @@ -509,6 +512,12 @@ class XrayCombatMapper { } else { penetrator.penetrated = penetrator.state === "otheranus" ? "anal" : "vaginal"; } + + if (penetrator.type === "parasite") { + options.filters.playerPenis = CombatRenderer.lookupColour(setup.colours.tentacle_map, "tentacles-peach", "xrayTentacle", undefined, undefined); + } else { + options.filters.playerPenis = options.filters.body; + } penetrator.base = "sex"; options.showNpcVagina = penetrator.penetrated === "vaginal"; options.showNpcArse = penetrator.penetrated === "anal"; diff --git a/game/04-Variables/colours.js b/game/04-Variables/colours.js index 18892863f9c8a6fa070ff5ce7b08930d3d75f348..a9d743f6b73b9984142b567713bb63fcbffc6921 100644 --- a/game/04-Variables/colours.js +++ b/game/04-Variables/colours.js @@ -1637,8 +1637,11 @@ setup.colours.tentacle = [ { variable: "tentacles-peach", canvasfilter: { - blend: "#f99889", - contrast: 0.6, + blend: "#ff9e75", + brightness: 0.3, + contrast: 1.6, + blendMode: "hard-light", + desaturate: false, }, }, { diff --git a/img/newsex/doggy/beast/hawk/back-over.png b/img/newsex/doggy/beast/hawk/back-over.png index ea57740af73eec7761a9371b56dae58cdfbcea31..07a5e410fd3eb6daa4892eda38708b5fe3d9a69e 100644 Binary files a/img/newsex/doggy/beast/hawk/back-over.png and b/img/newsex/doggy/beast/hawk/back-over.png differ diff --git a/img/newsex/doggy/beast/hawk/front-over.png b/img/newsex/doggy/beast/hawk/front-over.png index fb29efe283a70b3f702a95abd60ed394f28d7528..e6da48dda9d5caa51a2ada0f2fdf5b2c2fba3253 100644 Binary files a/img/newsex/doggy/beast/hawk/front-over.png and b/img/newsex/doggy/beast/hawk/front-over.png differ diff --git a/img/newsex/doggy/shadow/bird/anus.png b/img/newsex/doggy/shadow/harpy/anus.png similarity index 100% rename from img/newsex/doggy/shadow/bird/anus.png rename to img/newsex/doggy/shadow/harpy/anus.png diff --git a/img/newsex/doggy/shadow/bird/dp_bound.png b/img/newsex/doggy/shadow/harpy/dp_bound.png similarity index 100% rename from img/newsex/doggy/shadow/bird/dp_bound.png rename to img/newsex/doggy/shadow/harpy/dp_bound.png diff --git a/img/newsex/doggy/shadow/bird/mouth.png b/img/newsex/doggy/shadow/harpy/mouth.png similarity index 100% rename from img/newsex/doggy/shadow/bird/mouth.png rename to img/newsex/doggy/shadow/harpy/mouth.png diff --git a/img/newsex/doggy/shadow/bird/penis.png b/img/newsex/doggy/shadow/harpy/penis.png similarity index 100% rename from img/newsex/doggy/shadow/bird/penis.png rename to img/newsex/doggy/shadow/harpy/penis.png diff --git a/img/newsex/doggy/shadow/bird/thighs.png b/img/newsex/doggy/shadow/harpy/thighs.png similarity index 100% rename from img/newsex/doggy/shadow/bird/thighs.png rename to img/newsex/doggy/shadow/harpy/thighs.png diff --git a/img/newsex/doggy/shadow/bird/vagina.png b/img/newsex/doggy/shadow/harpy/vagina.png similarity index 100% rename from img/newsex/doggy/shadow/bird/vagina.png rename to img/newsex/doggy/shadow/harpy/vagina.png diff --git a/img/newsex/missionary/shadow/bird/anus.png b/img/newsex/missionary/shadow/harpy/anus.png similarity index 100% rename from img/newsex/missionary/shadow/bird/anus.png rename to img/newsex/missionary/shadow/harpy/anus.png diff --git a/img/newsex/missionary/shadow/bird/mouth.png b/img/newsex/missionary/shadow/harpy/mouth.png similarity index 100% rename from img/newsex/missionary/shadow/bird/mouth.png rename to img/newsex/missionary/shadow/harpy/mouth.png diff --git a/img/newsex/missionary/shadow/bird/penis.png b/img/newsex/missionary/shadow/harpy/penis.png similarity index 100% rename from img/newsex/missionary/shadow/bird/penis.png rename to img/newsex/missionary/shadow/harpy/penis.png diff --git a/img/newsex/missionary/shadow/bird/thighs.png b/img/newsex/missionary/shadow/harpy/thighs.png similarity index 100% rename from img/newsex/missionary/shadow/bird/thighs.png rename to img/newsex/missionary/shadow/harpy/thighs.png diff --git a/img/newsex/missionary/shadow/bird/vagina.png b/img/newsex/missionary/shadow/harpy/vagina.png similarity index 100% rename from img/newsex/missionary/shadow/bird/vagina.png rename to img/newsex/missionary/shadow/harpy/vagina.png diff --git a/img/newsex/xray/vaginal/cum/sex_size2_dp_cum1.png b/img/newsex/xray/vaginal/cum/sex_size2_dp_cum1.png new file mode 100644 index 0000000000000000000000000000000000000000..69aa75be1beab84e44ed60c2c209254a11ee5f71 Binary files /dev/null and b/img/newsex/xray/vaginal/cum/sex_size2_dp_cum1.png differ diff --git a/img/newsex/xray/vaginal/cum/sex_size2_dp_cum2.png b/img/newsex/xray/vaginal/cum/sex_size2_dp_cum2.png new file mode 100644 index 0000000000000000000000000000000000000000..41d870509b091e129c9be3a5b27b6d0e532270a7 Binary files /dev/null and b/img/newsex/xray/vaginal/cum/sex_size2_dp_cum2.png differ diff --git a/img/newsex/xray/vaginal/cum/sex_size2_dp_cum3.png b/img/newsex/xray/vaginal/cum/sex_size2_dp_cum3.png new file mode 100644 index 0000000000000000000000000000000000000000..32120e6ee13840c1b6d4ec549ae452cb7ede6fd2 Binary files /dev/null and b/img/newsex/xray/vaginal/cum/sex_size2_dp_cum3.png differ diff --git a/img/newsex/xray/vaginal/cum/sex_size2_dp_cum4.png b/img/newsex/xray/vaginal/cum/sex_size2_dp_cum4.png new file mode 100644 index 0000000000000000000000000000000000000000..53d3a0cbc519316edc5ba1e1b48e5707960f78d5 Binary files /dev/null and b/img/newsex/xray/vaginal/cum/sex_size2_dp_cum4.png differ diff --git a/img/newsex/xray/vaginal/cum/sex_size2_dp_cum5.png b/img/newsex/xray/vaginal/cum/sex_size2_dp_cum5.png new file mode 100644 index 0000000000000000000000000000000000000000..be93ea59feec1e3a169a46b8d3174683a037cd16 Binary files /dev/null and b/img/newsex/xray/vaginal/cum/sex_size2_dp_cum5.png differ