Files
Leviathan/Server/GameServer/Game/GameProc.h
T
2026-06-01 12:46:52 +02:00

81 lines
2.9 KiB
C

#pragma once
// 대개의 게임 오퍼레이션을 행한다.
// 락은 일어나지 않는다. 미리 해둘것.
// 테이밍 세팅
bool SetTamer( struct StructMonster *pMonster, struct StructPlayer *pPlayer, struct StructSkill *pSkill );
// 테이밍 풀림
void ClearTamer( struct StructMonster *pMonster, bool bBroadcastMsg = true );
// 테이밍
bool ProcTame( struct StructMonster *pMonster );
// 스킬카드 강화
bool EnhanceSkillCard( struct StructPlayer *pPlayer, struct StructItem *pCube, struct StructItem *pSkillCard1, struct StructItem *pSkillCard2 );
// 아이템 카드화
bool TransformToCard( StructPlayer *pPlayer, StructItem *pItem, StructItem *pCard, bool bIsTransformToCard );
// Monster drops an item into the world
void MonsterDropItemToWorld( struct StructCreature *pCreature, struct StructItem * pItem );
// 월드에 아이템을 떨어트림
void AddItemToWorld( struct StructItem * pItem );
// 월드에 필드프랍을 생성
void AddFieldPropToWorld( struct StructFieldProp * pProp );
// 월드에서 아이템을 제거함(ItemCollector::onProcess 에서 삭제처리 중인 아이템이면 실패함)
const bool RemoveItemFromWorld( struct StructItem * pItem );
// 월드에서 Player를 제거
void RemovePlayerFromWorld( struct StructPlayer * pPlayer );
// 월드에 몬스터를 추가
void AddMonsterToWorld( struct StructMonster * pMob );
// 월드에서 몬스터를 제거
void RemoveMonsterFromWorld( struct StructMonster * pMob );
// 월드에 NPC를 추가
void AddNPCToWorld( struct StructNPC * pMob );
// 현재 추가중인 NPC
struct StructNPC * GetCurrentInitializingNPC();
// 월드에서 NPC를 제거
void RemoveNPCFromWorld( struct StructNPC * pMob );
struct StructSummon * AllocNewSummon( struct StructPlayer* pMaster, struct StructItem* pCard );
// 월드에 소환수를 추가
void AddSummonToWorld( struct StructSummon * pSummon );
// 월드에서 소환수를 제거
void RemoveSummonFromWorld( struct StructSummon * pSummon );
struct StructPet * AllocNewPet( struct StructPlayer* pMaster, struct StructItem* pCage, const int nPetCode );
// 월드에 소환수를 추가
void AddPetToWorld( struct StructPet * pPet );
// 월드에서 소환수를 제거
void RemovePetFromWorld( struct StructPet * pPet );
// 워프
void WarpBegin( struct StructPlayer *pPlayer );
void WarpEnd( struct StructPlayer *pPlayer, const struct ArPosition * pPosition, unsigned char layer );
// 플레이어 스탯 저장
void SavePlayer( struct StructPlayer *pPlayer );
void SaveAllPlayer();
void MonsterDropItemToInventory(struct StructPlayer* pClient, struct StructItem* pItem);
void onTakeItemFZ(struct StructPlayer* pClient, struct TS_CS_TAKE_ITEM* pMsg);
void procPartyShareFZ(struct StructPlayer* pClient, struct StructItem* pItem);
bool addPartyItemFZ(struct StructPlayer* pClient, struct StructItem* pItem);
const AR_HANDLE procAddItemFZ(struct StructPlayer* pClient, struct StructItem* pItem, bool bIsPartyProcess = true);