Gah - a solution with more questions. – EntropicLqd
This is the base class for UT's GameInfos.
- PlayTeleportEffect (Actor Incoming, bool bOut, bool bSound)
- If the incoming actor is a Pawn (UT) (bIsPawn = true) and has a mesh then if bSound = true an object of type UTTeleportEffect is spawned at the incoming actor's location. The pawn's PlaySound function is called.
- BroadcastRegularDeathMessage (Pawn (UT) Killer, Pawn (UT) Other, name damageType)
- his function handles the broadcast of the death message when two pawns kill each other.
- DiscardInventory (Pawn (UT) Other)
- This function is responsible for dropping the inventory item specified by the DropWhenKilled property of the pawn passed to the function. The function also drops the weapon the pawn is holding if it is not the default weapon class (as specified by the MutatedDefaultWeapon() function.
- CalcEndStats ( )
- This function calculates some game end stats such as FPH, total frags etc. The values caculated are placed on the EndStatsClass.
- EmptyBestSlot (int Slot)
- This function moves the score table values around in a rather unusual fashion.
- GetTimeStamp (out string AbsoluteTime)
- This function returns a time stamp in the form month/day/year hour:minute:second, for instance
05/21/2002 18:31:04(four-digit year, 24-hour time format).
- PlayerPawn Login (string Portal, string Options, out string Error, class<PlayerPawn> SpawnClass)
- Originally declared in GameInfo (UT). This function ensures that any players entering the game as spectators have a type of CHSpectator (i.e. subclasses of CHSpectator are allowed). Players not joining as spectators are checked to make sure their spawn class is of type TournamentPlayer. If not then this is enforced by the code. Finally, the PlayerReplicationInfo.VoiceType property is initialised with a class of type VoicePack.
Tarquin: Under the DeathMessage grouping there are lots of string properties corresponding to death messages. I had the lunatic idea that I could subclass this, set defaults to other strings, set it as the gametype for a map, and alakazam! – custom death messages for slime, lava, whatever. It failed... UT ran but I couldn't start the game: it didn't respond to the fire key. :(
Mychaeel: What exactly did you subclass – TournamentGameInfo or one of its game type subclasses, DeathMatchPlus or CTFGame (UT) or whatever? I've never tried that with one of those game types, but it should work well and it did work with UTIntro for Jailbreak's flyby map.
Tarquin: Looks like it can be done with a Message mutator. The next question is: can a mutator be embedded in a map?
Mychaeel: Sure. You only have to take care that it's added to the mutator list on map start.