muffin v7.5.11
This commit is contained in:
parent
addf2d530f
commit
3102923ce2
522 changed files with 41082 additions and 211592 deletions
|
|
@ -1,8 +1,6 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Dalamud.Plugin.Services;
|
||||
using Lumina.Excel;
|
||||
using Lumina.Excel.Sheets;
|
||||
|
||||
namespace LLib.GameData;
|
||||
|
|
@ -19,276 +17,80 @@ public sealed class SatisfactionSupplyHelper
|
|||
public uint[] CalculateRequestedItems(uint supplyIndex, uint seed)
|
||||
{
|
||||
List<SatisfactionSupply> list = new List<SatisfactionSupply>();
|
||||
int num;
|
||||
int num3;
|
||||
int num4;
|
||||
using (SubrowExcelSheet<SatisfactionSupply>.FlatEnumerator flatEnumerator = _dataManager.GetSubrowExcelSheet<SatisfactionSupply>().Flatten().GetEnumerator())
|
||||
foreach (SatisfactionSupply item in _dataManager.GetSubrowExcelSheet<SatisfactionSupply>().Flatten())
|
||||
{
|
||||
num = -1981977636;
|
||||
SatisfactionSupply current = default(SatisfactionSupply);
|
||||
while (true)
|
||||
if (item.RowId == supplyIndex)
|
||||
{
|
||||
int num2 = num;
|
||||
num3 = -1981977636;
|
||||
num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
list.Add(item);
|
||||
}
|
||||
}
|
||||
uint num = (63874652 * supplyIndex) ^ (437113358 * seed);
|
||||
uint num2 = (uint)(-547857059 * (int)supplyIndex) ^ (811033966 * seed);
|
||||
uint num3 = (uint)(-311827390 * (int)supplyIndex) ^ (570616410 * seed);
|
||||
uint num4 = (uint)((-1359202047 * (int)supplyIndex) ^ (-418962442 * (int)seed));
|
||||
uint[] array = new uint[3] { 4294967295u, 4294967295u, 4294967295u };
|
||||
uint num5 = num;
|
||||
for (int i = 1; i < 4; i++)
|
||||
{
|
||||
int num6 = 0;
|
||||
for (int j = 0; j < list.Count; j++)
|
||||
{
|
||||
SatisfactionSupply satisfactionSupply = list[j];
|
||||
if (satisfactionSupply.Slot == i)
|
||||
{
|
||||
case 2:
|
||||
list.Add(current);
|
||||
num = -1981977636;
|
||||
break;
|
||||
case 1:
|
||||
current = flatEnumerator.Current;
|
||||
num = ((current.RowId != supplyIndex) ? (-1981977636) : (-1981977634));
|
||||
break;
|
||||
case 4:
|
||||
num = -1981977636;
|
||||
break;
|
||||
case 0:
|
||||
num = (flatEnumerator.MoveNext() ? (-1981977635) : (-1981977633));
|
||||
break;
|
||||
case 3:
|
||||
goto end_IL_0038;
|
||||
num6 += satisfactionSupply.ProbabilityPercent;
|
||||
}
|
||||
}
|
||||
uint num7 = num5 ^ (num5 << 11);
|
||||
num = num3;
|
||||
num3 = num4;
|
||||
num5 = num2;
|
||||
num4 ^= num7 ^ ((num7 ^ (num4 >> 11)) >> 8);
|
||||
num2 = num;
|
||||
if (num6 <= 0)
|
||||
{
|
||||
continue;
|
||||
end_IL_0038:
|
||||
break;
|
||||
}
|
||||
}
|
||||
uint num7 = 63874652 * supplyIndex;
|
||||
num3 = (int)(437113358 * seed);
|
||||
num4 = (int)num7;
|
||||
int num8 = num4 + num3;
|
||||
int num9 = num4 & num3;
|
||||
uint num10 = (uint)(num8 - (num9 + num9));
|
||||
int num11 = -547857059 * (int)supplyIndex;
|
||||
num3 = (int)(811033966 * seed);
|
||||
num4 = num11;
|
||||
uint num12 = (uint)((num4 | num3) - (num4 & num3));
|
||||
int num13 = -311827390 * (int)supplyIndex;
|
||||
num3 = (int)(570616410 * seed);
|
||||
num4 = num13;
|
||||
int num14 = num4 + num3;
|
||||
int num15 = num4 & num3;
|
||||
uint num16 = (uint)(num14 - (num15 + num15));
|
||||
int num17 = -1359202047 * (int)supplyIndex;
|
||||
num3 = -418962442 * (int)seed;
|
||||
num4 = num17;
|
||||
int num18 = num4 + num3;
|
||||
int num19 = num4 & num3;
|
||||
uint num20 = (uint)(num18 - (num19 + num19));
|
||||
uint[] array = new uint[3];
|
||||
_206C_202C_202B_202D_202E_200F_200B_202E_202C_202D_202C_206D_206A_200D_206C_200E_200F_206A_202A_200C_200E_200D_200D_206A_206F_202C_202B_206F_200B_200F_206C_206D_202C_206C_200B_206B_206C_202B_200F_200C_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
|
||||
uint[] array2 = array;
|
||||
uint num21 = num10;
|
||||
int num22 = 1;
|
||||
num = 1311110073;
|
||||
int num33 = default(int);
|
||||
SatisfactionSupply satisfactionSupply2 = default(SatisfactionSupply);
|
||||
int num46 = default(int);
|
||||
int num34 = default(int);
|
||||
long num43 = default(long);
|
||||
SatisfactionSupply satisfactionSupply = default(SatisfactionSupply);
|
||||
while (true)
|
||||
{
|
||||
int num23 = num;
|
||||
num3 = 1311110070;
|
||||
num4 = num23;
|
||||
int num24 = num4 + num3;
|
||||
int num25 = num4 & num3;
|
||||
switch (num24 - (num25 + num25))
|
||||
{
|
||||
case 7:
|
||||
{
|
||||
uint num26 = num21;
|
||||
num3 = (int)(num21 << 11);
|
||||
num4 = (int)num26;
|
||||
int num27 = num4 + num3;
|
||||
int num28 = num4 & num3;
|
||||
uint num29 = (uint)(num27 - (num28 + num28));
|
||||
num10 = num16;
|
||||
num16 = num20;
|
||||
num21 = num12;
|
||||
uint num30 = num20;
|
||||
num3 = (int)(num20 >> 11);
|
||||
num4 = (int)num29;
|
||||
num3 = (num4 | num3) - (num4 & num3) >>> 8;
|
||||
num4 = (int)num29;
|
||||
int num31 = num4 + num3;
|
||||
int num32 = num4 & num3;
|
||||
num3 = num31 - (num32 + num32);
|
||||
num4 = (int)num30;
|
||||
num20 = (uint)((num4 | num3) - (num4 & num3));
|
||||
num12 = num10;
|
||||
num = ((num33 <= 0) ? 1311110072 : 1311110071);
|
||||
break;
|
||||
}
|
||||
case 12:
|
||||
satisfactionSupply2 = list[num46];
|
||||
num = ((satisfactionSupply2.Slot != num22) ? 1311110064 : 1311110078);
|
||||
break;
|
||||
case 10:
|
||||
num = ((num34 < list.Count) ? 1311110070 : 1311110072);
|
||||
break;
|
||||
case 4:
|
||||
num = ((num43 >= satisfactionSupply.ProbabilityPercent) ? 1311110075 : 1311110077);
|
||||
break;
|
||||
case 2:
|
||||
num = ((num46 < list.Count) ? 1311110074 : 1311110065);
|
||||
break;
|
||||
case 0:
|
||||
satisfactionSupply = list[num34];
|
||||
num = ((satisfactionSupply.Slot != num22) ? 1311110067 : 1311110066);
|
||||
break;
|
||||
case 6:
|
||||
{
|
||||
int num47 = num46;
|
||||
num3 = 1;
|
||||
num4 = num47;
|
||||
int num48 = num4 ^ num3;
|
||||
int num49 = num4 & num3;
|
||||
num46 = num48 + (num49 + num49);
|
||||
num = 1311110068;
|
||||
break;
|
||||
}
|
||||
case 8:
|
||||
num33 += satisfactionSupply2.ProbabilityPercent;
|
||||
num = 1311110064;
|
||||
break;
|
||||
case 16:
|
||||
num = 1311110073;
|
||||
break;
|
||||
case 9:
|
||||
num33 = 0;
|
||||
num46 = 0;
|
||||
num = 1311110068;
|
||||
break;
|
||||
case 1:
|
||||
num43 = num20 % num33;
|
||||
num34 = 0;
|
||||
num = 1311110076;
|
||||
break;
|
||||
case 3:
|
||||
return array2;
|
||||
case 13:
|
||||
{
|
||||
long num42 = num43;
|
||||
long num44 = satisfactionSupply.ProbabilityPercent;
|
||||
long num45 = num42;
|
||||
num43 = ~(~num45 + num44);
|
||||
num = 1311110067;
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
int num39 = num34;
|
||||
num3 = 1;
|
||||
num4 = num39;
|
||||
int num40 = num4 ^ num3;
|
||||
int num41 = num4 & num3;
|
||||
num34 = num40 + (num41 + num41);
|
||||
num = 1311110076;
|
||||
break;
|
||||
}
|
||||
case 11:
|
||||
{
|
||||
int num38 = num22;
|
||||
num3 = 1;
|
||||
num4 = num38;
|
||||
array2[~(~num4 + num3)] = (uint)num34;
|
||||
num = 1311110072;
|
||||
break;
|
||||
}
|
||||
case 14:
|
||||
{
|
||||
int num35 = num22;
|
||||
num3 = 1;
|
||||
num4 = num35;
|
||||
int num36 = num4 ^ num3;
|
||||
int num37 = num4 & num3;
|
||||
num22 = num36 + (num37 + num37);
|
||||
num = 1311110073;
|
||||
break;
|
||||
}
|
||||
case 15:
|
||||
num = ((num22 < 4) ? 1311110079 : 1311110069);
|
||||
break;
|
||||
}
|
||||
long num8 = num4 % num6;
|
||||
for (int k = 0; k < list.Count; k++)
|
||||
{
|
||||
SatisfactionSupply satisfactionSupply2 = list[k];
|
||||
if (satisfactionSupply2.Slot == i)
|
||||
{
|
||||
if (num8 < satisfactionSupply2.ProbabilityPercent)
|
||||
{
|
||||
array[i - 1] = (uint)k;
|
||||
break;
|
||||
}
|
||||
num8 -= satisfactionSupply2.ProbabilityPercent;
|
||||
}
|
||||
}
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
public int CalculateBonusGuaranteeIndex(int timestamp)
|
||||
{
|
||||
int count = _dataManager.GetExcelSheet<SatisfactionBonusGuarantee>().Count;
|
||||
int num = ((count != 0) ? 473391985 : 473391984);
|
||||
while (true)
|
||||
if (count == 0)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 473391985;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 2:
|
||||
goto IL_005f;
|
||||
case 1:
|
||||
return -1;
|
||||
case 0:
|
||||
num3 = 1657008000;
|
||||
num4 = timestamp;
|
||||
return ~(~num4 + num3) / 604800 % count;
|
||||
}
|
||||
continue;
|
||||
IL_005f:
|
||||
num = 473391984;
|
||||
return -1;
|
||||
}
|
||||
return (timestamp - 1657008000) / 604800 % count;
|
||||
}
|
||||
|
||||
public static int CalculateTurnInsToNextRank(ushort currentSatisfaction, ushort maxSatisfaction, int maxTurnIns)
|
||||
{
|
||||
int num = ((currentSatisfaction < maxSatisfaction) ? 423147797 : 423147794);
|
||||
int num5 = default(int);
|
||||
int num6 = default(int);
|
||||
while (true)
|
||||
if (currentSatisfaction >= maxSatisfaction)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 423147798;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
num = 423147794;
|
||||
break;
|
||||
case 3:
|
||||
num3 = currentSatisfaction;
|
||||
num4 = maxSatisfaction;
|
||||
num5 = ~(~num4 + num3);
|
||||
num6 = maxSatisfaction / maxTurnIns;
|
||||
num = ((num6 != 0) ? 423147799 : 423147796);
|
||||
break;
|
||||
case 4:
|
||||
return maxTurnIns;
|
||||
case 2:
|
||||
return maxTurnIns;
|
||||
case 1:
|
||||
return _200D_202D_206D_206C_206D_202A_202A_200D_202E_200B_200B_200C_206E_202E_200D_200B_206B_206C_206F_202C_200B_200C_202D_200B_206C_200F_200B_202E_200C_206F_206F_206D_200D_200E_202A_206E_202C_206F_202D_206E_202E((int)_202E_200D_206F_200C_200B_206B_202E_206E_206D_206D_200E_206B_202D_206D_206D_200E_206B_200E_206A_202B_206F_206A_202D_202B_202C_202D_206E_202B_200D_206F_200F_206D_200D_200B_200F_200C_200F_202B_206B_200D_202E((double)num5 / (double)num6), maxTurnIns);
|
||||
}
|
||||
return maxTurnIns;
|
||||
}
|
||||
}
|
||||
|
||||
static void _206C_202C_202B_202D_202E_200F_200B_202E_202C_202D_202C_206D_206A_200D_206C_200E_200F_206A_202A_200C_200E_200D_200D_206A_206F_202C_202B_206F_200B_200F_206C_206D_202C_206C_200B_206B_206C_202B_200F_200C_202E(Array P_0, RuntimeFieldHandle P_1)
|
||||
{
|
||||
RuntimeHelpers.InitializeArray(P_0, P_1);
|
||||
}
|
||||
|
||||
static double _202E_200D_206F_200C_200B_206B_202E_206E_206D_206D_200E_206B_202D_206D_206D_200E_206B_200E_206A_202B_206F_206A_202D_202B_202C_202D_206E_202B_200D_206F_200F_206D_200D_200B_200F_200C_200F_202B_206B_200D_202E(double P_0)
|
||||
{
|
||||
return Math.Ceiling(P_0);
|
||||
}
|
||||
|
||||
static int _200D_202D_206D_206C_206D_202A_202A_200D_202E_200B_200B_200C_206E_202E_200D_200B_206B_206C_206F_202C_200B_200C_202D_200B_206C_200F_200B_202E_200C_206F_206F_206D_200D_200E_202A_206E_202C_206F_202D_206E_202E(int P_0, int P_1)
|
||||
{
|
||||
return Math.Min(P_0, P_1);
|
||||
int num = maxSatisfaction - currentSatisfaction;
|
||||
int num2 = maxSatisfaction / maxTurnIns;
|
||||
if (num2 == 0)
|
||||
{
|
||||
return maxTurnIns;
|
||||
}
|
||||
return Math.Min((int)Math.Ceiling((double)num / (double)num2), maxTurnIns);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue