E ai, blz?  Lá pra meados de 2006 (caralho, como faz tempo) eu estava tentando implantar a Série de Fibonacci no Mugen, e com a ajuda do SmS o código funcionou que foi uma blz... mas nunca postei (na verdade, eu achei que tinha postado... mas descobri hoje que nunca postei :P) a real utilização para esse código. 
 Para quem não conhece o que é a Série de Fibonacci, aqui vai uma breve explicação copiada da Wikipedia 
 
Quote
Consiste em uma sequência de crescimento natural,numérica por exemplo: 1, 1, 2, 3 ... A sequência de Fibonacci define como 1,1,2,3,5,8,13,21,34,55,89,144,233,... ou seja, o número seguinte é a soma de seus dois antecessores.
   Depois de quebrar a cabeça, o SmS desenvolveu esse código que faz a soma (correta :P) da Série de Fibonacci. 
 
Quote
[State 200, 1] 
 type = VarSet 
 triggerall = time = 1 
 trigger1 = var(23)=1 
 trigger1 = var(22):=Var(20)+Var(21) 
 trigger1 = var(24):=Var(22) 
 trigger2 = var(23)=2 
 trigger2 = var(20):=Var(21)+Var(22) 
 trigger2 = var(24):=Var(20) 
 trigger3 = var(23)=3 
 trigger3 = var(21):=Var(22)+Var(20) 
 trigger3 = var(24):=Var(21) 
 trigger4 = var(23)=0 
 trigger4 = var(20):=1 
 V= 23 
 value = ifelse(Var(23) = 3,1,Var(23)+1)
   e para controle, fiz esse pequeno DisplayToClipBoard 
 
Quote
[State -2, DisplayToClipBoard] 
 type = DisplayToClipBoard 
 trigger1 = 1 
 text = "var(20) %d, var(21) %d, var(22) %d, var(23) %d, var(24) %d" 
 params = var(20),var(21),var(22),var(23),var(24)
   Mas depois de tudo isso, pra que serve essa porra de código maluco? 
 Esse código tem 1001 utilidades como: randomização, sistema de experiência, sistema de danos, seleção de golpes, advanced guard e até uma ativação de AI mais elaborada, assim como a programação da própria AI. 
 E como fazer isso? 
 No Rock, eu comecei a utilizar o VarRandom bem simples e sem vínculo com o Fibonacci. 
 
Quote
[State -3, VarRandom] 
 type = VarRandom 
 triggerall = Var(2) = 1 
 trigger1 = 1 
 v = 4 
 range = 7
  
 Dessa maneira a var(4) fica randomizando de 1 a 7 sem parar, mas isso depois que a var(2) for ativada.  Aplicando o código Fibonacci conforme escrevemos acima, teremos: 
 
Quote
[State -3, VarRandom] 
 type = VarRandom 
 triggerall = Var(2) = 1 
 trigger1 = 1 
 v = 4 
 range = var(20),var(24)
  
 O valor da randomização ficará entre essas duas variáveis. Mas em certos pontos os valores podem passar de 121393,196418... portanto é bom zerar as variáveis depois de certo valor.  Além desse tipo de randomização, poderemos fazer a escolha de um golpe "secreto"... aqueles golpes mais fodões que só podem ser ativados em situações extremas :P 
 Ainda com base no VarRandom acima, podemos fazer vários tipos de randomização na escolha do golpe: 
 
Quote
[State xxx, ChangeState] 
 type = ChangeState 
 triggerall = Var(24) = Var(21) 
 trigger1 = 1 
 value = yyy
  
 Quote
[State xxx, ChangeState] 
 type = ChangeState 
 trigger1 = 1 
 value = ifelse(Var(20)-Var(22)=Var(21),yyy,zzz)
  
 Quote
[State xxx, ChangeState] 
 type = ChangeState 
 triggerall = Var(24) = Var(22) 
 trigger1 = 1 
 value = yyy
  
 Além dessa, podemos fazer muitas outras randomizações utilizando os valores que são passados pela Série de Fibonacci.  Também podemos fazer um sistema de danos utilizando a var(23), apesar desse sistema de danos ser bem simples é possível adicionar mais elementos a ele. 
 O valor da var(23) sempre fica como 1, 2 e 3. Mas adicionando um simples contador a ela, podemos ter algo assim (continuando com a base da var(23) feito lá pra cima): 
 
Quote
[State xxx,VarSet] 
 type = VarSet 
 triggerall = (Var(23) = 2&&MoveType = A) 
 value = 1
  
 Assim, seu personagem teria certas condições para ter um ganho de danos e até daria para fazer um outro tipo de randomização.  Por enquanto é isso, de 2006 até agora dei uma boa enferrujada com o Mugen... mas aos poucos vou voltando. Assim que der, vou postar as outras coisas que consegui fazer com esse código.