New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP][CR]Home Base #22311

Closed
wants to merge 22 commits into
base: master
from

Conversation

Projects
None yet
5 participants
@Theundyingcode
Contributor

Theundyingcode commented Oct 31, 2017

Here is the long overdue PR to open my addition of bases up to review. Most of it is currently either partially implemented or just declarations especially since I have been frequently changing things including large mechanics change that just scrapped a lot of code the other day. However, it should be well documented and filled out enough for people to understand where I'm going. Also, I wrote a first draft of the help page so code reviewers: start there.

Essentially, the idea is construct a "command core" inside a building and that building gets designated as your base. The command core can be anything from a desk you write notes on to a super fancy computer console. A better core gives you more functionality and allows you to create a "command system" by adding "auxiliary systems." Remote systems like speakers and defenses can then be linked to the command system through the use of a network module. Network and CPU capacity are then added to prevent someone running NORAD from a desk with a laptop on it.

The end goal is to make an environment where NPCs can effectively live and be useful in the player's absence. For now I have said if someone is going to agree to live here then at minimum they will demand a place to sleep and stash there stuff resulting in a loose population limit.

I'm adding another layer to the map similar to traps and effects for flags specific to the base which isn't that useful at the moment but will be essential come time to add NPC base behavior.

NOTES:

  • This is my first time working in C++. A lot of the code is written by copying what other files are do. I started from scratch rather than using the base camp file because I wanted the learning experience.

  • I was under the assumption that submap = map tile which is apparently not the case. My implementation basically involves loading the base's map into the base object so I'm going to need some help here. Getting #22300 merged in would probably help.

  • Think adding additional json field for network and cpu consumption would be best. That way it won't be hard coded.

-I have yet to even look at the json parser for saving/loading the base.

@Theundyingcode Theundyingcode changed the title from [WIP]{CR]Home Base to [WIP][CR]Home Base Oct 31, 2017

Show outdated Hide outdated src/help.cpp
Show outdated Hide outdated src/base_home.h
Show outdated Hide outdated src/base_home.h
Show outdated Hide outdated src/iexamine.cpp
Show outdated Hide outdated src/base_home.h
Show outdated Hide outdated src/player.cpp
Show outdated Hide outdated src/iexamine.cpp
Show outdated Hide outdated src/help.cpp
Show outdated Hide outdated src/help.cpp
Show outdated Hide outdated src/base_home.h
@BevapDin

This comment has been minimized.

Show comment
Hide comment
@BevapDin

BevapDin Oct 31, 2017

Contributor

What Coolthulhu said. Don't try to implement everything at once. Make a simple implementation (no level, no caching, as basic as it gets). Than extend it with other PRs.

Contributor

BevapDin commented Oct 31, 2017

What Coolthulhu said. Don't try to implement everything at once. Make a simple implementation (no level, no caching, as basic as it gets). Than extend it with other PRs.

@Theundyingcode

This comment has been minimized.

Show comment
Hide comment
@Theundyingcode

Theundyingcode Oct 31, 2017

Contributor

Don't try to implement everything at once.

Since I am essentially trying to add a whole new aspect to the game I was more concerned with getting my plans across properly. I'll trim out a bunch of stuff before it's rdy; in my experience, adding stubs and a lot of comments is much more effective than me trying to explain my thoughts.

Contributor

Theundyingcode commented Oct 31, 2017

Don't try to implement everything at once.

Since I am essentially trying to add a whole new aspect to the game I was more concerned with getting my plans across properly. I'll trim out a bunch of stuff before it's rdy; in my experience, adding stubs and a lot of comments is much more effective than me trying to explain my thoughts.

Theundyingcode added some commits Oct 31, 2017

Address Comments
Cut to two base levels (1 and 3).
Change player::home to pointer.
Fix up iexamine::base_control.
Add ownerID to home_base.
msc changes

Theundyingcode added some commits Nov 1, 2017

Done for today
Start on define_base_area
Cut more "implement later code"
Add base map overlay
Random other changes
Show outdated Hide outdated src/base_home.h
Show outdated Hide outdated src/base_home.h
Show outdated Hide outdated src/player.h
Show outdated Hide outdated src/iexamine.cpp
Show outdated Hide outdated src/iexamine.cpp
Show outdated Hide outdated src/iexamine.cpp
Show outdated Hide outdated src/iexamine.cpp

@vache vache referenced this pull request Nov 6, 2017

Open

Settlement Ideas #24

Theundyingcode added some commits Nov 13, 2017

Add base to game, start marking, msic
Adds bases to "game" and find it through owner ID.
Adds prompt to mark base when writting/spraying.
Some work to define_base_area
@illi-kun

This comment has been minimized.

Show comment
Hide comment
@illi-kun

illi-kun Feb 23, 2018

Member

This PR is hard to review due to its size, and also it seems to be stalled and obsoleted. Feel free to re-open or, as even better option, to restart it as a bunch of much smaller PRs.

Member

illi-kun commented Feb 23, 2018

This PR is hard to review due to its size, and also it seems to be stalled and obsoleted. Feel free to re-open or, as even better option, to restart it as a bunch of much smaller PRs.

@illi-kun illi-kun closed this Feb 23, 2018

@Theundyingcode

This comment has been minimized.

Show comment
Hide comment
@Theundyingcode

Theundyingcode Feb 27, 2018

Contributor

yeah I haven't been involved with cdda since I got back to school... my git notifications is a scary 800+

Contributor

Theundyingcode commented Feb 27, 2018

yeah I haven't been involved with cdda since I got back to school... my git notifications is a scary 800+

@TheEventHorizon

This comment has been minimized.

Show comment
Hide comment
@TheEventHorizon

TheEventHorizon Apr 4, 2018

Any chances of this being revived?

TheEventHorizon commented Apr 4, 2018

Any chances of this being revived?

@Theundyingcode

This comment has been minimized.

Show comment
Hide comment
@Theundyingcode

Theundyingcode Apr 11, 2018

Contributor

I keep meaning to come back to it but at the same time I haven't opened cdda since going back to school in January and probably won't get around to it until late summer...

Contributor

Theundyingcode commented Apr 11, 2018

I keep meaning to come back to it but at the same time I haven't opened cdda since going back to school in January and probably won't get around to it until late summer...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment