[Setup] Product=SoulHarvest Version=100 Archive=SoulHarvest.umod SrcPath=. MasterPath=.. Requires=Unreal Tournament Demo322Requirement Group=SetupGroup Group=umodINIGroup Group=SoulHarvestGroup [Unreal Tournament Demo322Requirement] Product=Unreal Tournament Demo Version=322 [SetupGroup] Copy=(Src=System\Manifest.ini,Master=System\Manifest.ini,Size=570,Flags=3) Copy=(Src=System\Manifest.int,Master=System\Manifest.int,Size=569,Flags=3) [umodINIGroup] Ini=System\UnrealTournament.ini,Engine.GameEngine.ServerPackages=SoulHarvest [SoulHarvestGroup] File=(Src=Help\SoulHarvest.htm,Size=2953) File=(Src=System\SoulHarvest.int,Size=144) File=(Src=System\SoulHarvest.u,Size=119569) [Setup] LocalProduct=SoulHarvest ReadMe=Help\SoulHarvest.htm SetupWindowTitle=SoulHarvest AutoplayWindowTitle=SoulHarvest Options ProductURL=http://www.planetunreal.com/pipeline/soul/ VersionURL=http://www.planetunreal.com/pipeline/soul/ Developer=Mongo (Mike Lambert) DeveloperURL=http://www.planetunreal.com/pipeline/soul/ [Unreal Tournament Demo322Requirement] LocalProduct=Unreal Tournament Demo ProductURL=http://www.unreal.com/ VersionURL=http://unreal.epicgames.com/versions.htm Developer=Epic Games, Inc. DeveloperURL=http://www.epicgames.com/
| Title: | Soul Harvest |
|---|---|
| Date Created: | May 19, 1999 |
| Author: | Mike Lambert (Mongo) |
| Homepage: | None |
| Description: | Unreal game modification where you must harvest the rising soul from dead bodies to score points. |
This type of gameplay has many advantages. It reduces the effectiveness of snipers and campers. If you are sniping at someone far away, then chances are you will not be able to reach them in time to capture their soul that is rising into the air. This mod encourages close action and tight gameplay, so that players may harvest souls after they kill their opponents.
| BotMatch: | To play Soul Harvest against Unreal Tournament's bots, go to "Start Internet Game", and select "Mutators", and add "Soul Harvest" to the mutator list. Configure your bots, then click "Start". |
|---|---|
| Joining a Multiplayer Game: | Open up GameSpy, and find a server with a running an Soul Harvest mutator. |
| Serving a Multiplayer Game: | To play Soul Harvest against Unreal Tournament's bots, go to "Start Internet Game", and select "Mutators", and add "Soul Harvest" to the mutator list. Then click "Dedicated". |
You are NOT allowed to commercially exploit this modification, i.e. put it on a CD or any other electronic medium that is sold for money without my explicit permission!
You MAY distribute this level through any electronic network (internet, FIDO, local BBS etc.), provided you include this file and leave the archive intact.
[Public] Object=(Name=SoulHarvest.SoulHarvest,Class=Class,MetaClass=Engine.Mutator,Description="Soul Harvest, Capture Dead Bodies to Score.") *D o H ) E /q/ Ki $ f ) o None All SoulHarvest LogPickup ValidTouch GrabbedEvent GrabbedSoul SpawnBody Timer Core Engine BroadcastMessage System NetPriority CollisionRadius Pickup PickupSound Trigger MaxDesireability Touch EncroachingOn Tick bRotatingPickup ScoreKill FloatingBody Physics WAV bCollideActors HandlePickupQuery PickupViewMesh CollisionHeight Mesh PostBeginPlay Style bAlwaysRelevant StatLog Level PlayerReplicationInfo Actor Brush Inventory Pawn Struct ReturnValue ScriptText i A Texture Sound State Class Vector Event LevelInfo Package BoolProperty GameInfo LodMesh Function DrawScale AnimSequence Mutator TextBuffer Location AnimFrame bIsPawn bIsPlayer Fatness Health Difficulty Killer MultiSkins DeltaTime Other bMeshEnviroMap Skin Score LocalLog WorldLog bMeshCurvy Item Object PlayerName IntProperty Game Instigator AnimRate KillCount FloatProperty Botpack Soldier ByteProperty StrProperty personToCopy StructProperty body Choir originalLocation NameProperty Grabber Soul ObjectProperty None EndGameCheck DeathMatchPlus BotDesireability EndGame Bot FragLimit bTeamGame bOverTime 2 0 nh# H l l l _ DL _ DL u`@ _ DL _ DL u`@ l _ DL l _ DL l _ DL _ DL _ DL _ J+= b _ J+= _ DL b b nh# b nh# b S $ B!" $ A$ AS $ @@ff ff ff ff ff ff ff ff ff @ ff ff ff ff ! ff ff ff 7 A o# A ? a f ? f ?& { ppp harvested 's soul (! p saved his own soul (!g f u//SoulHarvest class SoulHarvest extends Mutator; var pawn personToCopy; simulated function SpawnBody(pawn Other) { local FloatingBody body; local int i; log("spawning body"); body = Spawn(class'FloatingBody',Other,,Other.Location,); switch (rand(7)) { case 0: body.AnimSequence='All'; AnimFrame = 522; break; case 1: body.AnimSequence='All'; AnimFrame = 526; break; case 2: body.AnimSequence='All'; AnimFrame = 534; break; case 3: body.AnimSequence='All'; AnimFrame = 550; break; case 4: body.AnimSequence='All'; AnimFrame = 560; break; case 5: body.AnimSequence='All'; AnimFrame = 650; break; case 6: body.AnimSequence='All'; AnimFrame = 664; break; } AnimRate = 0; for ( i=0; i<4; i++ ) body.Multiskins[i] = Other.MultiSkins[i]; body.bMeshCurvy = Other.bMeshCurvy; body.bMeshEnviroMap = Other.bMeshEnviroMap; body.Mesh = Other.Mesh; body.Skin = Other.Skin; body.Texture = Other.Texture; body.Fatness = Other.Fatness; body.DrawScale = Other.DrawScale; body.PlayerName = Other.PlayerReplicationInfo.PlayerName; } simulated function Timer () { Super.Timer(); SpawnBody(personToCopy); } function ScoreKill(pawn Killer, pawn Other) { if( (killer == Other) || (killer == None) ) Other.PlayerReplicationInfo.Score += 1; else if ( killer != None ) { if ( killer.PlayerReplicationInfo != None ) killer.PlayerReplicationInfo.Score -= 1; } personToCopy = Other; Super.ScoreKill(Killer,Other); SetTimer(0.1,false); } f "^ 9 f XRIFFP WAVEfmt dV Ȭ data ! 0 ; H U a h n t w p j b X R N L M L K G H K M N L E 9 0 $ qaI:.C{ M %RsfH( n G V ~ "HUW7 f i= vtKtpS|vA# V _bg")~S h cWlf,9 1 TI;,In`q}5ri%I5BC/o. 'Lh3HTW|X=}" 9 uNFF$ =#^T:'G 6 I,5_UQcjFbvX$ 5_} B ` ] a B 8 $ P C(I%_d)_9s @ bo^B~3{J[L& Q8{krZ q |l/y ]JB;Gu7ij]B, A }>02 Bn$U= v ZG V 7{|" ] '@+0\v <