CXP???
Eric McDonald
mcdonald@phy.cmich.edu
Fri Aug 27 05:10:00 GMT 2004
Elijah Meeks wrote:
> Okay, so you don't get cxp from ranged attacks, unless
> the ranged attack is performed against a unit in the
> hex adjacent? And you only get cxp if the attack
> misses?? I finally took a good look at cxp, after
> assuming that I wasn't paying attention before, but
> now that I have, it looks screwy. Does anyone have
> any firm rules on how cxp works and whether or not
> it's supposed to work like this? It seems haphazard.
You may have found a bug, depending on one's interpretation of when cXP
should be awarded.
The following exists at the end of 'attempt_to_capture_unit':
if (chance > 0) {
if (atker->cxp < u_cxp_max(a))
atker->cxp += uu_cxp_per_capture(a, o);
/* (should not increment if side just changed?) */
if (other->cxp < u_cxp_max(o))
other->cxp += uu_cxp_per_capture(o, a);
}
The "problem" is that experience is always being gained whenever
'chance' is greater than 0, even if the capture is determined to have
failed. The misses that you are seeing are also attempted captures
(restricted to range <= 1), which is why combat experience is being
"incorrectly" gained.
The other way to gain experience is with model 0 attacks and fires.
However, looking at this code makes me realize that it may also be
buggy, again depending on one's interpretation of combat experience.
The question here is: should failed attempts gain as much experience as
successful attempts?
Eric
P.S. It should be noted that the defender can gain cXP just being
attacked or fired upon, and it gains the same amount as if it was the
attacker. Defenders also gain experience from being captured and
resisting capture (as seen in the above code). Both of these cases seem
a bit odd to me.
More information about the Xconq7
mailing list