Where did this bounty come from?

For test results, bug reports, announcements of new builds etc.

Moderators: winston, another_commander, Getafix

Post Reply
User avatar
Milo
---- E L I T E ----
---- E L I T E ----
Posts: 462
Joined: Mon Sep 17, 2018 5:01 pm

Where did this bounty come from?

Post by Milo »

TL;DR -- I think oolite-priorityai.js should have the following line added to the top of the PriorityAIController.prototype.responseComponent_station_offenceCommittedNearby function (just before getParameter):

Code: Select all

	if (attacker.scanClass == "CLASS_POLICE") return; // ignored
That check exists in the almost identical function PriorityAIController.prototype.responseComponent_standard_offenceCommittedNearby.

And perhaps more broadly, the logic in both functions that reverses the role of attacker and victim should perhaps be skipped if the player is the victim, because the player is never in the oolite-police-like category and it is confusing and non-intuitive for the player to be given a bounty when they are the one being attacked.

Background:

While experimenting with Broadcast Comms' surrender feature, I experienced a bounty increase that I don't understand / can't explain. What I did: I launched from the station, found a nearby viper interceptor, shot it once, then sent a surrender message and turned off my weapons. After that, as expected, Broadcast Comms cleared my bounty (15 at the time). From that point onwards, I never enabled my weapons. However, I received another bounty increase of 7 for reason "seen by police" almost a minute later.

I believe it was caused by oolite-priorityai.js, which has some code in (1) responseComponent_standard_offenceCommittedNearby and (2) responseComponent_station_offenceCommittedNearby that reverses the position of attacker and victim if both are clean and the attacker's role is in the oolite-police-like role-category (see role-categories.plist) and the victim's role is not. Function (1) includes a check for police as attacker and excludes them, but function (2) does not. The player doesn't have a role in the oolite-police-like category, but police do, so it seems that if you are being shot by police, near a station (I was), and if you have a hostile ship (such as the one attacking you) targeted (I did), it could lead to you being given a bounty... unless I'm reading it wrong?[/color]

Excerpt of log, omitting many laser attacks from police to me:

19:38:44.057 [LogEvents] GlobalLog: launched from Torus Station 9291
19:39:17.407 [LogEvents] GlobalLog: weapons systems toggled to 1

19:39:18.706 [LogEvents] GlobalLog: bounty is changed by 7 to 7 due to seen by police
19:39:18.707 [LogEvents] GlobalLog: bounty is changed by 8 to 15 due to attacked police


19:39:18.708 [LogEvents] GlobalLog: attacked GalCop Viper Interceptor: OZI650-ON1 7 23302 who has 308 energy <-- the only shot I fired

19:39:18.780 [LogEvents] GlobalLog: alert condition changed from 2 to 3
19:39:19.657 [LogEvents] GlobalLog: got message from Torus Station 9291 : All ships, clearance is cancelled for emergency launch!
19:39:21.658 [LogEvents] GlobalLog: attacked unsuccessfully by GalCop Viper Interceptor: KAI563-ON1 9 32363
19:39:21.659 [LogEvents] GlobalLog: attacked unsuccessfully by GalCop Viper Interceptor: YPF024-ON1 1 4937
19:39:21.852 [LogEvents] GlobalLog: attacked unsuccessfully by GalCop Viper Interceptor: OZI650-ON1 7 23302
19:39:23.887 [LogEvents] GlobalLog: got message from Kirin Sport 32256 : Wait! I'm surrendering!
19:39:25.888 [LogEvents] GlobalLog: got message from GalCop Viper Interceptor: OZI650-ON1 7 23302 : Stand down Milo! Disable your weapons now!
19:39:26.789 [LogEvents] GlobalLog: weapons systems toggled to 0
19:39:30.903 [LogEvents] GlobalLog: got message from GalCop Viper Interceptor: HVG151-ON1 7 24577 : Dock with the main station quickly, before I change my mind!

19:39:30.904 [LogEvents] GlobalLog: bounty is changed by -15 to 0 due to scripted

19:39:36.132 [LogEvents] GlobalLog: GalCop Manta Ray: SGG263-ON1 1 3050 from Torus Station 9291 spawned at 3 km <-- this one never attacked
19:39:36.968 [LogEvents] GlobalLog: attacked unsuccessfully by GalCop Viper Interceptor: OZI650-ON1 7 23302
19:39:37.037 [LogEvents] GlobalLog: attacked unsuccessfully by GalCop Viper Interceptor: KAI563-ON1 9 32363
19:39:39.185 [LogEvents] GlobalLog: got message from GalCop Manta Ray: SGG263-ON1 1 3050 : Run while you can, Kirin Sport…

19:39:43.572 [LogEvents] GlobalLog: got message from Kirin Sport 32256 : All right! I give up!

19:39:51.122 [LogEvents] GlobalLog: GalCop Sheriff: OAF733-ON1 8 28461 from Torus Station 9291 spawned at 3 km <-- this one never attacked
19:39:53.060 [LogEvents] GlobalLog: got message from GalCop Sheriff: OAF733-ON1 8 28461 : Weapons online!

19:40:03.893 [LogEvents] GlobalLog: got message from Torus Station 9291 : All ships, clear the launch corridor immediately!
19:40:07.881 [LogEvents] GlobalLog: attacked by GalCop Viper Interceptor: YPF024-ON1 1 4937 472+256 shield and 831 energy left

19:40:07.884 [LogEvents] GlobalLog: bounty is changed by 7 to 7 due to seen by police <-- what caused this?
User avatar
Milo
---- E L I T E ----
---- E L I T E ----
Posts: 462
Joined: Mon Sep 17, 2018 5:01 pm

Re: Where did this bounty come from?

Post by Milo »

In unrelated testing, I got a bounty for reason "attacked main station." And I discovered that my current ship, a Kirin Sport, has subentity turrets that fire automatically when weapons are enabled, and were hitting the main station when it was between my ship and the police that were shooting me. Oops. This was completely non-apparent to me until I went into the code. I did see small yellow balls of light flying away from my ship but I never made the mental connection that my ship had automated turrets. I thought it was some other visual effect related to my ship taking damage, as I was also seeing plenty of lasers hitting my ship.

Note this doesn't affect my previous report above, which had weapons disabled the entire time.

Enhancement proposal #1: When toggling weapons on ships that have subentity turrets, after the "Weapon systems online" message, display "Automated turrets online." (No need to display when turrets go offline, I think. The goal is to inform unaware players that their ship has turrets!)

The current messages are in description.plist at lines 523-524:

"weapons-systems-online" = "Weapons systems online.";
"weapons-systems-offline" = "Weapons systems offline.";

We can add the following description.plist entry and then add the following code to PlayerEntityControls.m:

"automated-turrets-online" = "Automated turrets online.";

Code: Select all

diff --git a/src/Core/Entities/PlayerEntityControls.m b/src/Core/Entities/PlayerEntityControls.m
index fa5e51b8..31ecf1fb 100644
--- a/src/Core/Entities/PlayerEntityControls.m
+++ b/src/Core/Entities/PlayerEntityControls.m
@@ -1016,6 +1016,22 @@ static NSTimeInterval	time_last_frame;
 						}
 						[UNIVERSE addMessage:weaponsOnlineToggleMsg forCount:2.0];
 						[self doScriptEvent:OOJSID("weaponsSystemsToggled") withArgument:[NSNumber numberWithBool:[self weaponsOnline]]];
+						if ([self weaponsOnline])
+						{
+							// also display automated-turrets-online message if ship has subentity turrets
+							NSEnumerator	*subEnum = [self shipSubEntityEnumerator];
+							ShipEntity		*se = nil;
+							OOWeaponType 			weapon_type = nil;
+							while (isWeaponNone(weapon_type) && (se = [subEnum nextObject]))
+							{
+								weapon_type = se->forward_weapon_type;
+								if (se->behaviour == BEHAVIOUR_TRACK_AS_TURRET)
+								{
+									[UNIVERSE addMessage:DESC(@"automated-turrets-online") forCount:2.0];
+									break;
+								}
+							}
+						}
 						weaponsOnlineToggle_pressed = YES;
 					}
 				}
Enhancement proposal #2: Don't automatically enable turrets when you enable manual weapons systems. The toggle weapons key could be combined with another key (e.g., CTRL+_) to achieve this. Turning off weapons should always shut off turrets too, as it does now, so a single key press is enough to make the ship non-hostile (and player.ship.weaponsOnline === false). But turning weapons on shouldn't automatically enable turrets. That should require an additional key press, if the player has decoupled turret activation from the rest of the weapons systems. (i.e., CTRL+_ would toggle between "Turret activation linked to main weapons control." and "Turrets disabled.")

Enhancement proposal #3: Make turret AI smarter so it doesn't shoot at galcop (even if they are shooting at you) or on collision courses with galcop ships or stations unless you have fugitive legal status already, so turrets won't make a player who has gained police aggro become a fugitive.

I think #3 can be done (mostly, I didn't include the collision check) by putting in a restriction when adding defense targets (the extra change in ShipEntityAI.m's findNewDefenseTarget is to avoid getting stuck repeatedly trying to add an ineligible defense target) and adding an extra check in ShipEntity.m's behaviour_track_as_turret for the primary target:

Code: Select all

diff --git a/src/Core/Entities/ShipEntity.m b/src/Core/Entities/ShipEntity.m
index 2f589486..53b6adee 100644
--- a/src/Core/Entities/ShipEntity.m
+++ b/src/Core/Entities/ShipEntity.m
@@ -6006,7 +6006,7 @@ ShipEntity* doOctreesCollide(ShipEntity* prime, ShipEntity* other)
 	double aim = -2.0;
 	ShipEntity *turret_owner = (ShipEntity *)[self owner];
 	ShipEntity *turret_target = (ShipEntity *)[turret_owner primaryTarget];
-	if (turret_owner && turret_target && [turret_owner hasHostileTarget])
+	if (turret_owner && turret_target && [turret_owner hasHostileTarget] && !([turret_target isPolice] && [turret_owner bounty] <= 50)) // turrets don't fire at police unless ship is fugitive
 	{
 		aim = [self ballTrackLeadingTarget:delta_t atTarget:turret_target];
 		if (aim > -1.0) // potential target
@@ -11167,6 +11167,11 @@ Vector positionOffsetForShipInRotationToAlignment(ShipEntity* ship, Quaternion q
 	{
 		return NO;
 	}
+	// avoid automated (i.e., turret) attacks against police (including main station) by non-fugitives
+	if ([(ShipEntity *)target isPolice] && [self bounty] <= 50) // target isShip was checked earlier
+	{
+		return NO;
+	}
 	if (_defenseTargets == nil)
 	{
 		// Allocate lazily for the benefit of the ships that never get in fights.
diff --git a/src/Core/Entities/ShipEntityAI.m b/src/Core/Entities/ShipEntityAI.m
index a6e66978..76e035ec 100644
--- a/src/Core/Entities/ShipEntityAI.m
+++ b/src/Core/Entities/ShipEntityAI.m
@@ -1550,9 +1550,8 @@
 		ShipEntity *ship = scanned_ships[i];
 		if (![ship isCloaked] && (([ship primaryTarget] == self && [ship hasHostileTarget]) || [ship isMine] || ([ship isThargoid] != [self isThargoid])))
 		{
-			if (![self isDefenseTarget:ship])
+			if (![self isDefenseTarget:ship] && [self addDefenseTarget:ship] == YES) // addDefenseTarget can return NO (e.g., target isPolice and self is non-fugitive)
 			{
-				[self addDefenseTarget:ship];
 				return;
 			}
 		}
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6682
Joined: Wed Feb 28, 2007 7:54 am

Re: Where did this bounty come from?

Post by another_commander »

Of the three proposals, the one I would consider is the first. As a rule of thumb, we avoid making changes to the core when a request can be satisfied by OXPing it and here is such a case. What #1 asks is basically done with this script:

Code: Select all

this.weaponsSystemsToggled = function(state)
{
	if (state)
	{
		var psSubEnts = player.ship.subEntities;
		var msgShown = false;
		if(psSubEnts)
		{
			for(var i = 0; i < psSubEnts.length; i++)
			{
				if(psSubEnts[i].isTurret)
				{
					player.consoleMessage("Automated turrets online.");
					msgShown = true;
				}
				if(msgShown)  break; // if we've found one turret, it's enough
			}
		}
	}
}
User avatar
Milo
---- E L I T E ----
---- E L I T E ----
Posts: 462
Joined: Mon Sep 17, 2018 5:01 pm

Re: Where did this bounty come from?

Post by Milo »

What of the third? That can't be solved by OXP and is the most problematic in terms of gaining unintended fugitive status.

As for the first proposal, is there any non-OXP-provided visibility that one's ship has turrets (other than seeing the yellow blobs of light)?

I'm suggesting this as a core change because if I didn't know my ship had turrets, probably others wouldn't either.
Last edited by Milo on Wed Jul 15, 2020 7:46 pm, edited 2 times in total.
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6682
Joined: Wed Feb 28, 2007 7:54 am

Re: Where did this bounty come from?

Post by another_commander »

Milo wrote: Wed Jul 15, 2020 7:42 pm
What of the third? That can't be solved by OXP and is the most problematic in terms of gaining unintended fugitive status.
I don't like it. It complicates the very simple and straightforwards mechanics of turrets' operation. #2 is also not one I would favor, because it complicates the controls unnecessarily IMO.
User avatar
Milo
---- E L I T E ----
---- E L I T E ----
Posts: 462
Joined: Mon Sep 17, 2018 5:01 pm

Re: Where did this bounty come from?

Post by Milo »

So it's OK for players to gain fugitive status due to turrets they don't even realize they have and can't control except by disabling weapons entirely (which isn't obvious to players like me who are unfamiliar with turrets)?

My first post also calls for changes to the Priority AI, which contributes to the same outcome in a different way.
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6682
Joined: Wed Feb 28, 2007 7:54 am

Re: Where did this bounty come from?

Post by another_commander »

Milo wrote: Wed Jul 15, 2020 7:47 pm
So it's OK for players to gain fugitive status due to turrets they don't even realize they have and can't control except by disabling weapons entirely (which isn't obvious to players like me who are unfamiliar with turrets)?
Turrets fire only if they have a target to fire on. If you press "u" to disable targeting (or don't target anything to begin with), then they will not fire.

In order for turrets to fire, four things must be satisfied at the same time:
1. The player has an active target.
2. The target from (1.) is hostile to the player.
3. The target is in turret range.
4. Weapons are online.
User avatar
Milo
---- E L I T E ----
---- E L I T E ----
Posts: 462
Joined: Mon Sep 17, 2018 5:01 pm

Re: Where did this bounty come from?

Post by Milo »

Yes, I discovered those rules by reading the source code, but:

(1) the behavior and rules of turrets are not obvious to new players (I submit myself as Exhibit A)
(2) I use Target Autolock OXP which automatically targets anyone that attacks you
(3) it's natural to try to acquire an ident lock on whoever is shooting at you, but that doesn't mean you want to kill them
(4) the fact that (2) or (3) will cause turrets to attack even when you don't intend to fight is not known to new players due to (1)
(5) if you don't know your ship has turrets, you don't even know that you need to educate yourself about (1) .. and I'm still not sure how a player is supposed to know their ship has turrets

I believe that the game should expect that a player does not want to be in trouble with police and the turret behavior should follow that logic, because if they do want trouble they can keep attacking manually and quickly confirm their status as a fugitive.

Remember that police can aggro on the player due to offender status when the player is simply trying to reach the station to pay their fine, which means that there are "innocent" (non-combat offences) scenarios for the player to be on the receiving end of police lasers.

My observation in this thread is that currently the game does not provide much opportunity for players to remain as offenders, because it conspires in several ways to escalate their status to fugitive despite their intentions to the contrary.

I don't like making a special case for police, so here is a generalized proposal to amend the turret behavior rules:

Turrets shouldn't attack a target hostile to us before we actually demonstrate an intention to attack back. So, add to the conditions a fifth:

5. this ship has shot that target manually at least one time since the weapons were last toggled on
Last edited by Milo on Wed Jul 15, 2020 8:27 pm, edited 1 time in total.
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6682
Joined: Wed Feb 28, 2007 7:54 am

Re: Where did this bounty come from?

Post by another_commander »

Turrets have always been a kind of easter egg in Oolite because none of the default ships carry any. However, once you've flown a ship with turrets once you get to know what they do and how exactly because their rules are simple, observable and straightforward. After that, it's up to you to decide whether you really want a ship with turrets or not.

Regarding point (2), I cannot accept it. Since day one, OXPs have adapted to the core game and not the opposite. We cannot adjust the core for the sake of individual OXPs because changing even one small thing for one OXP can cause incompatibilities with other OXPs which rely on the way the game operates now. The best course of action here would be to bring the issue to the attention of the creator of the Target Autolock .

Finally, if you have turrets and don't want to fight anything, it is good practice to fly with weapons down (actually it is good practice to always fly with weapons down except when engaged in combat). The facility is there so that players can use it.
User avatar
Milo
---- E L I T E ----
---- E L I T E ----
Posts: 462
Joined: Mon Sep 17, 2018 5:01 pm

Re: Where did this bounty come from?

Post by Milo »

That turrets are only available to players who use OXPs doesn't make it less important for their behavior to be apparent, because players use OXPs and don't necessarily remember which ones have turrets (I certainly didn't).

I still don't know how I'm supposed to find out that my ship has turrets from an in-game perspective. Where is that information displayed?

Again, remember, I didn't know what the visual effect meant, and it took me quite a while to connect the dots even after I knew that my ship was somehow causing shipAttackedOther events to fire, and I only saw that because I have OXPs that provide extra logging. My starting point for all of this was that I flew into a system as an offender with every intention of paying my fine but I was attacked by police first and then I was suddenly a fugitive and I didn't know why. My initial theory was that there was a bug somewhere in the various code paths that can trigger shipAttackedOther (I suspected a bug because I wasn't attacking anything but the game said I was...). Turrets were not even in my list of suspects until I added extra logging for shipAttackedOther in the source code to see all the entities involved and noticed that some attacks involved OOPlasmaShotEntity. Of course I didn't know what that was either, at first, but that finally put me on the right path...

(Also, I doubt Thargoid will be updating Target Autolock any time soon, but I suppose I could do it.)
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6682
Joined: Wed Feb 28, 2007 7:54 am

Re: Where did this bounty come from?

Post by another_commander »

The issue in your case was that you were not expecting your ship to have turrets and you were caught by surprise when they engaged. That's all right, but I am sure that if you had been aware from the beginning, you would have been able to work out, even within the same game session, how they operate and without looking at the source for that matter. The reason I am confidemt enough about it is that the rules governing them are as I mentioned simple and come with no special case exceptions or obscure prerequisites. And yes, turrets are indeed important in the game. I called them a kind of easter egg previously but that was not meant to imply that they are insignificant.

You are right in that there is nowhere in the game where you can get info about your ship having turrets. With that said, the Kirin Sport mentions them both in its readme file (unfortunately buried inside the oxz) and in its wiki page. I do understand that almost nobody reads manuals anymore, so yeah, one will most likely have to find out about them while in the game.

Regarding the actual mechanics and your proposed rule 5, I'm afraid it changes combat dynamics quite drastically. There are two cases when you encounter a ship and you decide to engage it: that ship will either be initially neutral or hostile. Let's see the two cases:
1. Initially neutral: If you target it and fire with lasers, it turns red on the scanner and yout turrets immediately open fire on it because it is now a hostile targeted ship. In this case you have already declared your intentions by firing first. So we are covered here even without rule 5.
2. Initially hostile: The ship in question is already trying to kill you. If you have targeted it, the turrets will open fire as a defense mechanism. Trying to enforce rule 5 here would only waste precious time. The opponent will not feel mercy and cease fire no matter how friendly you wish to react anyway. Additionally, if you are in combat with many opponents, having to waste time in order to fire a successful shot on one enemy just to wake the turrets up could be potentially lethal and partially negates any advantage of the turrets. Also, what happens with incoming missiles? With rule 5 you would need to land a successful laser hit on the missile, even if you fast-target it (with Shift-T). Good luck with that. Without rule 5, you only need to center the enemy for just a fraction of a second and then turn your lasers to another target without breaking lock. This will enable you to engage two targets simultaneously, one with lasers and one with turrets. If you absolutely must play friendly even when the other ship goes for the kill, then disengage weapons. In the case of an incoming missile, you just fast-target and let the turrets do what they do best.

I guess what I'm trying to say here is that using the turrets effectively is yet another game skill you can develop. And it has the principal element of good gameplay in my humble opinion: easy to understand, difficult to master. I'd prefer if it were kept that way.
User avatar
Milo
---- E L I T E ----
---- E L I T E ----
Posts: 462
Joined: Mon Sep 17, 2018 5:01 pm

Re: Where did this bounty come from?

Post by Milo »

OK, I can accept turrets staying as they are, but the in-game visibility issue should be solved I think.

Let's turn back to the original issue of this thread, which was being given a bounty when police were shooting me with weapons off, which (I believe) was because the station AI decided that it likes police better than me and if they're attacking me then it must be my fault:

Code: Select all

PriorityAIController.prototype.responseComponent_station_offenceCommittedNearby = function(attacker, victim)
{
	if (this.ship == victim) return; // other handlers can get this one
	if (this.distance(attacker) > this.scannerRange) return; // can't mark what you can't see
	if (this.getParameter("oolite_flag_markOffenders")) 
	{
		if (attacker.bounty == 0 && victim.bounty == 0)
		{
			if ((this.shipInRoleCategory(victim,"oolite-police-dislike") && !this.shipInRoleCategory(attacker,"oolite-police-dislike")) ||
				(this.shipInRoleCategory(attacker,"oolite-police-like") && !this.shipInRoleCategory(victim,"oolite-police-like")))
			{
				if (victim.hasHostileTarget)
				{
					// they're both fighting; it's likely that the
					// attacker is fighting in self-defence; so swap them
					var tmp = victim;
					victim = attacker;
					attacker = tmp;
				}
			}
		}
		if (!attacker.isPlayer && attacker.target != victim)
		{
			// ignore friendly fire if they were aiming at a pirate/assassin
			if (attacker.bounty == 0 && attacker.target && attacker.target.isShip && this.shipInRoleCategory(attacker.target,"oolite-police-dislike"))
			{
				// but we might go after the pirate/assassin ourselves in a bit
				this.ship.addDefenseTarget(attacker.target);
				return;
			}
		}
		else if (attacker.isPlayer && this.ignorePlayerFriendlyFire())
		{
			this.communicate("oolite_friendlyFire",attacker,3);
			return;
		}
		attacker.setBounty(attacker.bounty | 7,"seen by police");
		this.ship.addDefenseTarget(attacker);
		if (this.ship.alertCondition < 3)
		{
			if (this.ship.alertCondition == 1) this.ship.increaseAlertLevel();
			this.ship.increaseAlertLevel();
			this.ship.target = attacker;
		}
		this.reconsiderNow();
	}
}
I think the logic in priorityAI is mostly fine, but the point where it goes wrong is "if (victim.hasHostileTarget)" because PlayerEntity returns true for that even if weapons are disabled:

Code: Select all

- (BOOL) hasHostileTarget
{
	ShipEntity *playersTarget = [self primaryTarget];
	return ([playersTarget isShip] && [playersTarget hasHostileTarget] && [playersTarget primaryTarget] == self);
}
According to the wiki, hasHostileTarget is supposed to be always false for the player?

What do you think about adding [self weaponsOnline] && to that function?

Or, if that's too wide of an impact (I think that is the intended meaning of hasHostileTarget, but I haven't looked at all the places that rely on it), we could simply add && (!victim.isPlayer || victim.weaponsOnline) to the Priority AI line "if (victim.hasHostileTarget)"

Incidentally, while not something I can yet point to as causing problems, I noticed that PlayerEntity doesn't override isHostileTo, and the definition on ShipEntity of course doesn't consider weaponsOnline status either:

Code: Select all

- (BOOL) isHostileTo:(Entity *)entity
{
	return ([self hasHostileTarget] && [self primaryTarget] == entity);
}
Maybe the PlayerEntity should override that and add the same check I suggested for hasHostileTarget. Actually, it appears isHostileTo is barely used, only involved with stations, and not anywhere that playerEntity would be the entity on which it was called.
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6682
Joined: Wed Feb 28, 2007 7:54 am

Re: Where did this bounty come from?

Post by another_commander »

Milo wrote: Wed Jul 15, 2020 11:11 pm
OK, I can accept turrets staying as they are, but the in-game visibility issue should be solved I think.
Agreed. Here is the proposed solution (red rectangle is for emphasis and not present in reality of course):

Image

If the ship does not have turrets then that area remains void like it currently is. I'll commit the feature later on today, once I get the chance to test a bit more.

Regarding the remaining points I will have to review very closely before commenting. It may take some time though.
User avatar
montana05
---- E L I T E ----
---- E L I T E ----
Posts: 1166
Joined: Mon May 30, 2016 3:54 am
Location: lurking in The Devils Triangle (G1)

Re: Where did this bounty come from?

Post by montana05 »

another_commander wrote: Thu Jul 16, 2020 6:23 am
Agreed. Here is the proposed solution (red rectangle is for emphasis and not present in reality of course):

Image

If the ship does not have turrets then that area remains void like it currently is. I'll commit the feature later on today, once I get the chance to test a bit more.
Just a thought of mine, since multiple lasers are available for a while already wouldn't it be time to document (for example in ship library) how many mounts in every direction are available ?
Scars remind us where we've been. They don't have to dictate where we're going.
User avatar
Milo
---- E L I T E ----
---- E L I T E ----
Posts: 462
Joined: Mon Sep 17, 2018 5:01 pm

Re: Where did this bounty come from?

Post by Milo »

I think the addition of that information to the ship library is a good idea, but I think it needs to be on the F5 screen for the current ship and displayed on the F3 purchase screen also before buying a ship.
Post Reply