public static Weapon creatRandomLevelWeapon(int level, IFriendly creator = null, float qualityBonus = 0) { int numberOfWeponShape = WeaponShapeMasterManager.getInstance().getNumberOfShapes(); int shpeRand = Random.Range(0, numberOfWeponShape); WeaponShape shape = WeaponShapeMasterManager.getInstance().getShapeFromId(shpeRand); var weponMaterials = ItemMaterialMasterManager.getInstance().getMaterialFromLevel(level); int materialRand = Random.Range(0, weponMaterials.Count); ItemMaterial material = weponMaterials[materialRand]; if (creator == null) { float dex = material.getQuality() / 20; float diffculty = shape.getCreatDifficulty(); float baseQuality = material.getQuality(); qualityBonus = dex / 2; float quality = weaponQualityCaliculate(dex, diffculty, baseQuality, qualityBonus); return(new Weapon(shape, material, quality)); } else { return(creatWeaopn(shape, material, creator, qualityBonus)); } }
/// <summary> /// 武器を生成します /// </summary> /// <returns>生成した武器</returns> /// <param name="shape">武器の形状</param> /// <param name="material">武器の素材</param> /// <param name="creator">武器の作成者</param> /// <param name="qualityBonus">品質の補正値</param> public static Weapon creatWeaopn(WeaponShape shape, ItemMaterial material, IFriendly creator, float qualityBonus) { float dex = creator.getFriendlyAbility(FriendlyAbility.DEX); float diffculty = shape.getCreatDifficulty(); float baseQuality = material.getQuality(); float quality = weaponQualityCaliculate(dex, diffculty, baseQuality, qualityBonus); return(new Weapon(shape, material, quality)); }