示例#1
0
        protected void btnExport_Click(object sender, EventArgs e)
        {
            System.Data.DataTable dt = new System.Data.DataTable();

            dt.Columns.Add(new System.Data.DataColumn(BidString.GetText(@"SupplierName"), typeof(string)));
            dt.Columns.Add(new System.Data.DataColumn(BidString.GetText(@"Price"), typeof(string)));
            dt.Columns.Add(new System.Data.DataColumn(BidString.GetText(@"Gift"), typeof(string)));
            dt.Columns.Add(new System.Data.DataColumn(BidString.GetText(@"IsOrder"), typeof(string)));


            List <OfferUI> coll = OfferController.GetAllOfferByBidIdWithIsOrder(BidId);

            foreach (OfferUI offer in coll)
            {
                int i = 0;
                System.Data.DataRow row = dt.NewRow();
                row[i++] = offer.SupplierName;
                row[i++] = offer.TotalPrice;
                row[i++] = offer.Gift;
                row[i++] = GlobalStrings.GetYesNo(offer.IsOrder);
                dt.Rows.Add(row);
            }
            SpreadsheetWriter ex = SpreadsheetWriter.FromDataTable(dt, false, true);

            Response.Clear();
            Response.AddHeader(@"content-disposition", @"attachment;filename=OffersExport_" + DateTime.UtcNow.ToString(@"yyyy_MM_dd_HH_mm_ss") + "." + ex.FileExtension);
            Response.Charset         = @"UTF-8";
            Response.ContentEncoding = System.Text.Encoding.UTF8;
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            Response.ContentType = ex.FileContentType;
            Response.BinaryWrite(System.Text.Encoding.UTF8.GetPreamble());
            Response.Write(ex.ToString());
            Response.End();
        }
示例#2
0
            protected override string RemovedBasiliskHair(Creature target, HairData oldData)
            {
                StringBuilder sb = new StringBuilder();


                if (oldData.type == HairType.BASILISK_PLUME)
                {
                    // TF blurb derived from losing feathery hair
                    //(long):
                    if (oldData.length >= 5)
                    {
                        sb.Append(GlobalStrings.NewParagraph() + "A lock of your feathery plume droops over your eye.  Before you can blow the offending down away, "
                                  + " you realize the feather is collapsing in on itself."
                                  + " It continues to curl inward until all that remains is a normal strand of hair.");
                    }
                    //(short)
                    else
                    {
                        sb.Append(GlobalStrings.NewParagraph() + "You run your fingers through your feathery plume while you await the effects of the item you just ingested."
                                  + " While your hand is up there, it detects a change in the texture of your feathers.They're completely disappearing,"
                                  + " merging down into strands of regular hair.");
                    }

                    sb.Append(GlobalStrings.NewParagraph() + "<b>Your hair is no longer feathery!</b>");
                }
                else
                {
                    sb.Append(GlobalStrings.NewParagraph() + "You feel a tingling on your scalp. You reach up to your basilisk spines to find out what is happening.The moment"
                              + " your hand touches a spine, it comes loose and falls in front of you. One after another the other spines fall out, "
                              + " until all the spines that once decorated your head now lay around you, leaving you with a bald head.");
                    sb.Append(GlobalStrings.NewParagraph() + "<b>You realize that you'll grow normal human hair again!</b>");
                }

                return(sb.ToString());
            }
示例#3
0
        private string WearBimboSkirt(Creature wearer)
        {
            StringBuilder sb = new StringBuilder();


            sb.Append("As you go to put on your " + ItemName() + ", a strange sensation makes you pause for a moment. ");

            if (wearer.intelligence < 40)
            {
                sb.Append("You get the feeling wearing this won't just make you look like a bimbo, it'll make you LOOK like a bimbo, too.");
            }
            else if (wearer.intelligence < 65)
            {
                sb.Append("You get the impression wearing this won't just make you look like a bimbo, it'll make you more bimbo-like, too.");
            }
            else
            {
                sb.Append("You're fairly certain this is an enchanted item, and will undoubtedly alter your body and mind until you fully embody what it is to be a bimbo." +
                          "You're not really sure if that's something you want.");
            }
            sb.Append("Checking the tag confirms your suspicions. ");
            if (SillyModeSettings.isEnabled)
            {
                sb.Append("It reads: " + SafelyFormattedString.FormattedText("Made in Mareth. Machine wash cold. ", StringFormats.ITALIC));
            }
            else
            {
                sb.Append(" It also details a means to disable the effect. " + GlobalStrings.NewParagraph() + "Do you leave the bimbo-inducing effects " +
                          "enabled, or do you disable them?");
            }

            return(sb.ToString());
        }
示例#4
0
        protected override string EquipText(Creature wearer)
        {
            if (wearer is IExtendedCreature extended && !extended.extendedData.everUsedDragonshellShield)
            {
                extended.extendedData.everUsedDragonshellShield = true;

                StringBuilder sb = new StringBuilder();
                sb.Append("Turning the sturdy shield over in inspection, you satisfy yourself as to its craftsmanship and adjust the straps to fit your arm snugly. " +
                          "You try a few practice swings, but find yourself overbalancing at each one due to the deceptive lightness of the material. " +
                          "Eventually, though, you pick up the knack of putting enough weight behind it to speed it through the air while thrusting a leg forward " +
                          "to stabilize yourself, and try bashing a nearby rock with it. You smile with glee as ");

                if (wearer.strength < 80)
                {
                    sb.Append("bits and pieces from the surface of the");
                }
                else
                {
                    sb.Append("huge shards of the shattered");
                }

                sb.Append(" rock are sent flying in all directions.");

                sb.Append(GlobalStrings.NewParagraph() + "After a few more practice bashes and shifts to acquaint yourself with its weight, " +
                          "you think you're ready to try facing an enemy with your new protection. One last thing... taking off the shield and turning it straps-down, " +
                          "you spit onto the surface. Satisfyingly, the liquid disappears into the shell as soon as it touches.");

                return(sb.ToString());
            }
示例#5
0
        //if (result)
        //{
        //	if (target is PlayerBase target)
        //	{
        //		target.refillHunger(sateHungerAmount);
        //	}
        //	item = null;
        //}

        //if (isBadEnd)
        //{
        //	throw new Tools.InDevelopmentExceptionThatBreaksOnRelease();
        //	//if we hit a bad end, don't resume whatever we were doing - we treat it as if it was a nightmare and nothing happened, except for the stuff that did happen, because continuity
        //	//is hard to enforce in this shit. Just lampshade it - it was a nightmare, but you still suffer the effects of it as if it happened, but only up until the point you realized it
        //	//was a bad end. so, you'll lose any items you were gonna get afterward, etc, but if your butt was stretched to gaping, it'll still be gaping after resuming from the bad end.
        //	//same with piercings, tfs, etc. No time is lost, however, just resume from camp as soon as possible.
        //	//example of lampshading: "it was just a nightmare... but it felt so real - and your eyebrow has a piercing in it, just like in the dream. strange..."

        //	//GameEngine.DoBadEnd();
        //}
        //else
        //{
        //	postItemUseCallback(result, consumeResults, item);
        //}
        //}

#warning Implement IPatternable bs when you figure out how to do so and/or actually feel like it.

        private void DoSubMenu(IMultiDyeable multiDyeable)
        {
            display.OutputText(multiDyeable.LocationDesc() + " has several possible locations or combinations of locations. Where on " + multiDyeable.LocationDesc() +
                               " would you like to apply the " + color.AsString() + " hair dye?" + Environment.NewLine + "You can also go back to the full menu by hitting back.");

            display.ClearOutput();


            buttonMaker.ClearList();
            for (byte x = 0; x < multiDyeable.numDyeableMembers; x++)
            {
                string tip;
                string location = multiDyeable.memberLocationDesc(x, out bool plural);
                if (!multiDyeable.allowsDye(x))
                {
                    tip = location.CapitalizeFirstLetter() + " cannot currently be dyed.";
                }
                else if (!multiDyeable.isDifferentColor(color, x))
                {
                    tip = location.CapitalizeFirstLetter() + (plural ? " are" : " is") + " already " + color.AsString() + ".";
                }
                else
                {
                    tip = null;
                }
                buttonMaker.AddButtonToList(multiDyeable.memberButtonText(x), multiDyeable.allowsDye(x), () => ApplyDye(multiDyeable, x), tip, null);
            }

            buttonMaker.CreateButtons(new ButtonData(GlobalStrings.BACK(), true, RunMainMenu), new ButtonData(GlobalStrings.CANCEL(), true, PutBack));
        }
示例#6
0
 private string ClearedDickNipplesFlag(Creature consumer, NippleStatus oldStatus)
 {
     //new status is fuckable.
     if (oldStatus == NippleStatus.DICK_NIPPLE)
     {
         //Talk about if anything was changed.
         return(GlobalStrings.NewParagraph() + "Your massive dick-nipples tingle with sudden need, causing you to stroke them vigorously. As you do, " +
                "they begin to flatten, trading width for length. Undeterred, you switch to rubbing them, and occasionally prod their rapdidly widening opening. " +
                "Your efforts are rewarded as your nipples become wet, but it's not exactly what you were expecting. It's not until your fingers begin to slip " +
                "into your nipples that you realize the full extent of the change: <b>your dick-like nipples have shifted to become fuckable instead!</b>" +
                "It seems the egg has made it so your nipples prefer to be penetrated, instead of doing the penetrating.");
     }
     //old was not dick nipple (likely normal), and are now longer than fuckable threshold, so when we flipped the flag, they updated and became fuckable.W
     else if (consumer.genitals.nippleType == NippleStatus.FUCKABLE)
     {
         //Talk about if anything was changed.
         return(GlobalStrings.NewParagraph() + "Your " + consumer.genitals.AllBreastsLongDescription() + " tingle with warmth " +
                "that slowly migrates to your nipples, filling them with warmth. You pant and moan, rubbing them with your fingers."
                + " A trickle of wetness suddenly coats your finger as it slips inside the nipple. Shocked, you pull the finger free."
                + " <b>You now have fuckable nipples!</b>. It seems the egg has made it so your nipples prefer to be penetrated, instead of doing the penetrating.");
     }
     //else, they weren't long enough to become fuckable, so we grew them slightly. hint that dick nipples are no longer available.
     else
     {
         return(GlobalStrings.NewParagraph() + "Your " + consumer.genitals.AllBreastsLongDescription() + " tingle with warmth " +
                "that slowly migrates to your nipples, filling them with warmth. You pant and moan, rubbing them with your fingers." +
                " Your continued stimulation is eventually rewarded, as your nipples harden and enlongate slightly. You're certain something else changed, but you're " +
                "not entirely sure what. Perhaps if they were longer, they might act differently?");
     }
 }
示例#7
0
        private static string DraconicSpikesTransformStr(BackData back, PlayerBase player)
        {
            string seeItHow;

            if (player.neck.type == NeckType.DRACONIC || player.neck.type == NeckType.COCKATRICE)
            {
                seeItHow = "you bend your neck around to look at it. ";
            }
            else if (player.tail.type == TailType.DRACONIC)
            {
                seeItHow = "you bend your tail around and look at it. ";
            }
            else
            {
                seeItHow = "strain your neck trying to see it, but eventually give up and find something reflective, "
                           + " and watch it that way. ";
            }

            string oldText  = back.type != BackType.NORMAL ? " your back shakes violently, forcibly reshaping until it's once again smooth, but the pain still remains. " : "";
            string tailText = player.tail.type != TailType.NONE ? "your tail, ending just before the tip. " : "until it reaches your butt. ";

            return(GlobalStrings.NewParagraph() + "You feel a sudden pain along your spine. Eager to see what's causing this, " + seeItHow + oldText +
                   "The pain seems to focus into smaller areas, which start to bulge outward against your skin. The bulges grow larger and more painful until, with one final " +
                   "burst of pain, spikes break through your skin. You nearly black out, but manage to retain your senses as they continue their growth, curving down and away from your neck. " +
                   GlobalStrings.NewParagraph() + "Once they stop growing, you notice the spikes form a line along your spine, starting at the base of your neck and continuing down " + tailText +
                   "The spikes are spaced evenly, each one steel-gray in color and maybe " + Measurement.ToNearestSmallUnit(2, false, true) +
                   " tall, their base roughly " + Measurement.ToNearestHalfSmallUnit(1, false, true) + " in diameter. "
                   + SafelyFormattedString.FormattedText("Your spine is now decorated with a row of curved spikes!", StringFormats.BOLD));
        }
示例#8
0
        protected static string BehemothTransformStr(BackData back, PlayerBase player)
        {
            StringBuilder sb = new StringBuilder(GlobalStrings.NewParagraph() + "Your back and spine are suddenly overwhelmed with a sense of pins-and-needles. Unsure as to what exactly is causing this, you " +
                                                 (player.wearingAnything ? "undress and " : "") + "find something reflective to check your back with.");

            if (back.type == BackType.DRACONIC_SPIKES)
            {
                sb.Append("Strangely, each one of your spikes has started to split, forming two smaller spikes to the left and right of their previous location. Hair starts to grow between each " +
                          "new pair, which continue to move away from the center of your back. Eventually, they stop moving and straighten out instead. Once this finishes, you notice ");
            }
            else if (back.type == BackType.DRACONIC_MANE)
            {
                sb.Append("Along both sides of the mane running down your spine, a set of small spikes poke through your skin, causing intense discomfort. Once the spikes have finished, " +
                          "you notice ");
            }

            else
            {
                if (back.type != BackType.NORMAL)
                {
                    sb.Append("It seems that your back became completely normal while you were searching for something reflective. That was fast! You shrug, assuming that was it, when you" +
                              "notice something else happening. ");
                }
                sb.Append("You begin to notice a unique tuft of hair forming along your spine, starting at the base of your neck and continuing down ");
                sb.Append(player.tail.type != TailType.NONE ? "your tail, all the way to the end, where it forms a small tuft. " : "until it reaches your butt. ");
                sb.Append("It is the same color as the hair on your head, but shorter and denser. Along either side of it, a set of small spikes poke through your skin, " +
                          "causing intense discomfort. Once the spikes have finished, you notice ");
            }



            sb.Append(SafelyFormattedString.FormattedText("you have a back much like your behemoth friend!", StringFormats.BOLD) + "The hair forms a thick vertical strip, maybe " +
                      Measurement.ToNearestSmallUnit(2, false, true) + " wide, and you'd estimate each spike is roughly half that width, but protrudes from your back at least that far.");
            return(sb.ToString());
        }
示例#9
0
        protected static string DraconicManeTransformStr(BackData previousBackData, PlayerBase player)
        {
            string seeItHow;

            if (player.neck.type == NeckType.DRACONIC || player.neck.type == NeckType.COCKATRICE)
            {
                seeItHow = "you bend your neck around to look at it. ";
            }
            else if (player.tail.type == TailType.DRACONIC)
            {
                seeItHow = "you bend your tail around and look at it. ";
            }
            else
            {
                seeItHow = "strain your neck trying to see it, but eventually give up and find something reflective, "
                           + " and watch it that way. ";
            }

            string tailText = player.tail.type != TailType.NONE ? "your tail, all the way to the end, where it forms a small tuft. " : "until it reaches your butt. ";
            string oldText  = previousBackData.type != BackType.NORMAL ? "Somehow, your back has become perfectly smooth, though the tingling remains. " : "";

            return(GlobalStrings.NewParagraph() + "You feel a sudden tingle just above your spine. Eager to see what's causing this, " + seeItHow + oldText +
                   "Tiny splotches of hair begin growing out of your " + player.body.mainEpidermis.ShortDescription() +
                   ". The hair grows longer and the splotches grow until they slowly merge to a vertical strip right above your spine." +
                   GlobalStrings.NewParagraph() + "The hair forms a mane along your spine, starting at the base of your neck and continuing down " + tailText +
                   "It is the same color as the hair on your head, but shorter and denser; it has grown in a thick vertical strip, maybe " + Measurement.ToNearestSmallUnit(2, false, true) +
                   " wide. It reminds you vaguely of a horse's mane. " + SafelyFormattedString.FormattedText("You now have a hairy mane along your spine!", StringFormats.BOLD));
        }
示例#10
0
        public string ReductoHips(HipData oldHips, bool nothingHappened)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append("You smear the foul-smelling paste onto your " + oldHips.ShortDescription() + ". It feels cool at first but rapidly warms to an uncomfortable level of heat."
                      + GlobalStrings.NewParagraph());
            if (nothingHappened)
            {
                sb.Append("Strangely, nothing seems to happen. What a waste!");
            }
            if (oldHips.size >= 15)
            {
                sb.Append("Within seconds you feel noticeably lighter, and a quick glance at your hips shows they've gotten significantly narrower.");
            }
            else if (oldHips.size >= 10)
            {
                sb.Append("You feel much lighter as your " + ShortDescription() + " shift slightly, adjusting to their smaller size.");
            }
            else
            {
                sb.Append("After a few seconds your " + ShortDescription() + " have shrunk to a much smaller size!");
            }

            return(sb.ToString());
        }
示例#11
0
        private string ReductoButt(ButtData oldData, bool nothingHappened)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append("You smear the foul-smelling paste onto your " + oldData.ShortDescription() + ". It feels cool at first but rapidly warms " +
                      "to an uncomfortable level of heat." + GlobalStrings.NewParagraph());
            if (nothingHappened)
            {
                sb.Append("Strangely, nothing seems to happen. What a waste!");
            }
            if (oldData.size - size > 3)
            {
                sb.Append("Within seconds you feel noticeably lighter, and a quick glance shows your ass is significantly smaller.");
            }
            else if (oldData.size - size == 3)
            {
                sb.Append("You feel much lighter as your " + ShortDescription() + " jiggles slightly, adjusting to its smaller size.");
            }
            else
            {
                sb.Append("After a few seconds your " + ShortDescription() + " has shrunk to a much smaller size!");
            }

            return(sb.ToString());
        }
示例#12
0
        private string Intro(Creature creature, BimBro bimBro)
        {
            if (bimBro is null)
            {
                string inteText = creature.intelligence > 50 ? ", though you're a bit worried by how much you enjoyed the simple, brutish act." : ".";

                return("Well, maybe this will give you the musculature that you need to accomplish your goals. You pull on the tab at the top and hear the distinctive " +
                       "snap-hiss of venting, carbonating pressure. A smoky haze wafts from the opened container, smelling of hops and alcohol. You lift it to your lips, " +
                       "the cold, metallic taste of the can coming to your tongue before the first amber drops of beer roll into your waiting mouth. It tingles, but it's very, " +
                       "very good. You feel compelled to finish it as rapidly as possible, and you begin to chug it. You finish the entire container in seconds." +
                       GlobalStrings.NewParagraph() +
                       "A churning, full sensation wells up in your gut, and without thinking, you open wide to release a massive burp. It rumbles through your chest, " +
                       "startling birds into flight in the distance. Awesome! You slam the can into your forehead hard enough to smash the fragile aluminum into a flat, " +
                       "crushed disc. Damn, you feel stronger already" + inteText + GlobalStrings.NewParagraph());
            }

            else if (bimBro.bimboBody)
            {
                return("The stuff hits you like a giant cube, nearly staggering you as it begins to settle.");
            }
            else
            {
                return("You crack open the can and guzzle it in a hurry. Goddamn, this shit is the best. As you crush the can against your forehead, " +
                       "you wonder if you can find a six-pack of it somewhere?" + GlobalStrings.NewParagraph());
            }
        }
示例#13
0
 private static string GrewTwoDogCocksHadNone(Creature target)
 {
     return(GlobalStrings.NewParagraph() + "A painful lump forms on your groin, nearly doubling you over as it presses against your " + target.armor.ItemName() + ". " +
            "You rip open your gear and watch, horrified as the discolored skin splits apart, revealing a pair of red-tipped points. A feeling of relief, " +
            "and surprising lust grows as they push forward, glistening red and thickening. The skin bunches up into an animal-like sheath, while a pair of fat bulges pop free. " +
            "You now have two nice thick dog-cocks, with decent sized knots. Both pulse and dribble animal-pre, arousing you in spite of your attempts at self-control.");
 }
示例#14
0
        private static string RemovedQuadNippleText(Creature target)
        {
            string armorText = target.wearingArmor ? "under your " + target.armor.ItemName() : target.wearingUpperGarment ? "under your " + target.upperGarment.ItemName() : "down";

            return(GlobalStrings.NewParagraph() + "A strange burning sensation fills your breasts, and you look " + armorText + " to see your extra nipples are gone! " +
                   SafelyFormattedString.FormattedText("You've lost your extra nipples!", StringFormats.BOLD));
        }
示例#15
0
            protected override string GrantQuadNippleText(Creature target, BreastCollectionData oldBreasts)
            {
                string armorText = target.UpperBodyArmorShort();

                if (armorText is null)
                {
                    armorText = "You pause to see what's the cause";
                }
                else
                {
                    armorText = "You pull back your " + armorText;
                }

                StringBuilder sb = new StringBuilder();

                sb.Append(GlobalStrings.NewParagraph() + "Your " + oldBreasts[0].LongNippleDescription() + "s tingle and itch. " + armorText + " and watch in shock " +
                          "as they split into four distinct nipples! <b>You now have four nipples on each side of your chest!</b>");

                if (target.breasts.Count >= 2)
                {
                    sb.Append("A moment later your second row of " + oldBreasts[1].LongDescription() + " does the same. <b>You have sixteen nipples now!</b>");
                }
                if (target.breasts.Count >= 3)
                {
                    string rowText = target.breasts.Count > 3 ? "rows quickly follow" : "row quickly follows";
                    sb.Append("Your remaining " + rowText + "suit, granting you a wonderland of nipples.");
                }

                sb.Append(" <b>You have a total of " + Utils.NumberAsText(target.genitals.nippleCount) + " nipples.</b>");

                return(sb.ToString());
            }
示例#16
0
        protected override DisplayBase BuildMenu(Creature consumer, UseItemCallback postItemUseCallback)
        {
            if (!consumer.hasCock)
            {
                string results = "As you look over the needle, you realize that its intended purpose is to thicken a penis which you do not possess. Sighing dejectedly, you put away the needle.";
                postItemUseCallback(false, results, null, this);
            }
            StandardDisplay display = new StandardDisplay();

            display.OutputText("You ponder the needle in your hand knowing it will thicken a c**k it's injected into.");
            if (consumer.cocks.Count == 1)
            {
                display.AddButton(0, "Inject", () => ChooseSingleCock(consumer, postItemUseCallback));
                display.AddButton(1, "Don't", () => GirthPlusCancel(consumer, postItemUseCallback));
            }
            else
            {
                for (int i = 0; i < consumer.cocks.Count; i++)
                {
                    string tip = consumer.cocks[i].LongDescription() + Environment.NewLine + "Length: " + consumer.cocks[i].length + Environment.NewLine
                                 + "Thickness: " + consumer.cocks[i].girth;

                    display.AddButtonWithToolTip((byte)i, "C**k #" + (i + 1), () => ChooseSingleCock(consumer, postItemUseCallback, i), tip);
                }
                display.AddButton(10, GlobalStrings.ALL(), () => ChooseAllCocks(consumer, postItemUseCallback));
                display.AddButton(14, GlobalStrings.NEVERMIND(), () => GirthPlusCancel(consumer, postItemUseCallback));
            }

            return(display);
        }
示例#17
0
        private void ChooseSingleCock(Creature consumer, UseItemCallback postItemUseCallback, int cockNum = 0)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append("You sink the needle into the base of your " + consumer.cocks[cockNum].LongDescription() + ". It hurts like hell, " +
                      "but as you depress the plunger, the pain vanishes, replaced by a tingling pleasure as the chemicals take effect." + GlobalStrings.NewParagraph());
            sb.Append("Your " + consumer.cocks[cockNum].LongDescription() + " twitches and thickens, looking to be ");
            if (consumer.cocks[cockNum].girth < consumer.cocks[cockNum].length / 10)
            {
                consumer.cocks[cockNum].IncreaseThickness(consumer.cocks[cockNum].girth * 0.5);
                sb.Append("fattening significantly!");
            }
            else if (consumer.cocks[cockNum].girth < consumer.cocks[cockNum].length / 6)
            {
                consumer.cocks[cockNum].IncreaseThickness(consumer.cocks[cockNum].girth * 0.3);
                sb.Append("thickening quite noticably.");
            }
            else if (consumer.cocks[cockNum].girth < consumer.cocks[cockNum].length / 4)
            {
                consumer.cocks[cockNum].IncreaseThickness(consumer.cocks[cockNum].girth * 0.2);
                sb.Append("thickening noticably.");
            }
            else if (consumer.cocks[cockNum].girth < consumer.cocks[cockNum].length / 2)
            {
                consumer.cocks[cockNum].IncreaseThickness(consumer.cocks[cockNum].girth * 0.1);
                sb.Append("widening slightly.");
            }
            else
            {
                sb.Append("widening slightly, only to shrink back to how it was before you even injected. Seems like your extremely thick c**k is already fat enough.");
            }
            sb.Append(GlobalStrings.NewParagraph() + "Once the growth has stopped, you discard the now-empty syringe.");

            postItemUseCallback(true, sb.ToString(), null, null);
        }
        protected void gvSubFolder_RowUpdate(object sender, GridViewUpdateEventArgs e)
        {
            try
            {
                int         index            = e.RowIndex;
                GridViewRow row              = gvFilters.Rows[index];
                Int64       Id               = Int64.Parse(gvFilters.DataKeys[index].Value.ToString());
                TextBox     txtSubFilterName = (TextBox)row.Cells[0].FindControl("txtSubFilterName");
                if (txtSubFilterName.Text.Trim() == "")
                {
                    Master.MessageCenter.DisplayWarningMessage(GlobalStrings.GetText(@"ErrorSubFilterName"));
                    return;
                }
                Query q = new Query(SubFilter.TableSchema).Where(SubFilter.Columns.SubFilterName, txtSubFilterName.Text.Trim())
                          .AddWhere(SubFilter.Columns.FilterId, WhereComparision.EqualsTo, FilterId)
                          .AddWhere(SubFilter.Columns.SubFilterId, WhereComparision.NotEqualsTo, Id);
                if (q.GetCount() > 0)
                {
                    Master.MessageCenter.DisplayErrorMessage(FiltersStrings.GetText(@"MessageSubFiltersAlreadyExists"));
                    return;
                }

                SubFilter subFilter = SubFilter.FetchByID(Id);
                subFilter.SubFilterName = txtSubFilterName.Text.Trim();
                subFilter.Save();
                gvFilters.EditIndex = -1;

                LoadItems();
            }
            catch (Exception) { }
        }
示例#19
0
        protected override string OnConsumeAttempt(Creature consumer, out bool consumeItem, out bool isBadEnd)
        {
            isBadEnd = false;

            StringBuilder sb = new StringBuilder();

            sb.Append("You devour the egg, momentarily sating your hunger." + GlobalStrings.NewParagraph());
            if (!isLarge)
            {
                sb.Append("You feel a bit of additional weight on your backside as your " + consumer.butt.ShortDescription() + " gains a bit more padding.");
                consumer.butt.GrowButt();
            }
            else
            {
                sb.Append("Your " + consumer.build.ButtLongDescription() + " wobbles, nearly throwing you off balance as it grows much bigger!");
                consumer.butt.GrowButt((byte)(2 + Utils.Rand(3)));
            }
            if (Utils.Rand(3) == 0)
            {
                if (isLarge)
                {
                    sb.Append(consumer.ModifyTone(100, 8));
                }
                else
                {
                    sb.Append(consumer.ModifyThickness(95, 3));
                }
            }
            consumeItem = true;
            return(sb.ToString());
        }
示例#20
0
        private StandardDisplay StandardMenu(Creature consumer, UseItemCallback postItemUseCallback)
        {
            if (validMembers.Count == 1)
            {
                return(DoMultiLotionMenu(consumer, (IMultiLotionable)validMembers[0], postItemUseCallback));
            }

            display.ClearOutput();
            listMaker.ClearList();

            display.OutputText("Where do you want to apply the " + targetTexture.AsString() + " body lotion?");

            foreach (IBodyPart part in consumer.bodyParts)
            {
                if (part is ILotionable lotionable)
                {
                    listMaker.AddButtonToList(part.BodyPartName(), lotionable.CanLotion(), () => DoLotion(consumer, lotionable, postItemUseCallback));
                }
                else if (part is IMultiLotionable multiLotionable)
                {
                    listMaker.AddButtonToList(multiLotionable.ButtonText() + "...", multiLotionable.numLotionableMembers > 0, () => DoMultiLotionMenu(consumer, multiLotionable, postItemUseCallback));
                }
            }
            listMaker.CreateButtons(GlobalStrings.CANCEL(), true, () => LotionCancel(consumer, postItemUseCallback));

            return(display);
        }
示例#21
0
        private string GainedRubberySkinPerk(Creature consumer, bool knewAboutBlackEggs)
        {
            if (!knewAboutBlackEggs)
            {
                string corruptionText;
                if (consumer.corruption < 66)
                {
                    corruptionText = ("Looking like this makes you feel like some kind of freak, but fortunately you can change back whenever you want.");
                }
                else
                {
                    corruptionText = "You feel like some kind of sexy rubber-skinned love-doll, though you can go back to normal if you really want.";
                }

                return(GlobalStrings.NewParagraph() + "Your already flawless smooth skin begins to tingle as it changes again. It becomes shinier as its texture " +
                       "changes subtly. You gasp as you touch yourself and realize your skin is suddenly covered in a strange substance. " +
                       "The stuff is everywhere, obsuring your vision and making it difficult to breathe. Just as you're about to pass out, something clicks in your mind and " +
                       "you gain control of the strange substance, as if it were another muscle in your body, and it receeds into your skin. Cautiously, you let it once again, " +
                       "and this time you retain your ability to see and breathe normally. It seems you can now have a thin layer of a latex-like substance coat your body, " +
                       "like a second skin. " + corruptionText + " You have little doubt you'll find uses for this later, be it in combat or, more kinky situations, if you so choose. "
                       + Environment.NewLine + SafelyFormattedString.FormattedText("Perk gained: Rubbery Skin. You can now choose to cover your body in a thin layer of latex " +
                                                                                   "in certain scenes for unique sexual interactions.", StringFormats.BOLD) + GlobalStrings.NewParagraph() +
                       "Looks like you now know what rubber eggs can do to you, you note with a smirk.");
            }
            else
            {
                return("A familiar sensation runs through your skin, and you are once again covered in a thin layer of latex. this time, you're prepared, and you gain control " +
                       "over it with little effort. It looks like " + SafelyFormattedString.FormattedText("you've regained the ability to coat your body in latex!",
                                                                                                          StringFormats.BOLD) + " You knew what these things could do to you, so this isn't really that surprising.");
            }
        }
示例#22
0
        protected override string OnConsumeAttempt(Creature consumer, out bool consumeItem, out bool isBadEnd)
        {
            isBadEnd    = false;
            consumeItem = true;
            //has Bimbo/Futa/Bro perk (or else it'd return null) and bimbo Body flag is true.
            if (consumer.GetPerkData <BimBro>()?.hasBimboEffect == true)
            {
                return("You could've swore the stuff worked when you saw Niamh do it to others,"
                       + " but for some reason, it had, like, no effect on you. How weird!");
            }
            else if (!consumer.HasTimedEffect <TemporaryBimbification>())
            {
                consumer.AddTimedEffect <TemporaryBimbification>();
                string intro = "You uncork the bottle and breathe in the fizzy, spicy aroma of the sparkling liquor."
                               + " Breathing deeply, you open your mouth and begin pouring the ever-effervescent fluid inside."
                               + " It's sweet and slightly gooey, and the feel of it sliding down your throat is intensely... awesome? Like, totally!";

                return(intro + consumer.GetTimedEffectData <TemporaryBimbification>().ObtainText());
            }
            else
            {
                consumer.GetTimedEffectData <TemporaryBimbification>().IncreaseEffect();

                return("You find yourself falling even further into the dense bimbo mindset. You do feel, like, super-good and all, though!"
                       + GlobalStrings.NewParagraph() + "Moaning lewdly, you begin to sway your hips from side to side, putting on a show for anyone "
                       + "who might manage to see you.  You just feel so... sexy. Too sexy to hide it. Your body aches to show itself and feel the gaze of someone, "
                       + "anyone upon it. Mmmm, it makes you so wet! You sink your fingers into your sloppy c**t with a groan of satisfaction."
                       + " Somehow, you feel like you could f**k anyone right now!");
            }
        }
示例#23
0
        private static string SandTrapRestoreStr(VaginaData oldVagina, PlayerBase player)
        {
            string vagDesc;

            //2 vaginas, and both used to be the same type - we want to tell them which one we're talking about.
            if (player.vaginas.Count == 2 && player.genitals.CountVaginasOfType(oldVagina.type) == 1)
            {
                vagDesc = $"{Utils.NumberAsPlace(oldVagina.vaginaIndex)} {oldVagina.ShortDescription()}";
            }
            else
            {
                vagDesc = oldVagina.LongDescription(false);
            }

            string wearingText;

            if (!player.wearingAnything)
            {
                wearingText = $" You watch as your {vagDesc} shifts and the inner folds return to a more natural shape and color.";
            }
            else
            {
                wearingText = $" Undoing your clothes, you take a look at your {vagDesc} and find that it has turned back to its natural flesh colour.";
            }
            return(GlobalStrings.NewParagraph() + "Something invisible brushes against your sex, making you twinge. " + wearingText);
        }
示例#24
0
 private static string ConvertedTwoCocksToDog(Creature target, CockData firstOldData, CockData secondOldData)
 {
     return(GlobalStrings.NewParagraph() + "Your crotch twitches, and you pull open your " + target.armor.ItemName() + " to get a better look. You watch in horror and arousal as your " +
            firstOldData.LongDescription() + " and " + secondOldData.LongDescription() + " both warp and twist, becoming red and pointed, growing thick bulges near the base. " +
            "When it stops you have two dog-cocks and an animal-like sheath. The whole episode turns you on far more than it should, leaving you dripping animal pre " +
            "and ready to breed.");
 }
示例#25
0
        private static string SandTrapTransformStr(VaginaData oldVagina, PlayerBase player)
        {
            var currentVag = player.vaginas[oldVagina.vaginaIndex];

            //should never happen but would cause strangeness in my lazy check later, so we'll explicitely handle it.
            if (oldVagina.type == currentVag.type)
            {
                return("Your v****a feels odd, but a quick inspection reveals nothing changed. Odd.");
            }

            StringBuilder sb = new StringBuilder(GlobalStrings.NewParagraph());

            //2 vaginas, and both used to be the same type - we want to tell them which one we're talking about.
            if (player.vaginas.Count == 2 && player.genitals.CountVaginasOfType(oldVagina.type) == 1)
            {
                sb.Append($"Your {Utils.NumberAsPlace(oldVagina.vaginaIndex)} {oldVagina.ShortDescription()}");
            }
            else
            {
                sb.Append($"Your {oldVagina.LongDescription(false)}");
            }

            if (oldVagina.type == HUMAN)
            {
                sb.Append(" feels... odd. You undo your clothes and gingerly inspect your nether regions. " +
                          "The tender pink color of your sex has disappeared, replaced with smooth, marble blackness starting at your lips and working inwards.");
            }
            else
            {
                sb.Append(" feels... odd. You undo your clothes and gingerly inspect your nether regions. You quickly notice it has changed back toward something more distincly human, "
                          + "though it is most definitely not. Instead of tender pink inner folds you'd expect, your sex is a smooth marble blackness, "
                          + "beginning at your outer lips and moving inward.");
            }
            //(Wet:
            if (currentVag.wetness >= VaginalWetness.SLICK)
            {
                sb.Append(" Your natural lubrication makes it gleam invitingly.");
            }
            //(Corruption <50:
            if (player.corruption < 50)
            {
                sb.Append(" After a few cautious touches you decide it doesn't feel any different");

                if (oldVagina.type != VaginaType.HUMAN)
                {
                    sb.Append(" than you'd expect");
                }
                sb.Append(" - it does certainly look odd, though.");
            }
            else
            {
                sb.Append(" After a few cautious touches you decide it doesn't feel any different - the sheer bizarreness of it is a big turn on though, " +
                          "and you feel it beginning to shine with anticipation at the thought of using it.");
            }

            sb.Append(SafelyFormattedString.FormattedText("Your v****a is now ebony in color.", StringFormats.BOLD));

            return(sb.ToString());
        }
示例#26
0
        private string Outro(Creature consumer, BimBro bimbro, bool lostFeeder)
        {
            string perks;

            if (bimbro is null)
            {
                perks = SafelyFormattedString.FormattedText("Perks Gained: BroBody, Bro Brains!", StringFormats.BOLD) + Environment.NewLine;

                if (lostFeeder)
                {
                    perks += SafelyFormattedString.FormattedText("Perks Lost: Feeder!", StringFormats.BOLD);
                }

                StringBuilder sb = new StringBuilder();
                if (consumer.wearingAnything)
                {
                    sb.Append("You finish admiring yourself and adjust your " + (consumer.wearingArmor ? consumer.armor.ItemName() : "clothing") +
                              " to better fit your new physique.");
                }
                else
                {
                    sb.Append("You take a moment to admire your nude body in all its manly, ripped glory, especially your manly endowment" + (consumer.cocks.Count > 1 ? "s" : "") + ".");
                }
                sb.Append(" Maybe there's some bitches around you can f**k. Hell, as good as you look, you might have other dudes wanting you to f**k them too, no h**o." + GlobalStrings.NewParagraph() + perks);
                return(sb.ToString());
            }
            else if (bimbro.bimboBody)
            {
                perks = SafelyFormattedString.FormattedText("Perks Updated: Bimbo Body => Futa Form", StringFormats.BOLD);

                if (bimbro.bimbroBrains)
                {
                    perks += SafelyFormattedString.FormattedText(", Bro Brains", StringFormats.BOLD);
                }
                perks += SafelyFormattedString.FormattedText("!", StringFormats.BOLD);

                if (lostFeeder)
                {
                    perks += Environment.NewLine + SafelyFormattedString.FormattedText("Perks Lost: Feeder!", StringFormats.BOLD);
                }

                return("Finally, you feel the transformation skittering to a halt, leaving you to openly roam your new chiseled and sex-ready body. "
                       + "So what if you can barely form coherent sentences anymore? A body like this does all the talking you need, you figure!" + GlobalStrings.NewParagraph() + perks);
            }
            else
            {
                perks = "";
                if (lostFeeder)
                {
                    perks += Environment.NewLine + SafelyFormattedString.FormattedText("Perks Lost: Feeder!", StringFormats.BOLD);
                }

                string dudeSex = bimbro.futaBody
                                        ? "Or studs to get f****d by, you don't really care. Hell, if it lets you f**k it or f***s you, you'd bang just about anything."
                                        : "Or dudes, if they're into that sort of thing (no h**o). Not that you'd blame them, you're a f*****g stud!";
                return("As the beer finishes its course, you're able to admire your body once more. Goddamn, you look good. Time to find a few bitches to f**k. " + dudeSex +
                       GlobalStrings.NewParagraph() + perks);
            }
        }
示例#27
0
 private static string ConvertedFirstDogCockGrewSecond(Creature target, CockData oldCockData)
 {
     return(GlobalStrings.NewParagraph() + "Your " + oldCockData.LongDescription() + " vibrates, the veins clearly visible as it reddens and distorts. The head narrows into a pointed tip " +
            "while a gradually widening bulge forms around the base. Where it meets your crotch, the skin bunches up around it, forming a canine-like sheath. " +
            "You feel something slippery wiggling inside the new sheath, and another red point peeks out. In spite of yourself, you start getting turned on by the change, " +
            "and the new dick slowly slides free, eventually stopping once the thick knot pops free. The pair of dog-dicks hang there, " +
            "leaking pre-cum and arousing you far beyond normal.");
 }
示例#28
0
    protected void btnExport_Click(object sender, EventArgs e)
    {
        System.Data.DataTable dt = new System.Data.DataTable();

        dt.Columns.Add(new System.Data.DataColumn(SupplierProfileStrings.GetText(@"OrderId"), typeof(string)));
        dt.Columns.Add(new System.Data.DataColumn(SupplierProfileStrings.GetText(@"OrderDate"), typeof(string)));
        dt.Columns.Add(new System.Data.DataColumn(SupplierProfileStrings.GetText(@"BidId"), typeof(string)));
        dt.Columns.Add(new System.Data.DataColumn(SupplierProfileStrings.GetText(@"TotalPrice"), typeof(string)));
        dt.Columns.Add(new System.Data.DataColumn(SupplierProfileStrings.GetText(@"ApprovedDeal"), typeof(string)));
        dt.Columns.Add(new System.Data.DataColumn(SupplierProfileStrings.GetText(@"DealDetails"), typeof(string)));


        int      year  = Convert.ToInt32(ddlyear.SelectedValue);
        int      month = Convert.ToInt32(ddlMonth.SelectedValue);
        int      from  = Convert.ToInt32(ddlDayFrom.SelectedValue);
        int      to    = Convert.ToInt32(ddlDayTo.SelectedValue);
        DateTime?start = null;
        DateTime?end   = null;

        if (year != 0 && month != 0 && from != 0)
        {
            start = new DateTime(year, month, from); end = (to != 0 ? new DateTime(year, month, to) : end = new DateTime(year, month, DateTime.DaysInMonth(year, month)));
        }
        else if (year != 0 && month != 0)
        {
            start = new DateTime(year, month, 1); end = new DateTime(year, month, DateTime.DaysInMonth(year, month));
        }
        else if (year != 0)
        {
            start = new DateTime(year, 1, 1); end = new DateTime(year, 12, 31);
        }
        List <OrderUI> orders = OrderController.GetOrderSupplierHistoryExcel(SuppliersSessionHelper.SupplierId(), start, end);

        foreach (OrderUI order in orders)
        {
            int i = 0;
            System.Data.DataRow row = dt.NewRow();
            row[i++] = order.OrderId;
            row[i++] = order.OrderDate;
            row[i++] = order.BidId;
            row[i++] = order.Price;
            row[i++] = GlobalStrings.GetYesNo(order.IsPayed);
            row[i++] = ListTostring(order.LstProduct);
            dt.Rows.Add(row);
        }

        SpreadsheetWriter ex = SpreadsheetWriter.FromDataTable(dt, true, true);

        Response.Clear();
        Response.AddHeader(@"content-disposition", @"attachment;filename=Deals_" + DateTime.UtcNow.ToString(@"yyyy_MM_dd_HH_mm_ss") + "." + ex.FileExtension);
        Response.Charset         = @"UTF-8";
        Response.ContentEncoding = System.Text.Encoding.UTF8;
        Response.Cache.SetCacheability(HttpCacheability.NoCache);
        Response.ContentType = ex.FileContentType;
        Response.BinaryWrite(System.Text.Encoding.UTF8.GetPreamble());
        Response.Write(ex.ToString());
        Response.End();
    }
示例#29
0
        //this is the basic format. feel free to override this if needed.

        public override string AboutItemWithStats(Creature target)
        {
            string defenseDifference = DefenseDifference(target.armor);


            return(AboutItem() + GlobalStrings.NewParagraph() + "Type: " + armorType.AsText() + Environment.NewLine
                   + "Defense: " + PhysicalDefensiveRating(target) + defenseDifference + Environment.NewLine
                   + "Base value: " + monetaryValue);
        }
示例#30
0
            protected override string BoostedLactationText(Creature target, BreastCollectionData oldBreasts, double nippleLengthDelta)
            {
                double delta = target.genitals.lactationProductionModifier - oldBreasts.lactationProductionModifier;

                if (delta == 0)
                {
                    return("");
                }

                StringBuilder sb = new StringBuilder();


                if (delta < 0)
                {
                    if (Utils.Rand(2) == 0)
                    {
                        sb.Append(GlobalStrings.NewParagraph() + "Your breasts suddenly feel less full, it seems you aren't lactating at quite the level you were.");
                    }
                    else
                    {
                        sb.Append(GlobalStrings.NewParagraph() + "The insides of your breasts suddenly feel bloated. There is a spray of milk from them, and they settle closer to a more natural level of lactation.");
                    }
                }
                else if (delta < 1.5)
                {
                    if (Utils.Rand(2) == 0)
                    {
                        sb.Append(GlobalStrings.NewParagraph() + "A wave of pleasure passes through your chest as your " + oldBreasts.AllBreastsLongDescription()
                                  + " start producing more milk.");
                    }
                    else
                    {
                        sb.Append(GlobalStrings.NewParagraph() + "Something shifts inside your " + oldBreasts.AllBreastsLongDescription()
                                  + " and they feel fuller and riper. You know that you've started producing more milk.");
                    }
                }
                else
                {
                    if (Utils.Rand(2) == 0)
                    {
                        sb.Append(GlobalStrings.NewParagraph() + "A wave of pleasure passes through your chest as your " + oldBreasts.AllBreastsLongDescription()
                                  + " start leaking milk from a massive jump in production.");
                    }
                    else
                    {
                        sb.Append(GlobalStrings.NewParagraph() + "Something shifts inside your " + oldBreasts.AllBreastsLongDescription()
                                  + " and they feel MUCH fuller and riper. You know that you've started producing much more milk.");
                    }
                }
                if (nippleLengthDelta > 0)
                {
                    sb.Append(" Your " + target.breasts[0].LongNippleDescription() + " swell up, growing larger to accommodate your increased milk flow.");
                }

                return(sb.ToString());
            }