Added missing premium trigger opcode.
This commit is contained in:
		
							parent
							
								
									ef7f94ac76
								
							
						
					
					
						commit
						d3d3294277
					
				|  | @ -107,6 +107,7 @@ namespace Proto { | ||||||
|         GameServerCreatureType              = 149, |         GameServerCreatureType              = 149, | ||||||
|         GameServerEditText                  = 150, |         GameServerEditText                  = 150, | ||||||
|         GameServerEditList                  = 151, |         GameServerEditList                  = 151, | ||||||
|  |         GameServerPremiumTrigger            = 158, // 1038
 | ||||||
|         GameServerPlayerDataBasic           = 159, // 950
 |         GameServerPlayerDataBasic           = 159, // 950
 | ||||||
|         GameServerPlayerData                = 160, |         GameServerPlayerData                = 160, | ||||||
|         GameServerPlayerSkills              = 161, |         GameServerPlayerSkills              = 161, | ||||||
|  |  | ||||||
|  | @ -178,6 +178,7 @@ private: | ||||||
|     void parseCreatureUnpass(const InputMessagePtr& msg); |     void parseCreatureUnpass(const InputMessagePtr& msg); | ||||||
|     void parseEditText(const InputMessagePtr& msg); |     void parseEditText(const InputMessagePtr& msg); | ||||||
|     void parseEditList(const InputMessagePtr& msg); |     void parseEditList(const InputMessagePtr& msg); | ||||||
|  |     void parsePremiumTrigger(const InputMessagePtr& msg); | ||||||
|     void parsePlayerInfo(const InputMessagePtr& msg); |     void parsePlayerInfo(const InputMessagePtr& msg); | ||||||
|     void parsePlayerStats(const InputMessagePtr& msg); |     void parsePlayerStats(const InputMessagePtr& msg); | ||||||
|     void parsePlayerSkills(const InputMessagePtr& msg); |     void parsePlayerSkills(const InputMessagePtr& msg); | ||||||
|  |  | ||||||
|  | @ -207,6 +207,10 @@ void ProtocolGame::parseMessage(const InputMessagePtr& msg) | ||||||
|             case Proto::GameServerEditList: |             case Proto::GameServerEditList: | ||||||
|                 parseEditList(msg); |                 parseEditList(msg); | ||||||
|                 break; |                 break; | ||||||
|  |             // PROTOCOL>=1038
 | ||||||
|  |             case Proto::GameServerPremiumTrigger: | ||||||
|  |                 parsePremiumTrigger(msg); | ||||||
|  |                 break; | ||||||
|             case Proto::GameServerPlayerData: |             case Proto::GameServerPlayerData: | ||||||
|                 parsePlayerStats(msg); |                 parsePlayerStats(msg); | ||||||
|                 break; |                 break; | ||||||
|  | @ -1019,6 +1023,16 @@ void ProtocolGame::parseEditList(const InputMessagePtr& msg) | ||||||
|     g_game.processEditList(id, doorId, text); |     g_game.processEditList(id, doorId, text); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | void ProtocolGame::parsePremiumTrigger(const InputMessagePtr& msg) | ||||||
|  | { | ||||||
|  |     int triggerCount = msg->getU8(); | ||||||
|  |     std::vector<int> triggers; | ||||||
|  |     for(int i=0;i<triggerCount;++i) { | ||||||
|  |         triggers.push_back(msg->getU8()); | ||||||
|  |     } | ||||||
|  |     bool something = msg->getU8() == 1; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| void ProtocolGame::parsePlayerInfo(const InputMessagePtr& msg) | void ProtocolGame::parsePlayerInfo(const InputMessagePtr& msg) | ||||||
| { | { | ||||||
|     bool premium = msg->getU8(); // premium
 |     bool premium = msg->getU8(); // premium
 | ||||||
|  | @ -2036,11 +2050,11 @@ ItemPtr ProtocolGame::getItem(const InputMessagePtr& msg, int id) | ||||||
| 
 | 
 | ||||||
|     if(g_game.getFeature(Otc::GameItemAnimationPhase)) { |     if(g_game.getFeature(Otc::GameItemAnimationPhase)) { | ||||||
|         if(item->getAnimationPhases() > 1) { |         if(item->getAnimationPhases() > 1) { | ||||||
|             // 0xfe => random phase
 |             // 0x00 => automatic phase
 | ||||||
|             // 0xff => async?
 |             // 0xFE => random phase
 | ||||||
|  |             // 0xFF => async phase
 | ||||||
|             msg->getU8(); |             msg->getU8(); | ||||||
|             // Remove async since OTB file in server is configured so every item with animationPhase > 1 is a random phase item.
 |             //item->setPhase(msg->getU8());
 | ||||||
|             //item->setAsync(msg->getU8() == 0xff);
 |  | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 BenDol
						BenDol