Advertisement
gauchoob

OSRS Wiki Fight Cave Wave Generator Code

Nov 6th, 2017
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.15 KB | None | 0 0
  1. GetSpawn=(3, 5, 2, 1, 5, 3, 4, 1, 2, 3, 5, 4, 1, 2, 4)
  2. Location2CardinalWiki=[None,"nw","c","se","s","sw"]
  3.                    
  4. def PrintSpawn(wave):
  5.     if(wave>=31): return [360,wave-31]
  6.     if(wave>=15): return [180,wave-15]
  7.     if(wave>=7): return [90,wave-7]
  8.     if(wave>=3): return [45,wave-3]
  9.     return [22,wave-1]
  10.    
  11. def ProcessWaveWiki(f,wave,i):
  12.     f.write("{{FightCaveWave")
  13.     f.write("|wave=%s"%(wave))
  14.     MonsterCount=[0,0,0,0,0,0]
  15.     if(wave==63):
  16.         spawnloc=GetSpawn[i%15]
  17.         coord=Location2CardinalWiki[spawnloc]
  18.         f.write("|%s=702"%(coord))
  19.         MonsterCount[spawnloc]+=1
  20.         for j in range(4):
  21.             i+=1
  22.             spawnloc=GetSpawn[i%15]
  23.             coord=Location2CardinalWiki[spawnloc]
  24.             MonsterCount[spawnloc]+=1
  25.             if(MonsterCount[spawnloc]==2):
  26.                 f.write("|%s2=108"%(coord))
  27.             else:
  28.                 f.write("|%s=108"%(coord))
  29.     else:
  30.         while(wave>0):
  31.             mob,wave=PrintSpawn(wave)
  32.            
  33.             spawnloc=GetSpawn[i%15]
  34.             coord=Location2CardinalWiki[spawnloc]
  35.             MonsterCount[spawnloc]+=1
  36.             if(MonsterCount[spawnloc]==2):
  37.                 f.write("|%s2=%s"%(coord,mob))
  38.             else:
  39.                 f.write("|%s=%s"%(coord,mob))
  40.             i+=1
  41.     f.write("}}")
  42.     return
  43.        
  44. def GetRotationWiki(i):
  45.     spawnloc=[]
  46.     for j in range(5):
  47.         spawnloc.append(GetSpawn[(i+j)%15])
  48.     if(spawnloc[0]==4 and spawnloc[1]==1):
  49.         return "S.NW C.C.%s %s"%(Location2Cardinal[spawnloc[3]],Location2Cardinal[spawnloc[4]])
  50.     else:
  51.         return "%s.%s %s"%(Location2Cardinal[spawnloc[0]],Location2Cardinal[spawnloc[1]],Location2Cardinal[spawnloc[2]])
  52.    
  53. def MakeWikiWaves(i):
  54.     wave=1
  55.     f=open("%s.txt"%(GetRotationWiki(i)),"w")
  56.     f.write("\n")
  57.     while(wave<64):
  58.         ProcessWaveWiki(f,wave,i)
  59.         f.write("\n")
  60.         i+=1
  61.         wave+=1
  62.     f.write("[[Category:Fight Cave Iteration]]")
  63.     f.close()
  64.        
  65. def ProcessAllRotationsWiki():
  66.     for i in range(15):
  67.         print(i)
  68.         MakeWikiWaves(i)
  69.    
  70. ProcessAllRotationsWiki()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement