Skip to content
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

Adds toxic gas and small explosion ammo effects #13658

Merged
merged 4 commits into from Sep 29, 2015

Conversation

Projects
None yet
4 participants
@chaosvolt
Copy link
Contributor

commented Sep 26, 2015

  • Adds an explosive effect comparable to the smaller boom of the frag effect.
  • Implements small explosion for explosive shotshells, explosive arrows/bolts, 20x60mm explosive shells, and Tankmod 30mm HEI rounds.
  • Adds an ammo effect for spawning toxic gas as an alternative to tear gas.
  • Adds a makeshift gas grenade that produces toxic gas. The recipe for this displaces the teargas canister recipe.
  • Adds a new ammo available for the chemical thrower, using the new gas effect.
  • Adds a toxic gas version of the 40mm teargas round. Since the teargas round is currently easily made, this supplements the existing recipe instead of replacing it.
chaosvolt
Adds toxic gas and small explosion ammo effects
* Adds an explosive effect comparable to the smaller boom of the frag
effect.
* Implements small explosion for explosive shotshells, explosive
arrows/bolts, 20x60mm explosive shells, and Tankmod 30mm HEI rounds.
* Adds an ammo effect for spawning toxic gas as an alternative to tear
gas.
* Adds a makeshift gas grenade that produces toxic gas. The recipe for
this displaces the teargas canister recipe.
* Adds a new ammo available for the chemical thrower, using the new gas
effect.
* Adds a toxic gas version of the 40mm teargas round. Since the teargas
round is currently easily made, this supplements the existing recipe
instead of replacing it.
@chaosvolt

This comment has been minimized.

Copy link
Contributor Author

commented Sep 26, 2015

And now to hope it doesn't break. That reminds me, is EXPLOSIVE_HUGE even used for anything?

@Coolthulhu

This comment has been minimized.

Copy link
Contributor

commented Sep 26, 2015

Did you test it? There seems to be an error in the jsons. I think it should be detected even on parser level.

If it's not, try testing the crafting recipes. That should show it.

@chaosvolt

This comment has been minimized.

Copy link
Contributor Author

commented Sep 26, 2015

Hnng. What is the bloody deal with Jently lately? It goes and says the check passed while things are derping behind the scenes.

@Coolthulhu

This comment has been minimized.

Copy link
Contributor

commented Sep 26, 2015

Not sure if Jently tests it this deeply.

@chaosvolt

This comment has been minimized.

Copy link
Contributor Author

commented Sep 26, 2015

Hmm, I see. Since I still have yet to work out compiling, I'm having to best this by replacing jsons of an existing experimental build, then edit out references to the flags added in this PR. @_@

@chaosvolt

This comment has been minimized.

Copy link
Contributor Author

commented Sep 26, 2015

"id": "gasbomb_markshift",

Fuck me, I think I found it.

Chaosvolt
Typo fix
1. How do you even mark a shift anyway? o3o
@Coolthulhu

This comment has been minimized.

Copy link
Contributor

commented Sep 26, 2015

Why edit out flags? They should not cause errors.

As for compiling: try one of the guides, like one in COMPILING.md file in source directory. Being able to test own changes is pretty vital.

@chaosvolt

This comment has been minimized.

Copy link
Contributor Author

commented Sep 26, 2015

Hmm. Wasn't sure if it would freak out on reading a flag that doesn't exist. And...I should look at that, yeah. Hopefully more useful than the wiki's advice on that. @_@

EDIT: Augh, bad MinGW. When I tell you to cd, you fucking cd. It refuses to navigate to where the repository is.

EDIT 2: Ahah. There we go.

EDIT 3: What the flying fuck. Goddamn it, stop spamming that warning you piece of shit.

dafuq

@chaosvolt

This comment has been minimized.

Copy link
Contributor Author

commented Sep 26, 2015

Well, I'm at least hoping it's working right now.

Also, fragments from ammo only seem to go maybe 2 spaces from the looks of it, well within the blast radius the FRAG flag yields. Maybe I could also puzzle out how to make shrapnel from that ammo effect affect a wider area than the actual explosion does? Because that's kinda the reason for fragmentation to begin with.

@Coolthulhu

This comment has been minimized.

Copy link
Contributor

commented Sep 26, 2015

Maybe I could also puzzle out how to make shrapnel from that ammo effect affect a wider area than the actual explosion does?

That would require modifying game::explosion. In an easy way but still.

@BevapDin

This comment has been minimized.

Copy link
Contributor

commented Sep 26, 2015

EDIT 3: What the flying fuck. Goddamn it, stop spamming that warning you piece of shit.

Insulting innocent programs/hardware rarely works. If you don't have SDL2 or don't want to build with tiles, don't supply the TILES= option to make. The Makefile doesn't care about the value TILES, only whether it's there or not.

@chaosvolt

This comment has been minimized.

Copy link
Contributor Author

commented Sep 26, 2015

Ack. The thing is I've compiled with that before, once. It took some mucking about with it, and couldn't get tiles to work, but it worked before. However, I don't recall having it repeatedly pop up that error previously, hence the frustration. x.x

EDIT: Augh. Nope, still getting this issue with the tiles option removed entirely. The fact that this has worked before without issue is getting on my nerves.

"time": 100,
"reversible": false,
"autolearn": false,
"book_learn": [[ "textbook_gaswarfare", 4, "" ] , [ "manual_launcher", 4 ]],

This comment has been minimized.

Copy link
@Coolthulhu

Coolthulhu Sep 27, 2015

Contributor

Why the ""?

This comment has been minimized.

Copy link
@BevapDin

BevapDin Sep 27, 2015

Contributor

This feature is actually documented, see do/JSON_INFO.md (but as we all know, nobody reads the documentation):

"book_learn": [ // (optional) Array of books that this recipe can be learned from. Each entry contains the id of the book and the skill level at which it can be learned.
[ "textbook_anarch", 7, "something" ], // The optional third entry defines a name for the recipe as it should appear in the books description (default is the name of resulting item of the recipe)
[ "textbook_gaswarfare", 8, "" ] // If the name is empty, the recipe is hidden, it will not be shown in the description of the book.
],

"subcategory": "CSC_AMMO_BULLETS",
"skill_used": "fabrication",
"difficulty": 3,
"time": 100,

This comment has been minimized.

Copy link
@Coolthulhu

Coolthulhu Sep 27, 2015

Contributor

Just 100 for repurposing the bomb into a contact 'nade and adding propellant so that it can actually be launched?

"book_learn": [[ "textbook_gaswarfare", 4, "" ] , [ "manual_launcher", 4 ]],
"qualities" : [
{"id":"SCREW","level":1,"amount":1}
], "components": [

This comment has been minimized.

Copy link
@Coolthulhu

Coolthulhu Sep 27, 2015

Contributor

Needs some gunpowder for a propellant. 40mm shot and flechette use 40 gunpowder and a single shotgun primer per charge.

@@ -4715,5 +4736,36 @@
[ "chem_sulphur", 10 ]
]
]
},{
"type" : "recipe",
"result": "gas_chloramine",

This comment has been minimized.

Copy link
@Coolthulhu

Coolthulhu Sep 27, 2015

Contributor

Wait, this is a recipe that produces gas and then allows the survivor to pour it into a bottle?

@chaosvolt

This comment has been minimized.

Copy link
Contributor Author

commented Sep 27, 2015

That recipe was yoinked from the recipe for the 40mm acidbomb recipe, so... -_-

Some of the booklearns citing the anarchist book seem to have that quote mark thing for no apparent reason, while I think one of them (incendiary material?) uses it to lodge a "stuff THE MAN doesn't want you to know" into the book's recipe list when perused.

No idea who implemented that idea.

EDIT: I'm wondering how best to implement sprayable gas though. I'm assuming just yoinking the sprayable fungicide recipe isn't ideal, but...hmm.

"symbol": "*",
"color": "dark_gray",
"name": "active makeshift gas grenade",
"description": "This hommade canister of poison gas has had its pin removed, indicating that it is (or will shortly be) expelling highly toxic gas. You should consider getting rid of it soon.",

This comment has been minimized.

Copy link
@Coolthulhu

Coolthulhu Sep 27, 2015

Contributor

"hommade"
Also, pin on a homemade bomb?

"use_action": {
"type": "explosion",
"sound_volume": 0,
"sound_msg": "Tick.",

This comment has been minimized.

Copy link
@Coolthulhu

Coolthulhu Sep 27, 2015

Contributor

Tick?

@chaosvolt

This comment has been minimized.

Copy link
Contributor Author

commented Sep 27, 2015

More results of copy-pasting the existing version. Note that even before you could craft standard teargas grenades and pull the pin on them, with no regard for whether it was homemade of not. Will need to devise a good alternative message for that.

@chaosvolt

This comment has been minimized.

Copy link
Contributor Author

commented Sep 27, 2015

Right then. Will work on typo fix, altering the homemade gasbomb's use_action messages to make more sense, and...editing the recipes for both the gas shell AND the acid shell it was derived from. I love it when copying someone else's weird ideas gets me funny looks. ;A;

Any suggestions for how to handle the sprayable gas recipe?

EDIT: Though if we had a "causes field effect when dumped" property for liquids, we could at least ensure the player can't empty a bottle of sprayable gas without consequence. Though the same issue might apply to sprayable fungicide.

chaosvolt
Makeshift gasbomb changes, 40mm recipe fix
Still unsure how best to implement the sprayable gas recipe. As-is, it
may or may not be feasible depending on how quickly chloramine is
produced in reality. Probably not smart in either case.

1. Corrected a typo.
2. Edited 40mm gasbomb AND acidbomb recipes to be more consistent with
other 40mm recipes. No idea who thought up that acid round recipe.
3. Altered the makeshift gasbomb. The descriptions and other messages
should hopefully be less weird. Also altered the fuse length, duration
of gas emission, and price.
@Coolthulhu

This comment has been minimized.

Copy link
Contributor

commented Sep 27, 2015

Any suggestions for how to handle the sprayable gas recipe?

It must stop being a gas before being sprayed. The only other solution I see here would be implementing AIRTIGHT tag for some containers and implement storing and dropping gas type items.

@chaosvolt

This comment has been minimized.

Copy link
Contributor Author

commented Sep 27, 2015

Hmm. Presumably, yeah. I'm also thinking lore-wise or description-wise, how one would handle it. The easiest answer would be to imply the sprayer stores the components separately and mixes them when spraying.

Otherwise we'd not only need containers able to handle gases, but ALSO need to make the item spawn a field effect when stored improperly and/or when unloaded. These both might be beyond the scope of this PR.

Then again, the chemical sprayer seems to be more of a duster since the sprayable fungicide appears to be more powderlike than liquid, so maybe simply restricting the recipe to just use the powdered componants would make more sense

What are the oxydizer and lye powders meant to be, chemically? I'm assuming the output would be different than mixing bleach and ammonia.

@Coolthulhu

This comment has been minimized.

Copy link
Contributor

commented Sep 27, 2015

The easiest answer would be to imply the sprayer stores the components separately and mixes them when spraying.

Then only those gases that are produced quickly can be used.

need to make the item spawn a field effect when stored improperly and/or when unloaded.

Would be enough if gases couldn't spawn outside items and would be destroyed on drop/unload.

What are the oxydizer and lye powders meant to be, chemically?

Oxidized powder can be produced relatively simply from just bleach and water. Treat as source of chlorine.
Lye powder can have potassium and sodium.

@chaosvolt

This comment has been minimized.

Copy link
Contributor Author

commented Sep 27, 2015

Hmm. I guess restricting the recipe to the powdered components would be the most logical step. Though I do wonder if there's a divide between the recipes to produce them and what they're implied to be. How old are they, anyway?

...and yet more distractions, seems my last PR for the Tank mod let a missing separator slip through. Yet another reason I'm leery of juggling multiple PRs. @_@

EDIT: It's possible that oxidizer powder is meant to be calcium hypochlorite (bleaching powder) rather than sodium hypochlorite. No idea if the former can be easily produced from the latter, at least using the in-game recipe.

EDIT 2: Lye powder, meanwhile, uses...charcoal and water? I'm assuming this is referencing potassium hydrodixe (potash), not sodium hydroxide (lye). Even then, household bleach typically has some lye in it anyway, apparently to prevent the sodium hypochlorite from decomposing.

Again, how OLD are these two recipes? I'm starting to suspect they were coded with about as much thought put into them as the pipe SMG recipes. :V

Chaosvolt
Removed liquid components from sprayable gas
1. Might still need to mess with the recipe later on, but at least this is consistent with the powdered ingredients of sprayable fungicide.
@Rivet-the-Zombie

This comment has been minimized.

Copy link
Member

commented Sep 27, 2015

I think I originally added the basic chemistry recipes a year or two ago in a huge PR that covered about thirty different recipes and items. The 'oxidizer powder' is a nonspecific chemical oxidizer - most likely sodium hypochlorite. As for making lye, sodium hydroxide is quite easy to produce from wood ashes and water. While we have no 'ash' item that can be carried around by the player, I also didn't feel like adding one, so it uses charcoal instead.

@chaosvolt

This comment has been minimized.

Copy link
Contributor Author

commented Sep 27, 2015

Hmm. I vaguely recall that you can derive lye from wood ash via multiple steps, yes. So guess it's understandable since we've yet to need potash for anything. Like alkahest...got any use for glass cleaner? XP

Oxydizer...hmm. Not sure how to produce it from bleach and water, especially since the same combination of stuff yields salt as well. Keeping it generic is probably fine, though. It does get my gears turning and thinking about what processes are being represented in abstract form.

@Rivet-the-Zombie Rivet-the-Zombie self-assigned this Sep 29, 2015

Rivet-the-Zombie added a commit that referenced this pull request Sep 29, 2015

Merge pull request #13658 from chaosvolt/ammo-effect-additions
Adds toxic gas and small explosion ammo effects

@Rivet-the-Zombie Rivet-the-Zombie merged commit ea94807 into CleverRaven:master Sep 29, 2015

1 check passed

default
Details
@chaosvolt

This comment has been minimized.

Copy link
Contributor Author

commented Sep 29, 2015

And thank you for the merge.

@chaosvolt chaosvolt deleted the chaosvolt:ammo-effect-additions branch Sep 29, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.