EvEmu
0.8.4
11 September 2021
|
#include "RamMethods.h"
Public Member Functions | |
RamMethods.cpp | |
methods for R.A.M. activities : Allan
| |
void | ActivityCheck (Client *const pClient, const Call_InstallJob &args, BlueprintRef bpRef) |
void | JobsCheck (Character *pChar, const Call_InstallJob &args) |
void | InstallationCheck (Client *const pClient, int32 lineLocationID) |
void | LinePermissionCheck (Client *const pClient, const Call_InstallJob &args) |
void | ItemOwnerCheck (Client *const pClient, const Call_InstallJob &args, BlueprintRef bpRef) |
void | ItemLocationCheck (Client *const pClient, const Call_InstallJob &args, InventoryItemRef installedItem) |
void | HangarRolesCheck (Client *const pClient, int16 flagID) |
void | LocationRolesCheck (Client *const pClient, const CorpPathElement &data) |
void | ProductionTimeCheck (uint32 productionTime) |
void | MaterialSkillsCheck (Client *const pClient, uint32 runs, const PathElement &bomLocation, const Rsp_InstallJob &rsp, const std::vector< EvERam::RequiredItem > &reqItems) |
void | VerifyCompleteJob (const Call_CompleteJob &args, EvERam::JobProperties &data, Client *const pClient) |
bool | Calculate (const Call_InstallJob &args, BlueprintRef bpRef, Character *pChar, Rsp_InstallJob &into) |
void | EncodeBillOfMaterials (const std::vector< EvERam::RequiredItem > &reqItems, float materialMultiplier, float charMaterialMultiplier, uint32 runs, BillOfMaterials &into) |
void | EncodeMissingMaterials (const std::vector< EvERam::RequiredItem > &reqItems, const PathElement &bomLocation, Client *const pClient, float materialMultiplier, float charMaterialMultiplier, int32 runs, std::map< int32, PyRep * > &into) |
void | GetBOMItems (const PathElement &bomLocation, std::vector< InventoryItemRef > &into) |
void | GetBOMItemsMap (const PathElement &bomLocation, std::map< uint16, InventoryItemRef > &into) |
void | GetAdjustedRamRequiredMaterials () |
const char * | GetActivityName (int8 activityID) |
![]() | |
Singleton () | |
Primary constructor. More... | |
Additional Inherited Members | |
![]() | |
static RamMethods & | get () |
![]() | |
static std::shared_ptr < RamMethods > | mInstance |
Definition at line 19 of file RamMethods.h.
void RamMethods::ActivityCheck | ( | Client *const | pClient, |
const Call_InstallJob & | args, | ||
BlueprintRef | bpRef | ||
) |
Definition at line 39 of file RamMethods.cpp.
References EvERam::Activity::Copying, EvERam::Activity::Duplicating, RefPtr< X >::get(), Client::GetCharacterID(), Client::GetName(), FactoryDB::GetTech2Blueprint(), EvERam::Activity::Invention, FactoryDB::IsProducableBy(), EvERam::Activity::Manufacturing, EvERam::Activity::ResearchMaterial, EvERam::Activity::ResearchTech, EvERam::Activity::ResearchTime, EvERam::Activity::ReverseEngineering, and sLog.
bool RamMethods::Calculate | ( | const Call_InstallJob & | args, |
BlueprintRef | bpRef, | ||
Character * | pChar, | ||
Rsp_InstallJob & | into | ||
) |
Definition at line 403 of file RamMethods.cpp.
References EvESkill::AdvancedLaboratoryOperation, AttrCopySpeedPercent, AttrManufactureCostMultiplier, AttrManufacturingTimeResearchSpeed, AttrMineralNeedResearchSpeed, EvERam::Activity::Copying, EvEMath::RAM::CopyTime(), EvilNumber::get_float(), FactoryDB::GetAssemblyLineProperties(), InventoryItem::GetAttribute(), FactoryDB::GetMultipliers(), FactoryDB::GetNextFreeTime(), Character::GetSkillLevel(), EvESkill::Industry, EvERam::Activity::Invention, EvEMath::RAM::InventionTime(), EvERam::Activity::Manufacturing, EvE::max(), EvEMath::RAM::ME_ResearchTime(), EvESkill::Metallurgy, EvEMath::RAM::PE_ResearchTime(), EvEMath::RAM::ProductionTime(), EvESkill::Research, EvERam::Activity::ResearchMaterial, EvERam::Activity::ResearchTime, EvERam::Activity::ReverseEngineering, EvESkill::Science, and sConfig.
void RamMethods::EncodeBillOfMaterials | ( | const std::vector< EvERam::RequiredItem > & | reqItems, |
float | materialMultiplier, | ||
float | charMaterialMultiplier, | ||
uint32 | runs, | ||
BillOfMaterials & | into | ||
) |
Definition at line 488 of file RamMethods.cpp.
References PySafeDecRef.
void RamMethods::EncodeMissingMaterials | ( | const std::vector< EvERam::RequiredItem > & | reqItems, |
const PathElement & | bomLocation, | ||
Client *const | pClient, | ||
float | materialMultiplier, | ||
float | charMaterialMultiplier, | ||
int32 | runs, | ||
std::map< int32, PyRep * > & | into | ||
) |
Definition at line 531 of file RamMethods.cpp.
References AttrSkillLevel, flagSkill, GetBOMItems(), Client::GetChar(), Client::GetCharacterID(), Client::GetCorporationID(), Inventory::GetItemsByFlag(), InventoryItem::GetMyInventory(), items, and EvE::min().
const char * RamMethods::GetActivityName | ( | int8 | activityID | ) |
Definition at line 603 of file RamMethods.cpp.
References codelog, EvERam::Activity::Copying, EvERam::Activity::Duplicating, EvERam::Activity::Invention, EvERam::Activity::Manufacturing, EvERam::Activity::ResearchMaterial, EvERam::Activity::ResearchTech, EvERam::Activity::ResearchTime, and EvERam::Activity::ReverseEngineering.
void RamMethods::GetAdjustedRamRequiredMaterials | ( | ) |
Definition at line 597 of file RamMethods.cpp.
void RamMethods::GetBOMItems | ( | const PathElement & | bomLocation, |
std::vector< InventoryItemRef > & | into | ||
) |
Definition at line 574 of file RamMethods.cpp.
References Inventory::GetItemsByFlag(), inventory(), and sItemFactory.
Referenced by EncodeMissingMaterials().
void RamMethods::GetBOMItemsMap | ( | const PathElement & | bomLocation, |
std::map< uint16, InventoryItemRef > & | into | ||
) |
Definition at line 581 of file RamMethods.cpp.
References Inventory::GetTypesByFlag(), inventory(), and sItemFactory.
Referenced by MaterialSkillsCheck().
Definition at line 291 of file RamMethods.cpp.
References flagCorpHangar2, flagCorpHangar3, flagCorpHangar4, flagCorpHangar5, flagCorpHangar6, flagCorpHangar7, flagHangar, Client::GetCorpRole(), Corp::Role::HangarCanTake1, Corp::Role::HangarCanTake2, Corp::Role::HangarCanTake3, Corp::Role::HangarCanTake4, Corp::Role::HangarCanTake5, Corp::Role::HangarCanTake6, and Corp::Role::HangarCanTake7.
Definition at line 123 of file RamMethods.cpp.
References Client::GetRegionID(), IsRegionID, and sDataMgr.
void RamMethods::ItemLocationCheck | ( | Client *const | pClient, |
const Call_InstallJob & | args, | ||
InventoryItemRef | installedItem | ||
) |
Definition at line 234 of file RamMethods.cpp.
References UserError::AddLocationName(), InventoryItem::flag(), flagCargoHold, flagHangar, flagPilot, Client::GetChar(), Client::GetLocationID(), Client::GetShipID(), IsHangarFlag, InventoryItem::locationID(), and sDataMgr.
void RamMethods::ItemOwnerCheck | ( | Client *const | pClient, |
const Call_InstallJob & | args, | ||
BlueprintRef | bpRef | ||
) |
Definition at line 221 of file RamMethods.cpp.
References Client::GetCharacterID(), and Client::GetCorporationID().
void RamMethods::JobsCheck | ( | Character * | pChar, |
const Call_InstallJob & | args | ||
) |
Definition at line 98 of file RamMethods.cpp.
References UserError::AddAmount(), EvESkill::AdvancedLaboratoryOperation, EvESkill::AdvancedMassProduction, AttrManufactureSlotLimit, AttrMaxLaborotorySlots, FactoryDB::CountManufacturingJobs(), FactoryDB::CountResearchJobs(), EvilNumber::get_int(), InventoryItem::GetAttribute(), Character::GetSkillLevel(), InventoryItem::itemID(), EvESkill::LaboratoryOperation, EvERam::Activity::Manufacturing, and EvESkill::MassProduction.
void RamMethods::LinePermissionCheck | ( | Client *const | pClient, |
const Call_InstallJob & | args | ||
) |
Definition at line 153 of file RamMethods.cpp.
References EvERam::LineRestrictions::activityID, EvERam::RestrictionMask::ByAlliance, EvERam::RestrictionMask::ByCorp, EvERam::RestrictionMask::BySecurity, EvERam::RestrictionMask::ByStanding, Corp::Role::CanRentFactorySlot, Corp::Role::CanRentResearchSlot, Character::corpSecRating(), Corp::Role::Director, Corp::Role::FactoryManager, Client::GetAllianceID(), FactoryDB::GetAssemblyLineRestrictions(), Client::GetChar(), Client::GetCorporationID(), Client::GetCorpRole(), Client::GetSecurityRating(), StandingDB::GetStanding(), Character::GetStandingModified(), EvERam::Activity::Invention, EvERam::Activity::Manufacturing, EvERam::LineRestrictions::maxCharSec, EvERam::LineRestrictions::maxCorpSec, EvERam::LineRestrictions::minCharSec, EvERam::LineRestrictions::minCorpSec, EvERam::LineRestrictions::minStanding, EvERam::LineRestrictions::ownerID, and EvERam::LineRestrictions::rMask.
void RamMethods::LocationRolesCheck | ( | Client *const | pClient, |
const CorpPathElement & | data | ||
) |
Definition at line 326 of file RamMethods.cpp.
References Client::GetCorpHQ(), Client::GetRolesAtHQ(), and STATION_OFFICE_OFFSET.
void RamMethods::MaterialSkillsCheck | ( | Client *const | pClient, |
uint32 | runs, | ||
const PathElement & | bomLocation, | ||
const Rsp_InstallJob & | rsp, | ||
const std::vector< EvERam::RequiredItem > & | reqItems | ||
) |
Definition at line 341 of file RamMethods.cpp.
References UserError::AddFormatValue(), GetBOMItemsMap(), Client::GetChar(), Character::GetSkillLevel(), and items.
void RamMethods::ProductionTimeCheck | ( | uint32 | productionTime | ) |
Definition at line 373 of file RamMethods.cpp.
References UserError::AddFormatValue(), and RAM_PRODUCTION_TIME_LIMIT.
void RamMethods::VerifyCompleteJob | ( | const Call_CompleteJob & | args, |
EvERam::JobProperties & | data, | ||
Client *const | pClient | ||
) |
Definition at line 381 of file RamMethods.cpp.
References EvERam::JobProperties::endTime, Corp::Role::FactoryManager, InventoryItem::flag(), flagPilot, Client::GetChar(), Client::GetCorporationID(), Client::GetCorpRole(), GetFileTimeNow(), Client::GetShipID(), EvERam::Status::InProgress, IsCorp, EvERam::JobProperties::ownerID, and EvERam::JobProperties::status.