2 | 3 | ||
---|---|---|---|
14 | import javolution.util.FastList; | 14 | import javolution.util.FastList; |
15 | import javolution.util.FastMap; | 15 | import javolution.util.FastMap; |
16 | import javolution.util.FastTable; | 16 | import javolution.util.FastTable; |
17 | |||
18 | import ru.kj2a.modules.SuperCharacter; | ||
19 | |||
17 | import ru.kj2a.Config; | 20 | import ru.kj2a.Config; |
18 | import ru.kj2a.gameserver.GameTimeController; | 21 | import ru.kj2a.gameserver.GameTimeController; |
19 | import ru.kj2a.gameserver.ThreadPoolManager; | 22 | import ru.kj2a.gameserver.ThreadPoolManager; |
... | ... | ||
33 | import ru.kj2a.gameserver.handler.SkillHandler; | 36 | import ru.kj2a.gameserver.handler.SkillHandler; |
34 | import ru.kj2a.gameserver.instancemanager.DimensionalRiftManager; | 37 | import ru.kj2a.gameserver.instancemanager.DimensionalRiftManager; |
35 | import ru.kj2a.gameserver.instancemanager.TownManager; | 38 | import ru.kj2a.gameserver.instancemanager.TownManager; |
39 | import ru.kj2a.gameserver.model.L2Clan; | ||
36 | import ru.kj2a.gameserver.model.L2Skill.SkillTargetType; | 40 | import ru.kj2a.gameserver.model.L2Skill.SkillTargetType; |
37 | import ru.kj2a.gameserver.model.L2Skill.SkillType; | 41 | import ru.kj2a.gameserver.model.L2Skill.SkillType; |
38 | import ru.kj2a.gameserver.model.actor.instance.L2ArtefactInstance; | 42 | import ru.kj2a.gameserver.model.actor.instance.L2ArtefactInstance; |
... | ... | ||
910 | 914 | ||
911 | // Calculate if hit is critical | 915 | // Calculate if hit is critical |
912 | crit1 = Formulas.getInstance().calcCrit(getStat().getCriticalHit(target, null)); | 916 | crit1 = Formulas.getInstance().calcCrit(getStat().getCriticalHit(target, null)); |
913 | 917 | | |
918 | if (SuperCharacter.SUPER_CHAR_CRIT_BOW) | ||
919 | { | ||
920 | if (SuperCharacter.SpreobjId.contains(getObjectId())) // Все игроки которые находятся в списке получают 900% шанса физ крита c лука. | ||
921 | { | ||
922 | crit1 = Formulas.getInstance().calcCrit(900); | ||
923 | } | ||
924 | } | ||
914 | // Calculate physical damages | 925 | // Calculate physical damages |
915 | damage1 = (int)Formulas.getInstance().calcPhysDam(this, target, null, shld1, crit1, false, attack.soulshot); | 926 | damage1 = (int)Formulas.getInstance().calcPhysDam(this, target, null, shld1, crit1, false, attack.soulshot); |
916 | } | 927 | } |
... | ... | ||
960 | 971 | ||
961 | // Calculate if hit 1 is critical | 972 | // Calculate if hit 1 is critical |
962 | crit1 = Formulas.getInstance().calcCrit(getStat().getCriticalHit(target, null)); | 973 | crit1 = Formulas.getInstance().calcCrit(getStat().getCriticalHit(target, null)); |
974 | |||
975 | if (SuperCharacter.SUPER_CHAR_CRIT_DUAL) | ||
976 | { | ||
977 | if (SuperCharacter.SpreobjId.contains(getObjectId())) // Все игроки которые находятся в списке получают 900% шанса физ крита c дуал. | ||
978 | { | ||
979 | crit1 = Formulas.getInstance().calcCrit(900); | ||
980 | } | ||
981 | } | ||
963 | 982 | ||
964 | // Calculate physical damages of hit 1 | 983 | // Calculate physical damages of hit 1 |
965 | damage1 = (int)Formulas.getInstance().calcPhysDam(this, target, null, shld1, crit1, true, attack.soulshot); | 984 | damage1 = (int)Formulas.getInstance().calcPhysDam(this, target, null, shld1, crit1, true, attack.soulshot); |
... | ... | ||
1062 | 1081 | ||
1063 | // Calculate if hit is critical | 1082 | // Calculate if hit is critical |
1064 | crit1 = Formulas.getInstance().calcCrit(getStat().getCriticalHit(target, null)); | 1083 | crit1 = Formulas.getInstance().calcCrit(getStat().getCriticalHit(target, null)); |
1084 | if (SuperCharacter.SUPER_CHAR_CRIT_OTHER) | ||
1085 | { | ||
1086 | if (SuperCharacter.SpreobjId.contains(target.getObjectId())) // ¬се игроки которые наход¤тс¤ в списке получают 900% шанса физ крита c любого оружи¤ кроме лука,дуал. | ||
1087 | { | ||
1088 | crit1 = Formulas.getInstance().calcCrit(900); | ||
1089 | } | ||
1090 | } | ||
1065 | 1091 | ||
1066 | // Calculate physical damages | 1092 | // Calculate physical damages |
1067 | damage1 = (int)Formulas.getInstance().calcPhysDam(this, target, null, shld1, crit1, false, attack.soulshot); | 1093 | damage1 = (int)Formulas.getInstance().calcPhysDam(this, target, null, shld1, crit1, false, attack.soulshot); |