gzdoom/wadsrc/static/zscript/hexen/baseweapons.txt
2016-11-26 22:25:49 +01:00

64 lines
No EOL
1.3 KiB
Text

// The Doom and Heretic players are not excluded from pickup in case
// somebody wants to use these weapons with either of those games.
class FighterWeapon : Weapon
{
Default
{
Weapon.Kickback 150;
Inventory.ForbiddenTo "ClericPlayer", "MagePlayer";
}
}
class ClericWeapon : Weapon
{
Default
{
Weapon.Kickback 150;
Inventory.ForbiddenTo "FighterPlayer", "MagePlayer";
}
}
class MageWeapon : Weapon native
{
Default
{
Weapon.Kickback 150;
Inventory.ForbiddenTo "FighterPlayer", "ClericPlayer";
}
}
extend class Actor
{
//============================================================================
//
// AdjustPlayerAngle
//
//============================================================================
const MAX_ANGLE_ADJUST = (5.);
void AdjustPlayerAngle(FTranslatedLineTarget t)
{
// normally this will adjust relative to the actual direction to the target,
// but with arbitrary portals that cannot be calculated so using the actual
// attack angle is the only option.
double atkangle = t.unlinked ? t.angleFromSource : AngleTo(t.linetarget);
double difference = deltaangle(Angle, atkangle);
if (abs(difference) > MAX_ANGLE_ADJUST)
{
if (difference > 0)
{
angle += MAX_ANGLE_ADJUST;
}
else
{
angle -= MAX_ANGLE_ADJUST;
}
}
else
{
angle = t.angleFromSource;
}
}
}