Skip to content

Commit

Permalink
Merge pull request Kitteh6660#261 from Liadri/master-wip
Browse files Browse the repository at this point in the history
Master wip
  • Loading branch information
Ormael7 authored Jan 7, 2021
2 parents 6bee7ea + 2274547 commit b1ef057
Show file tree
Hide file tree
Showing 7 changed files with 89 additions and 10 deletions.
5 changes: 5 additions & 0 deletions classes/classes/PerkLib.as
Original file line number Diff line number Diff line change
Expand Up @@ -3034,6 +3034,9 @@ public class PerkLib
public static const VenomGlandsFinalForm:PerkType = mk("Venom Glands (Final Form)", "Venom Glands (Final Form)",
"Your body posses fully developed venom glands with large reservoir of venom and good recharge speed. (+10% to poison resistance)",
"You've chosen the 'Venom Glands (Final Form)' perk. Your body posses fully developed venom glands with large reservoir of venom and good recharge speed. also raises poison resistance by +10%").withBuffs({'tou.mult':0.15});
public static const VerdantMight:PerkType = mk("Verdant Might", "Verdant Might",
"As a plant when using natural weapon your damage scaling is based on Toughness instead of strength.",
"As a plant when using natural weapon your damage scaling is based on Toughness instead of strength.");
public static const VitalShot:PerkType = mk("Vital Shot", "Vital Shot",
"Gain a +10% chance to do a critical strike with arrows.",
"You've chosen the 'Vital Shot' perk, gaining an additional +10% chance to cause a critical hit with arrows.");
Expand Down Expand Up @@ -3333,6 +3336,8 @@ public class PerkLib
"Lactation does not decrease and gives a compulsion to breastfeed others.");
public static const FenrirSpikedCollar:PerkType = mk("Fenrir's Gleipnir Collar", "Fenrir's Gleipnir Collar",
"The spectral chain Gleipnir and runed collar-spikes increase damage reduction by 10%, but you are forever chained to the role of the Fenrir.");
public static const FenrirSpiritstrike:PerkType = mk("Fenrir's Spirit strike", "Fenrir's Spirit strike",
"Fenrir's power allows you to deal devastating damage with your bite attack to any creature possessing a soul.");
public static const Ferocity:PerkType = mk("Ferocity", "Ferocity",
"You can remains conscious and continue fighting even if your HP is below 0. You gonna loose 1% of max HP each round and would loose fight when negative HP reach 7% (or more if PC got other perks to stay undefeated below 0%) of max HP.");
public static const FireAffinity:PerkType = mk("Fire Affinity", "Fire Affinity",
Expand Down
6 changes: 6 additions & 0 deletions classes/classes/Player.as
Original file line number Diff line number Diff line change
Expand Up @@ -2278,6 +2278,9 @@ use namespace CoC;
if (CoC.instance.monster.statusEffectv1(StatusEffects.EnemyLoweredDamageH) > 0) {
mult -= CoC.instance.monster.statusEffectv2(StatusEffects.EnemyLoweredDamageH);
}
if (hasStatusEffect(StatusEffects.WinterClaw)) {
mult += 100;
}
//Caps damage reduction at 100%
if (mult < 0) mult = 0;
return mult;
Expand Down Expand Up @@ -12218,6 +12221,9 @@ use namespace CoC;
if(hasStatusEffect(StatusEffects.Cauterize)) {
removeStatusEffect(StatusEffects.Cauterize);
}
if(hasStatusEffect(StatusEffects.WinterClaw)) {
removeStatusEffect(StatusEffects.WinterClaw);
}
if(CoC.instance.monster.hasStatusEffect(StatusEffects.TailWhip)) {
CoC.instance.monster.removeStatusEffect(StatusEffects.TailWhip);
}
Expand Down
19 changes: 18 additions & 1 deletion classes/classes/PlayerEvents.as
Original file line number Diff line number Diff line change
Expand Up @@ -1452,6 +1452,12 @@ public class PlayerEvents extends BaseContent implements TimeAwareInterface {
player.removePerk(PerkLib.FreezingBreath);
needNext = true;
}
//Fenrir Soulbite
if (player.faceType == Face.WOLF && player.findPerk(PerkLib.FenrirSpiritstrike) < 0 && player.hasKeyItem("Gleipnir Collar") >= 0) {
outputText("\nLike Fenrir you have aquired the ability to not only see souls but also tear them devouring your opponent very essence with every particularly devastating bite.\n\n(<b>Gained Perk: Spirit strike</b>)\n");
player.createPerk(PerkLib.FenrirSpiritstrike, 0, 0, 0, 0);
needNext = true;
}
//Fenrir Eyes
if (player.eyes.type != Eyes.FENRIR && player.hasKeyItem("Gleipnir Collar") >= 0) {
outputText("\nThe bone chilling voice of Fenrir ring in the back of your mind.");
Expand Down Expand Up @@ -1734,6 +1740,17 @@ public class PlayerEvents extends BaseContent implements TimeAwareInterface {
player.removePerk(PerkLib.TitanicStrength);
needNext = true;
}
//VerdantMight
if ((player.plantScore() >= 11 || player.alrauneScore() >= 11) && !player.hasPerk(PerkLib.VerdantMight)) {
outputText("\nRaw green power flows throught your veins while being a plant hasnt done so much to improve your muscle your general sturdyness more then makes up for it allowing you to use your toughness instead of your strength when delivering blows. \n\n<b>(gained the Verdant Might perk!)</b>\n");
player.createPerk(PerkLib.VerdantMight,0,0,0,0);
needNext = true;
}
if (player.plantScore() < 11 && player.alrauneScore() < 11 && player.findPerk(PerkLib.VerdantMight) >= 0) {
outputText("\nBeing less of a plant you loose the ability to add your own sturdyness to your attacks.\n\n<b>(Lost the Verdant Might perk!)</b>\n");
player.removePerk(PerkLib.VerdantMight);
needNext = true;
}
//Enigma
if (player.sphinxScore() >= 14 && player.findPerk(PerkLib.Enigma) < 0) {
outputText("\nBeing a sphinx has granted you insight on many things including various secrets to martial combat, guess this is what they mean about using your smarts before your brawn.\n\n<b>(Gained Enigma perk!)</b>\n");
Expand All @@ -1745,7 +1762,7 @@ public class PlayerEvents extends BaseContent implements TimeAwareInterface {
player.removePerk(PerkLib.Enigma);
needNext = true;
}
//Lacta bovine immubities
//Lacta bovine immunities
if (player.cowScore() >= 10 && player.findPerk(PerkLib.LactaBovineImmunity) < 0) {
outputText("\nAs you become more of a lacta bovine you become increasingly obsessed with thoughts of horsecocks and cum sloshing balls, namely minotaur balls. While you are aware you naturally became addicted to minotaur cum you also know your nature as a lacta bovine will protect you from most of its harmful effects allowing you to sample the substance to your heart's content without risks.");
outputText(".\n\n<b>(Gained the Lacta Bovine Immunity perk!)</b>\n");
Expand Down
4 changes: 2 additions & 2 deletions classes/classes/Scenes/Changelog.as
Original file line number Diff line number Diff line change
Expand Up @@ -118,8 +118,8 @@ package classes.Scenes
outputText("-Spectral Scream have additional effect of dealing magic damage to enemy. Enemy Wendigo scream also would deal dmg on top of causing fear.\n");
outputText("-Fenrir collar been renamed to Gleipnir collar. Also there is slight diff scene after 2nd time finding the shrine.\n");
outputText("-Added passive gains of soulforce (5) and lust/wrath (1) on level up. Also first 6 level up would grant 5x more increase to max HP, Fatigue, Mana, Soulforce, Wrath and Lust.\n");
outputText("-\n");
outputText("-\n");
outputText("-Added two new skill to Fenrir Soulstrike and Winter Claw\n");
outputText("-New Plant skill Verdant Might\n");
outputText("-\n");
outputText("-Semi fixed bug on stats values not reseting down after ascension. Save and load after ascension would fix now the last part on this bug i not corrected.\n");
outputText("-\n");
Expand Down
46 changes: 39 additions & 7 deletions classes/classes/Scenes/Combat/Combat.as
Original file line number Diff line number Diff line change
Expand Up @@ -3551,6 +3551,7 @@ public class Combat extends BaseContent {

//ATTACK
public function attack():void {
var IsFeralCombat:Boolean = false;
flags[kFLAGS.LAST_ATTACK_TYPE] = 4;
// if(!player.hasStatusEffect(StatusEffects.FirstAttack)) {
// clearOutput();
Expand Down Expand Up @@ -3702,11 +3703,17 @@ public class Combat extends BaseContent {
if (flags[kFLAGS.ATTACKS_ACCURACY] > 0) flags[kFLAGS.ATTACKS_ACCURACY] = 0;
//Natural weapon Full attack list
if ((flags[kFLAGS.FERAL_COMBAT_MODE] == 1 && ((player.hasNaturalWeapons() || player.haveNaturalClawsTypeWeapon())) || player.isGargoyle())){
IsFeralCombat = true;
//DOING BITE ATTACKS
if (player.hasABiteAttack()) {
var biteMultiplier:Number = 0.5;
if (player.faceType == Face.SHARK_TEETH || player.faceType == Face.ORCA) biteMultiplier = 2.0;
outputText("You bite your foe sinking your teeth in");
if (player.hasPerk(PerkLib.FenrirSpiritstrike) && !monster.hasPerk(PerkLib.EnemyTrueDemon)){
biteMultiplier = 10;
outputText(" and tearing at your foe very soul!");
HPChange(player.maxHP()*0.25,false);
}
if (player.faceType == Face.SHARK_TEETH || player.faceType == Face.ORCA) biteMultiplier = 2.0;
if (player.faceType == Face.SHARK_TEETH || player.faceType == Face.VAMPIRE) {
outputText(" and drawing blood out");
if (!monster.hasStatusEffect(StatusEffects.SharkBiteBleed)) monster.createStatusEffect(StatusEffects.SharkBiteBleed,15,0,0,0);
Expand Down Expand Up @@ -4017,7 +4024,7 @@ public class Combat extends BaseContent {
}
}
// Do all other attacks
meleeDamageAcc();
meleeDamageAcc(IsFeralCombat);
}

public function attack2():void {
Expand Down Expand Up @@ -4194,7 +4201,7 @@ public class Combat extends BaseContent {
outputText("<b>)</b>");
}

public function meleeDamageAcc():void {
public function meleeDamageAcc(IsFeralCombat:Boolean = false):void {
var accMelee:Number = 0;
accMelee += (meleeAccuracy() / 2);
if (flags[kFLAGS.ATTACKS_ACCURACY] > 0) accMelee -= flags[kFLAGS.ATTACKS_ACCURACY];
Expand All @@ -4207,8 +4214,14 @@ public class Combat extends BaseContent {
//------------
//Determine damage
//BASIC DAMAGE STUFF
damage += player.str;
damage += scalingBonusStrength() * 0.25;
if (IsFeralCombat && player.hasPerk(PerkLib.VerdantMight)){
damage += player.tou;
damage += scalingBonusToughness() * 0.25;
}
else{
damage += player.str;
damage += scalingBonusStrength() * 0.25;
}
if ((player.hasPerk(PerkLib.SuperStrength) || player.hasPerk(PerkLib.BigHandAndFeet)) && player.isFistOrFistWeapon()) damage *= 2;
if (player.hasPerk(PerkLib.SpeedDemon) && player.isNoLargeNoStaffWeapon()) {
damage += player.spe;
Expand Down Expand Up @@ -4250,6 +4263,13 @@ public class Combat extends BaseContent {
else if (monster.cor >= 10) damage = Math.round(damage * 1.3);
else damage = Math.round(damage * 1.4);
}
if (flags[kFLAGS.FERAL_COMBAT_MODE] == 1 && (player.haveNaturalClaws() || player.haveNaturalClawsTypeWeapon()) && player.hasStatusEffect(StatusEffects.WinterClaw)) {
damage *= 2.2;
if (monster.hasPerk(PerkLib.FireNature)) damage *= 10;
if (monster.hasPerk(PerkLib.IceVulnerability)) damage *= 4;
if (monster.hasPerk(PerkLib.IceNature)) damage *= 0.4;
if (player.hasPerk(PerkLib.ColdAffinity)) damage *= 2;
}
if (player.isFistOrFistWeapon() && player.hasStatusEffect(StatusEffects.BlazingBattleSpirit)) {
if (player.mouseScore() >= 12 && player.arms.type == Arms.HINEZUMI && player.lowerBody == LowerBody.HINEZUMI && (player.jewelryName == "Infernal Mouse ring" || player.jewelryName2 == "Infernal Mouse ring" || player.jewelryName3 == "Infernal Mouse ring" || player.jewelryName4 == "Infernal Mouse ring")) damage *= 2.2;
else damage *= 2;
Expand Down Expand Up @@ -4816,8 +4836,14 @@ public class Combat extends BaseContent {
//------------
//Determine damage
//BASIC DAMAGE STUFF
damage += player.str;
damage += scalingBonusStrength() * 0.25;
if (player.hasPerk(PerkLib.VerdantMight)){
damage += player.tou;
damage += scalingBonusToughness() * 0.25;
}
else{
damage += player.str;
damage += scalingBonusStrength() * 0.25;
}
if ((player.hasPerk(PerkLib.SuperStrength) || player.hasPerk(PerkLib.BigHandAndFeet)) && player.isFistOrFistWeapon()) damage *= 2;
if (player.hasPerk(PerkLib.SpeedDemon) && player.isNoLargeNoStaffWeapon()) {
damage += player.spe;
Expand Down Expand Up @@ -7193,6 +7219,12 @@ public class Combat extends BaseContent {
outputText("<b>Maleficium effect wore off!</b>\n\n");
} else player.addStatusValue(StatusEffects.Maleficium, 1, -1);
}
if (player.hasStatusEffect(StatusEffects.WinterClaw)) {
if (player.statusEffectv1(StatusEffects.WinterClaw) <= 0) {
player.removeStatusEffect(StatusEffects.WinterClaw);
outputText("<b>Winter Claw effect wore off!</b>\n\n");
} else player.addStatusValue(StatusEffects.WinterClaw, 1, -1);
}
//Spell buffs
if (player.hasStatusEffect(StatusEffects.ChargeWeapon)) {
if (player.statusEffectv2(StatusEffects.ChargeWeapon) <= 0) {
Expand Down
18 changes: 18 additions & 0 deletions classes/classes/Scenes/Combat/MagicSpecials.as
Original file line number Diff line number Diff line change
Expand Up @@ -399,6 +399,12 @@ public class MagicSpecials extends BaseCombatContent {
bd.disable("You can't use this underwater!");
}
}
if (player.hasPerk(PerkLib.FromTheFrozenWaste)){
bd = buttons.add("Winter Claws", WinterClaws).hint("Natural weapon damage is increased by 200% as cold damage but take very highly increased damage from fire attacks.");
if(player.hasStatusEffect(StatusEffects.WinterClaw)) {
bd.disable("Your natural weapons are already generating cold!");
}
}
if ((player.mouseScore() >= 12 && player.arms.type == Arms.HINEZUMI && player.lowerBody == LowerBody.HINEZUMI) || player.hasPerk(PerkLib.HinezumiBurningBloodFinalForm)) {
bd = buttons.add("Cauterize", cauterize).hint("Flash burn your wounds to cause them to close. Take damage but recover over time. \n", "Cauterize");
if(player.hasStatusEffect(StatusEffects.Cauterize)) {
Expand Down Expand Up @@ -2656,6 +2662,18 @@ public class MagicSpecials extends BaseCombatContent {
enemyAI();
}

public function WinterClaws():void {
clearOutput();
var WinterClawsDuration:Number = 10
//if (player.hasPerk(PerkLib.HinezumiBurningBlood)) blazingBattleSpiritDuration += 1;
//if (player.hasPerk(PerkLib.HinezumiBurningBloodEvolved)) blazingBattleSpiritDuration += 2;
//if (player.hasPerk(PerkLib.HinezumiBurningBloodFinalForm)) blazingBattleSpiritDuration += 7;
outputText("Your bodily flames begin to rage as you enter a passionate battle fury.\n\n");
player.createStatusEffect(StatusEffects.WinterClaw,WinterClawsDuration,0,0,0);
statScreenRefresh();
enemyAI();
}

public function flameBlade():void {
clearOutput();
var flameBladeDuration:Number = 10;
Expand Down
1 change: 1 addition & 0 deletions classes/classes/StatusEffects.as
Original file line number Diff line number Diff line change
Expand Up @@ -961,6 +961,7 @@ import classes.StatusEffects.VampireThirstEffect;
public static const VioletPupilTransformation:StatusEffectType = mkCombat("Violet Pupil Transformation");
public static const Web:StatusEffectType = WebDebuff.TYPE;
public static const WebSilence:StatusEffectType = mkCombat("Web-Silence");
public static const WinterClaw:StatusEffectType = mkCombat("Winter Claw");
public static const Whispered:StatusEffectType = mkCombat("Whispered");
public static const WindWall:StatusEffectType = mkCombat("Wind Wall");
public static const WolfHold:StatusEffectType = mkCombat("Wolf Hold");
Expand Down

0 comments on commit b1ef057

Please sign in to comment.