Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 24 25 [26] 27

Author Topic: LCS 4.04 Download (April 2011 Graduation Gift)  (Read 90534 times)

EuchreJack

  • Bay Watcher
  • Lord of Norderland - Lv 20 SKOOKUM ROC
    • View Profile
Re: LCS 4.04 Download (April 2011 Graduation Gift)
« Reply #375 on: May 28, 2012, 10:20:43 pm »

I can't run this game on my laptop because it doesn't accept my enter key in the "What is your name" screen. Someone else posted this problem before but he got around it because it was only on his laptop. I only have my laptop and I can't run the game because of this. It's also not about where the cursor is or which enter key I use.

I believe he fixed it by binding another key to the game's "enter" key.  I'm afraid I have no idea how that works.

Me and a girlfriend have been thinking about getting back into this. What I want to ask though, is the SVN version that different? if it's bugfixed or has anything cool I'd rather use that than 4.0.4

Assuming the sourceforge page has the lastest version, there appear to be a few interesting new features and bugfixes, although I'd probably recommend Deon's Mod if you want a lot of new features.

Grimith

  • Bay Watcher
  • Terminator Founder
    • View Profile
Re: LCS 4.04 Download (April 2011 Graduation Gift)
« Reply #376 on: May 28, 2012, 10:46:00 pm »

After six months (and a new video series on YouTube), I've decided to look at the code again for Liberal Crime Squad. Just like six months ago, though, my lack of knowledge is a hindrance. From creaturetypes.cpp:

Code: [Select]
   if(cr.type==CREATURE_MUTANT)attnum=LCSrandom(60)+7;
   for(int a=0;a<ATTNUM;a++)
   {
      attnum-=min(4,cr.get_attribute(a,false));
   }
   while(attnum>0)
   {
      int a=LCSrandom(ATTNUM);
      if(a==ATTRIBUTE_WISDOM && cr.align==1 && LCSrandom(4))
         a=ATTRIBUTE_HEART;
      if(a==ATTRIBUTE_HEART && cr.align==-1 && LCSrandom(4))
         a=ATTRIBUTE_WISDOM;
      if(cr.get_attribute(a,false)<attcap[a])
      {
         cr.adjust_attribute(a,+1);
         attnum--;
      }
   }

Now, I know this pertains to Mutants, and I think it has something to do with attributes - like maybe making sure Heart for Mutants is always higher than Wisdom - but it's all moonspeak deviltalk tomfoolery to me, and I don't have Forbidden Lore (C++). Anyone feel like corrupting me with the truth?

Gunner-Chan

  • Bay Watcher
  • << IT'S TIME >>
    • View Profile
Re: LCS 4.04 Download (April 2011 Graduation Gift)
« Reply #377 on: May 29, 2012, 12:43:05 am »

Assuming the sourceforge page has the lastest version, there appear to be a few interesting new features and bugfixes, although I'd probably recommend Deon's Mod if you want a lot of new features.

Well I guess Ill read through sourceforge and see if the new features and fixes are significant enough for me to want to compile my own copy. And no thanks, I'm not getting anywhere near Deon's mod, I prefer official. His mod looks bloated.
Logged
Diamonds are combustable, because they are made of Carbon.

Jonathan S. Fox

  • Bay Watcher
    • View Profile
    • http://www.jonathansfox.com/
Re: LCS 4.04 Download (April 2011 Graduation Gift)
« Reply #378 on: May 29, 2012, 02:27:39 am »

After six months (and a new video series on YouTube), I've decided to look at the code again for Liberal Crime Squad. Just like six months ago, though, my lack of knowledge is a hindrance. From creaturetypes.cpp:

Code: [Select]
   if(cr.type==CREATURE_MUTANT)attnum=LCSrandom(60)+7;
   for(int a=0;a<ATTNUM;a++)
   {
      attnum-=min(4,cr.get_attribute(a,false));
   }
   while(attnum>0)
   {
      int a=LCSrandom(ATTNUM);
      if(a==ATTRIBUTE_WISDOM && cr.align==1 && LCSrandom(4))
         a=ATTRIBUTE_HEART;
      if(a==ATTRIBUTE_HEART && cr.align==-1 && LCSrandom(4))
         a=ATTRIBUTE_WISDOM;
      if(cr.get_attribute(a,false)<attcap[a])
      {
         cr.adjust_attribute(a,+1);
         attnum--;
      }
   }

Now, I know this pertains to Mutants, and I think it has something to do with attributes - like maybe making sure Heart for Mutants is always higher than Wisdom - but it's all moonspeak deviltalk tomfoolery to me, and I don't have Forbidden Lore (C++). Anyone feel like corrupting me with the truth?

This code generates a person's random attributes.

The first line gives mutants a random and potentially very high (or very low) amount of attribute points, overriding the default amount that others get. The rest of the code isn't about mutants specifically.

The for loop decreases the count of unassigned attribute points to account for the person's current stats, which may have been assigned in the class-specific code. Some classes give large stat minimums in certain areas, such as soldiers having a base level of strength and health, for example. For elite classes that give very large stat bonuses, like agents, only the first 4 points of their flat attribute minimum is counted against the pool of attributes to spread around. This ensures people like Agents don't have their pool of randomly allocated points bled dry just paying for the minimums, and allows them to differ from one another while still respecting the high minimums they come with. It also means they have higher attributes in general, because they are getting free points.

The while loop randomly assigns the remaining unassigned attribute points to the character's attributes. The Wisdom/Heart stuff means that Liberals have a 75% chance of having points that would be allocated to Wisdom go to Heart instead, and vice versa for Conservatives. There is also a cap on the maximum score most people can get from random attribute assignments, so most people won't randomly get 15 strength and really low other stats just due to weird rolls.
Logged

Grimith

  • Bay Watcher
  • Terminator Founder
    • View Profile
Re: LCS 4.04 Download (April 2011 Graduation Gift)
« Reply #379 on: May 29, 2012, 08:11:08 am »

Ahhh. I get it now. I was confused regarding the Mutants thing because I had misinterpreted what was up there in their section.

Code: [Select]
         for(a=0;a<ATTNUM;a++)
         {
            attcap[a]=50;
         }

I see now that this wasn't what actually generated the attributes.

Of course, I also thought - for whatever reason - that the if statement tied into the for and while loops. Now that I'm reading them separate from each other, they're much easier to understand. Thank you for the help, JSF.

EDIT: Upon further reflection this morning, I'm glad I had this misunderstanding, because it taught me that characters' set attributes, while catered to, aren't guaranteed to be filled if a character rolls a low score. If, say, I want to make a creature type stronger, then I need to ensure it has the attribute points required to do so. Let's take, for example, the CEO. If I write this:

Code: [Select]
if(cr.type==CREATURE_CORPORATE_CEO)attnum=LCSrandom(20)+80

This would give a randomly generated Corporate CEO 81-100 attribute points, right?
« Last Edit: May 29, 2012, 08:27:13 am by Grimith »
Logged

MetalSlimeHunt

  • Bay Watcher
  • Gerrymander Commander
    • View Profile
Re: LCS 4.04 Download (April 2011 Graduation Gift)
« Reply #380 on: May 29, 2012, 08:43:13 am »

EDIT: Upon further reflection this morning, I'm glad I had this misunderstanding, because it taught me that characters' set attributes, while catered to, aren't guaranteed to be filled if a character rolls a low score. If, say, I want to make a creature type stronger, then I need to ensure it has the attribute points required to do so. Let's take, for example, the CEO. If I write this:

Code: [Select]
if(cr.type==CREATURE_CORPORATE_CEO)attnum=LCSrandom(20)+80

This would give a randomly generated Corporate CEO 81-100 attribute points, right?
There might be a problem with that. As there is no longer a 20 cap on attributes, and the CEO is an Important Conservative, they could end up with something like 35 Wisdom easily with 75% of their potential Heart being added onto the existing Wisdom. Which will be high if it has 81-100 base attribute points.
Logged
Quote from: Thomas Paine
To argue with a man who has renounced the use and authority of reason, and whose philosophy consists in holding humanity in contempt, is like administering medicine to the dead, or endeavoring to convert an atheist by scripture.
Quote
No Gods, No Masters.

Grimith

  • Bay Watcher
  • Terminator Founder
    • View Profile
Re: LCS 4.04 Download (April 2011 Graduation Gift)
« Reply #381 on: May 29, 2012, 08:49:19 am »

Not if I copy this function from the Hangin' Judge:

Code: [Select]
attcap[ATTRIBUTE_HEART]=1;

I presume that would force the attribute points elsewhere.

Carlos Gustavos

  • Bay Watcher
    • View Profile
Re: LCS 4.04 Download (April 2011 Graduation Gift)
« Reply #382 on: May 29, 2012, 03:14:57 pm »

If you do increase the amount of attribute points a CEO can get then you have to make sure the attribute caps aren't too low or it looks like the game could get stuck in that while loop, ie if all attributes have reached their caps but there are still attribute points left distribute. Or better could be to add a check for that in the while loop.
Logged

Jonathan S. Fox

  • Bay Watcher
    • View Profile
    • http://www.jonathansfox.com/
Re: LCS 4.04 Download (April 2011 Graduation Gift)
« Reply #383 on: May 29, 2012, 07:23:32 pm »

EDIT: Upon further reflection this morning, I'm glad I had this misunderstanding, because it taught me that characters' set attributes, while catered to, aren't guaranteed to be filled if a character rolls a low score. If, say, I want to make a creature type stronger, then I need to ensure it has the attribute points required to do so.

You don't actually have to do this -- the set attributes you give the creature don't require that attnum be high enough to afford them. It's just that if you send attnum below 0 by spending it all on base stats, there won't be any additional attribute points to randomly distribute. That's not game-breaking, it just means all creatures of that type will have exactly the base stats and no more.

It's pretty hard (maybe impossible?) to spend attnum into the negatives, however, since only the first 4 points of any base stat you allocate are actually taken out of attnum. The rest are free. For most purposes, you can buff a creature type (increase its attribute points) by just giving it set stats above 4.

Let's take, for example, the CEO. If I write this:

Code: [Select]
if(cr.type==CREATURE_CORPORATE_CEO)attnum=LCSrandom(20)+80

This would give a randomly generated Corporate CEO 81-100 attribute points, right?

Yes, plus any free attribute points that come from its starting stats being higher than 4. For example, if the CEO has a minimum Wisdom of 8, the CEO would end up with (attnum+4) attribute points, since 4 of its base wisdom points were free bonuses not taken out of attnum.

Either way, this would make CEOs pretty godly. CEOs start with the Conservative equivalent of juice as well, so their stats are boosted even more when you encounter them.

Not if I copy this function from the Hangin' Judge:

Code: [Select]
attcap[ATTRIBUTE_HEART]=1;

I presume that would force the attribute points elsewhere.

Sort of -- that is how attcap works, but the points that get reassigned to wisdom will respect the wisdom attcap instead. Only the 25% that actually stay in heart would be forced elsewhere, while the 75% that go to wisdom will stay in wisdom.

If you do increase the amount of attribute points a CEO can get then you have to make sure the attribute caps aren't too low or it looks like the game could get stuck in that while loop, ie if all attributes have reached their caps but there are still attribute points left distribute. Or better could be to add a check for that in the while loop.

Yeah, this is a real danger. If the attcaps aren't high enough to allow all the points you give the CEO to be allocated, the game will lock up. The default attcaps are fairly modest to ensure normal people seem well-rounded and human (not getting 20 strength and ~1 in all other stats, for example). The code that gives Mutants exceptionally high attcaps (50 per attribute) ensures this doesn't happen for the tougher mutants. For any other classes you give extra points to, you'll need to make sure the attcaps are high enough to allow them to spend all the points.
« Last Edit: May 29, 2012, 07:43:53 pm by Jonathan S. Fox »
Logged

Grimith

  • Bay Watcher
  • Terminator Founder
    • View Profile
Re: LCS 4.04 Download (April 2011 Graduation Gift)
« Reply #384 on: May 30, 2012, 12:38:14 am »

But I thought the attribute cap had been abolished several versions ago (I remember complaining about it). Was that only just for Liberals? I mean, I know it seems like a stupid question because, while looking through the source code, I obviously see examples of the attribute cap in play, but, until I started delving into this thing again, I thought the attribute cap for all characters, regardless of political affiliation, was set higher than could have been feasibly reached.

It definitely explains why a test run I made early Tuesday morning locked up on me. I figured the problem was somewhere in creaturetypes.cpp, but I didn't know the exact problem.

The clarification of the game mechanics has definitely been helpful.

(EDIT: So is the removal of numerous typos.)
« Last Edit: May 30, 2012, 12:44:33 am by Grimith »
Logged

Jonathan S. Fox

  • Bay Watcher
    • View Profile
    • http://www.jonathansfox.com/
Re: LCS 4.04 Download (April 2011 Graduation Gift)
« Reply #385 on: May 30, 2012, 03:08:42 pm »

attcap is a character generation specific limit that only caps the starting attributes of characters to keep them relatively well-rounded; the more commonly discussed attribute cap was a cap on how high attributes could reach because of Juice enhancements, and that has been abolished. The founder, for example, who can easily start with more than 10 points in any attribute, which is enough to exceed the old attribute cap of 20.

If the character generation attcap on intelligence is 15, for example, that doesn't mean the character can't have more than 15 in that stat after leveling up, it just means their base level 1 intelligence can't exceed 15.
Logged

rangerplus10

  • Bay Watcher
    • View Profile
Re: LCS 4.04 Download (April 2011 Graduation Gift)
« Reply #386 on: June 11, 2012, 08:07:58 am »

I've trying to wineskin this, (make it run on mac via wineskin winery) but, when I run it it doesn't work. I've updated to wine 1.5.6, and now its asking me if I want to download mono, a .NET for mac. I've said yes, but wine glitches and never downloads. I don't want to waste time fixing it if it doesn't matter, so, is LCS based in .NET? (I assume it is as it was build in visual studios.)
Logged

Soadreqm

  • Bay Watcher
  • I'm okay with this. I'm okay with a lot of things.
    • View Profile
Re: LCS 4.04 Download (April 2011 Graduation Gift)
« Reply #387 on: June 12, 2012, 12:31:08 am »

I'm pretty sure it does not use .NET. Anyway, it runs fine in wineconsole on my linux machine.
Logged

rangerplus10

  • Bay Watcher
    • View Profile
Re: LCS 4.04 Download (April 2011 Graduation Gift)
« Reply #388 on: June 12, 2012, 09:38:28 am »

I'm pretty sure it does not use .NET. Anyway, it runs fine in wineconsole on my linux machine.

So it requires command prompt?
Logged

DeathsDisciple

  • Bay Watcher
  • He's nice (on the inside)
    • View Profile
Re: LCS 4.04 Download (April 2011 Graduation Gift)
« Reply #389 on: June 12, 2012, 03:03:00 pm »

So it requires command prompt?
It is a Console Application if that's what you mean.
Logged
"And I believe that totalitarianism, if not fought against, could triumph again." - George Orwell
My YouTube Channel.
Pages: 1 ... 24 25 [26] 27