コード例 #1
0
ファイル: SalvagingTable.cs プロジェクト: rhadamants/XbTool
        public static void PrintItemSet(FLD_SalvageItemSet table, Indenter sb)
        {
            if (table.RSC_ID != 0)
            {
                sb.AppendLine($"{GetTBoxType(table.RSC_ID)} treasure box<br/>");
            }
            if (table.goldMin != 0)
            {
                sb.AppendLine($"{table.goldMin} - {table.goldMax} Gold<br/>");
            }

            if (table.randitmPopMin == table.randitmPopMax)
            {
                sb.AppendLine($"{table.randitmPopMin} Items<br/>");
            }
            else
            {
                sb.AppendLine($"{table.randitmPopMin} - {table.randitmPopMax} Items<br/>");
            }

            sb.AppendLine("<br/>");
            sb.AppendLine("</td></tr>");

            for (int i = 0; i < 8; i++)
            {
                if (table._itmID[i] == null)
                {
                    continue;
                }
                string itemName = GetItemName(table._itmID[i]);
                sb.AppendLine($"<tr><td>{itemName}</td><td>{table._itmPer[i] / 100.0:P}</td></tr>");
            }
            sb.DecreaseAndAppendLine("</table>");
        }
コード例 #2
0
ファイル: Raffle.cs プロジェクト: rhadamants/XbTool
        public void Create()
        {
            var coll     = new FLD_SalvageItemSet[3];
            var treasure = new FLD_SalvageItemSet[3];

            {
                FLD_SalvageItemSet[] collTables = SalvageTable._ColleTable;
                int[] collPer = SalvageTable._ColleTablePercent.Select(x => (int)x).ToArray();

                double decayMult    = 1.0;
                double skillPercent = SkillLevel * 0.01;
                double skillMod     = skillPercent * SkillEffectColl + 1;

                for (int i = 0; i < 3; i++)
                {
                    double c = ButtonLevel * (ButtonEffect * 0.01) + skillMod * decayMult;
                    if (c < Rand.NextDouble())
                    {
                        break;
                    }

                    coll[i]   = collTables.ChooseRandom(Rand, collPer);
                    decayMult = DecayRateColl * .01 * decayMult;
                }
            }

            {
                FLD_SalvageItemSet[] treasureTables = SalvageTable._TresureTable;
                int[]  treasurePer = SalvageTable._TresureTablePercent.Select(x => (int)x).ToArray();
                ushort tBoxHit     = SalvageTable.TresureBoxHit;

                double decayMult    = 1.0;
                double skillPercent = SkillLevel * 0.01;
                double skillMod     = skillPercent * SkillEffectTBox + tBoxHit * .0001;

                for (int i = 0; i < 3; i++)
                {
                    double c = ButtonLevel * (ButtonEffect * 0.01) + skillMod * decayMult;
                    if (c < Rand.NextDouble())
                    {
                        break;
                    }

                    treasure[i] = treasureTables.ChooseRandom(Rand, treasurePer);
                    decayMult   = DecayRateTBox * .01 * decayMult;
                }
            }
        }