27 #ifndef __SHIP__H__INCL__
28 #define __SHIP__H__INCL__
142 void RepairModules(std::vector<InventoryItemRef>& itemRefVec,
float fraction);
212 virtual bool _Load();
335 void Jump(
bool showCloak=
true);
#define sConfig
A macro for easier access to the singleton.
PyRep * ModuleRepair(uint32 modID)
void StopModuleRepair(uint32 modID)
EvilNumber GetShipArmorPercent()
bool ValidateItemSpecifics(InventoryItemRef iRef)
static ShipItemRef Spawn(ItemData &data)
void UnloadModule(uint32 itemID)
void HeatDamageCheck(GenericModule *pMod)
virtual ShipSE * GetShipSE()
void DeOverload(uint32 itemID)
void DamageModule(uint32 modID, float amt=1)
#define _log(type, fmt,...)
void ScoopDrone(SystemEntity *pSE)
void Deactivate(int32 itemID, std::string effectName)
void GetModuleItemVec(std::vector< InventoryItemRef > &iRefVec)
void Online(uint32 modID)
virtual void AddItem(InventoryItemRef iRef)
ModuleManager * GetModuleManager()
uint8 GetLoadedLinkedCount(GenericModule *pMod)
void VerifyHoldType(EVEItemFlags flag, InventoryItemRef iRef, Client *pClient=nullptr)
ShipItemRef GetShipItemRef()
InventoryItemRef GetTargetRef()
void UnloadModule(uint32 itemID)
uint32 UnlinkWeapon(uint32 moduleID)
std::vector< uint32 > m_onlineModuleVec
bool ValidateBoardShip(CharacterRef who)
void CancelOverloading(uint32 itemID)
this is a class that kinda mimics how python polymorph's numbers.
void LoadLinkedWeapons(GenericModule *pMod, std::vector< int32 > &chargeIDs)
void Overload(uint32 itemID)
virtual ShipItem * GetShipItem()
void UpdateDrones(std::map< int16, int8 > &attribs)
virtual void MissileLaunched(Missile *pMissile)
void SetFleetSMBUsage(bool set=false)
ModuleManager * m_ModuleManager
const ItemType & type() const
std::map< GenericModule *, std::list< GenericModule * > > m_linkedWeapons
PyRep * GetLinkedWeapons()
Generic class for buffers.
GenericModule * GetModule(EVEItemFlags flag)
static ShipItemRef Load(uint32 shipID)
EvilNumber GetShipShieldPercent()
void SetShipHull(float fraction)
ShipItem(uint32 shipID, const ItemType &type, const ItemData &data)
PyRep * ModuleRepair(uint32 modID)
void ProcessEffects(bool add=false, bool update=false)
PyTuple * MakeDamageState()
void OfflineGroup(GenericModule *pMod)
void PeelAndLink(uint32 masterID, uint32 slaveID)
void ReplaceCharges(EVEItemFlags flag, InventoryItemRef newCharge)
float CalculateRechargeRate(float Capacity, float RechargeTimeMS, float Current)
void SetShipCapacitorLevel(float fraction)
float DissipateHeat(uint16 attrID, float heat)
void SetLauncherID(uint32 shipID)
virtual Client * GetPilot()
void LoadChargesToBank(EVEItemFlags flag, std::vector< int32 > &chargeIDs)
void RepairShip(float fraction)
void SetUndocking(bool set=false)
void SetBoost(bool set=false)
void Activate(int32 itemID, std::string effectName, int32 targetID, int32 repeat)
void GetLinkedWeaponMods(EVEItemFlags flag, std::vector< GenericModule * > &modules)
void StopModuleRepair(uint32 modID)
float GenerateHeat(uint16 attrID)
void LinkWeaponLoop(std::list< GenericModule * > &moduleVec)
void AddModuleToOnlineVec(uint32 modID)
static RefPtr< _Ty > _LoadItem(uint32 shipID, const ItemType &type, const ItemData &data)
void DamageModule(uint32 modID)
EvilNumber GetShipPGPercent()
EVEItemFlags flag() const
InventoryItemRef GetModuleRef(EVEItemFlags flag)
std::map< uint32, InventoryItem * > m_drones
void ApplyBoost(BoostData &bData)
void Deactivate(uint32 itemID, std::string effectName)
void TryModuleLimitChecks(EVEItemFlags flag, InventoryItemRef iRef)
void RemoveTarget(SystemEntity *pSE)
RefPtr< InventoryItem > InventoryItemRef
virtual bool IsShipItem()
bool LaunchDrone(InventoryItemRef dRef)
void ProcessShipEffects(bool update=false)
RefPtr< ShipItem > ShipItemRef
float GetShipCapacitorLevel()
GenericModule * GetModule(EVEItemFlags flag)
virtual void EncodeDestiny(Buffer &into)
ShipSE(InventoryItemRef self, PyServiceMgr &services, SystemManager *pSystem, const FactionData &data)
void ResetShipSystemMgr(SystemManager *pSystem)
void SetShipArmor(float fraction)
void SetPassword(std::string pass)
virtual Client * GetPilot()
EvilNumber GetAttribute(const uint16 attrID) const
virtual void SetPlayer(Client *pClient)
EvilNumber GetShipCPUPercent()
virtual void RemoveItem(InventoryItemRef iRef)
void DamageGroup(GenericModule *pMod)
virtual void SetPilot(Client *pClient)
virtual void Killed(Damage &fatal_blow)
EvilNumber GetShipCapacitorPercent()
void DamageRandModule(float chance)
PyDict * GetChargeState()
void SetPopped(bool set=false)
static uint32 CreateItemID(ItemData &data)
void CharacterBoardingShip()
void RemoveCharge(EVEItemFlags fromFlag)
bool m_allowFleetSMBUsage
void ClearModuleModifiers()
uint32 AddItemByFlag(EVEItemFlags flag, InventoryItemRef iRef, Client *pClient=nullptr)
EVEItemFlags FindAvailableModuleSlot(InventoryItemRef iRef)
void UnloadModule(GenericModule *pMod)
void CharacterBoardingShip()
uint8 GetMiningBoostAmount()
void Overload(uint32 itemID)
float GetRemainingVolumeByFlag(EVEItemFlags flag) const
void Offline(uint32 modID)
void GetModuleRefVec(std::vector< InventoryItemRef > &iRefVec)
void SetShipShield(float fraction)
void MergeModuleGroups(uint32 masterID, uint32 slaveID)
void DamageModule(uint32 itemID, float amount)
EvilNumber GetShipHullPercent()
virtual PyDict * MakeSlimItem()
PyList * ShipGetModuleList()
void LoadCharge(InventoryItemRef cRef, EVEItemFlags flag)
InventoryItemRef m_targetRef
const uint32 m_processTimerTick
void MoveModuleSlot(EVEItemFlags slot1, EVEItemFlags slot2)
void UnlinkGroup(uint32 memberID, bool update=false)
void Jump(bool showCloak=true)
void LinkWeapon(uint32 masterID, uint32 slaveID)
void RemoveRig(InventoryItemRef iRef)
uint8 GetLinkedCount(GenericModule *pMod)