1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

magic crafted weapons and armor 2015-02-01

Applies magical attributes to normal crafted armor and weapons based on material

  1. Fisher
    There may be a better way to do this but it works. This is pieced together from google searches but I did not keep a record so I am in no way claiming this to be all my work. I really have no idea what I am doing.

    This is what I added to BaseArmor:
    Code (C#):
    1. else if (tool is BaseTool)
    2.             {
    3.                   if (craftItem != null && !craftItem.ForceNonExceptional)
    4.                 {
    5.              
    6.                
    7.                     CraftResource thisResource = CraftResources.GetFromType(resourceType);
    8.  
    9.                     //if (thisResource == ((BaseRunicTool)tool).Resource)
    10.                     //{
    11.                         Resource = thisResource;
    12.  
    13.                      
    14.                       // CraftContext context = craftSystem.GetContext(from);
    15.  
    16.                         /* if (context != null && context.DoNotColor)
    17.                             Hue = 0;
    18.                         */
    19.                         switch (thisResource)
    20.                         {
    21.                             case CraftResource.DullCopper:
    22.                                 {
    23.                                     Identified = true;
    24.                                     Durability = ArmorDurabilityLevel.Durable;
    25.                                     break;
    26.                                 }
    27.                             case CraftResource.ShadowIron:
    28.                                 {
    29.                                     Identified = true;
    30.                                     Durability = ArmorDurabilityLevel.Durable;
    31.                                     ProtectionLevel = ArmorProtectionLevel.Guarding;
    32.                                     break;
    33.                                 }
    34.                             case CraftResource.Copper:
    35.                                 {
    36.                                     Identified = true;
    37.                                     Durability = ArmorDurabilityLevel.Substantial;
    38.                                     ProtectionLevel = ArmorProtectionLevel.Guarding;
    39.                                     break;
    40.                                 }
    41.                             case CraftResource.Bronze:
    42.                                 {
    43.                                     Identified = true;
    44.                                     Durability = ArmorDurabilityLevel.Substantial;
    45.                                     ProtectionLevel = ArmorProtectionLevel.Hardening;
    46.                                     break;
    47.                                 }
    48.                             case CraftResource.Gold:
    49.                                 {
    50.                                     Identified = true;
    51.                                     Durability = ArmorDurabilityLevel.Massive;
    52.                                     ProtectionLevel = ArmorProtectionLevel.Hardening;
    53.                                     break;
    54.                                 }
    55.                             case CraftResource.Agapite:
    56.                                 {
    57.                                     Identified = true;
    58.                                     Durability = ArmorDurabilityLevel.Massive;
    59.                                     ProtectionLevel = ArmorProtectionLevel.Fortification;
    60.                                     break;
    61.                                 }
    62.                             case CraftResource.Verite:
    63.                                 {
    64.                                     Identified = true;
    65.                                     Durability = ArmorDurabilityLevel.Fortified;
    66.                                     ProtectionLevel = ArmorProtectionLevel.Fortification;
    67.                                     break;
    68.                                 }
    69.                             case CraftResource.Valorite:
    70.                                 {
    71.                                     Identified = true;
    72.                                     Durability = ArmorDurabilityLevel.Indestructible;
    73.                                     ProtectionLevel = ArmorProtectionLevel.Invulnerability;
    74.                                     break;
    75.                                 }
    76.                            
    77.                             case CraftResource.HornedLeather:
    78.                                 {
    79.                                     Identified = true;
    80.                                     Durability = ArmorDurabilityLevel.Substantial;
    81.                                     ProtectionLevel = ArmorProtectionLevel.Hardening;
    82.                                     break;
    83.                                 }
    84.                             case CraftResource.BarbedLeather:
    85.                                 {
    86.                                     Identified = true;
    87.                                     Durability = ArmorDurabilityLevel.Fortified;
    88.                                     ProtectionLevel = ArmorProtectionLevel.Fortification;
    89.                                     break;
    90.                                 }
    91.                             case CraftResource.SpinedLeather:
    92.                                 {
    93.                                   Identified = true;
    94.                                   Durability = ArmorDurabilityLevel.Durable;
    95.                                  
    96.                                   break;
    97.                                 }
    98.                          
    99.                               }
    100.                     }        
    101.                 }
    And what I added to BaseWeapon:

    Code (C#):
    1.             else if (tool is BaseTool)
    2.             {
    3.                 // Mondain's Legacy Mod
    4.                 if (craftItem != null && !craftItem.ForceNonExceptional)
    5.                 {
    6.                     CraftResource thisResource = CraftResources.GetFromType(resourceType);
    7.  
    8.                     //if (thisResource == ((BaseTool)tool).Resource)
    9.                     //{
    10.                         Resource = thisResource;
    11.  
    12.                         CraftContext context = craftSystem.GetContext(from);
    13.  
    14.                        
    15.  
    16.                         switch (thisResource)
    17.                         {
    18.                             case CraftResource.DullCopper:
    19.                                 {
    20.                                     Identified = true;
    21.                                     DurabilityLevel = WeaponDurabilityLevel.Durable;
    22.                                     break;
    23.                                 }
    24.                             case CraftResource.ShadowIron:
    25.                                 {
    26.                                     Identified = true;
    27.                                     DurabilityLevel = WeaponDurabilityLevel.Durable;
    28.                                     DamageLevel = WeaponDamageLevel.Ruin;
    29.                                     AccuracyLevel = WeaponAccuracyLevel.Accurate;
    30.                                     break;
    31.                                 }
    32.                             case CraftResource.Copper:
    33.                                 {
    34.                                     Identified = true;
    35.                                     DurabilityLevel = WeaponDurabilityLevel.Fortified;
    36.                                     DamageLevel = WeaponDamageLevel.Ruin;
    37.                                     AccuracyLevel = WeaponAccuracyLevel.Surpassingly;
    38.                                     break;
    39.                                 }
    40.                             case CraftResource.Bronze:
    41.                                 {
    42.                                     Identified = true;
    43.                                     DurabilityLevel = WeaponDurabilityLevel.Fortified;
    44.                                     DamageLevel = WeaponDamageLevel.Might;
    45.                                     AccuracyLevel = WeaponAccuracyLevel.Surpassingly;
    46.                                     break;
    47.                                 }
    48.                             case CraftResource.Gold:
    49.                                 {
    50.                                     Identified = true;
    51.                                     DurabilityLevel = WeaponDurabilityLevel.Indestructible;
    52.                                     DamageLevel = WeaponDamageLevel.Force;
    53.                                     AccuracyLevel = WeaponAccuracyLevel.Eminently;
    54.                                     break;
    55.                                 }
    56.                             case CraftResource.Agapite:
    57.                                 {
    58.                                     Identified = true;
    59.                                     DurabilityLevel = WeaponDurabilityLevel.Indestructible;
    60.                                     DamageLevel = WeaponDamageLevel.Power;
    61.                                     AccuracyLevel = WeaponAccuracyLevel.Eminently;
    62.                                     break;
    63.                                 }
    64.                             case CraftResource.Verite:
    65.                                 {
    66.                                     Identified = true;
    67.                                     DurabilityLevel = WeaponDurabilityLevel.Indestructible;
    68.                                     DamageLevel = WeaponDamageLevel.Power;
    69.                                     AccuracyLevel = WeaponAccuracyLevel.Exceedingly;
    70.                                     break;
    71.                                 }
    72.                             case CraftResource.Valorite:
    73.                                 {
    74.                                     Identified = true;
    75.                                     DurabilityLevel = WeaponDurabilityLevel.Indestructible;
    76.                                     DamageLevel = WeaponDamageLevel.Vanq;
    77.                                     AccuracyLevel = WeaponAccuracyLevel.Supremely;
    78.                                     break;
    79.                                 }
    80.                             case CraftResource.OakWood:
    81.                                 {
    82.                                     Identified = true;
    83.                                     DurabilityLevel = WeaponDurabilityLevel.Durable;
    84.                                    
    85.                                
    86.                                     break;
    87.                                 }
    88.                             case CraftResource.AshWood:
    89.                                 {
    90.                                     Identified = true;
    91.                                     DurabilityLevel = WeaponDurabilityLevel.Fortified;
    92.                                     DamageLevel = WeaponDamageLevel.Ruin;
    93.                                     AccuracyLevel = WeaponAccuracyLevel.Accurate;
    94.                                     break;
    95.                                 }
    96.                             case CraftResource.YewWood:
    97.                                 {
    98.                                     Identified = true;
    99.                                     DurabilityLevel = WeaponDurabilityLevel.Fortified;
    100.                                     DamageLevel = WeaponDamageLevel.Force;
    101.                                     AccuracyLevel = WeaponAccuracyLevel.Eminently;
    102.                                     break;
    103.                                 }
    104.                             case CraftResource.Heartwood:
    105.                                 {
    106.                                     Identified = true;
    107.                                     DurabilityLevel = WeaponDurabilityLevel.Indestructible;
    108.                                     DamageLevel = WeaponDamageLevel.Power;
    109.                                     AccuracyLevel = WeaponAccuracyLevel.Eminently;
    110.                                     break;
    111.                                 }
    112.                             case CraftResource.Bloodwood:
    113.                                 {
    114.                                     Identified = true;
    115.                                     DurabilityLevel = WeaponDurabilityLevel.Indestructible;
    116.                                     DamageLevel = WeaponDamageLevel.Power;
    117.                                     AccuracyLevel = WeaponAccuracyLevel.Exceedingly;
    118.                                     break;
    119.                                 }
    120.                             case CraftResource.Frostwood:
    121.                                 {
    122.                                     Identified = true;
    123.                                     DurabilityLevel = WeaponDurabilityLevel.Indestructible;
    124.                                     DamageLevel = WeaponDamageLevel.Vanq;
    125.                                     AccuracyLevel = WeaponAccuracyLevel.Supremely;
    126.                                     break;
    127.                                 }
    128.                            
    129.                         }
    130.                     //}
    131.                 }
    132.             }
    The complete files are attached.