private void PostProcessForBattle(RegionSelectInfo info, RegionMeta regionMeta) { var monsterId = Randoms.Default.Range(ConstDB.Instance.GetAllMonsterIds()); regionMeta.monsterMeta = new MonsterMeta(monsterId, 1); }
private float CalculateWeightForBattle(RegionSelectInfo info, int passIndexSinceLast, int passTimeSinceLast) { int cntOfSame = GetCountOfSameRegionAtTail(RegionType.Battle); // no continuous 4 battle if (cntOfSame >= 3) { return 0; } return info.weight; }
private float CalculateWeightForDivineRelic(RegionSelectInfo info, int passIndexSinceLast, int passTimeSinceLast) { return info.weight; }
private float CalculateWeightForStockMarket(RegionSelectInfo info, int passIndexSinceLast, int passTimeSinceLast) { return info.weight; }
private float CalculateWeightForPotionShop(RegionSelectInfo info, int passIndexSinceLast, int passTimeSinceLast) { return info.weight; }
private float CalculateWeightForTarven(RegionSelectInfo info, int passIndexSinceLast, int passTimeSinceLast) { if (passIndexSinceLast >= info.args[0]) { return float.MaxValue; } return info.weight; }
private float CalculateWeightForArmorSmith(RegionSelectInfo info, int passIndexSinceLast, int passTimeSinceLast) { float weight = info.weight; if (passIndexSinceLast > info.args[0]) { weight *= passIndexSinceLast - info.args[0] + 1; } int cntOfSmith = GetCountOfSmithAtTail(); // no continuous 3 armor smith if (cntOfSmith >= 2) { return 0; } else if (cntOfSmith == 1) { weight *= 0.25f; } return weight; }