- Increased the strength of the Constrictor a bit when fighting against more experienced players.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3210 127b21dd-08f5-0310-b4b7-95ae10353056
This commit is contained in:
parent
4ddc56153a
commit
f4e872077a
@ -42,6 +42,9 @@ this.shipSpawned = function ()
|
|||||||
{
|
{
|
||||||
this.legalPoints = this.ship.bounty;
|
this.legalPoints = this.ship.bounty;
|
||||||
this.ship.bounty = 0;
|
this.ship.bounty = 0;
|
||||||
|
if (player.score > 512) this.ship.awardEquipment("EQ_SHIELD_BOOSTER"); // Player is Dangerous
|
||||||
|
if (player.score > 2560) this.ship.awardEquipment("EQ_SHIELD_ENHANCER"); // Player is Deadly
|
||||||
|
this.ship.energy = this.ship.maxEnergy; // start with all energy banks full.
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -4687,11 +4687,18 @@ static BOOL MaintainLinkedLists(Universe* uni)
|
|||||||
&&(v_off.x < cr)&&(v_off.x > -cr)&&(v_off.y < cr)&&(v_off.y > -cr) // AND not off to one side or another
|
&&(v_off.x < cr)&&(v_off.x > -cr)&&(v_off.y < cr)&&(v_off.y > -cr) // AND not off to one side or another
|
||||||
&&(v_off.x*v_off.x + v_off.y*v_off.y < cr*cr)) // AND not off to both sides
|
&&(v_off.x*v_off.x + v_off.y*v_off.y < cr*cr)) // AND not off to both sides
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/*
|
||||||
|
// EW 23-4-2002: Below used to be a test for: e2->actual_radius with Oolite 1.65.
|
||||||
|
// With e2->collision_radius it is now just duplicating the test above.
|
||||||
|
// Remove the code or use something smaller to check (if possible).
|
||||||
|
|
||||||
// within the bounding sphere - do further tests
|
// within the bounding sphere - do further tests
|
||||||
GLfloat ar = e2->collision_radius;
|
GLfloat ar = e2->collision_radius;
|
||||||
if ((v_off.z > 0.0)&&(v_off.z < nearest + ar) // ahead AND within range
|
if ((v_off.z > 0.0)&&(v_off.z < nearest + ar) // ahead AND within range
|
||||||
&&(v_off.x < ar)&&(v_off.x > -ar)&&(v_off.y < ar)&&(v_off.y > -ar) // AND not off to one side or another
|
&&(v_off.x < ar)&&(v_off.x > -ar)&&(v_off.y < ar)&&(v_off.y > -ar) // AND not off to one side or another
|
||||||
&&(v_off.x*v_off.x + v_off.y*v_off.y < ar*ar)) // AND not off to both sides
|
&&(v_off.x*v_off.x + v_off.y*v_off.y < ar*ar)) // AND not off to both sides
|
||||||
|
*/
|
||||||
{
|
{
|
||||||
ShipEntity* entHit = (ShipEntity*)nil;
|
ShipEntity* entHit = (ShipEntity*)nil;
|
||||||
GLfloat hit = [(ShipEntity*)e2 doesHitLine:p0:p1:&entHit]; // octree detection
|
GLfloat hit = [(ShipEntity*)e2 doesHitLine:p0:p1:&entHit]; // octree detection
|
||||||
@ -4714,7 +4721,8 @@ static BOOL MaintainLinkedLists(Universe* uni)
|
|||||||
if (hit_entity)
|
if (hit_entity)
|
||||||
{
|
{
|
||||||
result = [hit_entity universalID];
|
result = [hit_entity universalID];
|
||||||
if (hit_subentity) [hit_entity setSubEntityTakingDamage:hit_subentity];
|
// I think the above code does not guarantee that the closest hit_subentity belongs to the closest hit_entity.
|
||||||
|
if (hit_subentity && [hit_subentity owner] == hit_entity) [hit_entity setSubEntityTakingDamage:hit_subentity];
|
||||||
|
|
||||||
if (range_ptr != NULL)
|
if (range_ptr != NULL)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user