Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ### Eclipse Workspace Patch 1.0
- #P RUSaCis-3.5
- diff --git config/en/rus_acis.properties
- index f09715d..55ad000 100644
- --- config/en/rus_acis.properties
- +++ config/en/rus_acis.properties
- @@ -26,36 +26,46 @@
- 4702,7200;1352,7200;1353,7200;1354,7200;1259,7200;1355,7200;1356,7200;\
- 1363,7200;1357,7200;1323,7200;1268,7200;311,7200;309,7200;307,7200;1388,7200;\
- 1389,7200;1397,7200;1087,7200;1413,7200;1304,7200;1257,7200;1362,7200;1392,7200;\
- 1393,7200;1391,7200;1189,7200;1182,7200;270,7200;308,7200;306,7200;1191,7200;\
- 1416,7200;1390,7200;1391,7200
- # Shout chat (ON - city, OFF - off, GM - only for GMs, GLOBAL - for the whole world)
- GlobalChat = ON
- # Trade chat (ON - city, OFF - turns off, GM - only for GMs, GLOBAL - for the whole world)
- TradeChat = ON
- # From which lvl players can use chat, global chat, trade chat or PM.
- AllChatLevel = 1
- TellChatLevel = 1
- ShoutChatLevel = 1
- TradeChatLevel = 1
- +#====================================================
- +# P.ATK/M.ATK SPEED LIMITE
- +#====================================================
- +# All Classes
- +MaxPAtkSpeed = 1500
- +MaxMAtkSpeed = 2100
- +
- +# All Archers Atk speed Only
- +MaxPAtkSpeedArchers = 1300
- # Enable the .menu command (contains functionality, stopping experience, etc.).
- # For autoloot to work correctly, you need to set AutoLoot to True in server.properties.
- EnableMenu = False
- # Enable .online command
- EnabledOnlineCommand = False
- # Enable PTS attack (makes 1 hit to the character, it will always hit JAVA).
- AttackPTS = True
- # When you add subclass your skills from main class and subclass will stuck
- SubClassSkills = False
- # Allow player to add/change subclass at all village master
- SubclassEverywhere = False
- # Enable shift + click on the mob for the player.
- ShowNpcInfo = False
- diff --git config/rus_acis.properties
- index e7aee2c..3572171 100644
- --- config/rus_acis.properties
- +++ config/rus_acis.properties
- @@ -26,36 +26,46 @@
- 4702,7200;1352,7200;1353,7200;1354,7200;1259,7200;1355,7200;1356,7200;\
- 1363,7200;1357,7200;1323,7200;1268,7200;311,7200;309,7200;307,7200;1388,7200;\
- 1389,7200;1397,7200;1087,7200;1413,7200;1304,7200;1257,7200;1362,7200;1392,7200;\
- 1393,7200;1391,7200;1189,7200;1182,7200;270,7200;308,7200;306,7200;1191,7200;\
- 1416,7200;1390,7200;1391,7200
- # Шаут чат (ON - город, OFF - выключает, GM - только для ГМов, GLOBAL - на весь мир)
- GlobalChat = ON
- # Трейд чат (ON - город, OFF - выключает, GM - только для ГМов, GLOBAL - на весь мир)
- TradeChat = ON
- # С какого лвл игроки могут использовать чат, глобальный чат, торговый чат или ПМ.
- AllChatLevel = 1
- TellChatLevel = 1
- ShoutChatLevel = 1
- TradeChatLevel = 1
- +#====================================================
- +# P.ATK/M.ATK SPEED LIMITE
- +#====================================================
- +# All Classes
- +MaxPAtkSpeed = 1500
- +MaxMAtkSpeed = 2100
- +
- +# All Archers Atk speed Only
- +MaxPAtkSpeedArchers = 1300
- # Включить команду .menu (содержит в себе функционал, остановки опыта и тп).
- # Чтобы автолут работал корректно, нужно в server.properties - AutoLoot перевести в True.
- EnableMenu = False
- # Включить команду .online
- EnabledOnlineCommand = False
- # Включить атаку по PTS (делает 1 удар по персонажу, по JAVA бить будет всегда).
- AttackPTS = True
- # Когда вы добавляете подкласс, ваши навыки из основного класса и подкласса стакаются.
- SubClassSkills = False
- # Разрешить игроку добавлять/изменять подкласс у всех village master.
- SubclassEverywhere = False
- # Включить для игрока шифт + клик по мобу.
- ShowNpcInfo = False
- diff --git java/net/sf/l2j/Config.java
- index aef57b0..17c7385 100644
- --- java/net/sf/l2j/Config.java
- +++ java/net/sf/l2j/Config.java
- @@ -849,36 +849,40 @@
- public static int SELECTOR_SLEEP_TIME = 20; // default 20
- public static int MAX_SEND_PER_PASS = 80; // default 80
- public static int MAX_READ_PER_PASS = 80; // default 80
- public static int HELPER_BUFFER_COUNT = 20; // default 20
- // --------------------------------------------------
- // RUS-ACIS
- // --------------------------------------------------
- /** Infinity SS and Arrows */
- public static boolean INFINITY_SS;
- public static boolean INFINITY_ARROWS;
- /** Olympiad Period */
- public static boolean OLY_USE_CUSTOM_PERIOD_SETTINGS;
- public static OlympiadPeriod OLY_PERIOD;
- public static int OLY_PERIOD_MULTIPLIER;
- + public static int MAX_PATK_SPEED;
- + public static int MAX_MATK_SPEED;
- + public static int MAX_PATK_SPEED_ARCHERS;
- public static boolean ENABLE_MODIFY_SKILL_DURATION;
- public static HashMap<Integer, Integer> SKILL_DURATION_LIST;
- public static String GLOBAL_CHAT;
- public static String TRADE_CHAT;
- public static int CHAT_ALL_LEVEL;
- public static int CHAT_TELL_LEVEL;
- public static int CHAT_SHOUT_LEVEL;
- public static int CHAT_TRADE_LEVEL;
- public static boolean ENABLE_MENU;
- public static boolean ENABLE_ONLINE_COMMAND;
- public static boolean BOTS_PREVENTION;
- public static int KILLS_COUNTER;
- public static int KILLS_COUNTER_RANDOMIZATION;
- public static int VALIDATION_TIME;
- public static int PUNISHMENT;
- @@ -2551,36 +2555,41 @@
- PLAYER_RATE_DROP_EQUIP = rates.getProperty("PlayerRateDropEquip", 25);
- PLAYER_RATE_DROP_EQUIP_WEAPON = rates.getProperty("PlayerRateDropEquipWeapon", 5);
- PET_XP_RATE = rates.getProperty("PetXpRate", 1.);
- PET_FOOD_RATE = rates.getProperty("PetFoodRate", 1);
- SINEATER_XP_RATE = rates.getProperty("SinEaterXpRate", 1.);
- KARMA_DROP_LIMIT = rates.getProperty("KarmaDropLimit", 10);
- KARMA_RATE_DROP = rates.getProperty("KarmaRateDrop", 70);
- KARMA_RATE_DROP_ITEM = rates.getProperty("KarmaRateDropItem", 50);
- KARMA_RATE_DROP_EQUIP = rates.getProperty("KarmaRateDropEquip", 40);
- KARMA_RATE_DROP_EQUIP_WEAPON = rates.getProperty("KarmaRateDropEquipWeapon", 10);
- }
- private static final void loadRusAcis()
- {
- final ExProperties rusacis = initProperties(RUS_ACIS_FILE);
- INFINITY_SS = rusacis.getProperty("InfinitySS", false);
- INFINITY_ARROWS = rusacis.getProperty("InfinityArrows", false);
- + MAX_MATK_SPEED = Integer.parseInt(rusacis.getProperty("MaxMAtkSpeed", "1999"));
- + MAX_PATK_SPEED = Integer.parseInt(rusacis.getProperty("MaxPAtkSpeed", "1500"));
- +
- + MAX_PATK_SPEED_ARCHERS = Integer.parseInt(rusacis.getProperty("MaxPAtkSpeedArchers", "1500"));
- OLY_USE_CUSTOM_PERIOD_SETTINGS = rusacis.getProperty("OlyUseCustomPeriodSettings", false);
- OLY_PERIOD = OlympiadPeriod.valueOf(rusacis.getProperty("OlyPeriod", "MONTH"));
- OLY_PERIOD_MULTIPLIER = rusacis.getProperty("OlyPeriodMultiplier", 1);
- ENABLE_MODIFY_SKILL_DURATION = rusacis.getProperty("EnableModifySkillDuration", false);
- if (ENABLE_MODIFY_SKILL_DURATION)
- {
- SKILL_DURATION_LIST = new HashMap<>();
- String[] propertySplit = rusacis.getProperty("SkillDurationList", "").split(";");
- for (String skill : propertySplit)
- {
- String[] skillSplit = skill.split(",");
- if (skillSplit.length != 2)
- LOGGER.warn("[SkillDurationList]: invalid config property -> SkillDurationList \"" + skill + "\"");
- else
- {
- try
- diff --git java/net/sf/l2j/gameserver/model/actor/status/PlayerStatus.java
- index 07bda24..3898373 100644
- --- java/net/sf/l2j/gameserver/model/actor/status/PlayerStatus.java
- +++ java/net/sf/l2j/gameserver/model/actor/status/PlayerStatus.java
- @@ -1,33 +1,34 @@
- package net.sf.l2j.gameserver.model.actor.status;
- import java.util.Map;
- import net.sf.l2j.commons.random.Rnd;
- import net.sf.l2j.Config;
- import net.sf.l2j.gameserver.data.manager.CastleManager;
- import net.sf.l2j.gameserver.data.manager.ClanHallManager;
- import net.sf.l2j.gameserver.data.manager.DuelManager;
- import net.sf.l2j.gameserver.data.manager.ZoneManager;
- import net.sf.l2j.gameserver.data.xml.PlayerLevelData;
- import net.sf.l2j.gameserver.enums.SiegeSide;
- import net.sf.l2j.gameserver.enums.StatusType;
- import net.sf.l2j.gameserver.enums.ZoneId;
- +import net.sf.l2j.gameserver.enums.actors.ClassId;
- import net.sf.l2j.gameserver.enums.actors.ClassRace;
- import net.sf.l2j.gameserver.enums.actors.OperateType;
- import net.sf.l2j.gameserver.enums.actors.WeightPenalty;
- import net.sf.l2j.gameserver.enums.skills.EffectType;
- import net.sf.l2j.gameserver.enums.skills.Stats;
- import net.sf.l2j.gameserver.model.PlayerLevel;
- import net.sf.l2j.gameserver.model.actor.Creature;
- import net.sf.l2j.gameserver.model.actor.Npc;
- import net.sf.l2j.gameserver.model.actor.Playable;
- import net.sf.l2j.gameserver.model.actor.Player;
- import net.sf.l2j.gameserver.model.actor.Summon;
- import net.sf.l2j.gameserver.model.actor.container.npc.RewardInfo;
- import net.sf.l2j.gameserver.model.actor.instance.Pet;
- import net.sf.l2j.gameserver.model.actor.instance.Servitor;
- import net.sf.l2j.gameserver.model.clanhall.ClanHall;
- import net.sf.l2j.gameserver.model.clanhall.ClanHallFunction;
- import net.sf.l2j.gameserver.model.entity.Duel.DuelState;
- import net.sf.l2j.gameserver.model.entity.Siege;
- @@ -1022,72 +1023,87 @@
- return super.getMAtk(target, skill);
- }
- @Override
- public int getMAtkSpd()
- {
- double base = 333;
- if (_actor.isMounted())
- {
- if (_actor.checkFoodState(_actor.getPetTemplate().getHungryLimit()))
- base /= 2;
- }
- final int penalty = _actor.getArmorGradePenalty();
- if (penalty > 0)
- base *= Math.pow(0.84, penalty);
- - return (int) calcStat(Stats.MAGIC_ATTACK_SPEED, base, null, null);
- + double val = calcStat(Stats.MAGIC_ATTACK_SPEED, base, null, null);
- +
- + if (val > Config.MAX_MATK_SPEED)
- + {
- + val = Config.MAX_MATK_SPEED;
- + }
- + return (int) val;
- }
- @Override
- public int getPAtk(Creature target)
- {
- if (_actor.isMounted())
- {
- double base = _actor.getPetDataEntry().getMountPAtk();
- if (getLevel() < _actor.getMountLevel())
- base /= 2;
- return (int) calcStat(Stats.POWER_ATTACK, base, null, null);
- }
- return super.getPAtk(target);
- }
- @Override
- public int getPAtkSpd()
- {
- if (_actor.isFlying())
- return (_actor.checkFoodState(_actor.getPetTemplate().getHungryLimit())) ? 150 : 300;
- if (_actor.isRiding())
- {
- int base = _actor.getPetDataEntry().getMountAtkSpd();
- if (_actor.checkFoodState(_actor.getPetTemplate().getHungryLimit()))
- base /= 2;
- return (int) calcStat(Stats.POWER_ATTACK_SPEED, base, null, null);
- }
- -
- - return super.getPAtkSpd();
- + int val = super.getPAtkSpd();
- + if (val > Config.MAX_PATK_SPEED)
- + {
- + val = Config.MAX_PATK_SPEED;
- + }
- + else if (_actor.getClassId().equals(ClassId.PHANTOM_RANGER) || _actor.getClassId().equals(ClassId.GHOST_SENTINEL) || _actor.getClassId().equals(ClassId.SILVER_RANGER) || _actor.getClassId().equals(ClassId.MOONLIGHT_SENTINEL) || _actor.getClassId().equals(ClassId.HAWKEYE) || _actor.getClassId().equals(ClassId.SAGGITARIUS))
- + {
- + if (val > Config.MAX_PATK_SPEED_ARCHERS)
- + return Config.MAX_PATK_SPEED_ARCHERS;
- + }
- + return val;
- }
- @Override
- public int getEvasionRate(Creature target)
- {
- int val = super.getEvasionRate(target);
- final int penalty = _actor.getArmorGradePenalty();
- if (penalty > 0)
- val -= (2 * penalty);
- return val;
- }
- @Override
- public int getAccuracy()
- {
- int val = super.getAccuracy();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement