SarkBall
Class SarkBallHandAxe

source: c:\runehov\SarkBall\Classes\SarkBallHandAxe.uc
Core.Object
   |
   +--Engine.Actor
      |
      +--Engine.Inventory
         |
         +--Engine.Weapon
            |
            +--RuneI.Axe
               |
               +--RuneI.HandAxe
                  |
                  +--SarkBall.SarkBallHandAxe
Direct Known Subclasses:None

class SarkBallHandAxe
extends RuneI.HandAxe

//----------------------------------------------------------- // //-----------------------------------------------------------
Variables
 Pawn Thrower

States
Active, BringItBack, Throw
State Active Function Summary
 void EndState()
 void BeginState()


State BringItBack Function Summary


State Throw Function Summary
 void Touch(Actor Other)
 void EndState()
 void BeginState()



Source Code


00001	//-----------------------------------------------------------
00002	//
00003	//-----------------------------------------------------------
00004	class SarkBallHandAxe expands handaxe;
00005	
00006	Var Pawn Thrower;
00007	
00008	
00009	State Throw{
00010	  Function BeginState(){
00011	    //BroadcastMessage("BeginThrow",True);
00012	    Thrower=Pawn(Owner);
00013	
00014	    Super.BeginState();
00015	    //SetCollision(true,true,true);
00016	
00017	  }
00018	
00019	
00020	  Function EndState(){
00021	    //BroadcastMessage("EndThrow",True);
00022	    Super.EndState();
00023	    GotoState('BringItBack','ComeBack');
00024	
00025	  }
00026	
00027	  function Touch(Actor Other){
00028	    If (Other.ISA('Pawn')){
00029	      If (Pawn(Other).PlayerReplicationInfo.Team!=Thrower.PlayerReplicationInfo.Team){
00030	        //BroadcastMessage("SarkBallHandAxe_Touch_Enemy:"$Other.Name,True);
00031	      }else{
00032	        //BroadcastMessage("SarkBallHandAxe_Touch_Friend:"$Other.Name,True);
00033	        If (Other.Name==Thrower.Name){
00034	          //BroadcastMessage("Skipping it on thrower",True);
00035	          Return;
00036	        }
00037	      }
00038	    }else{
00039	      //BroadcastMessage("SarkBallHandAxe_Touch:"$Other.Name,True);
00040	    }
00041	    //Log("SarkBallBot_Touch_State:"$Other.GetStateName());
00042	    Super.Touch(Other);
00043	    //Log("SarkBallBot_AfterTouch:"$Other.Name);
00044	}
00045	
00046	}
00047	
00048	State BringItBack{
00049	
00050	
00051	ComeBack:
00052	  //BroadcastMessage("Before back",True);
00053	  //Sleep(0.4);
00054	  //BroadcastMessage("Coming back",True);
00055	  Thrower.AddInventory(self);
00056	    Thrower.AcquireInventory(self);
00057	    Thrower.Weapon = self;
00058	    Thrower=None;
00059	    GotoState('Active');
00060	
00061	
00062	}
00063	
00064	State Active{
00065	  Function BeginState(){
00066	    //BroadcastMessage("BeginActive",True);
00067	    Super.BeginState();
00068	    //BroadcastMessage("Team:"$Pawn(Owner).PlayerReplicationInfo.Team,True);
00069	    DesiredColorAdjust = SarkBallGame(level.game).GetTeamVectorColor(Pawn(Owner).PlayerReplicationInfo.Team);
00070	  }
00071	
00072	
00073	  Function EndState(){
00074	    //BroadcastMessage("EndActive",True);
00075	    Super.EndState();
00076	
00077	  }
00078	
00079	
00080	
00081	}
00082	
00083	defaultproperties
00084	{
00085	    AmbientGlow=208
00086	}

End Source Code