Skip to content

Conversation

@Fris0uman
Copy link
Contributor

@Fris0uman Fris0uman commented Mar 9, 2024

Summary

Features "Expand implementation of liquid ammo"

Purpose of change

Reimplement liquid attacks from #71964 using liquid ammo instead of spells

Describe the solution

  • Make a bile sprayer gun
  • Add relevant code to check armor layer if you hit a Character
  • Add effects to ammo
  • Add option to only apply effect if shot goes through armor
    - [x] Add option to only apply effect if a specific body part is touched
    - [ ] Instead of above option add a filter by bodypart type like sensor for exemple
  • Apply effect to every touched parts
    - [ ] Make a dedicated liquid sound No need, soundpack can already set sounds per gun ids
  • Make bile irritate skin if it touches skin
  • Make bile make you smell more if it touches skin
  • Make bile irritates eyes
    - [ ] Remove unnecessary eoc_boomered_apply_conjunctivitis
  • Make advanced bile (from evolved boomers) make you glow
  • Advanced bile leave a glowing puddle
  • Give gun to boomers
  • Remove Hardcoded attack
  • Consider reverting Add IRRITANT_IMMUNE to more armors and exoskeletons #77524 since armor has no reason to block skin irritation other than actually stoping the liquid going through > Done in Remove IRRITANT_IMMUNE from armors [need #72271 merged first] #81909
  • Add documentation

Describe alternatives you've considered

Testing

2024-03-09.19-37-26.mp4

The bile does glow properly
The puking makes the correct noises and applies the correct effects
image

Wearing an hazmat suit makes you immune

Additional context

Need #72169 merged first

This will probably make boomer attacks undodgeable, setting projectile speed to 10 instead of 1000 for liquid ammo doesn't seem to help from a quick test

@github-actions github-actions bot added [JSON] Changes (can be) made in JSON Mutations / Traits / Professions/ Hobbies Mutations / Traits / Professions/ Hobbies [C++] Changes (can be) made in C++. Previously named `Code` Monsters Monsters both friendly and unfriendly. Items: Ammo / Guns Ammunition for all kinds of weapons and these weapons themselves Mechanics: Enchantments / Spells Enchantments and spells EOC: Effects On Condition Anything concerning Effects On Condition <Enhancement / Feature> New features, or enhancements on existing labels Mar 9, 2024
@github-actions github-actions bot added the astyled astyled PR, label is assigned by github actions label Mar 9, 2024
@IdleSol
Copy link

IdleSol commented Mar 10, 2024

Am I correct in understanding that this attack is similar to a rifle attack? So in one shot, an attack can only hit one body part?

@Fris0uman
Copy link
Contributor Author

No, the point is to re-use the shotgun spread implementation

@github-actions
Copy link
Contributor

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.

@github-actions github-actions bot added the stale Closed for lack of activity, but still valid. label Apr 22, 2024
@github-actions github-actions bot removed the stale Closed for lack of activity, but still valid. label Apr 24, 2024
@zachary-kaelan
Copy link
Contributor

I noticed that a "bad scent attack" already exists in the form of the skunk_squirt spell:

{
  "id": "skunk_squirt",
  "type": "SPELL",
  "name": { "str": "Skunk Spray" },
  "description": "Skunk spray defense mechanism.",
  "valid_targets": [ "hostile" ],
  "effect": "attack",
  "shape": "cone",
  "min_range": 4,
  "max_range": 4,
  "//": "Duration is 3-5 hours, can't seem to write it in hours, had to write it in moves which is terrible",
  "min_duration": 1080000,
  "max_duration": 1800000,
  "flags": [ "RANDOM_DURATION" ],
  "effect_str": "skunk_spray"
}

Which applies its effects mostly using enchantments:

{
  "type": "effect_type",
  "id": "skunk_spray",
  "name": [ "Skunk Spray" ],
  "desc": [ "You were sprayed by a skunk!" ],
  "apply_message": "You're covered in a foul smelling fluid!",
  "rating": "bad",
  "max_duration": "5 hours",
  "base_mods": { "per_mod": [ -1 ], "int_mod": [ -1 ], "vomit_chance": [ 2000 ] },
  "enchantments": [
    {
  	  "values": [
  	    { "value": "SOCIAL_PERSUADE", "add": -10 },
  	    { "value": "SOCIAL_LIE", "add": -4 },
  	    { "value": "SOCIAL_INTIMIDATE", "add": 2 },
  	    { "value": "UGLINESS", "add": 5 },
  	    { "value": "SCENT_MASK", "add": 300 }
  	  ]
    }
  ]
}

I'm curious if any of this will be changed or if it will be considered a separate thing.

@Fris0uman Fris0uman force-pushed the glubglub_gun branch 3 times, most recently from c9daa91 to d1b0452 Compare June 25, 2024 16:15
@github-actions github-actions bot added the json-styled JSON lint passed, label assigned by github actions label Jun 25, 2024
@Fris0uman Fris0uman marked this pull request as ready for review June 21, 2025 21:51
@github-actions github-actions bot removed the BasicBuildPassed This PR builds correctly, label assigned by github actions label Jun 21, 2025
@Fris0uman Fris0uman marked this pull request as draft June 22, 2025 07:28
@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label Jun 22, 2025
@github-actions github-actions bot added the Code: Tests Measurement, self-control, statistics, balancing. label Jun 22, 2025
@Fris0uman Fris0uman marked this pull request as ready for review July 10, 2025 18:14
@github-actions github-actions bot removed the BasicBuildPassed This PR builds correctly, label assigned by github actions label Jul 10, 2025
@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label Jul 18, 2025
@Maleclypse Maleclypse merged commit 1055f5b into CleverRaven:master Jul 19, 2025
37 of 42 checks passed
@Fris0uman Fris0uman deleted the glubglub_gun branch July 19, 2025 21:07
@dynst
Copy link
Contributor

dynst commented Jul 19, 2025

Funny timing colliding with #81830 merging at the same time.

(~[slow] ~[.],starting_items)=> uncraft_sanity_check
(~[slow] ~[.],starting_items)=> -------------------------------------------------------------------------------
(~[slow] ~[.],starting_items)=> ../tests/item_test.cpp:1106
(~[slow] ~[.],starting_items)=> ...............................................................................
(~[slow] ~[.],starting_items)=> 
(~[slow] ~[.],starting_items)=> ../tests/item_test.cpp:1150: FAILED:
(~[slow] ~[.],starting_items)=>   CHECK( false )
(~[slow] ~[.],starting_items)=> with message:
(~[slow] ~[.],starting_items)=>   Item boomer_bile do not have uncrafting recipe, and should either get one, or
(~[slow] ~[.],starting_items)=>   if should not have one, should be added to data/mods/TEST_DATA/
(~[slow] ~[.],starting_items)=>   known_good_uncrafts.json
(~[slow] ~[.],starting_items)=> 
(~[slow] ~[.],starting_items)=> ../tests/item_test.cpp:1150: FAILED:
(~[slow] ~[.],starting_items)=>   CHECK( false )
(~[slow] ~[.],starting_items)=> with message:
(~[slow] ~[.],starting_items)=>   Item boomer_bile_adv do not have uncrafting recipe, and should either get
(~[slow] ~[.],starting_items)=>   one, or if should not have one, should be added to data/mods/TEST_DATA/
(~[slow] ~[.],starting_items)=>   known_good_uncrafts.json

@Maleclypse
Copy link
Member

Funny timing colliding with #81830 merging at the same time.

I've got a fix for that testing in my Dhsmpir familiar PR but it's got other weird failures landing

Maleclypse added a commit that referenced this pull request Jul 21, 2025
Remove IRRITANT_IMMUNE from armors [need #72271 merged first]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions [C++] Changes (can be) made in C++. Previously named `Code` Code: Build Issues regarding different builds and build environments Code: Infrastructure / Style / Static Analysis Code internal infrastructure and style Code: Tests Measurement, self-control, statistics, balancing. Code: Tooling Tooling that is not part of the main game but is part of the repo. <Documentation> Design documents, internal info, guides and help. <Enhancement / Feature> New features, or enhancements on existing EOC: Effects On Condition Anything concerning Effects On Condition Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. Items: Ammo / Guns Ammunition for all kinds of weapons and these weapons themselves [JSON] Changes (can be) made in JSON json-styled JSON lint passed, label assigned by github actions [Markdown] Markdown issues and PRs Mechanics: Enchantments / Spells Enchantments and spells Mods: TropiCataclysm 🌴 Having to do with the tropical region mod for DDA. Monsters Monsters both friendly and unfriendly. Mutations / Traits / Professions/ Hobbies Mutations / Traits / Professions/ Hobbies [Python] Code made in Python

Projects

None yet

Development

Successfully merging this pull request may close these issues.