//----------------------------------------------------------- // $DATETIME$ // Dead Awake code (c) 2007, Eric Blade //----------------------------------------------------------- class MutLOTDToDA extends Mutator; #exec load file=dotzsindustrial.usx #exec load file=dotzsbuildings.usx #exec load file=dotzsobjects.usx #exec load file=uzgmeshes.usx function bool CheckReplacement(Actor Other, out byte bSuperRelevant) { local string zn; local Controller c; local Rotator r; local vector loc; local Pawn p; local ZombieFactory factory; local int x; //log(self@"CheckReplacement"@Other); if(Other.IsA('ZombieFactory')) { factory = ZombieFactory(Other); //factory.bStartActive=true; //factory.TriggerEx(self, None, factory.hStartSpawn); for(x = 0; x < factory.OpponentTypes.Length; x++) { //factory.OpponentTypes[x].ControllerType = class'DAZombieControllerNew'; factory.OpponentTypes[x].ControllerType = class'DAZombieControllerNew'; switch(Rand(6)) { case 0: zn = "DoctorBob"; break; case 1: zn = "FemalePunk"; break; case 2: zn = "MaleTeenager"; break; case 3: zn = "Otis"; break; case 4: zn = "DoctorMale"; break; case 5: zn = "CopMale"; break; default: break; } factory.OpponentTypes[x].PawnType = class(DynamicLoadObject("DAZombies.DAZ"$zn, class'Class')); } } if(Other.IsA('BBPPockMark')) return !ReplaceWith(Other, "UZG.DABulletMark"); if(Other.IsA('SmallHealth')) return !ReplaceWith(Other, "UZG.DASmallHealthPack"); if(Other.IsA('HealthPack')) return !ReplaceWith(Other, "UZG.DAHealthPack"); if(Other.IsA('DAFleshImpact')) return true; if(Other.IsA('BBPImpactFlesh')) return !ReplaceWith(Other, "UZGEffects.DAFleshImpact"); if(Other.IsA('BaseballBatPickup')) return !ReplaceWith(Other, "UZGWeapons.DABatPickup"); if(Other.IsA('FireAxePickup')) return !ReplaceWith(Other, "UZGWeapons.DAChainsawPickup"); if(Other.IsA('GlockPickup')) return !ReplaceWith(Other, "UZGWeapons.DADualGlockPickup"); if(Other.IsA('GlockAmmoPickup')) return !ReplaceWith(Other, "UZGWeapons.DADualGlockAmmoPickup"); if(Other.IsA('RevolverPickup')) return !ReplaceWith(Other, "UZGWeapons.DADualRevolverPickup"); if(Other.IsA('M16Pickup')) return !ReplaceWith(Other, "UZGWeapons.DARocketLauncherPickup"); if(Other.IsA('MolotovPickup')) return !ReplaceWith(Other, "UZGWeapons.FlameTPickup"); if(Other.IsA('HammerPickup')) return !ReplaceWith(Other, "UZGWeapons.FlashlightPickup"); if(Other.IsA('ShotgunPickup')) return !ReplaceWith(Other, "UZGWeapons.UZGShotgunPickup"); if(Other.IsA('UZGShotgunAmmoPickup')) return true; if(Other.IsA('ShotgunAmmoPickup')) return !ReplaceWith(Other, "UZGWeapons.UZGShotgunAmmoPickup"); if(Other.IsA('RevolverAmmoPickup')) return !ReplaceWith(Other, "UZGWeapons.DADualRevolverAmmoPickup"); if(Other.IsA('BodyBag')) return !ReplaceWith(Other, "UZGItems.UZGBodyBag"); if(Other.IsA('StaticMeshActor') && !Other.IsA('DAStaticMeshActor')) { if(Other.StaticMesh == StaticMesh'DOTZSIndustrial.Outdoor.GarbageCan') return !ReplaceWith(Other, "UZGItems.MetalTrashCan"); if(Other.StaticMesh == StaticMesh'DOTZSBuildings.BuildingFacades.AwningA') return !ReplaceWith(Other, "UZGItems.Awning"); if(Other.StaticMesh == StaticMesh'DOTZSObjects.Decoration.BeerBottle') return !ReplaceWith(Other, "UZGItems.BeerBottle"); if(Other.StaticMesh == StaticMesh'DOTZSObjects.Decoration.BookA') return !ReplaceWith(Other, "UZGItems.BookBible"); if(Other.StaticMesh == StaticMesh'DOTZSObjects.Decoration.BookB') Other.SetStaticMesh(StaticMesh'UZGMeshes.Decoration.DABookB'); if(Other.StaticMesh == StaticMesh'DOTZSObjects.Decoration.BookC') Other.SetSTaticMesh(StaticMesh'UZGMeshes.Decoration.DABookC'); if(Other.StaticMesh == StaticMesh'DOTZSObjects.Decoration.BookD') Other.SetSTaticMesh(StaticMesh'UZGMeshes.Decoration.DABookD'); if(Other.StaticMesh == StaticMesh'DOTZSObjects.Decoration.BookPile') Other.SetSTaticMesh(StaticMesh'UZGMeshes.Decoration.DABookPile'); if(Other.StaticMesh == StaticMesh'DOTZSObjects.Decoration.BookRow') Other.SetSTaticMesh(STaticMesh'UZGMeshes.Decoration.DABookRow'); if(Other.StaticMesh == StaticMesh'DOTZSObjects.Furniture.CoffeeTable') return !ReplaceWith(Other, "UZGItems.CoffeeTable"); } return true; } function Actor ReplaceWithActor(actor Other, string aClassName) { local Actor A; local class aClass; if ( aClassName == "" ) return None; aClass = class(DynamicLoadObject(aClassName, class'Class')); if ( aClass != None ) A = Spawn(aClass,Other.Owner,Other.tag,Other.Location, Other.Rotation); if ( Other.IsA('Pickup') ) { if ( Pickup(Other).MyMarker != None ) { Pickup(Other).MyMarker.markedItem = Pickup(A); if ( Pickup(A) != None ) { Pickup(A).MyMarker = Pickup(Other).MyMarker; A.SetLocation(A.Location + (A.CollisionHeight - Other.CollisionHeight) * vect(0,0,1)); } Pickup(Other).MyMarker = None; } else if ( A.IsA('Pickup') ) Pickup(A).Respawntime = 0.0; } if ( A != None ) { A.event = Other.event; A.tag = Other.tag; return A; } return None; } DefaultProperties { }