Here's a slight modification of the rule that makes every loop grow a second arm.
Code: Select all
@RULE 2armshapeloop
1 wire
2 left signal
3 right signal
4 forward signal
5 trigger right
6 idle right
7 converter
8 lead
9 edge 1
10 edge 2
11 starter
12 tempdel
13 delall
14 barrier
@TABLE
n_states:15
neighborhood:Moore
symmetries:rotate4
Var a={0,1,2,3,4,5,6,7,8,9,10,11,12,13}
Var b={1,2,3,4,5,6}
var c={9,10}
var d={1,2,3,4,5,6,7,10,11}
var e={1,2,3,4,5,6,11}
var f={0,8,9,10,13}
var g={8,9,10}
var h={0,8,10}
var i={0,9}
var j={3,5,6}
var k={1,2,3,4,5,6,7,8,9,10,11}
var aa={a}
var ab={a}
var ac={a}
var ad={a}
var ae={a}
var af={a}
var ag={a}
var ba={b}
var bb={b}
var bc={b}
var bd={b}
var bd={b}
var ca={c}
var da={d}
var db={d}
var dc={d}
var dd={d}
var fa={f}
var fb={f}
var ga={g}
var gb={g}
var gc={g}
#construct left
c,0,a,8,b,2,0,0,0,8
c,2,b,0,f,fa,fb,0,0,4
c,0,a,aa,8,8,b,4,0,8
0,0,2,c,f,fa,a,aa,ab,10
0,b,ba,0,a,aa,ab,c,2,c
9,b,ba,0,a,f,fa,4,bb,0
0,0,c,2,ca,0,a,aa,ab,8
0,4,f,fa,a,aa,ab,8,b,8
#construct right
c,f,fa,8,b,j,0,0,fb,4
9,j,b,h,a,aa,ab,0,0,11
c,j,b,h,a,aa,ab,0,0,h
8,a,aa,8,b,ba,j,c,ab,c
c,f,fa,8,b,ba,bb,4,fb,8
0,f,fa,c,j,0,a,aa,ab,10
f,a,aa,fa,8,4,c,fb,ab,1
f,a,aa,h,8,8,4,fa,ab,9
#construct forward
c,0,a,8,e,4,f,fa,fb,8
c,4,e,h,a,aa,ab,f,fa,h
c,4,e,b,a,aa,ab,f,fa,0
f,fa,c,4,ca,fb,a,aa,ab,1
f,a,h,c,4,fb,aa,ab,ac,c
f,fa,4,c,h,fb,a,aa,ab,c
#tempdel
12,a,aa,ab,ac,ad,ae,af,ag,0
#arm destruction
c,b,ba,bb,bc,0,0,g,bd,12
b,0,0,ba,bb,12,g,bc,0,12
g,b,ba,12,0,0,a,aa,ab,12
b,0,0,12,0,12,g,ba,0,12
#square loop destruction
b,ba,bb,9,8,bc,0,10,bd,13
#special lead transition
c,a,aa,ca,b,ba,bb,8,ab,8
c,a,aa,8,b,ba,bb,ca,ab,8
10,8,b,ba,bb,bc,bd,8,0,8
#delete immunity
g,a,aa,ab,ac,1,b,0,ad,g
g,1,a,aa,ab,ac,ad,8,b,g
b,g,a,aa,ab,ga,8,ba,0,ba
#delete
k,13,a,aa,ab,ac,ad,ae,af,13
k,a,13,aa,ab,ac,ad,ae,af,13
k,a,aa,13,ab,ac,ad,ae,af,13
13,a,aa,ab,ac,ad,ae,af,ag,0
#trigger right
b,5,0,0,i,0,0,ba,g,6
#converter
0,b,ba,12,12,12,10,10,10,7
b,0,0,12,0,ba,bb,10,10,7
b,ba,g,6,0,7,a,0,0,5
7,5,b,0,0,0,a,aa,0,0
b,0,a,7,0,ba,8,6,0,5
7,a,aa,0,0,0,b,5,0,0
0,0,0,b,ba,0,0,12,0,7
b,0,0,12,0,12,0,ba,bb,7
11,0,0,12,0,12,ba,bb,0,7
#starter growth
1,0,a,b,aa,8,8,11,0,4
4,0,a,b,aa,8,8,11,0,1
#special signal movement
b,ba,bb,9,8,bc,0,9,12,bc
b,ba,e,8,0,bb,8,8,bc,ba
b,ba,8,0,0,bb,8,8,8,ba
b,0,0,e,8,ba,8,bb,0,bb
b,0,0,ba,g,bb,g,bc,0,bc
b,ba,9,bb,8,8,8,bc,9,ba
b,9,0,ba,8,8,8,bb,bc,bb
#signal movement
b,ba,a,aa,ab,ac,ad,g,ae,ba
b,a,aa,ab,ac,g,ga,ba,ad,ba
b,a,aa,ab,ac,ad,g,ba,ae,ba
b,0,a,aa,ab,ac,ad,g,ae,1
b,a,aa,ab,ac,g,ga,0,ad,1
b,a,aa,ab,ac,ad,g,0,ae,1
#arm obstruction detection
0,0,d,a,aa,0,g,1,ga,13
0,0,a,d,aa,0,g,1,ga,13
0,0,a,aa,d,0,g,1,ga,13
0,0,d,a,aa,0,1,g,0,13
0,0,a,aa,d,0,0,9,1,13
#starter
0,0,0,0,0,0,i,b,5,11
0,11,0,0,0,0,0,0,6,8
0,0,0,0,0,0,0,8,11,9
0,0,0,0,0,0,8,11,0,1
1,0,0,0,0,9,8,11,0,4
0,0,0,0,0,1,11,0,0,9
11,0,0,b,8,8,0,6,ba,6
@COLORS
0 0 0 0
1 255 128 0
2 255 0 0
3 0 255 0
4 0 0 255
5 0 190 0
6 0 140 0
7 255 255 255
8 80 80 80
9 95 95 95
10 128 128 128
11 0 64 0
12 255 165 0
13 255 255 0
14 128 255 128
Also if you use the loop from the original rule that has a second arm, that same loop will grow a third arm!
Edit: added a barrier state and changed the color of state 12, nothing else in the rule changed.