XIII
Class LockPick

source: C:\XIII\XIII\Classes\LockPick.uc
Core.Object
   |
   +--Engine.Actor
      |
      +--Engine.Inventory
         |
         +--Engine.Powerups
            |
            +--XIII.XIIIItems
               |
               +--XIII.Keys
                  |
                  +--XIII.LockPick
Direct Known Subclasses:None

class LockPick
extends XIII.Keys

//----------------------------------------------------------- // //-----------------------------------------------------------
States
UsingEnd, idle, InUse
State UsingEnd Function Summary
 void PlayUsingEnd()
     
//_____________________________________________________________________________
 void PlayUsing()
     
//_____________________________________________________________________________


State idle Function Summary


State InUse Function Summary
 void Tick(float dT)
     
 {}

    simulated Event AnimEnd(int Channel)
    {
      if ( bChangeItem )
      {
        XIIIPlayerController(XIIIpawn(Owner).controller).CancelPickLock();
        GotoState('DownItem');
        return;
      }
      if ( !bPicking )
      {
        bPicking = true;
        UseMe();
        enable('tick');
      }
      PlayUsing();
    }

    
 void Activate()
     
{
    event BeginState()
    {
      PlayUsing();
      disable('Tick');
    }

    event EndState()
    {
      bPicking = false;
    }

    



Source Code


00001	//-----------------------------------------------------------
00002	//
00003	//-----------------------------------------------------------
00004	class LockPick extends Keys;
00005	
00006	/*
00007	//_____________________________________________________________________________
00008	State InUse
00009	{
00010	    event BeginState()
00011	    {
00012	      PlayUsing();
00013	      disable('Tick');
00014	    }
00015	
00016	    event EndState()
00017	    {
00018	      bPicking = false;
00019	    }
00020	
00021	    function Activate() {}
00022	
00023	    simulated Event AnimEnd(int Channel)
00024	    {
00025	      if ( bChangeItem )
00026	      {
00027	        XIIIPlayerController(XIIIpawn(Owner).controller).CancelPickLock();
00028	        GotoState('DownItem');
00029	        return;
00030	      }
00031	      if ( !bPicking )
00032	      {
00033	        bPicking = true;
00034	        UseMe();
00035	        enable('tick');
00036	      }
00037	      PlayUsing();
00038	    }
00039	
00040	    function Tick(float dT)
00041	    {
00042	//      log("Tick Call for "$self);
00043	      if ( XIIIPlayerController(XIIIpawn(Owner).controller).CheckPickLock() )
00044	      {
00045	        PlayUsingEnd();
00046	        GotoState('UsingEnd');
00047	      }
00048	    }
00049	}
00050	*/
00051	/*
00052	//_____________________________________________________________________________
00053	state idle
00054	{
00055	    simulated function Activate()
00056	    {
00057	      if ( !XIIIPlayerController(XIIIpawn(Owner).controller).CanUseLockPick() )
00058	        return;
00059	      if ( XIIIPawn(Owner).bHaveOnlyOneHandFree && (IHand == IH_2H) )
00060	        PlayerController(Pawn(owner).controller).MyHud.LocalizedMessage(class'XIIISoloMessage', 8);
00061	      else
00062	        GotoState('InUse');
00063	    }
00064	}
00065	*/
00066	
00067	//_____________________________________________________________________________
00068	State UsingEnd
00069	{
00070	    ignores Activate;
00071	
00072	    event AnimEnd(int channel)
00073	    {
00074	      if ( bChangeItem )
00075	      {
00076	        GotoState('DownItem');
00077	        return;
00078	      }
00079	      GotoState('Idle');
00080	    }
00081	}
00082	
00083	
00084	//_____________________________________________________________________________
00085	function PlayUsing()
00086	{
00087	//    Log(self@"PlayUsing");
00088	    if ( bPicking )
00089	      PlayAnim('Fire2', 2.0);
00090	    else
00091	    {
00092	      PlayAnim('Fire1', 2.0);
00093	      bUsed = true;
00094	    }
00095	
00096	    if ( XIIIPlayerController(XIIIpawn(Owner).controller).aDoor != none )
00097	      Instigator.PlayRolloffSound(ActivateSound, self);
00098	}
00099	
00100	//_____________________________________________________________________________
00101	function PlayUsingEnd()
00102	{
00103	    PlayAnim('Fire2ToWait2');
00104	}
00105	
00106	//_____________________________________________________________________________
00107	event FPSFireNote1() // this is in  fact the selection notif
00108	{
00109	    Instigator.PlayRolloffSound(hSelectItemSound, self, 1);
00110	}
00111	
00112	//_____________________________________________________________________________
00113	simulated function PlayIdle()
00114	{
00115	//    Log(self@"PlayIdle");
00116	    PlayAnim('Wait', 1.0);
00117	}
00118	
00119	//_____________________________________________________________________________
00120	simulated function PlayDown()
00121	{
00122	//    Log(self@"PlayDown");
00123	    PlayAnim('Down', 1.0);
00124	    Instigator.PlayRolloffSound(hDownItemSound, self);
00125	}
00126	
00127	//_____________________________________________________________________________
00128	simulated function PlaySelect()
00129	{
00130	//    Log(self@"PlaySelect");
00131	    PlayAnim('Select',1.0);
00132	    bUsed = false;
00133	    Instigator.PlayRolloffSound(hSelectItemSound, self, 0);
00134	}
00135	
00136	//    PickupClassName="XIII.UnLockerPick" // ELR Can't suse this as default is used.
00137	
00138	
00139	defaultproperties
00140	{
00141	     KeyCodeName="LOCKPICK"
00142	     MeshName="XIIIDeco.FPSPickLockM"
00143	     hSelectItemSound=Sound'XIIIsound.Items__LockSel.LockSel__hLockSelect'
00144	     IconNumber=20
00145	     sItemName="LockPick"
00146	     bCanHaveMultipleCopies=True
00147	     ExpireMessage="LockPick was used."
00148	     ActivateSound=Sound'XIIIsound.Items__LockFire.LockFire__hLockFire'
00149	     InventoryGroup=3
00150	     PickupClass=Class'XIII.UnLockerPick'
00151	     BobDamping=0.975000
00152	     AttachmentClass=Class'XIII.UnLockerAttach'
00153	     ItemName="LOCKPICK"
00154	}

End Source Code