What I meant is that there should be a Topic just for Quests and Settlements on his own and this one should be for new buildings for towns but it doesn’t matter this is very exciting content.
4.1.6 Leader quests
[spoiler]
General info:
The boss (or bosses, if a settlement is particularly large) is the one deciding on all the most important issues and, as such, enjoys the highest level of protection a settlement can offer (which may be either rather impressive or not quite so, depending on how was he faring up to the point). Want to nab a facility ? Raid the raiders’ stronghold ? Dig out that pesky slime pit ? This is the person you need to make it happen.
IMHO, the leader should be reserved for the highest tier of settlement quests – things that actively affect the world (in the general vicinity of the settlement at least) and may well decide on whether the area will be “tamed” or overrun, such as the capture of facilities, establishment of outposts / waystations and directing large-scale actions against the invaders / other settlements. This could eventually lead to having dynamic faction-relations and diplomatic networks, but let’s not get carried away …too much.
In terms of PC interaction, the leader oversees the “tactical map” – a piece of furniture containing a map of the immediate area with quest notes being marked on it for the PC to copy onto their own map. The tactical map might not be fully accurate (can we do that ?) or have areas of ‘terra incognita’, but will balance this with accurate information about current troop deployments and applicable radio codes (if the PC has a two-way radio and are in excellent standing with the settlement, they might call for backup if any troops are close by).
Quests:
[spoiler]
a. Extending our reach
[spoiler]
Stage1 win condition: Scout the construction site and exterminate all monsters in the vicinity (1 overmap tile radius ?).
Stage1 fail condition: Time runs out / PC leaves the area.
Stage2 win condition: Secure the perimeter for the construction site by deploying (spawned) turrets / traps.
Stage2 fail condition: Time runs out / PC leaves the area.
Stage3 win condition: Deposit building materials (spawned or to be scavenged) at the construction site.
Stage3 fail condition: Time runs out / PC leaves the area.
Stage4 win condition: Escort work crew (in a spawned vehicle) to construction site.
Stage4 fail condition: Time runs out / PC leaves the area / Crew is killed / Vehicle is abandoned.
Stage5 win condition: Protect the crew and construction site from the initial waves of enemies until settlement troops are deployed.
Stage5 fail condition: Site is overrun / Crew is killed / PC leaves the area.
Stage6 win condition: Supply construction site with more building materials.
Stage6 fail condition: Time runs out / PC leaves the area.
Stage7 win condition: Return to the settlement and inform the leader(s) about the outpost being completed.
Stage7 fail condition: Time runs out / PC leaves the area.[/spoiler]
b. Cherish you neighbour
Stage1 win condition: Scout a route to a nearby settlement and establish relations.
Stage1 fail condition: Time runs out / PC leaves the area / Target settlement becomes hostile (as a result of botched negotiations or a hostile act by the PC).
Stage2 win condition: Secure the new route and place markers for the caravans to follow (can we have a drop-item-in-a-tile-and-make-a-checkpoint system ?).
Stage2 fail condition: Time runs out / PC leaves the area.
Stage3 win condition: Show off by depositing a batch of goods at the target settlement
Stage3 fail condition: Time runs out / PC leaves the area / Goods are abandoned or damaged.
Stage4 win condition: Escort merchants (in a spawned truck) to the target settlement and back home.
Stage4 fail condition: Time runs out / PC leaves the area / Merchants are killed / Vehicle is abandoned / Vehicle strays from the route that was laid out earlier.[/spoiler][/spoiler]
4.2 Facility-related quests
4.3 General quests
I was also curious about Aenye’s ideas; they reminded me of GlyphGryph’s efforts to summon as much folks as possible in order to discuss a solution which was best suited for everyone at the time. I didn’t want to clutter this seasoned and versed individual’s topic with things-that-oughta-take-the-joy-away.
Looking at the code (some weeks old, fyi) it didn’t seem that changing vehicle-related portions should be as hard as trying to french-kiss an unknown girl. Handling mount points (and we’ve all thought about it, even discussed some on the forums) for cars could be tricky. My observations are:
a) collisions must be approached from a different angle, so Zs and animals can get “stuck” in one vehicle part or another if a collision is detected; otherwise, boarding a vehicle (say, letting a dog jump the trunk of your rolling semi) should be an action with a moderate chance of success;
b) adding containers, or otherwise mounting pieces onto a vehicle is a bore - you can’t render something a vehicle part this time, and strip its property when you don’t need it, yet another time; if CataDDA had another trunk instance dedicated to bulky loads and a cargo manager similar to adv.inv.man. but activated with (e)xamine command in order to (l)oad cargo otherwise stated as furniture (and similar) then you could let vehicle-code calculate weights and volumes and follow fuel consumption declarations, which governs the vehicle’s ability to fly, or stay dormant.
Coming to think of it, this would allow for considerable modifications to furniture (and not vehicle) uses, allowing pieces to be loaded and unloaded repeatedly - without any risk of manipulating furniture and their content whilst they stay loaded.
Thanks ! Could you pleasy check my reasoning ? If I were to add, let’s say a pitchfork, I would need to supplement melee.json with the following (made some stats up, based on the contents of the file):
[spoiler]
“type”:“GENERIC”,
“id” : “pitchfork”,
“name” : “pitchfork”,
“description” : “Once used by mud-farmers, this sturdy, three-pronged pitchfork is one nasty stabbing implement.”,
“weight” : 2250,
“to_hit” : 0,
“color” : “light_gray”,
“symbol” : “;”,
“material” : [“steel”, “wood”],
“volume” : 9,
“bashing” : 4,
“cutting” : 15,
“flags” : [“STAB”, “DURABLE_MELEE”],
“price” : 5000[/spoiler]
Is this correct ? The game would recognise such an item as the pitchfork, but it wouldn’t spawn anywhere, right (didn’t declare anything about it - unless the “generic” value for type determines it) ?
PS: Just made my first proofreading Pull Request - hopefully I did everything correctly (sorry if I didn’t !).
Your PR was fine, and I’ve merged it. As I said there, welcome to the open source community. [color=limegreen]:D[/dolor]
That pitchfork looks reasonable in syntax terms. I’m not sold on the numbers (damage looks a little high and volume seems low; weight is in grams, volume is tougher to define but generally 250mL, or the size of a typical-human fist or paperback novel) but it’d probably work in-game. In order to have it spawn, you’d need to add entries in item_groups.json. Pitchforks would likely be in mischw, farm gear, tools, and so on. Larger number, more likely it is to spawn.
- I believe that’s how we handle houses & basements, which works OK as a house is one map tile. The mall is about 10x10 tiles. I’m not familiar enough with mapgen to tell you if we support different sizes for the same structure, so I would err on presuming that we do not, and that’s a LOT of tiles to redraw.
2/3) OK, looking forward to it.
- Not sure, though I’d caution that “simply copying it” is unlikely to be that simple.
Quests seem fairly generic, but worth considering. The extant Refugee Center currently has a QM who simply pays for bulk nonperishables, so that’s a decent starting point.
In order to display the “influence-zone” of a certain group (including buiding they control), we could add a button to the overmap that lets the controlled areas of the different factions flash as red/blue/green/yellow "#"s.
But that’s just a quick idea.
As for the ideas, is it a good idea to start making the buildings proposed by Aeyne now? They can work well without the questing and areas of incluence framework, I guess.
Thanks for the GitHub greeting ! ;-D As for the quests - this first batch I wanted to make as generic as possible, so as to allow an open-ended settlement quest tree. This should ensure that a settlement always has some quest for the PC at hand. Now, these should be supplemented with specific quests in an icing-on-the-cake style.
That said, are there any limits in terms of what parameters can be checked to determine quest availability or can I go wild by assuming that the quest ‘engine’ can basically rummage through the game world (and the system settings - such as current date, time etc.) and retrieve even obscure figures ?
Can’t help but agree - the system should be phased in gradually, allowing others to build on its framework as well. While I’d love someone experienced in operating the building utility deciding that my stuff is worth working on, wouldn’t it be more proper to start from the items ?
While I’ve got the item table fleshed out to an extent (I think the people making tilesets will hate me for what I’m about to say), with some three hundred new items, my experience in terms of coding items is the pitchfork in the previous page and a single PR with a minor change to one item. Having taken an inside look at how items are defined, I will have to work out their stats, but after that, I should be able to generate standardised code from the level of M$ Excel (this and VBA being the only things i actually am profficient with).
That said, the amount of work to be done in terms of bare stat-compiling is tremendous. Given that some of the items should function as tools / have some ‘activate’ effects, be comestibles or crafting / construction ingredients, I am quite sure that I will be needing help…
Regarding the items I am willing to help.
Is the list of items you spoke of available somewhere?
I’m willing to help as well with such items, I will start working next week but I think I can provide some help here and there.
[quote=“Snaaty, post:48, topic:7085”]Regarding the items I am willing to help.
Is the list of items you spoke of available somewhere?[/quote]
First of all, thanks ! I’ve got the items listed in a series of M$ Excel spreadsheets. I can upload them to a fileserver of trying to host them via google docs - would this be acceptable for you ? I went through all the stuff and selected 150+ items, that would IMHO be most useful.
Uploaded to zoho - google docs was causing me problems on editing: CLICK
The password is: aenye2501
It’s fine for me, man thats a lot of items 0_0
Sent the link. Had some trouble with copy/paste, but not enough time to resolve them now - will be pasting descriptions tomorrow.
It just seems like a lot - Cata has a mind boggling multitude of items (if my ‘take the average number of lines per item and divide the total number of lines in each item json’ approach is correct, it’s several thousand items). That said, if you think of an item that might suit the list, please add without restraint.
Also, can we have items react in different ways when they are damaged ? Let’s use the example of a Gas cylinder (Hydrogen), that I included in the list. First damage it takes should de-hermetise the cylinder, making it leak hydrogen. Second time being damaged could strike a spark off the metal hull and turn the area into a nice blooming fireball. Is something like that viable ?
Another question - how about bestowing “perks” on the PC ? The high-spec textbooks found in the universities should be largely unusable by the PC (too specialised to even bother learning from). That said, while poring over such a book wouldn’t increase skill level or add recipes, it might make the PC notice some more stuff about their surroundings or be able to operate a not-so-obvious piece of machinery or two.
There’s always room for more good items.
Damaged things leaking is implemented for large batteries and radioactives. Hydrogen might be able to have a “flammable gas” field happen, which could then be very prone to ignition.
“Perks” are on my target list. Trying to get up the head of steam on that; today was kinda rotten.
For the multitile buildings, it does support alternate layouts, but they are not rolled together. For example, if you have 10 mall designs, it does not say “okay we want a mall, roll 1-10 to pick a mall design”, it says something more like “this area has room for a special. do we place mall 1? yes. okay next area, do we place mall 1? no we have already placed the maximum number of mall 1s. do we place mall 2?” etc. So on a lucky map, it would be possible to have all 10 malls at once, when you intended to have a maximum of one mall with 10 alternates.
It is possible to support a minor amount of randomization within a single layout though. Let’s say you have a 2x2 special for an apartment building. The specification would include something like:
[tt]
“location”:[0,0,0], “tile”:"apartment_0_0_0"
“location”:[1,0,0], “tile”:"apartment_1_0_0"
“location”:[0,1,0], “tile”:"apartment_0_1_0"
“location”:[1,1,0], “tile”:“apartment_1_1_0”
[/tt]
It is possible to specify more than one mapgen layout for “apartment_0_0_0”, etc., so that it randomly selects one of those layouts when placing that tile. This is the way house designs work, there are a few built in random designs, and a handful of json layouts. The overmap places a “house” tile at overmap generation, and when you approach the house for the first time, during mapgen, it selects one of those layouts and generates it. The only caveat with using this method for the multitile locations is that you have to be extra sure every permutation will match up. So, you have to put restrictions on the design so that walls always line up, etc.
Also, designs do not necessarily need to be square. That was one of the reasons for putting in the relative coordinate system, it allows for any size/shape building (though I wouldn’t push it too far past 9x9). You should easily be able to make tetris block shaped buildings if you wanted to.
Separating the layout from the rest of the specification was an idea Kevin had while I was working on this, but I thought it would be too difficult to work on for the initial implementation. Now I’m wishing I had done it while it was all still fresh on my mind. Another thing that it needs is much more fleshing out of things like sewer connections and location handling. Location handling in particular would require a rework of how it places specials entirely though.
Vache is one of our best mapgen people. Thanks for weighing in–I hadn’t been that familiar with the specifics.
wow, that item table is just brilliant. Really shows how much thought you put into it, Aenye!
The new non-google document seems to be password-protected, is that intended?
Sorry for no update and short reply - will have barely any time whatsoever until the 17th. Sod that, will be popping in as much as I can.
The password is aenye2501 - post me if it still gives you problems with editing.
Vache: thanks for the walkthrough on how the utility works - actually it looks quite flexible - may I have some more questions about it ?
If I understand correctly, the building utility goes through a list of all specials in some set order, right ? Let’s say it goes like: beehive, cathedral, fema camp, mall. Now, when selecting a special, could we add a random roll and compare it to a building-specific threshold ? In that case it could go: If the RND > Building_threshold then place special; else next special.
Then, having different layouts would be just the question of adjusting thresholds so that mall1_thresh + mall2_thresh+… = x, with x detemrining the actual chance of encountering ANY type of mall. Would something like this work ?
This would also solve the problem quite well - the question is how the editing of individual tiles works (as in, is keeping all the walls lined properly on a, say 3x3 special, be difficult/arduous or is it just a case of “plot it in excel and off you go” ?).
This. This is mind-bogglingly awesome ! The special facilities I’ve got under lock and key are just begging for such a possibility !
Here I must admit to a total lack of knowledge - are the map features not actually treated as entities at all ?
Zireael: Thanks I’m not much of a coder, so I’ll most likely be asking a lot of questions in the near future.
Well, if you’re willing to have me onboard, I’ll gladly help - it’s the least I can do to thank you for answering my not-so-bright questions all the time !
I’ve not worked with the building design utility unfortunately, you’d have to ask acidia about that. I was referring to the specification behind the multitile buildings in how overmap_specials work.
Then my questions (edited my post just after you posted) might be too wild to be answearable (for now) Thanks for explaining !