import seeded_mt_rand.ash
import seeded_rand.ash
/* personal trainer items with one enchantment in seed:
2481 demon buckler
2889 tiny plastic apathetic lizardman
5089 Pokëmann figurine: Vegemite
5100 Pokëmann figurine: Frank
*/
//throwing in 1, 10, 69, and 100 because you never know.
int[int] primes_also_one = {1, 2, 3, 5, 7, 10, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 69, 71, 73, 79, 83, 89, 97, 100};
//subset of slightly higher likelihood things for quicker tests.
//int[int] primes_also_one = {1, 3, 5, 7, 10, 11, 13, 23, 37, 69, 100};
int[int] roll;
int[int] test_item;
int but = 2**31-1;
test_item = {$item[2481].to_int(), $item[2889].to_int(), $item[5089].to_int(), $item[5100].to_int()};
//test_item = {$item[2481].descid.to_int(), $item[2889].descid.to_int(), $item[5089].descid.to_int(), $item[5100].descid.to_int()};
int county_thing;
int start = gametime_to_int();
for sample from 0 to 1{
//maybe there's a multiplier?
for g from 0 to (primes_also_one.count()-1){
//maybe path matters?
for h from 0 to primes_also_one.count()-1{
//not including path because eh...
//for h from primes_also_one.count() to primes_also_one.count(){
for i from 0 to (primes_also_one.count()-1){
for j from 0 to (primes_also_one.count()-1){
for k from 0 to (primes_also_one.count()-1){
roll[1] = seeded_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[0]+primes_also_one[h]*35 ), 0, but, sample)%170;
roll[2] = seeded_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[1]+primes_also_one[h]*35 ), 0, but, sample)%170;
if(roll[2] == roll[1]){
roll[3] = seeded_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[2]+primes_also_one[h]*35 ), 0, but, sample)%170;
if(roll[3] == roll[1]){
roll[4] = seeded_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[3]+primes_also_one[h]*35 ), 0, but, sample)%170;
if(roll[4] == roll[1]){
print("("+primes_also_one[i]+", "+primes_also_one[j]+", "+primes_also_one[k]+", "+primes_also_one[h]+", "+primes_also_one[g]+") on sample "+sample+" of ["+0+","+but+"] mod 170");
}
}
}
roll[1] = seeded_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[0]+primes_also_one[h]*35 ), 0, 169, sample);
roll[2] = seeded_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[1]+primes_also_one[h]*35 ), 0, 169, sample);
if(roll[2] == roll[1]){
roll[3] = seeded_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[2]+primes_also_one[h]*35 ), 0, 169, sample);
if(roll[3] == roll[1]){
roll[4] = seeded_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[3]+primes_also_one[h]*35 ), 0, 169, sample);
if(roll[4] == roll[1]){
print("("+primes_also_one[i]+", "+primes_also_one[j]+", "+primes_also_one[k]+", "+primes_also_one[h]+", "+primes_also_one[g]+") on sample "+sample+" of ["+0+","+169+"]");
}
}
}
roll[1] = seeded_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[0]+primes_also_one[h]*35 ), 1, 170, sample);
roll[2] = seeded_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[1]+primes_also_one[h]*35 ), 1, 170, sample);
if(roll[2] == roll[1]){
roll[3] = seeded_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[2]+primes_also_one[h]*35 ), 1, 170, sample);
if(roll[3] == roll[1]){
roll[4] = seeded_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[3]+primes_also_one[h]*35 ), 1, 170, sample);
if(roll[4] == roll[1]){
print("("+primes_also_one[i]+", "+primes_also_one[j]+", "+primes_also_one[k]+", "+primes_also_one[h]+", "+primes_also_one[g]+") on sample "+sample+" of ["+1+","+170+"]");
}
}
}
county_thing++;
if(county_thing % 10000 == 0){
//print_html(county_thing+" iterations done");
print((county_thing)+" iterations done in "+((gametime_to_int() - start)/1000)+" seconds");
}
}
}
}
}
}
}
print("done");
/*
test_item = {$item[2481].to_int(), $item[2889].to_int(), $item[5089].to_int(), $item[5100].to_int()};
//test_item = {$item[2481].descid.to_int(), $item[2889].descid.to_int(), $item[5089].descid.to_int(), $item[5100].descid.to_int()};
int county_thing;
int start = gametime_to_int();
for sample from 1 to 3{
for low_mod from 0 to 0{
//maybe there's a multiplier?
for g from 0 to (primes_also_one.count()-1){
//maybe path matters?
for h from 0 to primes_also_one.count(){
for i from 0 to (primes_also_one.count()-1){
for j from 0 to (primes_also_one.count()-1){
for k from 0 to (primes_also_one.count()-1){
roll[1] = seeded_mt_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[0]+primes_also_one[h]*35 ), 0, but, sample)%170;
roll[2] = seeded_mt_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[1]+primes_also_one[h]*35 ), 0, but, sample)%170;
if(roll[2] == roll[1]){
roll[3] = seeded_mt_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[2]+primes_also_one[h]*35 ), 0, but, sample)%170;
if(roll[3] == roll[1]){
roll[4] = seeded_mt_rand(primes_also_one[g] * ( primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[3]+primes_also_one[h]*35 ), 0, but, sample)%170;
if(roll[4] == roll[1]){
print("("+primes_also_one[i]+", "+primes_also_one[j]+", "+primes_also_one[k]+", "+primes_also_one[h]+", "+primes_also_one[g]+") on sample "+sample+" of ["+0+","+but+"] mod 170");
}
}
}
county_thing++;
if(county_thing % 10000 == 0){
//print_html(county_thing+" iterations done");
print((county_thing)+" iterations done in "+((gametime_to_int() - start)/1000)+" seconds");
}
}
}
}
}
}
}
}
print("done");
*/
/*
test_item = {$item[2481].to_int(), $item[2889].to_int(), $item[5089].to_int(), $item[5100].to_int()};
//test_item = {$item[2481].descid.to_int(), $item[2889].descid.to_int(), $item[5089].descid.to_int(), $item[5100].descid.to_int()};
int county_thing;
int start = gametime_to_int();
for sample from 1 to 2{
for low_mod from 0 to 1{
//maybe path matters?
for h from 0 to (primes_also_one.count()-1){
for i from 0 to (primes_also_one.count()-1){
for j from 0 to (primes_also_one.count()-1){
for k from 0 to (primes_also_one.count()-1){
roll[1] = seeded_mt_rand(primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[0]+primes_also_one[h]*35,low_mod, low_mod+169, sample);
roll[2] = seeded_mt_rand(primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[1]+primes_also_one[h]*35,low_mod, low_mod+169, sample);
if(roll[2] == roll[1]){
roll[3] = seeded_mt_rand(primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[2]+primes_also_one[h]*35,low_mod, low_mod+169, sample);
if(roll[3] == roll[1]){
roll[4] = seeded_mt_rand(primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[3]+primes_also_one[h]*35,low_mod, low_mod+169, sample);
if(roll[4] == roll[1]){
print("("+primes_also_one[i]+", "+primes_also_one[j]+", "+primes_also_one[k]+") on sample "+sample+" of ["+low_mod+","+(low_mod+169)+"]");
}
}
}
county_thing++;
if(county_thing % 10000 == 0){
//print_html(county_thing+" iterations done");
print((county_thing)+" iterations done in "+((gametime_to_int() - start)/1000)+" seconds");
}
}
}
}
}
}
}
print("done");
*/
/*
no result for
int[int] primes_also_one = {1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 69, 71, 73, 79, 83, 89, 97};
test_item = {$item[2481].to_int(), $item[2889].to_int(), $item[5089].to_int(), $item[5100].to_int()};
for sample from 1 to 1{
for low_mod from 0 to 1{
for x from 167 to 169{
for i from 0 to 26{
for j from 0 to 26{
for k from 0 to 26{
*/
/*
no result for
int[int] primes_also_one = {1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 69, 71, 73, 79, 83, 89, 97};
test_item = {$item[2481].descid.to_int(), $item[2889].descid.to_int(), $item[5089].descid.to_int(), $item[5100].descid.to_int()};
for sample from 1 to 1{
for low_mod from 0 to 1{
for x from 167 to 169{
for i from 0 to 26{
for j from 0 to 26{
for k from 0 to 26{
*/
/*
no result for
int[int] primes_also_one = {1, 2, 3, 5, 7, 10, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 69, 71, 73, 79, 83, 89, 97, 100};
test_item = {$item[2481].to_int(), $item[2889].to_int(), $item[5089].to_int(), $item[5100].to_int()};
for sample from 2 to 3{
for low_mod from 0 to 1{
for i from 0 to (primes_also_one.count()-1){
for j from 0 to (primes_also_one.count()-1){
for k from 0 to (primes_also_one.count()-1){
*/
/*
no result for
int[int] primes_also_one = {1, 3, 5, 7, 10, 11, 13, 23, 37, 69, 100};
test_item = {$item[2481].to_int(), $item[2889].to_int(), $item[5089].to_int(), $item[5100].to_int()};
for sample from 1 to 2{
for low_mod from 0 to 1{
//maybe path matters?
for h from 0 to (primes_also_one.count()-1){
for i from 0 to (primes_also_one.count()-1){
for j from 0 to (primes_also_one.count()-1){
for k from 0 to (primes_also_one.count()-1){
roll[1] = seeded_mt_rand(primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[0]+primes_also_one[h]*35,low_mod, low_mod+169, sample);
*/
/*
no result for
int[int] primes_also_one = {1, 3, 5, 7, 10, 11, 13, 23, 37, 69, 100};
int but = 2**31-1;
test_item = {$item[2481].to_int(), $item[2889].to_int(), $item[5089].to_int(), $item[5100].to_int()};
for sample from 1 to 1{
for low_mod from 0 to 0{
//maybe path matters?
for h from 0 to primes_also_one.count(){
for i from 0 to (primes_also_one.count()-1){
for j from 0 to (primes_also_one.count()-1){
for k from 0 to (primes_also_one.count()-1){
roll[1] = seeded_mt_rand(primes_also_one[i]*2+primes_also_one[j]*4+primes_also_one[k]*test_item[0]+primes_also_one[h]*35, 0, but, sample)%170;
//
*/
Comments