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
Filthiness overhaul #20160
Filthiness overhaul #20160
Conversation
Seems reasonable, shifting the focus of filthy clothing from morale to a practical concern. There will likely remain the exploit of cutting up filthy clothing to obtain clean raw material, though. |
All of those features look as if better introduced as option than the default, at least at first until they are well tested and mature:
Some technical problems:
|
The issue chaosvolt mentioned is still valid: Will filthy clothes still disassemble into clean rags, or will filthiness remain attached to the rags as well? |
That is what I was asking as well. I recall learning of it from seeing their forum signature when observing discussion on the forums. |
First of all, this overhaul still leave filthiness in mods category, so I think it could suit for "better introduced as option than the default"
Restriction to filthy-only items could easily be removed. Need some more opinions on this.
Tested this on several types of zombies. They do actually pursuit player on purpose if they are close enough. That's why "semi-ignore".
Maybe activate "invisibility" only if filthy clothing covers the head, torso, arms and legs?
Need help on this.
Rags will be filthy too when it will implemented. |
I have serious doubts that the cleanliness of your clothes would matter if you get injured by an attack from a rotting corpse. Like the cleanliness of your spoon would matter when eating rotten soup... |
At the moment it doesn't: the mod option is for filthiness morale penalty, not for filthiness itself. For example, you can take squeamish in full vanilla world and it will work.
Test with silent movement and no smell debug traits. It may rely on scent on sound, which would make it really strong for the player. Also test vs. NPCs - that's pretty important because if it's smell+sound, NPCs will be able to freely wreck hulks.
I'd add head to that. All body parts with HP is a good arbitrary choice.
Rename it and change the message, but keep the vector sized as before. Instead of obsoleting the morale mod, you could instead change it to the new one and keep the old ID, though that would be a bit confusing. |
const int required_water = 2 * mod.volume() / 250_ml; | ||
const inventory &crafting_inv = p->crafting_inventory(); | ||
if( !crafting_inv.has_charges( "water", required_water ) && !crafting_inv.has_charges( "water_clean", required_water ) ) { | ||
p->add_msg_if_player( _( "You need %1$i charges of water to wash your %2$s." ), required_water, mod.tname().c_str() ); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Slightly misleading? Above checks for both X water
and X water_clean
, whereas this line only mentions the former.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I presume that players will understand that they can use either ordinary or clean water in this simple "... of water". But I can change this to explicitly mention both types of water, if needed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What I meant is - yes, the above checks for either, but several lines below, both are pushed to Meh, nevermind.comps
. EDIT: So, the checks and message are for one thing, but the components used are another.
@@ -4823,6 +4823,17 @@ dealt_damage_instance player::deal_damage(Creature* source, body_part bp, const | |||
} | |||
} | |||
|
|||
int infection_chance = dealt_dams.type_damage( DT_BASH ) + ( dealt_dams.type_damage( DT_CUT ) + dealt_dams.type_damage( DT_STAB ) ) * 4; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can be const int infection_chance
. Same for filthy
below.
Only if they then can be bulk-washed. Also that will require making thread (made from these rags) filthy too, and the clothes made from them... How about requiring time (required), water, soap and washboard (all three not required but reducing amount of time spent) for filthy clothes cut-up instead? |
I've yet to see a reasonable rationale for gore-encrusted clothing *not*
causing a morale penalty (repeatedly stating that the only impact is "pure
tedium" when the most obvious solution is to simply not wear filthy
clothes, which of course impacts difficulty, doesn't cut it). Nothing has
changed since the discussion in #17254, some bug fixes and the addition of
infection chance when wearing gore-encrusted clothes address the issues
raised.
The morale issue isn't, "filthy clothes shouldn't cause a morale penalty",
it's, "intermittent morale impacting actions aren't as persistent as they
should be".
On Jan 29, 2017 10:52 AM, "Coolthulhu" <notifications@github.com> wrote:
All of those features look as if better introduced as option than the
default, at least at first until they are well tested and mature:
Hiding features behind options is toxic, if it needs work to
balance/complete, that is what feature branches are for.
- Filthy clothing making zombies have the "ignore" attitude sounds
gamebreaking. I didn't test how it works, but from what I can tell it would
make zombies only attack player when randomly stumbling and not using
special abilities. Also test it with NPCs because NPC aggro code may be a
bit better than player aggro.
I'm not sold on it being 'partial invisibility'. Zombies aren't looking at
each other's clothes to determine if they're zombies or not. It makes
sense for it to suppress scent though.
|
@DangerNoodle Sorry, I didn't see your post. |
My assumption was that morale penalties are not a significant reason to justify filthy clothing. This is another instance where I agree with points that @chaosvolt has brought up in the past, mainly that it does not contribute enough to balancing to actually deter players from using clothing scavenged from enemies.
No worries. |
On Jan 29, 2017 3:58 PM, "DangerNoodle" <notifications@github.com> wrote:
The morale issue isn't, "filthy clothes shouldn't cause a morale penalty",
it's, "intermittent morale impacting actions aren't as persistent as they
should be".
My assumption was that morale penalties are not a significant reason to
justify filthy clothing.
This reasoning is backwards, if we have a filthy attribute for any reason,
it should cause a morale penalty because that is the most obvious problem
it would cause. If morale, Infection chance, etc are not significant
enough to justify tracking filthiness, then it simply shouldn't be tracked.
|
Tested with debug traits. "Semi-ignore" turns into full ignore with no smell trait. Sound is irrelevant here, because player can stand still. |
I recommend you break this into several PRs, Infection chance and the
washing change can likely go in quickly and are the most important parts,
the stealth thing is very iffy, and I'm totally against removing the morale
penalty.
|
Ok, I'll do it. |
This affect attacks not only from zombies, but also from other non-zombie-monsters, NPCs and maybe even from other sources of damage, such as explosions (needs further testing to confirm this, though). |
After long time of absense, many thoughts and a lot of read discussions I decided to rework the filthiness system.
ZOMBIE
monster group. Wearing filthy clothes makes them to "semi-ignore" the player character. While zombies are far away from player character (but still in their field of view), they actually ignore him, but on small distances zombies will still be acting hostile.