Связанная тема: https://minecraft.guild-bt.ru/commu...agicshield-moda-ars-magica-2-na-servere.8102/
...
Да manaShield применяется до брони и никак её не учитывает, но речь ВООБЩЕ не этом
В коде:
<Первый блок не содержит упоминания magicShield вообще>
Ну вот уже не ликаниты, кроме защ. харак-к брони нет различий.
Ещё один тест.
Источник урона: Заклинание Self | Fire Damage
Уровень игрока: 99. Т. е. базовый урон от fire damage(6) домножается ровно на 2. 6x2=12
Cингл
Ничего: 12
Щит: 3
Броня мага: 6
Щит+Броня: 3
Мультиплеер(Броня мага, по-видимому даёт 20% защиты)
Ничего: 12
Щит: 12
Броня мага: 9,7
Щит+Броня: 11,9
Я и не говорил, что добавляетКод:
накладывает ЭФФЕКТ( Magic Shield (buff) на кастера. никакой брони не добавляет и не может этого делать. в коде такого не прописано. ни в сингле. ни на сервере.
Casting Mode is a mechanic in Ars Magica 2 (AM2) present in versions 1.2 and earlier (replaced by Spell Groups).длительность эффекта зависит от кастинг-мода игрока.
...
Не обязательно. Наличие magicShield, например, просто умножает урон цели на число. Никакие "существующие параметры игрока" при этом не менялись.эффект: это такая штука на игроке, которая изменяет существующий параметр игрока.
Вы меня читали? Мы обсуждаем magicShield, а не manaShield какая мана, о чём речь вообще?Так же, данный щит принимает урон в существующую на вашем персонаже в данный момент ману. Маны нет - нет защиты.
Мобы ликанитов НЕ бьют в ману, им плевать на вашу ману. Они бьют в броню, которая у вас равна нулю, потому что на энтити не может быть двух одинаковых эффектов.
Да manaShield применяется до брони и никак её не учитывает, но речь ВООБЩЕ не этом
...Данный бафф имеет смысл использовать только БЕЗ брони вообще, ЛИБО на броню, которая дает ДРУГИЕ эффекты. Любые другие, кроме брони. ЛИБО учитывать, что ваша броня во время действия этого баффа равна нулю.
Вы читали? Какой вообще смысл использовать Shield, ещё раз?Без брони: 12,4
Под эффектом "Magic Shield", без брони: 12,4
Вы, видимо, недодали ещё кусок кода с конечным расчётом урона на сервере. Из того, что вы мне дали:в коде:
Повышает бафф брони цели (если у цели есть броня, когда броня равна 0 = повышение соответственно равно 0).
Снижает входящий физический и магический (ars magica!) стандартный урон на кол-во брони. Если броня равна 0 = снижение равно 0.
Согласно физике майнкрафта, как эффект, СНИМАЕТ наличие всех других аналогичных эффектов, заменяя собой.
В данном случае, берет вашу надетую вами броню, и заменяет ее собой на длительность своего эффекта.
Никак не влияет на бронюПовышает бафф брони цели (если у цели есть броня, когда броня равна 0 = повышение соответственно равно 0).
Стандартный урон, да снижает, но применятся до брони. Т.е. наличие/отсутствие брони не играет никакой роли. Снижение должно быть в любом случаеСнижает входящий физический и магический (ars magica!) стандартный урон на кол-во брони. Если броня равна 0 = снижение равно 0.
Броня не является эффектомСогласно физике майнкрафта, как эффект, СНИМАЕТ наличие всех других аналогичных эффектов, заменяя собой.
В данном случае, берет вашу надетую вами броню, и заменяет ее собой на длительность своего эффекта.
В коде:
<Первый блок не содержит упоминания magicShield вообще>
Собственно, почему я говорил про сингл, именно поэтому: код там как раз и выполняется: Урон домножается на 0,25. На сервере - нет.Код:
@SubscribeEvent
public void onEntityHurt(LivingHurtEvent event)
{
if (<...>)//Я не ношу fireEars, не выполнится
event.setCanceled(true);
else
{
if (event.entityLiving.isPotionActive(BuffList.magicShield)) //Весь входящий урон домножается на 0,25. ВСЁ.
event.ammount *= 0.25F;
if (event.entityLiving.isPotionActive(BuffList.manaShield))//Нет manaShield, не выполнится
{...}
Entity entitySource = event.source.getSourceOfDamage();
if (<...>) //Я не ношу earthGuardianArmor,не выполнится
{...}
if (HURT_PROCESSING_ENTITIES.add(ent))
{
//У меня нет "Contingency: Damage" и "Contingency: Health" заклинаний, не выполнится
}
//У меня нет "fury" и "shrink" заклинаний, но я уверен, что они сработают также криво.
if (ent.isPotionActive(BuffList.fury.id))
event.ammount /= 2.0F;
if (entitySource instanceof EntityLivingBase && ((EntityLivingBase) entitySource).isPotionActive(BuffList.shrink))
event.ammount /= 2.0F;
}
}
Сейчас включу креатив на сервере, и проверю, как надо... вы серьёзно? Не стоит доверять тестам в сингле, но уж точно не стоит не тестить в сингле вообще. Или это предложение на каждое действие, задавать вопросы? Их тогда с тысячу накопится...Так же, не стоит тестировать в сингле. Либо Вам нужно в сингл добыть точно таких же мобов. С точно такими же параметрами.
Что невозможно, так как сингл и моды на нем установленные этого просто не поддерживают.
Ну вот уже не ликаниты, кроме защ. харак-к брони нет различий.
Ещё один тест.
Источник урона: Заклинание Self | Fire Damage
Уровень игрока: 99. Т. е. базовый урон от fire damage(6) домножается ровно на 2. 6x2=12
Cингл
Ничего: 12
Щит: 3
Броня мага: 6
Щит+Броня: 3
Мультиплеер(Броня мага, по-видимому даёт 20% защиты)
Ничего: 12
Щит: 12
Броня мага: 9,7
Щит+Броня: 11,9