JetParfait Max
Mar 15 Aoû - 18:52
- Code:
public List<EffectBase> GenerateItemEffects(ItemTemplate template, bool max = false)
{
var source = template.Effects.Select(effect => EffectManager.Instance.IsUnRandomableWeaponEffect(effect.EffectId) ? (EffectBase)effect.Clone() : effect.GenerateEffect(EffectGenerationContext.Item, max ? EffectGenerationType.MaxEffects : EffectGenerationType.MaxEffects)).ToList();
if (template.TypeId == 18)
{
PetTemplate pt = PetManager.Instance.GetPetTemplate(template.Id);
//source = pt.PossibleEffects.Shuffle().Take(1).ToList();
if (pt != null)
{
foreach (EffectDice eff in pt.PossibleEffects)
eff.DiceFace = 1;
source = (
from effect in pt.PossibleEffects
where Enum.IsDefined(typeof(EffectsEnum), effect.EffectId)
// TODO : check
select
Singleton<EffectManager>.Instance.IsUnRandomableWeaponEffect(effect.EffectId)
? effect
: effect.GenerateEffect(EffectGenerationContext.Item,
EffectGenerationType.MaxEffects)).Shuffle().Take(1).ToList();
}
}
if (template.TypeId == 177 || template.TypeId == 121)
{
PetTemplate pt = PetManager.Instance.GetPetTemplate(template.Id);
if (pt == null || template.TypeId == 121)
{
source = (
from effect in template.Effects
where Enum.IsDefined(typeof(EffectsEnum), effect.EffectId)
// TODO : check
select
Singleton<EffectManager>.Instance.IsUnRandomableWeaponEffect(effect.EffectId)
? effect
: effect.GenerateEffect(EffectGenerationContext.Item,
EffectGenerationType.MaxEffects)).ToList();
}
else
{
source = (
from effect in pt.PossibleEffects
where Enum.IsDefined(typeof(EffectsEnum), effect.EffectId)
// TODO : check
select
Singleton<EffectManager>.Instance.IsUnRandomableWeaponEffect(effect.EffectId)
? effect
: effect.GenerateEffect(EffectGenerationContext.Item,
EffectGenerationType.MaxEffects)).ToList();
}
}
//var effects = template.Effects.Select(effect => EffectManager.Instance.IsUnRandomableWeaponEffect(effect.EffectId) ? (EffectBase)effect.Clone() : effect.GenerateEffect(EffectGenerationContext.Item, max ? EffectGenerationType.MaxEffects : EffectGenerationType.Normal)).ToList();
return source.ToList();
}
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|