Jump to content

[1.12.x] Bureaucracy - Monthly Budgets, Reimagined (1.6.1 - 16/03/2023 (Final release))


severedsolo

Recommended Posts

Just now, WLLP said:

So do I need to do anything special to settings if I am using this along with Kerbalism?

I already figured out how to set the KCT settings just was wondering if there was something similar I need to do.

Looks like a well built mod I can't wait to get going with it.

You shouldn't do, if the mod detects Kerbalism then it will configure itself accordingly. If you do happen to notice anything weird then by all means shout it out.

Link to comment
Share on other sites

4 hours ago, Hypercore said:

Would this work with BARIS? I would like to use the wild cards from that mod.

Haven't tested it with BARIS but I see no reason they wouldn't work together. Depending on your playstyle you might want to turn the events off in Bureaucracy as some of them work similarly to BARIS's ones

Link to comment
Share on other sites

11 hours ago, Hypercore said:

@severedsoloI would like to make a optional patch for your mod that would add more events,  and I would like to know every single event type, and, if possible, how to specify an evert to have more than one consequence.

Sure, there are currently 5 types of event, but only 4 are accessible by cfg:

Currency
QA
Training
Wage

Fire is a special event which will fire when certain conditions are true, the chances of it firing are affected by the QA event.

The mod will detect a BUREAUCRACY_EVENT in any cfg file, so you don't need to do a MM patch you can just use your own cfg.

Currency Events:
 

Spoiler

BUREAUCRACY_EVENT //Every event needs it's own BUREAUCRACY_EVENT  node)
{
Name = HostileTakeover //Internal name, must be unique. (mandatory)
Type = Currency //The type of event (mandatory)
CurrencyType = Science //For currency events, the currency being affected must be specified. Valid choices are Funds Science or Reputation. Note that Funds is not used in any events currently as this would be lost at the next budget if the player has UseItOrLoseIt turned on, so we use Reputation to affect the budget instead. Not needed if it isn't a currency event
Title = Hostile Takeover //The title as the player sees it in the UI window. (mandatory)
Body = We've recently acquired a small aerospace program from Woomerang. Their research budget was much more advanced than our own, and we've turned this to our advantage. //The text in the body of the event window. (mandatory)
AcceptButtonText = Science Output +10% //The text the player sees on the "Accept" button (mandatory)
canbeDeclined = false //If true, a DeclineButtonText must be specified.
DeclineButtonText = Whatever //For Currency events this just does nothing. Other events have different effects which I'll outline separately. (not needed if canbeDeclined =false)
Effect = 0.1 //Depends on the currency. For Funds, this just gives the amount of funds you've specified (so 10000 will give the player 10000 funds, can also be negative but mod will check if player can afford it before firing). Science will increase the Research Managers output by the specified amount (float,so 0.1 = 10% 1.0 = 100%), Reputation will increase the players rep by the specified percentage (again a float, so 0.1 = 10% 1.0 = 100%). (mandatory)
}

QA Events (where I haven't specified, options work the same as previous events)

Spoiler

BUREAUCRACY_EVENT
{
    Name = FireSuppression
    Type = QA
    Title = Only You Can Prevent Rocket Fires
    Body = Following a series of unfortunate fires in the VAB, our engineers are asking you to rethink your "no fire extinguishers" policy.
    canbeDeclined = true
    Effect = -0.05 //OnAccept will change Facility Maintenance costs by the specified amount, onDecline will change the chance of fire by the specified amount. (float, so 0.1 = 10% 1.0 = 100%).
    AcceptButtonText = No! We need less Fire Extinguishers! (Facility Maintenance Costs -5%)
    DeclineButtonText = Agreed (Chance of Fire -5%)
}

Training

Spoiler
BUREAUCRACY_EVENT
{
Name = GooAccident
Type = Training
Title = Mystery Goo Accident
Body = <kerbal> had an accident while handling a sample of Mystery Goo. The review following the accident determined that they could do with some extra training //<kerbal> is a special identifier. It will replace the text with the name of the Kerbal the mod has selected when firing the event.
canbeDeclined = false
Effect = 28 //how many days to send the Kerbal to training for.
AcceptButtonText = <kerbal> in training for 28 days.

}

Wage

Spoiler

BUREAUCRACY_EVENT
{
    Name = HappyAccident
    Type = Wage
    Title = A Happy Accident
    Body = Following a particularly rigorous training excercise in the centrifuge, <crew> has forgotten who they are, and how much we pay them. Naturally, we've taken advantage.
    canbeDeclined = false
    Effect = -0.1 //decreases kerbals wage by 10% (float so 0.1 = 10% 1.0 = 100%)
    AcceptButtonText = <crew> wage -10% //<crew> does the same thing as <kerbal> but only in this event for some reason, I don't exactly remember why. At the moment the event will require <crew> but expect that to be deprecated at some point.
    //OnDecline doesn't do anything, but I think that's a missing feature. I was originally going to make Kerbals strike.
}

 

As well as <kerbal> you can use <body> as a special identifier.  This will select a random Celestial Body for display in the text field (this is purely flavour text and doesn't actually do anything).

New Events can be created by extending the RandomEventBase class - at the moment it's not possible to select multiple outcomes beyond Accept/Decline, but if you'd like some more functionality (or have ideas for new events) feel free to reach out.

The Event loader has fairly robust error checking so should tell you in the log if there is a problem in the cfg.

Events will also do a "sanity check" before firing. So for example, a QA event that would decrease the risk of fire, will check there actually is a risk of fire before firing.

Edited by severedsolo
Link to comment
Share on other sites

  • 3 weeks later...

I apologize if this has been discussed here already but I can't seem to find anything particular about it.  

I'm looking for some guidance regarding the interaction with KCT.  In specific, how it interacts with the point upgrade system that shortens construction time and increases scientific production and research.  Do I still use those features of KCT as normal?  Is the only part that needs to be disabled the portion that control upgrades to the buildings?

Thanks in advance!

Link to comment
Share on other sites

@Eugene Moreau - you can use KCT as normal, there are two places where Bureaucracy and KCT clash

1 - The building upgrade system - as you already mentioned, you need to either disable KCT's Factility Upgrades or turn off Building Upgrades in Bureaucracy. The reason for this is that they both try to take control of the "upgrade" button in the Space Centre scene, and I can't guarantee which will get there first. Either way it won't work for one of them.

2- Multiple launchpads. Bureaucracy can't tell which Launchpad you have selected in KCT (the short, not too technical reason for this is that KCT manipulates the Launchpad object, and Bureaucracy can't tell if you have the one you ordered an upgrade for selected.) Bureaucracy does handle this by doing a sanity check on the Launchpads facility level. If it detects the facility level doesn't match what it's expecting Bureaucracy will hold the upgrade, and give you a warning that you need to select the right launchpad before it can complete it. This also means you can't upgrade multiple KCT "launchpads" at a time.

Edited by severedsolo
Link to comment
Share on other sites

9 hours ago, severedsolo said:

@Eugene Moreau - you can use KCT as normal, there are two places where Bureaucracy and KCT clash

2- Multiple launchpads. Bureaucracy can't tell which Launchpad you have selected in KCT (the short, not too technical reason for this is that KCT manipulates the Launchpad object, and Bureaucracy can't tell if you have the one you ordered an upgrade for selected.) Bureaucracy does handle this by doing a sanity check on the Launchpads facility level. If it detects the facility level doesn't match what it's expecting Bureaucracy will hold the upgrade, and give you a warning that you need to select the right launchpad before it can complete it. This also means you can't upgrade multiple KCT "launchpads" at a time.

It's too bad the two couldn't interact and cause you to actually have to pay to have more launch pads. 

Link to comment
Share on other sites

  • 1 month later...
Just now, Cheesecake said:

As far as I can see Bureaucracy didn`t work in 1.11.2. Load a savegame from 1.11.1 and didn`t get any funds next month (90% funds should be around 1.400.000 in my savegame). The UI is working.

Can I get a log please - haven't tried it on 1.11.2 but I'd be surprised if anything broke.

Link to comment
Share on other sites

7 minutes ago, severedsolo said:

Can I get a log please - haven't tried it on 1.11.2 but I'd be surprised if anything broke.

Sure:

https://www.file-upload.net/download-14527085/KSP.log.html
https://www.file-upload.net/download-14527087/Player.log.html
https://www.file-upload.net/download-14527089/BureaucracySettings.cfg.html

Edit: I think I found the issue. For some reason the option UseItOrLoseIt was true. It was false so far.

Edited by Cheesecake
Link to comment
Share on other sites

@Cheesecake Huh, it is working, but it looks like OnLoad is not pulling back the same figure every time. (I can see some instances where the budget did fire successfully, but I can also see when it is instantiating the event after a load, the expected "next budget" is drifting). That's alot of mods though so I can't definitely blame Bureaucracy at this point in time.

I will try to reproduce this in a stockish environment, but if I can't I might need you to narrow it down to the minimum set of mods that reproduce the issue (obvious candidates for me would be JNSQ/Kopernicus/Kronometer as they mess with the time calcs and Kerbalism (just because Kerbalism digs deep into the games code, so might be causing an issue, I've got nothing concrete to back that up).

Probably not going to be today if I'm honest, but I'll try and get to it this week.

 

Link to comment
Share on other sites

5 hours ago, Beetlecat said:

Is the KCT Warning prompt stuck in an 'on' state, or have I borked up my game? :D

Did you untick the "show this again" option on the warning? (obvious thing I know but worth checking) - otherwise it's starting to sound like I need to recompile Bureaucracy and do a test.

Or finish the update I'm working on - next version should intelligently detect your KCT settings and not show it if it's not relevant anyway

Edited by severedsolo
Link to comment
Share on other sites

  • 3 weeks later...
11 minutes ago, Cheesecake said:

@severedsoloIs it possible to fix the UI-issue where some buttons are only partially visible? Especially in the crew-training-section.
https://www.bilder-upload.eu/bild-36c99c-1609869385.png.html

It's on the list, I'm gonna try and look at Bureaucracy tomorrow and do a bugfix update, 

@Cheesecake
actually it would be helpful to know what resolution you are playing at

Link to comment
Share on other sites

  • 4 weeks later...

I just thought I would share a few of my settings for Bureaucracy  

UseItOrLoseIt = False
HardModeEnabled = True
RepDecayEnabled = True
RepDecayPercent = 11

"Use it or lose it" allows you to roll over your budget to next month but "Hard Mode" will reduce Rep by 1 for every 10,000 not spent . This can kind of be used in place of big project spending but at a cost. So use sparingly or your budget will suffer for next month. I plan to use the admin building  to swap science for funds for big projects  as I finish tech tree, not sure how it will work yet. I am using Kerbalism, Kiwi Tech Tree,Kerbal Construction Time. Sci50% Rep50% Funds50% FundsPenalty200% No heavy science mods just Scansat and Research Bodies.

On "Rep Decay" I will start out with 11% and drop it down 1% for each achievement listed  in any order to simulate the overall reputation of the program as it gains support from the Kerbal community for its success. Stop at 1% so you have to keep doing something for Kerbal kind.

  • Reach Space 
  • Orbit Kerbin 
  • Land on Mun 
  • Plant flag on Mun 
  • Plant flag on Minmus 
  • Space Station Any Planet 
  • Surface Base Mun/Minmus
  • Land on any planet other than Mun/Minmus 
  • Plant flag on any Planet other than Mun/Minmus
  • Surface Base on any Planet other than Mun/Minmus 

Any thoughts or suggestions would love to here feedback.  Thanks severedsolo for this awesome mod, I was also monthly budgets user. I first I thought not having "Big Project Spending" was going to be a problem but I believe part of the above is a good work around and adds a lot more decision making  in career which I am all for.  Thanks again.

Edited by Rocket88
Link to comment
Share on other sites

Couple quick questions, if that's OK:

Does this work with CrewRandR?

What happens if a Kerbal hits their retirement date on a mission (as may happen with a self-sustaining MKS kolony)?

Link to comment
Share on other sites

11 hours ago, dlrk said:

Couple quick questions, if that's OK:

Does this work with CrewRandR?

What happens if a Kerbal hits their retirement date on a mission (as may happen with a self-sustaining MKS kolony)?

Wiki (page 1):

Retirement

Kerbals have a retirement date where they will quit your program and enjoy a quiet life eating snacks etc.

This retirement age can be delayed by sending Kerbals on a mission. Although they will still retire, the retirement age will be pushed back based on the length of the mission.

Link to comment
Share on other sites

I was wondering how many budget days seasoned Bureaucracy  users  recommend for long career playthrough with KCT. I currently have mine set at 30 days,  but It seems late game when my Rep is high enough and KSC is fully upgraded I won't be able to spend it all with KCT limiting how fast launches can take place. 

  • My  current financial settingsRep50%  Funds50%  FundsPenalty200%  30day budget
Link to comment
Share on other sites

I use 30 days and don't worry too much about not spending all the cash in late game.  By then cash is rarely a problem anyway, and the biggest chore is doing the odd launch to maintain rep while you wait for your craft to get to the distant planets

Link to comment
Share on other sites

On 5/7/2021 at 5:23 AM, dlrk said:

Does this work with CrewRandR?

Yes

On 5/7/2021 at 5:23 AM, dlrk said:

What happens if a Kerbal hits their retirement date on a mission (as may happen with a self-sustaining MKS kolony)?

Nothing right then. The retirement checker will skip any kerbals who are ASSIGNED. When they are recovered they will then get their retirement extension bonus, if the retirement date is still in the past, they will retire then.

Also: Update on the update I promised a few weeks ago - I've been sick the last week or so, so haven't had a chance to actually work on it. It's coming, just bear with me.

Edited by severedsolo
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...