Kategorie: Objekte
/ Status
Ab Engineversion: 4.9.6.0 CR
// Globaler Aufruf, wenn ein Zauber erfolgreich war: Magie trainieren global func OnClonkSucceededSpell(id idSpell, object pClonk) { if (!pClonk) if (!(pClonk = this())) return(_inherited(idSpell)); // Zauberkraft trainieren (plus 1/10 des Zauberwerts) if (!ObjectCount(NMGE)) { var iMaxTrain, idInfo; // Maximales Training bei Infoobjekten: Nach Ursprungsdefinition richten if (idInfo = GetObjectInfoCoreVal("id", "ObjectInfo", pClonk)) iMaxTrain = idInfo->~MaxMagicPhysical(); // Infodefinition hat kein MaxMagicPhysical (d.h., kein Zauberclonk) oder kein Infoobjekt vorhanden: // Training wird eh nicht permanent gesichert; nach aktueller Definition richten if (!iMaxTrain) iMaxTrain = pClonk->~MaxMagicPhysical(); // Trainieren TrainPhysical("Magic", Value(idSpell)/MCLK_ManaTrainRate, iMaxTrain, pClonk); } // Gegebenenfalls weitere Hooks erlauben return (_inherited(idSpell, pClonk)); }