Description

This package for Unreal Tournament (UT99) contains fixes for the package WarNukingGround.

Fix reasons

Usage

To use the fixes you also need the original package WarNukingGround.u (or WarNukingGroundFix.u - both packages are identical). Put this file together with .\System\SBWarNukingGroundFixesV0.u into the System directory of your UT installation.

Manual Usage

Start UnrealEd and load .\System\SBWarNukingGroundFixesV0.u into the Actor Browser. Until now only class'CowAvenger' exists; you can either replace existing CowAvengers or add new fixed CowAvengers to your map. You'll find them at UnrealEd's Actor Browser at Actor > Pawn > ScriptedPawn > Cow > CowAvenger > CowAvengerFixed. If you replace, don't forget to take over the properties from existing to new.
If you publish your map, it is advised to add both packages to your collection.

Usage by Code

Load desired class (until now only on class named "CowAvengerFixed") of package .\System\SBWarNukingGroundFixesV0.u by DynamicLoadObject() and replace or add it.
Example code:
function int ReplaceCowAvengers() {
/******************************************************************************
Replaces all ScriptedPawns with Class.Name == 'CowAvenger' with
"SBWarNukingGroundFixesV0.CowAvengerFixed" and returns the number of replaced
ScriptedPawns.
The properties of existing CowAvengers are copied to the new created.
******************************************************************************/
local class aClass;
local Actor A;
local Pawn P;
local int Result;

  aClass = class(DynamicLoadObject("SBWarNukingGroundFixesV0.CowAvengerFixed", class'Class'));
  if (aClass == None)
  {
    warn("class 'SBWarNukingGroundFixesV0.CowAvengerFixed' could not be loaded.");
    return 0;
  }
  else
  {
    foreach AllActors(class'Pawn', P)
      if (P.Class.Name == 'CowAvenger')
      {
        A = SpawnActorToList(LogLevel, aClass, , P.Tag, P.Location, P.Rotation);
        if (A != None)
          if (class'Sharedcode'.static.CopyProperties_Cow(Cow(P), Cow(A), true))
            if (class'Sharedcode'.static.SetPropertyTextEx(A, "bFakeDeath", P.GetPropertyText("bFakeDeath")))
              if (class'Sharedcode'.static.SetPropertyInt(A, "BiteDamage", int(P.GetPropertyText("BiteDamage"))))
                if (P.Destroy())
                  Result++;
      }
  }
  return Result;
}

About

This package was created by Barbie.
Contact: SeriousBarbie AT barbies DOT world

Copyright

This package is copyleft - do whatever you want.

Changelog

SBWarNukingGroundFixesV0, 18 Jul 2024

Filelist

NameSizeDateMD5 sum
./Help/SBWarNukingGroundFixes.htm49592024-07-18(this file)
./Maps/SBWarNukingGroundFixesTest.unr77652024-07-17075f4617bf83c52df056747703b047a3
./Source/Classes/CowAvengerFixed.uc62272024-07-17777dbecf8b9909f2be9356b2804e66d8
./Source/make.ini3362024-07-165af83449109aa4a6c4734326dc71cbc2
./Source/readme.txt692016-01-0965e1642a4cd5f397e424d0521cca2d42
./System/SBWarNukingGroundFixesV0.u117692024-07-1713ff1096b9b7d143f6d261d63a7dbd8d
./System/WarNukingGround.u18710582010-05-18f4e638ac923f289d7fd900a696d957af