--------------------------------------------- IS GATHERING MINERALS --------------------------------------
| 490 | } |
| 491 | //--------------------------------------------- IS GATHERING MINERALS -------------------------------------- |
| 492 | bool UnitImpl::isGatheringMinerals() const |
| 493 | { |
| 494 | if (!self->isGathering) |
| 495 | return false; |
| 496 | |
| 497 | if (self->order != Orders::Harvest1 && |
| 498 | self->order != Orders::Harvest2 && |
| 499 | self->order != Orders::MoveToMinerals && |
| 500 | self->order != Orders::WaitForMinerals && |
| 501 | self->order != Orders::MiningMinerals && |
| 502 | self->order != Orders::ReturnMinerals && |
| 503 | self->order != Orders::ResetCollision) |
| 504 | return false; |
| 505 | |
| 506 | if (self->order == Orders::ResetCollision) |
| 507 | return self->carryResourceType == 2; |
| 508 | |
| 509 | //return true if BWOrder is WaitForMinerals, MiningMinerals, or ReturnMinerals |
| 510 | if (self->order == Orders::WaitForMinerals || |
| 511 | self->order == Orders::MiningMinerals || |
| 512 | self->order == Orders::ReturnMinerals) |
| 513 | return true; |
| 514 | |
| 515 | //if BWOrder is MoveToMinerals, Harvest1, or Harvest2 we need to do some additional checks to make sure the unit is really gathering |
| 516 | if (getTarget() && |
| 517 | getTarget()->exists() && |
| 518 | (getTarget()->getType().isMineralField() || |
| 519 | (getTarget()->isCompleted() && |
| 520 | getTarget()->getPlayer() == getPlayer() && |
| 521 | getTarget()->getType().isResourceDepot()))) |
| 522 | return true; |
| 523 | if (getOrderTarget() && |
| 524 | getOrderTarget()->exists() && |
| 525 | (getOrderTarget()->getType().isMineralField() || |
| 526 | (getOrderTarget()->isCompleted() && |
| 527 | getOrderTarget()->getPlayer() == getPlayer() && |
| 528 | getOrderTarget()->getType().isResourceDepot()))) |
| 529 | return true; |
| 530 | return false; |
| 531 | } |
| 532 | //--------------------------------------------- IS HALLUCINATION ------------------------------------------- |
| 533 | bool UnitImpl::isHallucination() const |
| 534 | { |