Мод "Unreal Classic" предназначен в первую очередь для Левел Дизайнеров, которые хотят делать сингловые уровни в стиле первого Unreal на движке UT2004. Используя его как основу для любого сингл мода, можно очень быстро создавать уровни. Для создания своего сингла достаточно создать первую карту с префиксом CU- и эта карта будет видна в обозревателе карт при старте. Остальные уровни желательно называть без префикса. Переход между уровнями нужно осуществлять с помощью телепортера, желательно использовать новый телепортер LevelTeleporter. Мод "Unreal Classic" обладает одной интересной новинкой. Можно построить нелинейное прохождение игры, то есть уровни объединяются в сетевую структуру и можно перемещаться по ним в любом направлении, т.е. можно вернуться на пройденный уровень и там все будет так, как Вы оставили в последнее посещение. За это отвечает актор с названием Terminator. Он уничтожает всех монстров и декорации, которые были уничтожены при предыдущих посещениях, а так же выключает отработавшие триггеры и переводит муверы в конечное состояние(если они сработали от триггера) LevelTeleporter создает профайл с Именем игрока и префиксом, который должен совпадать с аналогичным префиксом актора Terminator. Префикс желательно ставить уникальный для каждого синглмода. Для того, чтобы эта конструкция работала необходимо так же каждому уровню давать уникальный параметр Title. Если вы хотите пройти игру заново или при тестировании необходимо удалить соответствующий профайл из папки Saves. В мод добавлена еще такая фишка как моушен блёр, это размытие изображения на экране при движении и повороте. Этот эффект включается, когда некоторые монстры атакуют вас в ближнем бою. Так же добавлен тип повреждений Frozen, движение игрока замедляется на 30%. Этот тип повреждений наносит IceSkaarj. У игрока по умолчанию имеется прибор ночного видения - надо только забиндить соответствующую кнопку в общих настройках управления. Заменено так же все оружие - в каждом добавлена какая ни будь фишка. Есть дисперсионный пистолет, RazorJack. Подробное описание оружия в соответст- вующем разделе. Посколько я не хочу, чтобы в мой мод играли читеры, все читы отключены. Включить их можно только для тестирования, для этого наберите в консоле Testmode, затем можно использовать команды God и тому подобные. При включении тестового режима отключается сохранение, поэтому можно пройти с читами всю игру только за раз. Читы отключены, чтобы даже у нормальных игроков не возникало желания ими воспользоваться. Например, автор мода старается придумать какую ни будь загадку или хитрость в прохождении, а игрок помучившись 10 минут, решает включить режим God или Ghost, и пройти трудное место - это есть неуважение к разработчику уровня. У игрока отключены дабл джампы и волдоджи - есть только обычный классический доджинг. ShieldGun тоже отсутствует - иначе слишком легко играть. Жизнь тоже только одна - если убили, начинай игру сначала. В игру добавлено так же классическое сохранение, Кодовая панель, транслятор, весь классический армор и Дампбутсы. Каждый монстр разлетается на свои собственные джибсы. Используйте актор vSpawnTrigger для неожиданного появления монстров. Ставьте два vSpawnPoint в коридоре и 3 или более на открытой местности, тогда появившийся монстр всегда окажется за спиной у игрока. На станицу Правила, при запуске игры добавлена опция "New Reality" - если её включить, то игрок будет видеть сам себя в зеркале или посмотрев вниз. Камера привязана к голове модели игрока, когда игрок бежит то она покачивается. Эффект полного присутствия в игре гарантирован. При выводе окна ScoreBoard (F1 - обычно) Можно посмотреть статистику по убитым монстрам, но только если у игрока есть Транслятор. Эта статистика переносится в нем с уровня на уровень. Далее следует описание акторов. 1 Монстры. Перенесены все монстры из Unreal и Unreal: Return to NaPali. Существенно изменен AI контроллер монстров. Введена система начальных приказов. Когда монстры стоят, то они воспроизводят соответствующую приказу анимацию ожидания. Приказы задаются переменной vOrders: OT_Waiting - для всех, монстр стоит и воспроизводит некоторые движения. OT_Wandering - для всех, монстр ходит вблизи точки респауна (или летает) OT_Patroling - для всех, монстр патрулирует между заданными PatrolPoint OT_Sleeping1 - только Kraal, он спит стоя OT_Sleeping2 - только Kraal, он спит лёжа OT_Sleeping3 - только Kraal, он спит полулежа OT_DicePlayer - только Kraal, играет в кубики OT_ButtonPusher - только Mercenary и Skaarj, нажимает кнопки на стене OT_Talker - только Mercenary, стоит и разговаривает OT_Squatter - только Mercenary, сидит на корточках и что-то обсуждает OT_Mutilating - только Warlord, он кушает труп предыдущего игрока Если монстру задан приказ не предназначенный для него, то выполняется OT_Waiting. Каждый монстр разлетается на свои собственные джибсы. Переменные: HealthModifier - если не равна нулю, то задает здоровье монстру. vReducedDamTypes - тип повреждений к которым монстр нечуствителен vReducedDamPct - коэффициент уменьшения повреждений ( 0 - нет дамаджа) vWeakDamTypes - тип повреждений к которым монстр более чуствителен vWeakDamPct - коэффициент увеличения повреждений vOrderTag - Tag для патрулирования - должен соответсвовать Tag первой патрол поинт. bTeamLeader - True для одного из Kraal-ов играющих в кубики. vTeamTag - название Группы, для монстров играющих в кубики. WarningRadius - радиус оповещения сородичей (для Predator) bMeleeFighter - если True, то монстр подбегает вплотную, если False соблюдает дистанцию DeathEvent - событие вызывается после смерти любого vMonster. vSlith - нечуствителен к повреждениям от биорайфла. vTitan - после смерти вызывает событие DeathEvent vNali - четырехрукий местный житель, если нет скрипта то игнорирует игрока. Если в него выстрелить, то будет бояться и отступать, затем если зайти за угол, то он исчезнет через некоторое время. Ему можно задать скриптованные действия, для этого поставьте AIScriptTag и используйте как образец готовый скрипт NaliScript. NaliPriest - тот же нали, но с другой раскраской и другой анимацией ожидания. NaliGhost - призрак Нали, прозрачный, нельзя ранить, но может выполнять скрипт. vWarLord - после смерти вызывает событие DeathEvent, и взрывается ядерным взрывом, после этого вокруг действует некоторое время радиация. Если игрок стоит на месте не двигаясь, то WarLord телепортируется в него. Здесь не спасает даже режим бога. vQueen - после смерти вызывает событие DeathEvent, постоянно рождает вокруг себя SkaarjPupae, максимальное количество которых задается в MaxChildren. vKrall - может играть в кубики, для этого надо поставить 3 краала в кружок, одному из них поставить bTeamLeader=True, всем дать одинаковый vTeamTag и vOrders=OT_DicePlayer По сравнению с оригинальной версией добавлен звук шагов. vEliteKrall - отличается окраской, большим здоровьем и большими повреждениями. vSkaarj - может претворяться мертвым, после смерти иногда из него выходит черный призрак которого нельзя убить. Если присесть когда он выполняет удар своими лезвиями с разворотом, то повреждений нет. vSkaarjLord - отличается раскраской, большим здоровьем и размерами. vSkaarjBerserker - отличается раскраской, большим здоровьем и размерами, а так же дерется с любым монстром который его заденет. vIceSkaarj - отличается раскраской, и имеет тип повреждений Frozen - замедляет противника. От замедления спасает надетый Protective Suit. vTentacle - висит и стреляет. Если вы спрятались за ящик - то стреляет в голову. vSquid - Спрут, живет в водоемах, бороться с ним легко, так как прежде чем укусить он разворачивается. vSpinner - паук из Return to NaPali, плюется кислотой. vRazorfly - кусачая муха vPredator - динозавр, охотится стаями. При виде игрока громко кричит, созывая сородичей, радиус призыва задается переменной WarningRadius. Иногда пули отскакивают от него. vNaliRabbit - кролик, амбиент монстр. vNaliCow - амбиент монстр, но если стрельнуть в нее то будет кусаться. vMercenary - наемник, можно задать начальные действия с помощью системы приказов. иногда включает защитное силовое поле, которое нужно пробить равносильно армору в 300 единиц. В ближний бой не лезет. vMercenaryElite - отличается окраской, здоровьем, использует самонаводящиеся ракеты. vManta - можно сделать как сидящую, так и летающую (при старте уровня). В отличие от оригинальной версии наносит повреждения не при столкновении (event Bump) а при ударе хвостом (в середине анимации) vGiantManta - отличается большими размерами, здоровьем и наносимыми повреждениями. vGasbag - не лезет в ближний бой, постреливает издалека vGiantGasbag - большее здоровье, иногда рождает пару детишек. vDevilFish - кусачая большая рыбка, плавает в воде. Если нет энеми, по плавает только на одном уровне (не меняя высоту) vBrute - Не может стрейфится, стреляет только когда стоит. vBehemoth - больше здоровья, может стрелять во время движения. vBrutty - может стрейфится, предпочитает ближний бой. vSkaarjPupae - прыгает и кусается vBird - амбиент птичка, летает высоко в небе. Настройки: CircleRadius - радиус круга полета птички, bCircle - если True то траектория полета похожа на круг, в противном случае меандр. FlockPawn - отдельный класс амбиент монстров. BiterFish - маленькая рыбка, живет в водоемах, напрямую помещать на уровень нельзя. BiterFishSchool - актор создает и контролирует стаю рыбок. Настройки: schoolsize - количество рыб в стае schoolradius - радиус удаления рыб от центра стаи bNonAggressive - если True кусаться не будут fishcolor - от 0 до 4 вся стая будет определенного цвета, если больше 5 то рыбки в стае будут разного цвета. HorseFly - муха, летает и жужжит, напрямую помещать на уровень нельзя. HorseFlySwarm - создает и контролирует стаю мух. Помещайте на уровень в качестве декорации. После смерти монстров мухи не появляются. swarmsize - количество мух, swarmradius - радиус стаи. Гвардия последнего часа (очень крутые ребята, меши и скины скарджей из UT2004, и соответственно оружие оттуда, здоровье 300 единиц) SkaarjGuard - гвардеец с флэком, предпочитает бегать вокруг и не приближается вплотную. SkaarjBio - гвардеец с биорайфлом SkaarjGunner - гвардеец с миниганом, предпочитает подбегать и стрелять в упор. SkaarjRazor - гвардеец с RazorJack SkaarjRocket - гвардеец с рокетлаунчером, не подбегает вплотную, стреляет в ноги SkaarjSniper - гвардеец со снайпой. Стоит на позиции куда его поставили, если подойти слишком близко, тогда начинает стрейфится. 2 Акторы. ACTION_PlayClassicAnim - исправляет глюки с воспроизведением анимации при задании скриптованых действий. vZoneInfo - исправлен баг стандартного актора ZoneInfo, связанный с неправильным оределением скайбокса, если их 2 или 3(для разных уровней детализации) CUMessageTrigger - триггер для передачи важных заданий игроку. Используется в ключевых моментах игры. Выводит на экран окно с большим количеством текста, при этом игра ставится на паузу. Настройки: SendingMessage - текст основного сообщения, для прехода на новую строку используйте символ "|" (без кавычек). ContinueMessage - продолжение сообщения, поскольку информация хранящаяся в переменной типа "String" ограничена по размеру. PromptSound, bEnabled - это понятно и без объяснения. Образец готового сообщения на карте CU-Test-NewWeapon2 ActorFactory - актер для спауна монстров или любых акторов во время игры. За образец взяты коды из Unreal2. Очень много настроек, используется совместно со SpawnPoint (может иметь до 16 точек респауна) и обычным триггером для запуска. Подробные настройки смотрите в кодах ActorFactory и SpawnPoint. Вот лишь краткие: Prototype - прототип (кого спаунить) MaxItems - количество одновременно существующих акторов Capacity - общий запас акторов на складе. Interval - средний интервал между спаунами bCovert - если True, делать только спауны из тех точек, что за углом, за спиной все равно не будет спауна. bCycleSpawnPoints - если True, то спауны производятся циклически по всем точкам, в противном случае случайно. PawnFactory - используйте этот актор для спауна монстров. SpawnPoint - точки респауна для ActorFactory (PawnFactory). Имеют кучу настроек для задания свойств созданных объектов. vSpawnTrigger - Триггер для спауна монстров. Это улучшенный и в тоже время упрощенный вариант ActorFactory. Может срабатывать сам как триггер или от внешнего триггера. Вместе с ним надо использовать vSpawnPoint (до 8 шт) vSpawnTrigger производит только одного монстра за раз. Его лучше всего использовать для неожиданного появления монстров. Для этого в проходе ставиться vSpawnTrigger и два vSpawnPoint впереди и сзади по проходу. Как бы игрок не осматривался по сторонам, монстр всегда возникнет за спиной. На открытой местности лучше использовать 3-4 точки респауна и несколько запускающих триггеров. Настройки: Prototype - прототип монстра bEnabled - включен или выключен bTouchEnabled - если True, то сам срабатывает как триггер bCovert - только Hidden Spawn (за спиной) bCanRestart - может снова быть взведен SpawnOffsetZ - Высота спауна монстра над vSpawnPoint RestartInterval - интервал времени для повторной активации SpawnPointTag - таг для vSpawnPoint относящихся к данному vSpawnTrigger ST_Health - если не равно нулю, то задает начальное здоровье монстра. vSpawnPoint - точки респауна для vSpawnTrigger. Имеют два настраиваемых свойства Tag и направление. Именно в эту сторону будет повернут отреспаунившийся монстр. CodePanel - Кодовая панель для открывания дверей и включения (отключения) других объектов, это триггер. При старте уровня он генерирует случайный код и вставляет его в translatorevent вместо %с (но не %С) Сам же translatorevent можно настоить так, чтобы он оказался в любой точке уровня случайным образом. Таким образом, повторно проходя игру мы не знаем ни нового кода ни места его нахождения. Когда игрок подходит к CodePanel, то на экране появляется окно, в котором надо набрать код. Настройки: MinNumber- минимальное число для кода (например 1000) MaxNumber- максимальное число для кода (например 99999) TranslatorTag- таг того translatorevent, в которое надо вставить код ClearenceMessage- сообщение игроку при правильном набранном коде FailureMessage- сообщение игроку при неправильном введенном коде MyName - уникальное имя кодовой панели (должно быть разным для всех панелей мапы. FailureEvent- событие посылаемое при неправильно введенном коде (напр. тревога) bEnabled - панель работоспособна LinkedTag - таг для связанных панелей(только одна из них должна иметь TranslatorTag) DisableOnCorrect - при правильно введенном коде панель становится неактивной MyCode - если стоит -1 (минус один), то код генерируется случайно. NaliScript - заранее составленный скрипт для Nali: Нали ждет игрока, бежит пару шагов, поворачивается к игроку, машет ему рукой, ждет его, бежит, дает скааржу "команду" напасть на него, если останется жив, снова ждет игрока, бежит дальше, снова ждет, открывает секретную дверцу, медетирует и растворяется в воздухе. Пример работы NaliScript можно посмотреь на карте CU-Test-Nali vTriggerLight - исправлен баг обычного TriggerLight, который существовал еще со времен первого Unreal и не был устранен ( для состояния TriggerPound ) PatrolPoint - навигационная точка для задания маршрута патрулирования монстров, если они имеют приказ OT_Patroling. Первая точка маршрута должна иметь Tag равный vOrderTag у монстра. Nextpatrol задает Tag следующей точки патрулирования, pausetime - задает время остановки монстра на точке. Количество точек создающих единый маршрут не ограничено. Пример создания маршрута, а так же некоторую начальную анимацию монстров можно посмотреть на карте CU-Test-Animation, надо заходить в нее в качестве спектатора. LevelTeleporter - Заменяет стандартный телепортер для перехода между уровнями. Для точки входа на следующий уровень нужно использовать обычный телепортер. Как он работает: После касания игроком проверяется существует ли уже профайл с нужными параметрами, если да то запись информации о состоянии пройденного уровня записывается в него, если нет, то создается профайл с именем игрока и префиксом заданным переменной profPrefix. Затем в этом профайле ищется Уровень с параметром Title - вот почему титл всех уровней должен быть разным и не равным дефолтному. Затем в базу данных нужного уровня записывается информация о состоянии всех динамических акторов: Name, bCollideActors, Health (только для монстров) и KeyNum для муверов. После этого профайл сохраняется на диске в папке Saves и игрок отправляется на следующий уровень. Terminator - (Actor > Triggers > Terminator) этот актер работает в паре с LevelTeleporter. Он помещается на уровень в любом месте в одном экземпляре. Через 0.05 сек после события PostBeginPlay() (это необходимо чтобы все акторы успели инициализироваться) он начинает уничтожать акторов следующих классов: Pickup UnrealDecoration vEffects Vehicle FlockPawn vMonster если те отсутствуют в списке сохраненных акторов. Затем для монстров устанавливается здоровье, всем триггерам имевшим bCollideActors = False (отработавшим) ставится такая же коллизия. А всем муверам имевшим положение отличное от KeyNum=0 посылается событие Trigger. Необходимо, чтобы префикс profPrefix был таким же как у LevelTeleporter. Вы можете легко подправить список уничтожаемых акторов и их свойств подправив коды установленного на уровень терминатора, приспособив его под специфические объекты. Вы так же можете сохранять пару дополнительных свойств, для этого в объекте UClassicProfile зарезервирована одна булева и одна векторная переменная для каждого актора. Объекты LevelTeleporter и Terminator являются моим изобретением, хотя и не запатентованым. Вы можете посмотреть пример работы этих акторов на картах: CU-Test-CodePanel2 и CU-Test-Seeds ExplodingWall - перенос классического эффекта на новый движок, для создания эффекта разрушаемой стены. BreakingGlass - специализация предыдущего актор для нужд бьющегося стекла FlameA - меш для классического пламени, можно использовать для отображения любого спрайтового объекта, например телепортера. Для этого ставится DrawType=DT_Sprite и подбирается нужная текстура. vGib - класс классических джибсов монстров, каждый монстр разлетается на свои собственные кусочки. Можно напрямую помещать на уровень как декорации. 3 Декорации UnrealDecoration - класс декораций, обладает несколькими важными отличиями от просто Decoration их можно толкать, разрушать, из них выпадают предметы после разрушения, при выполнении функции Destroy(), они не взрываются в отличии от обычных, а тихо исчезают (важно для правильной работы актора Terminator) Настройки: sound ImpactSound - звук при ударе class content1 - содержимое ящика (инвентарь) class content2 - если не равно None, то из ящика случайным образом появится или инвентарь или монстр. class content3 - аналогично, но можно положить любого актора Все декорации можно посмотреть на карте CU-Test-brute Мною введено пару новшеств. Если деревянный ящик находится в воде, то если он пуст, то всплывает, а если с содержимым то тонет. Так же если встать на плавующий предмет или поставит что-то, то он немного опускается ниже. Если два ящика плавают и стоят друг на друге, то нижний немнго затопляется, а если разрушить верхний, то нижний всплывет выше. Barrel - деревянная бочка, разрушаемая. Book, BlueBook, YellowBook, GreenBook - книги. SecurityBook - разновидность книги, служит для случайного распределения сообщений транслятора по карте. Chair - стул. Chest - сундук. Knife - Нож. LampA, LampB - настольные лампы. PotteryA, PotteryB, PotteryC, Vase - вазы. Urn - урна. Sconce - подсвечник, неразрушаемый. SteelBox - стальной ящик, неразрушаемый. SmallSteelBox - маленький стальной ящик. WoodenBox - деревянный ящик. SmallWoodBox - маленький деревянный ящик. SteelBarrel - маленькая железная бочка, при повреждении слегка сминается. TarydiumBarrel - взрывающаяся бочка с таридиумом Table - деревянный стол. SwingWire - извивающийся оборванный электрический кабель с искрами на конце, по нему можно стрелять и он отклоняется в сторону. 4 Инвенторий и здоровье. Полностью восстановлена система классического армора, и весь инвентарь. UnrealHealthPack - внешне, классическая аптечка из Unreal, но дает 50 ед. здоровья. NaliFruit - классический нали фрукт, но добавляет здоровье свыше 100 (макс 199) NaliSeeds - семена NaliFruit, при взятии добавляется в инвенторий, если кинуть то вырастет NaliFruit, но!!!!!! - проверяет тип поверхности и вырастает только на почве- EST_Dirt. Поэтому не забывайте правильно выставлять SurfaceType на текстуре. Это так же используется в некотором оружии. PowerShield - классический шилд, дает 150 защиты, принимает на себя 100% повреждений. UnrealArmor - классический армор, 100 защита, поглощает 75% дамаджа. UnrealSuit - защитный костюмчик, 50 защита, 50% поглощения, но!!! полностью защищает от лавы, кислоты и замораживания ( vIceSkaarj ) JumpBoots - классические прыгательные сапоги из Unreal (не самоактивируются) SCUBAGear - перезаряжаемый акваланг, при работе испускает пузырики, которые дают круги при достижении поверхности. Протестировать можно на карте CU-Test-Fish. TNTcartridge - динамит, аналог Flare но дает больше повреждений - 100 VoiceBoxPickup - ультразвуковой излучатель, дает повреждения близкорасположенным объектам. Теоретически можно использовать для разрушения стеклянной перегородки, которую нельзя разрушить обычними оружиями. Для этого надо настроить стекло на дамадж DamTypeUltrasonic. А сам войсбокс спрятать в укромном уголке уровня. TranslatorPickup - классический транслятор. На него можно забиндить отдельную клавишу. Так же он выполняет функцию хранения статистики по убитым монстрам, для переноса с уровня на уровень. TranslatorEvent - сообщение для транслятора, имеет следующие настройки: Message - сообщение для транслятора. AltMessage - альтернативное сообщение. bTriggerAltMessage - если True, то от ивента Trigger Message и AltMessage меняются местами. ReTriggerDelay - задержка повторной активации. bRandomLocation - При True, при старте уровня, сообщение перемещается случайным образом в точки расположения SecurityBook, имеющие Tag равный SecutityTag. Для того, чтобы в сообщение транслятора был вставлен секретный код от CodePanel, в тексте надо разместить символы %с (с- маленькая, латинская) 5 Оружие. Необходимость создания полностью всего оружия была вызвана несколькими причинами. Первая и основная - при переходе на другой уровень, оружие переносилось, а патроны сбрасывались (добавлялись) до начальных значений. При сетевом построении уровней это было нежелательно, потому что игрок мог просто вернутся на пару секунд на пройденный уровень и придти обратно с полными магазинами. Для фиксации этого бага необходимо было внести изменения в базовый класс Weapon, а это можно только в официальном патче. Кроме того брошенное оружие исчезает через 8 сек, а если вы сражаетесь с несколькими монстрами, то не успеете подобрать. И еще, давно хотелось внести некоторые изменения в физику оружия. Если перенести 6 файлов: FireTextures.utx, CUWeaponPack.u, CUWeaponPack.ucl, CU_WeaponsAnim.ukx, CU_WeapTextures.utx, CU_Static.usx в соответсвующие основные директории UT2004, то можно играть обычный дезматч с новыми оружиями, включив мутатор "Unreal Classic Weapons". Все оружие можно быстро протестировать на карте CU-Test-NewWeapon2 Далее следует описание оружия. CU_AutoMag - Почти классический пистолет, основной огонь - все пули летят в цель, альтернативный огонь - стреляет быстрее но пули летят с разбросом дамадж 17, пикап - CU_AutoMagPickup, патроны - CU_AutoMagAmmoPickup модель как в UT99, взята из мода SDVenom-а. CU_BioRifle - без изменений. пикап - CU_BioRiflePickup, патроны - BioAmmoPickup. CU_DispersionGun - по действию напоминает классический DispersionPistol основной огонь - 20 дамадж альтернативный - 20-140, сплэш повреждения, автоспуск при максимальной зарядке. пикап - CU_DispersionGunPickup, патроны не обязательно. модель взята из Unreal2. Выстрелы как в оригинальном Unreal. CU_FlakCannon - отличия: основной огонь - осколки летят по прямой только 0.2 сек, затем преходят на физику PHYS_Falling. Свечение(след) только вначале. дамадж -16. Альтернатива - при вылете плюшки, к ней добавляется половина скорости игрока, т.е. в прыжке вперед плюшка летит дальше, при движении вбок получает боковую скорость. По моему более физически реально и становиться труднее стрелять (улучшения баланса) пикап - CU_FlakCannonPickup, патроны FlakAmmo. CU_Minigun - без изменений пикап - CU_MinigunPickup, патроны - MinigunAmmo. CU_RazorJack - почти классический RazorJack, но в альтернативном режиме действует как штык (MeleeWeapon) сильно улучшена физика полета лезвия, в воде оно быстро останавливается, при попадании в землю исчезает а в дереве застревает. Поэтому не забывайте правильно выставлять SurfaceType на текстуре. Дамадж лезвия - 40, в голову 80, В голову монстра 120. альтернатива - дамадж 50. Пикап CU_RazorJackPickup, патроны CU_RazorAmmoPickup CU_RocketLauncher - изменения: ракета летит с ускорением, в третьем режиме вместо крутящихся ракет кидает гранаты (1,2 или 3) Дамадж гранат 110 (дополнительно взрывается топливо) Взрывная волна в 1,5 раза сильнее, поэтому можно делать рокетджампы. Пикап - CU_RocketLauncherPickup патроны - RocketAmmo CU_ShockRifle - Изменения: диаметр области попадания по шарику уменьшен в 2 раза ( стал как в классическом UT ) Пикап - CU_ShockRiflePickup CU_SniperRifle - изменения коснулись приближения к реальной физике. Стреляет не мгновенно, а выпускает пулю, которая летит какое-то время и может рикошетить под острым углом. Против Скаарджа со снайпой это дает возможность уходить от поражений, специальной тактикой и маневрами. пикап - CU_SniperRiflePickup, патроны - ClassicSniperAmmoPickup CU_ShotGun - новое оружие, имеет только один режим стрельбы, максимальное повреждение за один выстрел в упор - 120, пули летят не мгновенно. пикап - CU_ShotGunPickup, патроны, CU_ShotGunAmmoPickup. Модель шотгана взята из Unreal2. CU_StingerWeapon - классический стингер из первого Unreal, модель взята с форума Unreal.ru Но все остальное основательно переработано. Таридиумовые шарды правильно отцентрованы, текстура шарда упрощена, чтобы не было тормозов. При попадании в дерево шарды застревают, при попадании на твердую повехность под острым углом - рикошетят, под прямым углом- разлетаются на мелкие кусочки. Пикап - CU_StingerPickup патроны - CU_StingerAmmoPickup. Дамадж одного шарда - 20. Благодарности: За основу интерфейса сохранения взят код от punk129 http://punk129.com/unrealediting Прибор ночного видения http://wiki.beyondunreal.com/wiki/Nightvision Для некоторых монстров за основу взяты коды от Satore (satoreMonsterPack) остальная часть мода (95%) написана мной: Сергей Мазанов (vampirus) vampirus@sarkor.uz За анимацию RazorJack и AutoMag спасибо Дмитрию (SDVenom) Идея и часть кодов окна статистики и кодовой панели взята из мода OldSkool (UT99) Модель стингера взята с форума Unreal.ru ( Alexander #DeAtH# ) Помощь в бета-тестировании: SDVenom, Exodus, Nikoderiko, Chuzhoi, Skaarj_LV, с форума Unreal.ru .