================================================================
Title                    : A Friend In Need
Version                  : 2.0
Release Date             : December 25, 2022
Author                   : Aspide
Email Address            : aspide1998@gmail.com
Description              : SP campaign for Unreal/UT99, three maps long, the other ones have other purposes.
Other projects by author : See below
================================================================
--- Play Information ---
Game                    : Unreal/UT99 (pre 225 Unreal not supported)
New Sounds              : Yes (MyLevel)
New Textures            : Yes (MyLevel)
New Music		: Yes
Known bugs              : See below.
--- Construction ---
Editor(s) used          : UnrealEd, GIMP, OpenMPT and Audacity.

Construction Time       : 3.5 months approx (1.0 and 1.2 version), 1 month approx (2.0).


Installation 
------------

Open the files of each folder and put them in the folders that correspond in your game's directory:
  
      .unr	         in Unreal/maps or UT/maps
      .umx               in Unreal/music or UT/music
      .u and .int        in Unreal/system or UT/system
      .utx               in Unreal/textures or UT/textures

The files in SystemUnreal are for Unreal only and SystemUT99 are for UT99 only.


How to play:
--------------------

-Unreal: start the game and type “open AFIN-Map00-ComfortZone” in the system console.

-Unreal 227: start the game and go to New and select “A Friend In Need” in the campaign option.

-UT99: double click the file AFIN-Map00-ComfortZone.unr

-UT99 OldSkool Amp'd: go to New Single Player Campaign and select “A Friend In Need” in the Map Pack option.

***In UT99 you will also need to use your advanced options screen ("Preferences" in console) or user.ini file 
to set up keys for the following commands:
-InventoryPrevious
-InventoryNext
-InventoryActivate

***Also if you notice the monsters don't appear in the game, go to your Unreal.ini or UnrealTournament.ini, find the gametype you're playing
   (for example [UnrealShare.SinglePlayer]) and set bNoMonsters to False.


How to play Coop:
--------------------

-Unreal and Unreal 227: Go to your menu, find “Multiplayer”, then select “Start New Multiplayer Game”, then select Coop Game in Gametype, 
 select AFIN-Map00-ComfortZone in Map Name and make sure to modify your server options, also check the internet if you are having trouble
 setting up a server. Go to your Unreal.ini and find [UnrealShare.CoopGame], here are some interesting options:
       -bNoFriendlyFire: self explanatory.
       -bNoMonsters: must always be False.
       -bCoopWeaponMode: If True weapons don't respawn after pickup (but they don't disappear either, so don't worry).

 Finally set up the server packages (see below).

***For the better experience I recommend to play with the 227 patch installed.

-UT99 OldSkool Amp'd: go to New Single Player Campaign and select “A Friend In Need”, then select the Coop button at the bottom. Choose
 your preferences, however one option not available in the menu is the bCoopWeaponMode, to change it go to UnrealTournament.ini, find
 [oldskool.coopgame2] and change bCoopWeaponMode to your heart's content :)

 Finally set up the server packages (see below).

***The TeamBeaconCoop mutator from M:R 2.5 is included to enhance your Coop experience in UT99.

***Playing singleplayers in UT99 online without the 469 patch is an abysmal experience, the reason why is because your HUD becomes distorted
   when you grab inventory. So for that reason the 469 patch is highly recommended when playing online.

-Server packages: Go to your Unreal.ini or UnrealTournament.ini, find [Engine.GameEngine], then add the following lines bellow 
 the other ServerPackages:

 ServerPackages=AFINItems

What is OldSkool Amp'd:
--------------------

Is a Mod for UT99 that allows you to play singleplayer campaigns (like this one) in a much more organize way, it also has new features
like Save files for each campaign, new scoreboard, blood decals, etc. After installing it, go to the menu, find “Mod”, 
then go to “Enable OldSkool Amp'd”, click it, then you will notice the menu has changed, go to “Options”, then “Oldskool configuration” 
and set your preferences. To deactivate OldSkool do the same thing you did to activate it.
(find “Mod”, then go to “Disable OldSkool Amp'd”, click it).

This campaign doesn't require OldSkool to play it in UT99 but it's recommended.


Extended description:
--------------------
STORY:

You play as Stardust, a space marine and survivor of the UMS Bodega Bay. After the events of RTNP the marine had to survive Na Pali's
natural hazards and the Skaarj for a long time, but one day the dangers of the planet finally caught up to the marine, but before dying a Nali
appeared and saved the marine's life. Stardust and the Nali became close friends, the Nali, revealing his name as Inti, brought the marine
to his village. Years passed and Stardust lived in peace, very rarely something threatened the village, but Stardust and Inti always found a
way to solve the problem. One day the marine returned from some errands, only to find the village in distress, apparently some Kralls
appeared out of nowhere and demanded to put all the Nali together or they will start killing civilians, then they inspected all 
the Nali and took one of them as a prisoner, that Nali was Inti. Stardust didn't hesitate and took off to rescue him....

PERSONAL NOTES (original release):

After finishing M:R 2.5 I decided to make a small sp campaign to get more mapping experience, I have to admit, it took me more time and
effort that I could possibly imagined, however I have obtained so much experience that I'm actually very excited to continue making maps.
I've been playing this game more than half of my life, and the majority of my time has been playing custom content, that includes
sp campaigns, so after playing so many of them I learned what makes a good map, and a bad one, so I said “I may as well try”.
One of the first sp campaigns I played was Hellscrag's Tashara's Cove, and I loved the simplicity beauty of it. This campaign was made
as a spiritual successor of Tashara's Cove, there is actually a lot of similarities between the both.

PERSONAL NOTES (version 2.0): 

After one year since the release of this campaign I decided to come back and fix some things that I found very annoying, 
I was very disappointed on the original release because I accidentally made the campaign very difficult to install in UT99, I was unaware 
that using the content from RTNP would cause so many issues in UT99 so I decided to take all of that stuff and add it in a separate 
package, also I took the effort of making sure to make the campaign compatible with all versions of Unreal and UT99, in Unreal I made 
sure that all versions except pre-225 are compatible. The year long break was very important since I learned a lot about how to make
custom content for Unreal/UT99, which allowed me to finally release this campaign the way I wanted a year ago....

AFIN-Map00-ComfortZone:

Ironically this map was made last, I wanted to recreate the difficulty selection map of Quake (with the hardest difficulty being hidden as
well), not only this makes for a unique first map in Unreal custom sp campaigns, but also allows to change the difficulty when playing coop.

AFIN-Map01-WarriorsLament:

This map started as just an experiment of what I could do with complex brushes, like the terrain brush or the 2d shape editor. In
retrospect there is a lot of things I would have done differently, but I'm still very proud of how well it turned out. I used some textures
from UT2003 (DM-Inferno) for the skybox, I originally wanted a more interactive skybox, but in the end those textures give that sense of
desolation and claustrophobia all by themselves. Oh and the windmill, I have no idea what was I thinking, but I said “I like windmills”
and decided to put one on the map. Fun fact: I was originally going to use Unjustice as the music track for this map, but luckily I
stumbled upon Abandon and I had a change of heart.

AFIN-Map02-VecchieFerite:

Now this is where my skills as a mapper really took off, after this map I learned not to underestimate the 2d shape editor, the same goes for
tessellated cubes, very useful for making caverns. This map was inspired by Quake, the map is in very close spaces with a lot of secrets and
hidden paths. The reason why I made the key appear in a random place is because I wanted to add some replay value to the map without
being too annoying. The final fight is like playing a Monster Hunt map, and for that reason I used a song from a MH map (MH-RocketArena).
In the end this might be the most deceptively simple map of the campaign, and for that is my favorite :)

AFIN-Map03-LongWayAround:

Because of laziness I decided to reuse map 1, but I wanted to make it look like the entire place has been destroyed, I originally wanted
to add more destruction but the map is already to unstable. New areas were constructed to add something new to the map, but maybe the most
important new thing added were the Skaarj, playing the same map with them is like day and night, specially in Unreal difficulty. The main
theme of this map is tragedy so the music track was chosen to reflect this. Also I hope you like the Queen toy's hunt, it's like trying
to find christmas presents scattered all over your house.

AFIN-Map04-CoopCredits:

Following the tradition of M:R 2.5, the credits map is different depending if you are playing Coop or not. This map was made as an
interactive credits sequence, I didn't want to complicate the map so geometry is very simple, but not to simple that is painful to watch.
The secret that I added was inspired by a modification that I made to SPF-Aeryopolis from Spatial Fear, where there is a secret room with
a dj player, I put characters from SF in that room as if they were dancing. I loved that idea so much that I decided to make that the stamp
of all my projects. M:R also has it, in map 3 and 7 of the single player campaign.

AFIN-Map04-SPCredits:

This is the offline version of the credits, after watching the final sequence of the original Unreal and Tashara's Cove I decided to make a
similar ending sequence. Learning how to use InterpolationPoints was a difficult experience because there are many things you have to learn
by trail and error, this map is the result of that process. Also I managed to combine both map 1 and 2 for the sequence, I removed all the
brushes that aren't used to decrease the size of the map. I have also considered using this map for Coop as well, but the problem is that 
first of all the credits sequence wouldn't be synchronized with the music and secondly players aren't invisible so it would look ridiculous 
to see other players “swimming” in the air :)

ChangeLog :
--------------------

V 2.0 :

-All RTNP content is now in a separate package.
-New weapons work in UT99 online.
-Fixed a collision issue with destructible decorations.
-Reduce the size of some of the music files.
-Improved texture alignment, also some textures were replaced altogether.
-Fixed an invisible wall problem in map 01. Windmill was also fixed.
-In map 02 some decorations now don't have collision. BlockAll actors replaced by another actor to stop crashes in Unreal 225.
-The ghost nali scripted sequence in map 03 was improved. Also the final teleporter was replaced by another actor.
-The Coop credits map has a secret room with a bunch of dancing monsters, they were replaced by another actor that looks the same.
-The Cloak now protects you from falling damage, the effectiveness of this isn't the same when you compare Unreal and UT99.
-Added an optional mutator for Unreal 227, it allows the new items to have decals.

Known bugs :
--------------------

-The new difficulties of Unreal 227 can only be activated by using the system console.
-Some sound effects are loud because Unreal 227 and UT99 469 changed the ClientPlaySound function, making them quieter. So the sound effects
 were duplicated to compensate.
-In Unreal 227, some destroyable decorations “bleed” when shot.
-DripGenerator doesn't make a sound online.
-If you play this online in UT99 without the 469 patch, some Nali fruits won't appear grown.
-The blue messages that appear on the center of the screen will disappear if you do something with your items.
 UT99's OldSkool Amp'd fixes this.
-Playing as a Skaarj or Nali in Unreal is not possible (VRikersGame gametype doesn't allow it).
-When finishing a map in Coop, the alternate exits will still take you to the default start of the next map.
-Sometimes the TriggerLights don't work as intended when playing online.
-Enemies can see you through movers when playing online :(
-If you don't play this in 100% game speed, some scripted sequences won't be synchronized with the music.
-Very rarely the game crashes when going from one map to the next when playing online.
-In Unreal 227j the Cloak's sounds behave strangely.

Credits:
--------------------

-Special thanks to SteadZ for letting me know that I miss a lot of files during the 1.0 release.
-I took some brushes from NyLeve's Falls and Bluff Eversmoking, credits go to Juan Pancho “XceptOne” Eekels and Elliot “Myscha” Cannon.
-GIMP, where I made the modifications to the textures.
-OpenMPT and Audacity.
-UMake, I recompile code thanks to this guy.
-Steve Nabors, for his firefly actor.
-Qtit, for his ladder actor.
-Asgard, for his Fire Slith and Predator code.
-UArchitect, for his RemoveInventory code.
-Yrex, for playtesting, helping me making this campaign Unreal 225 compatible and some scripts that he made.
-Mister Prophet, for his review at UnrealSP.org that was important to fix the biggest issues.
-Super Mario World, I took a sound effect from the game, you can't miss it.
-Anh Tuan Dao, his artwork “Snow Mountain Fortress”, inspired the fortress that appears in the campaign.
-Sounds Mods, for the sound effect when you grab a key.
-modarchive.org, I found all the music tracks in this site.
-Music:

     -Abandon, by Oracle Soul. **
     -The Dark Moon Media Theme, by Christopher Hatton.
     -Gomorra, by Teque and DEE.
     -Dooms Day Part 2, by Aaron Gillihan.
     -Razorback (Original Mix), by Skaven. **
     -Unjustice, by =Teo= and U.S.E.

** This songs were modified because Unreal/UT99's default audio driver cannot play them.

-UT2003 and UT99, I took some textures and sound effects from this games.
-Usar33, for making the code of Legacy which inspired me to create the CloakArmor actor. 
-Kevin “Waffnuffly” Letz, for making The Last Fortress which has the TLFPlayerStart actor, and for inspiring me with his map.
-Edward “EddX” McRobbie, for making Zero Black, where I took the idea of the lights that follow movers.
-Sarevok aka Koveras, for making The Odyssey that introduced me to UT99 singleplayer with RTNP content.
-Lightning Hunter, for making RTNP:UE, which perfected RTNP content for UT99.
-Hellscrag, for making Tashara's Cove, probably the biggest inspiration for this campaign.
-Id Software, Quake had a big impact on the level design of this campaign.
-UnrealSP.org and UT99.org for their support.
-Legend Entertainment, for making RTNP.
-GT Interactive.
-Epic Games and Digital Extremes for making Unreal.
-Anyone I'm missing.

Other projects by author :
--------------------

-Marathon:Resurrection 2.5 : a patch for a mod for UT99 that recreates the original Marathon by Bungie in Unreal Engine 1.
-Savage Land Map: SL is an upcoming sp campaign for Unreal/UT99. I'm currently working on a map for this project.
-Enslaved Version 2.0 : patch for a sp map called Enslaved made by Maciej “Kaka” Kakareko.
-Steele Dawn fixes: SD is a sp campaign for Unreal/UT99. I fixed many things from this project including music, weapons, code, maps
 and even UT99 compatibility.
-Multiplayer maps:
    -MRCTF-RingsofSaturn: map for M:R 2.5 , a CTF map somewhere near Saturn.
    -DOM-Osiris]I[ : Small egyptian theme domination map.
    -CTF-Sepulchre][ : Small CTF map located in opposing fortresses guarding a burial site.
    -DM-Flux]I[ : Small DM map located in a strange building travelling in hyperspace.
    -DM-{M}SpaceNoxx : Recreation of SpaceNoxx made for the Dr.Pikko's {M} Series, this map was a collaboration between Pikko and I.

Permissions : 
------------------------- 

You may not use this level as a base to build additional levels. You are not 
allowed to commercially exploit this level without the author(s) explicit consent. 
You may distribute this level through any electronic medium, as long as you do 
not charge any type of fee. You must also attach this text file with the level. 

Unreal (c) and the Unreal logo are the registered trademarks of Epic Games, 
Inc. Distributed under license by GT Software, Inc. All other (c) logos and 
trademarks are the properties of their respective owners. 

================================================== 