Summon related fixes.
Contributed by Vinter.
This commit is contained in:
parent
7514e8c8fb
commit
39b2037a9a
@ -70,12 +70,12 @@ public class Summon extends AbstractEffect
|
||||
return;
|
||||
}
|
||||
|
||||
final PlayerInstance player = info.getEffected().getActingPlayer();
|
||||
final PlayerInstance player = info.getEffector().getActingPlayer();
|
||||
final NpcTemplate template = NpcData.getInstance().getTemplate(_npcId);
|
||||
final ServitorInstance summon = new ServitorInstance(template, player);
|
||||
final int consumeItemInterval = (_consumeItemInterval > 0 ? _consumeItemInterval : (template.getRace() != Race.SIEGE_WEAPON ? 240 : 60)) * 1000;
|
||||
summon.setName(template.getName());
|
||||
summon.setTitle(info.getEffected().getName());
|
||||
summon.setTitle(info.getEffector().getName());
|
||||
summon.setReferenceSkill(info.getSkill().getId());
|
||||
summon.setExpMultiplier(_expMultiplier);
|
||||
summon.setLifeTime(_lifeTime);
|
||||
|
@ -256,6 +256,8 @@
|
||||
<table name="#npcIds">14111 14112 14113 14114 14115 14116 14117 14118 14119 14120 14121 14122 14123 14124 14125 14126 14127 14128</table>
|
||||
<table name="#summonLifeTime">1200 1200 1200 1200 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600</table>
|
||||
<table name="#enchNpcId">14129 14130 14131 14132 14133 14134 14135 14136 14137 14138 14139 14140 14141 14142 14143 14144 14145 14146 14147 14148 14149 14150 14151 14152 14153 14154 14155 14156 14157 14158</table>
|
||||
<table name="#summonExpMultiplier">0.70 0.70 0.70 0.70 0.70 0.70 0.70 0.71 0.72 0.73 0.74 0.75 0.76 0.77 0.78 0.79 0.80 0.82</table>
|
||||
<table name="#summonExpMultiplierEnch">0.84 0.86 0.88 0.90 0.92 0.94 0.96 0.98 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1</table>
|
||||
<set name="hitTime" val="15000" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="itemConsumeCount" val="#itemConsumeCount" />
|
||||
@ -273,6 +275,7 @@
|
||||
<param npcId="#npcIds" />
|
||||
<param consumeItemId="1458" consumeItemCount="#itemConsumeCountOT" /> <!-- Epilogue Modification -->
|
||||
<param lifeTime="#summonLifeTime" />
|
||||
<param expMultiplier="#summonExpMultiplier" />
|
||||
</effect>
|
||||
</for>
|
||||
<enchant1for>
|
||||
@ -280,6 +283,7 @@
|
||||
<param npcId="#enchNpcId" />
|
||||
<param consumeItemId="1458" consumeItemCount="2" /> <!-- Epilogue Modification -->
|
||||
<param lifeTime="3600" />
|
||||
<param expMultiplier="#summonExpMultiplierEnch" />
|
||||
</effect>
|
||||
</enchant1for>
|
||||
</skill>
|
||||
@ -368,6 +372,8 @@
|
||||
<set name="icon" val="icon.skill1128" />
|
||||
<table name="#itemConsumeCount">3 4 1 3 5 3 4 4 5 6 6 7 5 6 7 9 7 8</table> <!-- Epilogue Modification -->
|
||||
<table name="#itemConsumeCountOT">0 0 1 1 1 2 2 3 3 3 4 4 5 5 5 5 6 6</table> <!-- Epilogue Modification -->
|
||||
<table name="#summonExpMultiplier">0.70 0.70 0.70 0.70 0.70 0.70 0.70 0.71 0.72 0.73 0.74 0.75 0.76 0.77 0.78 0.79 0.80 0.82</table>
|
||||
<table name="#summonExpMultiplierEnch">0.84 0.86 0.88 0.90 0.92 0.94 0.96 0.98 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1</table>
|
||||
<table name="#npcIds">14479 14480 14481 14482 14483 14484 14485 14486 14487 14488 14489 14490 14491 14492 14493 14494 14495 14496</table>
|
||||
<table name="#summonLifeTime">1200 1200 1200 1200 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600</table>
|
||||
<set name="hitTime" val="15000" />
|
||||
@ -387,6 +393,7 @@
|
||||
<param npcId="#npcIds" />
|
||||
<param consumeItemId="1458" consumeItemCount="#itemConsumeCountOT" /> <!-- Epilogue Modification -->
|
||||
<param lifeTime="#summonLifeTime" />
|
||||
<param expMultiplier="#summonExpMultiplier" />
|
||||
</effect>
|
||||
</for>
|
||||
<enchant1for>
|
||||
@ -394,6 +401,7 @@
|
||||
<param npcId="#enchNpcId" />
|
||||
<param consumeItemId="1458" consumeItemCount="2" /> <!-- Epilogue Modification -->
|
||||
<param lifeTime="3600" />
|
||||
<param expMultiplier="#summonExpMultiplierEnch" />
|
||||
</effect>
|
||||
</enchant1for>
|
||||
</skill>
|
||||
@ -406,9 +414,10 @@
|
||||
<table name="#mpInitialConsume">16 19 22 24 26 27 28</table>
|
||||
<table name="#npcIds">14001 14002 14003 14004 14005 14006 14007</table>
|
||||
<table name="#enchNpcId">14008 14009 14010 14011 14012 14013 14014 14015 14016 14017 14018 14019 14020 14021 14022 14023 14024 14025 14026 14027 14028 14029 14030 14031 14032 14033 14034 14035 14036 14037</table>
|
||||
<table name="#summonExpMultiplierEnch">0.86 0.87 0.88 0.89 0.90 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1</table>
|
||||
<set name="icon" val="icon.skill1129" />
|
||||
<!-- set name="castRange" val="40" / -->
|
||||
<!-- set name="effectRange" val="400" / -->
|
||||
<set name="castRange" val="40" />
|
||||
<set name="effectRange" val="400" />
|
||||
<set name="hitTime" val="15000" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="itemConsumeCount" val="#itemConsumeCount" />
|
||||
@ -417,7 +426,7 @@
|
||||
<set name="mpInitialConsume" val="#mpInitialConsume" />
|
||||
<set name="operateType" val="A1" />
|
||||
<set name="reuseDelay" val="5000" />
|
||||
<set name="targetType" val="SELF" />
|
||||
<set name="targetType" val="CORPSE_MOB" />
|
||||
<cond>
|
||||
<player canSummon="true" />
|
||||
</cond>
|
||||
@ -426,14 +435,18 @@
|
||||
<param npcId="#npcIds" />
|
||||
<param consumeItemId="1459" consumeItemCount="#itemConsumeCountOT" /> <!-- Epilogue Modification -->
|
||||
<param lifeTime="3600" />
|
||||
<param expMultiplier="0.85" />
|
||||
</effect>
|
||||
<effect name="ConsumeBody" />
|
||||
</for>
|
||||
<enchant1for>
|
||||
<effect name="Summon">
|
||||
<param npcId="#enchNpcId" />
|
||||
<param consumeItemId="1459" consumeItemCount="2" /> <!-- Epilogue Modification -->
|
||||
<param lifeTime="3600" />
|
||||
<param expMultiplier="#summonExpMultiplierEnch" />
|
||||
</effect>
|
||||
<effect name="ConsumeBody" />
|
||||
</enchant1for>
|
||||
</skill>
|
||||
<skill id="1139" levels="2" name="Servitor Magic Shield" enchantGroup1="1" enchantGroup2="1">
|
||||
@ -775,8 +788,8 @@
|
||||
<table name="#npcIds">14038 14039 14040 14041 14042 14043</table>
|
||||
<table name="#enchNpcId">14044 14045 14046 14047 14048 14049 14050 14051 14052 14053 14054 14055 14056 14057 14058 14059 14060 14061 14062 14063 14064 14065 14066 14067 14068 14069 14070 14071 14072 14073</table>
|
||||
<set name="icon" val="icon.skill1154" />
|
||||
<!-- set name="castRange" val="40" / -->
|
||||
<!-- set name="effectRange" val="400" / -->
|
||||
<set name="castRange" val="40" />
|
||||
<set name="effectRange" val="400" />
|
||||
<set name="hitTime" val="15000" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="itemConsumeCount" val="3" /> <!-- Epilogue Modification -->
|
||||
@ -785,7 +798,7 @@
|
||||
<set name="mpInitialConsume" val="#mpInitialConsume" />
|
||||
<set name="operateType" val="A1" />
|
||||
<set name="reuseDelay" val="5000" />
|
||||
<set name="targetType" val="SELF" />
|
||||
<set name="targetType" val="CORPSE_MOB" />
|
||||
<cond>
|
||||
<player canSummon="true" />
|
||||
</cond>
|
||||
@ -795,6 +808,7 @@
|
||||
<param lifeTime="3600" />
|
||||
<param expMultiplier="0.1" />
|
||||
</effect>
|
||||
<effect name="ConsumeBody" />
|
||||
</for>
|
||||
<enchant1for>
|
||||
<effect name="Summon">
|
||||
@ -802,6 +816,7 @@
|
||||
<param lifeTime="3600" />
|
||||
<param expMultiplier="0.1" />
|
||||
</effect>
|
||||
<effect name="ConsumeBody" />
|
||||
</enchant1for>
|
||||
</skill>
|
||||
<skill id="1155" levels="15" name="Corpse Burst" enchantGroup1="2" enchantGroup2="2">
|
||||
|
@ -671,6 +671,8 @@
|
||||
<table name="#reuseDelay">5400000 5400000 5400000 5400000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000</table>
|
||||
<table name="#summonLifeTime">1200 1200 1200 1200 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600</table>
|
||||
<table name="#enchNpcId">14313 14314 14315 14316 14317 14318 14319 14320 14321 14322 14323 14324 14325 14326 14327 14328 14329 14330 14331 14332 14333 14334 14335 14336 14337 14338 14339 14340 14341 14342</table>
|
||||
<table name="#summonExpMultiplier">0.70 0.70 0.70 0.70 0.70 0.70 0.70 0.71 0.72 0.73 0.74 0.75 0.76 0.77 0.78 0.79 0.80 0.82</table>
|
||||
<table name="#summonExpMultiplierEnch">0.84 0.86 0.88 0.90 0.92 0.94 0.96 0.98 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1</table>
|
||||
<set name="hitTime" val="15000" />
|
||||
<set name="icon" val="icon.skill1226" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
@ -690,6 +692,7 @@
|
||||
<param npcId="#npcIds" />
|
||||
<param consumeItemId="3031" consumeItemCount="#itemConsumeCountOT" />
|
||||
<param lifeTime="#summonLifeTime" />
|
||||
<param expMultiplier="#summonExpMultiplier" />
|
||||
</effect>
|
||||
</for>
|
||||
<enchant1for>
|
||||
@ -697,6 +700,7 @@
|
||||
<param npcId="#enchNpcId" />
|
||||
<param consumeItemId="3031" consumeItemCount="2" />
|
||||
<param lifeTime="3600" />
|
||||
<param expMultiplier="#summonExpMultiplierEnch" />
|
||||
</effect>
|
||||
</enchant1for>
|
||||
</skill>
|
||||
@ -2657,6 +2661,7 @@
|
||||
<table name="#mpInitialConsume">14 16 18 19 21 22 22 23 24 25 26 26 27 28</table>
|
||||
<table name="#npcIds">14207 14208 14209 14210 14211 14212 14213 14214 14215 14216 14217 14218 14219 14220</table>
|
||||
<table name="#enchNpcId">14221 14222 14223 14224 14225 14226 14227 14228 14229 14230 14231 14232 14233 14234 14235 14236 14237 14238 14239 14240 14241 14242 14243 14244 14245 14246 14247 14248 14249 14250</table>
|
||||
<table name="#summonExpMultiplier">0.9 0.9 0.9 0.9 0.9 0.9 0.95 0.95 0.95 0.95 1 1 1 1</table>
|
||||
<set name="icon" val="icon.skill1276" />
|
||||
<set name="itemConsumeCount" val="#itemConsumeCount" />
|
||||
<set name="itemConsumeId" val="1459" /> <!-- Epilogue Modification -->
|
||||
@ -2677,6 +2682,7 @@
|
||||
<param npcId="#npcIds" />
|
||||
<param consumeItemId="1459" consumeItemCount="#itemConsumeCountOT" /> <!-- Epilogue -->
|
||||
<param lifeTime="3600" />
|
||||
<param expMultiplier="#summonExpMultiplier" />
|
||||
</effect>
|
||||
</for>
|
||||
<enchant1for>
|
||||
@ -2696,6 +2702,7 @@
|
||||
<table name="#mpInitialConsume">14 16 18 19 21 22 22 23 24 25 26 26 27 28</table>
|
||||
<table name="#npcIds">14391 14392 14393 14394 14395 14396 14397 14398 14399 14400 14401 14402 14403 14404</table>
|
||||
<table name="#enchNpcId">14405 14406 14407 14408 14409 14410 14411 14412 14413 14414 14415 14416 14417 14418 14419 14420 14421 14422 14423 14424 14425 14426 14427 14428 14429 14430 14431 14432 14433 14434</table>
|
||||
<table name="#summonExpMultiplier">0.9 0.9 0.9 0.9 0.9 0.9 0.95 0.95 0.95 0.95 1 1 1 1</table>
|
||||
<set name="icon" val="icon.skill1277" />
|
||||
<set name="itemConsumeCount" val="#itemConsumeCount" />
|
||||
<set name="itemConsumeId" val="1459" /> <!-- Epilogue Modification -->
|
||||
@ -2715,6 +2722,7 @@
|
||||
<param npcId="#npcIds" />
|
||||
<param consumeItemId="1459" consumeItemCount="#itemConsumeCountOT" /> <!-- Epilogue Modification -->
|
||||
<param lifeTime="3600" />
|
||||
<param expMultiplier="#summonExpMultiplier" />
|
||||
</effect>
|
||||
</for>
|
||||
<enchant1for>
|
||||
@ -2733,6 +2741,7 @@
|
||||
<table name="#mpInitialConsume">14 16 18 19 21 22 22 23 24 25 26 26 27 28</table>
|
||||
<table name="#npcIds">14575 14576 14577 14578 14579 14580 14581 14582 14583 14584 14585 14586 14587 14588</table>
|
||||
<table name="#enchNpcId">14589 14590 14591 14592 14593 14594 14595 14596 14597 14598 14599 14600 14601 14602 14603 14604 14605 14606 14607 14608 14609 14610 14611 14612 14613 14614 14615 14616 14617 14618</table>
|
||||
<table name="#summonExpMultiplier">0.9 0.9 0.9 0.9 0.9 0.9 0.95 0.95 0.95 0.95 1 1 1 1</table>
|
||||
<set name="icon" val="icon.skill1278" />
|
||||
<set name="itemConsumeCount" val="#itemConsumeCount" />
|
||||
<set name="itemConsumeId" val="1459" /> <!-- Epilogue Modification -->
|
||||
@ -2752,6 +2761,7 @@
|
||||
<param npcId="#npcIds" />
|
||||
<param consumeItemId="1459" consumeItemCount="#itemConsumeCountOT" /> <!-- Epilogue Modification -->
|
||||
<param lifeTime="3600" />
|
||||
<param expMultiplier="#summonExpMultiplier" />
|
||||
</effect>
|
||||
</for>
|
||||
<enchant1for>
|
||||
|
@ -768,6 +768,7 @@
|
||||
<table name="#mpInitialConsume">14 16 18 19 21 22 22 23 24 25</table>
|
||||
<table name="#npcIds">14251 14252 14253 14254 14255 14256 14257 14258 14259 14260</table>
|
||||
<table name="#enchNpcId">14265 14266 14267 14268 14269 14270 14271 14272 14273 14274 14275 14276 14277 14278 14279 14280 14281 14282 14283 14284 14285 14286 14287 14288 14289 14290 14291 14292 14293 14294</table>
|
||||
<!-- <table name="#summonExpMultiplier">0.95 0.95 0.97 0.97 0.97 0.97 1 1 1 1</table> -->
|
||||
<set name="icon" val="icon.skill1331" />
|
||||
<set name="itemConsumeCount" val="#itemConsumeCount" />
|
||||
<set name="itemConsumeId" val="1459" /> <!-- Epilogue Modification -->
|
||||
@ -787,6 +788,7 @@
|
||||
<param npcId="#npcIds" />
|
||||
<param consumeItemId="1459" consumeItemCount="#itemConsumeCountOT" /> <!-- Epilogue Modification -->
|
||||
<param lifeTime="3600" />
|
||||
<!-- <param summonExpMultiplier="#summonExpMultiplier" /> -->
|
||||
</effect>
|
||||
</for>
|
||||
<enchant1for>
|
||||
@ -806,6 +808,7 @@
|
||||
<table name="#mpInitialConsume">14 16 18 19 21 22 22 23 24 25</table>
|
||||
<table name="#npcIds">14435 14436 14437 14438 14439 14440 14441 14442 14443 14444</table>
|
||||
<table name="#enchNpcId">14449 14450 14451 14452 14453 14454 14455 14456 14457 14458 14459 14460 14461 14462 14463 14464 14465 14466 14467 14468 14469 14470 14471 14472 14473 14474 14475 14476 14477 14478</table>
|
||||
<!-- <table name="#summonExpMultiplier">0.95 0.95 0.97 0.97 0.97 0.97 1 1 1 1</table> -->
|
||||
<set name="icon" val="icon.skill1332" />
|
||||
<set name="itemConsumeCount" val="#itemConsumeCount" />
|
||||
<set name="itemConsumeId" val="1459" /> <!-- Epilogue -->
|
||||
@ -825,6 +828,7 @@
|
||||
<param npcId="#npcIds" />
|
||||
<param consumeItemId="1459" consumeItemCount="#itemConsumeCountOT" /> <!-- Epilogue -->
|
||||
<param lifeTime="3600" />
|
||||
<!-- <param summonExpMultiplier="#summonExpMultiplier" /> -->
|
||||
</effect>
|
||||
</for>
|
||||
<enchant1for>
|
||||
@ -844,6 +848,7 @@
|
||||
<table name="#mpInitialConsume">14 16 18 19 21 22 22 23 24 25</table>
|
||||
<table name="#npcIds">14619 14620 14621 14622 14623 14624 14625 14626 14627 14628</table>
|
||||
<table name="#enchNpcId">14633 14634 14635 14636 14637 14638 14639 14640 14641 14642 14643 14644 14645 14646 14647 14648 14649 14650 14651 14652 14653 14654 14655 14656 14657 14658 14659 14660 14661 14662</table>
|
||||
<!-- <table name="#summonExpMultiplier">0.95 0.95 0.97 0.97 0.97 0.97 1 1 1 1</table> -->
|
||||
<set name="icon" val="icon.skill1333" />
|
||||
<set name="itemConsumeCount" val="#itemConsumeCount" />
|
||||
<set name="itemConsumeId" val="1459" /> <!-- Epilogue Modification -->
|
||||
@ -863,6 +868,7 @@
|
||||
<param npcId="#npcIds" />
|
||||
<param consumeItemId="1459" consumeItemCount="#itemConsumeCountOT" /> <!-- Epilogue Modification -->
|
||||
<param lifeTime="3600" />
|
||||
<!-- <param summonExpMultiplier="#summonExpMultiplier" /> -->
|
||||
</effect>
|
||||
</for>
|
||||
<enchant1for>
|
||||
@ -882,34 +888,39 @@
|
||||
<table name="#mpInitialConsume">21 22 24 26 26 27 28</table>
|
||||
<table name="#npcIds">14074 14075 14076 14077 14078 14079 14080</table>
|
||||
<table name="#enchNpcId">14081 14082 14083 14084 14085 14086 14087 14088 14089 14090 14091 14092 14093 14094 14095 14096 14097 14098 14099 14100 14101 14102 14103 14104 14105 14106 14107 14108 14109 14110</table>
|
||||
<table name="#summonExpMultiplierEnch">0.86 0.87 0.88 0.89 0.90 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1</table>
|
||||
<set name="icon" val="icon.skill1334" />
|
||||
<set name="itemConsumeCount" val="#itemConsumeCount" />
|
||||
<set name="itemConsumeId" val="1459" /> <!-- Epilogue Modification -->
|
||||
<set name="magicLevel" val="#magicLevel" />
|
||||
<set name="mpConsume" val="#mpConsume" />
|
||||
<set name="mpInitialConsume" val="#mpInitialConsume" />
|
||||
<!-- set name="castRange" val="40" / -->
|
||||
<!-- set name="effectRange" val="400" / -->
|
||||
<set name="castRange" val="40" />
|
||||
<set name="effectRange" val="400" />
|
||||
<set name="hitTime" val="15000" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="operateType" val="A1" />
|
||||
<set name="reuseDelay" val="5000" />
|
||||
<set name="targetType" val="SELF" />
|
||||
<set name="targetType" val="CORPSE_MOB" />
|
||||
<cond>
|
||||
<player canSummon="true" />
|
||||
</cond>
|
||||
<for>
|
||||
<effect name="ConsumeBody" />
|
||||
<effect name="Summon">
|
||||
<param npcId="#npcIds" />
|
||||
<param consumeItemId="1459" consumeItemCount="#itemConsumeCountOT" /> <!-- Epilogue Modification -->
|
||||
<param lifeTime="3600" />
|
||||
<param expMultiplier="0.85" />
|
||||
</effect>
|
||||
</for>
|
||||
<enchant1for>
|
||||
<effect name="ConsumeBody" />
|
||||
<effect name="Summon">
|
||||
<param npcId="#enchNpcId" />
|
||||
<param consumeItemId="1459" consumeItemCount="2" /> <!-- Epilogue Modification -->
|
||||
<param lifeTime="1200" /> <!-- Epilogue Modification -->
|
||||
<param expMultiplier="#summonExpMultiplierEnch" />
|
||||
</effect>
|
||||
</enchant1for>
|
||||
</skill>
|
||||
|
@ -1338,12 +1338,6 @@ public class Skill implements IIdentifiable
|
||||
{
|
||||
effected.getEffectList().add(info);
|
||||
}
|
||||
|
||||
// Support for buff sharing feature including healing herbs.
|
||||
if (effected.isPlayer() && effected.hasServitor() && (_abnormalType != AbnormalType.TRANSFORM) && ((addContinuousEffects && isContinuous() && !_isDebuff) || _isRecoveryHerb))
|
||||
{
|
||||
applyEffects(effector, effected.getSummon(), _isRecoveryHerb, 0);
|
||||
}
|
||||
}
|
||||
|
||||
if (self)
|
||||
@ -1363,13 +1357,6 @@ public class Skill implements IIdentifiable
|
||||
{
|
||||
info.getEffector().getEffectList().add(info);
|
||||
}
|
||||
|
||||
// Support for buff sharing feature.
|
||||
// Avoiding Servitor Share since it's implementation already "shares" the effect.
|
||||
if (addContinuousEffects && info.getEffected().isPlayer() && info.getEffected().hasServitor() && isContinuous() && !_isDebuff && (getId() != CommonSkill.SERVITOR_SHARE.getId()))
|
||||
{
|
||||
applyEffects(effector, info.getEffected().getSummon(), false, 0);
|
||||
}
|
||||
}
|
||||
|
||||
if (passive)
|
||||
|
Loading…
Reference in New Issue
Block a user