Fix missing Boss footstep sound (filename longer than 8 chars, oops). Began working on the activatables for Heretic.
216 lines
No EOL
4 KiB
Text
216 lines
No EOL
4 KiB
Text
// Heretic keys
|
|
Class UTHereticYellowKey : KeyYellow
|
|
{
|
|
Default
|
|
{
|
|
Tag "$T_YELLOWKEY";
|
|
Species "KeyYellow";
|
|
Inventory.PickupMessage "$I_YELLOWKEY";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
UKEY B -1;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
Class UTHereticGreenKey : KeyGreen
|
|
{
|
|
Default
|
|
{
|
|
Tag "$T_GREENKEY";
|
|
Species "KeyGreen";
|
|
Inventory.PickupMessage "$I_GREENKEY";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
UKEY D -1;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
Class UTHereticBlueKey : KeyBlue
|
|
{
|
|
Default
|
|
{
|
|
Tag "$T_BLUEKEY";
|
|
Species "KeyBlue";
|
|
Inventory.PickupMessage "$I_BLUEKEY";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
UKEY C -1;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// TODO Base class for items that can be activated from the inventory bar
|
|
Class UTActivatable : Inventory
|
|
{
|
|
Default
|
|
{
|
|
+INVENTORY.INVBAR;
|
|
}
|
|
}
|
|
|
|
// These have to be subclassed from HealthPickup for auto-use
|
|
Class UTActivatableHealth : HealthPickup
|
|
{
|
|
Default
|
|
{
|
|
}
|
|
}
|
|
|
|
// Alternative player classes for compatibility with Heretic sprites
|
|
Class UTPlayerHereticCompat : UTPlayer
|
|
{
|
|
Default
|
|
{
|
|
Player.ColorRange 225, 240;
|
|
Player.Colorset 0, "Green", 225, 240, 238;
|
|
Player.Colorset 1, "Yellow", 114, 129, 127;
|
|
Player.Colorset 2, "Red", 145, 160, 158;
|
|
Player.Colorset 3, "Blue", 190, 205, 203;
|
|
Player.Colorset 4, "Brown", 67, 82, 80;
|
|
Player.Colorset 5, "Light Gray", 9, 24, 22;
|
|
Player.Colorset 6, "Light Brown", 74, 89, 87;
|
|
Player.Colorset 7, "Light Red", 150, 165, 163;
|
|
Player.Colorset 8, "Light Blue", 192, 207, 205;
|
|
Player.Colorset 9, "Beige", 95, 110, 108;
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
PLAY A -1;
|
|
Stop;
|
|
See:
|
|
PLAY ABCD 4;
|
|
Loop;
|
|
Melee:
|
|
Missile:
|
|
PLAY F 6 BRIGHT;
|
|
PLAY E 12;
|
|
Goto Spawn;
|
|
Pain:
|
|
PLAY G 4;
|
|
PLAY G 4 A_Pain;
|
|
Goto Spawn;
|
|
Death:
|
|
PLAY H 6 A_PlayerSkinCheck("AltSkinDeath");
|
|
PLAY I 6 A_PlayerScream;
|
|
PLAY JK 6;
|
|
PLAY L 6 A_NoBlocking;
|
|
PLAY MNO 6;
|
|
PLAY P -1;
|
|
Stop;
|
|
XDeath:
|
|
PLAY Q 0 A_PlayerSkinCheck("AltSkinXDeath");
|
|
PLAY Q 5 A_PlayerScream;
|
|
PLAY R 0 A_NoBlocking;
|
|
PLAY R 5 A_SkullPop;
|
|
PLAY STUVWX 5;
|
|
PLAY Y -1;
|
|
Stop;
|
|
Burn:
|
|
FDTH A 5 BRIGHT A_PlaySound("*burndeath");
|
|
FDTH B 4 BRIGHT;
|
|
FDTH C 5 BRIGHT;
|
|
FDTH D 4 BRIGHT A_PlayerScream;
|
|
FDTH E 5 BRIGHT;
|
|
FDTH F 4 BRIGHT;
|
|
FDTH G 5 BRIGHT A_PlaySound("*burndeath");
|
|
FDTH H 4 BRIGHT;
|
|
FDTH I 5 BRIGHT;
|
|
FDTH J 4 BRIGHT;
|
|
FDTH K 5 BRIGHT;
|
|
FDTH L 4 BRIGHT;
|
|
FDTH M 5 BRIGHT;
|
|
FDTH N 4 BRIGHT;
|
|
FDTH O 5 BRIGHT A_NoBlocking;
|
|
FDTH P 4 BRIGHT;
|
|
FDTH Q 5 BRIGHT;
|
|
FDTH R 4 BRIGHT;
|
|
ACLO E 35 A_CheckPlayerDone;
|
|
Wait;
|
|
AltSkinDeath:
|
|
PLAY H 10;
|
|
PLAY I 10 A_PlayerScream;
|
|
PLAY J 10 A_NoBlocking;
|
|
PLAY KLM 10;
|
|
PLAY N -1;
|
|
Stop;
|
|
AltSkinXDeath:
|
|
PLAY O 5;
|
|
PLAY P 5 A_XScream;
|
|
PLAY Q 5 A_NoBlocking;
|
|
PLAY RSTUV 5;
|
|
PLAY W -1;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
Class UTPlayerHereticCompatTMale1 : UTPlayerHereticCompat
|
|
{
|
|
Default
|
|
{
|
|
Player.SoundClass "tmale1";
|
|
Player.DisplayName "$N_TMALE1";
|
|
Player.Portrait "Blake";
|
|
-NOMENU;
|
|
}
|
|
}
|
|
Class UTPlayerHereticCompatTMale2 : UTPlayerHereticCompat
|
|
{
|
|
Default
|
|
{
|
|
Player.SoundClass "tmale2";
|
|
Player.DisplayName "$N_TMALE2";
|
|
Player.Portrait "Brock";
|
|
-NOMENU;
|
|
}
|
|
}
|
|
Class UTPlayerHereticCompatTFemale1 : UTPlayerHereticCompat
|
|
{
|
|
Default
|
|
{
|
|
Player.SoundClass "tfemale";
|
|
Player.DisplayName "$N_TFEMALE1";
|
|
Player.Portrait "Ivana";
|
|
UTPlayer.DollType DOLL_Female;
|
|
-NOMENU;
|
|
}
|
|
}
|
|
Class UTPlayerHereticCompatTFemale2 : UTPlayerHereticCompat
|
|
{
|
|
Default
|
|
{
|
|
Player.SoundClass "tfemale";
|
|
Player.DisplayName "$N_TFEMALE2";
|
|
Player.Portrait "Lauren";
|
|
UTPlayer.DollType DOLL_Female;
|
|
-NOMENU;
|
|
}
|
|
}
|
|
Class UTPlayerHereticCompatTBoss : UTPlayerHereticCompat
|
|
{
|
|
transient CVar bossfootsteps;
|
|
Default
|
|
{
|
|
Player.SoundClass "tboss";
|
|
Player.DisplayName "$N_TBOSS";
|
|
Player.Portrait "Xan";
|
|
UTPlayer.DollType DOLL_Boss;
|
|
// should have NOBLOOD, but Xan did bleed in vanilla UT so...
|
|
// (this is what gave birth to the theory that Xan was actually Jerl Liandri himself)
|
|
-NOMENU;
|
|
}
|
|
override void PlayFootstep( double vol )
|
|
{
|
|
if ( !bossfootsteps ) bossfootsteps = CVar.GetCVar('flak_bossfootsteps',players[consoleplayer]);
|
|
if ( bossfootsteps.GetBool() ) A_PlaySound("ut/bossfootstep",CHAN_5,vol);
|
|
else Super.PlayFootstep(vol);
|
|
}
|
|
} |