Author Topic: Broken Will/Mind Fucked  (Read 16851 times)

0 Members and 1 Guest are viewing this topic.

Offline blackrosesheart

  • Newbie
  • *
  • Posts: 25
Broken Will/Mind Fucked
« on: August 22, 2011, 12:55:25 PM »
I've developed a habit of breaking certain girls so that I don't have to brand them but they'll still be obediant.  One thing I've noticed is that when they level, Broken Will and Mind Fucked will both occasionally be removed.  It seems to be related to gaining Confidence or Spirit, but I'm not certain.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Broken Will/Mind Fucked
« Reply #1 on: August 25, 2011, 09:18:59 AM »
I've developed a habit of breaking certain girls so that I don't have to brand them but they'll still be obediant.  One thing I've noticed is that when they level, Broken Will and Mind Fucked will both occasionally be removed.  It seems to be related to gaining Confidence or Spirit, but I'm not certain.

Never heard of this bug? But I dislike those traits...
Like what we're doing?

Offline Anon21

  • Full Member
  • ***
  • Posts: 244
Re: Broken Will/Mind Fucked
« Reply #2 on: August 25, 2011, 10:49:09 AM »
Never heard of this bug? But I dislike those traits...

I think it sounds more like it's "by design".

Offline blackrosesheart

  • Newbie
  • *
  • Posts: 25
Re: Broken Will/Mind Fucked
« Reply #3 on: August 25, 2011, 02:15:38 PM »
Hmph.  -.-

Offline DocClox

  • Dev Team
  • *****
  • Posts: 1867
  • Messing Around With Python
Re: Broken Will/Mind Fucked
« Reply #4 on: August 25, 2011, 03:35:11 PM »
I think it sounds more like it's "by design".

I don't think so, although you'd need to ask necno for sure.

I did have a dig though the code though, and the only place where the trait is removed, is when she gains Iron Wil, which isn't the problem as I understand it.

Of course, it could be being removed by passing a variable - grep only takes you so far in these cases.l

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: Broken Will/Mind Fucked
« Reply #5 on: September 23, 2011, 07:42:27 AM »
Btw, Masochist and scars traits removed as well.

Offline drake

  • Jr. Member
  • **
  • Posts: 84
Re: Broken Will/Mind Fucked
« Reply #6 on: September 23, 2011, 04:46:37 PM »
I think the problem is that the traits are added from the dungeon are sometimes set as temporary, not sure if that bug ever got fixed.  I fixed it in my code once, but don't remember how, think there was a false or true in the wrong place when they were assigned.  I don't have the code anymore.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: Broken Will/Mind Fucked
« Reply #7 on: September 24, 2011, 10:49:24 AM »
Ah, I think I got it. In cGirlTorture.cpp
Quote
if (m_Girl->spirit() < 20 && m_Girl->health() < 20 ) {
      add_trait("Broken Will", 5 + nWeekMod / 2);
   }

   if (m_Girl->bdsm() > 30) {
      add_trait("Masochist", 10 + nWeekMod);
   }

   if (m_Girl->health() < 10) {
      add_trait("Mind Fucked", 10 + nWeekMod);
   }
Looks like this  traits are temporary by design here. You can easily obtain them, since they depends on spirit, bdsm and health only.
But in cDungeon.cpp (for example, Broken Will)
Quote
if (!girl->has_trait("Broken Will"))
    {
        chance    = d_girl->m_Weeks * 10;                            // Number of weeks in dungeon 
        chance     += 200 - girl->spirit() - girl->health();
        chance    /= chance_div;
        if (girl->has_trait("Iron Will"))
        {
            chance /= 2;
        }

        if (g_Dice.percent(chance))
        {
            girl->add_trait("Broken Will", false);

            msg    = girlName + " has gained the trait \"Broken Will\".";
            summary += msg + "\n";
            girl->m_Events.AddMessage( msg, IMGTYPE_BDSM, EVENT_WARNING);
            t_girl->m_Events.AddMessage( msg, IMGTYPE_PROFILE, EVENT_DUNGEON);
        }
    }
I think, at first this traits are temporary, but if girl spend enough time in dungeon, traits became permanent. Messages for  temporary and permanent traits are not the same: "girl name + has gained trait + trait + from being tortured" for temporary and "girl name + has gained the trait +trait" for permanent. Unfortunately, they have the same names in statistic screen.
Sorry for bad English  :)
« Last Edit: September 24, 2011, 11:39:40 AM by DarkTl »

Offline blackrosesheart

  • Newbie
  • *
  • Posts: 25
Re: Broken Will/Mind Fucked
« Reply #8 on: September 24, 2011, 02:17:58 PM »
Nifty.  Thanks. :)

Offline drake

  • Jr. Member
  • **
  • Posts: 84
Re: Broken Will/Mind Fucked
« Reply #9 on: September 25, 2011, 02:22:12 PM »
That explains a lot, thanks

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: Broken Will/Mind Fucked
« Reply #10 on: September 25, 2011, 04:58:25 PM »
It would be nice if someone can confirm it. Can't say I perfectly understand this code, maybe it not work correctly.

Offline drake

  • Jr. Member
  • **
  • Posts: 84
Re: Broken Will/Mind Fucked
« Reply #11 on: September 25, 2011, 06:05:41 PM »
Just looked over the code, the code in dungeon is never called, it was replaced by cGirlTorture.  The problem is in cGirls.h add_trait is defined as
void add_trait(string trait, bool temp = true) {      g_GirlsPtr->AddTrait{this, trait, temp);}
thus making a trait temporary by default.  So the torture code needs to specify false or the traits will always be temporary.

Offline blackrosesheart

  • Newbie
  • *
  • Posts: 25
Re: Broken Will/Mind Fucked
« Reply #12 on: September 27, 2011, 01:25:48 PM »
So how exactly would you specify it as true there?

Offline drake

  • Jr. Member
  • **
  • Posts: 84
Re: Broken Will/Mind Fucked
« Reply #13 on: September 27, 2011, 11:06:20 PM »
where the torture code (cGirlsTorture.cpp calls add_trait(trait) 
// it has a polymorphic add_trait(string, int) function which calls it//
change it to add_trait(trait,false) to make it permanent, if you dont't specify false it defaults to true and you don't have to type the true.
Does that make sense?

Offline blackrosesheart

  • Newbie
  • *
  • Posts: 25
Re: Broken Will/Mind Fucked
« Reply #14 on: September 27, 2011, 11:07:42 PM »
Umm...sort of, maybe?  I don't really code.