"Unreal Classic" mod destine for level designers, who want create singleplayer maps or mods in style Unreal1 on UT2004 engine. In order to create your own mod, simply make first map with prefix CU-, and You may see your map in map browser UnrealClassic. The rest maps better name without prefix. Transfer from level to level better make with new actor "LevelTeleporter". "Unreal Classic" mod have one interesting newness, you may create nonlinear walkthrough game. It is possible networking all levels, from one level You can get to 1, 2, 3 or more levels and return back from any level. When You return to some level, it will stay as You left in last visit. Actor "Terminator" destroy all dynamic object in level, what was destroy in all visit. It destroy monsters, decoration, set triggers in proper state and set movers in finite state, if it event from trigger. "LevelTeleporter" create profile named as Player Name in directory "Saves". In settings "LevelTeleporter" and "Terminator" You have to set the same prefix, besides every level must have unique map Title. If You want play map or mod from series level from begin, it is necessary delete corresponding profile from directory "Saves". In mod add MotionBlur, it start when some monster attack You in Melee Fight, for example "Skaarj". Add new damagetype - Frozen, player slow down for 30%, this damagetype cause "IceSkaarj". There are Nightvision (get from UnrealWiki) replace all weapon, some have any feature. Add new weapon like RazorJack and Dispersion Gun. In My mod all cheats disable, You may turn on cheats for test purpose, using console command "testmode", however You can't save current level. WallDodge, doublejump and shieldgun disable. You have only one Life, if You killed, start from begin (or from save) Add: classic save, code console, universal translator, jumpboots, classic armor system. Each of monsters have own gibs (from original Unreal1) On page Rules (when you start game) add option "New Reality", if it set on You can see yourself in mirrors and when see down. Camera set in bone head.(like in game F.E.A.R.) If press F1 (ScoreBoard), You may see stats on kill monster, but only if have universal translator - it carry on stats from level to level. ----------------------------------- Actor description. 1 - Monsters Port all monsters from original Unreal and Unreal: Return to NaPali. Essentially changed AI controller monsters. Add new order system. When monsters stay, they reproduce some different animation depending on "vOrders" OT_Waiting - for all, monster stand and reproduce some animation. OT_Wandering - for all, monster walk not far from respawn point OT_Patroling - for all, monster patroling between PatrolPoints OT_Sleeping1 - only Kraal, he sleep upright OT_Sleeping2 - only Kraal, he sleep lie stretched OT_Sleeping3 - only Kraal, he sleep recline OT_DicePlayer - only Kraal, play in Dice OT_ButtonPusher - only Mercenary è Skaarj, push button on wall OT_Talker - only Mercenary, stand still and talking OT_Squatter - only Mercenary, he squat and talking OT_Mutilating - only Warlord, he eat previous player :) If give monster order not meant for him, performance OT_Waiting. Properties: HealthModifier - if not zero, set monster health vReducedDamTypes - damage type not hurting monster vReducedDamPct - reduse damage ratio ( 0 - no damage) vWeakDamTypes - damage type more hurting monster vWeakDamPct - increase damage ratio vOrderTag - Tag for patroling - must be same as Tag first patrol point. bTeamLeader - True for one of DicePlayer Kraal. vTeamTag - Team name, for DicePlayer Kraal. WarningRadius - Warning Radius congeners (for Predator) bMeleeFighter - if True, Melee Fighter DeathEvent - event after death vMonster. (the same way as Event) vSlith - have immunity to BioRifle. vTitan - vNali - as in original Unreal. If shoot him will fear player, if have no script ignore player. He can execute script - set AIScriptTag and use NaliScript as pattern. NaliPriest - same nali, only different skin and waiting animation. NaliGhost - Nali Ghost, can execute script. vWarLord - after death make nuclear explosion, then some time take place radiation. if player some time stand still, vWarlord teleport into Player and kill him. vQueen - sometimes, periodically born SkaarjPupae, max number set in MaxChildren. vKrall - may play dice, for that set 3 vKrall in round, set same vTeamTag and one of them bTeamLeader=True. Do not forget set for all vOrders=OT_DicePlayer. vEliteKrall - have another skin, more health and damage. vSkaarj - can feign death, some times after death spawn Black Ghost. Make left, right and forward dodge. vSkaarjLord - have another skin, more health and damage. vSkaarjBerserker - have another skin, more health and damage. Fight against any other monster. vIceSkaarj - have another skin and damagetype "Frozen", player slow down for 30%. To protect from "Frozen" get Protective Suit. vTentacle - analog from Unreal but have some features. vSquid - octopus, live in water. vSpinner - spider from "Return to NaPali". vRazorfly - stinging fly. vPredator - raptor from "Return to NaPali", hunt troop. If see player, loudly scream, and call up another Predators. vNaliRabbit - ambient creature vNaliCow - ambient creature vMercenary - sometimes set up force field - equivalent 300 point armor. vMercenaryElite - have another skin, more health, use seeking rockets. vManta - You may set up or initially sitting or flyinf Manta. Unlike original, make damage not with bump event (use anim notify). vGiantManta - match bigger, more health and damage. vGasbag - shoot usually from distance. vGiantGasbag - match bigger, sometimes born couple children. vDevilFish - big bitter fish, like shark. vBrute - cant strafe, shoot only when staying. vBehemoth - have more health, shoot walking too. vBrutty - can strafe, melee fighter. vSkaarjPupae - jump and bite. FlockPawn - class of ambient monsters. BiterFish - litle fish, live in water. Do not add directly - rather add BiterFishSchools to the world BiterFishSchool - create and control school of BiterFish. schoolsize - number fish schoolradius - radius school from BiterFishSchool actor bNonAggressive - if True not biter fishcolor - if from 0 to 4 all school have established color, if more 5, color every fish set up randomly. HorseFly - Do not add directly. Rather, add HorseFlySwarms to the world. HorseFlySwarm - create and control Swarm of HorseFly. Place into level as decoration, afer death HorseFlySwarm not spawn. ---------------Guard of Last Hour------------------- (very cool guys, mesh, skin and weapon from UT2004, 300 health) SkaarjGuard - guardsman with Flack, always keep distanse. SkaarjBio - guardsman with Biorifle SkaarjGunner - guardsman with Minigun, prefer to fire point-blank . SkaarjRazor - guardsman with RazorJack SkaarjRocket - guardsman with Rocketlauncher, shoot usually into legs SkaarjSniper - guardsman with SniperRifle. Stay in position where You stand him, if player walk to round the corner, begin strafe. --------------------------------------------------------------------------- 2 - Actors. ACTION_PlayClassicAnim - fixed bugs with play animation. vZoneInfo - fixed bug standart zoneinfo, if there are more one skybox. CUMessageTrigger - trigger for send to player big important messages. On display open window with information, and in game set pause. "SendingMessage" - message, use symbol "|" for switch to new line. "ContinueMessage" - Continue Message, if you have too long message. You may see example on map CU-Test-NewWeapon2 ActorFactory, PawnFactory, SpawnPoint - as in original Unreal and some added from Unreal2. vSpawnTrigger - it is another version ActorFactory, more suitable. It can trigger both itself and another trigger. You must use vSpawnPoint with it. vSpawnTrigger spawn only one monster at a time. It is better use for suddenly appearance monster behind player. Set up 2-3 vSpawnPoint around vSpawnTrigger. Prototype - class of monster bEnabled - on or off bTouchEnabled - if True, it triggered itself bCovert - only Hidden Spawn (behind) bCanRestart - can set up on SpawnOffsetZ - height spawn above vSpawnPoint RestartInterval - time interval for reactivation SpawnPointTag - Tag for vSpawnPoint relating to this vSpawnTrigger ST_Health - if not zero, set up initial health monster. vSpawnPoint - set up properly direction, monster will see in that direction after spawn. CodePanel - Code console, based on CodeConsole Operation: Na Pali, by Team Vortex. Used to allow the player to input a "security" code. Code Randomly generated at start and can bind to a translator event which will tell the player what the code is. When security code is correct, it triggers actors of 'event' if wrong, it will trigger actors with the failure tag. Triggering this actor causes it to swap benabled. The macro %c has the random number inserted into it. MinNumber- smallest number allowed (for instance 1000) MaxNumber- largest number allowed (for instance 99999) TranslatorTag- Tag of the translator which will have a code inserted in it. ClearenceMessage- message to give if code inputted is correct FailureMessage- message to give if code inputted is incorrect. MyName - unique name for CodePanel (must be differnt for all panels on level). FailureEvent- triggers actors with the tag of failure trigger if code is wrong (i.e. alarms) bEnabled - is it on and working LinkedTag - for linked consoles. Only 1 will generate the code. Only 1 console should have translatortag. DisableOnCorrect - disable on correct code MyCode - if set up -1, code generated randomly. Translatorevent - same as Unreal1, but if use in conjunction with CodePanel, you may set bRandomLocation=true, and place into level a few SecurityBook. When map start, your Translatorevent move to one of them randomly. NaliScript - beforehand created script for Nali: Nali wait for player run some distance turn to player wave one's hand to player wait for player run trigger skaarj for attack him if survive, again wait for player run to next point wait for player open up secret meditate and disappear You can find example on map CU-Test-Nali vTriggerLight - fixed bug original TriggerLight for state TriggerPound. PatrolPoint - Patrol Point for vOrders=OT_Patroling Patroling creatures will patrol along a set of Patrolpoints (a subclass of NavigationPoint) specified by the level designers. The monsters’s vOrderTag should contain the tag of the first Patrolpoint in its patrol. When a creature reaches a Patrolpoint, it will pause for the PauseTime specified in the patrol point, facing in the direction the Patrolpoint is oriented. While pausing, it will play IdleWeaponAnim animations. However, the PauseTime must still be set to a positive number. It will then continue to the Patrolpoint specified in the current Patrolpoint’s NextPatrol. You can find example on map CU-Test-Animation. Use spectator to see various animations. LevelTeleporter - use this actor if you want create series levels with possibility return back to passed level. After touch, LevelTeleporter create profile in directory Saves (or use existing) LevelTeleporter record into profile some information about state all dymamic object: Name, bCollideActors, Health (only for monsters) è KeyNum for Movers. Then player send to next level. For input point use standart Teleporter. Terminator - (Actor > Triggers > Terminator) This actor work in conjunction with LevelTeleporter. It destroy all dynamic actor, which not present in profile. Next classes check up: Pickup UnrealDecoration vEffects Vehicle FlockPawn vMonster Then for vMonster set up health, for Triggers - bCollideActors, and all movers with KeyNum > 0, send event Trigger. You can see examples LevelTeleporter and Terminator on maps CU-Test-CodePanel2 and CU-Test-Seeds ExplodingWall, BreakingGlass - same as classic Unreal1 vGib - gibs, it is possible add as decoration. --------------------------------------------------------- 3 - Decoration UnrealDecoration - class of decoration, with some fixed and added features. You can add some content into boxes: class content1 - class content2 - if not None, random spawn inventory or monster. class content3 All decoration you may see on map CU-Test-brute. Barrel - wooden barrel, destroyable. Book, BlueBook, YellowBook, GreenBook - Books. SecurityBook - special book for randomly appears Translatorevent with security code. Chair Chest Knife LampA, LampB. PotteryA, PotteryB, PotteryC, Vase Urn Sconce - undestroyable SteelBox - undestroyable. SmallSteelBox WoodenBox SmallWoodBox SteelBarrel - little steel barrel TarydiumBarrel - exploding barrel Table SwingWire - wire, you can shoot at it. ------------------------------------------------------------ 4 - Inventory and Health UnrealHealthPack - give 50 health point, max 100. NaliFruit - give 0-30 health point, max 199. NaliSeeds - if throw, grow up into NaliFruit, but only!!!! on the GROUND. (EST_Dirt - in material property) PowerShield - classic Shield from UT, 150 point, take 100% damage UnrealArmor - armor, 100 point, take 75% damage UnrealSuit - protective suite, 50 point, take 75% damage. Full protect from damagetype: frozen, FellLava, Corroded. JumpBoots - skin from UT, action as Unreal SCUBAGear - rechargeable aqualung. TNTcartridge - T.N.T. like Flare, but more damage (100). VoiceBoxPickup - ultrasonic oscillator, give damagetype ultrasonic. TranslatorPickup - classic Translator, but carry a kill statistic. ----------------------------------------------------------------------- 5 - Weapon The barest necessity to create all weapon cause for a variety of reasons. First of all, when you teleporting to next level, weapon tranfer, but ammo not. For fixing this problem, it was need modify base class Weapon. Besides, dropped weapon disappear, in 8 sec. Some weapon also modified to my liking. CU_AutoMag - almost classic automag damage - 17 pickup - CU_AutoMagPickup ammo - CU_AutoMagAmmoPickup model - from forum Unreal.ru (SDVenom) CU_BioRifle - as original in UT2004 pickup - CU_BioRiflePickup ammo - BioAmmoPickup CU_DispersionGun - power self-charging Kraal's weapon. base damage - 20 alternative damage 20 - 140 pickup - CU_DispersionGunPickup model - from Unreal2 CU_FlakCannon - unlike original Flack, in alternative add 50% player velocity to projectile pickup - CU_FlakCannonPickup ammo - FlakAmmo CU_Minigun - no change pickup - CU_MinigunPickup ammo - MinigunAmmo CU_RazorJack - almost classic RazorJack from Unreal1. Alternative - melee weapon Change phisics razors: in water quickly reduce velocity, in wood - get stuck, therefore don't forget set SurfaceType in material properties. damage - 40 alternative damage 80-120 pickup - CU_RazorJackPickup ammo - CU_RazorAmmoPickup model - from forum Unreal.ru (SDVenom) CU_RocketLauncher - change: rocket flying with acceleration, in combo fire throw 1-3 grenade. Air-blast in 1.5 powerful. pickup - CU_RocketLauncherPickup ammo - RocketAmmo CU_ShockRifle - change: shock core reduce to original UT value. pickup - CU_ShockRiflePickup CU_SniperRifle - instead of instanfire, shoot projectile. Bullet can ricochet at acute angle. pickup - CU_SniperRiflePickup ammo - ClassicSniperAmmoPickup CU_ShotGun - damage 8 x 15 (projectile) pickup - CU_ShotGunPickup ammo - CU_ShotGunAmmoPickup model - from Unreal2 CU_StingerWeapon - like original Stinger from Unreal1. in the wood surface shards get stuck. Ricochet at acute angle. damage - 20 pickup - CU_StingerPickup ammo - CU_StingerAmmoPickup model - from forum Unreal.ru ( Alexander #DeAtH# ) Credits Interface for save/load gemes from punk129 http://punk129.com/unrealediting Nightvision - http://wiki.beyondunreal.com/wiki/Nightvision some code for Monsters from Satore (satoreMonsterPack) For animation RazorJack and AutoMag thanks Dmitriy (SDVenom) Idea stats window and some code for CodePanel from OldSkool (UT99) Beta testers: SDVenom, Exodus, Nikoderiko, Chuzhoi, Skaarj_LV from forum Unreal.ru Mod autor Sergey Mazanov ( vampirus ) www.unrealmod.nm.ru ( unrealmod@nm.ru ) You can use all mod or it's part at yuor at discretion, but don't forget a mention of the website and autor. Good Luck in Unreal editing. .