Exemple #1
0
 internal static void Write(int version, BinaryWriter bw, AWARD_DATA reward)
 {
     bw.Write(reward.m_ulGoldNum);
     bw.Write(reward.m_ulExp);
     if (version >= 118)
     {
         bw.Write(reward.m_ulRealmExp);
         bw.Write(reward.m_bExpandRealmLevelMax);
     }
     bw.Write(reward.m_ulNewTask);
     bw.Write(reward.m_ulSP);
     bw.Write(reward.m_lReputation);
     bw.Write(reward.m_ulNewPeriod);
     bw.Write(reward.m_ulNewRelayStation);
     bw.Write(reward.m_ulStorehouseSize);
     if (version >= 57)
     {
         bw.Write(reward.m_ulStorehouseSize2);
         bw.Write(reward.m_ulStorehouseSize3);
     }
     if (version >= 75)
     {
         bw.Write(reward.m_ulStorehouseSize4);
     }
     if (version >= 53)
     {
         bw.Write(reward.m_lInventorySize);
         bw.Write(reward.m_ulPetInventorySize);
     }
     bw.Write(reward.m_ulFuryULimit);
     bw.Write(reward.m_ulTransWldId);
     ZONE_VERT.Write(version, bw, reward.m_TransPt);
     if (version >= 53)
     {
         bw.Write(reward.m_lMonsCtrl);
         bw.Write(reward.m_bTrigCtrl);
     }
     if (version >= 54)
     {
         bw.Write(reward.m_bUseLevCo);
     }
     if (version >= 55)
     {
         bw.Write(reward.m_bDivorce);
     }
     if (version >= 56)
     {
         bw.Write(reward.m_bSendMsg);
         bw.Write(reward.m_nMsgChannel);
     }
     bw.Write(reward.m_ulCandItems);
     bw.Write(reward.m_CandItemsPointer);
     if (version >= 68)
     {
         bw.Write(reward.m_ulSummonedMonsters);
         bw.Write(reward.m_MonstersPointer);
     }
     if (version >= 69)
     {
         bw.Write(reward.m_bAwardDeath);
         bw.Write(reward.m_bAwardDeathWithLoss);
     }
     if (version >= 75)
     {
         bw.Write(reward.m_ulDividend);
     }
     if (version >= 78)
     {
         bw.Write(reward.m_bAwardSkill);
         bw.Write(reward.m_iAwardSkillID);
         bw.Write(reward.m_iAwardSkillLevel);
     }
     if (version >= 124)
     {
         bw.Write(reward.AwardSoloTowerChallengeScore);
     }
     if (version >= 75)
     {
         bw.Write(reward.m_ulSpecifyContribTaskID);
     }
     if (version >= 78)
     {
         bw.Write(reward.m_ulSpecifyContribSubTaskID);
     }
     if (version >= 75)
     {
         bw.Write(reward.m_ulSpecifyContrib);
         bw.Write(reward.m_ulContrib);
         bw.Write(reward.m_ulRandContrib);
         bw.Write(reward.m_ulLowestcontrib);
     }
     if (version >= 89)
     {
         bw.Write(reward.m_iFactionContrib);
         bw.Write(reward.m_iFactionExpContrib);
     }
     if (version >= 75)
     {
         bw.Write(reward.m_ulPQRankingAwardCnt);
         bw.Write(reward.m_RankingAwardPointer);
     }
     if (version >= 59)
     {
         bw.Write(reward.m_ulChangeKeyCnt);
         bw.Write(reward.m_ulChangeKeyPointer);
     }
     if (version >= 118)
     {
         bw.Write(reward.m_ulHistoryChangeCnt);
         bw.Write(reward.m_plHistoryChangeKeyPointer);
         bw.Write(reward.m_plHistoryChangeKeyValuePointer);
         bw.Write(reward.m_pbHistoryChangeTypePointer);
     }
     if (version >= 59)
     {
         bw.Write(reward.m_bMulti);
         bw.Write(reward.m_nNumType);
         bw.Write(reward.m_lNum);
         bw.Write(reward.m_ulDisplayKeyCnt);
         bw.Write(reward.m_ulDisplayKeyCntPointer);
     }
     if (version >= 63)
     {
         bw.Write(reward.m_ulExpCnt);
         bw.Write(reward.m_pszExpPointer);
         bw.Write(reward.m_ulTaskCharCnt);
         bw.Write(reward.m_pTaskCharPointer);
     }
     if (version >= 99)
     {
         bw.Write(reward.m_iForceContribution);
         bw.Write(reward.m_iForceReputation);
         bw.Write(reward.m_iForceActivity);
     }
     if (version >= 100)
     {
         bw.Write(reward.m_iForceSetRepu);
     }
     if (version >= 101)
     {
         bw.Write(reward.m_iTaskLimit);
     }
     if (version >= 111)
     {
         bw.Write(reward.m_ulTitleNum);
         bw.Write(reward.m_pTitleAwardPointer);
     }
     if (version >= 118)
     {
         bw.Write(reward.m_iLeaderShip);
     }
     if (version >= 119)
     {
         bw.Write(reward.AwardWorldContrib);
     }
     if (version >= 127)
     {
         for (int num31 = 0; num31 < reward.AwardHomeResource.Length; num31++)
         {
             bw.Write(reward.AwardHomeResource[num31]);
         }
         bw.Write(reward.AwardCreateHome);
     }
     for (int index = 0; index < reward.m_CandItems.Length; index++)
     {
         AWARD_ITEMS_CAND.Write(version, bw, reward.m_CandItems[index]);
     }
     if (version >= 68 && reward.m_ulSummonedMonsters > 0)
     {
         AWARD_MONSTERS_SUMMONED.Write(version, bw, reward.m_SummonedMonsters);
     }
     if (version >= 75 && reward.m_ulPQRankingAwardCnt > 0)
     {
         AWARD_PQ_RANKING.Write(version, bw, reward.m_PQRankingAward);
     }
     if (version >= 59 && reward.m_ulChangeKeyCnt > 0)
     {
         for (int index5 = 0; index5 < reward.m_ulChangeKeyCnt; index5++)
         {
             bw.Write(reward.m_plChangeKey[index5]);
             bw.Write(reward.m_plChangeKeyValue[index5]);
             bw.Write(reward.m_pbChangeType[index5]);
         }
     }
     if (version >= 118 && reward.m_ulHistoryChangeCnt > 0)
     {
         for (int index4 = 0; index4 < reward.m_ulHistoryChangeCnt; index4++)
         {
             bw.Write(reward.m_plHistoryChangeKey[index4]);
             bw.Write(reward.m_plHistoryChangeKeyValue[index4]);
             bw.Write(reward.m_pbHistoryChangeType[index4]);
         }
     }
     if (version >= 59 && reward.m_ulDisplayKeyCnt > 0)
     {
         for (int index4 = 0; index4 < reward.m_ulDisplayKeyCnt; index4++)
         {
             bw.Write(reward.m_plDisplayKey[index4]);
         }
     }
     if (version >= 63 && reward.m_ulExpCnt > 0)
     {
         for (int index6 = 0; index6 < reward.m_ulExpCnt; index6++)
         {
             bw.Write(reward.m_pszExp[index6]);
             TASK_EXPRESSION.Write(version, bw, reward.m_pExpArr[index6]);
         }
     }
     if (version >= 63 && reward.m_ulTaskCharCnt > 0)
     {
         for (int index7 = 0; index7 < reward.m_ulTaskCharCnt; index7++)
         {
             bw.Write(reward.m_pTaskChar[index7]);
         }
     }
     if (version < 111)
     {
         return;
     }
     for (int index8 = 0; index8 < reward.m_pTitleAward.Length; index8++)
     {
         TITLE_AWARD.Write(version, bw, reward.m_pTitleAward[index8]);
     }
 }