diff --git a/data/json/game_balance.json b/data/json/game_balance.json index aaf234af00abe..8b80b24ddb6ed 100644 --- a/data/json/game_balance.json +++ b/data/json/game_balance.json @@ -90,31 +90,38 @@ "stype": "bool", "value": false }, + { + "type": "EXTERNAL_OPTION", + "name": "FILTHY_CLOTHES", + "info": "If true, zombies will drop filthy clothing.", + "stype": "bool", + "value": true + }, { "type": "EXTERNAL_OPTION", "name": "FILTHY_MORALE", - "info": "Morale penalty for filthy clothing. If true, wearing filthy clothing will cause morale penalties.", + "info": "Morale penalty for filthy clothing. If true, wearing filthy clothing will cause morale penalties. Doesn't make sense if FILTHY_CLOTHES option is false.", "stype": "bool", - "value": false + "value": true }, { "type": "EXTERNAL_OPTION", - "name": "MANUAL_BIONIC_INSTALLATION", - "info": "Permits manual self-installation of bionics.", + "name": "FILTHY_WOUNDS", + "info": "Infected wounds from filthy clothing. If true, getting hit in a body part covered in filthy clothing may cause infections. Doesn't make sense if FILTHY_CLOTHES option is false.", "stype": "bool", - "value": false + "value": true }, { "type": "EXTERNAL_OPTION", - "name": "SAFE_AUTODOC", - "info": "Makes autodoc operations completely safe, independent of the players skill.", + "name": "MANUAL_BIONIC_INSTALLATION", + "info": "Permits manual self-installation of bionics.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", - "name": "FILTHY_WOUNDS", - "info": "Infected wounds from filthy clothing. If true, getting hit in a body part covered in filthy clothing may cause infections.", + "name": "SAFE_AUTODOC", + "info": "Makes autodoc operations completely safe, independent of the players skill.", "stype": "bool", "value": false }, diff --git a/data/mods/Filthy_Morale/modinfo.json b/data/mods/Filthy_Morale/modinfo.json index d3321ea136c68..83a0d88bdff03 100644 --- a/data/mods/Filthy_Morale/modinfo.json +++ b/data/mods/Filthy_Morale/modinfo.json @@ -5,20 +5,7 @@ "name": "Filthy Clothing", "description": "Worn dirty clothing (dropped by zombies) will cause morale penalties and, if hit in combat, infections.", "category": "rebalance", - "dependencies": [ "dda" ] - }, - { - "type": "EXTERNAL_OPTION", - "name": "FILTHY_MORALE", - "info": "Morale penalty for filthy clothing. If true, wearing filthy clothing will cause morale penalties.", - "stype": "bool", - "value": true - }, - { - "type": "EXTERNAL_OPTION", - "name": "FILTHY_WOUNDS", - "info": "Infected wounds from filthy clothing. If true, getting hit in a body part covered in filthy clothing may cause infections.", - "stype": "bool", - "value": true + "dependencies": [ "dda" ], + "obsolete": true } ] diff --git a/data/mods/No_Filthy_Clothes/modinfo.json b/data/mods/No_Filthy_Clothes/modinfo.json new file mode 100644 index 0000000000000..3269fe5e3704f --- /dev/null +++ b/data/mods/No_Filthy_Clothes/modinfo.json @@ -0,0 +1,31 @@ +[ + { + "type": "MOD_INFO", + "ident": "no_filthy_clothing", + "name": "No Filthy Clothing", + "description": "Clothes dropped by zombies will be completely clean.", + "category": "rebalance", + "dependencies": [ "dda" ] + }, + { + "type": "EXTERNAL_OPTION", + "name": "FILTHY_CLOTHES", + "info": "If true, zombies will drop filthy clothing.", + "stype": "bool", + "value": false + }, + { + "type": "EXTERNAL_OPTION", + "name": "FILTHY_MORALE", + "info": "Morale penalty for filthy clothing. If true, wearing filthy clothing will cause morale penalties. Doesn't make sense if FILTHY_CLOTHES option is false.", + "stype": "bool", + "value": false + }, + { + "type": "EXTERNAL_OPTION", + "name": "FILTHY_WOUNDS", + "info": "Infected wounds from filthy clothing. If true, getting hit in a body part covered in filthy clothing may cause infections. Doesn't make sense if FILTHY_CLOTHES option is false.", + "stype": "bool", + "value": false + } +] diff --git a/data/mods/default.json b/data/mods/default.json index 51a3b5bdb977f..5a5822a59a726 100644 --- a/data/mods/default.json +++ b/data/mods/default.json @@ -3,5 +3,5 @@ "ident": "dev:default", "name": "default", "description": "contains all the mods recommended by the developers", - "dependencies": [ "dda", "no_npc_food", "filthy_morale" ] + "dependencies": [ "dda", "no_npc_food" ] } diff --git a/src/monster.cpp b/src/monster.cpp index 607826c93fcc8..63084fc008ee9 100644 --- a/src/monster.cpp +++ b/src/monster.cpp @@ -2049,7 +2049,7 @@ void monster::drop_items_on_death() } const auto dropped = g->m.put_items_from_loc( type->death_drops, pos(), calendar::start ); - if( has_flag( MF_FILTHY ) ) { + if( has_flag( MF_FILTHY ) && get_option( "FILTHY_CLOTHES" ) ) { for( const auto &it : dropped ) { if( it->is_armor() ) { it->item_tags.insert( "FILTHY" );