📄 spellpickups.cpp
字号:
// ----------------------------------------------------------------------- //
//
// MODULE : SpellPickups.cpp
//
// PURPOSE : Blood2 Ammunition pickups - implementation
//
// CREATED : 12/11/97
//
// ----------------------------------------------------------------------- //
#include "SpellPickups.h"
#include "cpp_server_de.h"
#include "SharedDefs.h"
#include "generic_msg_de.h"
// *********************************************************************** //
//
// CLASS: SpellPickup
//
// PURPOSE: Base Spell pickup item
//
// *********************************************************************** //
BEGIN_CLASS(SpellPickup)
END_CLASS_DEFAULT(SpellPickup, PickupObject, NULL, NULL)
// ----------------------------------------------------------------------- //
//
// ROUTINE: SpellPickup::EngineMessageFn
//
// PURPOSE: Handle engine messages
//
// ----------------------------------------------------------------------- //
DDWORD SpellPickup::EngineMessageFn(DDWORD messageID, void *pData, DFLOAT lData)
{
CServerDE* pServerDE = GetServerDE();
if (!pServerDE) return DFALSE;
switch(messageID)
{
case MID_POSTPROPREAD:
{
ObjectCreateStruct *pStruct = (ObjectCreateStruct*)pData;
// Set the model filename
_mbscpy((unsigned char*)pStruct->m_Filename, (const unsigned char*)"Models/Powerups/");
_mbscat((unsigned char*)pStruct->m_Filename, (const unsigned char*)m_szFile);
_mbscat((unsigned char*)pStruct->m_Filename, (const unsigned char*)".abc");
// Set the skin filename
_mbscpy((unsigned char*)pStruct->m_SkinName, (const unsigned char*)"Skins/Powerups/");
_mbscat((unsigned char*)pStruct->m_SkinName, (const unsigned char*)m_szFile);
_mbscat((unsigned char*)pStruct->m_SkinName, (const unsigned char*)".dtx");
break;
}
case MID_INITIALUPDATE:
{
DVector vDims;
VEC_SET(vDims, 20.0f, 25.0f, 10.0f);
pServerDE->SetObjectDims(m_hObject, &vDims);
}
default : break;
}
return PickupObject::EngineMessageFn(messageID, pData, lData);
}
// ----------------------------------------------------------------------- //
//
// ROUTINE: SpellPickup::ObjectTouch
//
// PURPOSE: handles an object touch
//
// ----------------------------------------------------------------------- //
void SpellPickup::ObjectTouch(HOBJECT hObject)
{
CServerDE* pServerDE = GetServerDE();
if (!pServerDE) return;
HMESSAGEWRITE hMessage = pServerDE->StartMessageToObject(this, hObject, MID_ADDAMMO);
pServerDE->WriteToMessageByte(hMessage, (DBYTE)m_nSpellType);
pServerDE->EndMessage(hMessage);
}
/*
// *********************************************************************** //
//
// CLASS: BulletAmmoPU
//
// PURPOSE: Bullet
//
// *********************************************************************** //
BEGIN_CLASS(BulletAmmoPU)
ADD_LONGINTPROP( Count, 100 )
END_CLASS_DEFAULT(BulletAmmoPU, AmmoPickup, NULL, NULL)
// Constructor
BulletAmmoPU::BulletAmmoPU() : AmmoPickup()
{
m_nAmmoType = AMMO_BULLET;
m_fAmmoCount = 100.0f;
m_szFile = "BulletAmmo_pu";
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -