View Issue Details

IDProjectCategoryView StatusLast Update
0000146FSSCPgameplaypublic2006-02-20 06:57
Reporterkasperl Assigned ToGoober5000  
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
PlatformPCOSWindowsOS Version98SE
Summary0000146: Ordering all fighters to ignore target will cause caps to do the same
Descriptionpressing C-3-1 will order all fighters and bombers to disengage your current target. unfortunately, capitol ships will do the same. this will cause the player to order the Collusus to stand down, and ergo, to break quite a few missions. For example: http://dynamic4.gamespy.com/~freespace/forums/showthread.php?s=&threadid=22224
Steps To Reproducepress C-3-1 with friendly capitol ships engaging your current target
Additional Informationhas been present from FS2 Retail on, it might even be from FS1
TagsNo tags attached.

Activities

RandomTiger

2004-03-20 01:37

developer   ~0000509

I've seen this a lot in the FS2 campaign and its messed up my gameplay a lot.

kasperl

2004-03-20 15:04

developer   ~0000510

cans someone please hurt me really bad?

it's C-3-5, not C-3-1.

But aside from this minor detail, what is the possibility of this getting fixed?

Goober5000

2004-03-21 22:25

administrator   ~0000525

I think I know what's going on. I'll try to fix it.

kasperl

2005-03-20 12:26

developer   ~0002008

Is there a fix for this yet?

Hippo

2005-03-20 12:54

reporter   ~0002009

actually, its C-3-6, and it has been there since FS1... IF you fix it though, can you make it a command line? I know of some missions where its actually required to be like that...

RandomTiger

2005-03-20 12:58

developer   ~0002010

Last edited: 2005-03-20 12:59

Noted, is that FS1 or FS2 retail missions or MOD mission?

edited on: 03-20-05 07:59

Hippo

2005-03-20 13:00

reporter   ~0002011

these were from mods, in fs1 and 2, even though fs2 is the only relevent one...

kasperl

2005-03-20 13:09

developer   ~0002013

Command line, or mission flag? Both seems most appropriate.

Goober5000

2005-03-20 22:02

administrator   ~0002020

I've already got a partial fix in for this; I just need to finish it and apply it. I figured I'll leave the existing sexp as-is but make an "ai-ignore-new" sexp using the new code. Then I'll link the C-3-6 command to the ignore-new code.

kasperl

2005-04-04 17:02

developer   ~0002091

Any progress on this one Goob?

Goober5000

2005-04-04 22:55

administrator   ~0002103

Nope. Still busy. Be patient.

Goober5000

2005-07-11 15:10

administrator   ~0002744

WMC's fixed it. It looks like the ai-ignore sexp has nothing to do with the hud messaging, so maybe I was on the wrong track.

I'll take another look at the sexp and resolve this ASAP.

Goober5000

2005-07-12 06:15

administrator   ~0002755

Nope, WMC's fix didn't solve it. It only removed one half of a two-part redundant system. The other half happens when the goal is actually assigned.

Look at ai_ignore_object in aicode.cpp. This is what gets executed for any ship that receives the "ignore" goal, whether through a sexp or through messaging:

    aip->ignore_objnum = OBJ_INDEX(ignored);
    aip->ignore_signature = ignored->signature;
    aip->ai_flags &= ~AIF_TEMPORARY_IGNORE;
    ignored->flags |= OF_PROTECTED;

Any ship that gets ignored will have its "protected" flag set. Thus *no* other ship will be allowed to attack it.

Looks like I'll have to dig up my old ignore-new code.

WMCoolmon

2005-07-17 20:53

developer   ~0002797

Ick, this be a messy bug.

Hippo, can you give me some example missions where you supposedly need this command?

Hippo

2005-07-17 20:59

reporter   ~0002801

there was one i downlaoded from VW that said something along the lines of, 'in order to facilitate the capture of the target, the hull must be slightly damaged. The amount of time to capture is proportional to the hull integrity. Order your wingmen to cease fire when you are ready to have the transport arrive'

The whole point that the longer you waited, the shorter the docking was, but the weaker the ship was, and the whole time, there was wave after wave of shivans... Ordering them to ignore the target also stopped a deimos from firing at it (it was an ntf corvette IIRC that was being captured...)...

WMCoolmon

2005-11-07 01:05

developer   ~0003775

Last edited: 2005-11-07 01:13

Hm...

Considering that:
A) It says "All fighters"
B) It doesn't do what it says

I'm thinking that the best COA is to fix it once CVS is working again. In the case that you presented, it sounds like you could disable the Deimos' turrets, and because of A and B, I'm inclined to view any mission that uses it as exploiting a bug.

Plus it causes problems with more missions than missions that need it. Just the other day, I wanted my fighters to stay the hell away from a cruiser, but ordering them to ignore it also caused my capships to ignore it.

edited on: 11-06-05 20:13

Goober5000

2005-11-07 03:00

administrator   ~0003778

*grabs the bug back from WMC*

I very much agree that it should be fixed, but I already have some code partially complete to fix this. It's on my to-do list. :D

WMCoolmon

2005-11-13 09:32

developer   ~0003815

Shouldn't you just need to remove the protect_ship flag? Although, actually, it might take an ignore list if the original behavior was to leave the protect_ship flag set. (So fighters could be ordered to ignore multiple targets at once.)

Regardless, the protect_ship flag really shouldn't be used for this, it has so many other implications.

Goober5000

2006-02-20 01:16

administrator   ~0004841

Okay, I think I've fixed this. :) Can some obliging testers have a look and make sure this works as expected?

Basically I've kept ai-ignore and added another goal, ai-ignore-new, that should work as you would think ignore should work in the first place. And I've coupled the squad messaging to ignore-new instead of ignore. So backwards compatibility should be fully supported... I just need to know if the new stuff works. :)

Goober5000

2006-02-20 06:57

administrator   ~0004844

Ugh. That code had about eight different places where the ignore behavior had to be changed. I think I've gotten them all, though.

Tested and hopefully fixed.

Issue History

Date Modified Username Field Change
2004-03-19 11:37 kasperl New Issue
2004-03-20 01:37 RandomTiger Note Added: 0000509
2004-03-20 01:37 RandomTiger Status new => acknowledged
2004-03-20 15:04 kasperl Note Added: 0000510
2004-03-21 22:25 Goober5000 Note Added: 0000525
2004-03-21 22:25 Goober5000 Status acknowledged => assigned
2004-03-21 22:25 Goober5000 Assigned To => Goober5000
2005-03-20 12:26 kasperl Note Added: 0002008
2005-03-20 12:54 Hippo Note Added: 0002009
2005-03-20 12:58 RandomTiger Note Added: 0002010
2005-03-20 12:59 RandomTiger Note Edited: 0002010
2005-03-20 13:00 Hippo Note Added: 0002011
2005-03-20 13:09 kasperl Note Added: 0002013
2005-03-20 22:02 Goober5000 Note Added: 0002020
2005-04-04 17:02 kasperl Note Added: 0002091
2005-04-04 22:55 Goober5000 Note Added: 0002103
2005-07-11 15:10 Goober5000 Note Added: 0002744
2005-07-12 06:15 Goober5000 Note Added: 0002755
2005-07-17 20:53 WMCoolmon Note Added: 0002797
2005-07-17 20:59 Hippo Note Added: 0002801
2005-11-07 01:05 WMCoolmon Note Added: 0003775
2005-11-07 01:05 WMCoolmon Assigned To Goober5000 => WMCoolmon
2005-11-07 01:13 WMCoolmon Note Edited: 0003775
2005-11-07 03:00 Goober5000 Assigned To WMCoolmon => Goober5000
2005-11-07 03:00 Goober5000 Note Added: 0003778
2005-11-13 09:32 WMCoolmon Note Added: 0003815
2006-02-20 01:16 Goober5000 Note Added: 0004841
2006-02-20 06:57 Goober5000 Status assigned => resolved
2006-02-20 06:57 Goober5000 Resolution open => fixed
2006-02-20 06:57 Goober5000 Note Added: 0004844