diff --git a/nonisotropic.cpp b/nonisotropic.cpp index 5e0bb6db..3c370e21 100644 --- a/nonisotropic.cpp +++ b/nonisotropic.cpp @@ -1073,8 +1073,8 @@ EX namespace hybrid { for(auto& p: at) tailored_delete(p.second); } - virtual transmatrix spin_to(cell *c, int d, ld bonus) override { c = get_where(c).first; return in_underlying([&] { return currentmap->spin_to(c, d, bonus); }); } - virtual transmatrix spin_from(cell *c, int d, ld bonus) override { c = get_where(c).first; return in_underlying([&] { return currentmap->spin_from(c, d, bonus); }); } + virtual transmatrix spin_to(cell *c, int d, ld bonus) override { if(d >= c->type-2) return Id; c = get_where(c).first; return in_underlying([&] { return currentmap->spin_to(c, d, bonus); }); } + virtual transmatrix spin_from(cell *c, int d, ld bonus) override { if(d >= c->type-2) return Id; c = get_where(c).first; return in_underlying([&] { return currentmap->spin_from(c, d, bonus); }); } };