diff options
Diffstat (limited to 'src/game/base/platform.cc')
| -rw-r--r-- | src/game/base/platform.cc | 24 | 
1 files changed, 13 insertions, 11 deletions
| diff --git a/src/game/base/platform.cc b/src/game/base/platform.cc index 15c7576..77059ae 100644 --- a/src/game/base/platform.cc +++ b/src/game/base/platform.cc @@ -50,35 +50,37 @@ void Platform::frame(const unsigned long elapsed)  		for (core::Zone::Content::iterator zit = zone()->content().begin(); zit != zone()->content().end(); ++zit) {  			if ((*zit)->moduletype() == ship_enttype) { -				Ship *ship = static_cast<Ship *>((*zit)); +				Ship *other_ship = static_cast<Ship *>((*zit)); -				if ((ship->state() != Normal) && (ship->state() != ImpulseInitiate) && (ship->state() != Impulse)) { +				if ((other_ship->state() != Normal) && (other_ship->state() != ImpulseInitiate) && (other_ship->state() != Impulse)) {  					continue;  				} -				const float d = math::distance(location(), ship->location()); -				const float r = radius() + ship->radius(); +				const float d = math::distance(location(), other_ship->location()); +				const float r = radius() + other_ship->radius();  				// too far  				if (d > weapon_range + r) {  					continue;  				} +				// reputation is interprated as "what others think of me"  				float reputation = 0.0f; -				if (ship->owner()) { -					// check owner reputation for the faction the NPC belongs to -					reputation = ship->owner()->reputation(faction()); +				if (other_ship->owner()) { +					// check owner reputation for the faction this platform belongs to +					reputation = other_ship->owner()->reputation(faction()); -				} else if (faction() && (faction()->type() == Faction::infotype())) { -					//check my faction reputation for the other ships's faction -					reputation = static_cast<const Faction *>(faction())->reputation(ship->faction()); +				} else if (other_ship->faction()) { +					// check other ships's faction for the faction this platform belongs to +					assert(other_ship->faction()->type() == Faction::infotype()); +					reputation = static_cast<const Faction *>(other_ship->faction())->reputation(faction());  				}  				// reputation threshold to get attacked  				if (reputation > core::range::reputation_hostile) {  					continue;  				} -				enemylist.push_back(ship); +				enemylist.push_back(other_ship);  			}  		} | 
