Nali Weapons 3 is a new weapon pack for Unreal Tournament, containing over 15 new weapons, including nuclear weapons, drones, freezing and flaming guns, and the list goes on... It's also the sequel to the old Nali Weapons II X.
Nali Weapons 3 Final Source Code: for developers, you can expand on it, release new versions, etc...
Alternate download (Mediafire): Mediafire.com
This is the full Nali Weapons 3 Final source files, which means ready to compile packages, with full source, models, textures.
This source had already been released at ut99.org in April of 2014, together with other sources: Ut99.org
but then I remembered during my revisit through the communities in this new year (mostly lurking) that I never released it here, and it was already proven necessary to host it here.
You're free to use this source any way you like: you can make new NW3 releases if you want, expand on it, rip parts of code, models, etc for your own mods if you wish, anything, except using them for commercial purposes of course (this was released for free, thus it should be kept free).
There's a guideline to consider concerning the compilation of this particular source:
1 - All packages are suffixed as "_SRC" on purpose, so the compiled packages names differ from the already released version, as UT has a terrible package update system (in other words, it doesn't have one at all) and I wanted to avoid accidents such as new NW3 versions from anyone else to conflict with the existing ones.
In other words, you're supposed to change this suffix to one of your own if you go forward with it.
2 - The NWCoreVIII_SRC and NWWREVIII_SRC won't compile under "normal conditions" (they will give a compile error).
In order to compile this source you need to use a byte-hacked version of the Engine.u package, where the "hack" (sort of) is the removal of the "const" modifier from the bFogZone property in the actor class ZoneInfo.
Basically, NW3 needs to change the value of bFogZone during play-time so decals can spawn in fog zones, otherwise decals won't spawn and this will originate a few problems (no blood from the gore, no debris effects, no decals at all, etc), however as it is bFogZone is set as constant.
Therefore you need to create a modified version of Engine.u where bFogZone is not constant.
To do this you can either modify it directly with an hex editor, but I don't remember what the positions were (so let's skip this one), or you can recompile a new Engine.u using the Unreal Editor itself (yeah, the one used to make UT maps), and here are the steps:
1 - Create a backup of your Engine.u (very important!!)
2 - Open the Unreal Editor
3 - Open the ZoneInfo class in its internal script editor, and remove the "const" from bFogZone
4 - Recompile the script
5 - Some compile errors will probably come up due to texture references it cannot resolve during the recompile, so just comment out the problematic lines (they're not important for what this modified Engine.u is going to be used for)
6 - Save the Engine.u
So now you have a modified version of Engine.u which you can use to compile this source with.
The "const" keyword in UnrealScript is only there to prevent certain variables to be written directly using UnrealScript, since it's unsafe to modify them directly as they have special meaning and a different behavior in the underlying engine native code, and it doesn't expect to be changed anywhere other than from the native code itself. In this case however it's safe to do so given that bFogZone is toggled only for an instant (it's set to False, decals are spawned, then it's set back to its original value), as the only bug here is something in the native code that prevents decals from spawning in zones with bFogZ
If you're wondering why it keeps working once you put the standard unaltered Engine.u back, it's because the "const" keyword is only evaluated during compile time, so internally is as if there were no "const" properties to begin with.
NOTE: You should only use the modified Engine.u to compile the source, for everything else (play-testing, normal gameplay, etc) you MUST use the standard Engine.u that you already had (hence important step 1: backup).