Advertisement
Pr0nogo

Untitled

Jan 11th, 2021
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. else if (weaponId == WeaponId::MinotaurLaserBattery) {
  2. std::set<CUnit*> monoceros;
  3. monoceros.insert(unit->orderTarget.unit);
  4. scbw::createBullet(weaponId, unit, x, y, unit->playerId, unit->currentDirection1);
  5. auto old = unit->orderTarget.unit;
  6. for (int i = 0; i < 5; i++) {
  7. auto range = hooks::getMaxWeaponRangeHook(unit, WeaponId::MinotaurLaserBattery) + 32;
  8. auto n = unitRangeCount(unit, CFlags::Enemy | CFlags::FrontalArc, {});
  9. auto newTarget = scbw::UnitFinder::getNearestTarget(
  10. unit->getX() - range, unit->getY() - range,
  11. unit->getX() + range, unit->getY() + range,
  12. unit, monocerosTargetingMatch(unit, monoceros)
  13. );
  14. if (newTarget != NULL
  15. && n.match(newTarget)) {
  16. monoceros.insert(newTarget);
  17. unit->orderTarget.unit = newTarget;
  18. auto newAngle = scbw::getAngle(unit->getX(), unit->getY(),
  19. newTarget->getX(), newTarget->getY());
  20. scbw::createBullet(weaponId, unit, unit->getX(), unit->getY(), unit->playerId, newAngle);
  21. }
  22. else {
  23. break;
  24. }
  25. }
  26. unit->orderTarget.unit = old;
  27. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement