73 _log(SE__DEBUG,
"Created SE for item %s (%u) with radius of %.1f.", self->name(),
self->itemID(),
m_radius);
88 DoDestinyDamageState3 ddds;
94 DoDestinyDamageState ddds;
101 into.recharge = 110000;
163 DamageDetails dmgState;
169 OnDamageStateChange dmgChange;
171 dmgChange.state = dmgState.Encode();
172 PyTuple *up = dmgChange.Encode();
176 _log(DAMAGE__MESSAGE,
"%s(%u): DamageUpdate - S:%f A:%f H:%f.", \
182 std::vector<LootList> lootList;
183 sDataMgr.GetLoot(groupID, lootList);
184 if (lootList.empty())
188 std::vector<LootList>::iterator cur = lootList.begin();
189 while (cur != lootList.end()) {
190 if (cur->minDrop == cur->maxDrop) {
191 quantity = cur->minDrop;
214 double secAward = (((10 - oldSec) * killBonus) + oldSec) / 100;
216 if (killBonus and secAward) {
217 secAward *=
sConfig.rates.secRate;
218 sLog.Magenta(
"SE::AwardSecurityStatus()",
" %s(%u): killBonus: %f. oldSec: %f. secAward: %f.",
221 std::string msg =
"Status Change for killing";
228 msg +=
" pirates in ";
274 slim->SetItemString(
"nameID",
PyStatic.NewNone());
275 slim->SetItemString(
"ownerID",
PyStatic.NewOne());
309 _log(DESTINY__BUBBLE_DEBUG,
"BeltSE::LoadExtras() - IsBelt set to true for bubble %u.",
m_bubble->
GetID() );
327 _log(DESTINY__BUBBLE_DEBUG,
"StargateSE::LoadExtras() - IsGate set to true for bubble %u.",
m_bubble->
GetID() );
329 if (m_jumps !=
nullptr)
347 slim->SetItemString(
"ownerID",
PyStatic.NewOne());
350 slim->SetItemString(
"nameID",
PyStatic.NewNone());
372 slim->SetItemString(
"dunSkillLevel",
PyStatic.NewNone());
373 slim->SetItemString(
"dunSkillTypeID",
PyStatic.NewNone());
374 slim->SetItemString(
"dunObjectID",
new PyInt(160449));
375 slim->SetItemString(
"dunToGateID",
new PyInt(160484));
376 slim->SetItemString(
"dunCloaked",
new PyBool(0));
377 slim->SetItemString(
"dunScenarioID",
new PyInt(23));
378 slim->SetItemString(
"dunSpawnID",
new PyInt(1572));
379 slim->SetItemString(
"dunAmount",
new PyFloat(0.0));
387 slim->SetItemString(
"dunShipClasses", classList);
392 slim->SetItemString(
"dunDirection", dirList);
393 slim->SetItemString(
"dunKeyLock",
PyStatic.NewNone());
394 slim->SetItemString(
"dunWipeNPC",
new PyBool(0));
395 slim->SetItemString(
"dunKeyQuantity",
PyStatic.NewOne());
398 slim->SetItemString(
"dunRoomName",
new PyString(
"Lobby"));
399 slim->SetItemString(
"dunMusicUrl",
new PyString(
"res:/Sound/Music/Ambient031combat.ogg"));
467 mass.
mass = 10000000000;
562 DamageDetails dmgState;
568 OnDamageStateChange dmgChange;
570 dmgChange.state = dmgState.Encode();
571 PyTuple *up = dmgChange.Encode();
582 if (
GetCOSE()->GetPlanetID() > 0) {
689 DamageDetails dmgState;
695 OnDamageStateChange dmgChange;
697 dmgChange.state = dmgState.Encode();
698 PyTuple *up = dmgChange.Encode();
706 bounty *=
sConfig.rates.npcBountyMultiply;
713 std::string reason =
"Bounty for killing a pirate in ";
727 std::vector< uint32 > members;
728 sFltSvc.GetFleetMembersOnGrid(pClient, members);
730 bounty /= members.size();
732 if (
sConfig.server.BountyPayoutDelayed and
sConfig.server.FleetShareDelayed) {
733 for (
auto cur :members)
736 reason +=
" (FleetShare) ";
740 for (
auto cur :members)
745 if (
sConfig.server.BountyPayoutDelayed) {
void Append(const T &value)
Appends a single value to buffer.
#define sConfig
A macro for easier access to the singleton.
void QueueUpdate(PyTuple **up) const
SystemEntity * GetSE(uint32 entityID) const
float GetSecurityRating() const
StaticSystemEntity(InventoryItemRef self, PyServiceMgr &services, SystemManager *system)
#define _log(type, fmt,...)
DestinyManager * m_destiny
virtual void EncodeDestiny(Buffer &into)
void ClearAllTargets(bool notify=true)
virtual void Killed(Damage &fatal_blow)
bool HasAttribute(const uint16 attrID) const
virtual void AddItem(InventoryItemRef iRef)
virtual PlanetSE * GetPlanetSE()
virtual PyRep * Clone() const =0
Clones object.
void SetCustomsOffice(CustomsSE *pSE)
virtual ~ObjectSystemEntity()
virtual void EncodeDestiny(Buffer &into)
static PyObject * ListJumps(uint32)
Python floating point number.
const GVector & GetVelocity() const
int32 GetCharacterID() const
const std::string & GetNameStr() const
virtual CustomsSE * GetCOSE()
virtual PyDict * MakeSlimItem()
this is a class that kinda mimics how python polymorph's numbers.
virtual bool LoadExtras()
const GPoint & GetPosition() const
void SafeDelete(T *&p)
Deletes and nullifies a pointer.
virtual void Killed(Damage &fatal_blow)
TargetManager * m_targMgr
virtual PyDict * MakeSlimItem()
virtual PyDict * MakeSlimItem()
#define sLog
Evaluates to a NewLog instance.
virtual PyDict * MakeSlimItem()
virtual void EncodeDestiny(Buffer &into)
Generic class for buffers.
void SetGate(uint32 gateID)
PyTuple * MakeDamageState()
virtual ~DynamicSystemEntity()
void AddBounty(uint32 charID, BountyData &data)
virtual void EncodeDestiny(Buffer &into)
virtual bool IsContainerSE()
void RemoveEntity(SystemEntity *pSE)
void SetBelt(InventoryItemRef itemRef)
static void TranserFunds(uint32 fromID, uint32 toID, double amount, std::string reason="", uint8 entryTypeID=Journal::EntryType::Undefined, uint32 referenceID=0, uint16 fromKey=Account::KeyType::Cash, uint16 toKey=Account::KeyType::Cash, Client *pClient=nullptr)
virtual void UpdateDamage()
BeltSE(InventoryItemRef self, PyServiceMgr &services, SystemManager *system)
SystemEntity(InventoryItemRef self, PyServiceMgr &services, SystemManager *system)
const char * GetName() const
void ChangeOwner(uint32 new_owner, bool notify=false)
const char * GetName() const
virtual PyDict * MakeSlimItem()
virtual void UpdateDamage()
virtual void EncodeDestiny(Buffer &into)
virtual void EncodeDestiny(Buffer &into)
void AwardBounty(Client *pClient)
int64 MakeRandomInt(int64 low, int64 high)
Generates random integer from interval [low; high].
const std::string & itemName() const
int main(int argc, char *argv[])
virtual PyDict * MakeSlimItem()
void SendDamageStateChanged()
void DropLoot(WreckContainerRef wreckRef, uint32 groupID, uint32 owner)
EvilNumber GetAttribute(const uint16 attrID) const
virtual void UpdateDamage()
#define IsFaction(itemID)
void AwardSecurityStatus(InventoryItemRef iRef, Character *pChar)
int8 GetSkillLevel(uint16 skillTypeID, bool zeroForNotInjected=true) const
void secStatusChange(float amount)
virtual bool LoadExtras()
#define IsAlliance(itemID)
DynamicSystemEntity(InventoryItemRef self, PyServiceMgr &services, SystemManager *system)
GaExpInl GaFloat distance(const GaVec3 &oth) const
StargateSE(InventoryItemRef self, PyServiceMgr &services, SystemManager *system)
virtual bool LoadExtras()
std::string GetSystemName() const
ItemSystemEntity(InventoryItemRef self, PyServiceMgr &services, SystemManager *system)
ObjectSystemEntity(InventoryItemRef self, PyServiceMgr &services, SystemManager *system)
virtual Client * GetPilot()
virtual PyDict * MakeSlimItem()
double DistanceTo2(const SystemEntity *other)
FieldSE(InventoryItemRef self, PyServiceMgr &services, SystemManager *system, const FactionData &data)
DeployableSE(InventoryItemRef self, PyServiceMgr &services, SystemManager *system, const FactionData &data)