YTDB

YTDB (http://ytdb.ru/index.php)
-   Патчи (http://ytdb.ru/forumdisplay.php?f=26)
-   -   Фикс Бага с СПД и еще 1 проблемой с поломкой шмота в 0 (http://ytdb.ru/showthread.php?t=1264)

Hummer 11.12.2009 14:15

Фикс Бага с СПД и еще 1 проблемой с поломкой шмота в 0
 
Вложений: 1
Так как нет тега HIDE -- как вопроизвести баг писать не буду ,просто дам патч ,а админы сами поймут для чего он . (Баг с СПД ,немеренной маной и т.д )

Код:

diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 77c2e8f..6a8dfe6 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -4406,9 +4406,9 @@ void Player::DurabilityPointsLoss(Item* item, int32 points)
    int32 pOldDurability = item->GetUInt32Value(ITEM_FIELD_DURABILITY);
    int32 pNewDurability = pOldDurability - points;
 
-    if (pNewDurability < 0)
-        pNewDurability = 0;
-    else if (pNewDurability > pMaxDurability)
+    if (pNewDurability < 1)
+        pNewDurability = 1;
+    if (pNewDurability > pMaxDurability)
        pNewDurability = pMaxDurability;
 
    if (pOldDurability != pNewDurability)


`win 11.12.2009 14:37

можно в личку описание как получить баг?

Hummer 11.12.2009 14:43

Цитата:

Сообщение от `win (Сообщение 4126)
можно в личку описание как получить баг?

выслал

`win 11.12.2009 16:12

А максимальное ХП можно получит таким багом? Проверьте пожалуйста кто нибудь

PS: вы уверены что баг не чисто визуальный?

Hummer 11.12.2009 16:14

ману пробовал -мона сколько угодно получить , СПД так же -сколько угодно ,там вроде бы все можно так сделать ,сам пробовал что написал выше.

`win 11.12.2009 18:28

интересует именно ХП, оно там чуток отдельно считается

Hummer 11.12.2009 18:37

Цитата:

Сообщение от `win (Сообщение 4181)
интересует именно ХП, оно там чуток отдельно считается

пробуй -все в твоих руках,для меня лично недопустимо когда маг 1 ганкает инст и боссов с 1 каста дамагой какой захочет.

`win 11.12.2009 18:50

пробуй пробуй :) лучше дайте информации побольше а я посмотрю что можно сделать. Заменять ломанность вещей - чистейший воды хак.

Mr.Grom 11.12.2009 19:02

можно в пм описание как получить баг?

Hummer 12.12.2009 21:19

Цитата:

Сообщение от `win (Сообщение 4190)
пробуй пробуй :) лучше дайте информации побольше а я посмотрю что можно сделать. Заменять ломанность вещей - чистейший воды хак.

да это хак ,но на игру он никак не влияет ,просто не разрешает ломать шмот в 0 и считает это 1 ,так как 0 ядро неправильно обрабатывает.Кстати на Тринити есть такой же баг (ветка Матье)

timmit 12.12.2009 22:07

Приняли уже в ядро в [8978] Fix wrongly apply weapon damage mods to broken weapon.

Vladimir 12.12.2009 23:49

Я бы сказал поправили, так как то что здесь предлагалось естесвеено не добавлялось, так просто вырубание поломки вещей.

timmit 13.12.2009 00:09

Ну я только высказал, что тема уже не имеет нужности )

YuruY 13.12.2009 00:23

НЕ корзиним, пусть в хистори ...

Hummer 17.12.2009 09:40

Цитата:

Берём Мета сокет http://www.wowhead.com/?item=41333 вставляем в tier5 шлем
и 3красных любых камня для меты в чест tier5, чест должен быть поломан то-есть 0/160
Дальше , одеваем чест
Дальше , снимаем чест
дальше , одеваем шлем
Дальше , снимаем шлем
И так до посинения.
Магам http://www.wowhead.com/?spell=31588
Хантам http://www.wowhead.com/?spell=34484
Палам http://www.wowhead.com/?spell=31841
Друидам http://www.wowhead.com/?spell=33590
Ещё я замечал баги у мили классов
к примеру любой мета на АП http://www.wowhead.com/?item=41381 вставляем в tier5 шлем
и вставляем в чест tier5 , 2жёлтых и 1 синий камушек
И повторяем выше написаное
...и самое забавное баг снова всплыл ...как убрал патч ...ветка Карателя Stable (Revision 8979)
Ценим ману...


P.S Тему открыл.

unlucky 18.12.2009 07:51

Подтверждаю 9014.

15a9c425 18.12.2009 10:44

Вложений: 1
Несовсем под манос ,но всеже.

Mr.Grom 18.12.2009 16:16

Тестим
PHP код:

diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 441db45
..39190a5 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -6684,36 +6684,39 @@ void Player::DuelComplete(DuelCompleteType type)
 
 
void Player::_ApplyItemMods(Item *itemuint8 slot,bool apply)
 {
-    if(
slot >= INVENTORY_SLOT_BAG_END || !item)
-        return;
-
-    
// not apply/remove mods for broken item
-    if(item->IsBroken())
+    if (
slot >= INVENTORY_SLOT_BAG_END || !item)
         return;
 
     
ItemPrototype const *proto item->GetProto();
-
-    if(!
proto)
+    if (!
proto)
         return;
 
-    
sLog.outDetail("applying mods for item %u ",item->GetGUIDLow());
+    
// not apply/remove mods for broken item
+    if (!item->IsBroken())
+    {
+        
sLog.outDetail("applying mods for item %u ",item->GetGUIDLow());
+        
uint8 attacktype Player::GetAttackBySlot(slot);
 
-    
uint32 attacktype Player::GetAttackBySlot(slot);
-    if(
attacktype MAX_ATTACK)
-        
_ApplyWeaponDependentAuraMods(item,WeaponAttackType(attacktype),apply);
+        
//check disarm only on mod apply to allow remove item mods
+        /*if (!CanUseAttackType(attacktype))
+            return;*/
+        if (attacktype MAX_ATTACK)
+            
_ApplyWeaponDependentAuraMods(item,WeaponAttackType(attacktype),apply);
 
-    
_ApplyItemBonuses(proto,slot,apply);
+            
_ApplyItemBonuses(proto,slot,apply);
 
-    if( 
slot==EQUIPMENT_SLOT_RANGED )
-        
_ApplyAmmoBonuses();
+        if (
slot==EQUIPMENT_SLOT_RANGED)
+            
_ApplyAmmoBonuses();
 
-    
ApplyItemEquipSpell(item,apply);
-    
ApplyEnchantment(itemapply);
+        
ApplyItemEquipSpell(item,apply);
+        
ApplyEnchantment(itemapply);
+
+        
sLog.outDebug("_ApplyItemMods complete.");
+    }
 
-    if(
proto->Socket***91;0***93;.Color)                              //only (un)equipping of items with sockets can influence metagems, so no need to waste time with normal items
+    if (proto->Socket***91;0***93;.Color)                              //only (un)equipping of items with sockets can influence metagems, so no need to waste time with normal items
         
CorrectMetaGemEnchants(slotapply);
 
-    
sLog.outDebug("_ApplyItemMods complete.");
 }
 
 
void Player::_ApplyItemBonuses(ItemPrototype const *protouint8 slotbool applybool only_level_scale /*= false*/

Поправил. ;)

zergtmn 18.12.2009 16:56

Вместо
Код:

+    if (item->IsBroken())
должно быть
Код:

+    if (!item->IsBroken())

ChaosBUG 21.12.2009 19:54

На 9042 стак статов по-прежнему работает.

waza123 20.01.2010 17:41

У многих игроков осталась браня с Durability=0 , и они до сех пор используют баг.

Есть решение ?

zergtmn 20.01.2010 17:50

Смотри в статистике "самый сильный удар"... У кого несколько миллионов - можно банить

FreeBSD 20.01.2010 21:36

на фане можно убрать поломку вещей одним запросом и бага - нет.

Tiranil 21.01.2010 15:20

это каким таким запросом? все в героик конвертнуть?

`win 31.01.2010 20:17

http://code.google.com/p/trinitycore...0da6ed9528357b
в тринити приняли свой вариант

NeatElves 31.01.2010 21:04

Свой ли..))
http://getmangos.com/community/showt...etaGemEnchants
вот еще вариант
http://getmangos.com/community/showt...eta-Socket-Bug

FreeBSD 01.02.2010 16:52

Цитата:

Сообщение от Tiranil (Сообщение 9090)
это каким таким запросом? все в героик конвертнуть?

нет, просто убрать у всех вещей поломки. чтоб все по нулям было.

Green 09.02.2010 08:41

Получается баг только в форке карателя присутствует?
По данным на 4 февраля этот баг не искоренен на сборках с исходников карателя.


Текущее время: 18:18. Часовой пояс GMT +4.

YTDB - MaNGOS DataBase