This is a custom Berserk I'm using with a bunch of effects.
Code: Select all
Class BD_Berserk : Berserk replaces Berserk
{
Default {
inventory.pickupsound "pickups/berserk";
}
States
{
Pickup:
TNT1 A 0 {
if (bdoom_weapons == 2) { //this determines which weapon set is active; obviously I'm using bdoom_weapons 2 for this
A_GiveInventory("Modernberserk_Strength");
A_GiveInventory("Modernberserk_Regen");
A_GiveInventory("Modernberserk_Speed");
A_GiveInventory("Modernberserk_Protection");
}
else
A_GiveInventory("PowerStrength");
HealThing(100, 0);
A_SelectWeapon("BD_Fist");
}
stop;
}
}
Class Modernberserk_Strength : PowerStrength
{
Default {
powerup.duration -40;
powerup.color "RedMap";
}
}
Class ModernBerserk_Regen : PowerRegeneration
{
Default {
powerup.duration -40;
powerup.strength 5;
powerup.color "none";
}
}
Class ModernBerserk_Speed : PowerSpeed
{
Default {
powerup.duration -40;
speed 1.3;
powerup.color "none";
}
}
Class ModernBerserk_Protection : PowerProtection
{
Default {
+NOPAIN;
powerup.duration -40;
Damagefactor 0.5;
powerup.color "none";
}
}
Code: Select all
if (countinv("Modernberserk_Strength") > 0)
return ResolveState("BerserkLP1");
The weirdness: after 40 seconds the screen starts blinking, but when the blinking ends, RedMap palette remains active, although somehow it becomes brighter. The jump in the Fire state
Code: Select all
still
Could anyone point it what I'm missing?