class Mut extends Mutator config(KFPatcher); //============================================================================= struct FunctionRecord { var config string Info, Replace, With; }; var config array List; //============================================================================= event PreBeginPlay() { super.PreBeginPlay(); // temp hack fix for tosscahs! class'stub_Pawn'.default.cashtimer = 0.0f; // replacing vanilla functions with ours ReplaceFunctions(); } final function ReplaceFunctions() { local uFunction A, B; local int i; for (i = 0; i < List.Length; i++) { // This removes the need to declare variables for every new class we make. DynamicLoadObject(class.outer.name $ "." $ Left(List[i].With,InStr(List[i].With,".")), class'class', true); A = class'UFunction'.static.CastFunction(FindObject(List[i].Replace, class'function')); B = class'UFunction'.static.CastFunction(FindObject(List[i].With, class'function')); if (A == none) { log("> Failed to process " $ List[i].Replace); continue; } if (B == none) { log("> Failed to process " $ List[i].With); continue; } A.Script = B.Script; log("> Processing: " $ List[i].Replace $ " ----> " $ List[i].With); } } //============================================================================= defaultproperties{}