diff --git a/complex.cpp b/complex.cpp index edf62f4e..2f04785b 100644 --- a/complex.cpp +++ b/complex.cpp @@ -2709,10 +2709,22 @@ namespace sword { } return d; } + + transmatrix initial_matrix() { + if(S7 == 6) return Id; + return cspin(0, 1, 0.1) * cspin(0, 2, 0.1) * cspin(1, 2, 0.1) * Id; + } + + sworddir initial(cell *c) { + sworddir res; + res.angle = (sword::sword_angles / cwt.at->type + 1) / 2; + if(WDIM == 3) res.T = initial_matrix(); + return res; + } void shuffle(int i) { dir[i].angle = hrand(sword_angles); - dir[i].T = Id; + if(WDIM == 3) dir[i].T = initial_matrix(); } void reset() { diff --git a/system.cpp b/system.cpp index 1b1a136b..e2e2958e 100644 --- a/system.cpp +++ b/system.cpp @@ -210,10 +210,8 @@ void initgame() { } sword::determine_sword_angles(); - for(int i=0; itype + 1) / 2; - sword::dir[i].T = Id; - } + for(int i=0; i