Skip to content

Commit

Permalink
0.9a.145
Browse files Browse the repository at this point in the history
  • Loading branch information
Ormael7 committed Jul 25, 2024
1 parent 33e209c commit 8178c6d
Show file tree
Hide file tree
Showing 19 changed files with 116 additions and 32 deletions.
2 changes: 1 addition & 1 deletion classes/classes/CoC.as
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ public class CoC extends MovieClip
return _instance;
}
//Game Version
public var debugGameVer:String = "v0.9a.144";
public var debugGameVer:String = "v0.9a.145";

//Mod save version.
public var modSaveVersion:Number = 36.53;
Expand Down
1 change: 1 addition & 0 deletions classes/classes/IMutations/IMutationsLib.as
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ public class IMutationsLib
public static const ManticoreMetabolismIM:IMutationPerkType = new ManticoreMetabolismMutation();
public static const MantislikeAgilityIM:IMutationPerkType = new MantislikeAgilityMutation();
public static const MelkieLungIM:IMutationPerkType = new MelkieLungMutation();
public static const MightyLegsIM:IMutationPerkType = new MightyLegsMutation();
public static const MightyLowerHalfIM:IMutationPerkType = new MightyLowerHalfMutation();
public static const MinotaurTesticlesIM:IMutationPerkType = new MinotaurTesticlesMutation();
public static const NaturalPunchingBagIM:IMutationPerkType = new NaturalPunchingBagMutation();
Expand Down
72 changes: 72 additions & 0 deletions classes/classes/IMutations/MightyLegsMutation.as
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
/**
* Original code by aimozg on 27.01.14.
* Extended for Mutations by Jtecx on 14.03.22.
*/
package classes.IMutations
{
import classes.PerkClass;
import classes.PerkLib;
import classes.IMutationPerkType;
import classes.Creature;
import classes.Races;

public class MightyLegsMutation extends IMutationPerkType
{
override public function get mName():String {
return "Mighty Lower Half";
}
//v1 contains the mutation tier
override public function mDesc(params:PerkClass, pTier:int = -1):String {
var descS:String = "";
pTier = (pTier == -1)? currentTier(this, player): pTier;
if (pTier >= 1){
descS += "Make Kick permanent no matter your leg type. Increase unarmed strike damage by " + 5 * pTier + " and grapple effect by " + 2 * pTier + "0%";
}
if (pTier >= 2){
descS += ". Kick is " + ((5 * pTier) - 5) + "0% stronger";
}
if (pTier >= 3){
descS += ". Kick stun lasts 1 round longer";
}
if (pTier >= 4){
descS += ". Grapples duration is extended by 1 additional round";
}
if (descS != "")descS += ".";
return descS;
}

//Mutation Requirements
override public function pReqs(pCheck:int = -1):void{
try{
var pTier:int = (pCheck != -1 ? pCheck : currentTier(this, player));
//This helps keep the requirements output clean.
this.requirements = [];
if (pTier == 0){
this.requireAdaptationsMutationSlot()
.requireAnyRace(Races.KANGAROO, Races.BUNNY, Races.EASTERBUNNY, Races.LAQUINE, Races.HORSE, Races.CENTAUR, Races.COW, Races.MINOTAUR, Races.JABBERWOCKY);
}
else{
var pLvl:int = pTier * 30;
this.requireLevel(pLvl);
}
}catch(e:Error){
trace(e.getStackTrace());
}
}

//Mutations Buffs
override public function buffsForTier(pTier:int, target:Creature):Object {
var pBuffs:Object = {};
if (pTier == 1) pBuffs['spe.mult'] = 0.05;
if (pTier == 2) pBuffs['spe.mult'] = 0.1;
if (pTier == 3) pBuffs['spe.mult'] = 0.15;
if (pTier == 4) pBuffs['spe.mult'] = 0.2;
return pBuffs;
}

public function MightyLegsMutation()
{
super(mName + " IM", mName, SLOT_ADAPTATIONS, 4);
}
}
}
4 changes: 2 additions & 2 deletions classes/classes/IMutations/MightyLowerHalfMutation.as
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public class MightyLowerHalfMutation extends IMutationPerkType
var descS:String = "";
pTier = (pTier == -1)? currentTier(this, player): pTier;
if (pTier >= 1){
descS += "Make Kick permanent no matter your leg type. Increase unarmed strike damage by " + 5 * pTier + " and grapple effect by " + 2 * pTier + "0%";
descS += "Tentacle and tail attack deals " + 25 * pTier + "% more damage. Increase unarmed strike damage by " + 5 * pTier + " and grapple effect by " + 2 * pTier + "0%";
}
if (pTier >= 2){
descS += ". Kick is " + ((5 * pTier) - 5) + "0% stronger";
Expand All @@ -43,7 +43,7 @@ public class MightyLowerHalfMutation extends IMutationPerkType
this.requirements = [];
if (pTier == 0){
this.requireAdaptationsMutationSlot()
.requireAnyRace(Races.KANGAROO, Races.BUNNY, Races.EASTERBUNNY, Races.LAQUINE, Races.HORSE, Races.CENTAUR, Races.COW, Races.MINOTAUR, Races.SCYLLA, Races.NAGA, Races.GORGON, Races.COUATL, Races.VOUIVRE, Races.APOPHIS, Races.FROSTWYRM, Races.JABBERWOCKY);
.requireAnyRace(Races.SCYLLA, Races.NAGA, Races.GORGON, Races.COUATL, Races.VOUIVRE, Races.APOPHIS, Races.FROSTWYRM);
}
else{
var pLvl:int = pTier * 30;
Expand Down
2 changes: 1 addition & 1 deletion classes/classes/Races/BunnyRace.as
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ public class BunnyRace extends Race {
return !body.player.hasPerk(PerkLib.EasterBunnyBalls)
}, 0, -10);

addMutation(IMutationsLib.MightyLowerHalfIM);
addMutation(IMutationsLib.MightyLegsIM);

buildTier(10, "bunny")
.namesMaleFemale("bunny-boy","bunny-girl")
Expand Down
2 changes: 1 addition & 1 deletion classes/classes/Races/CentaurRace.as
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ public class CentaurRace extends Race {

addMutation(IMutationsLib.TwinHeartIM, +2);
addMutation(IMutationsLib.EquineMuscleIM);
addMutation(IMutationsLib.MightyLowerHalfIM);
addMutation(IMutationsLib.MightyLegsIM);

buildTier(8, "lesser centaur")
.buffs({
Expand Down
2 changes: 1 addition & 1 deletion classes/classes/Races/CowRace.as
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ public class CowRace extends Race {

addBloodline(PerkLib.MinotaursDescendant, PerkLib.BloodlineMinotaur);
addMutation(IMutationsLib.LactaBovinaOvariesIM);
addMutation(IMutationsLib.MightyLowerHalfIM);
addMutation(IMutationsLib.MightyLegsIM);

buildTier(10, "cow-morph")
.namesMaleFemale("cow-morph", "cow-girl")
Expand Down
2 changes: 1 addition & 1 deletion classes/classes/Races/EasterBunnyRace.as
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ public class EasterBunnyRace extends Race {
.hasPerk(PerkLib.EasterBunnyBalls, +1);

addMutation(IMutationsLib.EasterBunnyEggBagIM);
addMutation(IMutationsLib.MightyLowerHalfIM);
addMutation(IMutationsLib.MightyLegsIM);

buildTier(12, "easter bunny")
.namesMaleFemale("easter bunny-boy", "easter bunny-girl")
Expand Down
3 changes: 3 additions & 0 deletions classes/classes/Races/FemaleMindbreakerRace.as
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package classes.Races {
import classes.BodyData;
import classes.BodyParts.*;
import classes.CockTypesEnum;
import classes.IMutations.IMutationsLib;
import classes.PerkLib;
import classes.Race;
import classes.VaginaClass;
Expand Down Expand Up @@ -63,6 +64,8 @@ public class FemaleMindbreakerRace extends Race{
.hasPerk(PerkLib.Insanity, +1)
.givePerkV1(PerkLib.MindbreakerBrain1toX);

addMutation(IMutationsLib.MightyLowerHalfIM, +3);

buildTier(20,"mindbreaker")
.buffs({
"str.mult": -0.60,
Expand Down
2 changes: 1 addition & 1 deletion classes/classes/Races/HorseRace.as
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ public class HorseRace extends Race {
.isNotTaur(0, -7);

addMutation(IMutationsLib.EquineMuscleIM);
addMutation(IMutationsLib.MightyLowerHalfIM);
addMutation(IMutationsLib.MightyLegsIM);

buildTier(7, "equine-morph")
.buffs({
Expand Down
2 changes: 1 addition & 1 deletion classes/classes/Races/JabberwockyRace.as
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ public class JabberwockyRace extends Race {
addMutation(IMutationsLib.DrakeBonesIM);
addMutation(IMutationsLib.DrakeHeartIM);
addMutation(IMutationsLib.DrakeLungsIM);
addMutation(IMutationsLib.MightyLowerHalfIM);
addMutation(IMutationsLib.MightyLegsIM);

buildTier(10, "lesser jabberwocky")
.namesTauric("lesser jabberwocky", "lesser jabberwocky-taur")
Expand Down
2 changes: 1 addition & 1 deletion classes/classes/Races/KangarooRace.as
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public class KangarooRace extends Race {
.skinCoatType(Skin.FUR, +1)
.hasCockOfType(CockTypesEnum.KANGAROO, +1);

addMutation(IMutationsLib.MightyLowerHalfIM);
addMutation(IMutationsLib.MightyLegsIM);

buildTier(4, "kangaroo-morph")
.buffs({
Expand Down
2 changes: 1 addition & 1 deletion classes/classes/Races/LaquineRace.as
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ public class LaquineRace extends Race {
}, 0, -10);

addMutation(IMutationsLib.EquineMuscleIM);
addMutation(IMutationsLib.MightyLowerHalfIM);
addMutation(IMutationsLib.MightyLegsIM);

buildTier(12, "laquine")
.namesMaleFemale("laquine-boy","laquine-girl")
Expand Down
3 changes: 3 additions & 0 deletions classes/classes/Races/MaleMindbreakerRace.as
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package classes.Races {
import classes.BodyData;
import classes.BodyParts.*;
import classes.CockTypesEnum;
import classes.IMutations.IMutationsLib;
import classes.PerkLib;
import classes.Race;

Expand Down Expand Up @@ -62,6 +63,8 @@ public class MaleMindbreakerRace extends Race{
.hasPerk(PerkLib.Insanity, +1)
.givePerkV1(PerkLib.MindbreakerBrain1toX);

addMutation(IMutationsLib.MightyLowerHalfIM, +3);

buildTier(15,"Half Mindbreaker")
.requireEyeType(Eyes.MINDBREAKERMALE)
.buffs({
Expand Down
2 changes: 1 addition & 1 deletion classes/classes/Races/MinotaurRace.as
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ public class MinotaurRace extends Race {

addBloodline(PerkLib.MinotaursDescendant, PerkLib.BloodlineMinotaur);
addMutation(IMutationsLib.MinotaurTesticlesIM);
addMutation(IMutationsLib.MightyLowerHalfIM);
addMutation(IMutationsLib.MightyLegsIM);

buildTier(10, "bull-morph")
.namesMaleFemale("bull-boy","bull-morph")
Expand Down
16 changes: 8 additions & 8 deletions classes/classes/Scenes/Changelog.as
Original file line number Diff line number Diff line change
Expand Up @@ -281,10 +281,10 @@ public class Changelog extends BaseContent
outputText("-Default firearms dmg calculation from weapon atk increased (2x > 10x) and scaling off wis/int/spe (instead of core values to use scaling functions).\n");
outputText("-Changed order of discovered areas with Lake been first founded then Forest (O).\n");
outputText("-Fixes a quality of life issue where pressing down the mouse button and then moving the mouse off of a button before releasing the mouse button still clicks/activates the button. (Edward Darksong)\n");
outputText("-New mutation perk: Mighty Lower Half. Req. having free adaptation mutation slot, one of races: Kangaro, Bunny, Easter Bunny, Frog, Horse Morph, Centaur(The original centaur not the other ones), Cow, Minotaur, Scylla, Naga, Gorgon, Couatl, Vouivre, Apophis, Frostwyrm, Jabberwocky. Effects: Make Kick permanent no matter your leg type, Increase unarmed strike damage by 5 and grapple effect by 20%.\n");
outputText("-New mutation perk: Mighty Lower Half (Primitive). Req. Mighty Lower Half and lvl 30+. Effects: Make Kick permanent no matter your leg type, Increase unarmed strike damage by 10 and grapple effect by 40%. Kick is 50% stronger.\n");
outputText("-New mutation perk: Mighty Lower Half (Evolved). Req. Mighty Lower Half (Primitive) and lvl 60+. Effects: Make Kick permanent no matter your leg type, Increase unarmed strike damage by 15 and grapple effect by 60%. Kick is 100% stronger. Kick stun lasts 1 round longer.\n");
outputText("-New mutation perk: Mighty Lower Half (Final Form). Req. Mighty Lower Half (Evolved) and lvl 90+. Effects: Make Kick permanent no matter your leg type, Increase unarmed strike damage by 20 and grapple effect by 80%. Kick is 150% stronger. Kick stun lasts 1 round longer. Straddle and Grapples duration is extended by 1 additional round.\n");
//outputText("-New mutation perk: Mighty Lower Half. Req. having free adaptation mutation slot, one of races: Scylla, Naga, Gorgon, Couatl, Vouivre, Apophis, Frostwyrm, Mindbreaker. Effects: Tentacle and tail attack deals 25% more damage. Increase unarmed strike damage by 5 and grapple effect by 20%.\n");
//outputText("-New mutation perk: Mighty Lower Half (Primitive). Req. Mighty Lower Half and lvl 30+. Effects: Tentacle and tail attack deals 50% more damage. Increase unarmed strike damage by 10 and grapple effect by 40%. Tail Strike is 50% stronger.\n");
//outputText("-New mutation perk: Mighty Lower Half (Evolved). Req. Mighty Lower Half (Primitive) and lvl 60+. Effects: Tentacle and tail attack deals 75% more damage. Increase unarmed strike damage by 15 and grapple effect by 60%. Tail Strike is 100% stronger. Kick stun lasts 1 round longer.\n");
//outputText("-New mutation perk: Mighty Lower Half (Final Form). Req. Mighty Lower Half (Evolved) and lvl 90+. Effects: Tentacle and tail attack deals 100% more damage. Increase unarmed strike damage by 20 and grapple effect by 80%. Tail Strike is 150% stronger. Kick stun lasts 1 round longer. Straddle and Grapples duration is extended by 1 additional round.\n");
outputText("-New tier 12 speed lvl-up perk: Arrow Storm. Req. Cupid perk. Effect: After striking a target each shot has a chance to pierce through and do a U-Turn to pierce the target again.\n");
outputText("-New tier 13 speed lvl-up perk: Phantom Arrow. Req. Arrow Storm perk. Effect: By expending mana on each shot you create a copy of each of your arrows made of pure mana that replicate the trajectories of previous shots. Phantom arrows can trigger arrow storm.\n");
outputText("-Fixed Hel loss scenes being broken. Fixed lizan rogue win corruption check being too low for rape. Fixed Electra not asking for recruitment when accessed from SoulSense menu. Minor typo/grammar fixes. (Svalkash)\n");
Expand All @@ -298,10 +298,10 @@ public class Changelog extends BaseContent
outputText("-New TF item (by Liadri): Flared Carrot. Buyable in Tel'Adre Bakery. Using this item will turn PC into laquine. Laquine / Elder Laquine racial bonuses (12+/20+): +80/150% to str multi, -10/20% to tou multi, +80/120% to spe multi, -20/50% to wis multi, +100/200% to lib multi, +50/100 sens\n");
outputText("-New event perk: Laquine Might. Gained by been laquine. Effects: Add 75% of your libido to your strength stat.\n");
outputText("-Equine Strength perk can be gained by Laquine PC.\n");
outputText("-\n");
outputText("-\n");
outputText("-\n");
outputText("-\n");
outputText("-New mutation perk: Mighty Legs. Req. having free adaptation mutation slot, one of races: Kangaro, Bunny, Easter Bunny, Laquine, Horse Morph, Centaur(The original centaur not the other ones), Cow, Minotaur, Jabberwocky. Effects: Make Kick permanent no matter your leg type, Increase unarmed strike damage by 5 and grapple effect by 20%.\n");
outputText("-New mutation perk: Mighty Legs (Primitive). Req. Mighty Legs and lvl 30+. Effects: Make Kick permanent no matter your leg type, Increase unarmed strike damage by 10 and grapple effect by 40%. Kick is 50% stronger.\n");
outputText("-New mutation perk: Mighty Legs (Evolved). Req. Mighty Legs (Primitive) and lvl 60+. Effects: Make Kick permanent no matter your leg type, Increase unarmed strike damage by 15 and grapple effect by 60%. Kick is 100% stronger. Kick stun lasts 1 round longer.\n");
outputText("-New mutation perk: Mighty Legs (Final Form). Req. Mighty Legs (Evolved) and lvl 90+. Effects: Make Kick permanent no matter your leg type, Increase unarmed strike damage by 20 and grapple effect by 80%. Kick is 150% stronger. Kick stun lasts 1 round longer. Straddle and Grapples duration is extended by 1 additional round.\n");
outputText("-\n");
outputText("-\n");
outputText("-\n");
Expand Down
2 changes: 1 addition & 1 deletion classes/classes/Scenes/Combat/Combat.as
Original file line number Diff line number Diff line change
Expand Up @@ -13687,7 +13687,7 @@ public function Straddle():void {
if(checkConcentration("[monster name] recovers just in time to get out of your reach as you attempt to straddle [monster him].")) return; //Amily concentration
//WRAP IT UPPP
monster.createStatusEffect(StatusEffects.Straddle, 0, 0, 0, 0);
if (player.perkv1(IMutationsLib.MightyLowerHalfIM) >= 4) player.createStatusEffect(StatusEffects.StraddleRoundLeft, 3 + rand(3), 0, 0, 0);
if (player.perkv1(IMutationsLib.MightyLegsIM) >= 4) player.createStatusEffect(StatusEffects.StraddleRoundLeft, 3 + rand(3), 0, 0, 0);
else player.createStatusEffect(StatusEffects.StraddleRoundLeft, 2 + rand(3), 0, 0, 0);
if (player.isAlraune()) {
outputText("You giggle and take hold of your dazed opponent with your vines before gently pulling [monster him] into your nectar bath, straddling him with your pistil as you get into mating position.");
Expand Down
12 changes: 6 additions & 6 deletions classes/classes/Scenes/Combat/PhysicalSpecials.as
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ public class PhysicalSpecials extends BaseCombatContent {
if (isEnemyInvisible) bd.disable("You cannot use offensive skills against an opponent you cannot see or target.");
}
//Kick
if (player.isTaur() || player.lowerBody == LowerBody.HOOFED || player.lowerBody == LowerBody.KIRIN || player.lowerBody == LowerBody.BUNNY || player.lowerBody == LowerBody.KANGAROO || player.perkv1(IMutationsLib.MightyLowerHalfIM) >= 1) {
if (player.isTaur() || player.lowerBody == LowerBody.HOOFED || player.lowerBody == LowerBody.KIRIN || player.lowerBody == LowerBody.BUNNY || player.lowerBody == LowerBody.KANGAROO || player.perkv1(IMutationsLib.MightyLegsIM) >= 1) {
bd = buttons.add("Kick", kick).hint("Attempt to kick an enemy using your powerful lower body.");
if (player.hasStatusEffect(StatusEffects.CooldownKick)) {
bd.disable("<b>You need more time before you can perform Kick again.</b>\n\n");
Expand Down Expand Up @@ -4083,7 +4083,7 @@ public class PhysicalSpecials extends BaseCombatContent {
//WRAP IT UPPP
if (40 + rand(player.spe) > monster.spe) {
outputText("You growl menacingly, dropping on all four" + (player.tail.type != Tail.NONE ? " and flicking your tail" : "") + ", as you pounce on [themonster] clawing at [monster he] body and leaving deep bleeding wounds.");
if (player.perkv1(IMutationsLib.MightyLowerHalfIM) >= 4) monster.createStatusEffect(StatusEffects.Pounce, 5 + rand(2),0,0,0);
if (player.perkv1(IMutationsLib.MightyLegsIM) >= 4) monster.createStatusEffect(StatusEffects.Pounce, 5 + rand(2),0,0,0);
else monster.createStatusEffect(StatusEffects.Pounce, 4 + rand(2),0,0,0);
}
//Failure
Expand Down Expand Up @@ -4460,7 +4460,7 @@ public class PhysicalSpecials extends BaseCombatContent {
combat.WrathGenerationPerHit2(5);
combat.heroBaneProc(damage);
combat.EruptingRiposte();
if (player.perkv1(IMutationsLib.MightyLowerHalfIM) >= 4) monster.createStatusEffect(StatusEffects.Pounce, 5 + rand(2),0,0,0);
if (player.perkv1(IMutationsLib.MightyLegsIM) >= 4) monster.createStatusEffect(StatusEffects.Pounce, 5 + rand(2),0,0,0);
else monster.createStatusEffect(StatusEffects.Pounce, 4 + rand(2), 0, 0, 0);
player.removeStatusEffect(StatusEffects.Flying);
if (player.hasStatusEffect(StatusEffects.FlyingNoStun)) {
Expand Down Expand Up @@ -5861,7 +5861,7 @@ public class PhysicalSpecials extends BaseCombatContent {
else if (player.lowerBody == LowerBody.KANGAROO) damage += 50;
if (player.isTaur()) damage += 10;
//other bonuses
if (player.perkv1(IMutationsLib.MightyLowerHalfIM) >= 1) damage += (5 * player.perkv1(IMutationsLib.MightyLowerHalfIM));
if (player.perkv1(IMutationsLib.MightyLegsIM) >= 1) damage += (5 * player.perkv1(IMutationsLib.MightyLegsIM));
//Damage post processing!
if (player.hasPerk(PerkLib.ZenjisInfluence3)) damage *= 1.5;
if (player.hasPerk(PerkLib.RacialParagon)) damage *= combat.RacialParagonAbilityBoost();
Expand All @@ -5872,13 +5872,13 @@ public class PhysicalSpecials extends BaseCombatContent {
else damage *= 1.5;
}
if (player.perkv1(IMutationsLib.EquineMuscleIM) >= 1) damage *= (1 + (0.25 * player.perkv1(IMutationsLib.EquineMuscleIM)));
if (player.perkv1(IMutationsLib.MightyLowerHalfIM) >= 2) damage *= (1 + (0.5 * (player.perkv1(IMutationsLib.MightyLowerHalfIM) - 1)));
if (player.perkv1(IMutationsLib.MightyLegsIM) >= 2) damage *= (1 + (0.5 * (player.perkv1(IMutationsLib.MightyLegsIM) - 1)));
damage *= (1 + (0.01 * combat.masteryFeralCombatLevel()));
//(None yet!)
damage = Math.round(damage);
var stunDura:Number = 1;
if (player.perkv1(IMutationsLib.EquineMuscleIM) >= 3) stunDura += 1;
if (player.perkv1(IMutationsLib.MightyLowerHalfIM) >= 3) stunDura += 1;
if (player.perkv1(IMutationsLib.MightyLegsIM) >= 3) stunDura += 1;
else monster.createStatusEffect(StatusEffects.Stunned, stunDura, 0, 0, 0);
//BLOCKED
if (damage <= 0) {
Expand Down
Loading

0 comments on commit 8178c6d

Please sign in to comment.