rendered paste bodyIndex: src/game/Creature.cpp
===================================================================
--- src/game/Creature.cpp (revision 5134)
+++ src/game/Creature.cpp (working copy)
@@ -1233,13 +1233,28 @@
SetUInt32Value(UNIT_FIELD_FLAGS,cinfo->Flags);
SetUInt32Value(UNIT_DYNAMIC_FLAGS,cinfo->dynamicflags);
+
SetModifierValue(UNIT_MOD_ARMOR, BASE_VALUE, float(cinfo->armor));
+ if (cinfo->armor == ULONG_MAX)
+ ApplySpellImmune(0, IMMUNITY_SCHOOL, IMMUNE_SCHOOL_PHYSICAL, true);
SetModifierValue(UNIT_MOD_RESISTANCE_HOLY, BASE_VALUE, float(cinfo->resistance1));
+ if (cinfo->resistance1 == ULONG_MAX)
+ ApplySpellImmune(0, IMMUNITY_SCHOOL, IMMUNE_SCHOOL_HOLY, true);
SetModifierValue(UNIT_MOD_RESISTANCE_FIRE, BASE_VALUE, float(cinfo->resistance2));
+ if (cinfo->resistance2 == ULONG_MAX)
+ ApplySpellImmune(0, IMMUNITY_SCHOOL, IMMUNE_SCHOOL_FIRE, true);
SetModifierValue(UNIT_MOD_RESISTANCE_NATURE, BASE_VALUE, float(cinfo->resistance3));
+ if (cinfo->resistance3 == ULONG_MAX)
+ ApplySpellImmune(0, IMMUNITY_SCHOOL, IMMUNE_SCHOOL_NATURE, true);
SetModifierValue(UNIT_MOD_RESISTANCE_FROST, BASE_VALUE, float(cinfo->resistance4));
+ if (cinfo->resistance4 == ULONG_MAX)
+ ApplySpellImmune(0, IMMUNITY_SCHOOL, IMMUNE_SCHOOL_FROST, true);
SetModifierValue(UNIT_MOD_RESISTANCE_SHADOW, BASE_VALUE, float(cinfo->resistance5));
+ if (cinfo->resistance5 == ULONG_MAX)
+ ApplySpellImmune(0, IMMUNITY_SCHOOL, IMMUNE_SCHOOL_SHADOW, true);
SetModifierValue(UNIT_MOD_RESISTANCE_ARCANE, BASE_VALUE, float(cinfo->resistance6));
+ if (cinfo->resistance6 == ULONG_MAX)
+ ApplySpellImmune(0, IMMUNITY_SCHOOL, IMMUNE_SCHOOL_ARCANE, true);
SetCanModifyStats(true);
UpdateAllStats();