Rivage brise 1460 : UNIT_FLAG2_UNK5 rendait les demons inattaquables

Signale en jeu, nommement : Gangreseigneur Rakkan, Legionnaire
gangregarde, Molosse de l effroi gangrene. Et l observation decisive :
« les demons inattaquables se battent avec les demons attaquables ».

LA CAUSE EST DE MON FAIT. La transposition des modeles a importe
unit_flags2 sur 147 entrees. Ces creatures valaient 0 avant ; elles ont
recu 2097152, soit 0x200000 -- UNIT_FLAG2_UNK5.

CE DRAPEAU EST PARTICULIER : notre serveur l IGNORE totalement, aucune
de ses verifications ne le consulte. Le client, lui, l interprete et
refuse de designer la creature comme cible.

C est ce qui explique le symptome le plus deroutant de la serie : la
sonde posee dans _IsValidAttackTarget n a JAMAIS produit la moindre
ligne pour ces creatures. Le client refusait de lui-meme, sans jamais
interroger le serveur. L ABSENCE DE TRACE ETAIT L INFORMATION -- j ai
mis trois tours a la lire comme telle.

CORRELATION QUI TRANCHE :
  demons INVOQUES (attaquables) : unit_flags2 = 0
  demons STATIQUES (bloques)    : bit 0x200000 present
  67 entrees, 420 spawns.

Seul ce bit est retire, le reste de la colonne est preserve. Le serveur
ne s en sert pas : le retrait ne peut rien casser cote logique.

Egalement dans ce lot, deux sondes conservees le temps de la validation :
ATTDBG (recentree sur les factions 2780/1768) et SPAWNDBG (etat reel des
creatures a leur creation). Deux divergences d API relevees au passage :
getFaction() et getLevel(), en minuscule dans ce fork.

Retour arriere joint.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
SylvaniaCore deploy
2026-08-30 22:51:16 +02:00
parent 995122dc78
commit 5408eae697
4 changed files with 141 additions and 3 deletions
@@ -0,0 +1,67 @@
UPDATE `creature_template` SET `unit_flags2`=2097152 WHERE `entry`=90686;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=97525;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=112920;
UPDATE `creature_template` SET `unit_flags2`=2097152 WHERE `entry`=100959;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=97527;
UPDATE `creature_template` SET `unit_flags2`=2099201 WHERE `entry`=112977;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=113054;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=113055;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=102706;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=113058;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=97528;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=94191;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=113056;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=113057;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=113053;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=94190;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=94189;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=91970;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=102701;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=113059;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=105217;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=110941;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=94223;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=97502;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=102698;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=91949;
UPDATE `creature_template` SET `unit_flags2`=2099201 WHERE `entry`=92122;
UPDATE `creature_template` SET `unit_flags2`=2099201 WHERE `entry`=97503;
UPDATE `creature_template` SET `unit_flags2`=2097152 WHERE `entry`=92121;
UPDATE `creature_template` SET `unit_flags2`=2099201 WHERE `entry`=94209;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=110615;
UPDATE `creature_template` SET `unit_flags2`=2099201 WHERE `entry`=97526;
UPDATE `creature_template` SET `unit_flags2`=2099201 WHERE `entry`=113290;
UPDATE `creature_template` SET `unit_flags2`=2099201 WHERE `entry`=108990;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=112921;
UPDATE `creature_template` SET `unit_flags2`=2099201 WHERE `entry`=97521;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=93704;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=110614;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=102704;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=102703;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=102705;
UPDATE `creature_template` SET `unit_flags2`=2097152 WHERE `entry`=109591;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=113036;
UPDATE `creature_template` SET `unit_flags2`=2097152 WHERE `entry`=109604;
UPDATE `creature_template` SET `unit_flags2`=2097152 WHERE `entry`=109592;
UPDATE `creature_template` SET `unit_flags2`=2099201 WHERE `entry`=113291;
UPDATE `creature_template` SET `unit_flags2`=2131968 WHERE `entry`=113038;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=90711;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=90712;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=90708;
UPDATE `creature_template` SET `unit_flags2`=2131968 WHERE `entry`=91588;
UPDATE `creature_template` SET `unit_flags2`=2131968 WHERE `entry`=109587;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=91353;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=97486;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=92586;
UPDATE `creature_template` SET `unit_flags2`=2113536 WHERE `entry`=92061;
UPDATE `creature_template` SET `unit_flags2`=2131968 WHERE `entry`=109586;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=101056;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=90714;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=93219;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=90710;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=97496;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=101057;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=90717;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=90705;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=90713;
UPDATE `creature_template` SET `unit_flags2`=2099200 WHERE `entry`=90709;