Alpha Test Game 4

Coming back from another full weekend, I noticed that Zeta 2 should be able to use Opportunity Fire at Dark Archon. Instead, I'm getting a blank Orders menu. What's the deal with that?

Should he? As far as I can tell, he's one hex too far over. Either that, or you really, really, really need to go back through the rules and clarify the graphics. I mean, opportunity fire is limited to one hex to the right and left of straight ahead only, isn't it?

Yeah...as far as I can tell, Archon and Soul both have opportunity shots on Sierra1 (Archon is just barely in range), Sierra1 can shoot back at either Archon or Soul, again with an opportunity shot, and Bravo1 has a clear shot at Soul. But neither Zeta1 nor Zeta2 have a shot this turn; Archon is two hexes to the left of Zeta1's front.
 
Hm, just picked up the last published version of the manual: It's rather clearly stating that Opportunity Fire uses a 60° fire arc. I'm not sure where you got the "one-hex-to-either-side rule" from. The Broadsword's forward-firing guns in the graphic example are just mass drivers with a range of only 3 hexes - for particle cannons you'd see the fire arc spread out one more hex to the side.
 
Hm, just picked up the last published version of the manual: It's rather clearly stating that Opportunity Fire uses a 60° fire arc. I'm not sure where you got the "one-hex-to-either-side rule" from. The Broadsword's forward-firing guns in the graphic example are just mass drivers with a range of only 3 hexes - for particle cannons you'd see the fire arc spread out one more hex to the side.
Hmm. Yeah, I definitely had also interpretted it as being the two rows based on the image. Here is the code that currently produces the the opportunity map:

The rules said:
At this time, you might be wondering what the green hexes in the fire arc diagram are
for. They depict the front guns’ special 60° fire arc. This is only used for Opportunity Fire,
meaning you can fire at a target that’s outside of your guns’ regular arc – for a price:
You may only fire your guns once, no refires. Refires? We’re coming to that now.

I guess I interpreted the word 'special' as meaning it was not a regular 60 degree arc, but foreshortened.

This is how the code used to work (honestly, tougher to do than what you actually wanted):

Code:
        foreach ($piecemap as $target) {

                $range = ship_range($piece, $target);

                if ($piece->id == $target->id || $range == 0) {  //can't shoot ourselves or people on our square
                    continue;
                }

                $bearing = bearing_from_target($piece, $target);

                if ($bearing < 2 || $bearing > 358) { //eliminate straight forward targets
                    continue;
                }

                switch ($range) {

                    case 2:
                            if (($bearing <= 35 || $bearing >= 325)) { //this includes straight ahead AND opportunity fire
                                $output .= $target->id . ', ';
                            }
                            break;
                    case 3:
                            if (($bearing <= 20 || $bearing >= 340)) { //this includes straight ahead AND opportunity fire
                                $output .= $target->id . ', ';
                            }
                            break;
                    case 4:
                            if (($bearing <= 14 || $bearing >= 346)) { //this includes straight ahead AND opportunity fire
                                $output .= $target->id . ', ';
                            }
                            break;
                    case 5:
                            if (($bearing <= 11 || $bearing >= 349)) { //this includes straight ahead AND opportunity fire
                                $output .= $target->id . ', ';
                            }
                            break;
                }

        }

I leave it to those of you who are interested to figure out what is going on ;) .

Ironduke, based on your post, i've replaced the above with the following:

Code:
    foreach ($piecemap as $target) {
            $range = ship_range($piece, $target);

            if ($piece->id == $target->id || $range == 0) {  //can't shoot ourselves or people on our square
                continue;
            }

            $bearing = bearing_from_target($piece, $target);

            if ($bearing < 2 || $bearing > 358) { //eliminate straight forward targets
                continue;
            }

            foreach ($piece->weapons as $weapon) {
                if (($weapon->range >= $range) && (($bearing <= 30) || ($bearing >= 330)) && ($weapon->special == -1)) { // in range, within 60 in front of us, not a missile
                    $output .= $target->id . ', ';
                    continue 2; //if we found a valid target, break out and look at the next target as we've found at least 1 weapon that will work
                }
            }

        }

I think this changes the opportunity map to be what you want it to be... and it also makes sure we're checking weapon range explicitly based on the weapon capabilities.

And hey look, Zeta 2 now has 1 opportunity target! Dark Archon.

This should let the game continue.

To those of you reading this, Ironduke made the correct choice, which was to hold up the game, and not submit his orders such that I could see it exactly as he did, determine what the issue was, and fix it! This is pretty much ideal. Sometimes I may be too busy, at which point I'll say we'll come back to it later and push you guys to continue... but the truth is, I rarely do.

edit: note, Ironduke, that I assumed above that you didn't want opportunity firing of DF (or any) missiles. If that's not the case, as you can see, I just need to remove 1 check (the $weapon->special one) and we'd be set.
 
I'm not sure where you got the "one-hex-to-either-side rule" from. The Broadsword's forward-firing guns in the graphic example are just mass drivers with a range of only 3 hexes - for particle cannons you'd see the fire arc spread out one more hex to the side.

Getting that from the graphic on page 5 of the version 0.14 rules. Is there a later version?

Pretty sure this is a rules interpretation issue...we're both coming from the paragraph that says the following:

"At this time, you might be wondering what the green hexes in the fire arc diagram are for. They depict the front guns’ special 60° fire arc. This is only used for Opportunity Fire, meaning you can fire at a target that’s outside of your guns’ regular arc – for a price: You may only fire your guns once, no refires. Refires? We’re coming to that now."

I may be confused here. If it's a full 60° forward arc, there should be two more green hexes in the picture, shouldn't there? Between the last forward yellow hex and the existing green hexes...I'm not sure if that's clear or not; it's hard to say exactly what I mean without a picture. Before you say anything, those spaces between I'm talking about are within three hexes of the Broadsword.
 
what_i_mean.png

That's what I mean.
 
Maybe now's a good time to admit that I'm *cough* "mathematically challenged." :rolleyes: Seriously though, what I meant by a 60° arc was:
Go one hex forward. Go another hex forward and one to the left/right. Go a third hex forward. Go a fourth hex forward and another one to the left/right. Go a fifth hex forward. (Since there aren't any cannons with range > 5, I'll just stop here.)
Meaning the opportunity fire arc broadens one hex to each side for each other hex you go "forward." Is this explanation any better than the one before?

Apart from whether this is a true 60° fire arc or I messed up, I agree that this section needs to be clarified. A version 0.2 of the manual is due anyway, and I promise I'll get to it as soon as can. ;) (Which, unfortunately, may still be a while.)
 
This is definitely getting into the realm of a rules discussion, so this will be the last I post on it here. Just to clarify the forward firing arcs; are these pictures correct? Red's the primary shootin' lane, green's the peripheral/opportunity shootin' arc.

range_one.png
range_two.png

range_three.png
range_four.png


Made my hexes a little big. Sorry...hard to judge that stuff in MS Paint sometimes.
 
Meaning the opportunity fire arc broadens one hex to each side for each other hex you go "forward." Is this explanation any better than the one before?
The alternating addition of an extra hex does not make it a true 60 deg arc, as based on a hex grid, at 3 hexes, you'd already have 1 more cell (as Capi had originally suggested) while with yours, we're selectively removing range at increased angles. This goes back to what I had originally tried to do, but I actually had it backward; I had been reducing the firing angle at greater range (to simulate one square to each side). Instead now you want me to increase the firing angle at greater range, but artificially decrease the range. I'll have to think if there's a mathematical (or at least algorithmic) description of this process that doesn't involve coding in every cell. The problem is that, if Capi's depiction is what you're looking for, here is what you seem to be asking for:
  1. A 60 degree arc at each range
  2. Don't count the 1 cell on each side that is exactly at full range, i.e. the 30 degree port/starboard max range cell
Yeah... I think I answered my own question. If this is what you want, I'll just hybridize my original Opportunity Fire code with my rewrite so that this is the result (a few case statements but with the 60 degree arc each time and a rejection of the +/- 30 degree range shot)
 
Avacar, noticed something in Turn17CP...

Sierra 1 powers up its weapons.
  • Firing at Wandering Soul with Particle Cannon using chain of 2 guns for 1 refires (1 reserved).
  • Natural Hit (12 (+)):5 damage done to shields.Natural Hit (12 (+)):5 damage done to shields.
  • Firing at Wandering Soul with Mass Driver Cannon using chain of 2 guns for 1 refires (2 reserved).
  • Miss. (3) Miss. (11)
Bravo 1 powers up its weapons.
  • Firing at Wandering Soul with Particle Cannon using chain of 2 guns for 2 refires (0 reserved).
  • Miss. (10) Miss. (11) Miss. (6) Miss. (7)
  • Firing at Wandering Soul with Laser Cannon using chain of 2 guns for 3 refires (0 reserved).
  • Miss. (2) Natural Hit (12 (+)):2 damage done to shields. Miss. (10) Miss. (6) Miss. (2) Miss. (4)
Zeta 2 powers up its weapons.
  • Firing at Dark Archon with Particle Cannon using chain of 2 guns for 1 refires (1 reserved).
  • Miss. (9) Miss. (9)
Last I checked, the To Hit number on a Epee is still an eight. Soul oughta be free-floating particles at this point and Archon should be somewhat hurt (unless y'all are just being nice to me, in which case I sure do appreciate it...)

If you do go to fix this, may I suggest leaving Soul as he currently is...it's our last opportunity this game to check on whether things are working with FF missiles. I will hold off issuing orders for Turn17EP for now, and I promise not to evade...
 
Okay looked into the above, Capi. Two things going on.

First, I had discovered that TR calculation hadn't been taking into account movement speed of both targets in the past and I fixed that a few turns ago. While I can't recreate the act circumstance (since dice rolling is random, I can't force it) I was able to roll back and determine what you needed. While a hit is on an 8+, the effective TR was an 11.

This lead to problem 2. Basically I had $modified_dice > $TR when it should have been >= The 10s would have missed, but the 11's should have hit.

A while back, I used to present in the report dice > TR so you could see what you needed, but people decided it was cluttered and confusing. We can always revisit that and put it back in.
 
Hmm...we've got three different firing situations here, Bravo1 v Wandering Soul, Sierra1 v Wandering Soul, and Zeta2 v Dark Archon.
Pilots are all Regulars, so that won't modify anything.
Bravo1 and Sierra1 are moving at speed 4, as are Wandering Soul and Dark Archon. By the table on page 7, that also shouldn't change anything. However, Zeta2 is travelling at speed 5, which will impose a penalty and up the To Hit by 1.

Range penalties are listed on page six.
The range from Bravo1 to Wandering Soul is four, imposing a +1 penalty...the To Hit number there should be 9.
The range from Sierra1 to Wandering Soul is three, imposing a +1 penalty...the To Hit number there should also be 9.
The range from Zeta2 to Dark Archon is four, imposing a +1 penalty, plus the penalty for his speed...the To Hit number there should be 10.

Is there another factor I'm missing somewhere? Where are you getting an effective To Hit number of eleven?
 
The range from Sierra1 to Wandering Soul is three, imposing a +1 penalty...the To Hit number there should also be 9.

Went through it line by line, tracking the accumulation of effective TR.

Ends up the game thinks their rolling. I checked the database and it confirms that Wandering Soul is in a rolling state, giving it a defensive buff of +2 to TR.

That said, Wandering Soul decided to roll a while back, and basically has stayed rolling all game. At one point, it rolled again, which changed it roll type, but still kept it rolling. Clearly I either forgot to reset rolling during end phase, or just it is bugged.... checking... and I just never reset it. Oops. You'd think I'd remember to do these things. Good catch Capi! Keep the bugs coming!

It is too late for this phase to redo it (and the whole game for that matter) but the fix is now in, and you should stop rolling automatically. (With hindsight, we all should have picked up on this sooner, by checking the slide-out panel and seeing clearly the Rolling: YES)

It will also take a full turn (i.e. passing an end phase) for them to stop rolling. I could force it, but I'd rather check to make sure it works.
 
Getting this message when I go to look at "Intercepted Communications":

Fatal error: Class '' not found in /home/agespast/www/www/avacar/phase5/load_game.php on line 39

...strike that, I only got it when I went to 15MP after trying to look at 14EP again. Reloading the page seems to have corrected the problem.

Okay...and my moves are in.

I managed to stumble upon this myself and reproduce it in a repeatable way.

I've also now fixed it. Note, though, that my fix is burried in a cached javascript file. It clearing your cache will guarantee that you get the fix, or with time your browser will figure it out eventually. Given how rare and difficult even getting this bug was, don't feel the need to clear the cache just to get the fix.

It would only happen if you loaded (ie the url) was for an older turn and NOT the movement phase, and then jump forward to a new turn (forcing it to also realize the current phase doesn't exist on that turn, and need to reset it). The map updated correctly, but the intercepted communications panel wasn't right. Now it is.
 
Turn 18MP:

I'm seeing the "Tailing is not yet online" message in this turn's field report, on two different terminals. Just FYI.
 
Okay, so here's Opportunity Fire the way it's meant to be (ignoring actual gun range) - and by the way, it's the same fire arc torpedoes should be using. Not sure whether it's really 60°, but it doesn't look all that weird to me:

opp-fire.gif
 
Um, Sierra 1 hasn't moved in turn 18... It also doesn't appear in the Field Report. And while Bravo 1 could fire all guns at Sierra 1, the DF isn't an option. Something's messed up... ;)
 
I haven't been following the rules discussion, but what Ironduke has in that last picture is definitely 60°. The earlier pictures seem to have a wider arc.
 
Um, Sierra 1 hasn't moved in turn 18... It also doesn't appear in the Field Report. And while Bravo 1 could fire all guns at Sierra 1, the DF isn't an option. Something's messed up... ;)

Well...Sierra 1 evaded in 17EP, probably as a backup in case dropping the chaff pod failed. Are you supposed to be able to do that?
In any case, because he evaded, he wouldn't have gotten the movement opportunity in 18MP.

The DF should be an option, as you're firing against an (effectively) stationary target; I've done that a couple of times myself this game. I mean, I've lobbed a DF at a target that had evaded the previous End Phase.

Okay...<flipping through rules />...page 8. "Only units that have not changed their course
during their Movement Phase (performing a straight or a Hard Brake maneuver), or units
within 2 hexes distance can be targeted!". Well, by definition Sierra1 didn't change his course in the movement phase, so yeah...he should definitely be a valid target.

Wandering Soul is also not getting the option to fire a DF missile...which is odd, because Bravo1 should be a valid target due to range. Dark Archon, on the other hand, is being given the option to fire a missile at both Wandering Soul and Bravo1. Sounds to me like something got changed in the code that handles DF missiles at some point. I'll hold off giving any attack orders until there's be an opportunity to address what's going on.


'sides, I still have to figure out who I'm going to shoot at...
 
Back
Top