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

Fixed Loot and LootPack.cs for SA

Discussion in 'Archived Bug Reports' started by tass23, Sep 10, 2013.

  1. tass23
    Offline

    Moderator

    Joined:
    Aug 28, 2013
    Messages:
    1,010
    Likes Received:
    131
    Okay, so now we have SA AND we have mobs spawning everywhere, awesome...except there's no loot! WTF, right!? Yeah, I did the same thing at first too. This is an ongoing endeavor, but I'll try to get this updated when I can. First of all, the Regions.xml file is going to be very important in controlling the SA loot drops. However, it's very bland when it comes to SA regions. With that in mind, I plan on going through and adding the proper region tags for these places. For now, at least I can help you get on your feet with SA loot.

    Grab the following files:
    Loot.cs
    LootPack.cs
    BaseReward.cs (Which is a script from ML)

    SA Loot should already be added in the various sections, but we need to go down into the individual loot areas to add SA drops. First section is BaseClothing and it has two parts, make the first part look like this:
    Code (C#):
    1.  public static BaseClothing RandomClothing()
    2. {
    3. return RandomClothing( false, false, false );
    4. }
    This takes the new bool of isStygianAbyss into account that is to be added in the next section.

    The second part of BaseClothing should look like this:
    Code (C#):
    1.  public static BaseClothing RandomClothing( bool inTokuno, bool isMondain, bool isStygianAbyss )
    2. {
    3. #region Mondain's Legacy
    4. if ( Core.ML && isMondain )
    5. return Construct( m_MLClothingTypes, m_AosClothingTypes, m_ClothingTypes ) as BaseClothing;
    6. #endregion
    7.  
    8. #region Stygian Abyss
    9. if (Core.SA && isStygianAbyss )
    10. return Construct( m_SAClothingTypes, m_AosClothingTypes, m_ClothingTypes ) as BaseClothing;
    11. #endregion
    12. if ( Core.SE && inTokuno )
    13. return Construct( m_SEClothingTypes, m_AosClothingTypes, m_ClothingTypes ) as BaseClothing;
    14. if ( Core.AOS )
    15. return Construct( m_AosClothingTypes, m_ClothingTypes ) as BaseClothing;
    16. return Construct( m_ClothingTypes ) as BaseClothing;
    17. }
    Note the bool isStygianAbyss has been added as well as region markers for SAClothingTypes. Lets move on the next area, BaseWeapon BaseRangedWeapon. First part should look like this:
    Code (C#):
    1.  public static BaseWeapon RandomRangedWeapon()
    2. {
    3. return RandomRangedWeapon( false, false, false );
    4. }
    The second part where the new bool is added should look like this:
    Code (C#):
    1.  public static BaseWeapon RandomRangedWeapon( bool inTokuno, bool isMondain, bool isStygianAbyss )
    2. {
    3. #region Mondain's Legacy
    4. if ( Core.ML && isMondain )
    5. return Construct( m_MLRangedWeaponTypes, m_AosRangedWeaponTypes, m_RangedWeaponTypes ) as BaseWeapon;
    6. #endregion
    7.  
    8. #region Stygian Abyss
    9. if (Core.SA && isStygianAbyss )
    10. return Construct( m_SARangedWeaponTypes, m_AosRangedWeaponTypes, m_RangedWeaponTypes ) as BaseWeapon;
    11. #endregion
    12. if ( Core.SE && inTokuno )
    13. return Construct( m_SERangedWeaponTypes, m_AosRangedWeaponTypes, m_RangedWeaponTypes ) as BaseWeapon;
    14. if ( Core.AOS )
    15. return Construct( m_AosRangedWeaponTypes, m_RangedWeaponTypes ) as BaseWeapon;
    16. return Construct( m_RangedWeaponTypes ) as BaseWeapon;
    17. }
    Next section, BaseWeapon RandomWeapon:
    Code (C#):
    1.  public static BaseWeapon RandomWeapon()
    2. {
    3. return RandomWeapon( false, false, false );
    4. }
    Second part of BaseWeapon RandomWeapon:
    Code (C#):
    1.  public static BaseWeapon RandomWeapon( bool inTokuno, bool isMondain, bool isStygianAbyss )
    2. {
    3. #region Mondain's Legacy
    4. if ( Core.ML && isMondain )
    5. return Construct( m_MLWeaponTypes, m_AosWeaponTypes, m_WeaponTypes ) as BaseWeapon;
    6. #endregion
    7.  
    8. #region Stygian Abyss
    9. if ( Core.SA && isStygianAbyss )
    10. return Construct( m_SAWeaponTypes, m_AosWeaponTypes, m_WeaponTypes ) as BaseWeapon;
    11. #endregion
    12. if ( Core.SE && inTokuno )
    13. return Construct( m_SEWeaponTypes, m_AosWeaponTypes, m_WeaponTypes ) as BaseWeapon;
    14. if ( Core.AOS )
    15. return Construct( m_AosWeaponTypes, m_WeaponTypes ) as BaseWeapon;
    16. return Construct( m_WeaponTypes ) as BaseWeapon;
    17. }
    Next section, RandomWeaponOrJewelry:
    Code (C#):
    1.  public static Item RandomWeaponOrJewelry()
    2. {
    3. return RandomWeaponOrJewelry( false, false, false );
    4. }
    Second part of RandomWeaponOrJewelry:
    Code (C#):
    1.  public static Item RandomWeaponOrJewelry( bool inTokuno, bool isMondain, bool isStygianAbyss )
    2. {
    3. #region Mondain's Legacy
    4. if ( Core.ML && isMondain )
    5. return Construct( m_MLWeaponTypes, m_AosWeaponTypes, m_WeaponTypes, m_JewelryTypes );
    6. #endregion
    7.  
    8. #region Stygian Abyss
    9. if ( Core.SA && isStygianAbyss )
    10. return Construct( m_SAWeaponTypes, m_AosWeaponTypes, m_WeaponTypes, m_JewelryTypes );
    11. #endregion
    12. if ( Core.SE && inTokuno )
    13. return Construct( m_SEWeaponTypes, m_AosWeaponTypes, m_WeaponTypes, m_JewelryTypes );
    14. if ( Core.AOS )
    15. return Construct( m_AosWeaponTypes, m_WeaponTypes, m_JewelryTypes );
    16. return Construct( m_WeaponTypes, m_JewelryTypes );
    17. }
    Next section, BaseArmor RandomArmor:
    Code (C#):
    1.  public static BaseArmor RandomArmor()
    2. {
    3. return RandomArmor( false, false, false );
    4. }
    Second part of BaseArmor RandomArmor:
    Code (C#):
    1.  public static BaseArmor RandomArmor( bool inTokuno, bool isMondain, bool isStygianAbyss )
    2. {
    3. #region Mondain's Legacy
    4. if ( Core.ML && isMondain )
    5. return Construct( m_MLArmorTypes, m_ArmorTypes ) as BaseArmor;
    6. #endregion
    7.  
    8. #region Stygian Abyss
    9. if ( Core.SA && isStygianAbyss )
    10. return Construct( m_SAArmorTypes, m_ArmorTypes ) as BaseArmor;
    11. #endregion
    12. if ( Core.SE && inTokuno )
    13. return Construct( m_SEArmorTypes, m_ArmorTypes ) as BaseArmor;
    14. return Construct( m_ArmorTypes ) as BaseArmor;
    15. }
    Next section, Item RandomArmorOrHat:
    Code (C#):
    1.  public static Item RandomArmorOrHat()
    2. {
    3. return RandomArmorOrHat( false, false, false );
    4. }
    Second part of Item RandomArmorOrHat:
    Code (C#):
    1.  public static Item RandomArmorOrHat( bool inTokuno, bool isMondain, bool isStygianAbyss )
    2. {
    3. #region Mondain's Legacy
    4. if ( Core.ML && isMondain )
    5. return Construct( m_MLArmorTypes, m_ArmorTypes, m_AosHatTypes, m_HatTypes );
    6. #endregion
    7.  
    8. #region Stygian Abyss
    9. if ( Core.SA && isStygianAbyss )
    10. return Construct( m_SAArmorTypes, m_ArmorTypes, m_AosHatTypes, m_HatTypes );
    11. #endregion
    12. if ( Core.SE && inTokuno )
    13. return Construct( m_SEArmorTypes, m_ArmorTypes, m_SEHatTypes, m_AosHatTypes, m_HatTypes );
    14. if ( Core.AOS )
    15. return Construct( m_ArmorTypes, m_AosHatTypes, m_HatTypes );
    16. return Construct( m_ArmorTypes, m_HatTypes );
    17. }
    Next section, BaseArmor RandomArmorOrShield:
    Code (C#):
    1.  public static BaseArmor RandomArmorOrShield()
    2. {
    3. return RandomArmorOrShield( false, false, false );
    4. }
    Second part of BaseArmor RandomArmorOrShield:
    Code (C#):
    1.  public static BaseArmor RandomArmorOrShield( bool inTokuno, bool isMondain, bool isStygianAbyss )
    2. {
    3. #region Mondain's Legacy
    4. if ( Core.ML && isMondain )
    5. return Construct( m_MLArmorTypes, m_ArmorTypes, m_AosShieldTypes, m_ShieldTypes ) as BaseArmor;
    6. #endregion
    7.  
    8. #region Stygian Abyss
    9. if ( Core.SA && isStygianAbyss )
    10. return Construct( m_SAArmorTypes, m_SAShieldTypes, m_ArmorTypes, m_AosShieldTypes, m_ShieldTypes ) as BaseArmor;
    11. #endregion
    12. if ( Core.SE && inTokuno )
    13. return Construct( m_SEArmorTypes, m_ArmorTypes, m_AosShieldTypes, m_ShieldTypes ) as BaseArmor;
    14. if ( Core.AOS )
    15. return Construct( m_ArmorTypes, m_AosShieldTypes, m_ShieldTypes ) as BaseArmor;
    16. return Construct( m_ArmorTypes, m_ShieldTypes ) as BaseArmor;
    17. }
    Next section, Item RandomArmorOrShieldOrJewelry:
    Code (C#):
    1.  public static Item RandomArmorOrShieldOrJewelry()
    2. {
    3. return RandomArmorOrShieldOrJewelry( false, false, false );
    4. }
    Second part of Item RandomArmorOrShieldOrJewelry:
    Code (C#):
    1.  public static Item RandomArmorOrShieldOrJewelry( bool inTokuno, bool isMondain, bool isStygianAbyss )
    2. {
    3. #region Mondain's Legacy
    4. if ( Core.ML && isMondain )
    5. return Construct( m_MLArmorTypes, m_ArmorTypes, m_AosHatTypes, m_HatTypes, m_AosShieldTypes, m_ShieldTypes, m_JewelryTypes );
    6. #endregion
    7.  
    8. #region Stygian Abyss
    9. if ( Core.SA && isStygianAbyss )
    10. return Construct( m_SAArmorTypes, m_ArmorTypes, m_AosHatTypes, m_HatTypes, m_SAShieldTypes, m_AosShieldTypes, m_ShieldTypes, m_JewelryTypes );
    11. #endregion
    12. if ( Core.SE && inTokuno )
    13. return Construct( m_SEArmorTypes, m_ArmorTypes, m_SEHatTypes, m_AosHatTypes, m_HatTypes, m_AosShieldTypes, m_ShieldTypes, m_JewelryTypes );
    14. if ( Core.AOS )
    15. return Construct( m_ArmorTypes, m_AosHatTypes, m_HatTypes, m_AosShieldTypes, m_ShieldTypes, m_JewelryTypes );
    16. return Construct( m_ArmorTypes, m_HatTypes, m_ShieldTypes, m_JewelryTypes );
    17. }
    Next section, Item RandomArmorOrShieldOrWeapon:
    Code (C#):
    1.  public static Item RandomArmorOrShieldOrWeapon()
    2. {
    3. return RandomArmorOrShieldOrWeapon( false, false, false );
    4. }
    Second part of Item RandomArmorOrShieldOrWeapon:
    Code (C#):
    1.  public static Item RandomArmorOrShieldOrWeapon( bool inTokuno, bool isMondain, bool isStygianAbyss )
    2. {
    3. #region Mondain's Legacy
    4. if ( Core.ML && isMondain )
    5. return Construct( m_MLWeaponTypes, m_AosWeaponTypes, m_WeaponTypes, m_MLRangedWeaponTypes, m_AosRangedWeaponTypes, m_RangedWeaponTypes, m_MLArmorTypes, m_ArmorTypes, m_AosHatTypes, m_HatTypes, m_AosShieldTypes, m_ShieldTypes );
    6. #endregion
    7.  
    8. #region Stygian Abyss
    9. if ( Core.SA && isStygianAbyss )
    10. return Construct( m_SAWeaponTypes, m_AosWeaponTypes, m_WeaponTypes, m_SARangedWeaponTypes, m_AosRangedWeaponTypes, m_RangedWeaponTypes, m_SAArmorTypes, m_ArmorTypes, m_AosHatTypes, m_HatTypes, m_SAShieldTypes, m_AosShieldTypes, m_ShieldTypes );
    11. #endregion
    12. if ( Core.SE && inTokuno )
    13. return Construct( m_SEWeaponTypes, m_AosWeaponTypes, m_WeaponTypes, m_SERangedWeaponTypes, m_AosRangedWeaponTypes, m_RangedWeaponTypes, m_SEArmorTypes, m_ArmorTypes, m_SEHatTypes, m_AosHatTypes, m_HatTypes, m_AosShieldTypes, m_ShieldTypes );
    14. if ( Core.AOS )
    15. return Construct( m_AosWeaponTypes, m_WeaponTypes, m_AosRangedWeaponTypes, m_RangedWeaponTypes, m_ArmorTypes, m_AosHatTypes, m_HatTypes, m_AosShieldTypes, m_ShieldTypes );
    16. return Construct( m_WeaponTypes, m_RangedWeaponTypes, m_ArmorTypes, m_HatTypes, m_ShieldTypes );
    17. }
    Next section, Spellscroll RandomSpellscroll, make it look like this:
    Code (C#):
    1.  public static SpellScroll RandomScroll( int minIndex, int maxIndex, SpellbookType type )
    2. {
    3. Type[] types;
    4. switch ( type )
    5. {
    6. default:
    7. case SpellbookType.Regular: types = m_RegularScrollTypes; break;
    8. case SpellbookType.Necromancer: types = (Core.SE ? m_SENecromancyScrollTypes : m_NecromancyScrollTypes ); break;
    9. case SpellbookType.Paladin: types = m_PaladinScrollTypes; break;
    10. case SpellbookType.Arcanist: types = m_ArcanistScrollTypes; break;
    11. case SpellbookType.Mystic: types = m_MysticismScrollTypes; break;
    12. }
    13. return Construct( types, Utility.RandomMinMax( minIndex, maxIndex ) ) as SpellScroll;
    14. }
    Done with Loot.cs, take a breath, that sucked, I know. Now, I should mention at this stage that if you go back and look at the second parts of each section, you'll see the SA category listed first for that particular drop, followed usually by Aos and or just a regular Type, like m_RangedWeaponTypes. If you want more SA loot to drop, remove Aos and/or remove the regular Type. The loot system works like a tier, starting with the lowest being the base Type and moving upwards to SA or ML types (or SE if you're in Tokuno). What this means is if the mob isn't very strong, like a lava snake, don't expect to see SA loot. In testing, I had to kill the hydra in Medusa's Lair to see a piece of SA loot, besides relic fragments and such. Moving on to LootPack.cs...

    If you really want to spend time adjusting individual loot in drops, this is the place to do it. All the various lootpacks are listed towards the top. Honestly, I don't care about those, scroll down to where you see
    Code (C#):
    1. private static bool isMondain( Mobile m )
    After that method, add the following:
    Code (C#):
    1.  #region Stygian Abyss
    2. private static bool IsStygianAbyss( Mobile m )
    3. {
    4. if ( m == null )
    5. return false;
    6. if ( m.Region.IsPartOf( "Ter Mur" ) )
    7. return true;
    8. if ( m.Region.IsPartOf( "AbyssEntrance" ) )
    9. return true;
    10. if ( m.Region.IsPartOf( "Abyss" ) )
    11. return true;
    12. if ( m.Region.IsPartOf( "StygianDragonLair" ) )
    13. return true;
    14. if ( m.Region.IsPartOf( "MedusasLair" ) )
    15. return true;
    16. if ( m.Region.IsPartOf( "NPC Encampment" ) )
    17. return true;
    18. return false;
    19. }
    20. #endregion
    NOTE: You will probably get an error for AbyssEntrance, I had to change a region in Regions.xml that was ambigious, so I named it AbyssEntrance.

    Now because of the changes that were made to Loot.cs, it breaks BaseReward from ML. Yes, I know, I know, too much shit breaks from old items when merging new items, anyway, moving on, open BaseReward.cs, there's only three areas to change here.

    The first one is, public static Item RangedWeapon:
    Code (C#):
    1.  public static Item RangedWeapon()
    2. {
    3. BaseWeapon item = Loot.RandomRangedWeapon( false, true, false );
    4.  
    5. if ( item != null )
    6. {
    7. int attributeCount = Utility.RandomMinMax( 1, 5 );
    8.  
    9. BaseRunicTool.ApplyAttributesTo( item, false, 0, attributeCount, 10, 100 ); // ?
    10. }
    11.  
    12. return item;
    13. }
    The above code adds a false statement after the original true to account for our changes to Loot.cs

    Next section, public static Item Armor:
    Code (C#):
    1.  public static Item Armor()
    2. {
    3. BaseArmor item = Loot.RandomArmor( false, true, false );
    4.  
    5. if ( item != null )
    6. {
    7. int attributeCount = Utility.RandomMinMax( 1, 5 );
    8.  
    9. BaseRunicTool.ApplyAttributesTo( item, false, 0, attributeCount, 10, 100 ); // ?
    10. }
    11.  
    12. return item;
    13. }
    Again, just adding a false statement after the original true.

    Next section, public static Item Weapon:
    Code (C#):
    1.  public static Item Weapon()
    2. {
    3. BaseWeapon item = Loot.RandomWeapon( false, true, false );
    4.  
    5. if ( item != null )
    6. {
    7. int attributeCount = Utility.RandomMinMax( 1, 5 );
    8.  
    9. BaseRunicTool.ApplyAttributesTo( item, false, 0, attributeCount, 10, 100 ); // ?
    10. }
    11.  
    12. return item;
    13. }
    As with the two above, we just added a false statement after the original true.

    Just to give you a visual reference, here are the regions from Regions.xml:
    Code (C#):
    1.   <Facet name="TerMur">
    2. <region type="StygianAbyssRegion" priority="50" name="Abyss">
    3. <rect x="235" y="40" width="920" height="1000" />
    4. <go x="520" y="522" z="31" />
    5. <entrance x="520" y="522" />
    6. </region>
    7. <region type="DungeonRegion" priority="50" name="AbyssEntrance">
    8. <rect x="1003" y="935" width="300" height="300" />
    9. <go x="1143" y="1085" z="-37" />
    10. <entrance x="1143" y="1085" />
    11. </region>
    12. <region type="StygianAbyssRegion" priority="50" name="Atoll Bend">
    13. <rect x="1027" y="3311" width="197" height="203" />
    14. <go x="1118" y="3408" z="-42" />
    15. </region>
    16. <region type="StygianAbyssRegion" priority="50" name="Chicken Chase">
    17. <rune name="Chicken Chase" />
    18. <rect x="448" y="3352" width="165" height="128" />
    19. <go x="560" y="3412" z="37" />
    20. </region>
    21. <region type="StygianAbyssRegion" priority="50" name="Fishermans Reach">
    22. <rect x="547" y="2835" width="198" height="267" />
    23. <go x="631" y="3035" z="36" />
    24. </region>
    25. <region type="StygianAbyssRegion" priority="50" name="Gated Isle">
    26. <rect x="603" y="3836" width="212" height="207" />
    27. <go x="703" y="3934" z="-31" />
    28. </region>
    29. <region type="StygianAbyssRegion" priority="50" name="High Plain">
    30. <rect x="748" y="2843" width="233" height="207" />
    31. <go x="863" y="2931" z="38" />
    32. </region>
    33. <region type="TownRegion" priority="50" name="Holy City">
    34. <rect x="930" y="3840" width="250" height="250" />
    35. <go x="995" y="3898" z="-42" />
    36. <entrance x="862" y="3942" />
    37. </region>
    38. <region type="StygianAbyssRegion" priority="50" name="Kepetch Waste">
    39. <rect x="356" y="3143" width="167" height="81" />
    40. <go x="447" y="3188" z="20" />
    41. </region>
    42. <region type="StygianAbyssRegion" priority="50" name="Lost Settlement">
    43. <rect x="454" y="3708" width="194" height="249" />
    44. <go x="526" y="3822" z="-44" />
    45. </region>
    46. <region type="StygianAbyssRegion" priority="100" name="MedusasLair">
    47. <rect x="764" y="894" width="69" height="89" />
    48. <rect x="816" y="749" width="13" height="16" />
    49. <go x="771" y="928" z="0" />
    50. </region>
    51. <region type="GuardedRegion" priority="50" name="Moongates">
    52. <rect x="852" y="3525" width="15" height="15" />
    53. <rect x="925" y="3988" width="15" height="15" />
    54. </region>
    55. <region type="StygianAbyssRegion" priority="50" name="Northern Steppes">
    56. <rect x="694" y="3020" width="260" height="128" />
    57. <go x="822" y="3063" z="61" />
    58. </region>
    59. <region type="StygianAbyssRegion" priority="100" name="NPC Encampment">
    60. <rect x="1087" y="1127" width="9" height="6" zmin="-42" />
    61. <go x="1090" y="1130" z="-42" />
    62. <entrance x="1090" y="1132" />
    63. <zrange min="-42" />
    64. <logoutDelay active="false" />
    65. <guards disabled="true" />
    66. <smartNoHousing active="true" />
    67. </region>
    68. <region type="StygianAbyssRegion" priority="50" name="Raptor Island">
    69. <rect x="712" y="3765" width="167" height="64" />
    70. <rect x="728" y="3809" width="111" height="114" />
    71. <rect x="769" y="3721" width="203" height="47" />
    72. <rect x="808" y="3692" width="122" height="40" />
    73. <go x="816" y="3778" z="-42" />
    74. </region>
    75. <region type="TownRegion" priority="50" name="Royal City">
    76. <rect x="662" y="3316" width="300" height="400" />
    77. <go x="750" y="3450" z="-20" />
    78. <entrance x="841" y="3510" />
    79. </region>
    80. <region type="StygianAbyssRegion" priority="50" name="Royal Park">
    81. <rect x="632" y="3233" width="176" height="35" />
    82. <rect x="753" y="3161" width="237" height="131" />
    83. <go x="711" y="3255" z="-42" />
    84. </region>
    85. <region type="StygianAbyssRegion" priority="50" name="Slith Valley">
    86. <rect x="1028" y="3263" width="193" height="141" />
    87. <go x="1078" y="3331" z="-42" />
    88. </region>
    89. <region type="StygianAbyssRegion" priority="50" name="Spider Island">
    90. <rect x="1063" y="3695" width="118" height="84" />
    91. <go x="1115" y="3730" z="-42" />
    92. </region>
    93. <region type="StygianAbyssRegion" priority="100" name="StygianDragonLair">
    94. <rect x="294" y="112" width="92" height="178" />
    95. <go x="433" y="158" z="0" />
    96. </region>
    97. <region type="StygianAbyssRegion" priority="50" name="Talon Point">
    98. <rect x="632" y="3830" width="98" height="55" />
    99. <rect x="629" y="3786" width="76" height="40" />
    100. <rect x="656" y="3750" width="51" height="41" />
    101. <go x="676" y="3831" z="-39" />
    102. </region>
    103. <region type="StygianAbyssRegion" priority="50" name="Toxic Desert">
    104. <rune name="Toxic Desert" />
    105. <rect x="1010" y="2929" width="146" height="120" />
    106. <go x="1047" y="2980" z="62" />
    107. <entrance x="1051" y="3022" />
    108. <zrange min="37" />
    109. </region>
    110. <region type="StygianAbyssRegion" priority="50" name="Void Island">
    111. <rect x="314" y="3473" width="267" height="226" />
    112. <go x="440" y="3577" z="38" />
    113. </region>
    114. <region type="StygianAbyssRegion" priority="50" name="Volcano">
    115. <rect x="298" y="2895" width="201" height="222" />
    116. <go x="407" y="3010" z="-24" />
    117. </region>
    118. <region type="StygianAbyssRegion" priority="50" name="Walled Circus">
    119. <rect x="291" y="3207" width="154" height="147" />
    120. <go x="370" y="3273" z="0" />
    121. </region>
    122. <region type="StygianAbyssRegion" priority="50" name="Waterfall Point">
    123. <rect x="635" y="2862" width="96" height="64" />
    124. <go x="661" y="2894" z="39" />
    125. </region>
    126. </Facet>
    It's a very short list, sadly. I'll try and get it updated as soon as possible, if someone from Insanity's crew doesn't beat me to it. ;)

    EDIT: The Ter Mur facet has been updated to the above code. Copy it over to your Regions.xml file at the bottom (overwrite the entire Ter Mur facet section), restart your shard and you'll be heading in the right direction. This is still not ALL of the regions, but I did my best to get what I could. It was my first time using the Region Editor as well.....yay for learning new things :|
     
    #1 tass23, Sep 10, 2013
    Last edited: Sep 10, 2013
    • Like Like x 1
    • Two Thumbs Up Two Thumbs Up x 1
Similar Threads: Loot LootPackcs
Forum Title Date
Archived Bug Reports Stout whip missing loot Jul 26, 2017
Script Support GetLootingRights Jul 9, 2017
Script Support Corpse looting rights Jul 8, 2017
Script Support Iron Drake -error on loot pack addition- Jul 7, 2017
Archived Bug Reports Nether bolt scroll missing from loot Jul 7, 2017
Suggestions Loot gump labels Jun 18, 2017
Script Support Basecreature.cs Loot Drop edit Jun 13, 2017