mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2024-11-11 07:12:16 +00:00
A_CustomPunch Extension
- Added Melee/Miss parameters just like A_CustomMeleeAttack.
This commit is contained in:
parent
f4a60f29f3
commit
8594bfaa8b
2 changed files with 10 additions and 3 deletions
|
@ -1414,6 +1414,8 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_CustomPunch)
|
||||||
ACTION_PARAM_FIXED(LifeSteal, 5);
|
ACTION_PARAM_FIXED(LifeSteal, 5);
|
||||||
ACTION_PARAM_INT(lifestealmax, 6);
|
ACTION_PARAM_INT(lifestealmax, 6);
|
||||||
ACTION_PARAM_CLASS(armorbonustype, 7);
|
ACTION_PARAM_CLASS(armorbonustype, 7);
|
||||||
|
ACTION_PARAM_SOUND(MeleeSound, 8);
|
||||||
|
ACTION_PARAM_SOUND(MissSound, 9);
|
||||||
|
|
||||||
if (!self->player) return;
|
if (!self->player) return;
|
||||||
|
|
||||||
|
@ -1443,7 +1445,11 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_CustomPunch)
|
||||||
|
|
||||||
P_LineAttack (self, angle, Range, pitch, Damage, NAME_Melee, PuffType, puffFlags, &linetarget, &actualdamage);
|
P_LineAttack (self, angle, Range, pitch, Damage, NAME_Melee, PuffType, puffFlags, &linetarget, &actualdamage);
|
||||||
|
|
||||||
if (linetarget)
|
if (!linetarget)
|
||||||
|
{
|
||||||
|
if (MissSound) S_Sound(self, CHAN_WEAPON, MissSound, 1, ATTN_NORM);
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
if (LifeSteal && !(linetarget->flags5 & MF5_DONTDRAIN))
|
if (LifeSteal && !(linetarget->flags5 & MF5_DONTDRAIN))
|
||||||
{
|
{
|
||||||
|
@ -1474,7 +1480,8 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_CustomPunch)
|
||||||
|
|
||||||
if (weapon != NULL)
|
if (weapon != NULL)
|
||||||
{
|
{
|
||||||
S_Sound (self, CHAN_WEAPON, weapon->AttackSound, 1, ATTN_NORM);
|
if (MeleeSound) S_Sound(self, CHAN_WEAPON, MeleeSound, 1, ATTN_NORM);
|
||||||
|
else S_Sound (self, CHAN_WEAPON, weapon->AttackSound, 1, ATTN_NORM);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(flags & CPF_NOTURN))
|
if (!(flags & CPF_NOTURN))
|
||||||
|
|
|
@ -8,7 +8,7 @@ ACTOR Inventory native
|
||||||
Inventory.PickupMessage "$TXT_DEFAULTPICKUPMSG"
|
Inventory.PickupMessage "$TXT_DEFAULTPICKUPMSG"
|
||||||
|
|
||||||
action native A_JumpIfNoAmmo(state label);
|
action native A_JumpIfNoAmmo(state label);
|
||||||
action native A_CustomPunch(int damage, bool norandom = false, int flags = CPF_USEAMMO, class<Actor> pufftype = "BulletPuff", float range = 0, float lifesteal = 0, int lifestealmax = 0, class<BasicArmorBonus> armorbonustype = "ArmorBonus");
|
action native A_CustomPunch(int damage, bool norandom = false, int flags = CPF_USEAMMO, class<Actor> pufftype = "BulletPuff", float range = 0, float lifesteal = 0, int lifestealmax = 0, class<BasicArmorBonus> armorbonustype = "ArmorBonus", sound MeleeSound = "", sound MissSound = "");
|
||||||
action native A_FireBullets(float spread_xy, float spread_z, int numbullets, int damageperbullet, class<Actor> pufftype = "BulletPuff", int flags = 1, float range = 0);
|
action native A_FireBullets(float spread_xy, float spread_z, int numbullets, int damageperbullet, class<Actor> pufftype = "BulletPuff", int flags = 1, float range = 0);
|
||||||
action native A_FireCustomMissile(class<Actor> missiletype, float angle = 0, bool useammo = true, int spawnofs_xy = 0, float spawnheight = 0, int flags = 0, float pitch = 0);
|
action native A_FireCustomMissile(class<Actor> missiletype, float angle = 0, bool useammo = true, int spawnofs_xy = 0, float spawnheight = 0, int flags = 0, float pitch = 0);
|
||||||
action native A_RailAttack(int damage, int spawnofs_xy = 0, int useammo = true, color color1 = "", color color2 = "", int flags = 0, float maxdiff = 0, class<Actor> pufftype = "BulletPuff", float spread_xy = 0, float spread_z = 0, float range = 0, int duration = 0, float sparsity = 1.0, float driftspeed = 1.0, class<Actor> spawnclass = "none", float spawnofs_z = 0, int spiraloffset = 270);
|
action native A_RailAttack(int damage, int spawnofs_xy = 0, int useammo = true, color color1 = "", color color2 = "", int flags = 0, float maxdiff = 0, class<Actor> pufftype = "BulletPuff", float spread_xy = 0, float spread_z = 0, float range = 0, int duration = 0, float sparsity = 1.0, float driftspeed = 1.0, class<Actor> spawnclass = "none", float spawnofs_z = 0, int spiraloffset = 270);
|
||||||
|
|
Loading…
Reference in a new issue