MCPcopy Create free account
hub / github.com/EasyRPG/Player / testWeapon3

Function testWeapon3

tests/game_actor.cpp:306–393  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

304}
305
306static void testWeapon3(const Game_Actor* a,
307 const lcf::rpg::Item* i1,
308 lcf::rpg::Item* i2,
309 lcf::rpg::Item* i3,
310 lcf::rpg::Item* i4,
311 lcf::rpg::Item* i5,
312 Game_Battler::Weapon wid)
313{
314 if (wid != Game_Battler::WeaponAll && wid != Game_Battler::WeaponPrimary && i1 && i1->type == lcf::rpg::Item::Type_weapon) {
315 i1 = nullptr;
316 }
317 if (wid != Game_Battler::WeaponAll && wid != Game_Battler::WeaponSecondary && i2 && i2->type == lcf::rpg::Item::Type_weapon) {
318 i2 = nullptr;
319 }
320
321 const auto isw1 = i1 && i1->type == lcf::rpg::Item::Type_weapon;
322 const auto atk1 = i1 ? i1->atk_points1 : 0;
323 const auto def1 = i1 ? i1->def_points1 : 0;
324 const auto spi1 = i1 ? i1->spi_points1 : 0;
325 const auto agi1 = i1 ? i1->agi_points1 : 0;
326
327 const auto pre1 = i1 && isw1 ? i1->preemptive : false;
328 const auto dul1 = i1 && isw1 ? i1->dual_attack : false;
329 const auto all1 = i1 && isw1 ? i1->attack_all : false;
330 const auto eva1 = i1 && isw1 ? i1->ignore_evasion : false;
331
332 const auto hit1 = i1 && isw1 ? i1->hit : 0;
333 const auto crt1 = i1 && isw1 ? i1->critical_hit : 0;
334
335 const auto isw2 = i2 && i2->type == lcf::rpg::Item::Type_weapon;
336 const auto atk2 = i2 ? i2->atk_points1 : 0;
337 const auto def2 = i2 ? i2->def_points1 : 0;
338 const auto spi2 = i2 ? i2->spi_points1 : 0;
339 const auto agi2 = i2 ? i2->agi_points1 : 0;
340
341 const auto pre2 = i2 && isw2 ? i2->preemptive : false;
342 const auto dul2 = i2 && isw2 ? i2->dual_attack : false;
343 const auto all2 = i2 && isw2 ? i2->attack_all : false;
344 const auto eva2 = i2 && isw2 ? i2->ignore_evasion : false;
345
346 const auto hit2 = i2 && isw2 && i2->type == lcf::rpg::Item::Type_weapon ? i2->hit : 0;
347 const auto crt2 = i2 && isw2 && i2->type == lcf::rpg::Item::Type_weapon ? i2->critical_hit : 0;
348
349 const auto atkA = (i3 ? i3->atk_points1 : 0) + (i4 ? i4->atk_points1 : 0) + (i5 ? i5->atk_points1 : 0);
350 const auto defA = (i3 ? i3->def_points1 : 0) + (i4 ? i4->def_points1 : 0) + (i5 ? i5->def_points1 : 0);
351 const auto spiA = (i3 ? i3->spi_points1 : 0) + (i4 ? i4->spi_points1 : 0) + (i5 ? i5->spi_points1 : 0);
352 const auto agiA = (i3 ? i3->agi_points1 : 0) + (i4 ? i4->agi_points1 : 0) + (i5 ? i5->agi_points1 : 0);
353
354 const auto pctA = (i2 && !isw2 && i2->prevent_critical) || (i3 && i3->prevent_critical) || (i4 && i4->prevent_critical) || (i5 && i5->prevent_critical);
355 const auto revA = (i2 && !isw2 && i2->raise_evasion) || (i3 && i3->raise_evasion) || (i4 && i4->raise_evasion) || (i5 && i5->raise_evasion);
356 const auto hspA = (i2 && !isw2 && i2->half_sp_cost) || (i3 && i3->half_sp_cost) || (i4 && i4->half_sp_cost) || (i5 && i5->half_sp_cost);
357 const auto notA = (i2 && !isw2 && i2->no_terrain_damage) || (i3 && i3->no_terrain_damage) || (i4 && i4->no_terrain_damage) || (i5 && i5->no_terrain_damage);
358
359 CAPTURE(wid);
360 CAPTURE(i1);
361 CAPTURE(i2);
362 CAPTURE(isw1);
363 CAPTURE(isw2);

Callers 1

testWeapon2Function · 0.85

Calls 15

maxFunction · 0.85
ApproxFunction · 0.85
HasHalfSpCostMethod · 0.80
PreventsTerrainDamageMethod · 0.80
GetAtkMethod · 0.80
GetDefMethod · 0.80
GetSpiMethod · 0.80
GetAgiMethod · 0.80
GetBaseAtkMethod · 0.45
GetBaseDefMethod · 0.45
GetBaseSpiMethod · 0.45
GetBaseAgiMethod · 0.45

Tested by

no test coverage detected