- Code: Select all
void A_FSwordAttack()
{
int damage;
int i;
int as;//the variable is called as because of the as de espadas, ace of spades (mora accurately transatable for "ace of swords") :P
TAVec angles;
TVec vforward;
damage = 200 + (P_Random() & 15);
for (i = 0; i < 16; i++)
{
angles = Player.MO.Angles;
angles.yaw = AngleMod360(angles.yaw + itof(i) * (45.0 / 16.0));
Actor(Player.MO).AimLineAttack(&angles, 2.0 * Actor::MELEERANGE);
if (Actor(Player.MO).linetarget)
{
AngleVector(&angles, &vforward);
if (Actor(Player.MO).LineAttack(vforward, 2.0 * Actor::MELEERANGE, damage, HammerPuff))
{
Player.MO.PlaySound('FighterHammerMiss', CHAN_WEAPON);
as=1;
}
Player(Player).AdjustPlayerAngle();
return;
}
angles = Player.MO.Angles;
angles.yaw = AngleMod360(angles.yaw - itof(i) * (45.0 / 16.0));
Actor(Player.MO).AimLineAttack(&angles, 2.0 * Actor::MELEERANGE);
if (Actor(Player.MO).linetarget)
{
AngleVector(&angles, &vforward);
if (Actor(Player.MO).LineAttack(vforward, 2.0 * Actor::MELEERANGE, damage, HammerPuff))
{
Player.MO.PlaySound('FighterHammerMiss', CHAN_WEAPON);
as=1;
}
Player(Player).AdjustPlayerAngle();
return;
}
}
// didn't find any creatures, so try to strike any walls
angles = Player.MO.Angles;
Actor(Player.MO).AimLineAttack(&angles, Actor::MELEERANGE);
AngleVector(&angles, &vforward);
if (Actor(Player.MO).LineAttack(vforward, Actor::MELEERANGE, damage, HammerPuff))
{
Player.MO.PlaySound('FighterHammerMiss', CHAN_WEAPON);
as=1;
}
if (as==1)
{
PlayerPawn Owner = PlayerPawn(Player.MO);
Player(Player).Mana[HexenDefs::MANA_1] -=
WeaponManaUse(Player.PClass, Player(Player).ReadyWeapon);
Player(Player).Mana[HexenDefs::MANA_2] -=
WeaponManaUse(Player.PClass, Player(Player).ReadyWeapon);
Player(Player).SpawnPlayerMissileAngleXYZ(Owner.Origin + vector(0.0, 0.0, -10.0),
FighterSwordMissile, AngleMod360(Owner.Angles.yaw + 45.0 / 4.0));
Player(Player).SpawnPlayerMissileAngleXYZ(Owner.Origin + vector(0.0, 0.0, -5.0),
FighterSwordMissile, AngleMod360(Owner.Angles.yaw + 45.0 / 8.0));
Player(Player).SpawnPlayerMissileAngleXYZ(Owner.Origin, FighterSwordMissile,
Owner.Angles.yaw);
Player(Player).SpawnPlayerMissileAngleXYZ(Owner.Origin + vector(0.0, 0.0, 5.0),
FighterSwordMissile, AngleMod360(Owner.Angles.yaw - 45.0 / 8.0));
Player(Player).SpawnPlayerMissileAngleXYZ(Owner.Origin + vector(0.0, 0.0, 10.0),
FighterSwordMissile, AngleMod360(Owner.Angles.yaw - 45.0 / 4.0));
Owner.PlaySound('FighterSwordFire', CHAN_WEAPON);
}
}
So, I want to make it fire-damaging. I've tried to look it up in the cone of shards code, but I don't understand
Thank you very much

