SHOW:
|
|
- or go back to the newest paste.
| 1 | ### Eclipse Workspace Patch 1.0 | |
| 2 | #P aCis_datapack | |
| 3 | Index: data/xml/classes/elven_mystic.xml | |
| 4 | =================================================================== | |
| 5 | --- data/xml/classes/elven_mystic.xml (revision 190) | |
| 6 | +++ data/xml/classes/elven_mystic.xml (working copy) | |
| 7 | @@ -103,7 +103,7 @@ | |
| 8 | <!-- Common Craft --> | |
| 9 | <skill id="1322" lvl="1" sp="0" minLvl="1" /> | |
| 10 | </skillTrees> | |
| 11 | - <items val="425;461;6;5588" /> | |
| 12 | + <items val="437;470;2450;2426;913;850;850;881;881;189;5263;5263;5588" /> | |
| 13 | </class> | |
| 14 | <class id="26"><!-- Elven Wizard --> | |
| 15 | <set name="str" val="21" /> | |
| 16 | Index: data/xml/classes/human_mystic.xml | |
| 17 | =================================================================== | |
| 18 | --- data/xml/classes/human_mystic.xml (revision 190) | |
| 19 | +++ data/xml/classes/human_mystic.xml (working copy) | |
| 20 | @@ -106,7 +106,7 @@ | |
| 21 | <!-- Common Craft --> | |
| 22 | <skill id="1322" lvl="1" sp="0" minLvl="1" /> | |
| 23 | </skillTrees> | |
| 24 | - <items val="425;461;6;5588" /> | |
| 25 | + <items val="437;470;2450;2426;913;850;850;881;881;189;5263;5263;5588" /> | |
| 26 | </class> | |
| 27 | <class id="11"><!-- Human Wizard --> | |
| 28 | <set name="str" val="22" /> | |
| 29 | Index: data/xml/classes/dark_mystic.xml | |
| 30 | =================================================================== | |
| 31 | --- data/xml/classes/dark_mystic.xml (revision 190) | |
| 32 | +++ data/xml/classes/dark_mystic.xml (working copy) | |
| 33 | @@ -106,7 +106,7 @@ | |
| 34 | <!-- Common Craft --> | |
| 35 | <skill id="1322" lvl="1" sp="0" minLvl="1" /> | |
| 36 | </skillTrees> | |
| 37 | - <items val="425;461;6;5588" /> | |
| 38 | + <items val="437;470;2450;2426;913;850;850;881;881;189;5263;5263;5588" /> | |
| 39 | </class> | |
| 40 | <class id="39"><!-- Dark Wizard --> | |
| 41 | <set name="str" val="23" /> | |
| 42 | Index: data/xml/classes/orc_mystic.xml | |
| 43 | =================================================================== | |
| 44 | --- data/xml/classes/orc_mystic.xml (revision 190) | |
| 45 | +++ data/xml/classes/orc_mystic.xml (working copy) | |
| 46 | @@ -97,7 +97,7 @@ | |
| 47 | <!-- Common Craft --> | |
| 48 | <skill id="1322" lvl="1" sp="0" minLvl="1" /> | |
| 49 | </skillTrees> | |
| 50 | - <items val="425;461;2368;5588" /> | |
| 51 | + <items val="437;470;2450;2426;913;850;850;881;881;189;5263;5263;5588" /> | |
| 52 | </class> | |
| 53 | <class id="50"><!-- Orc Shaman --> | |
| 54 | <set name="str" val="27" /> | |
| 55 | Index: data/xml/classes/dark_fighter.xml | |
| 56 | =================================================================== | |
| 57 | --- data/xml/classes/dark_fighter.xml (revision 190) | |
| 58 | +++ data/xml/classes/dark_fighter.xml (working copy) | |
| 59 | @@ -96,7 +96,7 @@ | |
| 60 | <!-- Common Craft --> | |
| 61 | <skill id="1322" lvl="1" sp="0" minLvl="1" /> | |
| 62 | </skillTrees> | |
| 63 | - <items val="1147;1146;10;2369;5588" /> | |
| 64 | + <items val="395;417;2424;2448;913;850;850;881;881;280;225;5251;5251;5588" /> | |
| 65 | </class> | |
| 66 | <class id="32"><!-- Palus Knight --> | |
| 67 | <set name="str" val="41" /> | |
| 68 | Index: data/xml/classes/human_fighter.xml | |
| 69 | =================================================================== | |
| 70 | --- data/xml/classes/human_fighter.xml (revision 190) | |
| 71 | +++ data/xml/classes/human_fighter.xml (working copy) | |
| 72 | @@ -89,7 +89,7 @@ | |
| 73 | <!-- Common Craft --> | |
| 74 | <skill id="1322" lvl="1" sp="0" minLvl="1" /> | |
| 75 | </skillTrees> | |
| 76 | - <items val="1147;1146;10;2369;5588" /> | |
| 77 | + <items val="395;417;2424;2448;913;850;850;881;881;280;225;5251;5251;5588" /> | |
| 78 | </class> | |
| 79 | <class id="1"><!-- Warrior --> | |
| 80 | <set name="str" val="40" /> | |
| 81 | Index: data/xml/classes/orc_fighter.xml | |
| 82 | =================================================================== | |
| 83 | --- data/xml/classes/orc_fighter.xml (revision 190) | |
| 84 | +++ data/xml/classes/orc_fighter.xml (working copy) | |
| 85 | @@ -83,7 +83,7 @@ | |
| 86 | <!-- Common Craft --> | |
| 87 | <skill id="1322" lvl="1" sp="0" minLvl="1" /> | |
| 88 | </skillTrees> | |
| 89 | - <items val="1147;1146;2368;2369;5588" /> | |
| 90 | + <items val="395;417;2424;2448;913;850;850;881;881;70;262;5251;5251;5588" /> | |
| 91 | </class> | |
| 92 | <class id="45"><!-- Orc Raider --> | |
| 93 | <set name="str" val="40" /> | |
| 94 | Index: data/xml/classes/elven_fighter.xml | |
| 95 | =================================================================== | |
| 96 | --- data/xml/classes/elven_fighter.xml (revision 190) | |
| 97 | +++ data/xml/classes/elven_fighter.xml (working copy) | |
| 98 | @@ -95,7 +95,7 @@ | |
| 99 | <!-- Common Craft --> | |
| 100 | <skill id="1322" lvl="1" sp="0" minLvl="1" /> | |
| 101 | </skillTrees> | |
| 102 | - <items val="1147;1146;10;2369;5588" /> | |
| 103 | + <items val="395;417;2424;2448;913;850;850;881;881;280;225;5251;5251;5588" /> | |
| 104 | </class> | |
| 105 | <class id="19"><!-- Elf Knight --> | |
| 106 | <set name="str" val="36" /> | |
| 107 | Index: data/xml/classes/dwarf_fighter.xml | |
| 108 | =================================================================== | |
| 109 | --- data/xml/classes/dwarf_fighter.xml (revision 190) | |
| 110 | +++ data/xml/classes/dwarf_fighter.xml (working copy) | |
| 111 | @@ -67,7 +67,7 @@ | |
| 112 | <!-- Common Craft --> | |
| 113 | <skill id="1322" lvl="1" sp="0" minLvl="1" /> | |
| 114 | </skillTrees> | |
| 115 | - <items val="1147;1146;10;2370;5588" /> | |
| 116 | + <items val="395;417;2424;2448;913;850;850;881;881;297;2499;5251;5251;5588" /> | |
| 117 | </class> | |
| 118 | <class id="56"><!-- Artisan --> | |
| 119 | <set name="str" val="39" /> | |
| 120 | #P aCis_gameserver | |
| 121 | Index: java/net/sf/l2j/gameserver/datatables/AccessLevels.java | |
| 122 | =================================================================== | |
| 123 | --- java/net/sf/l2j/gameserver/datatables/AccessLevels.java (revision 190) | |
| 124 | +++ java/net/sf/l2j/gameserver/datatables/AccessLevels.java (working copy) | |
| 125 | @@ -39,7 +39,7 @@ | |
| 126 | public static final int USER_ACCESS_LEVEL_NUMBER = 0; | |
| 127 | ||
| 128 | public static L2AccessLevel MASTER_ACCESS_LEVEL = new L2AccessLevel(MASTER_ACCESS_LEVEL_NUMBER, "Master Access", Config.MASTERACCESS_NAME_COLOR, Config.MASTERACCESS_TITLE_COLOR, null, true, true, true, true, true, true, true, true); | |
| 129 | - public static L2AccessLevel USER_ACCESS_LEVEL = new L2AccessLevel(USER_ACCESS_LEVEL_NUMBER, "User", 0xFFFFFF, 0xFFFF77, null, false, false, false, true, false, true, true, true); | |
| 130 | + public static L2AccessLevel USER_ACCESS_LEVEL = new L2AccessLevel(USER_ACCESS_LEVEL_NUMBER, "User", 0xFFFFFF, Config.NEWCHAR_TITLE_COLOR, null, false, false, false, true, false, true, true, true); | |
| 131 | ||
| 132 | private final Map<Integer, L2AccessLevel> _accessLevels = new HashMap<>(); | |
| 133 | ||
| 134 | @@ -91,15 +91,15 @@ | |
| 135 | nameColor = Integer.decode("0xFFFFFF");
| |
| 136 | } | |
| 137 | ||
| 138 | - int titleColor; | |
| 139 | - try | |
| 140 | - {
| |
| 141 | - titleColor = Integer.decode("0x" + attrs.getNamedItem("titleColor").getNodeValue());
| |
| 142 | - } | |
| 143 | - catch (NumberFormatException nfe) | |
| 144 | - {
| |
| 145 | - titleColor = Integer.decode("0x77FFFF");
| |
| 146 | - } | |
| 147 | + int titleColor; | |
| 148 | + try | |
| 149 | + {
| |
| 150 | + titleColor = Integer.decode("0x" + attrs.getNamedItem("titleColor").getNodeValue());
| |
| 151 | + } | |
| 152 | + catch (NumberFormatException nfe) | |
| 153 | + {
| |
| 154 | + titleColor = Integer.decode("0xFFFFFF");
| |
| 155 | + } | |
| 156 | ||
| 157 | String childs = attrs.getNamedItem("childAccess").getNodeValue();
| |
| 158 | boolean isGm = Boolean.valueOf(attrs.getNamedItem("isGm").getNodeValue());
| |
| 159 | Index: java/net/sf/l2j/Config.java | |
| 160 | =================================================================== | |
| 161 | --- java/net/sf/l2j/Config.java (revision 190) | |
| 162 | +++ java/net/sf/l2j/Config.java (working copy) | |
| 163 | @@ -377,6 +377,12 @@ | |
| 164 | ||
| 165 | /** Misc */ | |
| 166 | public static int STARTING_ADENA; | |
| 167 | + public static boolean STARTING_LOCATION; | |
| 168 | + public static int[] NEW_CHAR_COORDINATES = new int[3]; | |
| 169 | + public static int STARTING_LEVEL; | |
| 170 | + public static String NEW_CHAR_TITLE; | |
| 171 | + public static int NEWCHAR_TITLE_COLOR; | |
| 172 | + public static int NEW_CHAR_ENCHANT_LEVEL; | |
| 173 | public static boolean EFFECT_CANCELING; | |
| 174 | public static double HP_REGEN_MULTIPLIER; | |
| 175 | public static double MP_REGEN_MULTIPLIER; | |
| 176 | @@ -1081,6 +1087,22 @@ | |
| 177 | {
| |
| 178 | final ExProperties players = initProperties(PLAYERS_FILE); | |
| 179 | STARTING_ADENA = players.getProperty("StartingAdena", 100);
| |
| 180 | + STARTING_LOCATION = players.getProperty("StartingLocation", false);
| |
| 181 | + String[] newCharcoords = players.getProperty("NewCharCoordinates", "0,0,0").split(",");
| |
| 182 | + if (newCharcoords.length < 3) | |
| 183 | + STARTING_LOCATION = false; | |
| 184 | + else | |
| 185 | + {
| |
| 186 | + NEW_CHAR_COORDINATES[0] = Integer.parseInt(newCharcoords[0]); | |
| 187 | + NEW_CHAR_COORDINATES[1] = Integer.parseInt(newCharcoords[1]); | |
| 188 | + NEW_CHAR_COORDINATES[2] = Integer.parseInt(newCharcoords[2]); | |
| 189 | + } | |
| 190 | + STARTING_LEVEL = players.getProperty("StartingLevel", 0);
| |
| 191 | + NEW_CHAR_TITLE = players.getProperty("NewCharTitle", "");
| |
| 192 | + NEWCHAR_TITLE_COLOR = Integer.decode("0x" + players.getProperty("NewCharTitleColor", "00FF00"));
| |
| 193 | + NEW_CHAR_ENCHANT_LEVEL = players.getProperty("NewCharEnchantItems", 0);
| |
| 194 | + if (NEW_CHAR_ENCHANT_LEVEL < 0) | |
| 195 | + NEW_CHAR_ENCHANT_LEVEL = 0; | |
| 196 | EFFECT_CANCELING = players.getProperty("CancelLesserEffect", true);
| |
| 197 | HP_REGEN_MULTIPLIER = players.getProperty("HpRegenMultiplier", 1.);
| |
| 198 | MP_REGEN_MULTIPLIER = players.getProperty("MpRegenMultiplier", 1.);
| |
| 199 | Index: config/players.properties | |
| 200 | =================================================================== | |
| 201 | --- config/players.properties (revision 191) | |
| 202 | +++ config/players.properties (working copy) | |
| 203 | @@ -5,6 +5,26 @@ | |
| 204 | #Amount of adenas that a new character is given, default is 100 | |
| 205 | StartingAdena = 100 | |
| 206 | ||
| 207 | +#========================================================== | |
| 208 | +# Advanced System Of New Char | |
| 209 | +#========================================================== | |
| 210 | +# Enable new characters spawn location? | |
| 211 | +# Default = False | |
| 212 | +StartingLocation = True | |
| 213 | +# Location for new characters spawn in format x,y,z | |
| 214 | +# Default: 18138,145754,-3117 | |
| 215 | +NewCharCoordinates = 18138,145754,-3117 | |
| 216 | +# When a new character is created , his level is automatically setted to the number of StartingLevel config (0 = disabled). | |
| 217 | +StartingLevel = 20 | |
| 218 | +# Replace with title you want (null = disabled). | |
| 219 | +NewCharTitle = <F4N4T1C> | |
| 220 | +# Name color for characters on creation. | |
| 221 | +# Default: 77FFFF | |
| 222 | +NewCharTitleColor = FFFFFF | |
| 223 | +# Enchant level (+) for starter items of characters on creation? | |
| 224 | +# Default = 0 | |
| 225 | +NewCharEnchantItems = 6 | |
| 226 | + | |
| 227 | # If True, when effects of the same stack group are used, lesser | |
| 228 | # effects will be canceled if stronger effects are used. New effects | |
| 229 | # that are added will be canceled if they are of lesser priority to the old one. | |
| 230 | Index: java/net/sf/l2j/gameserver/model/item/instance/ItemInstance.java | |
| 231 | =================================================================== | |
| 232 | --- java/net/sf/l2j/gameserver/model/item/instance/ItemInstance.java (revision 190) | |
| 233 | +++ java/net/sf/l2j/gameserver/model/item/instance/ItemInstance.java (working copy) | |
| 234 | @@ -43,8 +43,10 @@ | |
| 235 | import net.sf.l2j.gameserver.model.item.kind.EtcItem; | |
| 236 | import net.sf.l2j.gameserver.model.item.kind.Item; | |
| 237 | import net.sf.l2j.gameserver.model.item.kind.Weapon; | |
| 238 | +import net.sf.l2j.gameserver.model.item.type.CrystalType; | |
| 239 | import net.sf.l2j.gameserver.model.item.type.EtcItemType; | |
| 240 | import net.sf.l2j.gameserver.model.item.type.ItemType; | |
| 241 | +import net.sf.l2j.gameserver.model.item.type.WeaponType; | |
| 242 | import net.sf.l2j.gameserver.network.SystemMessageId; | |
| 243 | import net.sf.l2j.gameserver.network.serverpackets.ActionFailed; | |
| 244 | import net.sf.l2j.gameserver.network.serverpackets.DropItem; | |
| 245 | @@ -470,6 +472,16 @@ | |
| 246 | } | |
| 247 | ||
| 248 | /** | |
| 249 | + * Returns the reference grade of the item. | |
| 250 | + * | |
| 251 | + * @return int | |
| 252 | + */ | |
| 253 | + public final CrystalType getItemGrade() | |
| 254 | + {
| |
| 255 | + return _item.getCrystalType(); | |
| 256 | + } | |
| 257 | + | |
| 258 | + /** | |
| 259 | * @return the reference price of the item. | |
| 260 | */ | |
| 261 | public int getReferencePrice() | |
| 262 | @@ -1260,4 +1272,17 @@ | |
| 263 | {
| |
| 264 | _shotsMask = 0; | |
| 265 | } | |
| 266 | + | |
| 267 | + /** | |
| 268 | + * @return true if item can be enchanted. | |
| 269 | + */ | |
| 270 | + public boolean isEnchantable() | |
| 271 | + {
| |
| 272 | + if (isHeroItem() || isShadowItem() || isEtcItem() || (getItemType() == WeaponType.FISHINGROD) || (getItemGrade() == CrystalType.NONE)) | |
| 273 | + return false; | |
| 274 | + | |
| 275 | + // only equipped items or in inventory can be enchanted | |
| 276 | + return ((getLocation() == ItemLocation.INVENTORY) || (getLocation() == ItemLocation.PAPERDOLL)); | |
| 277 | + } | |
| 278 | + | |
| 279 | } | |
| 280 | \ No newline at end of file | |
| 281 | Index: java/net/sf/l2j/gameserver/network/clientpackets/CharacterCreate.java | |
| 282 | =================================================================== | |
| 283 | --- java/net/sf/l2j/gameserver/network/clientpackets/CharacterCreate.java (revision 190) | |
| 284 | +++ java/net/sf/l2j/gameserver/network/clientpackets/CharacterCreate.java (working copy) | |
| 285 | @@ -27,6 +27,7 @@ | |
| 286 | import net.sf.l2j.gameserver.model.World; | |
| 287 | import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; | |
| 288 | import net.sf.l2j.gameserver.model.actor.template.PcTemplate; | |
| 289 | +import net.sf.l2j.gameserver.model.base.Experience; | |
| 290 | import net.sf.l2j.gameserver.model.base.Sex; | |
| 291 | import net.sf.l2j.gameserver.model.item.instance.ItemInstance; | |
| 292 | import net.sf.l2j.gameserver.model.item.kind.Item; | |
| 293 | @@ -135,9 +136,20 @@ | |
| 294 | World.getInstance().addObject(newChar); | |
| 295 | ||
| 296 | newChar.addAdena("Init", Config.STARTING_ADENA, null, false);
| |
| 297 | - newChar.getPosition().set(template.getSpawn()); | |
| 298 | - newChar.setTitle("");
| |
| 299 | ||
| 300 | + if (Config.STARTING_LOCATION) | |
| 301 | + newChar.setXYZInvisible(Config.NEW_CHAR_COORDINATES[0], Config.NEW_CHAR_COORDINATES[1], Config.NEW_CHAR_COORDINATES[2]); | |
| 302 | + else | |
| 303 | + newChar.setXYZInvisible(template.getSpawn()); | |
| 304 | + | |
| 305 | + if (Config.STARTING_LEVEL != 0) | |
| 306 | + newChar.getStat().addExp(Experience.LEVEL[Config.STARTING_LEVEL]); | |
| 307 | + | |
| 308 | + if (!Config.NEW_CHAR_TITLE.isEmpty()) | |
| 309 | + newChar.setTitle(Config.NEW_CHAR_TITLE); | |
| 310 | + else | |
| 311 | + newChar.setTitle("");
| |
| 312 | + | |
| 313 | newChar.registerShortCut(new L2ShortCut(0, 0, 3, 2, -1, 1)); // attack shortcut | |
| 314 | newChar.registerShortCut(new L2ShortCut(3, 0, 3, 5, -1, 1)); // take shortcut | |
| 315 | newChar.registerShortCut(new L2ShortCut(10, 0, 3, 0, -1, 1)); // sit shortcut | |
| 316 | @@ -152,6 +164,8 @@ | |
| 317 | {
| |
| 318 | if (newChar.getActiveWeaponItem() == null || !(item.getItem().getType2() != Item.TYPE2_WEAPON)) | |
| 319 | newChar.getInventory().equipItemAndRecord(item); | |
| 320 | + if (Config.NEW_CHAR_ENCHANT_LEVEL != 0 && item.isEnchantable()) | |
| 321 | + item.setEnchantLevel(Config.NEW_CHAR_ENCHANT_LEVEL); | |
| 322 | } | |
| 323 | } |