From 2a4ce9dbcd05bf81d582aac49dd520b91a0db9fb Mon Sep 17 00:00:00 2001 From: Kitteh6660 Date: Mon, 13 Oct 2014 04:07:52 -0400 Subject: [PATCH] Mod update 0.7.6 Bug fixes #4, should hopefully be the last until 0.8! --- classes/classes/CoC.as | 4 +- classes/classes/Creature.as | 4 +- classes/classes/GlobalFlags/kFLAGS.as | 2 +- classes/classes/ImageManager.as | 11 +- classes/classes/Player.as | 36 ++++++ classes/classes/Saves.as | 73 +++++------- classes/classes/Scenes/Camp.as | 13 ++- classes/classes/Scenes/Inventory.as | 21 ++-- classes/classes/Scenes/NPCs/EmberScene.as | 2 +- classes/classes/Scenes/NPCs/JojoScene.as | 3 + classes/classes/Scenes/NPCs/Rathazul.as | 5 +- .../classes/Scenes/Places/TelAdre/UmasShop.as | 2 +- img/images.xml | 4 + includes/combat.as | 10 +- includes/engineCore.as | 110 +++++++++++++----- includes/startUp.as | 33 ++++-- 16 files changed, 231 insertions(+), 102 deletions(-) diff --git a/classes/classes/CoC.as b/classes/classes/CoC.as index 1fa4a65c5b..359ec7563a 100644 --- a/classes/classes/CoC.as +++ b/classes/classes/CoC.as @@ -352,8 +352,8 @@ //model.debug = debug; // TODO: Set on model? //Version NUMBER - ver = "0.8.16_mod_0.7.5"; - version = ver + " (Bug fixes #3)"; + ver = "0.8.16_mod_0.7.6"; + version = ver + " (Bug fixes #4)"; //Indicates if building for mobile? mobile = false; diff --git a/classes/classes/Creature.as b/classes/classes/Creature.as index b68614f6f7..b8d5920eda 100644 --- a/classes/classes/Creature.as +++ b/classes/classes/Creature.as @@ -1986,8 +1986,8 @@ package classes if (!hasCock()) return 0; var cumCap:Number = 0; //Alter capacity by balls. - if (balls > 0) cumCap += Math.pow(((4 / 3) * Math.PI * (ballSize / 2)), 3) * balls * cumMultiplier - else cumCap += Math.pow(((4 / 3) * Math.PI * 1.25), 3) * 2 * cumMultiplier + if (balls > 0) cumCap += Math.pow(((4 / 3) * Math.PI * (ballSize / 2)), 3) * balls// * cumMultiplier + else cumCap += Math.pow(((4 / 3) * Math.PI * 1.25), 3) * 2// * cumMultiplier //Alter capacity by perks. if (findPerk(PerkLib.BroBody) >= 0) cumCap *= 1.3; if (findPerk(PerkLib.FertilityPlus) >= 0) cumCap *= 1.5; diff --git a/classes/classes/GlobalFlags/kFLAGS.as b/classes/classes/GlobalFlags/kFLAGS.as index edc8649e35..8ea3b50d68 100644 --- a/classes/classes/GlobalFlags/kFLAGS.as +++ b/classes/classes/GlobalFlags/kFLAGS.as @@ -2078,7 +2078,7 @@ public static const KEPT_PURE_AMILY_OVER_VAPULA:int public static const WATERSPORTS_ENABLED:int = 2070; public static const LUSTSTICK_LIBIDO_INITIAL:int = 2071; public static const LUSTSTICK_LIBIDO_MOD:int = 2072; -public static const UNKNOWN_FLAG_NUMBER_02073:int = 2073; +public static const IMAGEPACK_OFF:int = 2073; public static const UNKNOWN_FLAG_NUMBER_02074:int = 2074; public static const UNKNOWN_FLAG_NUMBER_02075:int = 2075; public static const UNKNOWN_FLAG_NUMBER_02076:int = 2076; diff --git a/classes/classes/ImageManager.as b/classes/classes/ImageManager.as index 38f264ec63..084d063776 100644 --- a/classes/classes/ImageManager.as +++ b/classes/classes/ImageManager.as @@ -1,5 +1,9 @@ package classes { + import classes.Image; + import classes.GlobalFlags.kFLAGS; + import classes.GlobalFlags.kGAMECLASS; + import fl.controls.UIScrollBar; import flash.display.Loader; import flash.display.Stage; @@ -7,7 +11,6 @@ import flash.errors.IOError; import flash.net.*; import flash.events.*; - import classes.Image; import flash.system.Security; import flash.text.TextField; @@ -201,7 +204,11 @@ public function showImage(imageID:String, align:String = "left"):String { var imageString:String = ""; - + + if (kGAMECLASS.flags[kFLAGS.IMAGEPACK_OFF] > 0) { + return ""; + } + if (logErrors) trace("showing imageID - ", imageID); var imageIndex:int = 0; var image:Image = null; diff --git a/classes/classes/Player.as b/classes/classes/Player.as index c087c0ef24..37434900e2 100644 --- a/classes/classes/Player.as +++ b/classes/classes/Player.as @@ -1722,6 +1722,41 @@ use namespace kGAMECLASS; var maxSpe:int = 100; var maxInt:int = 100; + //Alter max speed if you have oversized parts. (Realistic mode) + if (flags[kFLAGS.HUNGER_ENABLED] > 0) + { + //Balls + var tempSpeedCap:Number = 100; + if (ballSize > 3) maxSpe -= (ballSize - 3); + //Breasts + if (hasBreasts()) + { + if (biggestTitSize() > 15) maxSpe -= (biggestTitSize() / 4); + } + //Cocks + if (biggestCockArea() > 24) maxSpe -= ((biggestCockArea() - 24) / 6) + //Min-cap + if (maxSpe < 50) maxSpe = 50; + } + + //Uma's Needlework affects max stats. Takes effect BEFORE racial modifiers and AFTER modifiers from body size. + //Caps strength from Uma's needlework. + if (findPerk(PerkLib.ChiReflowSpeed) >= 0) + { + if (maxStr > UmasShop.NEEDLEWORK_SPEED_STRENGTH_CAP) + { + maxStr = UmasShop.NEEDLEWORK_SPEED_STRENGTH_CAP; + } + } + //Caps speed from Uma's needlework. + if (findPerk(PerkLib.ChiReflowDefense) >= 0) + { + if (maxSpe > UmasShop.NEEDLEWORK_DEFENSE_SPEED_CAP) + { + maxSpe = UmasShop.NEEDLEWORK_DEFENSE_SPEED_CAP; + } + } + //Alter max stats depending on race if (minoScore() >= 4) { maxStr += 20; @@ -1752,6 +1787,7 @@ use namespace kGAMECLASS; maxInt -= 10; } if (gooScore() >= 3) { + maxTou += 10; maxSpe -= 10; } if (isNaga()) maxSpe += 10; diff --git a/classes/classes/Saves.as b/classes/classes/Saves.as index 35e08e8982..3fef5ffc28 100644 --- a/classes/classes/Saves.as +++ b/classes/classes/Saves.as @@ -285,6 +285,10 @@ public function saveLoad(e:MouseEvent = null):void //Hide the name box in case of backing up from save //screen so it doesnt overlap everything. mainView.nameBox.visible = false; + var autoSaveSuffix:String = "" + if (player.autoSave) autoSaveSuffix = "ON"; + else autoSaveSuffix = "OFF"; + outputText("", true); outputText("Where are my saves located?\n", false); outputText("In Windows Vista/7 (IE/FireFox/Other):
Users/{username}/Appdata/Roaming/Macromedia/Flash Player/#Shared Objects/{GIBBERISH}/
\n\n", false); @@ -301,56 +305,41 @@ public function saveLoad(e:MouseEvent = null):void temp = 777; mainView.setButtonText( 0, "save/load" ); } - if (temp == 777) - { - simpleChoices("", 0, "Load", loadScreen, "Load File", -21, "Delete", deleteScreen, "Back", 5025); + + menu(); + //addButton(0, "Save", saveScreen); + addButton(1, "Load", loadScreen); + addButton(2, "Delete", deleteScreen); + //addButton(5, "Save to File", eventParser, -20); + addButton(6, "Load File", eventParser, -21); + //addButton(8, "AutoSave: " + autoSaveSuffix, eventParser, -65); + addButton(9, "Back", eventParser, 5025); + + + if (temp == 777) { + addButton(9, "Back", eventParser, 5025); return; } - if (player.str == 0) - { - simpleChoices("", 0, "Load", loadScreen, "Load File", -21, "Delete", deleteScreen, "Back", kGAMECLASS.mainMenu); + if (player.str == 0) { + addButton(9, "Back", kGAMECLASS.mainMenu); return; } - if (inDungeon) - { - simpleChoices("", 0, "Load", loadScreen, "Load File", -21, "Delete", deleteScreen, "Back", 1); + if (inDungeon) { + addButton(9, "Back", eventParser, 1); return; } - if (gameState == 3) - choices("Save", saveScreen, - "Load", loadScreen, - "Load File", -21, - "Delete", deleteScreen, - "Back", 0, - "Save to File", -20, - "Load File", -21, - "", 0, - "", 0, - "", 0); + if (gameState == 3) { + addButton(0, "Save", saveScreen); + addButton(5, "Save to File", eventParser, -20); + addButton(8, "AutoSave: " + autoSaveSuffix, eventParser, 65); + addButton(9, "Back", kGAMECLASS.mainMenu); + } else { - if (player.autoSave) - choices("Save", saveScreen, - "Load", loadScreen, - "AutoSav: ON", 65, - "Delete", deleteScreen, - "", 0, - "Save to File", -20, - "Load File", -21, - "", 0, - "", 0, - "Back", 1); - else - choices("Save", saveScreen, - "Load", loadScreen, - "AutoSav: OFF", 65, - "Delete", deleteScreen, - "", 0, - "Save to File", -20, - "Load File", -21, - "", 0, - "", 0, - "Back", 1); + addButton(0, "Save", saveScreen); + addButton(5, "Save to File", eventParser, -20); + addButton(8, "AutoSave: " + autoSaveSuffix, eventParser, 65); + addButton(9, "Back", eventParser, 1); } if (flags[kFLAGS.HARDCORE_MODE] >= 1) { removeButton(5); //Disable "Save to File" in Hardcore Mode. diff --git a/classes/classes/Scenes/Camp.as b/classes/classes/Scenes/Camp.as index 075d133922..6f3d36d1c4 100644 --- a/classes/classes/Scenes/Camp.as +++ b/classes/classes/Scenes/Camp.as @@ -809,7 +809,7 @@ public function doCamp():void { choices("Explore", explore, "Places", placesNum, "Inventory", 1000, "Stash", storage, "Followers", followers, "Lovers", lovers, "Slaves", slaves, "Camp Actions", canCampStuff, baitText, masturbate, restName, restEvent); if (flags[kFLAGS.MOD_SAVE_VERSION] < kGAMECLASS.modSaveVersion) { - updateSaveFlags(); + promptSaveUpdate(); } //Massive Balls Bad End (Realistic Mode only) @@ -2203,6 +2203,17 @@ private function fixFlags():void { flags[kFLAGS.UNKNOWN_FLAG_NUMBER_02994] = 0; } } +private function promptSaveUpdate():void { + flags[kFLAGS.MOD_SAVE_VERSION] = kGAMECLASS.modSaveVersion; + outputText("It appears that you are importing your save from vanilla CoC or older version of this mod.", true); + outputText("\n\nIs your file last saved in vanilla CoC or pre-version 0.7.1 of the mod?"); + outputText("\n\nI'm only asking because older versions of the mod conflicted with flags. This is now fixed but I can't guarantee if your save is okay."); + outputText("\n\nPlease select the correct button. Choosing the mod will update the flags, this is necessary for saves from mod to avoid screwing up."); + menu(); + addButton(0, "Vanilla", doCamp); + addButton(1, "Pre-0.7.1 mod", updateSaveFlags); +} + //Updates save. Done to ensure your save doesn't get screwed up. private function updateSaveFlags():void { flags[kFLAGS.MOD_SAVE_VERSION] = kGAMECLASS.modSaveVersion; diff --git a/classes/classes/Scenes/Inventory.as b/classes/classes/Scenes/Inventory.as index 1641f2d7ed..7ca20aa33e 100644 --- a/classes/classes/Scenes/Inventory.as +++ b/classes/classes/Scenes/Inventory.as @@ -212,19 +212,19 @@ public function doItems(eventNo:Number):void { player.slimeFeed(); outputText("You sink the needle deep into your " + sackDescript() + ". It hurts like hell, but you push down the plunger and the pain vanishes as the needles contents flow into you.\n\n", true); //Apply diminishing returns in realistic mode. The bigger your balls, the harder it is to grow your balls further. + var oldBallSize:Number = player.ballSize if (flags[kFLAGS.HUNGER_ENABLED] > 0) { if (player.ballSize >= 6) multiplier -= 0.25; if (player.ballSize >= 12) multiplier -= 0.25; if (player.ballSize >= 24) multiplier -= 0.25; if (player.ballSize >= 36) multiplier -= 0.10; if (player.ballSize >= 48) multiplier -= 0.05; + if (player.ballSize >= 60) multiplier -= 0.10; //Upper limit if (player.ballSize > 36 && rand(2) == 0) { - outputText("It seems to have no effect on your " + ballsDescriptLight() + ".") - return; + outputText("It seems to have no effect on your " + ballsDescriptLight() + ". ") } if (player.ballSize >= 60) { - outputText("It seems to have no effect on your " + ballsDescriptLight() + ". You may have reached the upper limit of Gro+.") - return; + outputText("You may have reached the upper limit of Gro+. ") } } //1 in 4 BIG growth. @@ -239,11 +239,11 @@ public function doItems(eventNo:Number):void { } if (player.ballSize > 10) { outputText("Walking gets even tougher with the swollen masses between your legs. Maybe this was a bad idea. ", false); - dynStats("spe", (-1 - rand(2))) + dynStats("spe", oldBallSize - player.ballSize) } if (player.ballSize > 36 && flags[kFLAGS.HUNGER_ENABLED] > 0) { outputText("Your monster-sized balls are weighing you down. You'll have hard time carrying them.", false); - dynStats("spe", (-1 - rand(2))) + //dynStats("spe", oldBallSize - player.ballSize) } dynStats("lus", 10); itemGoNext(); @@ -396,11 +396,18 @@ public function doItems(eventNo:Number):void { //Reducto Ballzzzz else if(eventNo == 1054) { outputText("You smear the foul-smelling paste onto your " + sackDescript() + ". It feels cool at first but rapidly warms to an uncomfortable level of heat.\n\n", true); + var oldBallSize:Number = player.ballSize + var decideSpeed:Boolean = false; + if (player.ballSize > 10) decideSpeed = true; player.ballSize -= (2 + rand(4)); - if(player.ballSize < 1) player.ballSize = 1; + if (player.ballSize < 1) player.ballSize = 1; outputText("You feel your scrotum shift, shrinking down along with your " + ballsDescriptLight() + ". ", false); outputText("Within a few seconds the paste has been totally absorbed and the shrinking stops.", false); dynStats("lib", -2, "lus", -10); + if (player.ballSize > 10) dynStats("spe", oldBallSize - player.ballSize); + else { + if (decideSpeed) dynStats("spe", oldBallSize - player.ballSize); + } itemGoNext(); } //Reducto Breasts diff --git a/classes/classes/Scenes/NPCs/EmberScene.as b/classes/classes/Scenes/NPCs/EmberScene.as index a9be43e4d5..21935568c0 100644 --- a/classes/classes/Scenes/NPCs/EmberScene.as +++ b/classes/classes/Scenes/NPCs/EmberScene.as @@ -1040,7 +1040,7 @@ package classes.Scenes.NPCs doNext(13); return; } - if (player.pregnancyIncubation < 200 && player.pregnancyType != PregnancyStore.PREGNANCY_EMBER && flags[kFLAGS.EMBER_BITCHES_ABOUT_PREGNANT_PC] == 0) { + if (player.pregnancyIncubation < 200 && player.pregnancyType != PregnancyStore.PREGNANCY_EMBER && player.pregnancyType > 0 && flags[kFLAGS.EMBER_BITCHES_ABOUT_PREGNANT_PC] == 0) { manEmberBitchesAboutPCPregnancy(); doNext(13); return; diff --git a/classes/classes/Scenes/NPCs/JojoScene.as b/classes/classes/Scenes/NPCs/JojoScene.as index 25db8ee69d..7aa2dc323d 100644 --- a/classes/classes/Scenes/NPCs/JojoScene.as +++ b/classes/classes/Scenes/NPCs/JojoScene.as @@ -1537,6 +1537,7 @@ public function refuseJojosApology():void //Intro public function lowCorruptionIntro():void { + kGAMECLASS.tooltipLoc = "Jojo"; outputText("He extends a hand, which you gladly shake. “My name is Jojo, pleased to meet you.” You introduce yourself in kind.\n\n"); outputText("Now that you have the opportunity to take a good look at him, you notice that he is dressed in simple garbs reminiscent of a monk. A light-blue robe covers his flat chest, tied with a simple sash around his waist. His pants, similar to his robes, fit him snugly as well.\n\n"); @@ -1575,6 +1576,7 @@ public function set doClear(v:Boolean):void //[Yes] public function acceptOfferOfHelp():void { + kGAMECLASS.tooltipLoc = "Jojo"; clearOutput(); jojoSprite(); @@ -1587,6 +1589,7 @@ public function acceptOfferOfHelp():void //[No] public function refuseOfferOfHelp():void { + kGAMECLASS.tooltipLoc = "Jojo"; clearOutput(); jojoSprite(); diff --git a/classes/classes/Scenes/NPCs/Rathazul.as b/classes/classes/Scenes/NPCs/Rathazul.as index b6e70411cd..a6dfcaf156 100644 --- a/classes/classes/Scenes/NPCs/Rathazul.as +++ b/classes/classes/Scenes/NPCs/Rathazul.as @@ -1,6 +1,7 @@ package classes.Scenes.NPCs{ import classes.*; import classes.GlobalFlags.kFLAGS; + import classes.GlobalFlags.kGAMECLASS; public class Rathazul extends NPCAwareContent implements TimeAwareInterface { @@ -250,7 +251,8 @@ private function rathazulWorkOffer():Boolean { doNext(13); return true; } - if(totalOffers > 0) { + if (totalOffers > 0) { + kGAMECLASS.tooltipLoc = "Rathazul"; var armor:Function = null; if(beeArmor != null || gelArmor != null || silk > 0 || player.hasKeyItem("Tentacled Bark Plates") >= 0) armor = RathazulArmorMenu; outputText("Will you take him up on an offer or leave?", false); @@ -441,6 +443,7 @@ private function collectRathazulArmor():void { itype = armors.SSARMOR; } //Reset counters + player.addStatusValue(StatusAffects.MetRathazul,2,1); flags[kFLAGS.UNKNOWN_FLAG_NUMBER_00275] = 0; flags[kFLAGS.RATHAZUL_SILK_ARMOR_COUNTDOWN] = 0; menuLoc = 2; diff --git a/classes/classes/Scenes/Places/TelAdre/UmasShop.as b/classes/classes/Scenes/Places/TelAdre/UmasShop.as index 98ebd02c3a..0e11e39092 100644 --- a/classes/classes/Scenes/Places/TelAdre/UmasShop.as +++ b/classes/classes/Scenes/Places/TelAdre/UmasShop.as @@ -670,7 +670,7 @@ // 25 per undo? baseCost += (25 * flags[kFLAGS.UMA_TIMES_ACUPUNCTURE_UNDO]); } - + if (baseCost > 1000) baseCost = 1000; return baseCost; } diff --git a/img/images.xml b/img/images.xml index 0e6c8424dc..c7ce6be1af 100644 --- a/img/images.xml +++ b/img/images.xml @@ -1,6 +1,10 @@ + ./img/akbal-deepwoods-bigbuttanaled ./img/akbal-deepwoods-bigbuttanaled_1 diff --git a/includes/combat.as b/includes/combat.as index 189feb40a9..98b743e973 100644 --- a/includes/combat.as +++ b/includes/combat.as @@ -4195,7 +4195,7 @@ public function spellWhitefire():void { return; } outputText("You narrow your eyes, focusing your mind with deadly intent. You snap your fingers and " + monster.a + monster.short + " is enveloped in a flash of white flames!\n", true); - temp = int(10+(player.inte/4 + rand(player.inte/3)) * spellMod()); + temp = int(10+(player.inte/3.5 + rand(player.inte/2.5)) * spellMod()); //High damage to goes. if (monster.short == "goo-girl") temp = Math.round(temp * 1.5); if (monster.short == "tentacle beast") temp = Math.round(temp * 1.2); @@ -4725,7 +4725,7 @@ public function dragonBreath():void { } else { damage = takeDamage(damage); - outputText("Your own fire smacks into your face! (" + damage + ")", false); + outputText("Your own fire smacks into your face! (" + damage + ")", false); } outputText("\n\n", false); } @@ -4736,7 +4736,7 @@ public function dragonBreath():void { damage = Math.round(damage * 1.5); damage = doDamage(damage); monster.createStatusAffect(StatusAffects.Stunned,0,0,0,0); - outputText("(+" + damage + ")\n\n", false); + outputText("(" + damage + ")\n\n", false); } else { if(monster.findPerk(PerkLib.Resolute) < 0) { @@ -5437,7 +5437,7 @@ public function corruptedFoxFire():void { if(monster.findPerk(PerkLib.Acid) < 0) monster.createPerk(PerkLib.Acid,0,0,0,0); } dmg = doDamage(dmg); - outputText(" (+" + dmg + ")\n\n", false); + outputText(" (" + dmg + ")\n\n", false); statScreenRefresh(); if(monster.HP < 1) doNext(endHpVictory); else enemyAI(); @@ -5475,7 +5475,7 @@ public function foxFire():void { if(monster.findPerk(PerkLib.Acid) < 0) monster.createPerk(PerkLib.Acid,0,0,0,0); } dmg = doDamage(dmg); - outputText(" (+" + dmg + ")\n\n", false); + outputText(" (" + dmg + ")\n\n", false); statScreenRefresh(); if(monster.HP < 1) doNext(endHpVictory); else enemyAI(); diff --git a/includes/engineCore.as b/includes/engineCore.as index e43559fbbc..00da7e8eba 100644 --- a/includes/engineCore.as +++ b/includes/engineCore.as @@ -989,9 +989,11 @@ public function getButtonToolTipText(buttonText:String):String } if(buttonText.indexOf("Forest") != -1) { toolTipText = "Visit the lush forest. \n\nRecommended level: 1"; + if (player.level < 6) toolTipText += "\n\nBeware of Tentacle Beasts!" } if(buttonText.indexOf("Lake") != -1) { - toolTipText = "Visit the lake and explore the beach. \n\nRecommended level: 2"; + toolTipText = "Visit the lake and explore the beach. \n\nRecommended level: 1"; + if (player.level < 2) toolTipText += "\n\nNo goo-girl and slime encounters until level 2."; } if(buttonText.indexOf("Plains") != -1) { toolTipText = "Visit the plains. \n\nRecommended level: 10"; @@ -1056,6 +1058,9 @@ public function getButtonToolTipText(buttonText:String):String if(buttonText.indexOf("Desert Cave") != -1) { toolTipText = "Visit the cave you've found in the desert."; } + if(buttonText.indexOf("Phoenix Tower") != -1) { + toolTipText = "Re-visit the tower you went there as part of Helia's quest."; + } //FOLLOWERS //Rathazul if(buttonText.indexOf("Rathazul") != -1) { @@ -1066,6 +1071,10 @@ public function getButtonToolTipText(buttonText:String):String if(monk >= 5) toolTipText = "Call your corrupted pet into camp in order to relieve your desires in a variety of sexual positions? He's ever so willing after your last encounter with him."; else toolTipText = "Go find Jojo around the edges of your camp and meditate with him or talk about watch duty."; } + //Valeria + if(buttonText == "Valeria") { + toolTipText = "Visit Valeria the goo-girl."; + } //Marble if(buttonText == "Marble") { toolTipText = "Go to Marble the cowgirl for talk and companionship."; @@ -1095,6 +1104,74 @@ public function getButtonToolTipText(buttonText:String):String //----------------- //-- FOLLOWER INTERACTIONS //----------------- + //Rathazul + if (kGAMECLASS.tooltipLoc == "Rathazul") { + if (buttonText == "Armor") { + toolTipText = "Ask Rathazul to make an armour for you."; + } + if (buttonText == "Debimbo") { + toolTipText = "Ask Rathazul to make a debimbofying potion for you. \n\nCost: 250 Gems and 5 Scholar Teas."; + } + if (buttonText == "Buy Dye") { + toolTipText = "Ask him to make a dye for you. \n\nCost: 50 Gems."; + } + if (buttonText == "Purify") { + toolTipText = "Ask him to purify any tainted potions. \n\nCost: 20 Gems."; + } + if (buttonText == "Lethicite") { + toolTipText = "Ask him if he can make use of that lethicite you've obtained from Marae."; + } + } + //Jojo + if (kGAMECLASS.tooltipLoc == "Jojo") { + if (buttonText == "Appearance") { + toolTipText = "Examine Jojo's appearance."; + } + if (buttonText == "Talk") { + toolTipText = "Discuss with him about topics."; + } + if (buttonText == "Rape") { + toolTipText = "Rape the poor monk mouse-morph."; + if (player.cor < 20) toolTipText += " Why would you do that?"; + } + if (buttonText == "Train") { + toolTipText = "Join him in a training session."; + } + if (buttonText == "N.Watch:On") { + toolTipText = "Request him to stop guarding the camp."; + } + if (buttonText == "N.Watch:Off") { + toolTipText = "Request him to guard the camp at night."; + } + if (buttonText == "Purge") { + toolTipText = "Request him to purge the worms from your body."; + } + //Talk + if (buttonText == "Village") { + toolTipText = "Ask him about the village he was raised in."; + } + if (buttonText == "Monks") { + toolTipText = "Ask him about how and why he became a monk."; + } + if (buttonText == "MonksFall") { + toolTipText = "Ask him about the demise of the monks."; + } + if (buttonText == "Forest") { + toolTipText = "Ask him about how he ended up in the forest."; + } + if (buttonText == "You") { + toolTipText = "Tell him about Ingnam and your history."; + } + if (buttonText == "Factory") { + toolTipText = "Tell him about how you've shut down the factory."; + } + if (buttonText == "SandCave") { + toolTipText = "Tell him about your encounter in the Sand Cave in the desert."; + } + if (buttonText == "Training") { + toolTipText = "Ask him if he's willing to train you."; + } + } //Valeria if (kGAMECLASS.tooltipLoc == "Valeria") { //Menu @@ -2560,8 +2637,8 @@ public function stats(stre:Number, toug:Number, spee:Number, intel:Number, libi: if(player.findPerk(PerkLib.Lusty) >= 0 && libi >= 0) player.lib+=libi*player.perk(player.findPerk(PerkLib.Lusty)).value1; if (player.findPerk(PerkLib.Sensitive) >= 0 && sens >= 0) player.sens += sens * player.perk(player.findPerk(PerkLib.Sensitive)).value1; - // Uma's Str Cap from Perks - if (player.findPerk(PerkLib.ChiReflowSpeed) >= 0) + // Uma's Str Cap from Perks (Moved to max stats) + /*if (player.findPerk(PerkLib.ChiReflowSpeed) >= 0) { if (player.str > UmasShop.NEEDLEWORK_SPEED_STRENGTH_CAP) { @@ -2574,33 +2651,8 @@ public function stats(stre:Number, toug:Number, spee:Number, intel:Number, libi: { player.spe = UmasShop.NEEDLEWORK_DEFENSE_SPEED_CAP; } - } + }*/ - //Realistic mode! - if (flags[kFLAGS.HUNGER_ENABLED] > 0) - { - //Balls - var tempSpeedCap:Number = 100; - if (player.ballSize > 3) - { - tempSpeedCap -= (player.ballSize - 3); - } - //Breasts - if (player.hasBreasts()) - { - if (player.biggestTitSize() > 15) - { - tempSpeedCap -= (player.biggestTitSize() / 4); - } - } - //Cocks - if (player.biggestCockArea() > 24) - { - tempSpeedCap -= ((player.biggestCockArea() - 24) / 6) - } - if (tempSpeedCap < 50) tempSpeedCap = 50; - if (player.spe > tempSpeedCap) player.spe = tempSpeedCap - } //Keep stats in bounds if(player.cor < 0) player.cor = 0; if(player.cor > 100) player.cor= 100; diff --git a/includes/startUp.as b/includes/startUp.as index 0ce5fb526e..b6c9332672 100644 --- a/includes/startUp.as +++ b/includes/startUp.as @@ -34,9 +34,9 @@ public function mainMenu(e:MouseEvent = undefined):void mainView.showMenuButton( MainView.MENU_DATA ); //Sets game state to 3, used for determining back functionality of save/load menu. gameState = 3; - - - outputText("Corruption of Champions (" + version + ")", true); + outputText("", true); + outputText(images.showImage("coc-logo"), false); + outputText("Corruption of Champions (" + version + ")", false); if (CoC_Settings.debugBuild) outputText(" Debug Build."); @@ -46,7 +46,7 @@ public function mainMenu(e:MouseEvent = undefined):void //doThatTestingThang(); startupScreenBody(); - + var resume:Number = 0; if(player.str > 0) //we're in a game, allow resume. resume = 1; @@ -207,6 +207,15 @@ public function settingsScreen():void outputText("Stats Pane Style: New\n New stats panel will be used."); outputText("\n\n"); + + if (flags[kFLAGS.IMAGEPACK_OFF] < 1) + { + outputText("Image Pack: ON\n Image pack is enabled."); + } + else + outputText("Image Pack: OFF\n Image pack is disabled."); + + outputText("\n\n"); /*if (flags[kFLAGS.SFW_MODE] >= 1) { @@ -261,6 +270,7 @@ public function settingsScreenII():void { settingsScreen(); addButton(0, "Old Side Bar", toggleInterface); addButton(1, "Background", cycleBackground); + addButton(2, "Toggle Images", toggleImages); //addButton(2, "Old Sprites", eventParser, 9999); //If I can re-add old sprites, that is. //addButton(3, "SFW Toggle", toggleSFW); //SFW mode in a NSFW RPG? Sure, why not? But that'll take effort. @@ -282,6 +292,12 @@ public function toggleInterface():void { settingsScreenII(); } +public function toggleImages():void { + if (flags[kFLAGS.IMAGEPACK_OFF] < 1) flags[kFLAGS.IMAGEPACK_OFF] = 1; + else flags[kFLAGS.IMAGEPACK_OFF] = 0; + settingsScreenII(); +} + public function toggleWatersports():void { if (flags[kFLAGS.WATERSPORTS_ENABLED] < 1) flags[kFLAGS.WATERSPORTS_ENABLED] = 1; else flags[kFLAGS.WATERSPORTS_ENABLED] = 0; @@ -443,15 +459,16 @@ public function creditsScreen():void { outputText("
    "); outputText("
  • Fenoxo
  • \n"); outputText("
"); + outputText("Game Mod\n"); + outputText("
    "); + outputText("
  • Kitteh6660 (Mod Creator)
  • "); + outputText("
  • Wastarce (Bug Reporting)
  • "); + outputText("
"); outputText("Typo Reporting\n"); outputText("
    "); outputText("
  • SoS
  • "); outputText("
  • Prisoner416
  • "); outputText("
  • Chibodee
  • "); - outputText("Modifications\n"); - outputText("
      "); - outputText("
    • Kitteh6660
    • "); - outputText("
    "); outputText(""); outputText("Graphical Prettiness:") outputText("
      ");;