Advertisement
warc222

Share] Sub-Class Master NPC

Sep 17th, 2015
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.54 KB | None | 0 0
  1. Index: L2jFrozen_GameServer\head-src\com\l2jfrozen\gameserver\model\actor\instance\L2VillageMasterInstance.java
  2. ===================================================================
  3. --- head-src\com\l2jfrozen\gameserver\model\actor\instance\L2VillageMasterInstance.java (revision 912)
  4. +++ head-src\com\l2jfrozen\gameserver\model\actor\instance\L2VillageMasterInstance.java (working copy)
  5. @@ -1010,1 +1010,9 @@
  6. - final PlayerRace npcRace = getVillageMasterRace();
  7. - final ClassType npcTeachType = getVillageMasterTeachType();
  8. + getVillageMasterRace();
  9. + getVillageMasterTeachType();
  10.  
  11. @@ -1049,1 +1049,5 @@
  12. -
  13. - if(npcRace == PlayerRace.Human || npcRace == PlayerRace.LightElf)
  14. - {
  15. - // If the master is human or light elf, ensure that fighter-type
  16. - // masters only teach fighter classes, and priest-type masters
  17. - // only teach priest classes etc.
  18. - if(!availSub.isOfType(npcTeachType))
  19. - {
  20. - availSubs.remove(availSub);
  21. - }
  22. - else if(!availSub.isOfRace(PlayerRace.Human) && !availSub.isOfRace(PlayerRace.LightElf))
  23. - {
  24. - availSubs.remove(availSub);
  25. - }
  26. - }
  27. - else
  28. - {
  29. - // If the master is not human and not light elf,
  30. - // then remove any classes not of the same race as the master.
  31. - if(npcRace != PlayerRace.Human && npcRace != PlayerRace.LightElf && !availSub.isOfRace(npcRace))
  32. - {
  33. - availSubs.remove(availSub);
  34. - }
  35. - }
  36. (/No newline at the end of the line)
  37.  
  38. Index: L2jFrozen_GameServer\head-src\com\l2jfrozen\gameserver\model\actor\instance\L2VillageMasterInstance.java
  39. ===================================================================
  40. --- head-src\com\l2jfrozen\gameserver\model\base\PlayerClass.java (revision 59)
  41. +++ head-src\com\l2jfrozen\gameserver\model\base\PlayerClass.java (working copy)
  42. @@ -196,1 +196,5 @@
  43. private static final Set<PlayerClass> mainSubclassSet;
  44. - private static final Set<PlayerClass> neverSubclassed = EnumSet.of(Overlord, Warsmith);
  45.  
  46. - private static final Set<PlayerClass> subclasseSet1 = EnumSet.of(DarkAvenger, Paladin, TempleKnight, ShillienKnight);
  47. - private static final Set<PlayerClass> subclasseSet2 = EnumSet.of(TreasureHunter, AbyssWalker, Plainswalker);
  48. - private static final Set<PlayerClass> subclasseSet3 = EnumSet.of(Hawkeye, SilverRanger, PhantomRanger);
  49. - private static final Set<PlayerClass> subclasseSet4 = EnumSet.of(Warlock, ElementalSummoner, PhantomSummoner);
  50. - private static final Set<PlayerClass> subclasseSet5 = EnumSet.of(Sorceror, Spellsinger, Spellhowler);
  51. -
  52. - private static final EnumMap<PlayerClass, Set<PlayerClass>> subclassSetMap = new EnumMap<PlayerClass, Set<PlayerClass>>(PlayerClass.class);
  53.  
  54. static
  55. {
  56. Set<PlayerClass> subclasses = getSet(null, Third);
  57. - subclasses.removeAll(neverSubclassed);
  58.  
  59. mainSubclassSet = subclasses;
  60. -
  61. - subclassSetMap.put(DarkAvenger, subclasseSet1);
  62. - subclassSetMap.put(Paladin, subclasseSet1);
  63. - subclassSetMap.put(TempleKnight, subclasseSet1);
  64. - subclassSetMap.put(ShillienKnight, subclasseSet1);
  65. -
  66. - subclassSetMap.put(TreasureHunter, subclasseSet2);
  67. - subclassSetMap.put(AbyssWalker, subclasseSet2);
  68. - subclassSetMap.put(Plainswalker, subclasseSet2);
  69. -
  70. - subclassSetMap.put(Hawkeye, subclasseSet3);
  71. - subclassSetMap.put(SilverRanger, subclasseSet3);
  72. - subclassSetMap.put(PhantomRanger, subclasseSet3);
  73. -
  74. - subclassSetMap.put(Warlock, subclasseSet4);
  75. - subclassSetMap.put(ElementalSummoner, subclasseSet4);
  76. - subclassSetMap.put(PhantomSummoner, subclasseSet4);
  77. -
  78. - subclassSetMap.put(Sorceror, subclasseSet5);
  79. - subclassSetMap.put(Spellsinger, subclasseSet5);
  80. - subclassSetMap.put(Spellhowler, subclasseSet5);
  81.  
  82. @@ -252,1 +252,9 @@
  83. - subclasses.removeAll(neverSubclassed);
  84. - subclasses.remove(this);
  85. -
  86. - switch(player.getRace())
  87. - {
  88. - case elf:
  89. - subclasses.removeAll(getSet(DarkElf, Third));
  90. - break;
  91. - case darkelf:
  92. - subclasses.removeAll(getSet(LightElf, Third));
  93. - break;
  94. - }
  95. -
  96. - Set<PlayerClass> unavailableClasses = subclassSetMap.get(this);
  97. -
  98. - if(unavailableClasses != null)
  99. - {
  100. - subclasses.removeAll(unavailableClasses);
  101. - }
  102. -
  103. - unavailableClasses = null;
  104.  
  105. @@ -222,1 +222,13 @@
  106. if(_level == Third)
  107. {
  108. subclasses = EnumSet.copyOf(mainSubclassSet);
  109. +
  110. +subclasses.remove(this);
  111. +
  112. + switch(player.getRace())
  113. + {
  114. + case human:
  115. + break;
  116. + case darkelf:
  117. + break;
  118. + case elf:
  119. + break;
  120. + case orc:
  121. + break;
  122. + case dwarf:
  123. + break;
  124. +
  125. }
  126. }
  127.  
  128. return subclasses;
  129. }
  130. (/No newline at the end of the line)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement