1209 lines
46 KiB
C
1209 lines
46 KiB
C
|
|
#pragma once
|
|||
|
|
|
|||
|
|
#include "DNTableFile.h"
|
|||
|
|
#include "DNDataManagerBase.h"
|
|||
|
|
|
|||
|
|
#include "DnItemCompounder.h"
|
|||
|
|
#include "DnSkillTreeSystem.h"
|
|||
|
|
#include "DnCostumeMixDataMgr.h"
|
|||
|
|
#ifdef PRE_ADD_COSRANDMIX
|
|||
|
|
#include "DnCostumeRandomMixDataMgr.h"
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
class QuestCondition;
|
|||
|
|
class CDNGameDataManager : public CDNDataManagerBase
|
|||
|
|
{
|
|||
|
|
public:
|
|||
|
|
typedef map<int, TCollectionBookData> TMapCollectionBook; // first: CollectionID
|
|||
|
|
|
|||
|
|
#if !defined( _FINAL_BUILD ) && !defined (__COVERITY__)
|
|||
|
|
FRIEND_TEST( Trigger_unittest, PerformanceTest );
|
|||
|
|
#endif // #if !defined( _FINAL_BUILD ) && !defined (__COVERITY__)
|
|||
|
|
|
|||
|
|
#if defined(PRE_FIX_NEXTSKILLINFO)
|
|||
|
|
protected:
|
|||
|
|
static SKILL_LEVEL_INFO ms_SkillLevelTableInfo;
|
|||
|
|
SKILL_LEVEL_TABLEID_LIST m_SkillLevelTableIDList[2];
|
|||
|
|
|
|||
|
|
void InitSkillLevelTableIDList();
|
|||
|
|
void AddSkillLevelTableID(int nSkillID, int nSkillLevel, int nSkillLevelTableID, int nApplyType);
|
|||
|
|
//rlkt_pvp_skills
|
|||
|
|
void AddToPvpSkillList(int iSkillLevelTableID, int nSkillID, int iSkillLevel, float fNewDamageMultiplier);
|
|||
|
|
#endif // PRE_FIX_NEXTSKILLINFO
|
|||
|
|
|
|||
|
|
private:
|
|||
|
|
struct TUpdateLocalTime
|
|||
|
|
{
|
|||
|
|
DWORD dwUpdateTick;
|
|||
|
|
tm pCurLocalTime;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
public:
|
|||
|
|
struct TPVPSkills
|
|||
|
|
{
|
|||
|
|
int nSkillID;
|
|||
|
|
int nSkillLevel;
|
|||
|
|
float fPDamage;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
protected:
|
|||
|
|
std::map<int, TPVPSkills *> m_pPvpSkills;
|
|||
|
|
|
|||
|
|
private:
|
|||
|
|
TUpdateLocalTime m_UpdateLocalTime[30];
|
|||
|
|
|
|||
|
|
typedef map<int, TMapInfo*> TMapInfoMap;
|
|||
|
|
TMapInfoMap m_pMapInfo;
|
|||
|
|
typedef map<int, TItemData*> TMapItemData;
|
|||
|
|
TMapItemData m_pItemData;
|
|||
|
|
typedef map<int, TActorData*> TMapActorData;
|
|||
|
|
TMapActorData m_pActorData;
|
|||
|
|
typedef map<int, TNpcData*> TMapNpcData;
|
|||
|
|
TMapNpcData m_pNpcData;
|
|||
|
|
|
|||
|
|
typedef map<int, TWeaponData*> TMapWeaponData;
|
|||
|
|
TMapWeaponData m_pWeaponData;
|
|||
|
|
typedef map<int, TPartData*> TMapPartData;
|
|||
|
|
TMapPartData m_pPartData;
|
|||
|
|
|
|||
|
|
typedef map<int, TPotentialJewelData*> TMapPotentialJewelData;
|
|||
|
|
TMapPotentialJewelData m_pPotentialJewelData;
|
|||
|
|
typedef map<int, TEnchantJewelData*> TMapEnchantJewelData;
|
|||
|
|
TMapEnchantJewelData m_pEnchantJewelData;
|
|||
|
|
|
|||
|
|
TALK_MAP m_TalkMap;
|
|||
|
|
TALK_ANSWER_MAP m_TalkAnswerMap; // NPC <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(talk_answer / link_index) <20><>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û <20><><EFBFBD>Ἲ üũ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>뵵)
|
|||
|
|
|
|||
|
|
typedef map<int, TShopData*> TMapShopData;
|
|||
|
|
TMapShopData m_pShopData;
|
|||
|
|
typedef map<int, TSkillShopData*> TMapSkillShopData;
|
|||
|
|
TMapSkillShopData m_pSkillShop;
|
|||
|
|
typedef map<int, TSkillData*> TMapSkillData;
|
|||
|
|
TMapSkillData m_pSkillData;
|
|||
|
|
typedef map<int, TSkillTreeData*> TMapSkillTreeData;
|
|||
|
|
TMapSkillTreeData m_pSkillTreeData;
|
|||
|
|
vector<TSkillTreeData*> m_vlpSkillTreeData;
|
|||
|
|
|
|||
|
|
typedef map<BYTE, TCoinCountData*> TMapCoinCount; // first: Level
|
|||
|
|
TMapCoinCount m_pMapCoinCount;
|
|||
|
|
|
|||
|
|
typedef map<DWORD, std::wstring> TXMLFileMap;
|
|||
|
|
TXMLFileMap m_XMLFileMap;
|
|||
|
|
typedef map<DWORD, std::wstring> TXMLIndexMap;
|
|||
|
|
TXMLIndexMap m_XMLIndexMap;
|
|||
|
|
|
|||
|
|
typedef map<UINT, TQuestReward> TMapQuestReward;
|
|||
|
|
typedef TMapQuestReward::iterator TMapQuestRewardIt;
|
|||
|
|
TMapQuestReward m_QuestRewardMap;
|
|||
|
|
|
|||
|
|
typedef vector<int> TVecEventTable;
|
|||
|
|
TVecEventTable m_EventTable; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD> <20>̺<EFBFBD>Ʈ<EFBFBD>ʹ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
typedef map<tr1::tuple<char, char>, TQuestLevelCapReward> TMapQuestLevelCapReward;
|
|||
|
|
TMapQuestLevelCapReward m_QuestLevelCapRewards;
|
|||
|
|
typedef map<UINT, std::set<int> > TMapQuestItemData;
|
|||
|
|
typedef TMapQuestItemData::iterator TMapQuestItemDataIt;
|
|||
|
|
TMapQuestItemData m_QuestItemData;
|
|||
|
|
typedef map<UINT, QuestCondition*> TMapQuestConditionData;
|
|||
|
|
typedef TMapQuestConditionData::iterator TMapQuestConditionDataIt;
|
|||
|
|
TMapQuestConditionData m_QuestConditionData;
|
|||
|
|
|
|||
|
|
typedef map<int, TEnchantData*> TMapEnchantData;
|
|||
|
|
typedef map<char, TEnchantLevelData*> TMapEnchantLevelData;
|
|||
|
|
TMapEnchantData m_pEnchantTable;
|
|||
|
|
#ifdef PRE_FIX_MEMOPT_ENCHANT
|
|||
|
|
typedef map<int, TEnchantNeedItemData> TMapEnchantNeedItemData;
|
|||
|
|
TMapEnchantNeedItemData m_EnchantNeedItemTable;
|
|||
|
|
#endif
|
|||
|
|
typedef map<int, TPotentialData*> TMapPotentialData;
|
|||
|
|
TMapPotentialData m_pPotentialTable;
|
|||
|
|
typedef map<int, TItemDropData*> TMapItemDropData;
|
|||
|
|
TMapItemDropData m_pItemDropTable;
|
|||
|
|
#if defined(PRE_ADD_STAGE_CLEAR_ADD_REWARD)
|
|||
|
|
typedef map<int, TBonusDropTable> TMapBonusDropTable;
|
|||
|
|
TMapBonusDropTable m_MapBonusDropTable;
|
|||
|
|
#endif // #if defined(PRE_ADD_STAGE_CLEAR_ADD_REWARD)
|
|||
|
|
#if defined(PRE_ADD_STAGE_CLEAR_ENCHANT_REWARD)
|
|||
|
|
typedef map<int, TItemDropEnchantData> TMapItemDropEnchantTable;
|
|||
|
|
TMapItemDropEnchantTable m_MapItemDropEnchantTable;
|
|||
|
|
#endif
|
|||
|
|
typedef map<int, TAppellationData> TMapAppellationData;
|
|||
|
|
TMapAppellationData m_MapAppellationData;
|
|||
|
|
std::vector<TMissionData *> m_pMissionTable;
|
|||
|
|
typedef map<int, TDailyMissionData *> TMapDailyMissionData;
|
|||
|
|
TMapDailyMissionData m_pDailyMissionTable;
|
|||
|
|
std::vector<TDailyMissionData *> m_pWeekendEventMissionTable;
|
|||
|
|
std::vector<TDailyMissionData *> m_pGuildWarMissionTable;
|
|||
|
|
std::vector<TGuildWarRewardData *> m_pGuildWarRewardData;
|
|||
|
|
std::vector<TDailyMissionData *> m_pGuildCommonMissionTable;
|
|||
|
|
std::vector<TDailyMissionData *> m_pWeekendRepeatMissionTable;
|
|||
|
|
#if defined(PRE_ADD_CHAT_MISSION)
|
|||
|
|
std::vector<int> m_pTypingTable;
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
TMapCollectionBook m_MapCollectionBookData;
|
|||
|
|
|
|||
|
|
typedef vector<TTaxData*> TVecTaxData;
|
|||
|
|
TVecTaxData m_pTaxData;
|
|||
|
|
typedef vector<TSealCountData*> TVecSealCountData;
|
|||
|
|
TVecSealCountData m_pSealCountData;
|
|||
|
|
|
|||
|
|
typedef map<int, TPCBangData*> TMapPCBangData;
|
|||
|
|
TMapPCBangData m_pPCBangData;
|
|||
|
|
|
|||
|
|
typedef vector<std::pair<int, int>> TVecVillagePermitLevel;
|
|||
|
|
TVecVillagePermitLevel m_vVillagePermitLevel;
|
|||
|
|
|
|||
|
|
typedef vector<std::pair<int, int>> TVecPermitPartyCount;
|
|||
|
|
TVecPermitPartyCount m_vPermitPartyCount;
|
|||
|
|
typedef vector <TPromotionData*> TVecPromotion;
|
|||
|
|
TVecPromotion m_vLvPromotion;
|
|||
|
|
|
|||
|
|
// PvP
|
|||
|
|
typedef map<UINT, TPvPMapTable*> TPvPMapTableData;
|
|||
|
|
TPvPMapTableData m_PvPMapTable;
|
|||
|
|
typedef map<UINT, TPvPGameModeTable*> TPvPGameModeTableData;
|
|||
|
|
TPvPGameModeTableData m_PvPGameModeTable;
|
|||
|
|
typedef map<UINT, TPvPGameStartConditionTable*> TPvPGameStartConditionData;
|
|||
|
|
TPvPGameStartConditionData m_PvPGameStartConditionTable;
|
|||
|
|
typedef map<UINT, TPvPRankTable*> TPvPRankTableData;
|
|||
|
|
TPvPRankTableData m_PvPRankTable;
|
|||
|
|
#ifdef PRE_MOD_PVPRANK
|
|||
|
|
UINT m_nThresholdPvPExpValue;
|
|||
|
|
#endif //#ifdef PRE_MOD_PVPRANK
|
|||
|
|
|
|||
|
|
// Darklair
|
|||
|
|
typedef map<int, TDLMapData *> TMapDLMapData;
|
|||
|
|
TMapDLMapData m_pDLMapTable;
|
|||
|
|
typedef map<int, TDLClearData *> TMapDLClearData;
|
|||
|
|
TMapDLClearData m_pDLClearTable;
|
|||
|
|
|
|||
|
|
typedef map<int,TItemOptionTableData> TMapItemOptionTableData;
|
|||
|
|
TMapItemOptionTableData m_ItemOptionTableData;
|
|||
|
|
|
|||
|
|
// ȣ<><C8A3><EFBFBD><EFBFBD>
|
|||
|
|
#if defined( PRE_ADD_NPC_REPUTATION_SYSTEM )
|
|||
|
|
typedef map<int,TReputeTableData> TMapReputeTableData;
|
|||
|
|
TMapReputeTableData m_ReputeTableData;
|
|||
|
|
typedef map<int,TPresentTableData> TMapPresentTableData;
|
|||
|
|
TMapPresentTableData m_PresentTableData;
|
|||
|
|
typedef map<int,TMailTableData> TMapMailTableData;
|
|||
|
|
TMapMailTableData m_MailTableData;
|
|||
|
|
typedef multimap<int,TStoreBenefitData> TMapStoreBenefitData;
|
|||
|
|
TMapStoreBenefitData m_StoreBenefitData;
|
|||
|
|
#endif // #if defined( PRE_ADD_NPC_REPUTATION_SYSTEM )
|
|||
|
|
|
|||
|
|
typedef map<std::tr1::tuple<int,int,int>,TCombinedShopTableData> TMapCombinedShopTableData;
|
|||
|
|
TMapCombinedShopTableData m_CombinedShopTableData;
|
|||
|
|
std::map<int,int> m_CombinedShopIndex;
|
|||
|
|
|
|||
|
|
typedef map<int,TMasterSystemDecreaseTableData> TMapMasterSystemDecreaseTableData;
|
|||
|
|
TMapMasterSystemDecreaseTableData m_MasterSystemDecreaseTableData;
|
|||
|
|
typedef map<std::pair<int,TDUNGEONDIFFICULTY>,TMasterSystemGainTableData> TMapMasterSystemGainTableData;
|
|||
|
|
TMapMasterSystemGainTableData m_MasterSystemGainTableData;
|
|||
|
|
#if defined( PRE_ADD_SECONDARY_SKILL )
|
|||
|
|
typedef map<int,TSecondarySkillTableData> TMapSecondarySkillTableData;
|
|||
|
|
TMapSecondarySkillTableData m_SecondarySkillTableData;
|
|||
|
|
typedef map<int,std::vector<TSecondarySkillLevelTableData>> TMapSecondarySkillLevelTableData;
|
|||
|
|
TMapSecondarySkillLevelTableData m_SecondarySkillLevelTableData;
|
|||
|
|
typedef map<int,TSecondarySkillRecipeTableData> TMapSecondarySkillRecipeTableData;
|
|||
|
|
TMapSecondarySkillRecipeTableData m_SecondarySkillRecipeTableData;
|
|||
|
|
#endif // #if defined( PRE_ADD_SECONDARY_SKILL )
|
|||
|
|
typedef map<int,int> TMapInstantItemTableData;
|
|||
|
|
TMapInstantItemTableData m_InstantItemTableData;
|
|||
|
|
typedef map<int,TFarmCultivateTableData> TMapFarmCultivateTableData;
|
|||
|
|
TMapFarmCultivateTableData m_FarmCultivateTableData;
|
|||
|
|
typedef map<int, TFishingTableData> TMapFishingTableData;
|
|||
|
|
TMapFishingTableData m_FishingTableData;
|
|||
|
|
typedef map<int, TFishingPointTableData> TMapFishingPointTableData;
|
|||
|
|
TMapFishingPointTableData m_FishingPointTableData;
|
|||
|
|
typedef map<int, TFishingAreaTableData> TMapFishingAreaTableData;
|
|||
|
|
TMapFishingAreaTableData m_FishingAreaTableData;
|
|||
|
|
|
|||
|
|
typedef map<int, TJobTableData> TMapJobTableData;
|
|||
|
|
TMapJobTableData m_JobTableData;
|
|||
|
|
|
|||
|
|
#ifdef PRE_ADD_GACHA_JAPAN
|
|||
|
|
typedef map<int, TGachaponData_JP *> TMapGachaData_JP;
|
|||
|
|
TMapGachaData_JP m_mapGachaData;
|
|||
|
|
#endif
|
|||
|
|
// <20><><EFBFBD><EFBFBD>Ʈ creteskill <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ä<><C3A4><EFBFBD><EFBFBD>.
|
|||
|
|
map<int, TDefaultCreateData> m_mapDefaultCreateData;
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD>庸<EFBFBD><E5BAB8>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><>ü. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD>庸<EFBFBD><E5BAB8> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CDnItemCompounder* m_pItemCompounder;
|
|||
|
|
// <20><>ųƮ<C5B3><C6AE>
|
|||
|
|
CDnSkillTreeSystem* m_pSkillTreeSystem;
|
|||
|
|
|
|||
|
|
CDnCostumeMixDataMgr m_CosMixDataMgr;
|
|||
|
|
#ifdef PRE_ADD_COSRANDMIX
|
|||
|
|
CDnCostumeRandomMixDataMgr m_CosRandMixDataMgr;
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
// CashShop
|
|||
|
|
typedef map<int, TCashCommodityData*> TMapCashCommodityData;
|
|||
|
|
TMapCashCommodityData m_pCashCommodityData;
|
|||
|
|
typedef map<int, TCashPackageData*> TMapCashPackageData;
|
|||
|
|
TMapCashPackageData m_pCashPackageData;
|
|||
|
|
typedef vector<TLevelupEvent*> TVecLevelupEvent;
|
|||
|
|
TVecLevelupEvent m_pVecLevelupEvent;
|
|||
|
|
#if defined(PRE_ADD_VIP)
|
|||
|
|
typedef vector<TVIPData*> TVecVIPData;
|
|||
|
|
TVecVIPData m_pVecVIPData;
|
|||
|
|
#endif // #if defined(PRE_ADD_VIP)
|
|||
|
|
|
|||
|
|
typedef map<int, TGlyphSkillData> TMapGlyphSkillData;
|
|||
|
|
TMapGlyphSkillData m_MapGlyphSkill;
|
|||
|
|
typedef vector<TGlyphSlotData> TVecGlyphSlot;
|
|||
|
|
TVecGlyphSlot m_VecGlyphSlot;
|
|||
|
|
typedef vector<TGlyphChargeData> TVecGlyphCharge;
|
|||
|
|
TVecGlyphCharge m_VecGlyphCharge;
|
|||
|
|
typedef map<int, TCharmItemKeyData> TMapCharmKeyItem; // first: CharmItemID
|
|||
|
|
TMapCharmKeyItem m_MapCharmKeyItem;
|
|||
|
|
typedef map<int, TCharmItemData> TMapCharmItem; // first: CharmNo
|
|||
|
|
TMapCharmItem m_MapCharmItem;
|
|||
|
|
typedef map<int, TCharmCountData> TMapCharmCount;
|
|||
|
|
TMapCharmCount m_MapCharmCount;
|
|||
|
|
typedef map<int, TVehicleData> TMapVehicleData; // first: ItemID
|
|||
|
|
TMapVehicleData m_MapVehicle;
|
|||
|
|
typedef map<int, TVehiclePartsData> TMapVehicleParts; // first: ItemID
|
|||
|
|
TMapVehicleParts m_MapVehicleParts;
|
|||
|
|
typedef map<int, TPetLevelData*> TMapPetLevelData; // first: PetLevelTypeID
|
|||
|
|
TMapPetLevelData m_pPetLevelData;
|
|||
|
|
typedef map<int, TPetFoodData> TMapPetFoodData; // first: ItemID
|
|||
|
|
TMapPetFoodData m_MapPetFoodData;
|
|||
|
|
#if defined (PRE_ADD_CHAOSCUBE)
|
|||
|
|
typedef map<int, TChaosStuffItem> TMapChaosStuffItem; // first: ItemID
|
|||
|
|
TMapChaosStuffItem m_MapChaosStuffItem;
|
|||
|
|
typedef map<int, TChaosItemData> TMapChaosItem; // first: ChaosNo
|
|||
|
|
TMapChaosItem m_MapChaosItem;
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
std::map<int, int> m_GuildLimitItem;
|
|||
|
|
std::map<int, int> m_GuildLimitCoin;
|
|||
|
|
int m_nGuildLimitMaxItem;
|
|||
|
|
int m_nGuildLimitMaxCoin;
|
|||
|
|
|
|||
|
|
typedef map<int, TGuildLevel> TMapGuilLevel; // first: Level
|
|||
|
|
TMapGuilLevel m_GuildLevel;
|
|||
|
|
typedef map<int, TGuildWarPoint> TMapGuilWarPoint; // first: Level
|
|||
|
|
TMapGuilWarPoint m_GuildWarPoint;
|
|||
|
|
int m_nMaxGuildExp;
|
|||
|
|
int m_nMaxGuildLevel;
|
|||
|
|
|
|||
|
|
typedef std::map <unsigned int, std::wstring> TProhibitWord;
|
|||
|
|
#if defined(PRE_ADD_MULTILANGUAGE)
|
|||
|
|
std::map <int, TProhibitWord> m_ProhibitWordList;
|
|||
|
|
#else //#if defined(PRE_ADD_MULTILANGUAGE)
|
|||
|
|
TProhibitWord m_ProhibitWordList;
|
|||
|
|
#endif //#if defined(PRE_ADD_MULTILANGUAGE)
|
|||
|
|
|
|||
|
|
typedef map<int, UINT> TMapQuestRewardID;
|
|||
|
|
TMapQuestRewardID m_MapQuestCommonRewardID;
|
|||
|
|
|
|||
|
|
typedef map<int, TExchangeTrade> TMapExchangeTrade; // first: ItemID
|
|||
|
|
TMapExchangeTrade m_MapExchangeTrade;
|
|||
|
|
std::vector<char> m_VecExchangeGroupID[ITEMEXCHANGEGROUP_MAX];
|
|||
|
|
|
|||
|
|
typedef std::map<int, TPvPMissionRoom> TMapPvPMissionRoom; // first: ItemID
|
|||
|
|
TMapPvPMissionRoom m_MapPvPMissionRoom;
|
|||
|
|
TVecPvPMissionRoom m_VecPvPMissionRoom;
|
|||
|
|
|
|||
|
|
typedef vector <TMonsterMutationGroup> TVecMonsterMutationGroup;
|
|||
|
|
TVecMonsterMutationGroup m_VecMonsterMutationGroup;
|
|||
|
|
typedef map <int,TMonsterMutationData> TMapMonsterMutationData;
|
|||
|
|
TMapMonsterMutationData m_mMonsterMutationData;
|
|||
|
|
typedef vector <TMonsterMutationSkill> TVecMonsterMutationSkill;
|
|||
|
|
TVecMonsterMutationSkill m_VecMonsterMutationSkill;
|
|||
|
|
typedef vector <TGhoulConditionData> TVecGhoulModeCondition;
|
|||
|
|
TVecGhoulModeCondition m_VecGhoulModeCondition;
|
|||
|
|
map<pair<int,int>,vector<pair<int,int>>> m_mPvPGameModeSkillSetting;
|
|||
|
|
|
|||
|
|
std::map <int, TBattleGourndModeInfo> m_mBattleGroundModeInfo;
|
|||
|
|
std::map <int, std::vector<TPositionAreaInfo>> m_mBattleGroundPositionInfo;
|
|||
|
|
std::vector <TBattleGroundSkillInfo> m_vBattleGroundSkill;
|
|||
|
|
std::vector <TBattleGroundEffectValue> m_vBattleGroundSkillLevel;
|
|||
|
|
|
|||
|
|
typedef vector <TUnionReputeBenefitData> TVecUnionReputeBenefitData;
|
|||
|
|
TVecUnionReputeBenefitData m_VecUnionReputeBenefitData;
|
|||
|
|
typedef vector <TGuildMarkData> TVecGuildMarkData;
|
|||
|
|
TVecGuildMarkData m_VecGuildMarkData;
|
|||
|
|
std::map<int,TPlayerCommonLevelTableInfo> m_mPlayerCommonLevelTable;
|
|||
|
|
std::vector <TMasterSysFeelTableInfo> m_vMasterSysFeelTableInfo;
|
|||
|
|
typedef vector <TGlobalEventData> TVecGlobalEvent;
|
|||
|
|
TVecGlobalEvent m_VecGlobalEvent;
|
|||
|
|
|
|||
|
|
typedef vector<TEveryDayEventData> TVecEveryDayEvent;
|
|||
|
|
TVecEveryDayEvent m_VecEveryDayEvent;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> cash<73><68><EFBFBD><EFBFBD> <20><><EFBFBD>̺<EFBFBD> <20>ΰ<EFBFBD>(TCASHCOMMODITY, TCASHPACKAGE)<29><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>. <20>߰<EFBFBD><DFB0><EFBFBD> <20><><EFBFBD>̺<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ε尡 <20>ʿ<EFBFBD><CABF>Ͽ<EFBFBD><CFBF><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20><><EFBFBD>ǵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><D8BE><EFBFBD>(<28>߿<EFBFBD>!)
|
|||
|
|
CSyncLock m_Sync;
|
|||
|
|
|
|||
|
|
typedef map<int, int> TMapPeriodAppellationID; //first:ID second:arrayID
|
|||
|
|
TMapPeriodAppellationID m_mPeriodAppellation;
|
|||
|
|
|
|||
|
|
typedef map<int, int> TMapGuildAppellationID;
|
|||
|
|
TMapGuildAppellationID m_mGuildAppellation;
|
|||
|
|
#if defined( PRE_ADD_BESTFRIEND )
|
|||
|
|
typedef map<int, int> TMapBestFriendAppellationID;
|
|||
|
|
TMapBestFriendAppellationID m_mBestFriendAppellation;
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
typedef map<int,int> TMapGuildReversionTableData;
|
|||
|
|
TMapGuildReversionTableData m_GuildReversionTableData;
|
|||
|
|
|
|||
|
|
#if defined( PRE_PARTY_DB )
|
|||
|
|
typedef std::map<Party::SortWeightIndex::eCode,int> TMapPartySortWeight;
|
|||
|
|
TMapPartySortWeight m_PartySortWeight;
|
|||
|
|
|
|||
|
|
typedef std::map<int,int> TMapDungeonSortWeight;
|
|||
|
|
TMapDungeonSortWeight m_DungeonSortWeight;
|
|||
|
|
#endif // #if defined( PRE_PARTY_DB )
|
|||
|
|
|
|||
|
|
#ifdef _WORK
|
|||
|
|
bool m_bAllLoaded;
|
|||
|
|
#endif //#ifdef _WORK
|
|||
|
|
int m_nMaxPlayerLevel;
|
|||
|
|
typedef map<int, TGuildRewardItemData> TMapGuildRewardItem;
|
|||
|
|
TMapGuildRewardItem m_mGuildRewardItemTableData;
|
|||
|
|
#if defined(PRE_ADD_SALE_COUPON)
|
|||
|
|
typedef map<int, TSaleCouponData> TMapSaleCoupon;
|
|||
|
|
TMapSaleCoupon m_mSaleCouponItemTableData;
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
vector<int> m_vVillageMaps;
|
|||
|
|
|
|||
|
|
#if defined( PRE_ADD_NAMEDITEM_SYSTEM )
|
|||
|
|
typedef map<int, TNamedItemData> TMapNamedItem;
|
|||
|
|
TMapNamedItem m_mNamedItemTableData;
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#ifdef PRE_ADD_EXCHANGE_POTENTIAL
|
|||
|
|
typedef vector<TPotentialTransferData> TVecPotentialTransferItem;
|
|||
|
|
TVecPotentialTransferItem m_vPotentialTransferList;
|
|||
|
|
#endif //#ifdef PRE_ADD_EXCHANGE_POTENTIAL
|
|||
|
|
|
|||
|
|
typedef vector<int> TVecCashErasableType;
|
|||
|
|
TVecCashErasableType m_VecCashErasableType;
|
|||
|
|
|
|||
|
|
#if defined( PRE_WORLDCOMBINE_PARTY )
|
|||
|
|
typedef std::map<int,WorldCombineParty::WrldCombinePartyData> TMapWorldCombinePartyData;
|
|||
|
|
TMapWorldCombinePartyData m_mWorldCombinePartyData;
|
|||
|
|
#endif
|
|||
|
|
#if defined( PRE_ADD_PCBANG_RENTAL_ITEM )
|
|||
|
|
typedef std::map<int,TPcBangRentItem> TMapPcBangRentItemData;
|
|||
|
|
TMapPcBangRentItemData m_mPcBangRentItemData;
|
|||
|
|
#endif
|
|||
|
|
#if defined(PRE_ADD_EXCHANGE_ENCHANT)
|
|||
|
|
typedef vector<TExchangeEnchantData> TVecExchangeEnchantData;
|
|||
|
|
TVecExchangeEnchantData m_vExchangeEnchantData;
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#if defined(PRE_ADD_INSTANT_CASH_BUY)
|
|||
|
|
typedef map<int, TCashBuyShortcutData> TMapCashBuyShortcut;
|
|||
|
|
TMapCashBuyShortcut m_MapCashBuyShortcut;
|
|||
|
|
#endif // #if defined(PRE_ADD_INSTANT_CASH_BUY)
|
|||
|
|
|
|||
|
|
#if defined(PRE_ADD_WEEKLYEVENT)
|
|||
|
|
typedef map<int, WeeklyEvent::TWeeklyEvent*> TMapWeeklyEvent;
|
|||
|
|
TMapWeeklyEvent m_pMapWeeklyEvent;
|
|||
|
|
#endif // #if defined(PRE_ADD_WEEKLYEVENT)
|
|||
|
|
|
|||
|
|
#if defined( PRE_ADD_TOTAL_LEVEL_SKILL )
|
|||
|
|
typedef map<int, TotalLevelSkill::TTotalSkillLevelTable> TMapTotalSkillLevelTable;
|
|||
|
|
TMapTotalSkillLevelTable m_MapTotalSkillLevelTabel;
|
|||
|
|
typedef map<int, TotalLevelSkill::TTotalSkillSlotTable> TMapTotalSkillSlotTable;
|
|||
|
|
TMapTotalSkillSlotTable m_MapTotalSkillSlotTabel;
|
|||
|
|
typedef map<int, std::list<TotalLevelSkill::TTotalSkillBlowTable> > TMapTotalSkillBlow;
|
|||
|
|
TMapTotalSkillBlow m_MapTotalSkillBlow;
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#if defined(PRE_SPECIALBOX)
|
|||
|
|
typedef map<int, TKeepBoxProvideItemData*> TMapKeepBoxProvideItemData;
|
|||
|
|
TMapKeepBoxProvideItemData m_pMapKeepBoxProvideItemData;
|
|||
|
|
#endif // #if defined(PRE_SPECIALBOX)
|
|||
|
|
|
|||
|
|
#ifdef PRE_ADD_JOINGUILD_SUPPORT
|
|||
|
|
typedef vector<TGuildSupportData> TVecGuildSupportData;
|
|||
|
|
TVecGuildSupportData m_VecGuildSupportData;
|
|||
|
|
#endif //#ifdef PRE_ADD_JOINGUILD_SUPPORT
|
|||
|
|
|
|||
|
|
#if defined(PRE_ADD_REMOTE_QUEST)
|
|||
|
|
typedef std::vector<TRemoteQuestData *> TVecRemoteQuestData;
|
|||
|
|
TVecRemoteQuestData m_pQuestRemoteTable;
|
|||
|
|
typedef map<int, int> TMapRemoteQuestID;
|
|||
|
|
TMapRemoteQuestID m_MapRemoteQuestID;
|
|||
|
|
#endif
|
|||
|
|
#if defined(PRE_ADD_ACTIVEMISSION)
|
|||
|
|
typedef std::vector<TActiveMissionData*> TVecActiveMissionData;
|
|||
|
|
TVecActiveMissionData m_pActiveMissionTable;
|
|||
|
|
std::map<int, std::vector<int>> m_ActiveSetTable;
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#if defined( PRE_WORLDCOMBINE_PVP )
|
|||
|
|
typedef std::map<int, TWorldPvPMissionRoom> TMapWorldPvPMissionRoom; // first: ItemID
|
|||
|
|
TMapWorldPvPMissionRoom m_MapWorldPvPMissionRoom;
|
|||
|
|
TVecWorldPvPMissionRoom m_VecWorldPvPMissionRoom;
|
|||
|
|
std::list<int> m_listWorldPvPRoomMode;
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#if defined( PRE_ALTEIAWORLD_EXPLORE )
|
|||
|
|
typedef std::map<int, TAlteiaWorldMapInfo> TMapAlteiaWorldMapInfo; // first: ItemID
|
|||
|
|
TMapAlteiaWorldMapInfo m_MapAlteiaWorldMapInfo;
|
|||
|
|
int m_nAlteiaWorldMapMaxCount;
|
|||
|
|
time_t m_tAlteiaWorldBeginTime;
|
|||
|
|
time_t m_tAlteiaWorldEndTime;
|
|||
|
|
#endif // #if defined( PRE_ALTEIAWORLD_EXPLORE )
|
|||
|
|
|
|||
|
|
#if defined( PRE_ADD_STAMPSYSTEM )
|
|||
|
|
typedef std::map<INT64, StampSystem::TStampTableData> TMapStampTableData; // first: StartTime
|
|||
|
|
TMapStampTableData m_MapStampTableData;
|
|||
|
|
#endif // #if defined( PRE_ADD_STAMPSYSTEM )
|
|||
|
|
|
|||
|
|
#if defined(PRE_ADD_TALISMAN_SYSTEM)
|
|||
|
|
typedef std::vector<TTalismanSlotData*> TVecTalismanSlotData;
|
|||
|
|
TVecTalismanSlotData m_pTalismanSlotTable;
|
|||
|
|
|
|||
|
|
typedef map<int, TTalismanData> TMapTalismanData;
|
|||
|
|
TMapTalismanData m_MapTalismanTable;
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#if defined( PRE_DRAGONBUFF )
|
|||
|
|
typedef map<int, time_t> TMapWorldBuffData;
|
|||
|
|
TMapWorldBuffData m_MapWorldBuffData;
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#if defined( PRE_PVP_GAMBLEROOM )
|
|||
|
|
typedef std::map<int, TPvPMissionRoom> TMapPvPGambleRoom; // first: ItemID
|
|||
|
|
TMapPvPGambleRoom m_MapPvPGambleRoom;
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#if defined( PRE_ADD_STAGE_WEIGHT )
|
|||
|
|
typedef std::map<int, std::map<DWORD, TStageWeightData>> TMapStageWeightData;
|
|||
|
|
TMapStageWeightData m_MapStageWeightData;
|
|||
|
|
#endif // #if defined( PRE_ADD_STAGE_WEIGHT )
|
|||
|
|
|
|||
|
|
public:
|
|||
|
|
CDNGameDataManager(void);
|
|||
|
|
virtual ~CDNGameDataManager(void);
|
|||
|
|
|
|||
|
|
bool AllLoad();
|
|||
|
|
|
|||
|
|
#ifdef _WORK
|
|||
|
|
bool GetLoaded() { return m_bAllLoaded; }
|
|||
|
|
#endif //#ifdef _WORK
|
|||
|
|
|
|||
|
|
void DoUpdate(DWORD dwCurTick, int nThreadIndex);
|
|||
|
|
|
|||
|
|
bool LoadMapInfo();
|
|||
|
|
const TMapInfo * GetMapInfo(int nMapID) const;
|
|||
|
|
int GetMapIndexByGateNo( int nMapIndex, int nGateNo, int nSelect=0 );
|
|||
|
|
int GetGateNoByGateNo( int nMapIndex, int nGateNo, int nSelect=0 );
|
|||
|
|
GlobalEnum::eMapTypeEnum GetMapType( int nMapIndex );
|
|||
|
|
GlobalEnum::eMapSubTypeEnum GetMapSubType( int nMapIndex );
|
|||
|
|
bool IsFindValidMap( const TMapInfo* pMapInfo, int nTargetIndex );
|
|||
|
|
bool CheckChangeMap( int nPrevMapIndex, int nNextMapIndex );
|
|||
|
|
bool IsMapExpandable(int nMapIndex);
|
|||
|
|
bool IsVehicleMode(int nMapIndex);
|
|||
|
|
bool IsPetMode(int nMapIndex);
|
|||
|
|
int GetMapPermitLevel(int nMapID);
|
|||
|
|
TVecVillagePermitLevel GetVillageMapPermitLevel() const { return TVecVillagePermitLevel(m_vVillagePermitLevel); }
|
|||
|
|
|
|||
|
|
#if defined(PRE_ADD_CHALLENGE_DARKLAIR)
|
|||
|
|
bool IsCloseGateByTime(int nMapIndex);
|
|||
|
|
#endif
|
|||
|
|
#if defined(PRE_ADD_VEHICLE_SPECIAL_ACTION)
|
|||
|
|
bool IsVehicleSpecialActionMode(int nMapIndex);
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
bool LoadItemData();
|
|||
|
|
TItemData* GetItemData(int nItemID);
|
|||
|
|
const TItemData* GetItemData(int nItemID) const;
|
|||
|
|
bool IsItemNeedJob(int nItemID, int nJob);
|
|||
|
|
bool IsPermitItemJob(int nItemID, BYTE *cJobArray);
|
|||
|
|
bool IsItemNeedJobHistory( int nItemID, const BYTE* cJobArray, bool bForDice = false );
|
|||
|
|
bool IsItemOnlyNeedJob(int nItemID, int nJob) const;
|
|||
|
|
int GetItemMainType(int nItemID); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<><C5B8><EFBFBD>߿<EFBFBD> eItemTypeEnum <20><><EFBFBD><EFBFBD>
|
|||
|
|
BYTE GetItemDetailType(int nItemID); // eItemTypeEnum<75><6D> <20>ϳ<EFBFBD><CFB3><EFBFBD><EFBFBD><EFBFBD> eWeaponType, eParts ... <20>߿<EFBFBD> <20>ϳ<EFBFBD><CFB3><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
BYTE GetItemDetailType(TItemData * pItemData); // eItemTypeEnum<75><6D> <20>ϳ<EFBFBD><CFB3><EFBFBD><EFBFBD><EFBFBD> eWeaponType, eParts ... <20>߿<EFBFBD> <20>ϳ<EFBFBD><CFB3><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
BYTE GetItemRank(int nItemID);
|
|||
|
|
int GetItemOverlapCount(int nItemID);
|
|||
|
|
BYTE GetItemReversion(int nItemID);
|
|||
|
|
int GetItemPrice(int nItemID);
|
|||
|
|
bool IsItemDestruction(int nItemID);
|
|||
|
|
char GetItemSkillUsingType(int nItemID);
|
|||
|
|
int GetItemTypeParam1(int nItemID);
|
|||
|
|
int GetItemTypeParam2(int nItemID);
|
|||
|
|
bool IsCashItem(int nItemID);
|
|||
|
|
int GetItemCashTradeCount(int nItemID);
|
|||
|
|
BYTE GetItemLevelLimit(int nItemID);
|
|||
|
|
char GetItemSealCount(int nItemID);
|
|||
|
|
|
|||
|
|
bool IsUseItemAllowMapTypeCheck(int iItemID, int iMapIndex);
|
|||
|
|
|
|||
|
|
int GetMapPermitPartyCount(int nMapID);
|
|||
|
|
const CDnCostumeMixDataMgr& GetCosMixDataMgr() const { return m_CosMixDataMgr; }
|
|||
|
|
#ifdef PRE_ADD_COSRANDMIX
|
|||
|
|
bool LoadCostumeRandomMixData();
|
|||
|
|
CDnCostumeRandomMixDataMgr& GetCosRandomMixDataMgr() { return m_CosRandMixDataMgr; }
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
bool LoadActorData();
|
|||
|
|
TActorData* GetActorData(int nActorIndex);
|
|||
|
|
|
|||
|
|
bool LoadNpcData();
|
|||
|
|
TNpcData* GetNpcData( int nNpcIndex );
|
|||
|
|
|
|||
|
|
bool LoadWeaponData();
|
|||
|
|
TWeaponData* GetWeaponData(int nWeaponIndex);
|
|||
|
|
|
|||
|
|
bool LoadPartData();
|
|||
|
|
TPartData* GetPartData(int nPartIndex);
|
|||
|
|
const TPartData* GetPartData(int nPartIndex) const;
|
|||
|
|
bool IsSubParts(int nPartIndex);
|
|||
|
|
bool IsFaceParts(int nPartIndex);
|
|||
|
|
bool IsHairParts(int nPartIndex);
|
|||
|
|
|
|||
|
|
bool LoadPotentialJewelData();
|
|||
|
|
TPotentialJewelData *GetPotentialJewelData( int nItemID );
|
|||
|
|
|
|||
|
|
bool LoadEnchantJewelData();
|
|||
|
|
TEnchantJewelData *GetEnchantJewelData( int nItemID );
|
|||
|
|
|
|||
|
|
int GetItemDurability( int nItemID );
|
|||
|
|
int GetItemDurabilityRepairCoin(int nItemID);
|
|||
|
|
|
|||
|
|
int GetExp(int nClass, BYTE cLevel);
|
|||
|
|
int GetFatigue(int nClass, char cLevel);
|
|||
|
|
int GetWeeklyFatigue(int nClass, char cLevel);
|
|||
|
|
BYTE GetLevel(int nClass, int nCurExp);
|
|||
|
|
#if defined(PRE_ADD_VIP)
|
|||
|
|
int GetVIPExp(int nClass, int nLevel);
|
|||
|
|
int GetVIPFatigue(int nClass, int nLevel);
|
|||
|
|
#endif // #if defined(PRE_ADD_VIP)
|
|||
|
|
|
|||
|
|
// CoinTable
|
|||
|
|
bool LoadCoinCount();
|
|||
|
|
int GetCoinCount(BYTE cLevel, char cWorldID);
|
|||
|
|
int GetCashCoinCount(BYTE cLevel, char cWorldID);
|
|||
|
|
#if defined(PRE_ADD_VIP)
|
|||
|
|
int GetVIPRebirthCoinCount(BYTE cLevel);
|
|||
|
|
#endif // #if defined(PRE_ADD_VIP)
|
|||
|
|
int GetCoinLimit(BYTE cLevel);
|
|||
|
|
int GetCashCoinLimit(BYTE cLevel);
|
|||
|
|
|
|||
|
|
bool ReadTalkFile(const char* szFolderName);
|
|||
|
|
bool LoadTalkData();
|
|||
|
|
bool AddTalk(const WCHAR* _wszTalkFileName);
|
|||
|
|
bool RemoveTalk(const WCHAR* wszTalkFileName);
|
|||
|
|
bool GetTalk(const WCHAR* wszTalkFileName, OUT TALK_PARAGRAPH_MAP& TalkParagraphMap );
|
|||
|
|
bool GetTalkParagraph(IN std::wstring& wszIndex, IN std::wstring& wszTarget, OUT TALK_PARAGRAPH& talk );
|
|||
|
|
TALK_PARAGRAPH & GetEmptyTalkParagraph();
|
|||
|
|
void GetTalkFileList(IN OUT std::vector<std::wstring>& TalkFileList);
|
|||
|
|
DWORD GetStringHashCode(const WCHAR* pString);
|
|||
|
|
bool GetTalkFileName(DWORD nHashCode, OUT std::wstring& wszIndex);
|
|||
|
|
bool GetTalkIndexName(DWORD nHashCode, OUT std::wstring& wszIndex);
|
|||
|
|
bool CheckTalkAnswer(IN std::wstring& wszIndex, IN std::wstring& wszTarget);
|
|||
|
|
|
|||
|
|
bool LoadQuestReward();
|
|||
|
|
bool GetQuestReward(UINT nRewardCheck, OUT TQuestReward& recom);
|
|||
|
|
bool GetQuestCommonRewardByQuestID(int nQuestID, OUT TQuestReward& recom); //Ŭ<><C5AC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
bool LoadPlayerCustomEventUI();
|
|||
|
|
void GetPlayerCustomEventUIList(std::vector <int> &vList);
|
|||
|
|
|
|||
|
|
bool LoadQuestLevelCapReward();
|
|||
|
|
const TQuestLevelCapReward* GetQuestLevelCapReward(char cType, char cClassID) const;
|
|||
|
|
|
|||
|
|
// <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><C7BE><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>´<EFBFBD>.
|
|||
|
|
bool GetQuestItemSet(UINT nQuestID, OUT std::set<int>& questItemSet);
|
|||
|
|
|
|||
|
|
void LoadQuestCondition(TiXmlElement* pRootElement, UINT nQuestID);
|
|||
|
|
QuestCondition * GetQuestCondition(UINT nQuestID);
|
|||
|
|
|
|||
|
|
// Shop
|
|||
|
|
bool LoadShopData();
|
|||
|
|
TShopData* GetShopData(int nShopID);
|
|||
|
|
TShopItem* GetShopItem(int nShopID, int nShopTabID, int nIndex);
|
|||
|
|
|
|||
|
|
// SkillShop
|
|||
|
|
bool LoadSkillShopData();
|
|||
|
|
TSkillShopData* GetSkillShopData(int nShopID);
|
|||
|
|
|
|||
|
|
// Skill
|
|||
|
|
bool LoadSkillData();
|
|||
|
|
TSkillData* GetSkillData(int nSkillID);
|
|||
|
|
TSkillLevelData* GetSkillLevelData(int nSkillID, char cSkillLevel);
|
|||
|
|
TSkillTreeData* GetSkillTreeData( int nSkillID );
|
|||
|
|
int GetNumSkillTreeData() { return(int)m_vlpSkillTreeData.size(); };
|
|||
|
|
TSkillTreeData* GetSkillTreeDataByIndex( int iIndex );
|
|||
|
|
int GetSkillDelayTime(int nSkillID, char cSkillLevel); // skill delaytime = item cooltime
|
|||
|
|
int GetSkillGlobalCoolTime( int nSkillID );
|
|||
|
|
int GetSkillGlobalGroupID( int nSkillID );
|
|||
|
|
bool IsSkillNeedJob(int nSkillID, char cSkillLevel, int nJob);
|
|||
|
|
bool IsSkillLevel(int nSkillID, char cSkillLevel, BYTE cLevel);
|
|||
|
|
bool IsSkillShopData(int nSkillID, int nJob, BYTE cLevel); // <20><>ų<EFBFBD><C5B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ǵ°<C7B4>?
|
|||
|
|
int GetNeedSkillPoint(int nSkillID, char cSkillLevel);
|
|||
|
|
bool GetCreateDefaultSkill( char cClassID, int* aDefaultSkills );
|
|||
|
|
|
|||
|
|
// Enchant
|
|||
|
|
bool LoadEnchantData();
|
|||
|
|
#ifdef PRE_FIX_MEMOPT_ENCHANT
|
|||
|
|
bool LoadEnchantMainTable(const DNTableFileFormat& mainTable);
|
|||
|
|
bool LoadEnchantNeedItemTable(const DNTableFileFormat& needItemTable);
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
bool LoadPotentialData();
|
|||
|
|
TEnchantData *GetEnchantData( int nEnchantID ) const;
|
|||
|
|
TEnchantLevelData *GetEnchantLevelData( int nEnchantID, char cLevel );
|
|||
|
|
#ifdef PRE_FIX_MEMOPT_ENCHANT
|
|||
|
|
const TEnchantNeedItemData* GetEnchantNeedItemData(int nEnchantID, char cLevel) const;
|
|||
|
|
const TEnchantNeedItemData* GetEnchantNeedItemData(const TEnchantLevelData& levelData) const;
|
|||
|
|
#endif
|
|||
|
|
int GetEnchantMaxLevel( int nEnchantID );
|
|||
|
|
TPotentialData *GetPotentialData( int nPotentailID );
|
|||
|
|
|
|||
|
|
// Item Drop
|
|||
|
|
bool LoadItemDropData();
|
|||
|
|
TItemDropData *GetItemDropData( int nDropItemTableID );
|
|||
|
|
|
|||
|
|
// Appellation
|
|||
|
|
int LoadAppellationData();
|
|||
|
|
TAppellationData *GetAppellationData(int nAppellationItemID);
|
|||
|
|
int GetAppellationArrayIndex(int nAppellationItemID);
|
|||
|
|
int GetAppellationLevelLimit(int nAppellationItemID);
|
|||
|
|
void ResetPeriodAppellation(char *Appellation, std::map<int, int> &mapDelAppellation);
|
|||
|
|
int GetPeriodAppellationArrayID(int nItemID);
|
|||
|
|
|
|||
|
|
void ResetGuildAppellation(char *Appellation, std::map<int, int> &mapDelAppellation);
|
|||
|
|
#if defined( PRE_ADD_BESTFRIEND )
|
|||
|
|
void ResetBestFriendAppellation(char *Appellation, std::map<int, int> &mapDelAppellation);
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
// Mission
|
|||
|
|
bool LoadMissionData();
|
|||
|
|
TMissionData *GetMissionData( int nArrayIndex );
|
|||
|
|
char GetMissionType(int nArrayIndex);
|
|||
|
|
int GetMissionMailID(int nArrayIndex);
|
|||
|
|
|
|||
|
|
bool LoadDailyMissionData();
|
|||
|
|
TDailyMissionData *GetDailyMissionData( int nItemID );
|
|||
|
|
int GetDailyMissionRewarePoint(int nMissionID);
|
|||
|
|
TDailyMissionData *GetWeekendEventMissionData( int nArrayIndex );
|
|||
|
|
TDailyMissionData *GetGuildWarMissionData( int nArrayIndex );
|
|||
|
|
void GetRandomGuildMission( int nRandomSeed, int* vGuildMissionID );
|
|||
|
|
bool LoadGuildWarRewardData();
|
|||
|
|
TGuildWarRewardData* GetGuildWarRewardData(char cType, char cClass);
|
|||
|
|
TDailyMissionData *GetGuildCommonMissionData( int nArrayIndex );
|
|||
|
|
TDailyMissionData *GetWeekendRepeatMissionData( int nArrayIndex );
|
|||
|
|
#if defined(PRE_ADD_ACTIVEMISSION)
|
|||
|
|
bool LoadActiveMissionData();
|
|||
|
|
TActiveMissionData* GetActiveMissionData(int nIndex);
|
|||
|
|
bool LoadActiveSetData();
|
|||
|
|
TActiveMissionData* GetRandomActiveMission( int nMapIndex, int nRandomSeed );
|
|||
|
|
#endif
|
|||
|
|
#if defined(PRE_ADD_WEEKLYEVENT_MISSION_ENDTIME)
|
|||
|
|
int GetWeekendMissionCount(eDailyMissionType eMissionType);
|
|||
|
|
#endif // #if defined(PRE_ADD_WEEKLYEVENT_MISSION_ENDTIME)
|
|||
|
|
#if defined(PRE_ADD_CHAT_MISSION)
|
|||
|
|
bool LoadTypingData();
|
|||
|
|
bool CheckTypingData(int nUIStringMid);
|
|||
|
|
#endif
|
|||
|
|
// CollectionBook
|
|||
|
|
bool LoadCollectionBookData();
|
|||
|
|
TCollectionBookData *GetCollectionBookData(int nID);
|
|||
|
|
const TMapCollectionBook &CollectionBookList() const { return m_MapCollectionBookData; }
|
|||
|
|
|
|||
|
|
// Tax
|
|||
|
|
bool LoadTaxData();
|
|||
|
|
float GetTaxRate(int nTaxType, int nLevel, INT64 nPrice);
|
|||
|
|
int GetTaxAmount(int nTaxType, int nLevel, INT64 nPrice);
|
|||
|
|
INT64 CalcTax(int nTaxType, int nLevel, INT64 nPrice);
|
|||
|
|
|
|||
|
|
// Seal
|
|||
|
|
bool LoadSealData();
|
|||
|
|
int GetTotalSealNeeds(int nTypeParam, int nType2, char cItemLevel);
|
|||
|
|
char GetSealSuccessRate(int nTypeParam, int nType2, char cItemLevel);
|
|||
|
|
|
|||
|
|
// PCBang
|
|||
|
|
bool LoadPCBangData();
|
|||
|
|
int GetPCBangDataCount();
|
|||
|
|
TPCBangData *GetPCBangData(int nPCBangType);
|
|||
|
|
|
|||
|
|
int GetPCBangParam1(int nPCBangType, int nPCBangGrade); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1<>ٸ<EFBFBD> <20>ִ°<D6B4><C2B0><EFBFBD> (PCBang::Type::)Exp, Appellation, Fatigue, RebirthCoin, Mission
|
|||
|
|
int GetPCBangParam2(int nPCBangType, int nPCBangGrade); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1<>ٸ<EFBFBD> <20>ִ°<D6B4><C2B0><EFBFBD> (PCBang::Type::)Exp, Appellation, Fatigue, RebirthCoin, Mission
|
|||
|
|
int GetPCBangNestClearCount(int nPCBangGrade, int nMapID);
|
|||
|
|
bool GetPCBangClearBoxFlag(int nPCBangGrade);
|
|||
|
|
bool CheckPcbangAppellation(int nAppllationIndex); //<2F>Ǿ<EFBFBD><C7BE><EFBFBD>Īȣ<C4AA><C8A3> <20>´<EFBFBD><C2B4><EFBFBD> üũ
|
|||
|
|
|
|||
|
|
// Item Compound
|
|||
|
|
bool LoadItemCompoundData();
|
|||
|
|
#if defined( _GAMESERVER )
|
|||
|
|
void EmblemCompound( CMultiRoom* pRoom, int iPlateItemID, CDnItemCompounder::S_ITEM_SETTING_INFO& ItemSetting, CDnItemCompounder::S_OUTPUT* pOutput );
|
|||
|
|
void ItemCompound( CMultiRoom* pRoom, CDnItemCompounder::S_ITEM_SETTING_INFO& ItemSetting, CDnItemCompounder::S_OUTPUT* pOutput );
|
|||
|
|
#else
|
|||
|
|
void EmblemCompound( int iPlateItemID, CDnItemCompounder::S_ITEM_SETTING_INFO& ItemSetting, CDnItemCompounder::S_OUTPUT* pOutput );
|
|||
|
|
void ItemCompound( CDnItemCompounder::S_ITEM_SETTING_INFO& ItemSetting, CDnItemCompounder::S_OUTPUT* pOutput );
|
|||
|
|
#endif // #if defined( _GAMESERVER )
|
|||
|
|
CDnItemCompounder* GetItemCompounder() { return m_pItemCompounder; }
|
|||
|
|
|
|||
|
|
bool LoadSkillTreeData();
|
|||
|
|
CDnSkillTreeSystem* GetSkillTreeSystem() { return m_pSkillTreeSystem; };
|
|||
|
|
|
|||
|
|
// PvP
|
|||
|
|
bool LoadPvPMapTable();
|
|||
|
|
bool LoadPvPGameModeTable();
|
|||
|
|
bool LoadPvPGameStartConditionTable();
|
|||
|
|
bool LoadPvPRankTable();
|
|||
|
|
const TPvPMapTable* GetPvPMapTable( const int nItemID );
|
|||
|
|
const TPvPGameModeTable* GetPvPGameModeTable( const int nItemID );
|
|||
|
|
const TPvPGameStartConditionTable* GetPvPGameStartConditionTable( const UINT uiMaxUser );
|
|||
|
|
const TPvPRankTable* GetPvPRankTable( const UINT uiLevel );
|
|||
|
|
#ifdef PRE_MOD_PVPRANK
|
|||
|
|
UINT GetPvPExpThreshold();
|
|||
|
|
int GetRelativePvPRank(int nExpAbsoluteRank, float fExpRateRank);
|
|||
|
|
#if defined(PRE_ADD_PVP_RANKING)
|
|||
|
|
void SetRelativePvPRank( BYTE *cPvPLevel, UINT uiExp, int iPvPRank, float fPvPRaito );
|
|||
|
|
#endif
|
|||
|
|
#endif //#ifdef PRE_MOD_PVPRANK
|
|||
|
|
int GetRandomLadderMapIndex( LadderSystem::MatchType::eCode MatchType );
|
|||
|
|
|
|||
|
|
// CashShop
|
|||
|
|
bool LoadCashCommodityData(bool bReload = false);
|
|||
|
|
|
|||
|
|
bool GetCashCommodityData(int nSN, TCashCommodityData &Data);
|
|||
|
|
int GetCashCommodityPrice(int nSN);
|
|||
|
|
bool IsReserveCommodity(int nSN); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
|
|||
|
|
bool IsPresentCommodity(int nSN); // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
|
|||
|
|
bool IsLimitCommodity(int nSN); // <20><><EFBFBD><EFBFBD><EFBFBD>Ǹ<EFBFBD><C7B8><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
int GetCashCommodityPeriod(int nSN);
|
|||
|
|
int GetCashCommodityCount(int nSN);
|
|||
|
|
bool IsValidCashCommodityItemID(int nItemSN, int nItemID);
|
|||
|
|
#if defined(PRE_ADD_VIP)
|
|||
|
|
int GetCashCommodityVIPPoint(int nSN); // vippoint<6E><74><EFBFBD><EFBFBD>
|
|||
|
|
bool GetCashCommodityPay(int nSN);
|
|||
|
|
int GetCashCommodityVIPAutomaticPaySalePrice(int nSN); // VIP<49>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ΰ<EFBFBD><CEB0><EFBFBD>
|
|||
|
|
bool IsVIPSell(int nSN); // VIP <20><><EFBFBD>뼥 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
int GetCashCommodityVIPLevel(int nSN); // <20><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
|
#endif // #if defined(PRE_ADD_VIP)
|
|||
|
|
int GetCashCommodityItem0(int nSN);
|
|||
|
|
int GetCashCommodityOverlapBuy(int nSN); // <20>ߺ<EFBFBD><DFBA><EFBFBD><EFBFBD>Ű<EFBFBD><C5B0>ɿ<EFBFBD><C9BF><EFBFBD>
|
|||
|
|
int GetCashCommodityItemIDCount(int nSN); // <20>ɼǾ<C9BC><C7BE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
|
bool CheckCashSNItemID(int nItemSN, int nItemID);
|
|||
|
|
|
|||
|
|
#if defined(PRE_ADD_CASH_REFUND)
|
|||
|
|
bool GetCashCommodityNoRefund(int nID, int nSN); // ij<><C4B3> ȯ<><C8AF> <20>Ұ<EFBFBD><D2B0>ɿ<EFBFBD><C9BF><EFBFBD>
|
|||
|
|
#endif
|
|||
|
|
#if defined(PRE_ADD_CASHSHOP_CREDIT)
|
|||
|
|
bool GetCashCommodityCreditAble(int nSN);
|
|||
|
|
int GetCashCommodityCreditAbleLevel(int nSN);
|
|||
|
|
#endif // #if defined(PRE_ADD_CASHSHOP_CREDIT)
|
|||
|
|
#if defined(PRE_ADD_SALE_COUPON)
|
|||
|
|
bool IsSaleCouponByItem(int nSN);
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#if defined( PRE_ADD_NEW_MONEY_SEED )
|
|||
|
|
bool IsSeedCommodity(int nSN);
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
bool LoadCashPackageData(bool bReload = false);
|
|||
|
|
bool GetCashPackageData(int nSN, TCashPackageData &Data);
|
|||
|
|
bool IsCashPackageData(int nSN);
|
|||
|
|
|
|||
|
|
bool GetCashCommodityItemSNListByPackage(int nPackageSN, std::vector<DBPacket::TItemSNIDOption> &VecItemSNIDList);
|
|||
|
|
int GetCashPackageCount(int nPackageSN);
|
|||
|
|
|
|||
|
|
#if defined(PRE_ADD_VIP)
|
|||
|
|
// <20>߱<EFBFBD> VIP
|
|||
|
|
bool LoadVIPData();
|
|||
|
|
TVIPData *GetVIPData(); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD> <20>ִٰ<D6B4> <20>Ѵ<EFBFBD> -_-;
|
|||
|
|
int GetVIPAutoPayItemSN();
|
|||
|
|
int GetVIP7DaysLeftMailID();
|
|||
|
|
int GetVIP1DayLeftMailID();
|
|||
|
|
int GetVIPCloseMailID();
|
|||
|
|
int GetVIPShortCashMailID();
|
|||
|
|
#endif // #if defined(PRE_ADD_VIP)
|
|||
|
|
|
|||
|
|
// DarkLair
|
|||
|
|
bool LoadDarkLairMapData();
|
|||
|
|
const TDLMapData *GetDLMapData( int nItemID );
|
|||
|
|
|
|||
|
|
bool LoadDarkLairClearData();
|
|||
|
|
TDLClearDataItem *GetDLClearData( int nItemID, int nLevel, int nRound );
|
|||
|
|
|
|||
|
|
bool LoadItemOptionTableData();
|
|||
|
|
const TItemOptionTableData* GetItemOptionTableData( int iItemID );
|
|||
|
|
|
|||
|
|
#if defined( PRE_ADD_NPC_REPUTATION_SYSTEM )
|
|||
|
|
bool LoadReputeTableData();
|
|||
|
|
TReputeTableData* GetReputeTableData( int iItemID );
|
|||
|
|
bool LoadPresentTableData();
|
|||
|
|
TPresentTableData* GetPresentTableData( int iItemID );
|
|||
|
|
bool LoadMailTableData();
|
|||
|
|
TMailTableData* GetMailTableData( int iItemID );
|
|||
|
|
bool LoadStoreBenefitData();
|
|||
|
|
void GetStoreBenefitData( int iNpcID, /*IN OUT*/ vector<TStoreBenefitData*>& vlpDatas );
|
|||
|
|
#endif // #if defined( PRE_ADD_NPC_REPUTATION_SYSTEM )
|
|||
|
|
|
|||
|
|
bool LoadCombinedShopTableData();
|
|||
|
|
bool IsCombinedShop( int iShopID );
|
|||
|
|
const TCombinedShopTableData* GetCombinedShopItemTableData( int iShopID, int iTabID, int iListID );
|
|||
|
|
|
|||
|
|
bool LoadMasterSystemDecreaseTableData();
|
|||
|
|
TMasterSystemDecreaseTableData* GetMasterSystemDecreaseTableData( int iPupilLevel );
|
|||
|
|
bool LoadMasterSystemGainTableData();
|
|||
|
|
TMasterSystemGainTableData* GetMasterSystemGainTableData( int iLevel, TDUNGEONDIFFICULTY StageDifficulty );
|
|||
|
|
#if defined( PRE_ADD_SECONDARY_SKILL )
|
|||
|
|
bool LoadSecondarySkillTableData();
|
|||
|
|
TSecondarySkillTableData* GetSecondarySkillTableData( int iSecondarySkillID );
|
|||
|
|
bool LoadSecondarySkillLevelTableData();
|
|||
|
|
TSecondarySkillLevelTableData* GetSecondarySkillLevelTableData( int iSecondarySkillID, SecondarySkill::Grade::eType Grade, int iSkillLevel );
|
|||
|
|
TSecondarySkillLevelTableData* GetSecondarySkillLevelTableData( int iSecondarySkillID, int iExp );
|
|||
|
|
bool LoadSecondarySkillRecipeTableData();
|
|||
|
|
TSecondarySkillRecipeTableData* GetSecondarySkillRecipeTableData( int iItemID );
|
|||
|
|
#endif // #if defined( PRE_ADD_SECONDARY_SKILL )
|
|||
|
|
|
|||
|
|
bool LoadInstantItemTableData();
|
|||
|
|
bool bIsInstantItem( int iItemID );
|
|||
|
|
|
|||
|
|
bool LoadFarmCultivateTableData();
|
|||
|
|
TFarmCultivateTableData* GetFarmCultivateTableData( int iItemID );
|
|||
|
|
|
|||
|
|
bool LoadFishingTableData();
|
|||
|
|
TFishingTableData * GetFishingTableData(int nItemID);
|
|||
|
|
bool LoadFishingPointTableData();
|
|||
|
|
TFishingPointTableData * GetFishingPointTableData(int nItemID);
|
|||
|
|
bool LoadFishingAreaTableData();
|
|||
|
|
TFishingAreaTableData * GetFishingAreaTableData(int nItemID);
|
|||
|
|
void GetFishingAreaTableDataByMapID(int nMapID, std::vector <TFishingAreaTableData> &vFishingArea);
|
|||
|
|
|
|||
|
|
// Gachapon_JP
|
|||
|
|
#ifdef PRE_ADD_GACHA_JAPAN
|
|||
|
|
bool LoadGachaData_JP();
|
|||
|
|
TGachaponData_JP *GetGachaponData_JP( int nGachaShopID );
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
bool LoadJobTableData();
|
|||
|
|
TJobTableData* GetJobTableData( int nJobTableID );
|
|||
|
|
int GetBaseClass( int iJob ); // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⺻ Ŭ<><C5AC><EFBFBD><EFBFBD>
|
|||
|
|
int GetParentJob( int iJob ); // <20>θ<EFBFBD><CEB8><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
int GetJobNumber( int iJob ); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
int GetClass( int iJob ); // Ŭ<><C5AC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
void GetJobGroupID(int nItemID, char cJobCode[]);
|
|||
|
|
|
|||
|
|
//LevelUp Event
|
|||
|
|
bool LoadLevelupEvent();
|
|||
|
|
void GetLevelupEvent(int nLevel, int nClass, int nJob, std::vector<TLevelupEvent*> &VecEventList);
|
|||
|
|
bool GetLevelupEventbyType(int nLevel, TLevelupEvent::eEventType eType, TLevelupEvent &Event);
|
|||
|
|
|
|||
|
|
//PromotionData
|
|||
|
|
bool LoadPromotionData();
|
|||
|
|
int GetPromotionCount();
|
|||
|
|
const TPromotionData * GetPromotionByIdx(int nIndex);
|
|||
|
|
const TPromotionData * GetPromotionByIID(int nID);
|
|||
|
|
|
|||
|
|
// GlyphSkill
|
|||
|
|
bool LoadGlyphSkillData();
|
|||
|
|
TGlyphSkillData *GetGlyphSkillData(int nGlyphID);
|
|||
|
|
int GetGlyphType(int nGlyphID);
|
|||
|
|
|
|||
|
|
// GlyphSlot
|
|||
|
|
bool LoadGlyphSlotData();
|
|||
|
|
int GLYPHINDEX_2_SLOTINDEX(int nGlyphIndex);
|
|||
|
|
bool IsGlyphSlotLevel(int nGlyphIndex, int nCharLevel);
|
|||
|
|
bool IsGlyphLevel(int nGlyphID, int nCharLevel);
|
|||
|
|
|
|||
|
|
// GlyphCharge
|
|||
|
|
bool LoadGlyphChargeData();
|
|||
|
|
int GetGlyphCharge(char cGlyphType, char cGlyphRank);
|
|||
|
|
|
|||
|
|
// CharmItemKeyTable
|
|||
|
|
bool LoadCharmItemKeyData();
|
|||
|
|
TCharmItemKeyData *GetCharmKeyData(int nItemID);
|
|||
|
|
|
|||
|
|
// CharmItemTable
|
|||
|
|
bool LoadCharmItemData();
|
|||
|
|
TCharmItemData *GetCharmItemData(int nCharmNo);
|
|||
|
|
|
|||
|
|
#if defined(PRE_ADD_GETITEM_WITH_RANDOMVALUE)
|
|||
|
|
// CharmCountTable
|
|||
|
|
bool LoadCharmCountData();
|
|||
|
|
TCharmCountData *GetCharmCountData(int nID);
|
|||
|
|
#endif // #if defined(PRE_ADD_GETITEM_WITH_RANDOMVALUE)
|
|||
|
|
|
|||
|
|
#if defined (PRE_ADD_CHAOSCUBE)
|
|||
|
|
// ChaosCubeStuffTable
|
|||
|
|
bool LoadChaosCubeStuffData();
|
|||
|
|
TChaosStuffItem *GetChaosStuffItemData(int nItemID);
|
|||
|
|
|
|||
|
|
// ChaosCubeResultTable
|
|||
|
|
bool LoadChaosCubeResultData();
|
|||
|
|
TChaosItemData *GetChaosItemData(int nChaosNo);
|
|||
|
|
#endif // #if defined (PRE_ADD_CHAOSCUBE)
|
|||
|
|
|
|||
|
|
int GetMaxGuildExp();
|
|||
|
|
int GetMaxMaxGuildLevel();
|
|||
|
|
bool LoadGuildLevelData();
|
|||
|
|
TGuildLevel *GetGuildLevelData(int nLevel);
|
|||
|
|
|
|||
|
|
bool LoadGuildWarPointData();
|
|||
|
|
TGuildWarPoint *GetGuildWarPointData(int nRank);
|
|||
|
|
|
|||
|
|
// GuildWareHouse
|
|||
|
|
bool LoadGuildWareData();
|
|||
|
|
int GetGuildLimitItem(int nIndex);
|
|||
|
|
int GetGuildLimitCoin(int nIndex);
|
|||
|
|
int GetGuildLimitMaxItem();
|
|||
|
|
int GetGuildLimitMaxCoin();
|
|||
|
|
|
|||
|
|
// VehicleTable
|
|||
|
|
bool LoadVehicleData();
|
|||
|
|
TVehicleData *GetVehicleData(int nItemID);
|
|||
|
|
int GetVehicleClassID(int nItemID);
|
|||
|
|
int GetVehicleActorID(int nItemID);
|
|||
|
|
int GetPetLevelTypeID(int nItemID);
|
|||
|
|
|
|||
|
|
// VehiclePartsTable
|
|||
|
|
bool LoadVehiclePartsData();
|
|||
|
|
TVehiclePartsData *GetVehiclePartsData(int nItemID);
|
|||
|
|
int GetVehiclePartsType(int nItemID);
|
|||
|
|
|
|||
|
|
bool LoadPetLevelData();
|
|||
|
|
TPetLevelData *GetPetLevelData(int nPetLevelType);
|
|||
|
|
TPetLevelDetail *GetPetLevelDetail(int nPetBodyItemID, int nPetExp);
|
|||
|
|
int GetPetLevelTableIndex(int nPetBodyItemID, int nPetExp);
|
|||
|
|
|
|||
|
|
bool LoadPetFoodData();
|
|||
|
|
TPetFoodData *GetPetFoodData(int nItemID);
|
|||
|
|
|
|||
|
|
// <20><>Ģ<EFBFBD><C4A2>
|
|||
|
|
unsigned int MemoryToRSHashKey(const wchar_t* pszData, long nSize);
|
|||
|
|
#if defined(PRE_ADD_MULTILANGUAGE)
|
|||
|
|
bool LoadProhibitWord(int nLanguage, const char * pszFilePath);
|
|||
|
|
TProhibitWord * GetLanguageSlangFilter(int nLanguage);
|
|||
|
|
bool CheckProhibitWord(int nLanguage, const wchar_t *pwszWord);
|
|||
|
|
#else //#if defined(PRE_ADD_MULTILANGUAGE)
|
|||
|
|
bool LoadProhibitWord();
|
|||
|
|
bool CheckProhibitWord(const wchar_t *pwszWord);
|
|||
|
|
#endif //#if defined(PRE_ADD_MULTILANGUAGE)
|
|||
|
|
|
|||
|
|
bool LoadExchangeTradeData();
|
|||
|
|
bool GetExchangeGroupID(int nGroupID, char cItemChange[]);
|
|||
|
|
TExchangeTrade* GetExchageTradeData(int nItemID);
|
|||
|
|
|
|||
|
|
std::map<LadderSystem::MatchType::eCode,std::vector<int>> m_LadderMatchTypeMapIndex;
|
|||
|
|
|
|||
|
|
bool LoadPVPMissionRoom();
|
|||
|
|
TPvPMissionRoom* GetPvPMissionRoom(int nItemID);
|
|||
|
|
TVecPvPMissionRoom& GetVecPvPMissionRoom();
|
|||
|
|
bool LoadMonsterLevel();
|
|||
|
|
bool LoadGhoulModeCondition();
|
|||
|
|
void GetGhoulGroup(int nUserCount, TMonsterMutationGroup &Group, int &nGhoulCount);
|
|||
|
|
|
|||
|
|
bool LoadMonsterMutationGroupData();
|
|||
|
|
bool GetMonsterMutationGroup(int nGroupID, TMonsterMutationGroup &Group);
|
|||
|
|
|
|||
|
|
bool LoadMonsterMutationData();
|
|||
|
|
bool GetMonsterMutationData(int nMutationDataID, TMonsterMutationData &Data);
|
|||
|
|
int GetMonsterMutationActorID( int nMutationDataID );
|
|||
|
|
int GetMonsterMutationMoveSpeed( int nMutationDataID );
|
|||
|
|
bool LoadMonsterMutationSkillData();
|
|||
|
|
|
|||
|
|
#if defined( _GAMESERVER )
|
|||
|
|
bool LoadPvPGameModeSkillSetting();
|
|||
|
|
bool GetPvPGameModeSkillSetting( int iGroupID, int iClassID, std::vector<std::pair<int,int>>& vData );
|
|||
|
|
#endif // #if defined( _GAMESERVER )
|
|||
|
|
|
|||
|
|
bool LoadBattleGroundMode(); //<2F>ϴ<EFBFBD><CFB4><EFBFBD> <20><><EFBFBD>̺<EFBFBD><CCBA><EFBFBD> <20>̷<EFBFBD><CCB7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD> <20≯<EFBFBD><CCB8><EFBFBD> <20>̷<EFBFBD><CCB7><EFBFBD> <20><><EFBFBD>߿<EFBFBD> PvPMode<64><65> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
|
|||
|
|
bool GetBattleGroundModeInfo(int nPvPModeID, TBattleGourndModeInfo &ModeInfo);
|
|||
|
|
|
|||
|
|
bool LoadBattleGroundResourceArea(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool GetBattleGroundResourceAreaInfo(int nMapID, int nPvPModeID, std::vector<TPositionAreaInfo> &vList);
|
|||
|
|
|
|||
|
|
bool LoadBattleGroundSkillSet();
|
|||
|
|
TBattleGroundSkillInfo * GetBattleGroundSkill(int nSkillID);
|
|||
|
|
TBattleGroundEffectValue * GetBattleGroundSkillLevel(int nSkillID, int nLevel);
|
|||
|
|
|
|||
|
|
bool LoadReputeBenefitData();
|
|||
|
|
TUnionReputeBenefitData* GetUnionReputeBenefitByItemID(int nItemID);
|
|||
|
|
|
|||
|
|
bool LoadGuildMarkData();
|
|||
|
|
int IsValidCompleteMark(int nItemID, int nType);
|
|||
|
|
bool IsValidGuildMark(int nItemID, bool bCheckCash);
|
|||
|
|
|
|||
|
|
bool LoadPlayerCommonLeaveTable();
|
|||
|
|
int GetFatigue10000RatioFromPlayerCommonLevelTable( int iLevel );
|
|||
|
|
TPlayerCommonLevelTableInfo* GetPlayerCommonLevelTable(int nLevel);
|
|||
|
|
#if defined(PRE_ADD_TALISMAN_SYSTEM)
|
|||
|
|
int GetTalismanCostFromPlayerCommonLevelTable( int iLevel );
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
bool LoadMasterSysFeelTable();
|
|||
|
|
int GetMasterSysFeelAddExp(int nFavor);
|
|||
|
|
bool LoadGlobalEventData();
|
|||
|
|
TGlobalEventData* GetGlobalEventData(int nScheduleID);
|
|||
|
|
|
|||
|
|
bool LoadEveryDayEventData();
|
|||
|
|
TEveryDayEventData* GetEveryDayEventRewardMailID(int iOngoingDay);
|
|||
|
|
bool CheckEveryDayEventTime(WORD *index); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> üũ<C3BC><C5A9> ȸ<><C8B8><EFBFBD><EFBFBD> <20><>ġ<EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD> üũ. <20><>ġ<EFBFBD><C4A1><EFBFBD><EFBFBD> <20>ʴ´ٸ<C2B4> <20><><EFBFBD>ο<EFBFBD> <20>̺<EFBFBD>Ʈ<EFBFBD>̹Ƿ<CCB9> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
#ifdef PRE_FIX_MEMOPT_EXT
|
|||
|
|
char* GetFileNameFromFileEXT(DNTableFileFormat* pRawSox, int itemId, const char* pFieldName, DNTableFileFormat* pFileNameSox = NULL);
|
|||
|
|
void GetFileNameFromFileEXT(std::string& result, DNTableFileFormat* pRawSox, int itemId, const char* pFieldName, DNTableFileFormat* pFileNameSox = NULL);
|
|||
|
|
void GetFileNameFromFileEXT(std::string& result, DNTableFileFormat* pRawSox, int itemId, int fieldIndex, DNTableFileFormat* pFileNameSox = NULL);
|
|||
|
|
char* GetFileNameFromFileEXT(int index, DNTableFileFormat* pFileSox = NULL);
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
bool bIsGuildReversionItem( int iItemID );
|
|||
|
|
|
|||
|
|
#if defined( PRE_PARTY_DB )
|
|||
|
|
bool LoadPartySortWeightTable();
|
|||
|
|
int GetPartySortWeight( Party::SortWeightIndex::eCode Type );
|
|||
|
|
|
|||
|
|
bool LoadDungeonSortWeightTable();
|
|||
|
|
int GetDungeonSortWeight( int iMapindex );
|
|||
|
|
#endif // #if defined( PRE_PARTY_DB )
|
|||
|
|
|
|||
|
|
bool LoadGuildRewardItemData();
|
|||
|
|
TGuildRewardItemData* GetGuildRewardItemData(int nItemID);
|
|||
|
|
|
|||
|
|
vector<int> GetVillageMaps() const { return vector<int>(m_vVillageMaps); }
|
|||
|
|
#if defined( PRE_ADD_SALE_COUPON)
|
|||
|
|
bool LoadSaleCouponData();
|
|||
|
|
TSaleCouponData* GetSaleCouponItemData(int nItemID);
|
|||
|
|
bool IsSaleCouponItemBuyItem(int nCouponItemID, int nBuyItemSN);
|
|||
|
|
#endif // #if defined( PRE_ADD_SALE_COUPON)
|
|||
|
|
|
|||
|
|
#if defined( PRE_ADD_NAMEDITEM_SYSTEM )
|
|||
|
|
bool LoadNamedItemData();
|
|||
|
|
int GetNamedItemMaxCount(int nItemID);
|
|||
|
|
int GetNamedItemSwapID(int nItemID);
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#ifdef PRE_ADD_EXCHANGE_POTENTIAL
|
|||
|
|
bool LoadPotentialTransferData();
|
|||
|
|
int GetPotentialTransConsumptionCount(int nExtractLevel, int nExtractRank, int nInjectLevel, int nInjectRank, int nMainType, int nSubType);
|
|||
|
|
#endif //#ifdef PRE_ADD_EXCHANGE_POTENTIAL
|
|||
|
|
|
|||
|
|
bool LoadCashErasableType();
|
|||
|
|
bool IsCashErasableType(int nItemID);
|
|||
|
|
|
|||
|
|
#if defined( PRE_WORLDCOMBINE_PARTY )
|
|||
|
|
bool LoadCombinePartyData();
|
|||
|
|
WorldCombineParty::WrldCombinePartyData* GetCombinePartyData(int nPrimaryIndex);
|
|||
|
|
void CheckCombinePartyData(std::map<int,WorldCombineParty::WrldCombinePartyData> ExistCombineParty, std::map<int,WorldCombineParty::WrldCombinePartyData> &CreateCombineParty);
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#if defined( PRE_ADD_PCBANG_RENTAL_ITEM)
|
|||
|
|
bool LoadPcCafeRentData();
|
|||
|
|
bool IsPcCafeRentItem(int nItemID);
|
|||
|
|
int GetPcCafeRentItemID(BYTE cLevel, char cClassID, BYTE cJob, BYTE cPcCafeGrade, std::map<int,int> &vList );
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#if defined(PRE_ADD_INSTANT_CASH_BUY)
|
|||
|
|
bool LoadCashBuyShortcut();
|
|||
|
|
TCashBuyShortcutData *GetCashBuyShortcut(int nType);
|
|||
|
|
bool IsCashBuyShortcut(int nType, int nMapIndex, int nItemSN);
|
|||
|
|
#endif // #if defined(PRE_ADD_INSTANT_CASH_BUY)
|
|||
|
|
|
|||
|
|
#if defined(PRE_ADD_EXCHANGE_ENCHANT)
|
|||
|
|
bool LoadEnchantTransferData();
|
|||
|
|
TExchangeEnchantData* GetExchangeEnchantData(BYTE cRank, BYTE cLevelLimit, BYTE cEnchantLevel);
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#if defined(PRE_FIX_NEXTSKILLINFO)
|
|||
|
|
SKILL_LEVEL_INFO* GetSkillLevelTableIDList(int nSkillID, int nApplyType);
|
|||
|
|
#endif // #if defined(PRE_FIX_NEXTSKILLINFO)
|
|||
|
|
|
|||
|
|
#if defined(PRE_ADD_WEEKLYEVENT)
|
|||
|
|
bool LoadWeeklyEvent();
|
|||
|
|
WeeklyEvent::TWeeklyEvent *GetWeeklyEvent(int nDayOfWeek);
|
|||
|
|
int GetWeeklyEventValue(int nRaceType, int nClassType, int nEventType, int nThreadIndex);
|
|||
|
|
float GetWeeklyEventValuef(int nRaceType, int nClassType, int nEventType, int nThreadIndex);
|
|||
|
|
void WeeklyEventClear();
|
|||
|
|
#endif // #if defined(PRE_ADD_WEEKLYEVENT)
|
|||
|
|
|
|||
|
|
#if defined( PRE_ADD_TOTAL_LEVEL_SKILL )
|
|||
|
|
bool LoadTotalLevelSkill();
|
|||
|
|
int GetTotalLevelSkillType( int nSkillID );
|
|||
|
|
float GetTotalLevelSkillValue( int nSkillID, TotalLevelSkill::Common::eVillageEffectType eType );
|
|||
|
|
int GetintTotalLevelSkillValue( int nSkillID, TotalLevelSkill::Common::eVillageEffectType eType );
|
|||
|
|
bool bIsTotalLevelSkillLimitLevel( int nSlotIndex, int nSkillID, int nTotalLevel, int nCharacterLevel);
|
|||
|
|
bool bIsTotalLevelSkillCashSlot( int nSlotIndex );
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#if defined(PRE_SPECIALBOX)
|
|||
|
|
bool LoadKeepBoxProvideItem();
|
|||
|
|
TKeepBoxProvideItemData *GetKeepBoxProvideItemData(int nType);
|
|||
|
|
#endif // #if defined(PRE_SPECIALBOX)
|
|||
|
|
|
|||
|
|
#ifdef PRE_ADD_JOINGUILD_SUPPORT
|
|||
|
|
bool LoadGuildSupport();
|
|||
|
|
int GetRewardGuildSupportMailID(int nLevel);
|
|||
|
|
int GetRewardFisrtGuildJoinMailID(int nLevel);
|
|||
|
|
#endif //#ifdef PRE_ADD_JOINGUILD_SUPPORT
|
|||
|
|
|
|||
|
|
#if defined(PRE_ADD_REMOTE_QUEST)
|
|||
|
|
bool LoadRemoteQuestData();
|
|||
|
|
int GetRemoteQuestDataSize();
|
|||
|
|
TRemoteQuestData * GetRemoteQuestData( int nArrayIndex );
|
|||
|
|
TRemoteQuestData * GetRemoteQuestDataByQuestID( int nQuestID );
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#if defined(PRE_ADD_STAGE_CLEAR_ADD_REWARD)
|
|||
|
|
bool LoadBonusDropTable(void);
|
|||
|
|
int GetBonusDropGroupID(int nMapID, int nNeedItemID);
|
|||
|
|
#endif // #if defined(PRE_ADD_STAGE_CLEAR_ADD_REWARD)
|
|||
|
|
|
|||
|
|
#if defined( PRE_WORLDCOMBINE_PVP )
|
|||
|
|
bool LoadWorldPVPMissionRoom();
|
|||
|
|
TWorldPvPMissionRoom* GetWorldPvPMissionRoom(int nItemID);
|
|||
|
|
TVecWorldPvPMissionRoom& GetWorldVecPvPMissionRoom();
|
|||
|
|
bool bIsWorldPvPRoomAllowMode( int nMode );
|
|||
|
|
#endif
|
|||
|
|
#if defined(PRE_ADD_STAGE_CLEAR_ENCHANT_REWARD)
|
|||
|
|
bool LoadDropItemEnchant();
|
|||
|
|
TItemDropEnchantData* GetDropItemEnchant(int nDropTableID) ;
|
|||
|
|
#endif // #if defined(PRE_ADD_STAGE_CLEAR_ENCHANT_REWARD)
|
|||
|
|
#if defined( PRE_ALTEIAWORLD_EXPLORE )
|
|||
|
|
bool LoadAlteiaWorldMapInfo();
|
|||
|
|
TAlteiaWorldMapInfo* GetAlteiaWorldMapInfo(int nIndex);
|
|||
|
|
int GetAlteiaWorldMapMaxCount() { return m_nAlteiaWorldMapMaxCount;}
|
|||
|
|
bool bIsAlteiaWorldEventTime();
|
|||
|
|
time_t GetAlteiaWorldEventBeginTime() { return m_tAlteiaWorldBeginTime;}
|
|||
|
|
time_t GetAlteiaWorldEventEndTime() { return m_tAlteiaWorldEndTime;}
|
|||
|
|
#endif // #if defined( PRE_ALTEIAWORLD_EXPLORE )
|
|||
|
|
#if defined( PRE_ADD_STAMPSYSTEM )
|
|||
|
|
bool LoadStampTable();
|
|||
|
|
const StampSystem::TStampTableData * GetStampTableData( INT64 biTime ) const;
|
|||
|
|
#endif // #if defined( PRE_ADD_STAMPSYSTEM )
|
|||
|
|
|
|||
|
|
#if defined(PRE_ADD_TALISMAN_SYSTEM)
|
|||
|
|
bool LoadTalismanData();
|
|||
|
|
TTalismanData* GetTalismanData(int nTalismanID);
|
|||
|
|
|
|||
|
|
bool LoadTalismanSlotData();
|
|||
|
|
TTalismanSlotData* GetTalismanSlotData(int nIndex);
|
|||
|
|
float GetTalismanSlotEfficiency(int nIndex);
|
|||
|
|
bool IsTalismanSlotLevel(int nTalismanIndex, int nCharLevel);
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#if defined( PRE_DRAGONBUFF )
|
|||
|
|
void AddWorldBuffData( int nItemID );
|
|||
|
|
bool bIsWorldBuffData( int nItemID );
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#if defined( PRE_PVP_GAMBLEROOM )
|
|||
|
|
bool LoadPVPGambleRoomData();
|
|||
|
|
TPvPMissionRoom* GetPvPGambleRoom(int nItemID);
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#if defined( PRE_ADD_STAGE_WEIGHT )
|
|||
|
|
bool LoadStageWeightData();
|
|||
|
|
const TStageWeightData* GetStageWeigthData( int nStageWeightID, DWORD dwUserCount );
|
|||
|
|
#endif // #if defined( PRE_ADD_STAGE_WEIGHT )
|
|||
|
|
|
|||
|
|
TPVPSkills* GetPVPSkillPDamage(int nSkillID, int iSkillLevel);
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
extern CDNGameDataManager* g_pDataManager;
|