Name: EightballZoom Mod Game: Unreal Language: UnrealScript Date: June 21, 1998 Modified Code by: Marlin Rowley - mrowle1@gl.umbc.edu Description: This weapon mod will exchange the mode of the eightball to have the zoom feature of the rifle. It uses the same class as 'Eightball', but overrides only a few of its methods. It is very enjoyable to watch a monster get gibbed up close! Enjoy! Instructions: 1) Go into UnrealEditor. *BE SURE YOU HAVE THE PROPER PATCHES TO RUN THE EDITOR* 2) Go to the 'Classes' browser and select 'Classes'. It may be set to TEXTURES by default. 3) Select - Inventory/Weapon/Eightball 4) At the bottom of the Classes' Viewer, select NEW. Here you can name the class whatever you choose (I named mine 'MyEightballZoom'). You can also change the name of the package (I chose 'MyLevel). 5) Select CREATE THIS ACTOR CLASS. 6) When the window pops up, take note of the location just below the class header and name. This is where you will put the code for the eightballzoom. 7) CUT the code in EIGHTBALLZOOM.TXT (minus the top commented section) and PASTE it in the newly created class you just built. 8) Then click on 'SCRIPT' and select COMPILE CHANGED SCRIPTS (or just press ). 9) Once the class has been compiled, you must click 'SAVE' in the Class Browser. *BE SURE TO SAVE UNDER THE PACKAGE NAME YOU USED WHEN CREATING THE NEW EIGHTBALLZOOM SUBCLASS* 10) To use the EightballZoom in single player mode (or Deathmatch), just type at the console 'SUMMON .' where is the name of the package that has your newly created weapon and is the name you gave your weapon. 11) Enjoy! Zoom in as your rocket locks on a target and gibs a monster! Technical Issues: 1) I attempted to extend the 'lock target' beyond the normal distance so that you can lock on a target far away. Adjusting the C++ code and overridding the CheckTarget() function gave inaccurate and less than desirable 'locks' on targets, so I have omitted this change. 2) The only functions that were overridden were: 1) The ALT-Firing() and its state were changed to that of the rifles' zoom. 2) The grenades' class was omitted. 3) State Idle was overridden to delete the line of code: if (Pawn(Owner)b.Fire != 0) AltFire(0.0)); which caused the zoom to reach its limits and cycle back only to zoom again (infinite loop) if the player held the button.