本文整理汇总了C#中Server.Items.BaseWeapon.GetDamageTypes方法的典型用法代码示例。如果您正苦于以下问题:C# BaseWeapon.GetDamageTypes方法的具体用法?C# BaseWeapon.GetDamageTypes怎么用?C# BaseWeapon.GetDamageTypes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Server.Items.BaseWeapon
的用法示例。
在下文中一共展示了BaseWeapon.GetDamageTypes方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetElementalDamages
public static void GetElementalDamages( BaseWeapon weapon, bool randomizeOrder )
{
int fire, phys, cold, nrgy, pois;
weapon.GetDamageTypes( null, out phys, out fire, out cold, out pois, out nrgy );
int totalDamage = phys;
AosElementAttribute[] attrs = new AosElementAttribute[]
{
AosElementAttribute.Cold,
AosElementAttribute.Energy,
AosElementAttribute.Fire,
AosElementAttribute.Poison
};
if( randomizeOrder )
{
for( int i = 0; i < attrs.Length; i++ )
{
int rand = Utility.Random( attrs.Length );
AosElementAttribute temp = attrs[i];
attrs[i] = attrs[rand];
attrs[rand] = temp;
}
}
/*
totalDamage = AssignElementalDamage( weapon, AosElementAttribute.Cold, totalDamage );
totalDamage = AssignElementalDamage( weapon, AosElementAttribute.Energy, totalDamage );
totalDamage = AssignElementalDamage( weapon, AosElementAttribute.Fire, totalDamage );
totalDamage = AssignElementalDamage( weapon, AosElementAttribute.Poison, totalDamage );
weapon.AosElementDamages[AosElementAttribute.Physical] = 100 - totalDamage;
* */
for( int i = 0; i < attrs.Length; i++ )
totalDamage = AssignElementalDamage( weapon, attrs[i], totalDamage );
//Order is Cold, Energy, Fire, Poison -> Physical left
//Cannot be looped, AoselementAttribute is 'out of order'
weapon.Hue = weapon.GetElementalDamageHue();
}
示例2: GetElementAttributeValue
private static int GetElementAttributeValue(BaseWeapon weapon, AosElementAttribute element)
{
int phys, fire, cold, pois, nrgy, chao, direct;
weapon.GetDamageTypes(null, out phys, out fire, out cold, out pois, out nrgy, out chao, out direct);
switch (element)
{
case AosElementAttribute.Physical:
return phys;
case AosElementAttribute.Fire:
return fire;
case AosElementAttribute.Cold:
return cold;
case AosElementAttribute.Poison:
return pois;
case AosElementAttribute.Energy:
return nrgy;
case AosElementAttribute.Direct:
return direct;
}
return -1;
}
示例3: RemoveElementDamages
public static void RemoveElementDamages( BaseWeapon weapon, int cold, int nrgy, int fire, int pois, int chaos, int direct )
{
int weapPhys, weapCold, weapNrgy, weapFire, weapPois, weapChaos, weapDirect;
weapon.GetDamageTypes( null, out weapPhys, out weapFire, out weapCold, out weapPois, out weapNrgy, out weapChaos, out weapDirect );
// Remove the element damages in reverse order they were applied in.
weapPhys = weapon.RemoveAttributeElementDamage( direct, ref weapDirect, weapPhys );
weapPhys = weapon.RemoveAttributeElementDamage( chaos, ref weapChaos, weapPhys );
weapPhys = weapon.RemoveAttributeElementDamage( pois, ref weapPois, weapPhys );
weapPhys = weapon.RemoveAttributeElementDamage( fire, ref weapFire, weapPhys );
weapPhys = weapon.RemoveAttributeElementDamage( nrgy, ref weapNrgy, weapPhys );
weapPhys = weapon.RemoveAttributeElementDamage( cold, ref weapCold, weapPhys );
weapon.AosElementDamages.Physical = weapPhys;
weapon.AosElementDamages.Cold = weapCold;
weapon.AosElementDamages.Energy = weapNrgy;
weapon.AosElementDamages.Fire = weapFire;
weapon.AosElementDamages.Poison = weapPois;
weapon.AosElementDamages.Chaos = weapChaos;
weapon.AosElementDamages.Direct = weapDirect;
}
示例4: AssignElementalDamage
public static void AssignElementalDamage( BaseWeapon weapon, ElementAttribute attr )
{
int fire, phys, cold, nrgy, pois;
weapon.GetDamageTypes( null, out phys, out fire, out cold, out pois, out nrgy );
AssignElementalDamage( weapon, attr, phys );
weapon.Hue = weapon.GetElementalDamageHue();
}
示例5: ApplyElementDamages
public static void ApplyElementDamages( BaseWeapon weapon, int cold, int nrgy, int fire, int pois, int chaos, int direct )
{
int weapPhys, weapCold, weapNrgy, weapFire, weapPois, weapChaos, weapDirect;
weapon.GetDamageTypes( null, out weapPhys, out weapFire, out weapCold, out weapPois, out weapNrgy, out weapChaos, out weapDirect );
weapPhys = weapon.ApplyAttributeElementDamage( cold, ref weapCold, weapPhys );
weapPhys = weapon.ApplyAttributeElementDamage( nrgy, ref weapNrgy, weapPhys );
weapPhys = weapon.ApplyAttributeElementDamage( fire, ref weapFire, weapPhys );
weapPhys = weapon.ApplyAttributeElementDamage( pois, ref weapPois, weapPhys );
weapPhys = weapon.ApplyAttributeElementDamage( chaos, ref weapChaos, weapPhys );
weapPhys = weapon.ApplyAttributeElementDamage( direct, ref weapDirect, weapPhys );
weapon.AosElementDamages.Physical = weapPhys;
weapon.AosElementDamages.Cold = weapCold;
weapon.AosElementDamages.Energy = weapNrgy;
weapon.AosElementDamages.Fire = weapFire;
weapon.AosElementDamages.Poison = weapPois;
weapon.AosElementDamages.Chaos = weapChaos;
weapon.AosElementDamages.Direct = weapDirect;
}