Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //itemid[descid][class][sign][modifier 0]...[modifier 169]
- int[int][int][int][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean][boolean] I_just_want_a_spreadsheet_to_be_pretty_Dont_judge_me ;
- string[int] mod;
- file_to_map("sorted tcrs modifiers.txt", mod);
- string[int] signs = {"Mongoose", "Wallaby", "Vole", "Marmot", "Opossum", "Platypus", "Blender", "Wombat", "Packrat"};
- int c;
- //tcrsname[itemid][descid][class][sign]
- string[int][int][int][int] f;
- //now we fill the above with all items with modifiers.
- item bufferi;
- boolean bufferb;
- string[int] bufferf;
- foreach i in signs{
- for j from 1 to 6{
- bufferf = file_to_array("data/TCRS_"+j.to_class().replace_string(" ","_")+"_"+signs[i]+".txt");
- foreach k in bufferf{
- bufferi = bufferf[k].group_string("^(\\d+)\\t")[0][1].to_int().to_item();
- //make sure we're looking at a piece of equipment.
- bufferb = false;
- foreach asdf in $slots[hat,back,shirt,weapon,pants,off-hand,acc1]{
- if(bufferi.to_slot() == asdf){
- bufferb = true;
- }
- }
- //these two items are annoying, so we exclude them
- if(bufferb && bufferi != $item[pantogram pants] && bufferi != $item[ring]){
- //only include items with at least one modifier
- bufferb = false;
- //check for modifiers before lucky.
- for asdf from 0 to 13{
- if(bufferf[k].group_string("^\\d+\\t([^\\t]+)\\t")[0][1].group_string("\\b"+mod[asdf]+"\\b").count() > 0){
- bufferb = true;
- }
- }
- //check for modifiers after lucky.
- if(!bufferb){
- for asdf from 15 to 169{
- if(bufferf[k].group_string("^\\d+\\t([^\\t]+)\\t")[0][1].group_string("\\b"+mod[asdf]+"\\b").count() > 0){
- bufferb = true;
- }
- }
- }
- //check for lucky, which doesn't actually appear on items for whatever reason.
- //I assume it was modifier #13 at some point so jick made it not show up as a joke and then added more modifiers which got sorted above it?
- if(!bufferb){
- //if item drop is a number other than 5, it'll have another modifier, so we won't end up here.
- if(bufferf[k].group_string("^\\d+\\t[^\\t]+\\t\\d+\\t\\t([^\\t]*Item Drop: \\+5)\\b").count() > 0){
- bufferb = true;
- }
- }
- if(bufferb){
- //so, this should be all equipment with at least one modifier.
- //f[bufferi.to_int()][bufferi.descid.to_int()][j][i+1] = bufferf[k].group_string("^\\d+\\t([^\\t]+)\\t")[0][1];
- f[bufferi.to_int()][bufferi.descid.to_int()][j][i+1] = bufferf[k];
- //we leave on the extra crap here because we check it for item drop later for awful reasons.
- if(k%500 == 0){
- print(f[bufferi.to_int()][bufferi.descid.to_int()][j][i+1]);
- }
- }
- }
- }
- clear(bufferf);
- }
- }
- boolean[int] has_mod;
- int predicted_item_drop;
- foreach i,j,k,asdf in f{
- //find all modifiers besides lucky.
- for a from 0 to 13{
- if(f[i][j][k][asdf].group_string("^\\d+\\t([^\\t]+)\\t")[0][1].group_string("\\b"+mod[a]+"\\b").count() > 0){
- has_mod[a] = true;
- }
- else{
- has_mod[a] = false;
- }
- }
- for a from 15 to 169{
- if(f[i][j][k][asdf].group_string("^\\d+\\t([^\\t]+)\\t")[0][1].group_string("\\b"+mod[a]+"\\b").count() > 0){
- has_mod[a] = true;
- }
- else{
- has_mod[a] = false;
- }
- }
- //now we do item drop arithmetic to find lucky.
- predicted_item_drop = has_mod[11].to_int() * 25 + has_mod[12].to_int() * 15 + has_mod[13].to_int() * 10 + has_mod[162].to_int() * 20;
- //it'll be 5 bigger if we have lucky.
- if(f[i][j][k][asdf].group_string("^\\d+\\t[^\\t]+\\t\\d+\\t\\t([^\\t]*Item Drop: \\+"+(predicted_item_drop+5)+")\\b").count() > 0){
- has_mod[14] = true;
- }
- else{
- has_mod[14] = false;
- }
- I_just_want_a_spreadsheet_to_be_pretty_Dont_judge_me[j][k][asdf][has_mod[0]][has_mod[1]][has_mod[2]][has_mod[3]][has_mod[4]][has_mod[5]][has_mod[6]][has_mod[7]][has_mod[8]][has_mod[9]][has_mod[10]][has_mod[11]][has_mod[12]][has_mod[13]][has_mod[14]][has_mod[15]][has_mod[16]][has_mod[17]][has_mod[18]][has_mod[19]][has_mod[20]][has_mod[21]][has_mod[22]][has_mod[23]][has_mod[24]][has_mod[25]][has_mod[26]][has_mod[27]][has_mod[28]][has_mod[29]][has_mod[30]][has_mod[31]][has_mod[32]][has_mod[33]][has_mod[34]][has_mod[35]][has_mod[36]][has_mod[37]][has_mod[38]][has_mod[39]][has_mod[40]][has_mod[41]][has_mod[42]][has_mod[43]][has_mod[44]][has_mod[45]][has_mod[46]][has_mod[47]][has_mod[48]][has_mod[49]][has_mod[50]][has_mod[51]][has_mod[52]][has_mod[53]][has_mod[54]][has_mod[55]][has_mod[56]][has_mod[57]][has_mod[58]][has_mod[59]][has_mod[60]][has_mod[61]][has_mod[62]][has_mod[63]][has_mod[64]][has_mod[65]][has_mod[66]][has_mod[67]][has_mod[68]][has_mod[69]][has_mod[70]][has_mod[71]][has_mod[72]][has_mod[73]][has_mod[74]][has_mod[75]][has_mod[76]][has_mod[77]][has_mod[78]][has_mod[79]][has_mod[80]][has_mod[81]][has_mod[82]][has_mod[83]][has_mod[84]][has_mod[85]][has_mod[86]][has_mod[87]][has_mod[88]][has_mod[89]][has_mod[90]][has_mod[91]][has_mod[92]][has_mod[93]][has_mod[94]][has_mod[95]][has_mod[96]][has_mod[97]][has_mod[98]][has_mod[99]][has_mod[100]][has_mod[101]][has_mod[102]][has_mod[103]][has_mod[104]][has_mod[105]][has_mod[106]][has_mod[107]][has_mod[108]][has_mod[109]][has_mod[110]][has_mod[111]][has_mod[112]][has_mod[113]][has_mod[114]][has_mod[115]][has_mod[116]][has_mod[117]][has_mod[118]][has_mod[119]][has_mod[120]][has_mod[121]][has_mod[122]][has_mod[123]][has_mod[124]][has_mod[125]][has_mod[126]][has_mod[127]][has_mod[128]][has_mod[129]][has_mod[130]][has_mod[131]][has_mod[132]][has_mod[133]][has_mod[134]][has_mod[135]][has_mod[136]][has_mod[137]][has_mod[138]][has_mod[139]][has_mod[140]][has_mod[141]][has_mod[142]][has_mod[143]][has_mod[144]][has_mod[145]][has_mod[146]][has_mod[147]][has_mod[148]][has_mod[149]][has_mod[150]][has_mod[151]][has_mod[152]][has_mod[153]][has_mod[154]][has_mod[155]][has_mod[156]][has_mod[157]][has_mod[158]][has_mod[159]][has_mod[160]][has_mod[161]][has_mod[162]][has_mod[163]][has_mod[164]][has_mod[165]][has_mod[166]][has_mod[167]][has_mod[168]][has_mod[169]] = i;
- clear(has_mod);
- cli_execute("gc");
- }
- map_to_file(I_just_want_a_spreadsheet_to_be_pretty_Dont_judge_me, "tcrs functional modifiers by item");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement