Advertisement
Guest User

Artifact Weapon Base Placer Pickup

a guest
Feb 18th, 2015
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.82 KB | None | 0 0
  1. class ArtifactWeaponBasePlacerPickup extends RPGArtifactPickup;
  2.  
  3. struct PossibleWeaponsStruct
  4. {
  5. var() class<Weapon> WeaponClass;
  6. var() int Requirement;
  7. };
  8.  
  9. //struct PickupsRotationStruct
  10. //{
  11. // var class<Weapon> WeaponClass;
  12. // var int Requirement;
  13. // var int StoredResources;
  14. //};
  15.  
  16. var() array< PossibleWeaponsStruct > StoredPossibleWeapons;
  17. var() int StoredResources;
  18. var() bool bInternalListOnly;
  19.  
  20. var WeaponBasePlacerPickupsManager DefManager; // Static Variables
  21. var string MapName;
  22.  
  23.  
  24. function PostBeginPlay()
  25. {
  26. local WeaponBasePlacerPickupsManager Manager;
  27. local WeaponBasePlacerPickupsManager.PickupsRotationStruct RotationStruct;
  28. local int OldL;
  29. local string s;
  30. local int is;
  31.  
  32.  
  33. Super(TournamentPickup).PostBeginPlay();
  34.  
  35. if (!bInternalListOnly)
  36. {
  37. s = string(self);
  38. is = InStr(s,".");
  39. s = Left(s,is);
  40. //log (self $ " 0 " $ s);
  41.  
  42. DefManager = class'ArtifactWeaponBasePlacerPickup'.default.DefManager;
  43. MapName = class'ArtifactWeaponBasePlacerPickup'.default.MapName;
  44. //log (self $ " 1 " $ DefManager $ " <- " $ class'ArtifactWeaponBasePlacerPickup'.default.DefManager);
  45. if(MapName != s)
  46. {
  47. forEach DynamicActors( class'WeaponBasePlacerPickupsManager', Manager )
  48. {
  49. if (Manager.PickupsRotation.length > 0 &&( (Manager.PickupsRotation[0].WeaponClass != None) || (Manager.PickupsRotation[0].StoredResources != 0) ))
  50. {
  51. class'ArtifactWeaponBasePlacerPickup'.default.DefManager = Manager;
  52. //log (self $ " 2 " $ class'ArtifactWeaponBasePlacerPickup'.default.DefManager);
  53. }
  54. else
  55. Manager = None;
  56. //log (self $ " 2.5 ");
  57. break;
  58. }
  59. class'ArtifactWeaponBasePlacerPickup'.default.MapName = s;
  60. }
  61. else
  62. Manager = DefManager;
  63.  
  64. if (Manager != None)
  65. {
  66. RotationStruct = Manager.GetRotationStruct();
  67. if (RotationStruct.WeaponClass != None)
  68. {
  69. OldL = StoredPossibleWeapons.length;
  70. StoredPossibleWeapons.length = OldL +1;
  71. StoredPossibleWeapons[OldL].WeaponClass = RotationStruct.WeaponClass;
  72. StoredPossibleWeapons[OldL].Requirement = RotationStruct.Requirement;
  73. }
  74. StoredResources += RotationStruct.StoredResources;
  75. }
  76. }
  77.  
  78. }
  79.  
  80.  
  81. auto state Pickup
  82. {
  83. function bool ValidTouch(Actor Other)
  84. {
  85. return Super(TournamentPickup).ValidTouch(Other);
  86. }
  87. }
  88.  
  89.  
  90. defaultproperties
  91. {
  92. DefManager = None
  93. bInternalListOnly = false
  94. InventoryType=Class'SillyRPGv1-1.ArtifactWeaponBasePlacer'
  95. PickupMessage="You got the Weapon Base Placer!"
  96. PickupSound=SoundGroup'WeaponSounds.Translocator.TranslocatorModuleRegeneration'
  97. PickupForce="TranslocatorModuleRegeneration"
  98. DrawType=DT_StaticMesh
  99. StaticMesh=StaticMesh'2k4ChargerMeshes.ChargerMeshes.WeaponChargerMesh-DS'
  100. Physics=PHYS_Rotating
  101. bAcceptsProjectors=False
  102. DrawScale=0.200000
  103. AmbientGlow=255
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement