mirror of
				https://github.com/DarkflameUniverse/DarkflameServer.git
				synced 2025-10-31 20:52:01 +00:00 
			
		
		
		
	fix: Remove hard coded pet flags (#1805)
Tested that taming the cat pet (3054) sets flag 807
This commit is contained in:
		| @@ -42,35 +42,6 @@ std::unordered_map<LWOOBJID, LWOOBJID> PetComponent::activePets{}; | ||||
|  * Maps all the pet lots to a flag indicating that the player has caught it. All basic pets have been guessed by ObjID | ||||
|  * while the faction ones could be checked using their respective missions. | ||||
|  */ | ||||
| const std::map<LOT, int32_t> PetComponent::petFlags{ | ||||
| 		{ 3050, 801 },  // Elephant | ||||
| 		{ 3054, 803 },  // Cat | ||||
| 		{ 3195, 806 },  // Triceratops | ||||
| 		{ 3254, 807 },  // Terrier | ||||
| 		{ 3261, 811 },  // Skunk | ||||
| 		{ 3672, 813 },  // Bunny | ||||
| 		{ 3994, 814 },  // Crocodile | ||||
| 		{ 5635, 815 },  // Doberman | ||||
| 		{ 5636, 816 },  // Buffalo | ||||
| 		{ 5637, 818 },  // Robot Dog | ||||
| 		{ 5639, 819 },  // Red Dragon | ||||
| 		{ 5640, 820 },  // Tortoise | ||||
| 		{ 5641, 821 },  // Green Dragon | ||||
| 		{ 5643, 822 },  // Panda, see mission 786 | ||||
| 		{ 5642, 823 },  // Mantis | ||||
| 		{ 6720, 824 },  // Warthog | ||||
| 		{ 3520, 825 },  // Lion, see mission 1318 | ||||
| 		{ 7638, 826 },  // Goat | ||||
| 		{ 7694, 827 },  // Crab | ||||
| 		{ 12294, 829 }, // Reindeer | ||||
| 		{ 12431, 830 }, // Stegosaurus, see mission 1386 | ||||
| 		{ 12432, 831 }, // Saber cat, see mission 1389 | ||||
| 		{ 12433, 832 }, // Gryphon, see mission 1392 | ||||
| 		{ 12434, 833 }, // Alien, see mission 1188 | ||||
| 		// 834: unknown?, see mission 506, 688 | ||||
| 		{ 16210, 836 },  // Ninjago Earth Dragon, see mission 1836 | ||||
| 		{ 13067, 838 }, // Skeleton dragon | ||||
| }; | ||||
|  | ||||
| PetComponent::PetComponent(Entity* parentEntity, uint32_t componentId) : Component{ parentEntity } { | ||||
| 	m_PetInfo = CDClientManager::GetTable<CDPetComponentTable>()->GetByID(componentId); // TODO: Make reference when safe | ||||
| @@ -556,9 +527,8 @@ void PetComponent::NotifyTamingBuildSuccess(NiPoint3 position) { | ||||
| 	); | ||||
|  | ||||
| 	// Triggers the catch a pet missions | ||||
| 	if (petFlags.find(m_Parent->GetLOT()) != petFlags.end()) { | ||||
| 		tamer->GetCharacter()->SetPlayerFlag(petFlags.at(m_Parent->GetLOT()), true); | ||||
| 	} | ||||
| 	constexpr auto PET_FLAG_BASE = 800; | ||||
| 	tamer->GetCharacter()->SetPlayerFlag(PET_FLAG_BASE + m_ComponentId, true); | ||||
|  | ||||
| 	auto* missionComponent = tamer->GetComponent<MissionComponent>(); | ||||
|  | ||||
|   | ||||
| @@ -250,11 +250,6 @@ private: | ||||
| 	 */ | ||||
| 	static std::unordered_map<LWOOBJID, LWOOBJID> currentActivities; | ||||
|  | ||||
| 	/** | ||||
| 	 * Flags that indicate that a player has tamed a pet, indexed by the LOT of the pet | ||||
| 	 */ | ||||
| 	static const std::map<LOT, int32_t> petFlags; | ||||
|  | ||||
| 	/** | ||||
| 	 * The ID of the component in the pet component table | ||||
| 	 */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 David Markowitz
					David Markowitz