mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-11-24 17:34:48 +00:00
fixed the disconnect between Euclidean sspeed and mspeed
This commit is contained in:
@@ -158,7 +158,7 @@ EX bool applyAnimation(cell *c, shiftmatrix& V, double& footphase, int layer) {
|
|||||||
R = hdist(a.attackat * TC0, a.wherenow * TC0);
|
R = hdist(a.attackat * TC0, a.wherenow * TC0);
|
||||||
else
|
else
|
||||||
R = hdist(a.wherenow * TC0, TC0);
|
R = hdist(a.wherenow * TC0, TC0);
|
||||||
aspd *= (1+R+(shmup::on?1:0));
|
adjust_aspeed(aspd, R);
|
||||||
|
|
||||||
if(a.attacking == 3 && aspd > R) aspd = R;
|
if(a.attacking == 3 && aspd > R) aspd = R;
|
||||||
|
|
||||||
|
|||||||
@@ -2258,6 +2258,10 @@ EX vector<transmatrix*> move_affected_matrices(int flag) {
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EX void adjust_aspeed(ld& aspd, ld R) {
|
||||||
|
aspd *= euclid ? (2+3*R*R) : (1+R+(shmup::on?1:0));
|
||||||
|
}
|
||||||
|
|
||||||
EX void centerpc(ld aspd) {
|
EX void centerpc(ld aspd) {
|
||||||
|
|
||||||
if(subscreens::split([=] () {centerpc(aspd);})) return;
|
if(subscreens::split([=] () {centerpc(aspd);})) return;
|
||||||
@@ -2341,7 +2345,7 @@ EX void centerpc(ld aspd) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
else {
|
else {
|
||||||
aspd *= euclid ? (2+3*R*R) : (1+R+(shmup::on?1:0));
|
adjust_aspeed(aspd, R);
|
||||||
|
|
||||||
if(R < aspd) fix_whichcopy_if_near();
|
if(R < aspd) fix_whichcopy_if_near();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user