MCPcopy Create free account
hub / github.com/OpenDungeons/OpenDungeons / writeWeaponDiff

Method writeWeaponDiff

source/entities/Weapon.cpp:165–202  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

163}
164
165void Weapon::writeWeaponDiff(const Weapon* def1, const Weapon* def2, std::ofstream& file)
166{
167 file << "[Equipment]" << std::endl;
168 file << " Name\t" << def2->mName << std::endl;
169 if(!def2->mBaseDefinition.empty())
170 {
171 // If there is a base definition, we take it as the reference no matter what def1 is because
172 // we want to write only the differences between reference and def2
173 def1 = ConfigManager::getSingleton().getWeapon(def2->mBaseDefinition);
174 OD_ASSERT_TRUE_MSG(def1 != nullptr, "BaseDefinition=" + def2->mBaseDefinition);
175 file << " BaseDefinition\t" << def2->mBaseDefinition << std::endl;
176 }
177 file << " [Stats]" << std::endl;
178
179 if(def1 == nullptr || (def1->mMeshName.compare(def2->mMeshName) != 0))
180 file << " MeshName\t" << def2->mMeshName << std::endl;
181
182 if(def1 == nullptr || (def1->mPhysicalDamage != def2->mPhysicalDamage))
183 file << " PhysicalDamage\t" << def2->mPhysicalDamage << std::endl;
184
185 if(def1 == nullptr || (def1->mMagicalDamage != def2->mMagicalDamage))
186 file << " MagicalDamage\t" << def2->mMagicalDamage << std::endl;
187
188 if(def1 == nullptr || (def1->mElementDamage != def2->mElementDamage))
189 file << " ElementDamage\t" << def2->mElementDamage << std::endl;
190
191 if(def1 == nullptr || (def1->mPhysicalDefense != def2->mPhysicalDefense))
192 file << " PhysicalDefense\t" << def2->mPhysicalDefense << std::endl;
193
194 if(def1 == nullptr || (def1->mMagicalDefense != def2->mMagicalDefense))
195 file << " MagicalDefense\t" << def2->mMagicalDefense << std::endl;
196
197 if(def1 == nullptr || (def1->mElementDefense != def2->mElementDefense))
198 file << " ElementDefense\t" << def2->mElementDefense << std::endl;
199
200 file << " [/Stats]" << std::endl;
201 file << "[/Equipment]" << std::endl;
202}
203
204ODPacket& operator <<(ODPacket& os, const Weapon *weapon)
205{

Callers

nothing calls this directly

Calls 1

getWeaponMethod · 0.45

Tested by

no test coverage detected