CleverRaven / Cataclysm-DDA

Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.
http://cataclysmdda.org
Other
10.08k stars 4.1k forks source link

Add Towable/Pushable Artillery/cannons to game. #54450

Closed JonathanLochridge closed 1 year ago

JonathanLochridge commented 2 years ago

Is your feature request related to a problem? Please describe.

I think it would be cool to have a way to remotely damage/level buildings and thin out zombies. I was inspired by some of the comments in the Contributor FAQ. Where Artillery was mentioned as something that might potentially be added at some point.

Solution you would like.

Have multi-tile barrel pieces for artillery. Reuse the targeting portion of the code from the old Missile silos launch to target artillery. Make towable artillery that can level buildings and kill zombies within the world bubble but outside sight range. Which can be found in military bases and maybe outposts. Potentially some shells could be incendiary and start massive fires. (Could potentially be repurposed as bigger scale incendiary bombs.)

Single tile pushable artillery that can use cannonballs and blackpowder to fire. Could be added to a town hall building? Or potentially a new courthouse building? I could also see it being added to some new park variants?

Describe alternatives you have considered.

If someone was up for it having a system to temporarily load areas out of the reality bubble to allow targeting would be cool too. Although, I expect that anything to far away would mostly just destroy buildings. Unless you had someone able to spot. Having it be partially proficiency gated makes sense.

Additional context

Related Issues I found: https://github.com/CleverRaven/Cataclysm-DDA/issues/3068

This may need to be fixed before people add more towed vehicles but I am unsure: https://github.com/CleverRaven/Cataclysm-DDA/issues/53575

I couldn't find any past ones covering the actual creation of the missile silos although, I found a couple talking about bugs with the old system that might be relevant: https://github.com/CleverRaven/Cataclysm-DDA/issues/33606 Although, from what I understand a smaller attack within the reality bubble should work.

Terrorforge commented 2 years ago

Since we now have the ability to switch control between friendly NPCs, I wonder if some sort of invisible bunny situation might be the solution to long-distance targeting. Create a invisible, invulnerable dummy NPC at the target, temporarily shift player control to that NPC, set off some explosions, and there you go.

JonathanLochridge commented 2 years ago

Huh, I didn't know we had the feature. That sounds like a pretty nice longer term way to do it.

Terrorforge commented 2 years ago

It's currently an experimental feature available only through the debug menu. The plan is that it will eventually serve as a way to implement "extra lives", but because of the potential knock-on effects that's scheduled for after 0.G

JonathanLochridge commented 2 years ago

huh, I have been playing experimental but haven't touched the debug menu much. Well, it's a nice way to use it then. So, I guess any Artillery implementation would also need to wait till 0.G?

Terrorforge commented 2 years ago

No, no. The implementation I mentioned would use the system in a roundabout way, it doesn't rely on the "switch on death" functionality. I mean, maybe it's big enough to get stopped by the "project freeze", but that's not my decision.

And besides, it's only suggestion. There may be better solutions, this just struck me as the easiest one.

JonathanLochridge commented 2 years ago

Well, I like the sound of it but I wouldn't be implementing that part. I technically know C++ but I hate coding in it so I would rather stick to JSON work. Like adding items, locations, or spawns relevant to the new mechanic. Although, if anyone implements it I would be happy to make cool variants to spawn it in.

JonathanLochridge commented 2 years ago

I discovered while browsing the JSON that we actually already have cannons. Although, their range is a bit low. This is the PR Which merged them in. The spawn as old star forts and have a chance to spawn at museums. https://github.com/CleverRaven/Cataclysm-DDA/pull/45215 Their range is a bit underwhelming. Although their damage is pretty ridiculous. Not very practical due to their 300 noise. Which is completely understandable. I wish they could have higher range though. Potentially I could also add a chance for them to spawn to town halls.

I also verified that town halls actually exist. They include a single courtroom. not sure the PR. But after a bit of playing I noticed them in a city and checked them out. I am trying to locate where they are in the JSON Files.

JonathanLochridge commented 2 years ago

So, small update I found the town halls in JSON. And I have a couple ideas for tweaking them to potentially make a new variant. Although, I need to get a better understanding of how variants are setup first. But I am getting ready to make one using the fire house as a reference for how to do it.

One of the changes would be adding a larger front courtyard or yard. And trying to make the building a little shorter to fit it. Probably with some flowers there. As well as a cannon which is sometimes spiked and sometimes not. Although, this doesn't directly effect any of the mechanical aspects.

I also have an idea for a higher range artillery piece but getting that finished is lower priority.(Still within the reality bubble only.)

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not \'bump\' or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.

Night-Pryanik commented 1 year ago

Closing as stale, since stalebot can't do it by itself.