Назад

Golden Thief Bug(ГТБ)

Автор: rura: Дата: 06.29.2011

Я хочу зделать чтобы ГТБ резало магическую атаку и при этом по нем не проходили статусы такие как кома фриз диспель... у меня ГТБ прописано

4128,Golden_Bug_Card,Golden Thief Bug Card,6,20,,10,,,,,,,,32,,,,,{ bonus bNoMagicDamage,65; bonus bUseSPrate,100; },{},{}

Кома не проходит, но клоуны кидают диспел, как это профиксить?

Автор: Alort: Дата: 06.29.2011

Кома и диспелл и так по дефолту не накладываются на носителя гтб, конечно если защита от магии стоит 50+ %, но если ставить меньший % защиты от магии, то придется кое-где мелочь 1 изменить, ну а фриз легко дописать да, +1 nomn.

Автор: rura: Дата: 07.01.2011

читай внемательно у меня стоит 65% от магий и проходит диспел.
nomn, можете написать проверку думаю людям это тоже пригодится)

Автор: Less: Дата: 07.01.2011

bonus bNoMagicDamage,65;

если я правильно помню, то такая реализация режет не магическую атаку, а шанс прохождения магии.
Хотя могу ошибаться.

Автор: rura: Дата: 07.03.2011

тогда как мне прописать гтб, чтобы статусы не проходили полностью по нему??? а скилы резались по нему, чтобы нормально было)

Автор: Fox[RM]: Дата: 07.03.2011

заходишь в src/map/status.c

Ищешь..

	//Status that are blocked by Golden Thief Bug card or Wand of Hermod
if (status_isimmune(bl))
switch (type)
{


После... вставляешь

case SA_DISPELL:
case CG_TAROTCARD:



... Пробуй

Автор: kadze: Дата: 07.03.2011

status.c

//Status that are blocked by Golden Thief Bug card or Wand of Hermod
if (status_isimmune(bl))
switch (type)
{
case SC_DECREASEAGI:
case SC_SILENCE:
case SC_COMA:
case SC_INCREASEAGI:
case SC_BLESSING:
case SC_SLOWPOISON:
case SC_IMPOSITIO:
case SC_AETERNA:
case SC_SUFFRAGIUM:
case SC_BENEDICTIO:
case SC_PROVIDENCE:
case SC_KYRIE:
case SC_ASSUMPTIO:
case SC_ANGELUS:
case SC_MAGNIFICAT:
case SC_GLORIA:
case SC_WINDWALK:
case SC_MAGICROD:
case SC_HALLUCINATION:
case SC_STONE:
case SC_QUAGMIRE:
case SC_SUITON:
case SC_FREEZE:
return 0;
}


добавляй нужное тебе.

Автор: rura: Дата: 07.03.2011

если я допишу case SC_DISPELL: оно не заработает потому что таро берет код:

case 2:	// all buffs removed
status_change_clear_buffs(bl,1);
break;

как прописать чтобы 3 карта комы диспелила например как
sc_start(bl,SC_INCMATKRATE,100,-50,skill_get_time2(skillid,skilllv));