Legacy:MutTutorial Code/Source Code

From Unreal Wiki, The Unreal Engine Documentation Site

Unchanged Source Code block from MutTutorial.

<uscript> Class MutTutorial extends mutator;

//creates a new class for your mutator and makes it an extension of the mutator class. //This makes it so it follows all the rules a mutator does.

Var() int XMultiJump, XBoost, XHealth;

// The var keyword prefixes a variable declaration. // A variable declaration tells the engine what information this // object needs to store and what kind of information it is. // The type of information in this declaration is int, short // for integer. An integer is a whole number, either positive // or negative.

// The () puts these variables in a group and makes them // visible in UnrealEds property browser. Since this is a // mutator and likely won't be placed in a map, the () is // probrably unnecessary.

Function Modifyplayer(pawn other)

//A function (set of actions, in the case of Uscript often predefined) that will modify the avatars/bots (pawns). // Other is a variable that stores a reference to the player // that we are modifying. The function uses this information // to find the player amidst all the other things in the game // world. //I am using modify player because I want to change the properties of a player, in this case the MultiJumping power.

{

  // Local is just like the Var keyword - it tells the engine
  // that we need to store some information, and what type of
  // information to store. However, Local declarations go away
  // at the end of the function, while Var ones stay around
  // until this object is destroyed. (Since it's a mutator,
  // it will be destroyed when the level changes.)
  Local Xpawn x; //Xpawn = changeable guy
  // This stores the information we had in Other, in X as well.
  // We cast Other to an xPawn (which is what X is) because an
  // xPawn is a type of Pawn. (which is what Other is) Since
  // every xPawn is a Pawn, but not all Pawns are xPawns, we
  // have to tell the engine that the Pawn in Other is actually
  // an xPawn.
  X = xPawn(other);
  
  // Now we check to see if X holds valid information or not.
  // If it was a reference to a player that didn't actually
  // exist, or if the statement before this one (where we told
  // the engine that our Pawn (Other) was an xPawn turned out
  // to be untrue, then X might not hold valid information.
  // Most of the time it will hold valid information, but this
  // line checks just to be sure.
  if (X != None)
  {
     // Make X's MaxMultiJump equal to XMultiJump etc.
     X.MaxMultiJump = XMultiJump;
     X.MultiJumpBoost = XBoost;
     X.Health = XHealth;
  }

}

defaultproperties {

  GroupName="MutTutorial"
  FriendlyName="Mutation Tutorial" //Important, this is what will display in the game when you are selecting Mutators.
  Description="Changes your health and MultiJumping ability"
  XMultiJump=10
  XBoost=50
  XHealth=250

} </uscript>