mirror of
https://github.com/SunsetMkt/Akebi-GC.git
synced 2025-09-19 20:16:01 +08:00
Disabled vacuum for mineral chunks
+ some cleanup
This commit is contained in:
@ -66,6 +66,8 @@ namespace cheat::feature
|
|||||||
|
|
||||||
bool VacuumLoot::IsEntityForVac(game::Entity* entity)
|
bool VacuumLoot::IsEntityForVac(game::Entity* entity)
|
||||||
{
|
{
|
||||||
|
// Go through all sections. For each section, go through all filters.
|
||||||
|
// If a filter matches the given entity and that filter is enabled, return true.
|
||||||
bool entityValid = std::any_of(m_Sections.begin(), m_Sections.end(),
|
bool entityValid = std::any_of(m_Sections.begin(), m_Sections.end(),
|
||||||
[entity](std::pair<std::string, Filters> const& section) {
|
[entity](std::pair<std::string, Filters> const& section) {
|
||||||
return std::any_of(section.second.begin(), section.second.end(), [entity](const FilterInfo& filterInfo) {
|
return std::any_of(section.second.begin(), section.second.end(), [entity](const FilterInfo& filterInfo) {
|
||||||
@ -102,16 +104,6 @@ namespace cheat::feature
|
|||||||
nextTime = currentTime + f_DelayTime.value();
|
nextTime = currentTime + f_DelayTime.value();
|
||||||
}
|
}
|
||||||
|
|
||||||
void VacuumLoot::AddFilter(const std::string& section, const std::string& name, game::IEntityFilter* filter)
|
|
||||||
{
|
|
||||||
if (m_Sections.count(section) == 0)
|
|
||||||
m_Sections[section] = {};
|
|
||||||
|
|
||||||
auto& filters = m_Sections[section];
|
|
||||||
bool newItem(filter);
|
|
||||||
filters.push_back({ config::CreateField<bool>(name,name,fmt::format("VacuumLoot::Filters::{}", section),false, newItem) , filter });
|
|
||||||
}
|
|
||||||
|
|
||||||
void VacuumLoot::DrawSection(const std::string& section, const Filters& filters)
|
void VacuumLoot::DrawSection(const std::string& section, const Filters& filters)
|
||||||
{
|
{
|
||||||
bool checked = std::all_of(filters.begin(), filters.end(), [](const FilterInfo& filter) { return filter.first; });
|
bool checked = std::all_of(filters.begin(), filters.end(), [](const FilterInfo& filter) { return filter.first; });
|
||||||
@ -157,6 +149,16 @@ namespace cheat::feature
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void VacuumLoot::AddFilter(const std::string& section, const std::string& name, game::IEntityFilter* filter)
|
||||||
|
{
|
||||||
|
if (m_Sections.count(section) == 0)
|
||||||
|
m_Sections[section] = {};
|
||||||
|
|
||||||
|
auto& filters = m_Sections[section];
|
||||||
|
bool newItem(filter);
|
||||||
|
filters.push_back({ config::CreateField<bool>(name,name,fmt::format("VacuumLoot::Filters::{}", section),false, newItem) , filter });
|
||||||
|
}
|
||||||
|
|
||||||
#define ADD_FILTER_FIELD(section, name) AddFilter(util::MakeCapital(#section), util::SplitWords(#name), &game::filters::##section##::##name##)
|
#define ADD_FILTER_FIELD(section, name) AddFilter(util::MakeCapital(#section), util::SplitWords(#name), &game::filters::##section##::##name##)
|
||||||
void VacuumLoot::InstallFilters()
|
void VacuumLoot::InstallFilters()
|
||||||
{
|
{
|
||||||
@ -164,19 +166,19 @@ namespace cheat::feature
|
|||||||
|
|
||||||
ADD_FILTER_FIELD(featured, ItemDrops);
|
ADD_FILTER_FIELD(featured, ItemDrops);
|
||||||
|
|
||||||
ADD_FILTER_FIELD(mineral, AmethystLump);
|
// ADD_FILTER_FIELD(mineral, AmethystLump);
|
||||||
ADD_FILTER_FIELD(mineral, ArchaicStone);
|
// ADD_FILTER_FIELD(mineral, ArchaicStone);
|
||||||
ADD_FILTER_FIELD(mineral, CorLapis);
|
// ADD_FILTER_FIELD(mineral, CorLapis);
|
||||||
ADD_FILTER_FIELD(mineral, CrystalChunk);
|
// ADD_FILTER_FIELD(mineral, CrystalChunk);
|
||||||
ADD_FILTER_FIELD(mineral, CrystalMarrow);
|
// ADD_FILTER_FIELD(mineral, CrystalMarrow);
|
||||||
ADD_FILTER_FIELD(mineral, ElectroCrystal);
|
// ADD_FILTER_FIELD(mineral, ElectroCrystal);
|
||||||
ADD_FILTER_FIELD(mineral, IronChunk);
|
// ADD_FILTER_FIELD(mineral, IronChunk);
|
||||||
ADD_FILTER_FIELD(mineral, NoctilucousJade);
|
// ADD_FILTER_FIELD(mineral, NoctilucousJade);
|
||||||
ADD_FILTER_FIELD(mineral, MagicalCrystalChunk);
|
// ADD_FILTER_FIELD(mineral, MagicalCrystalChunk);
|
||||||
ADD_FILTER_FIELD(mineral, ScarletQuartz);
|
// ADD_FILTER_FIELD(mineral, ScarletQuartz);
|
||||||
ADD_FILTER_FIELD(mineral, Starsilver);
|
// ADD_FILTER_FIELD(mineral, Starsilver);
|
||||||
ADD_FILTER_FIELD(mineral, WhiteIronChunk);
|
// ADD_FILTER_FIELD(mineral, WhiteIronChunk);
|
||||||
ADD_FILTER_FIELD(mineral, DunlinsTooth);
|
// ADD_FILTER_FIELD(mineral, DunlinsTooth);
|
||||||
|
|
||||||
// Ores that drops as a loot when destroyed
|
// Ores that drops as a loot when destroyed
|
||||||
ADD_FILTER_FIELD(mineral, AmethystLumpDrop);
|
ADD_FILTER_FIELD(mineral, AmethystLumpDrop);
|
||||||
|
Reference in New Issue
Block a user