Fix "Морской Конёк, дикий гриб"
Морской конёк При прибывании в воде - аура спадает. Фикс ниже Code
diff -r b863fb1ab9ef src/server/game/Spells/Spell.cpp --- a/src/server/game/Spells/Spell.cpp Sun Dec 04 20:10:25 2011 +0200 +++ b/src/server/game/Spells/Spell.cpp Sun Dec 04 20:10:54 2011 +0200 @@ -5335,7 +5335,7 @@ } case SPELL_AURA_MOUNTED: { - if (m_caster->IsInWater()) + if (m_caster->IsInWater() && m_spellInfo->Id != 75207) return SPELL_FAILED_ONLY_ABOVEWATER; // Ignore map check if spell have AreaId. AreaId already checked and this prevent special mount spells
Добавлено (05.12.2011, 10:37) --------------------------------------------- Исправление: Дикий гриб, взрыв диких грибов. Выкладывая этот патч, надеюсь, что кто-нибудь поделится своими наработками. Патч в ядро.
# HG changeset patch # User matovkin@matovkin-PC # Date 1322387725 -7200 # Node ID 6a5969b545312c5b3d50828e424005c08f8cb86d # Parent a79c983b043b1b487bbf7c760bf51a7f93ae29c2 Исправлен Дикий гриб, взрыв диких грибов diff -r a79c983b043b -r 6a5969b54531 src/server/game/Entities/Creature/TemporarySummon.cpp --- a/src/server/game/Entities/Creature/TemporarySummon.cpp Fri Nov 25 14:11:40 2011 +0200 +++ b/src/server/game/Entities/Creature/TemporarySummon.cpp Sun Nov 27 11:55:25 2011 +0200 @@ -196,7 +196,7 @@ { if (uint32 slot = m_Properties->Slot) { - if (owner->m_SummonSlot[slot] && owner->m_SummonSlot[slot] != GetGUID()) + if (m_Properties->Slot != uint32(-1) && owner->m_SummonSlot[slot] && owner->m_SummonSlot[slot] != GetGUID()) { Creature *oldSummon = GetMap()->GetCreature(owner->m_SummonSlot[slot]); if (oldSummon && oldSummon->isSummon()) diff -r a79c983b043b -r 6a5969b54531 src/server/game/Spells/SpellEffects.cpp --- a/src/server/game/Spells/SpellEffects.cpp Fri Nov 25 14:11:40 2011 +0200 +++ b/src/server/game/Spells/SpellEffects.cpp Sun Nov 27 11:55:25 2011 +0200 @@ -1884,6 +1884,16 @@ break; } } + // Wild Mushroom: Detonate + case 88751: + { + for (Unit::ControlList::iterator itr = m_caster->m_Controlled.begin(); itr != m_caster->m_Controlled.end(); ++itr) + if ((*itr)->GetEntry() == 47649) + { + m_caster->CastSpell((*itr), 78777, true); + (*itr)->ToTempSummon()->InitStats(500); // timed despawn lol + } + } break; } case SPELLFAMILY_PALADIN: @@ -8074,6 +8084,21 @@ case 1122: // Inferno amount = 1; break; + case 88747: // Wild Mushroom + { + int8 count = 0; + for (Unit::ControlList::iterator itr = m_caster->m_Controlled.begin(); itr != m_caster->m_Controlled.end(); ++itr) + if ((*itr)->GetEntry() == entry) + { + if (++count == 3) + { + (*itr)->ToTempSummon()->UnSummon(); + break; + } + } + amount = 1; + break; + } case 49028: // Dancing Rune Weapon if (AuraEffect *aurEff = m_originalCaster->GetAuraEffect(63330, 0)) // glyph of Dancing Rune Weapon duration += aurEff->GetAmount(); @@ -8110,6 +8135,11 @@ else summon->SetDisplayId(1126); } + else if (m_spellInfo->Id == 88747) // Wild Mushroom + { + summon->SetMaxHealth(5); + summon->SetHealth(5); + } else if (summon->GetEntry() == 1964) // Force of Nature if (AuraEffect * aurEff = m_caster->GetAuraEffectOfRankedSpell(16836, 2)) { diff -r a79c983b043b -r 6a5969b54531 src/server/game/Spells/SpellMgr.cpp --- a/src/server/game/Spells/SpellMgr.cpp Fri Nov 25 14:11:40 2011 +0200 +++ b/src/server/game/Spells/SpellMgr.cpp Sun Nov 27 11:55:25 2011 +0200 @@ -4757,6 +4757,8 @@ properties->Type = SUMMON_TYPE_TOTEM; properties = const_cast<SummonPropertiesEntry*>(sSummonPropertiesStore.LookupEntry(3002)); // 46157 properties->Type = SUMMON_TYPE_TOTEM; + properties = const_cast<SummonPropertiesEntry*>(sSummonPropertiesStore.LookupEntry(3069)); // Wild Mushrooms + properties->Type = SUMMON_TYPE_GUARDIAN; CreatureAI::FillAISpellInfo(); diff -r a79c983b043b -r 6a5969b54531 src/server/scripts/World/npcs_special.cpp --- a/src/server/scripts/World/npcs_special.cpp Fri Nov 25 14:11:40 2011 +0200 +++ b/src/server/scripts/World/npcs_special.cpp Sun Nov 27 11:55:25 2011 +0200 @@ -2984,7 +2984,45 @@ return new npc_flame_orbAI(creature); } }; - +/*###### +# npc_mushroom +######*/ + +class npc_mushroom : public CreatureScript +{ + public: + npc_mushroom() : CreatureScript("npc_mushroom") { } + + struct npc_mushroomAI : CasterAI + { + npc_mushroomAI(Creature *c) : CasterAI© {} + + uint32 InvisibleTimer; + + void Reset() + { + InvisibleTimer = 6000; + } + + void UpdateAI(const uint32 diff) + { + if (InvisibleTimer > 0) + { + if (InvisibleTimer < diff) + me->CastSpell(me, 92661, true); + + InvisibleTimer -= diff; + return; + } + CasterAI::UpdateAI(diff); + } + }; + + CreatureAI *GetAI(Creature *creature) const + { + return new npc_mushroomAI(creature); + } +}; void AddSC_npcs_special() { new npc_air_force_bots; @@ -3018,4 +3056,5 @@ new npc_ring_of_frost; new npc_flame_orb; new npc_power_word_barrier; + new npc_mushroom; }
Sql в базу- скрипт на грибы и Dark Simulacrum
DELETE FROM `spell_proc_event` WHERE `entry` IN (35110); INSERT INTO `spell_proc_event` VALUES (35110, 0x00, 0x09, 0x00001000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0, 100, 0); INSERT INTO `spell_linked_spell` (`spell_trigger`, `spell_effect`, `comment`) VALUES ('-77616', '-94984', 'Dark Simulacrum removal spd'); UPDATE `creature_template` SET `unit_flags` = 4, `ScriptName` = 'npc_mushroom' WHERE `entry` = 47649;
Патч в ядро: Прошу заметить, что если я увижу свои наработки с вашими копирайтами, я сильно обижусь и больше моей работы вы здесь не увидите. Добавлено (05.12.2011, 11:19) --------------------------------------------- Spell.cpp - Подрезать сухожилия Добавлено (15.12.2011, 18:52) --------------------------------------------- Сделаю любой фикс, пишите в icq или в лс.
Сообщение #
1 отредактировано
INFERNOS -
Понедельник, 28.05.2012, 07:04
спасибо за привки, пойду компилить, автору +, жду еще правок!
Сообщение #
2 отредактировано
Luck -
Среда, 28.12.2011, 20:32
Остальные правки на самом скайфаере, в русском разделе.
Сообщение #
3 написано 28.12.2011 в 20:43
Сообщение #
4 написано 28.12.2011 в 20:47
где-то я уже это видел Только не на этом форуме Ps правда не все
Сообщение #
5 отредактировано
po4emy4ka -
Пятница, 06.01.2012, 01:02
Очень хорошо,молодец автор!Жду ещё работ...
Есть приват ЛК.
Недорогие и стабильные VDS сервера от LoadCore.ru
Сообщение #
6 написано 06.01.2012 в 23:41
Quote (matovkin )
Остальные правки на самом скайфаере, в русском разделе.
дай ссылку пожалуйста.
Сообщение #
7 написано 07.01.2012 в 17:37
Да его там опустили по полной. Правка на конёк не его, грибы не работают и крашат.
▲ ▲ ▲ Ставь минус, если мужик. P ROBLEM ?
Сообщение #
8 написано 07.01.2012 в 18:12
Люди, которые пытались там, как говорится" понтанутся" обычные троли, я не знал, что исправление на конька уже было, так как в репозитории его нету. Грибы крашили, потому что взял уже патч отсюда и вставил туда, форум жп переделал (С) в копирайты.
Сообщение #
9 написано 07.01.2012 в 18:54
Сообщение #
10 написано 31.01.2012 в 12:29
лол, здесь вообще нет не 1 правки от автора
Сообщение #
11 написано 22.06.2012 в 22:31