Prepare fixtures

This commit is contained in:
dkanus 2026-07-14 20:27:09 +07:00
commit 9c94356263
6021 changed files with 722805 additions and 22 deletions

View file

@ -0,0 +1,11 @@
class ACTION_ChangeWeapon extends ScriptedAction;
var(Action) class<Weapon> NewWeapon;
function bool InitActionFor(ScriptedController C)
{
C.Pawn.PendingWeapon = Weapon(C.Pawn.FindInventoryType(newWeapon));
C.Pawn.ChangedWeapon();
return false;
}

View file

@ -0,0 +1,21 @@
class ACTION_DamageActor extends ScriptedAction;
var(Action) name DamageTag;
var(Action) int DamageAmount;
var(Action) class<DamageType> DamageType;
function bool InitActionFor(ScriptedController C)
{
local Actor a;
if (DamageTag != 'None')
ForEach C.AllActors(class'Actor', a, DamageTag)
a.TakeDamage(DamageAmount, C.Pawn, a.Location, vect(0,0,0), DamageType);
return false;
}
defaultproperties
{
ActionString="Damage actor"
}

View file

@ -0,0 +1,23 @@
class ACTION_DestroyActor extends ScriptedAction;
var(Action) name DestroyTag;
function bool InitActionFor(ScriptedController C)
{
local Actor a;
if(DestroyTag != 'None')
{
ForEach C.AllActors(class'Actor', a, DestroyTag)
{
a.Destroy();
}
}
return false;
}
defaultproperties
{
ActionString="Destroy actor"
}

View file

@ -0,0 +1,11 @@
class ACTION_FinishRotation extends LatentScriptedAction;
function bool TurnToGoal()
{
return true;
}
defaultproperties
{
ActionString="Finish rotation"
}

View file

@ -0,0 +1,52 @@
class ACTION_FireWeapon extends ScriptedAction;
var(Action) bool bPressFire;
var(Action) bool bPressAltFire;
function bool InitActionFor(ScriptedController C)
{
local vector ShootLoc;
if ( (C.Pawn == None) || (C.Pawn.Weapon == None) )
return false;
if ( bPressFire )
{
if ( C.Pawn.Weapon.IsA('BallLauncher') )
{
if ( C.Target != None )
ShootLoc = C.Target.Location;
else
ShootLoc = C.Pawn.Location + 1500 * vector(C.Pawn.Rotation);
C.Pawn.Weapon.ShootHoop(C,ShootLoc);
}
else
{
C.Pawn.Weapon.StartFire(0);
C.bFire = 1;
}
}
else
{
C.Pawn.Weapon.StopFire(0);
C.bFire = 0;
}
if ( bPressAltFire )
{
C.Pawn.Weapon.StartFire(1);
C.bAltFire = 1;
}
else
{
C.Pawn.Weapon.StopFire(1);
C.bAltFire = 0;
}
C.bFineWeaponControl = bPressFire || bPressAltFire;
return false;
}
defaultproperties
{
ActionString="fire weapon"
}

View file

@ -0,0 +1,21 @@
class ACTION_FireWeaponAt extends ScriptedAction;
var(Action) name ShootTargetTag;
var Actor ShootTarget;
function bool InitActionFor(ScriptedController C)
{
if ( ShootTarget == None )
{
ForEach C.AllActors(class'Actor',ShootTarget,ShootTargetTag)
break;
}
if ( ShootTarget != None )
C.FireWeaponAt(ShootTarget);
return false;
}
defaultproperties
{
ActionString="fire weapon"
}

View file

@ -0,0 +1,19 @@
class ACTION_Freeze extends LatentScriptedAction;
function bool InitActionFor(ScriptedController C)
{
if ( C.Pawn != None )
{
C.Pawn.bPhysicsAnimUpdate = false;
C.Pawn.StopAnimating();
C.Pawn.SetPhysics(PHYS_None);
}
C.CurrentAction = self;
return true;
}
defaultproperties
{
ActionString="Freeze"
}

View file

@ -0,0 +1,23 @@
class ACTION_FreezeOnAnimEnd extends Action_PLAYANIM;
function bool InitActionFor(ScriptedController C)
{
C.CurrentAnimation = self;
return true;
}
function SetCurrentAnimationFor(ScriptedController C)
{
C.CurrentAnimation = self;
}
function bool PawnPlayBaseAnim(ScriptedController C, bool bFirstPlay)
{
if ( C.Pawn != None )
{
C.Pawn.bPhysicsAnimUpdate = false;
C.Pawn.StopAnimating();
C.Pawn.SetPhysics(PHYS_None);
}
return true;
}

View file

@ -0,0 +1,21 @@
class ACTION_HealActor extends ScriptedAction;
var(Action) name HealTag;
var(Action) int HealAmount;
var(Action) class<DamageType> DamageType;
function bool InitActionFor(ScriptedController C)
{
local Actor a;
if (HealTag != 'None')
ForEach C.AllActors(class'Actor', a, HealTag)
a.HealDamage(HealAmount, C, DamageType);
return false;
}
defaultproperties
{
ActionString="Heal actor"
}

View file

@ -0,0 +1,43 @@
class ACTION_Jump extends ScriptedAction;
enum JumpType
{
JUMP_Normal,
JUMP_Double,
JUMP_DodgeLeft,
JUMP_DodgeRight
};
var(Action) JumpType JumpAction;
function bool InitActionFor(ScriptedController C)
{
if ( C.Pawn == None )
return false;
C.Pawn.SetPhysics(PHYS_Walking);
Switch( JumpAction )
{
case JUMP_Normal:
C.Pawn.DoJump(false);
break;
case JUMP_Double:
C.Pawn.DoJump(false);
C.bPendingDoubleJump = true;
C.bNotifyApex = true;
break;
case JUMP_DodgeLeft:
C.Pawn.Dodge(DCLICK_Left);
break;
case JUMP_DodgeLeft:
C.Pawn.Dodge(DCLICK_Right);
break;
}
return false;
}
defaultproperties
{
ActionString="Jump"
}

View file

@ -0,0 +1,21 @@
class ACTION_LocalizedMessage extends ScriptedAction;
var(Action) class<LocalMessage> MessageClass;
var(Action) int MessageNum;
function bool InitActionFor(ScriptedController C)
{
C.BroadcastLocalizedMessage( MessageClass, MessageNum, None, None, None );
return false;
}
function string GetActionString()
{
return ActionString@MessageClass.static.GetString(MessageNum);
}
defaultproperties
{
ActionString="Localized Message"
MessageClass=class'ActionMessage'
}

View file

@ -0,0 +1,29 @@
// ifdef WITH_LIPSinc
class ACTION_PlayLIPSinc extends ScriptedAction;
var(Action) name LIPSincAnimName;
var(Action) float Volume;
var(Action) float Radius;
var(Action) float Pitch;
function bool InitActionFor(ScriptedController C)
{
C.Pawn.PlayLIPSincAnim(LIPSincAnimName, Volume, Radius, Pitch);
return false;
}
function string GetActionString()
{
return ActionString;
}
defaultproperties
{
ActionString="Play LIPSinc"
Volume=1.0
Radius=80.0
Pitch=1.0
}
// endif

View file

@ -0,0 +1,16 @@
class ACTION_SetCorona extends ScriptedAction;
var(Action) bool bCorona;
var(Action) name HideActorTag;
function bool InitActionFor(ScriptedController C)
{
local Actor A;
if ( HideActorTag != '' )
{
ForEach C.AllActors(class'Actor',A,HideActorTag)
A.bCorona = bCorona;
}
return false;
}

View file

@ -0,0 +1,32 @@
class ACTION_SetHidden extends ScriptedAction;
var(Action) bool bHidden;
var(Action) name HideActorTag;
var Array<Actor> Target;
event PostBeginPlay( ScriptedSequence SS )
{
local Actor A;
if ( HideActorTag != '' )
{
ForEach SS.AllActors(class'Actor', A, HideActorTag)
Target[Target.Length] = A;
}
}
function bool InitActionFor(ScriptedController C)
{
local int i;
if ( Target.Length > 0 )
{
For (i=0; i<Target.Length; i++)
Target[i].bHidden = bHidden;
}
else
C.GetInstigator().bHidden = bHidden;
return false;
}

View file

@ -0,0 +1,19 @@
class ACTION_SetPhysics extends ScriptedAction;
var(Action) Actor.EPhysics NewPhysicsMode;
function bool InitActionFor(ScriptedController C)
{
C.GetInstigator().SetPhysics(NewPhysicsMode);
return false;
}
function string GetActionString()
{
return ActionString@NewPhysicsMode;
}
defaultproperties
{
ActionString="change physics to "
}

View file

@ -0,0 +1,20 @@
class ACTION_ShootTarget extends ScriptedAction;
var(Action) int NumShots;
var(Action) name FiringMode;
var(Action) bool bSpray;
function bool InitActionFor(ScriptedController C)
{
C.NumShots = NumShots;
C.FiringMode = FiringMode;
C.bShootTarget = true;
C.bShootSpray = bSpray;
return false;
}
defaultproperties
{
NumShots = 0;
ActionString="shoot target"
}

View file

@ -0,0 +1,40 @@
class ACTION_SpawnActor extends ScriptedAction;
var(Action) class<Actor> ActorClass;
var(Action) vector LocationOffset;
var(Action) rotator RotationOffset;
var(Action) bool bOffsetFromScriptedPawn;
var(Action) name ActorTag;
function bool InitActionFor(ScriptedController C)
{
local vector loc;
local rotator rot;
local actor a;
if ( bOffsetFromScriptedPawn )
{
loc = C.Pawn.Location + LocationOffset;
rot = C.Pawn.Rotation + RotationOffset;
}
else
{
loc = C.SequenceScript.Location + LocationOffset;
rot = C.SequenceScript.Rotation + RotationOffset;
}
a = C.Spawn(ActorClass,,,loc,rot);
a.Instigator = C.Pawn;
if ( ActorTag != 'None' )
a.Tag = ActorTag;
return false;
}
function string GetActionString()
{
return ActionString@ActorClass;
}
defaultproperties
{
ActionString="Spawn actor"
}

View file

@ -0,0 +1,8 @@
class ACTION_StopShooting extends ScriptedAction;
function bool InitActionFor(ScriptedController C)
{
C.bShootTarget = false;
C.bShootSpray = false;
return false;
}

View file

@ -0,0 +1,19 @@
class ACTION_SubTitles extends ScriptedAction;
var() SceneSubtitles.ESST_Mode SubTitleMode;
function bool InitActionFor(ScriptedController C)
{
C.Level.GetLocalPlayerController().myHUD.SubTitles.ProcessEvent( SubTitleMode );
return false;
}
function string GetActionString()
{
return ActionString;
}
defaultproperties
{
ActionString="SubTitles"
}

View file

@ -0,0 +1,19 @@
class ACTION_ThrowWeapon extends ScriptedAction;
var(Action) vector WeaponVelocity;
function bool InitActionFor(ScriptedController C)
{
if ( (C.Pawn == None) || (C.Pawn.Weapon == None) )
return false;
if ( WeaponVelocity == vect(0,0,0) )
WeaponVelocity = C.Pawn.Velocity + vect(0,0,250) + 300 * vector(C.Pawn.Rotation);
C.Pawn.TossWeapon(WeaponVelocity);
return false;
}
defaultproperties
{
ActionString="throw weapon"
}

View file

@ -0,0 +1,16 @@
// ifdef WITH_LIPSINC
class ACTION_WaitForLIPSincAnimEnd extends LatentScriptedAction;
function bool CompleteOnLIPSincAnim()
{
return true;
}
defaultproperties
{
ActionString="Wait for LIPSincAnimEnd"
bValidForTrigger=false
}
// endif

View file

@ -0,0 +1,21 @@
class ActionMessage extends CriticalEventPlus;
var localized string Messages[32];
static function string GetString(
optional int Switch,
optional PlayerReplicationInfo RelatedPRI_1,
optional PlayerReplicationInfo RelatedPRI_2,
optional Object OptionalObject
)
{
return Default.Messages[Switch];
}
defaultproperties
{
PosY=0.85
FontSize=0
Lifetime=8
DrawColor=(R=255,G=255,B=0,A=255)
}

View file

@ -0,0 +1,16 @@
class ActionMessage_BR extends ActionMessage;
defaultproperties
{
Messages[0]="Bombing Run"
Messages[1]="The ball is in the center"
Messages[2]="Touch the ball to pick it up"
Messages[3]="The ball carrier cannot attack"
Messages[4]="Primary fire shoots ball"
Messages[5]="Alternate fire targets teammates"
Messages[6]="Pass the ball to teammates"
Messages[7]="Each team has a round goal"
Messages[8]="Throwing the ball = 3 points"
Messages[9]="Carrying it = 7 points"
Messages[10]="Good luck!"
}

View file

@ -0,0 +1,13 @@
class ActionMessage_CTF extends ActionMessage;
defaultproperties
{
Messages[0]="Capture the Flag"
Messages[1]="Two bases : red and blue"
Messages[2]="Touch enemy flag to take it"
Messages[3]="Return to your base"
Messages[4]="Touch your flag to score"
Messages[5]="Translocating will drop the flag"
Messages[6]="Default capture limit is 3"
Messages[7]="Good luck!"
}

View file

@ -0,0 +1,36 @@
class ActionMessage_DM extends ActionMessage;
defaultproperties
{
Messages[0]="Deathmatch"
Messages[1]="Press fire to spawn"
Messages[2]="Weapons have two firing modes"
Messages[3]="Regular and alternate fire"
Messages[4]="Assault Rifle"
Messages[5]="Fires bullets and grenades"
Messages[6]="Shield Gun"
Messages[7]="Melee attack"
Messages[8]="Protective Shield"
Messages[9]="Explore to find other weapons"
Messages[10]="Flak Cannon"
Messages[11]="Bio-Rifle"
Messages[12]="Minigun"
Messages[13]="Movement"
Messages[14]="WASD = Default movement keys"
Messages[15]="Double tap a key to dodge"
Messages[16]="Jumping"
Messages[17]="Double jump"
Messages[18]="Powerups"
Messages[19]="Health vials"
Messages[20]="Health pack"
Messages[21]="Big Keg O' Health"
Messages[22]="Armor"
Messages[23]="Shield Pack"
Messages[24]="Super Shield Pack"
Messages[25]="Adrenaline"
Messages[26]="Adrenaline can be used for combos"
Messages[27]="Damage Amplifier"
Messages[28]="Reach the frag limit first!"
Messages[29]="Suicides count against you"
Messages[30]="Good luck!"
}

View file

@ -0,0 +1,10 @@
class ActionMessage_DOM extends ActionMessage;
defaultproperties
{
Messages[0]="Double Domination"
Messages[1]="Control points : A & B"
Messages[2]="Hold points for 10 seconds"
Messages[3]="Touch point to take control"
Messages[4]="Good luck!"
}

View file

@ -0,0 +1,67 @@
// ====================================================================
// Class: GamePlay.ActionMessage_SubTitle
// Parent: GamePlay.ActionMessage
//
// <Enter a description here>
// ====================================================================
class ActionMessage_SubTitle extends ActionMessage;
var localized float Delays[32];
static function float GetLifeTime(int Switch)
{
if (default.Delays[switch]==0.0)
return default.LifeTime;
else
return default.Delays[Switch];
}
defaultproperties
{
Messages[0]="How do I look?"
Delays[0]=4
Messages[1]="Not as good as me baby..."
Delays[1]=4
Messages[2]="Well fans here we are for another edition of the bloodiest sport in the Galaxy. A tournament where the winners become gods and the losers pay the ultimate price!"
Delays[2]=8
Messages[3]="THERE THEY ARE! Once they were rivals, but now they're one of the fiercest teams around."
Delays[3]=8
Messages[4]="That's right. Nothing beats experience and each one of these three brings loads of it to the table."
Delays[4]=8
Messages[5]="Look at Malcolm! Now there's a guy who can really keep his cool in a fire-fight."
Delays[5]=8
Messages[6]="That Brock. He's as dangerous to the ladies OUT-side the ring as he is to his foes IN-side!"
Delays[6]=8
Messages[7]="I love watching Lauren. She's such a little....bundle of energy."
Delays[7]=8
Messages[8]="Yeah right.....you like watching Lauren for her energy."
Delays[8]=8
Messages[9]="This time he's MINE!!"
Delays[9]=8
Messages[10]="AAGGGHHHHRRRR"
Delays[10]=8
Messages[11]="You d'man Gorge! You rock! Yeah baby, com'on, now, you d'man dude!"
Delays[11]=8
Messages[12]="MAAAALLLCOOOOOMMM!"
Delays[12]=8
Messages[13]="Oh, man, did you see that?"
Delays[13]=8
Messages[14]="I tell you Jim, that Gorge, he just has no respect for his fans."
Delays[14]=8
Messages[15]="Well, I think he is still pissed about that new scar on his face, courtesy of Malcolm in their last match."
Delays[15]=8
Messages[16]="Yea, I think he is looking for a little PAYBACK."
Delays[16]=8
Messages[17]="Yep, it should be a good one tonight."
Delays[17]=8
Messages[18]="Since Malcolm's team are the reigning champs, they get to choose tonight's arena."
Delays[18]=8
Messages[19]="Looks like it's gonna be... Kalendra Icefields."
Delays[19]=8
Messages[20]="Awww Yeah, I love this arena, Malcolm does really well here."
Delays[20]=8
Messages[21]="Tonight's match oughta be a real blood-bath."
Delays[21]=8
}

View file

@ -0,0 +1,25 @@
class ACTION_ChangeLevel extends ScriptedAction;
var(Action) string URL;
var(Action) bool bShowLoadingMessage;
function bool InitActionFor(ScriptedController C)
{
if( bShowLoadingMessage )
C.Level.ServerTravel(URL, false);
else
C.Level.ServerTravel(URL$"?quiet", false);
return true;
}
function string GetActionString()
{
return ActionString;
}
defaultproperties
{
ActionString="Change level"
bShowLoadingMessage=False
}

View file

@ -0,0 +1,31 @@
class ACTION_ChangeScript extends ScriptedAction;
var(Action) name NextScriptTag;
var ScriptedSequence NextScript;
function ScriptedSequence GetScript(ScriptedSequence S)
{
if ( (NextScript == None) && (NextScriptTag != 'None') )
{
ForEach S.AllActors(class'ScriptedSequence', NextScript, NextScriptTag )
break;
if ( NextScript == None )
{
Warn("No Next script found for "$self$" in "$S);
return S;
}
}
return NextScript;
}
function bool InitActionFor(ScriptedController C)
{
C.bBroken = true;
return true;
}
defaultproperties
{
ActionString="Change script"
bValidForTrigger=false
}

View file

@ -0,0 +1,31 @@
class ACTION_ChangeTeam extends ScriptedAction;
var(Action) int Team;
function bool InitActionFor(ScriptedController C)
{
local PlayerReplicationInfo P;
if (C.PlayerReplicationInfo==None)
{
P = c.spawn(class'PlayerReplicationInfo',C,,C.Pawn.Location, C.Pawn.Rotation);
if (P==None)
return false;
C.PlayerReplicationInfo = P;
C.Pawn.PlayerReplicationInfo=P;
P = None;
}
C.bIsPlayer=true;
C.Level.Game.GameReplicationInfo.Teams[Team].AddToTeam(c);
return false;
}
defaultproperties
{
ActionString="Change Team"
Team=0
}

View file

@ -0,0 +1,13 @@
class ACTION_Crouch extends ScriptedAction;
function bool InitActionFor(ScriptedController C)
{
C.Pawn.ShouldCrouch(true);
return false;
}
defaultproperties
{
ActionString="crouch"
bValidForTrigger=false
}

View file

@ -0,0 +1,28 @@
// ====================================================================
// Class: GamePlay.Action_ConsoleCommand
// Parent: GamePlay.ScriptedAction
//
// Executes a console command
// ====================================================================
class Action_ConsoleCommand extends ScriptedAction;
var(Action) string CommandStr; // The console command to execute
function bool InitActionFor(ScriptedController C)
{
if (CommandStr!="")
C.ConsoleCommand(CommandStr);
return false;
}
function string GetActionString()
{
return ActionString@CommandStr;
}
defaultproperties
{
ActionString="console command"
}

View file

@ -0,0 +1,25 @@
class ACTION_DamageInstigator extends ScriptedAction;
var(Action) int Damage;
var(Action) class<DamageType> DamageType;
function bool InitActionFor(ScriptedController C)
{
local pawn Damaged;
Damaged = C.GetInstigator();
Damaged.TakeDamage( Damage, Damaged, Damaged.Location, vect(0,0,0), DamageType);
return false;
}
function string GetActionString()
{
return ActionString@(string(DamageType))@Damage;
}
defaultproperties
{
Damage=10
DamageType=class'Engine.Crushed'
ActionString="Damage instigator"
}

View file

@ -0,0 +1,13 @@
class ACTION_DestroyPawn extends ScriptedAction;
function bool InitActionFor(ScriptedController C)
{
C.DestroyPawn();
return true;
}
defaultproperties
{
ActionString="destroy pawn"
bValidForTrigger=false
}

View file

@ -0,0 +1,29 @@
class ACTION_DisplayMessage extends ScriptedAction;
var(Action) localized string Message;
var(Action) bool bBroadcast;
var(Action) name MessageType;
function bool InitActionFor(ScriptedController C)
{
local Pawn P;
P = C.GetInstigator();
if ( bBroadCast )
C.Level.Game.Broadcast(P, Message, MessageType); // Broadcast message to all players.
else if ( P != None )
P.ClientMessage( Message, MessageType );
return false;
}
function string GetActionString()
{
return ActionString@Message;
}
defaultproperties
{
ActionString="display message"
MessageType=CriticalEvent
}

View file

@ -0,0 +1,63 @@
//Draw a texture on the local player's HUD
class Action_DrawHUDMaterial extends LatentScriptedAction;
var(Action) Material HUDMaterial;
var(Action) float PosX, PosY, Width, Height; //scaled to screen resolution if <= 1
var(Action) float DisplayTime;
var ScriptedHudOverlay Overlay;
function bool InitActionFor(ScriptedController C)
{
local PlayerController PC;
PC = C.Level.GetLocalPlayerController();
if (PC == None)
{
Warn("No local player!");
return false;
}
if (PC.myHUD == None)
{
Warn("Local player has no HUD!");
return false;
}
Overlay = C.spawn(class'ScriptedHudOverlay', PC);
Overlay.HUDMaterial = HUDMaterial;
Overlay.PosX = PosX;
Overlay.PosY = PosY;
Overlay.Width = Width;
Overlay.Height = Height;
PC.myHUD.AddHudOverlay(Overlay);
C.CurrentAction = self;
C.SetTimer(DisplayTime, false);
return true;
}
function ActionCompleted()
{
Overlay.Destroy();
}
function bool CompleteWhenTriggered()
{
return true;
}
function bool CompleteWhenTimer()
{
return true;
}
defaultproperties
{
ActionString="draw HUD texture"
PosX=0.4
PosY=0.4
Width=0.2
Height=0.2
DisplayTime=1.0
}

View file

@ -0,0 +1,25 @@
class ACTION_EndSection extends ScriptedAction;
function ProceedToNextAction(ScriptedController C)
{
if ( C.IterationCounter > 0 )
{
C.ActionNum = C.IterationSectionStart;
C.IterationCounter--;
}
else
{
C.ActionNum += 1;
C.IterationSectionStart = -1;
}
}
function bool EndsSection()
{
return true;
}
defaultproperties
{
ActionString="end section"
}

View file

@ -0,0 +1,46 @@
class ACTION_FadeView extends LatentScriptedAction;
var(Action) float FadeTime;
var(Action) vector TargetFlash;
function bool InitActionFor(ScriptedController C)
{
return true;
}
function string GetActionString()
{
return ActionString@FadeTime;
}
function bool TickedAction()
{
return true;
}
function bool StillTicking(ScriptedController C, float DeltaTime)
{
local bool bXDone,bYDone,bZDone;
local vector V;
V = C.GetInstigator().PhysicsVolume.ViewFlash - (C.Instigator.PhysicsVolume.Default.ViewFlash - TargetFlash) * (DeltaTime/FadeTime);
if( V.X < TargetFlash.X ) { V.X = TargetFlash.X; bXDone = True; }
if( V.Y < TargetFlash.Y ) { V.Y = TargetFlash.Y; bYDone = True; }
if( V.Z < TargetFlash.Z ) { V.Z = TargetFlash.Z; bZDone = True; }
C.GetInstigator().PhysicsVolume.ViewFlash = V;
if(bXDone && bYDone && bZDone)
return false;
return true;
}
defaultproperties
{
TargetFlash=(X=-2,Y=-2,Z=-2)
FadeTime=+5
ActionString="fade view"
}

View file

@ -0,0 +1,32 @@
class ACTION_ForceMoveToPoint extends ScriptedAction;
var(Action) name DestinationTag; // tag of destination - if none, then use the ScriptedSequence
var Actor Dest;
var byte originalPhys;
function bool InitActionFor(ScriptedController C)
{
Dest = C.SequenceScript.GetMoveTarget();
if ( DestinationTag != '' )
{
ForEach C.AllActors(class'Actor',Dest,DestinationTag)
break;
}
originalPhys = C.Pawn.Physics;
C.Pawn.SetCollision(False, False, False);
C.Pawn.bCollideWorld = false;
//Log("SetLocation:"$Dest.Location);
C.Pawn.SetLocation(Dest.Location);
//Log("NewLocation:"$C.Pawn.Location);
//Log("SetRotation:"$Dest.Rotation);
C.Pawn.SetRotation(Dest.Rotation);
C.Pawn.SetPhysics(PHYS_None);
return false;
}

View file

@ -0,0 +1,18 @@
class ACTION_GotoAction extends ScriptedAction;
var(Action) int ActionNumber;
function ProceedToNextAction(ScriptedController C)
{
C.ActionNum = Max(0,ActionNumber);
}
function string GetActionString()
{
return ActionString@ActionNumber;
}
defaultproperties
{
ActionString="go to action"
}

View file

@ -0,0 +1,41 @@
class ACTION_IfCondition extends ScriptedAction;
var(Action) name TriggeredConditionTag;
var TriggeredCondition T;
function ProceedToNextAction(ScriptedController C)
{
if ( (T == None) && (TriggeredConditionTag != 'None') )
ForEach C.AllActors(class'TriggeredCondition',T,TriggeredConditionTag)
break;
C.ActionNum += 1;
if ( T == None )
{
if ( C.Level.Title ~= "Robot Factory" )
{
ProceedToSectionEnd(C);
return;
}
warn("No TriggeredCondition with tag "$TriggeredConditionTag$" found, breaking "$C.SequenceScript);
ProceedToSectionEnd(C);
return;
}
if ( !T.bEnabled )
ProceedToSectionEnd(C);
}
function bool StartsSection()
{
return true;
}
function string GetActionString()
{
return ActionString@T@TriggeredConditionTag;
}
defaultproperties
{
ActionString="If condition"
}

View file

@ -0,0 +1,19 @@
class ACTION_IfRandomPct extends ScriptedAction;
var(Action) float Probability;
function ProceedToNextAction(ScriptedController C)
{
C.ActionNum += 1;
if ( FRand() > Probability )
ProceedToSectionEnd(C);
}
function bool StartsSection()
{
return true;
}
defaultproperties
{
}

View file

@ -0,0 +1,20 @@
class ACTION_KillInstigator extends ScriptedAction;
var() class<DamageType> DamageType;
function bool InitActionFor(ScriptedController C)
{
C.GetInstigator().Died( None, DamageType, C.Instigator.Location );
return false;
}
function string GetActionString()
{
return ActionString@DamageType;
}
defaultproperties
{
DamageType=class'Engine.Crushed'
ActionString="Damage instigator"
}

View file

@ -0,0 +1,11 @@
class ACTION_LeaveSequence extends ScriptedAction;
function ScriptedSequence GetScript(ScriptedSequence S)
{
return None;
}
defaultproperties
{
ActionString="leave sequence"
}

View file

@ -0,0 +1,17 @@
class ACTION_MoveToPlayer extends LatentScriptedAction;
function bool MoveToGoal()
{
return true;
}
function Actor GetMoveTargetFor(ScriptedController C)
{
return C.GetMyPlayer();
}
defaultproperties
{
ActionString="Move to player"
bValidForTrigger=false
}

View file

@ -0,0 +1,37 @@
class ACTION_MoveToPoint extends LatentScriptedAction;
var(Action) name DestinationTag; // tag of destination - if none, then use the ScriptedSequence
var Actor Movetarget;
function bool MoveToGoal()
{
return true;
}
function Actor GetMoveTargetFor(ScriptedController C)
{
if ( Movetarget != None )
return MoveTarget;
MoveTarget = C.SequenceScript.GetMoveTarget();
if ( DestinationTag != '' )
{
ForEach C.AllActors(class'Actor',MoveTarget,DestinationTag)
break;
}
if ( AIScript(MoveTarget) != None )
MoveTarget = AIScript(MoveTarget).GetMoveTarget();
return MoveTarget;
}
function string GetActionString()
{
return ActionString@DestinationTag;
}
defaultproperties
{
ActionString="Move to point"
bValidForTrigger=false
}

View file

@ -0,0 +1,32 @@
class ACTION_PlayAmbientSound extends ScriptedAction;
var(Action) sound AmbientSound;
var(Action) byte SoundVolume;
var(Action) byte SoundPitch;
var(Action) float SoundRadius;
function bool InitActionFor(ScriptedController C)
{
// play appropriate sound
if ( AmbientSound != None )
{
C.SequenceScript.AmbientSound = AmbientSound;
C.SequenceScript.SoundVolume = SoundVolume;
C.SequenceScript.SoundPitch = SoundPitch;
C.SequenceScript.SoundRadius = SoundRadius;
}
return false;
}
function string GetActionString()
{
return ActionString@AmbientSound;
}
defaultproperties
{
ActionString="play ambient sound"
SoundRadius=64
SoundVolume=128
SoundPitch=64
}

View file

@ -0,0 +1,60 @@
class ACTION_PlayAnim extends ScriptedAction;
var(Action) name BaseAnim;
var(Action) float BlendInTime;
var(Action) float BlendOutTime;
var(Action) float AnimRate;
var(Action) byte AnimIterations;
var(Action) bool bLoopAnim;
var(Action) float StartFrame;
function bool InitActionFor(ScriptedController C)
{
// play appropriate animation
C.AnimsRemaining = AnimIterations;
if ( PawnPlayBaseAnim(C,true) )
C.CurrentAnimation = self;
return false;
}
function SetCurrentAnimationFor(ScriptedController C)
{
if ( C.Pawn.IsAnimating(0) )
C.CurrentAnimation = self;
else
C.CurrentAnimation = None;
}
function bool PawnPlayBaseAnim(ScriptedController C, bool bFirstPlay)
{
if ( BaseAnim == '' )
return false;
C.bControlAnimations = true;
if ( bFirstPlay )
C.Pawn.PlayAnim(BaseAnim,AnimRate,BlendInTime);
else if ( bLoopAnim || (C.AnimsRemaining > 0) )
C.Pawn.LoopAnim(BaseAnim,AnimRate);
else
return false;
if( StartFrame > 0.0 )
C.Pawn.SetAnimFrame( StartFrame, 0, 1);
return true;
}
function string GetActionString()
{
return ActionString@BaseAnim;
}
defaultproperties
{
BlendInTime=0.200000
BlendOutTime=0.200000
AnimRate=1.000000
StartFrame=0.000000
ActionString="play animation"
bValidForTrigger=false
}

View file

@ -0,0 +1,73 @@
class ACTION_PlayAnnouncement extends ScriptedAction;
var(Action) sound Sound;
var bool bSoundsPrecached;
function bool InitActionFor(ScriptedController C)
{
local PlayerController P;
local name SoundName;
if ( C.Level.NetMode == NM_StandAlone )
SoundName = LastMinuteHack_ShipIt( C );
else
SoundName = Sound.Name;
//log("ACTION_PlayAnnouncement Sound:" @ Sound @ "SoundName:" @ SoundName @ "Title:" @ C.Level.Title @ "Tag:" @ C.Tag @ "C.MyScript.Tag:" @ C.MyScript.Tag );
ForEach C.DynamicActors(class'PlayerController', P)
P.QueueAnnouncement( SoundName, 1, AP_Normal);
return false;
}
/* beautiful... */
function Name LastMinuteHack_ShipIt( ScriptedController C )
{
local PlayerController LocalPlayer;
local name SoundName;
LocalPlayer = C.Level.GetLocalPlayerController();
if ( Sound != None )
SoundName = Sound.Name;
// MotherShip Hack for Spanish translation (viva Madrid!)
if ( Sound == None && C.Tag == 'Play_Intro3' && C.MyScript.Tag == 'Hack_RIP_Epic_MegaCar' )
SoundName = 'MotherShip_intro';
else if ( C.MyScript.Tag == 'Hack_I_Love_Mina' )
{
if ( C.Tag == 'Play_Brief4' && LocalPlayer.StatusAnnouncer.GetSound('Junkyard_brief4a') != None )
SoundName = 'Junkyard_brief4a';
else if ( Sound == None )
{
if ( C.Tag == 'Play_Brief5' )
SoundName = 'Junkyard_brief5a';
else if ( C.Tag == 'Play_Brief6' )
SoundName = 'Junkyard_brief6a';
else if ( C.Tag == 'Play_Brief7' )
SoundName = 'Junkyard_brief7a';
}
}
return SoundName;
}
function string GetActionString()
{
return ActionString@Sound;
}
simulated function PrecacheAnnouncer(AnnouncerVoice V, bool bRewardSounds)
{
if ( !bRewardSounds && !bSoundsPrecached )
{
bSoundsPrecached = true;
if ( Sound != None )
V.PrecacheSound(Sound.Name);
}
}
defaultproperties
{
ActionString="play announcement"
}

View file

@ -0,0 +1,23 @@
class ACTION_PlayLocalSound extends ScriptedAction;
var(Action) sound Sound;
function bool InitActionFor(ScriptedController C)
{
local PlayerController P;
// play appropriate sound
ForEach C.DynamicActors(class'PlayerController', P)
P.ClientPlaySound(Sound);
return false;
}
function string GetActionString()
{
return ActionString@Sound;
}
defaultproperties
{
ActionString="play sound"
}

View file

@ -0,0 +1,41 @@
class ACTION_PlayMusic extends ScriptedAction;
var(Action) string Song;
var(Action) Actor.EMusicTransition Transition;
var(Action) bool bAffectAllPlayers;
function bool InitActionFor(ScriptedController C)
{
local PlayerController P;
local Controller A;
if( bAffectAllPlayers )
{
For ( A=C.Level.ControllerList; A!=None; A=A.nextController )
if ( A.IsA('PlayerController') )
PlayerController(A).ClientSetMusic( Song, Transition );
}
else
{
// Only affect the one player.
P = PlayerController(C.GetInstigator().Controller);
if( P==None )
return false;
// Go to music.
P.ClientSetMusic( Song, Transition );
}
return false;
}
function string GetActionString()
{
return ActionString@Song;
}
defaultproperties
{
Transition=MTRAN_Fade
bAffectAllPlayers=True
ActionString="play song"
}

View file

@ -0,0 +1,27 @@
class ACTION_PlaySound extends ScriptedAction;
var(Action) sound Sound;
var(Action) float Volume;
var(Action) float Pitch;
var(Action) bool bAttenuate;
function bool InitActionFor(ScriptedController C)
{
// play appropriate sound
if ( Sound != None )
C.GetSoundSource().PlaySound(Sound,SLOT_Interact,Volume,true,,Pitch,bAttenuate);
return false;
}
function string GetActionString()
{
return ActionString@Sound;
}
defaultproperties
{
ActionString="play sound"
Volume=+1.0
Pitch=+1.0
bAttenuate=true
}

View file

@ -0,0 +1,17 @@
class ACTION_Run extends ScriptedAction;
function bool InitActionFor(ScriptedController C)
{
C.Pawn.ShouldCrouch(false);
// if _RO_
C.Pawn.ShouldProne(false);
// endif _RO_
C.Pawn.SetWalking(false);
return false;
}
defaultproperties
{
ActionString="Run"
bValidForTrigger=false
}

View file

@ -0,0 +1,39 @@
class ACTION_SetAlertness extends ScriptedAction;
enum EAlertnessType
{
ALERTNESS_IgnoreAll, // ignore any damage, etc. (even the physics part)
ALERTNESS_IgnoreEnemies, // react normally, but don't try to fight or anything
ALERTNESS_StayOnScript, // stay on script, but fight when possible
ALERTNESS_LeaveScriptForCombat // leave script when acquire enemy
};
var(Action) EAlertnessType Alertness;
function bool InitActionFor(ScriptedController C)
{
C.SetEnemyReaction(int(Alertness));
return false;
}
function string GetActionString()
{
local String S;
Switch(Alertness)
{
case ALERTNESS_IgnoreAll: S="Ignore all"; break;
case ALERTNESS_IgnoreEnemies: S="Ignore enemies"; break;
case ALERTNESS_StayOnScript: S="Stay on script"; break;
case ALERTNESS_LeaveScriptForCombat: S="Leave script for combat"; break;
}
return ActionString@S;
}
defaultproperties
{
Alertness=ALERTNESS_Normal
ActionString="set alertness"
bValidForTrigger=false
}

View file

@ -0,0 +1,35 @@
class ACTION_SetViewTarget extends ScriptedAction;
var(Action) name ViewTargetTag;
var Actor ViewTarget;
function bool InitActionFor(ScriptedController C)
{
if ( ViewTargetTag == 'Enemy' )
C.ScriptedFocus = C.Enemy;
else if ( ViewTargetTag == '' )
C.ScriptedFocus = None;
else
{
if ( (ViewTarget == None) && (ViewTargetTag != 'None') )
ForEach C.AllActors(class'Actor',ViewTarget,ViewTargetTag)
break;
if ( ViewTarget == None )
C.bBroken = true;
C.ScriptedFocus = ViewTarget;
}
return false;
}
function String GetActionString()
{
return ActionString@ViewTarget@ViewTargetTag;
}
defaultproperties
{
ActionString="set viewtarget"
bValidForTrigger=false
}

View file

@ -0,0 +1,13 @@
class ACTION_StopAnimation extends ScriptedAction;
function bool InitActionFor(ScriptedController C)
{
C.ClearAnimation();
return false;
}
defaultproperties
{
ActionString="stop animation"
bValidForTrigger=false
}

View file

@ -0,0 +1,25 @@
class ACTION_TeleportToPoint extends LatentScriptedAction;
var(Action) name DestinationTag; // tag of destination - if none, then use the ScriptedSequence
var(Action) bool bPlaySpawnEffect;
var Actor Dest;
function bool InitActionFor(ScriptedController C)
{
local Pawn P;
Dest = C.SequenceScript.GetMoveTarget();
if ( DestinationTag != '' )
{
ForEach C.AllActors(class'Actor',Dest,DestinationTag)
break;
}
P = C.GetInstigator();
P.SetLocation(Dest.Location);
P.SetRotation(Dest.Rotation);
P.OldRotYaw = P.Rotation.Yaw;
if ( bPlaySpawnEffect )
P.PlayTeleportEffect(false,true);
return false;
}

View file

@ -0,0 +1,20 @@
class ACTION_TriggerEvent extends ScriptedAction;
var(Action) name Event;
function bool InitActionFor(ScriptedController C)
{
// trigger event associated with action
C.TriggerEvent(Event,C.SequenceScript,C.GetInstigator());
return false;
}
function string GetActionString()
{
return ActionString@Event;
}
defaultproperties
{
ActionString="trigger event"
}

View file

@ -0,0 +1,23 @@
class ACTION_TurnTowardPlayer extends LatentScriptedAction;
function bool InitActionFor(ScriptedController C)
{
C.ScriptedFocus = C.GetMyPlayer();
C.CurrentAction = self;
return true;
}
function bool TurnToGoal()
{
return true;
}
function Actor GetMoveTargetFor(ScriptedController C)
{
return C.GetMyPlayer();
}
defaultproperties
{
ActionString="Turn toward player"
bValidForTrigger=false
}

View file

@ -0,0 +1,33 @@
class ACTION_Use extends ScriptedAction;
function bool InitActionFor(ScriptedController C)
{
local Actor A;
local Vehicle DrivenVehicle;
C.bChangingPawns = true;
DrivenVehicle = Vehicle(C.Pawn);
if( DrivenVehicle != None )
{
DrivenVehicle.KDriverLeave(false);
C.bChangingPawns = false;
return false;
}
ForEach C.Pawn.VisibleCollidingActors(class'Vehicle', DrivenVehicle, 500)
{
DrivenVehicle.UsedBy(C.Pawn);
C.bChangingPawns = false;
return false;
}
// Send the 'DoUse' event to each actor player is touching.
ForEach C.Pawn.TouchingActors(class'Actor', A)
A.UsedBy(C.Pawn);
if ( C.Pawn.Base != None )
C.Pawn.Base.UsedBy( C.Pawn );
C.bChangingPawns = false;
return false;
}

View file

@ -0,0 +1,14 @@
class ACTION_WaitForAnimend extends LatentScriptedAction;
var(Action) int Channel;
function bool CompleteOnAnim(int Num)
{
return (Channel == Num);
}
defaultproperties
{
ActionString="Wait for animend"
bValidForTrigger=false
}

View file

@ -0,0 +1,33 @@
class ACTION_WaitForEvent extends LatentScriptedAction;
var(Action) name ExternalEvent; //tag to give controller (to affect triggering)
var TriggeredCondition T;
function bool InitActionFor(ScriptedController C)
{
if ( T == None )
ForEach C.AllActors(class'TriggeredCondition',T,ExternalEvent)
break;
if ( (T != None) && T.bEnabled )
return false;
C.CurrentAction = self;
C.Tag = ExternalEvent;
return true;
}
function bool CompleteWhenTriggered()
{
return true;
}
function string GetActionString()
{
return ActionString@ExternalEvent;
}
defaultproperties
{
ActionString="Wait for external event"
}

View file

@ -0,0 +1,29 @@
class ACTION_WaitForPlayer extends LatentScriptedAction;
var(Action) float Distance;
function bool InitActionFor(ScriptedController C)
{
if ( C.CheckIfNearPlayer(Distance) )
return false;
C.CurrentAction = self;
C.SetTimer(0.1,true);
return true;
}
function float GetDistance()
{
return Distance;
}
function bool WaitForPlayer()
{
return true;
}
defaultproperties
{
Distance=150
ActionString="Wait for player"
bValidForTrigger=false
}

View file

@ -0,0 +1,30 @@
class ACTION_WaitForTimer extends LatentScriptedAction;
var(Action) float PauseTime;
function bool InitActionFor(ScriptedController C)
{
C.CurrentAction = self;
C.SetTimer(PauseTime, false);
return true;
}
function bool CompleteWhenTriggered()
{
return true;
}
function bool CompleteWhenTimer()
{
return true;
}
function string GetActionString()
{
return ActionString@PauseTime;
}
defaultproperties
{
ActionString="Wait for timer"
}

View file

@ -0,0 +1,17 @@
class ACTION_Walk extends ScriptedAction;
function bool InitActionFor(ScriptedController C)
{
C.Pawn.ShouldCrouch(false);
// if _RO_
C.Pawn.ShouldProne(false);
// endif _RO_
C.Pawn.SetWalking(true);
return false;
}
defaultproperties
{
ActionString="walk"
bValidForTrigger=false
}

View file

@ -0,0 +1,9 @@
class AnimNotify_FireWeapon extends AnimNotify_Scripted;
event Notify( Actor Owner )
{
// fake fire - play weapon effect, but no real shot
Pawn(Owner).bIgnorePlayFiring = true;
WeaponAttachment(Pawn(Owner).Weapon.ThirdPersonActor).ThirdPersonEffects();
Pawn(Owner).Weapon.HackPlayFireSound();
}

View file

@ -0,0 +1,31 @@
//=============================================================================
// BlockedPath.
//
//=============================================================================
class BlockedPath extends NavigationPoint
placeable;
var bool bStartBlocked;
function PostBeginPlay()
{
bStartBlocked = bBlocked;
Super.PostBeginPlay();
}
function Reset()
{
Super.Reset();
bBlocked = bStartBlocked;
}
function Trigger( actor Other, pawn EventInstigator )
{
bBlocked = !bBlocked;
}
defaultproperties
{
bBlocked=true
bBlockable=true
}

View file

@ -0,0 +1,9 @@
class Burned extends DamageType
abstract;
defaultproperties
{
DeathString="%o was sauteed."
FlashFog=(X=800,Y=600,Z=240)
bLocationalHit=false
}

View file

@ -0,0 +1,63 @@
class CameraTextureClient extends Info
placeable;
var() ScriptedTexture DestTexture;
var() name CameraTag;
var() float RefreshRate;
var() float FOV;
var Actor CameraActor;
//
// PostBeginPlay
//
simulated function PostBeginPlay()
{
local Actor CameraActorIt;
ForEach AllActors(class'Actor',CameraActorIt,CameraTag)
{
CameraActor = CameraActorIt;
break;
}
if(DestTexture != None)
{
DestTexture.Client = Self;
SetTimer(1.0 / RefreshRate,true);
Enable('Timer');
}
}
//
// Timer
//
simulated function Timer()
{
DestTexture.Revision++;
}
//
// RenderTexture
//
simulated event RenderTexture(ScriptedTexture Tex)
{
if(CameraActor != None)
Tex.DrawPortal(0,0,Tex.USize,Tex.VSize,CameraActor,CameraActor.Location,CameraActor.Rotation,FOV);
}
//
// Default properties
//
defaultproperties
{
bStatic=False
bAlwaysRelevant=True
bNoDelete=True
RefreshRate=60.0
FOV=60.0
}

View file

@ -0,0 +1,18 @@
class Corroded extends DamageType
abstract;
static function class<Effects> GetPawnDamageEffect( vector HitLocation, float Damage, vector Momentum, Pawn Victim, bool bLowDetail )
{
return Default.PawnDamageEffect;
}
defaultproperties
{
DeathString="%o was dissolved by %k's."
FemaleSuicide="%o dissolved in slime."
MaleSuicide="%o dissolved in slime."
FlashFog=(X=450,Y=700,Z=230)
bLocationalHit=false
}

View file

@ -0,0 +1,88 @@
//=============================================================================
// Counter: waits until it has been triggered 'NumToCount' times, and then
// it sends Trigger/UnTrigger events to actors whose names match 'EventName'.
//=============================================================================
class Counter extends Triggers;
#exec Texture Import File=Textures\Counter.pcx Name=S_Counter Mips=Off MASKED=1
//-----------------------------------------------------------------------------
// Counter variables.
var() byte NumToCount; // Number to count down from.
var() bool bShowMessage; // Display count message?
var() localized string CountMessage; // Human readable count message.
var() localized string CompleteMessage; // Completion message.
var byte OriginalNum; // Number to count at startup time.
//-----------------------------------------------------------------------------
// Counter functions.
//
// Init for play.
//
function BeginPlay()
{
OriginalNum = NumToCount;
}
/* Reset()
reset actor to initial state - used when restarting level without reloading.
*/
function Reset()
{
NumToCount = OriginalNum;
}
//
// Counter was triggered.
//
function Trigger( actor Other, pawn EventInstigator )
{
local string S;
local string Num;
local int i;
if( NumToCount > 0 )
{
if( --NumToCount == 0 )
{
// Trigger all matching actors.
if( bShowMessage && (CompleteMessage != "") && (EventInstigator != None) )
EventInstigator.ClientMessage( CompleteMessage );
TriggerEvent(Event,Other,EventInstigator);
}
else if( bShowMessage && CountMessage != "" )
{
// Still counting down.
switch( NumToCount )
{
case 1: Num="one"; break;
case 2: Num="two"; break;
case 3: Num="three"; break;
case 4: Num="four"; break;
case 5: Num="five"; break;
case 6: Num="six"; break;
default: Num=string(NumToCount); break;
}
S = CountMessage;
while( InStr(S, "%i") >= 0 )
{
i = InStr(S, "%i");
S = Left(S,i) $ Num $ Mid(S,i+2);
}
if ( EventInstigator != None )
EventInstigator.ClientMessage( S );
}
}
}
defaultproperties
{
NumToCount=2
bShowMessage=False
CountMessage="Only %i more to go..."
CompleteMessage="Completed!"
Texture=S_Counter
bCollideActors=false
}

View file

@ -0,0 +1,11 @@
class CriticalEventPlus extends LocalMessage;
defaultproperties
{
bBeep=false
bFadeMessage=True
bIsUnique=True
DrawColor=(R=0,G=160,B=255,A=255)
FontSize=1
}

View file

@ -0,0 +1,14 @@
class Depressurized extends DamageType
abstract;
defaultproperties
{
DeathString="%o was depressurized by %k."
FemaleSuicide="%o was depressurized."
MaleSuicide="%o was depressurized."
bArmorStops=false
bAlwaysGibs=true
GibPerterbation=1.0
bLocationalHit=false
}

View file

@ -0,0 +1,19 @@
class Drowned extends DamageType
abstract;
static function class<Effects> GetPawnDamageEffect( vector HitLocation, float Damage, vector Momentum, Pawn Victim, bool bLowDetail )
{
return Default.PawnDamageEffect;
}
defaultproperties
{
DeathString="%o forgot to come up for air."
FemaleSuicide="%o forgot to come up for air."
MaleSuicide="%o forgot to come up for air."
bArmorStops=false
FlashFog=(X=312.500000,Y=468.7500000,Z=468.7500000)
bLocationalHit=false
bCausesBlood=false
}

View file

@ -0,0 +1,28 @@
//=============================================================================
// EFFECT_Alley:
//=============================================================================
class EFFECT_Alley extends I3DL2Listener
editinlinenew;
defaultproperties
{
EnvironmentSize=7.5;
EnvironmentDiffusion=0.30;
Room=-1000;
RoomHF=-271;
DecayTime=1.49;
DecayHFRatio=0.86;
Reflections=-1204;
ReflectionsDelay=0.007;
Reverb=-4;
ReverbDelay=0.011;
RoomRolloffFactor=0.0;
AirAbsorptionHF=-5;
bDecayTimeScale=true;
bReflectionsScale=true;
bReflectionsDelayScale=true;
bReverbScale=true;
bReverbDelayScale=true;
bDecayHFLimit=true;
}

View file

@ -0,0 +1,28 @@
//=============================================================================
// EFFECT_Arena
//=============================================================================
class EFFECT_Arena extends I3DL2Listener
editinlinenew;
defaultproperties
{
EnvironmentSize=36.2;
EnvironmentDiffusion=1.0;
Room=-1000;
RoomHF=-699;
DecayTime=7.240;
DecayHFRatio=0.33;
Reflections=-1166;
ReflectionsDelay=0.020;
Reverb=16;
ReverbDelay=0.0300;
RoomRolloffFactor=0.0;
AirAbsorptionHF=-5;
bDecayTimeScale=true;
bReflectionsScale=true;
bReflectionsDelayScale=true;
bReverbScale=true;
bReverbDelayScale=true;
bDecayHFLimit=true;
}

View file

@ -0,0 +1,28 @@
//=============================================================================
// EFFECT_Auditorium
//=============================================================================
class EFFECT_Auditorium extends I3DL2Listener
editinlinenew;
defaultproperties
{
EnvironmentSize=21.6;
EnvironmentDiffusion=1.00;
Room=-1000;
RoomHF=-476;
DecayTime=4.320;
DecayHFRatio=0.59;
Reflections=-789;
ReflectionsDelay=0.020;
Reverb=-289;
ReverbDelay=0.03;
RoomRolloffFactor=0.0;
AirAbsorptionHF=-5;
bDecayTimeScale=true;
bReflectionsScale=true;
bReflectionsDelayScale=true;
bReverbScale=true;
bReverbDelayScale=true;
bDecayHFLimit=true;
}

View file

@ -0,0 +1,28 @@
//=============================================================================
// EFFECT_Bathroom
//=============================================================================
class EFFECT_Bathroom extends I3DL2Listener
editinlinenew;
defaultproperties
{
EnvironmentSize=1.4;
EnvironmentDiffusion=1.000;
Room=-1000;
RoomHF=-1200;
DecayTime=1.49;
DecayHFRatio=0.54;
Reflections=-370;
ReflectionsDelay=0.007;
Reverb=1031;
ReverbDelay=0.011;
RoomRolloffFactor=0.0;
AirAbsorptionHF=-5;
bDecayTimeScale=true;
bReflectionsScale=true;
bReflectionsDelayScale=true;
bReverbScale=true;
bReverbDelayScale=true;
bDecayHFLimit=true;
}

View file

@ -0,0 +1,31 @@
//=============================================================================
// EFFECT_CASTLE_ALCOVE
//============================================================================
class EFFECT_CASTLE_ALCOVE extends I3DL2Listener
editinlinenew;
defaultproperties
{
EnvironmentSize=8.3f;
EnvironmentDiffusion=0.890f;
Room=-1000;
RoomHF=-600;
RoomLF=-2000;
DecayTime=1.64f;
DecayHFRatio=0.87f;
DecayLFRatio=0.31f;
Reflections=-100;
ReflectionsDelay=0.007f;
Reverb=-500;
ReverbDelay=0.034f;
EchoTime=0.138f;
EchoDepth=0.080f;
ModulationTime=0.250f;
ModulationDepth=0.000f;
AirAbsorptionHF=-5.0f;
HFReference=5168.6f;
LFReference=139.5f;
RoomRolloffFactor=0.00f;
//Flags=0x20;
}

View file

@ -0,0 +1,31 @@
//=============================================================================
// EFFECT_CASTLE_COURTYARD
//============================================================================
class EFFECT_CASTLE_COURTYARD extends I3DL2Listener
editinlinenew;
defaultproperties
{
EnvironmentSize=8.3f;
EnvironmentDiffusion=0.420f;
Room=-1100;
RoomHF=-700;
RoomLF=-900;
DecayTime=2.13f;
DecayHFRatio=0.61f;
DecayLFRatio=0.23f;
Reflections=-2300;
ReflectionsDelay=0.112f;
Reverb=-1500;
ReverbDelay=0.036f;
EchoTime=0.250f;
EchoDepth=0.370f;
ModulationTime=0.250f;
ModulationDepth=0.000f;
AirAbsorptionHF=-0.0f;
HFReference=5000.0f;
LFReference=250.0f;
RoomRolloffFactor=0.00f;
//Flags=0x1f;
}

View file

@ -0,0 +1,31 @@
//=============================================================================
// EFFECT_CASTLE_CUPBOARD
//============================================================================
class EFFECT_CASTLE_CUPBOARD extends I3DL2Listener
editinlinenew;
defaultproperties
{
EnvironmentSize=8.3f;
EnvironmentDiffusion=0.890f;
Room=-1000;
RoomHF=-1100;
RoomLF=-2000;
DecayTime=0.67f;
DecayHFRatio=0.87f;
DecayLFRatio=0.31f;
Reflections=300;
ReflectionsDelay=0.010f;
Reverb=300;
ReverbDelay=0.007f;
EchoTime=0.138f;
EchoDepth=0.080f;
ModulationTime=0.250f;
ModulationDepth=0.000f;
AirAbsorptionHF=-5.0f;
HFReference=5168.6f;
LFReference=139.5f;
RoomRolloffFactor=0.00f;
//Flags=0x20;
}

View file

@ -0,0 +1,31 @@
//=============================================================================
// EFFECT_CASTLE_HALL
//============================================================================
class EFFECT_CASTLE_HALL extends I3DL2Listener
editinlinenew;
defaultproperties
{
EnvironmentSize=8.3f;
EnvironmentDiffusion=0.810f;
Room=-1000;
RoomHF=-1100;
RoomLF=-1500;
DecayTime=3.14f;
DecayHFRatio=0.79f;
DecayLFRatio=0.62f;
Reflections=-1300;
ReflectionsDelay=0.056f;
Reverb=-500;
ReverbDelay=0.024f;
EchoTime=0.250f;
EchoDepth=0.000f;
ModulationTime=0.250f;
ModulationDepth=0.000f;
AirAbsorptionHF=-5.0f;
HFReference=5168.6f;
LFReference=139.5f;
RoomRolloffFactor=0.00f;
//Flags=0x20;
}

View file

@ -0,0 +1,31 @@
//=============================================================================
// EFFECT_CASTLE_LARGEROOM
//============================================================================
class EFFECT_CASTLE_LARGEROOM extends I3DL2Listener
editinlinenew;
defaultproperties
{
EnvironmentSize=8.3f;
EnvironmentDiffusion=0.820f;
Room=-1000;
RoomHF=-1100;
RoomLF=-1800;
DecayTime=2.53f;
DecayHFRatio=0.83f;
DecayLFRatio=0.50f;
Reflections=-900;
ReflectionsDelay=0.034f;
Reverb=-400;
ReverbDelay=0.016f;
EchoTime=0.185f;
EchoDepth=0.070f;
ModulationTime=0.250f;
ModulationDepth=0.000f;
AirAbsorptionHF=-5.0f;
HFReference=5168.6f;
LFReference=139.5f;
RoomRolloffFactor=0.00f;
//Flags=0x20;
}

View file

@ -0,0 +1,31 @@
//=============================================================================
// EFFECT_CASTLE_LONGPASSAGE
//============================================================================
class EFFECT_CASTLE_LONGPASSAGE extends I3DL2Listener
editinlinenew;
defaultproperties
{
EnvironmentSize=8.3f;
EnvironmentDiffusion=0.890f;
Room=-1000;
RoomHF=-800;
RoomLF=-2000;
DecayTime=3.42f;
DecayHFRatio=0.83f;
DecayLFRatio=0.31f;
Reflections=-200;
ReflectionsDelay=0.007f;
Reverb=-600;
ReverbDelay=0.023f;
EchoTime=0.138f;
EchoDepth=0.080f;
ModulationTime=0.250f;
ModulationDepth=0.000f;
AirAbsorptionHF=-5.0f;
HFReference=5168.6f;
LFReference=139.5f;
RoomRolloffFactor=0.00f;
//Flags=0x20;
}

View file

@ -0,0 +1,31 @@
//=============================================================================
// EFFECT_CASTLE_MEDIUMROOM
//============================================================================
class EFFECT_CASTLE_MEDIUMROOM extends I3DL2Listener
editinlinenew;
defaultproperties
{
EnvironmentSize=8.3f;
EnvironmentDiffusion=0.930f;
Room=-1000;
RoomHF=-1100;
RoomLF=-2000;
DecayTime=2.04f;
DecayHFRatio=0.83f;
DecayLFRatio=0.46f;
Reflections=-300;
ReflectionsDelay=0.022f;
Reverb=-200;
ReverbDelay=0.011f;
EchoTime=0.155f;
EchoDepth=0.030f;
ModulationTime=0.250f;
ModulationDepth=0.000f;
AirAbsorptionHF=-5.0f;
HFReference=5168.6f;
LFReference=139.5f;
RoomRolloffFactor=0.00f;
//Flags=0x20;
}

View file

@ -0,0 +1,31 @@
//=============================================================================
// EFFECT_CASTLE_SHORTPASSAGE
//============================================================================
class EFFECT_CASTLE_SHORTPASSAGE extends I3DL2Listener
editinlinenew;
defaultproperties
{
EnvironmentSize=8.3f;
EnvironmentDiffusion=0.890f;
Room=-1000;
RoomHF=-1000;
RoomLF=-2000;
DecayTime=2.32f;
DecayHFRatio=0.83f;
DecayLFRatio=0.31f;
Reflections=-100;
ReflectionsDelay=0.007f;
Reverb=-500;
ReverbDelay=0.023f;
EchoTime=0.138f;
EchoDepth=0.080f;
ModulationTime=0.250f;
ModulationDepth=0.000f;
AirAbsorptionHF=-5.0f;
HFReference=5168.6f;
LFReference=139.5f;
RoomRolloffFactor=0.00f;
//Flags=0x20;
}

View file

@ -0,0 +1,31 @@
//=============================================================================
// EFFECT_CASTLE_SMALLROOM
//============================================================================
class EFFECT_CASTLE_SMALLROOM extends I3DL2Listener
editinlinenew;
defaultproperties
{
EnvironmentSize=8.3f;
EnvironmentDiffusion=0.890f;
Room=-1100;
RoomHF=-800;
RoomLF=-2000;
DecayTime=1.22f;
DecayHFRatio=0.83f;
DecayLFRatio=0.31f;
Reflections=-100;
ReflectionsDelay=0.022f;
Reverb=0;
ReverbDelay=0.011f;
EchoTime=0.138f;
EchoDepth=0.080f;
ModulationTime=0.250f;
ModulationDepth=0.000f;
AirAbsorptionHF=-5.0f;
HFReference=5168.6f;
LFReference=139.5f;
RoomRolloffFactor=0.00f;
//Flags=0x20;
}

View file

@ -0,0 +1,31 @@
//=============================================================================
// EFFECT_CHAPEL
//============================================================================
class EFFECT_CHAPEL extends I3DL2Listener
editinlinenew;
defaultproperties
{
EnvironmentSize=19.6f;
EnvironmentDiffusion=0.840f;
Room=-1000;
RoomHF=-500;
RoomLF=0;
DecayTime=4.62f;
DecayHFRatio=0.64f;
DecayLFRatio=1.23f;
Reflections=-700;
ReflectionsDelay=0.032f;
Reverb=-800;
ReverbDelay=0.049f;
EchoTime=0.250f;
EchoDepth=0.000f;
ModulationTime=0.250f;
ModulationDepth=0.110f;
AirAbsorptionHF=-5.0f;
HFReference=5000.0f;
LFReference=250.0f;
RoomRolloffFactor=0.00f;
//Flags=0x3f;
}

View file

@ -0,0 +1,31 @@
//=============================================================================
// EFFECT_CITY_ABANDONED
//============================================================================
class EFFECT_CITY_ABANDONED extends I3DL2Listener
editinlinenew;
defaultproperties
{
EnvironmentSize=3.0f;
EnvironmentDiffusion=0.690f;
Room=-1100;
RoomHF=-200;
RoomLF=-100;
DecayTime=3.28f;
DecayHFRatio=1.17f;
DecayLFRatio=0.91f;
Reflections=-1400;
ReflectionsDelay=0.044f;
Reverb=-2400;
ReverbDelay=0.024f;
EchoTime=0.250f;
EchoDepth=0.200f;
ModulationTime=0.250f;
ModulationDepth=0.000f;
AirAbsorptionHF=-0.0f;
HFReference=5000.0f;
LFReference=250.0f;
RoomRolloffFactor=0.00f;
//Flags=0x20;
}

View file

@ -0,0 +1,31 @@
//=============================================================================
// EFFECT_CITY_LIBRARY
//============================================================================
class EFFECT_CITY_LIBRARY extends I3DL2Listener
editinlinenew;
defaultproperties
{
EnvironmentSize=80.3f;
EnvironmentDiffusion=0.820f;
Room=-1100;
RoomHF=-1100;
RoomLF=-2100;
DecayTime=2.76f;
DecayHFRatio=0.89f;
DecayLFRatio=0.41f;
Reflections=-1100;
ReflectionsDelay=0.029f;
Reverb=-500;
ReverbDelay=0.020f;
EchoTime=0.130f;
EchoDepth=0.170f;
ModulationTime=0.250f;
ModulationDepth=0.000f;
AirAbsorptionHF=-0.0f;
HFReference=2854.4f;
LFReference=107.5f;
RoomRolloffFactor=0.00f;
//Flags=0x0;
}

View file

@ -0,0 +1,31 @@
//=============================================================================
// EFFECT_CITY_MUSEUM
//============================================================================
class EFFECT_CITY_MUSEUM extends I3DL2Listener
editinlinenew;
defaultproperties
{
EnvironmentSize=80.3f;
EnvironmentDiffusion=0.820f;
Room=-1100;
RoomHF=-1500;
RoomLF=-1500;
DecayTime=3.28f;
DecayHFRatio=1.40f;
DecayLFRatio=0.57f;
Reflections=-1600;
ReflectionsDelay=0.039f;
Reverb=-600;
ReverbDelay=0.034f;
EchoTime=0.130f;
EchoDepth=0.170f;
ModulationTime=0.250f;
ModulationDepth=0.000f;
AirAbsorptionHF=-0.0f;
HFReference=2854.4f;
LFReference=107.5f;
RoomRolloffFactor=0.00f;
//Flags=0x0;
}

View file

@ -0,0 +1,31 @@
//=============================================================================
// EFFECT_CITY_STREETS
//============================================================================
class EFFECT_CITY_STREETS extends I3DL2Listener
editinlinenew;
defaultproperties
{
EnvironmentSize=3.0f;
EnvironmentDiffusion=0.780f;
Room=-1100;
RoomHF=-300;
RoomLF=-100;
DecayTime=1.79f;
DecayHFRatio=1.12f;
DecayLFRatio=0.91f;
Reflections=-1700;
ReflectionsDelay=0.046f;
Reverb=-2800;
ReverbDelay=0.028f;
EchoTime=0.250f;
EchoDepth=0.200f;
ModulationTime=0.250f;
ModulationDepth=0.000f;
AirAbsorptionHF=-0.0f;
HFReference=5000.0f;
LFReference=250.0f;
RoomRolloffFactor=0.00f;
//Flags=0x20;
}

View file

@ -0,0 +1,31 @@
//=============================================================================
// EFFECT_CITY_SUBWAY
//============================================================================
class EFFECT_CITY_SUBWAY extends I3DL2Listener
editinlinenew;
defaultproperties
{
EnvironmentSize=3.0f;
EnvironmentDiffusion=0.740f;
Room=-1100;
RoomHF=-300;
RoomLF=-100;
DecayTime=3.01f;
DecayHFRatio=1.23f;
DecayLFRatio=0.91f;
Reflections=-700;
ReflectionsDelay=0.046f;
Reverb=-1000;
ReverbDelay=0.028f;
EchoTime=0.125f;
EchoDepth=0.210f;
ModulationTime=0.250f;
ModulationDepth=0.000f;
AirAbsorptionHF=-0.0f;
HFReference=5000.0f;
LFReference=250.0f;
RoomRolloffFactor=0.00f;
//Flags=0x20;
}

View file

@ -0,0 +1,31 @@
//=============================================================================
// EFFECT_CITY_UNDERPASS
//============================================================================
class EFFECT_CITY_UNDERPASS extends I3DL2Listener
editinlinenew;
defaultproperties
{
EnvironmentSize=3.0f;
EnvironmentDiffusion=0.820f;
Room=-1500;
RoomHF=-700;
RoomLF=-100;
DecayTime=3.57f;
DecayHFRatio=1.12f;
DecayLFRatio=0.91f;
Reflections=-1500;
ReflectionsDelay=0.059f;
Reverb=-1100;
ReverbDelay=0.037f;
EchoTime=0.250f;
EchoDepth=0.140f;
ModulationTime=0.250f;
ModulationDepth=0.000f;
AirAbsorptionHF=-0.0f;
HFReference=5000.0f;
LFReference=250.0f;
RoomRolloffFactor=0.00f;
//Flags=0x20;
}

View file

@ -0,0 +1,28 @@
//=============================================================================
// EFFECT_CarpetedHallway
//=============================================================================
class EFFECT_CarpetedHallway extends I3DL2Listener
editinlinenew;
defaultproperties
{
EnvironmentSize=1.9;
EnvironmentDiffusion=1.0;
Room=-1000;
RoomHF=-4000;
DecayTime=0.3;
DecayHFRatio=0.1;
Reflections=-1831;
ReflectionsDelay=0.002;
Reverb=-1630;
ReverbDelay=0.03;
RoomRolloffFactor=0.0;
AirAbsorptionHF=-5;
bDecayTimeScale=true;
bReflectionsScale=true;
bReflectionsDelayScale=true;
bReverbScale=true;
bReverbDelayScale=true;
bDecayHFLimit=true;
}

View file

@ -0,0 +1,28 @@
//=============================================================================
// EFFECT_Cave
//=============================================================================
class EFFECT_Cave extends I3DL2Listener
editinlinenew;
defaultproperties
{
EnvironmentSize=14.6;
EnvironmentDiffusion=1.0;
Room=-1000;
RoomHF=0;
DecayTime=2.910;
DecayHFRatio=1.30;
Reflections=-602;
ReflectionsDelay=0.015;
Reverb=-302;
ReverbDelay=0.022;
RoomRolloffFactor=0.0;
AirAbsorptionHF=-5;
bDecayTimeScale=true;
bReflectionsScale=true;
bReflectionsDelayScale=true;
bReverbScale=true;
bReverbDelayScale=true;
bDecayHFLimit=true;
}

View file

@ -0,0 +1,28 @@
//=============================================================================
// EFFECT_City
//=============================================================================
class EFFECT_City extends I3DL2Listener
editinlinenew;
defaultproperties
{
EnvironmentSize=7.5;
EnvironmentDiffusion=0.50;
Room=-1000;
RoomHF=-800;
DecayTime=1.49;
DecayHFRatio=0.670;
Reflections=-2273;
ReflectionsDelay=0.007;
Reverb=-1691;
ReverbDelay=0.011;
RoomRolloffFactor=0.0;
AirAbsorptionHF=-5;
bDecayTimeScale=true;
bReflectionsScale=true;
bReflectionsDelayScale=true;
bReverbScale=true;
bReverbDelayScale=true;
bDecayHFLimit=true;
}

View file

@ -0,0 +1,28 @@
//=============================================================================
// EFFECT_ConcertHall
//=============================================================================
class EFFECT_ConcertHall extends I3DL2Listener
editinlinenew;
defaultproperties
{
EnvironmentSize=19.6;
EnvironmentDiffusion=1.0;
Room=-1000;
RoomHF=-500;
DecayTime=3.92;
DecayHFRatio=0.7;
Reflections=-1231;
ReflectionsDelay=0.02;
Reverb=-2;
ReverbDelay=0.029;
RoomRolloffFactor=0.0;
AirAbsorptionHF=-5;
bDecayTimeScale=true;
bReflectionsScale=true;
bReflectionsDelayScale=true;
bReverbScale=true;
bReverbDelayScale=true;
bDecayHFLimit=true;
}

View file

@ -0,0 +1,31 @@
//=============================================================================
// EFFECT_DOME_SAINTPAULS
//============================================================================
class EFFECT_DOME_SAINTPAULS extends I3DL2Listener
editinlinenew;
defaultproperties
{
EnvironmentSize=50.3f;
EnvironmentDiffusion=0.870f;
Room=-1000;
RoomHF=-900;
RoomLF=-1300;
DecayTime=10.48f;
DecayHFRatio=0.19f;
DecayLFRatio=0.10f;
Reflections=-1500;
ReflectionsDelay=0.090f;
Reverb=-500;
ReverbDelay=0.042f;
EchoTime=0.250f;
EchoDepth=0.120f;
ModulationTime=0.250f;
ModulationDepth=0.000f;
AirAbsorptionHF=-5.0f;
HFReference=2854.4f;
LFReference=20.0f;
RoomRolloffFactor=0.00f;
//Flags=0x3f;
}

View file

@ -0,0 +1,31 @@
//=============================================================================
// EFFECT_DOME_TOMB
//============================================================================
class EFFECT_DOME_TOMB extends I3DL2Listener
editinlinenew;
defaultproperties
{
EnvironmentSize=51.8f;
EnvironmentDiffusion=0.790f;
Room=-1000;
RoomHF=-900;
RoomLF=-1300;
DecayTime=4.18f;
DecayHFRatio=0.21f;
DecayLFRatio=0.10f;
Reflections=-825;
ReflectionsDelay=0.030f;
Reverb=-125;
ReverbDelay=0.022f;
EchoTime=0.177f;
EchoDepth=0.190f;
ModulationTime=0.250f;
ModulationDepth=0.000f;
AirAbsorptionHF=-5.0f;
HFReference=2854.4f;
LFReference=20.0f;
RoomRolloffFactor=0.00f;
//Flags=0x0;
}

Some files were not shown because too many files have changed in this diff Show more