Unreal Playground  

Go Back   Unreal Playground > Games > Unreal Tournament 2003/2004 > UT2K3/UT2K4 Mods/Mutators > Old Skool Monsta Toolz

Old Skool Monsta Toolz OSMT and the OSM Adventure gametype. Monsters and Puzzles and Traps! Oh, my!

Reply
 
Thread Tools Rate Thread Display Modes
Old 04-19-2006, 05:30 PM   #1
SuperApe
Registered Monkey
 
SuperApe's Avatar
 
Join Date: Jan 2004
Location: Inna Jungle
Posts: 6,044
Downloads: 6

Old Skool Monsta Toolz Development

Old Skool Monsta Toolz

The Toolset for Old Skool UT-style Monster Support in Unreal Tournament 2004

Current version : v1.4



Overview

This is a set of tools that you can use to implement complex monster behavior in any gametype. It also includes a new gametype, OSM Adventure (OSM) with progressive objectives conquering puzzles, traps and monsters.

Download

Current version : OSMT v1.4 ( ~ 499k .zip )
Release date : Dec 31, 2006

Installation instructions are available in the ReadMe file.
There is also a Manual and Development Log included.

ScriptedMonster

This is a new class of Pawn (subclass of Monster) and the parent class for all the new "Monstas" in this toolset. They can be placed in any gametype map without any of the typical problems like team imbalance and Invasion-style teleporting. They are much more sophisticated than Invasion Monsters. The main abilities that mappers will use are available through the AttitudeToPlayer, AlarmTag and Orders properties. Essentially, you can give the monsters much more to do than just, "go kill players until you're dead".

ScriptedMonster Orders and states

The Orders property is one of the most powerful "new" Old Skool Monsta features. In conjunction with the OrderTag, other properties and other actors, the Orders property can dramatically change the way ScriptedMonsters behave in your map. Here are some of the valid Orders available to all ScriptedMonsters:

Waiting : (default) Wander or Camp nearby the placed spot until an Enemy is detected. Attack and freely roam afterwards.

Ambushing : Travel to an AmbushPoint (or spawn at one at map start) whose Tag matches OrderTag, wait for an Enemy, then Attack. Find an AmbushPoint again after combat and wait for another player.

Guarding : Guard an actor whose Tag matches OrderTag. Remain near and return to the placed spot after combat.

Patroling : Travel from one PatrolPoint (or spawn at one at map start) whose Tag matches OrderTag to the NextPatrol in a series, leave for combat and return to patrol afterward.

Some other behaviors ScriptedMonsters will automatically demonstrate include the Retreating state, where hurt (and afraid) monsters will flee to a HomeBase whose Tag matches the monster's Tag, and the Alarm states (TriggerAlarm and AlarmPaused), where an "alarmed" monster (one who has seen an Enemy for the first time) moves to an AlarmPoint, whose Tag matches the monster's AlarmTag, at all costs and possibly shoot a target, activate a trigger, etc.

In addition to these general behaviors, individual monsters may also have special Orders or behaviors. A couple examples include, the Krall which have a Sleeping Order that can be used in conjunction with one of the sleeping animations set in the StartingAnim property, and the Warlord has a Mutilating Order that will cause the Warlord to continually kick, punch and munch on a long dead carcass until an Enemy is seen.

Mapping AI Tools

There are several AI supporting actors that are included in this toolset. Some are placed or used automatically by the Pawn and Controller code of the new Monsters, but many are provided for use by mappers to help define the AI for the monsters in their map. Many are NavigationPoints, like AlarmPoint, AmbushPoint, HomeBase, PatrolPoint and SpawnPoint. Some are KeyPoints, like ThingFactory and CreatureFactory. All are adaptations of the original AI supporting actors from old style Unreal and work accordingly.

Reference Sources

There is a lot of information on Unreal Wiki, including info relating to the individual monster abilities and behaviors as well as the AI supporting actors. There is a Manual included with the package as well that gives some rudimentary information. Also, since these tools are meant to mimic the abilities of the original UT AI, the old document Unreal Creature Care and Feeding Guide by Steven Polge is another excellent source for information.

OSM Adventure

This is a custom story-driven gametype for maps with the OSM- prefix, that is capable of presenting singleplayer and cooperative adventures. This gametype will not show up in the UT2004 menus until an OSM-MapName map is in your .../UT2004/Maps directory. It's LevelInfo.DefaultGameType is OSMT.OSMGame. It should not allow bots or spectators. It has optional player-configurable MaxLives limits and TimeLimits, but no GoalScore limit. This gametype supports intro and "outtro" matinees, similar to Assault, as well as mid-level matinees, for achieving intermediate Objectives. It also supports mapper-configured per Objective timelimits. The "win" (EndGame) for the level is Triggered by the OSMEndGameTrigger, included in this toolset, which can be configured by the mapper to end the adventure a number of different ways, or simply continue on to another map (or "chapter" of the adventure) via Level Transition.

Installation

To use this toolset, simply install the OSMT.u and OSMT.ucl files in your .../UT2004/System directory and the OSMTex.utx file in your .../UT2004/Textures directory. In Ued, you will be able to open the OSMT.u package file from the Actor browser. Once the package has been opened, all the toolset actors will be available to add to your custom map.

OSMT.u ---> .../UT2004/System
OSMT.ucl -> .../UT2004/System
OSMT.utx -> .../UT2004/Textures

Mapper Guide

Mappers are free to use these tools and the components in their custom maps. However, the OSMT.u and OSMTex.utx package files, the OSMT_ReadMe file, the OSMT_DevLog and this OSMT_Manual must be included in the distribution of that custom map. In addition, I give permission for mappers to use these tools in their custom map if they will also please credit me in their own ReadMe file for that custom map.

>>> Warning <<<: Any map that uses the components found in this toolset *must* be able to access to the OSMT.u and OSMTex.utx package files or the map will fail to load properly. Do not attempt to distribute a custom map with these components without the OSMT.u and OSMTex.utx package files or you will get complaints by end users that your map won't load.

The OSM Adventure gametype is designed for Players to "run the gauntlet" among monsters, traps and puzzles to get to the end and win. They are given a limited number of lives and a timelimit, but no goal (score) limit. Players should start out with a limited number of weapons and other powerup items at their disposal. The advercity they face should be likewise limited. As they progress, the monsters, traps and puzzles can get more difficult and the powerups and items they find can get more powerful to help them. At various stages within the map, after the player has achieved some goal, they should be allowed to start from that point, as opposed to starting fromt the beginning again. Monsters, traps and puzzles should be combined to offer more variety, in other words, a simple trap often seems "unfair" to players, however a trap that is combined with a puzzle or a monster can be more interesting. At the end of an adventure, use an OSMEndGameTrigger to end the map, either by leading the player to touch it or by using another trigger system (that the player instigates) to trigger it. See included Manual for more on mapping for OSM.

The Old Skool Monsta Toolz can be used in any gametype. However, it is up to the mapper / level designer to implement them in a way that offers more interest and challenge to players, rather than serving to frustrate and distract from player's enjoyment of the gametype. Be aware that monsters will attack all players equally, regardless of team. As a general rule, the monsters should be used to guard powerful alternative items or routes to game objectives, rather than to guard the game objectives themselves. Be aware that gametypes that allow vehicles are inheritently more dangerous for players and monsters alike. Most monsters are no match for vehicle weaponry and should be appropriately supported against players with vehicles.

Component List

Code:
(Object)
  +- (Actor)
  |  +- (Controller)
  |  |  +- (AIController)
  |  |     +- (ScriptedController)
  |  |        +- (MonsterController)
  |  |           +- ScriptedMonsterController
  |  +- (DamageType)
  |  |  +- (Burned)
  |  |  |  +- Burning
  |  |  +- (DamTypeKrallBolt)
  |  |  |  +- LesserBruteBoltDamage
  |  |  +- (DamTypeRocket)
  |  |  |  +- BehemothRocketDamage
  |  |  +- Poisoned
  |  |  +- Poisoning
  |  +- (Decoration)
  |  |  +- Carcass
  |  +- (Effects)
  |  |  +- KrallDice
  |  |  +- PoisonEffect
  |  |  +- VehicleFactorySpawnEFX
  |  +- HintItem 
  |  +- (Info)
  |  |  +- (GameInfo)
  |  |  |  +- (UnrealMPGameInfo)
  |  |  |     +- (Deathmatch)
  |  |  |        +- OSMGame
  |  |  +- OSMObjectiveManager
  |  |  +- (MapList)
  |  |  |  +- MapList_OSMAdventure
  |  |  +- (Mutator)
  |  |  |  +- OSMMutator
  |  |  +- (ReplicationInfo)
  |  |     +- (GameReplicationInfo)
  |  |        +- OSMGameReplicationInfo
  |  +- (Inventory)
  |  |  +- (Ammunition)
  |  |  |  +- (BruteAmmo)
  |  |  |  |  +- BehemothRocketAmmo
  |  |  |  +- (KrallAmmo)
  |  |  |  |  +- EliteKrallAmmo
  |  |  |  |  +- LesserBruteAmmo
  |  |  |  +- (SkaarjAmmo)
  |  |  |     +- IceSkaarjAmmo
  |  |  |     +- FireSkaarjAmmo
  |  |  +- Poison
  |  +- (KeyPoint)
  |  |  +- ThingFactory
  |  |     +- CreatureFactory
  |  +- (Mover)
  |  |  +- VariableTimedMover
  |  +- (NavigationPoint)
  |  |  +- AlarmPoint
  |  |  +- AmbushPoint
  |  |  +- GuardPoint
  |  |  +- HomeBase
  |  |  +- PatrolPoint
  |  |  +- SpawnPoint
  |  |     +- PortableSpawnPoint
  |  +- (Pawn)
  |  |  +- Dummy
  |  |  +- (UnrealPawn)
  |  |     +- (xPawn)
  |  |        +- (Monster)
  |  |           +- ScriptedMonster
  |  |              +- ScriptedCharacter
  |  |              +- SmartBrute
  |  |              |  +- SmartBehemoth
  |  |              |  +- SmartLesserBrute
  |  |              +- SmartFly
  |  |              +- SmartGasbag
  |  |              |  +- SmartGiantGasbag
  |  |              +- SmartKrall
  |  |              |  +- SmartEliteKrall
  |  |              +- SmartManta
  |  |              |  +- SmartCaveManta
  |  |              |  +- SmartGiantManta
  |  |              +- SmartNaliCow
  |  |              +- SmartPupae
  |  |              +- SmartSkaarj
  |  |              |  +- SmartIceSkaarj
  |  |              |  +- SmartSkaarjAssassin
  |  |              |  +- SmartSkaarjBerserker
  |  |              |  +- SmartSkaarjLord
  |  |              |  +- SmartSkaarjScout
  |  |              +- SmartWarlord
  |  +- (Pickup)
  |  |  +- (TournamentPickUp)
  |  |     +- (TournamentHealth)
  |  |        +- (MiniHealthPack)
  |  |           +- Antedote
  |  |           +- PoisonPickup
  |  +- (Projectile)
  |  |  +- (GasbagBelch)
  |  |  |  +- GiantGasbagBelch
  |  |  +- (KrallBolt)
  |  |  |  +- SmartEliteKrallBolt
  |  |  |     +- LesserBruteBolt
  |  |  +- (RocketProjectile)
  |  |     +- (SeekingRocketProj)
  |  |        +- BehemothRocketProj
  |  +- (SVehicleFactory)
  |  |  +- TeamVehicleFactory
  |  +- (Triggers)
  |     +- PoisonTrigger
  |     +- RandomTrigger
  |     +- (Trigger)
  |     |  +- ExclusionTrigger
  |     |  +- OSMEndGameTrigger
  |     |  +- OSMObjectiveTrigger
  |     |  +- PlayerAloneTrigger
  |     +- (UseTrigger)
  |        +- PlayerUseTrigger
  +- (ScriptedAction)
     +- ACTION_AssignMonsterToTeam
     +- ACTION_DummyReset
     +- ACTION_ExitVehicle
     +- ACTION_GiveGoodie
     +- ACTION_HealPawn
     +- ACTION_IfGameDifficulty
     +- ACTION_IfMonsterSeesEnemy
     +- ACTION_IfNumPlayers
     +- ACTION_Monsterize
     +- ACTION_PossessPawn
     +- ACTION_SetEnemy
     +- ACTION_SetOrders
     +- ACTION_SpawnMonster
     +- ACTION_SubTitleSwitch
     +- ACTION_TryToDrive
     +- ACTION_VehicleFire
     +- ACTION_VehicleFireStop
Credits

The original Unreal Monsters, animations, sounds and code structure by Epic Games, Inc.

The original AI structure was masterfully created by Steven Polge.

So, these monsters, tools and other actors are loving adaptations by me (SuperApe), based mostly on second-hand knowledge and accounts of the original ScriptedPawn abilities, behaviors and components.

Some miscellaneous improvements to settings, code and behaviors are original additions by me, meant only to enhance the original flavor of these creatures.

Special Thanks go to the Beta testers: AquaBlue, saka, outpt.co.uk, MortalPlague, Ironblayde, JoystickMonkey, n3m35i5, Sjosz, Boreas, harryhash, TexasGtar, Blitz, Lord_Simeon, King Mango, Hawkwind, Lecter and SabbathCat, and to all the helpful members of UnrealPlayground, especially TexasGtar, for their insight into how the old ScriptedPawn AI was used. Also a big thanks to Kingster and Blitz for facilitating our private beta testing subforum.

Family Photo

Top Row : SmartFly, SmartCaveManta, SmartGiantManta, SmartManta.

Middle Row : SmartWarlord, SmartGasbag, SmartGiantGasbag.

Bottom Row : SmartBrute, SmartBehemoth, SmartLesserBrute, SmartNaliCow, SmartKrall, SmartEliteKrall, SmartSkaarjPupae, SmartSkaarjAssassin, SmartIceSkaarj, SmartSkaarjBerseker, SmartSkaarjLord, SmartSkaarj, SmartSkaarjScout.
Attached Thumbnails
Click image for larger version

Name:	OSMGameScreenie.JPG
Views:	436
Size:	50.1 KB
ID:	35957  
__________________
- SuperApe

-= Unreal Geek =-= Flash Padawan =-= Animation Refugee =-


I donate to UnrealPlayground. How do you help UP?


Last edited by SuperApe; 03-24-2008 at 11:05 AM. Reason: Release Version v1.4
SuperApe is offline   Reply With Quote
Old 04-19-2006, 09:35 PM   #2
SuperApe
Registered Monkey
 
SuperApe's Avatar
 
Join Date: Jan 2004
Location: Inna Jungle
Posts: 6,044
Downloads: 6

In the spirit of, "A picture is worth a thousand words", I've decided to make an example map for OSM Adventure to show off some of the OSMT tools in action and to demonstrate how the OSM gametype can be implemented.

OSM Adventure mappers are encouraged to reverse-engineer this map to see how OSM works and for insight on ways you can use the available tools. Players are encouraged to simply download and enjoy this map.

Download : OSM-Gauntlet
__________________
- SuperApe

-= Unreal Geek =-= Flash Padawan =-= Animation Refugee =-


I donate to UnrealPlayground. How do you help UP?


Last edited by SuperApe; 09-21-2008 at 08:31 AM. Reason: Update link location.
SuperApe is offline   Reply With Quote
Old 04-19-2006, 09:38 PM   #3
SuperApe
Registered Monkey
 
SuperApe's Avatar
 
Join Date: Jan 2004
Location: Inna Jungle
Posts: 6,044
Downloads: 6

I'm done with a tutorial on the wiki called, Basic ScriptedPawn Tutorial. Just replace the word ScriptedPawn with ScriptedMonster and it becomes a resource for this toolset.

It's a step-by-step tutorial for Retreating, Alarm functions, Waiting, Ambushing, Patroling, Guarding, PawnSpecific Orders and Monster spawning. Again, these tools were meant to work just like the old ones (with a few additions to individual monsters, which I will elaborate on in the Manual), so you can follow the info on the wiki and on Steve Polge's Unreal Creature Care and Feeding Guide.
__________________
- SuperApe

-= Unreal Geek =-= Flash Padawan =-= Animation Refugee =-


I donate to UnrealPlayground. How do you help UP?


Last edited by SuperApe; 04-19-2006 at 10:24 PM.
SuperApe is offline   Reply With Quote
Old 04-19-2006, 09:42 PM   #4
SuperApe
Registered Monkey
 
SuperApe's Avatar
 
Join Date: Jan 2004
Location: Inna Jungle
Posts: 6,044
Downloads: 6

This thread is dedicated to announcements and links for the current version of the toolset.

(Ideas for further development belong on another thread. Mapping ideas or issues for OSM or other gametypes have their own threads. Beta testing has it's own thread.)
__________________
- SuperApe

-= Unreal Geek =-= Flash Padawan =-= Animation Refugee =-


I donate to UnrealPlayground. How do you help UP?


Last edited by SuperApe; 04-19-2006 at 09:59 PM.
SuperApe is offline   Reply With Quote
Old 04-19-2006, 10:26 PM   #5
SuperApe
Registered Monkey
 
SuperApe's Avatar
 
Join Date: Jan 2004
Location: Inna Jungle
Posts: 6,044
Downloads: 6

v0.95 beta released

Here are some improvements:

Game-Related Actors added:

- OSMObjectiveManager
- OSMObjectiveTrigger (not placed by the mapper ever, used automatically by the OSMObjectiveManager)

Features added:

- OSMObjectiveManager handles PlayerStart toggling, Intro Matinee CutScenes, intermediate CutScene triggering and other advanced options. Its use is detailed in the Manual.
- OSM games now omit the menu option to start the match with translocators. If a mapper wants to include them in an OSM map, simply add a WeaponBase to spawn the PowerUp "Transpickup".

What works:

- Flies may be prevented from "floating" after death now.
- Monster Kills count as kills in player stats during OSM matches. Weapon stats recorded.
- Kills by monsters no longer count as suicides in player stats.
__________________
- SuperApe

-= Unreal Geek =-= Flash Padawan =-= Animation Refugee =-


I donate to UnrealPlayground. How do you help UP?


Last edited by SuperApe; 05-05-2006 at 08:35 PM.
SuperApe is offline   Reply With Quote
Old 04-20-2006, 11:43 AM   #6
SuperApe
Registered Monkey
 
SuperApe's Avatar
 
Join Date: Jan 2004
Location: Inna Jungle
Posts: 6,044
Downloads: 6

OSMObjectiveManager test map

This simple (really rough and simple) test map was originally designed to demonstrate just the progressive PlayerStarts using a ScriptedTrigger. But, I've modified it to use the OSMObjectiveManager in all it's glory. This is a much cleaner and more standardized way to make a proper OSM map with Objectives.

There are two objectives to reach before the endgame trigger. The first objective starts a 30 second timelimit to reach the second. (I set the timelimit to 31 seconds, to make sure the "30 seconds left" announcemet is played for the player upon restarting after the first is reached)

There are three cutscenes, two are in "bullet time". It shows how the OSMObjectiveManager can handle objective scoring, adrenaline awards and PlayerStart toggling as well.

If killed during the matinee, the player will respawn, unless out of lives. In fact, the original reason "bullet time" was an option was to help players survive a cutscene started in the midst of combat or some other dangerous situation.

(Which I do not recommend, in general. In fact, this would be a testmap showing when not to start a cutscene. Keep players happy by starting the cutscenes in a nice safe place after the objective is reached.)

But, "bullet time" also just looks cool, so use whenever. You are able to create the matinee as normal, select bBulletTime and although the matinee will play at the normal rate, the gamespeed is about 5%-1% normal speed.

EDIT: This new version includes an example DeathScene with the "YouDied" texture.
Attached Files
File Type: zip OSM-ObjectiveMgrTest.zip (34.3 KB, 115 views)
__________________
- SuperApe

-= Unreal Geek =-= Flash Padawan =-= Animation Refugee =-


I donate to UnrealPlayground. How do you help UP?


Last edited by SuperApe; 04-28-2006 at 06:27 PM. Reason: New version includes DeathScene example.
SuperApe is offline   Reply With Quote
Old 04-20-2006, 01:31 PM   #7
SuperApe
Registered Monkey
 
SuperApe's Avatar
 
Join Date: Jan 2004
Location: Inna Jungle
Posts: 6,044
Downloads: 6

An OSM mapping FAQ has been started on the OSM Level Design thread, Post #6.
__________________
- SuperApe

-= Unreal Geek =-= Flash Padawan =-= Animation Refugee =-


I donate to UnrealPlayground. How do you help UP?

SuperApe is offline   Reply With Quote
Old 04-28-2006, 06:33 PM   #8
SuperApe
Registered Monkey
 
SuperApe's Avatar
 
Join Date: Jan 2004
Location: Inna Jungle
Posts: 6,044
Downloads: 6

Version 0.96b released

This new version includes these changes:

Game-Related Actors added:

- OSMMutator

Textures added:

- OSMTex.YouDied : Can be used for a DeathScene overlay.

Miscellaneous Actors added:

- ExclusionTrigger
- RandomTrigger
- TeamVehicleFactory
- VariableTimedMover

Features added:

- OSMObjectiveManager now also enables a mapper-specified DeathScene matinee to be played upon players death, which will center on the player corpse.
- OSMObjectiveManager now able to set the player's default Character, Name and Equipment (weapons).
- ScriptedMonster now includes a GoodieDrop property to set pickups that will drop when the creature is killed.
- Warlord now includes a bTacticalTeleporting property which enables teleporting at will. (True by default)
- Removed unnecessary Objective.CutSceneLength properties from OSMObjectiveManager, now automatically taken from SceneManager.

What works:

- Krall Strike attacks fixed.
- Warlord Mutilating state now ends with AlarmTag behavior, if set, once player is detected.

What doesn't work:

- Weapon list available to set default equipment on OSMObjectiveManager does not include "hidden" items like ShieldGun, Translauncher & LightningGun.
- Default Weapon initially used by player is determined by player weapon preferences or character profile, can't be set in map.
- DeathScenes have a locked camera distance from the player corpse and will not follow the distance from LookTarget set up in the DeathScene matinee.
- "In progress" Adrenaline combos are disabled upon start of a matinee.


If I can correct the problems regarding the list of default equipment in the OSMObjectiveManager, I may do a supplemental update. For now, the ShieldGun is available by default, so if you want that, simply leave that slot alone.

For an example map with a DeathScene, download the updated OSMObjectiveManager testmap posted above.

For more details on the individual actors added, see the included Manual. (also search the wiki or UP forums)
__________________
- SuperApe

-= Unreal Geek =-= Flash Padawan =-= Animation Refugee =-


I donate to UnrealPlayground. How do you help UP?


Last edited by SuperApe; 04-28-2006 at 06:43 PM.
SuperApe is offline   Reply With Quote
Old 04-29-2006, 05:20 AM   #9
Lord_Simeon
beep...beep....beep...
 
Lord_Simeon's Avatar
 
Join Date: Apr 2002
Location: South Australia
Posts: 8,150
Downloads: 46

Nice, nice and more nice

Grabbing it right now mate

EDIT - LOVE the new features The goodie drop and player / equipment are magic
Where do you set the "you died" texture, or is it default.....i've only looked in the ed so far.

Last edited by Lord_Simeon; 04-29-2006 at 05:35 AM.
Lord_Simeon is offline   Reply With Quote
Old 04-29-2006, 05:24 AM   #10
King Mango
don't worry about it
 
King Mango's Avatar
 
Join Date: Feb 2003
Location: Just another lost Angyul
Posts: 7,270
Downloads: 33

Send a message via Yahoo to King Mango
Damn you been busy!

I should be finished moving into my new apt in the next few days, after that must get bearings on local part time job scene and get my nose back on the grindstone, then HOPEFULLY by then I will have time to fuss in the ed. I've opened UED maybe a dozen times since crash and just can't do anything... :/

I've only even played about two hours total since then too.
__________________
Blitz's Advanced Bot Pathing Tutorial

The main thing is, don't panic.
King Mango is offline   Reply With Quote
Old 05-01-2006, 12:09 PM   #11
SuperApe
Registered Monkey
 
SuperApe's Avatar
 
Join Date: Jan 2004
Location: Inna Jungle
Posts: 6,044
Downloads: 6

Quote:
Originally Posted by Lord_Simeon
Where do you set the "you died" texture, or is it default.....i've only looked in the ed so far.
You're DeathScene is a simple matinee with a unique Tag to designate it so. Somewhere within it, do a SubAction CameraEffect Overlay and display OSMTex.YouDied, which is in your texture browser: OSMTex -> HUD -> YouDied. Have the CameraEffect Overlay fade up over the duration, if you want, by specifying the StartAlpha and EndAlpha. I have been just fading it up and setting it to DisableAtEnd (or whatever that property is) when the DeathScene is done. Reverse-engineer the DeathScene cutscenes in OSM-ObjectiveManagerTest and OSM-Gauntlet to see more.
__________________
- SuperApe

-= Unreal Geek =-= Flash Padawan =-= Animation Refugee =-


I donate to UnrealPlayground. How do you help UP?

SuperApe is offline   Reply With Quote
Old 05-02-2006, 06:06 PM   #12
SuperApe
Registered Monkey
 
SuperApe's Avatar
 
Join Date: Jan 2004
Location: Inna Jungle
Posts: 6,044
Downloads: 6

Supplemental Version Update - v0.961b

I made a supplemental update to include the fix for the SceneManager.PlayerScriptTag property. This was meant to allow player pawns to run an AIScript while the matinee plays, but the code was never implemented properly. This fixes the problem by having the OSMObjectiveManager take care of it when cutscenes are run.
__________________
- SuperApe

-= Unreal Geek =-= Flash Padawan =-= Animation Refugee =-


I donate to UnrealPlayground. How do you help UP?


Last edited by SuperApe; 05-02-2006 at 06:15 PM.
SuperApe is offline   Reply With Quote
Old 05-05-2006, 08:04 PM   #13
SuperApe
Registered Monkey
 
SuperApe's Avatar
 
Join Date: Jan 2004
Location: Inna Jungle
Posts: 6,044
Downloads: 6

Version 0.97b released

Changes include:

DamageTypes added:

- Poisoned : The continuing damage caused by being poisoned.
- Burning : Like Burned, but set to bFlaming true for more accurrate death effects.

Miscellaneous Actors added:

- Poison : An Inventory class that causes continuous damage. If successive poison is taken, the more damaging poison takes priority.
- PoisonTrigger : Causes the Instigator to become poisoned, able to set DamagePerSecond and a PoisonTimelimit.
- PoisonPickup : Causes the player to become poisoned, able to set DamagePerSecond and a PoisonTimelimit.
- Antedote : A pickup that cures the player of all poison.

Features added:

- ScriptedMonsters now use a simple Pickup array to specify GoodieDrop items, instead of a struct array with just one element.
- CreatureFactories now include a GoodieDrop array to specify pickups the spawned creatures will drop when dead.

What works:

- SkaarjProjectiles are now assigned the appropriate DamageType for death messages, etc. (fixes bug in stock code)
- bDelayedPatrol is now enabled and holds Patroling creatures at their placed location until they are triggered.
- Players fully gibbed by a DamageType that always gibs (trap Movers set to a lot of EncroachDamage) will properly center a DeathScenes.
- OSMObjectiveManager.DefaultEquipment is now a string array to allow mappers to specify any inventory including "hidden" items, using "package.class" format.

What doesn't work:

- The poison damage pain HUDOverlay indicator should be on all sides, not just lower left. It should also be green, not red.
- Some unknown conditions using pickups seem to cause the player pickup notification messages to stop displaying.


NOTE: Usually everything is backwards compatible. This time I made a couple changes to variable types that will cause your maps to loose some settings. I'm sorry, but it was necessary and I will always try to keep these to a minimum. Here's the changes you'll need to reset:

- OSMObjectiveManager.DefaultEquipment is now an array of string values, instead of a pulldown list of weapons. This will allow the mapper to specify those "hidden" weapons like Transpickup and ShieldGun, if desired.
- ScriptedMonster.GoodieDrop is now a simple array of inventory items, instead of a struct array with only one component. I should have done this at the beginning. I'm sorry for the inconvenience.


I don't yet have examples of Poison/Antedote in a map, but it's pretty self-explanitory. A PoisonPickup looks exactly like a MiniHealth vial, so you can trick the player. The Antedote looks a little different. I wouldn't mix MiniHealths and a PoisonPickup together in a tight group; the player could easily miss the announcement that they picked up poison. To use the PoisonTrigger instead, have another Trigger (or Mover or something instigated by the player) trigger the PoisonTrigger. I would make sure you clearly indicate to the player they've been poisoned if you do it via PoisonTrigger. Both the PoisonPickup and PoisonTrigger have properties a mapper can set DamagePerSecond and a PoisonTimeLimit (0=no limit). No matter what poison method you set up, make sure the Antedote goal is pretty clear to the player, or you'll frustrate your players.

Here's a pic of the PoisonPickup and Antedote.
Attached Thumbnails
Click image for larger version

Name:	Vials.jpg
Views:	470
Size:	9.6 KB
ID:	34486  
__________________
- SuperApe

-= Unreal Geek =-= Flash Padawan =-= Animation Refugee =-


I donate to UnrealPlayground. How do you help UP?


Last edited by SuperApe; 05-05-2006 at 08:37 PM.
SuperApe is offline   Reply With Quote
Old 05-06-2006, 02:08 AM   #14
Lord_Simeon
beep...beep....beep...
 
Lord_Simeon's Avatar
 
Join Date: Apr 2002
Location: South Australia
Posts: 8,150
Downloads: 46

Very effin cool mate, i'm right in the middle of nightshift right now but will get into it on my days off
Lord_Simeon is offline   Reply With Quote
Old 05-08-2006, 06:56 PM   #15
SuperApe
Registered Monkey
 
SuperApe's Avatar
 
Join Date: Jan 2004
Location: Inna Jungle
Posts: 6,044
Downloads: 6

Supplemental Version Update - v0.971b

This update addresses some fairly major bugs found in relation to non-linear Objective setups, optional Objective settings and other problems in relation to the OSMObjectiveManager I found while progressing on OSM-Gauntlet. I also included a movable SpawnPoint actor I use in that map. Here are the changes:

NavigationPoints added:

- PortableSpawnPoint : Made to be attached to Movers, although it's use as a NavPoint or CreatureFactory SpawnPoint is limited.

What works:

- Minor fix to ThingFactory association with SpawnPoints. (now allow all 16 points)
- Fixed bug in OSMObjectiveManager that only ran an AIScript if it were in the first Objective cutscene.
- Fixed bug in OSMObjectiveManager that caused non-linear objectives to register a death from previous a DeathScene as a death during current cutscene.
- Fixed bug in OSMObjectiveManager that checked for death during cutscene even if no cutscene were specified that Objective.
- Fixed bug in OSMObjectiveManager that incorrectly toggled off old playerstarts if no Objective.PlayerStartTag was specified.
__________________
- SuperApe

-= Unreal Geek =-= Flash Padawan =-= Animation Refugee =-


I donate to UnrealPlayground. How do you help UP?


Last edited by SuperApe; 05-08-2006 at 06:58 PM.
SuperApe is offline   Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


All times are GMT -5. The time now is 09:02 AM.


Powered by: vBulletin Version 3 something...
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Style and Content © 2001-2009 Unreal Playground