Da się to zrobić dosyć łatwo.
Wchodzisz do "_Work/Data/Scripts/Content/Story/NPC/Monsters" i otwierasz plik "MST_Golem.d".
Szukasz po kolei prototypów wszystkich golemów.
PROTOTYPE Mst_Default_StoneGolem(C_Npc) - dla kamiennego golema
Schodzisz do linijki "//----- Protections ----" i zmieniasz wartości obrony kamiennego golema. "protection [PROT_BLUNT]" odpowiada za obronę przeciwko broni obuchowej, ustawiasz ją na zero (albo ile tam chcesz). Całą resztę ustawiasz na "-1" - co wg Gothica oznacza całkowitą niewrażliwość. Teraz kamienne golemy będą niewrażliwe na każdy typ obrażeń poza bronią obuchową.
Robisz to samo dla ognistego golema i lodowego golema z tym, że im "protection [PROT_MAGIC]" ustawiasz na zero (czy ile tam chcesz) a resztę na "-1". (Dla lodowego golema "protection [PROT_FIRE]" też możesz dać na zero czy ile tam chcesz, żeby dostawał obrażenia jak jesteś np. przemieniony w ognistego jaszczura).
Teraz wchodzi do "_Work/Data/Scripts/Content/AI/Magic" i otwierasz plik "C_CanNpcCollideWithSpell.d"
Na samym początku funkcji "func int C_CanNpcCollideWithSpell(var int spellType)" wklejasz to:
if (self.guild == GIL_ICEGOLEM)
{
if (spellType == SPL_ChargeFireball)
|| (spellType == SPL_InstantFireball)
|| (spellType == SPL_Firebolt)
|| (spellType == SPL_Firestorm)
|| (spellType == SPL_Pyrokinesis)
|| (spellType == SPL_Deathbolt)
|| (spellType == SPL_Deathball)
{
return COLL_APPLYDAMAGE;
};
return COLL_DONOTHING;
};
Teraz lodowy golem nie otrzymuje żadnych obrażeń od broni i strzał (bo ustawiłeś mu niewrażliwość w jego prototypie), a także nie otrzyma żadnych obrażeń od zaklęć innych, niż wymienione w warunku (są to chyba wszystkie czary "ogniste"). To samo robisz dla ognistego golema, zmieniając gildię i zaklęcia w warunkach. WAŻNE jest, abyś te warunki powklejał na samym początku funkcji, inaczej nie będzie działać.