by Void Weaver » Mon Nov 18, 2019 7:02 am
Oh, of course! A_RailAttack is much suitable for this goal indeed! Thank you for the tip
deathzero021! ^_^
A some example for test:
Code: Select all
ACTOR SwipeBlade : FWeapQuietus
{
Weapon.SlotNumber 2
Weapon.SlotPriority 1
States
{
Fire:
FSRD DE 3 Bright Offset(5, 36)
FSRD F 2 Bright Offset(5, 36) A_Overlay(1001,"SwipeAttack")
FSRD G 3 Bright Offset(5, 36)
Goto Super::Fire+4
SwipeAttack:
TNT1 A 1 A_RailAttack(10,15,0,None,None,RGF_SILENT|RGF_NOPIERCING|RGF_NORANDOMPUFFZ,0,"SwipePuff",0,0,64,1,1,1,None,15)
TNT1 A 1 A_RailAttack(10,10,0,None,None,RGF_SILENT|RGF_NOPIERCING|RGF_NORANDOMPUFFZ,0,"SwipePuff",0,0,64,1,1,1,None,10)
TNT1 A 1 A_RailAttack(10,5,0,None,None,RGF_SILENT|RGF_NOPIERCING|RGF_NORANDOMPUFFZ,0,"SwipePuff",0,0,64,1,1,1,None,5)
TNT1 A 1 A_RailAttack(10,0,0,None,None,RGF_SILENT|RGF_NOPIERCING|RGF_NORANDOMPUFFZ,0,"SwipePuff",0,0,64,1,1,1,None,0)
TNT1 A 1 A_RailAttack(10,-5,0,None,None,RGF_SILENT|RGF_NOPIERCING|RGF_NORANDOMPUFFZ,0,"SwipePuff",0,0,64,1,1,1,None,-5)
TNT1 A 1 A_RailAttack(10,-10,0,None,None,RGF_SILENT|RGF_NOPIERCING|RGF_NORANDOMPUFFZ,0,"SwipePuff",0,0,64,1,1,1,None,-10)
TNT1 A 1 A_RailAttack(10,-15,0,None,None,RGF_SILENT|RGF_NOPIERCING|RGF_NORANDOMPUFFZ,0,"SwipePuff",0,0,64,1,1,1,None,-15)
Stop
}
}
ACTOR SwipePuff : BulletPuff
{
+ALWAYSPUFF
+HITTRACER
+PUFFONACTORS
DamageType "SwingPuff"
States
{
XDeath:
TNT1 A 0 {bALLOWPARTICLES=0;}
TNT1 A 0 A_JumpIfInventory("PuffTimer",1,"Failed",AAPTR_TRACER)
TNT1 A 0 A_GiveInventory("PuffTimer",1,AAPTR_TRACER)
Stop
Failed:
TNT1 A 0 A_GiveInventory("PuffProtect",1,AAPTR_TRACER)
Stop
}
}
ACTOR PuffProtect : PowerProtection
{
DamageFactor "SwingPuff",0
Powerup.Duration 5
Inventory.MaxAmount 1
}
ACTOR PuffTimer : Powerup
{
Powerup.Duration 2
Inventory.MaxAmount 1
}
*Goes to rework his blade via rails.*
Oh, of course! A_RailAttack is much suitable for this goal indeed! Thank you for the tip [b]deathzero021[/b]! ^_^
A some example for test:[code]ACTOR SwipeBlade : FWeapQuietus
{
Weapon.SlotNumber 2
Weapon.SlotPriority 1
States
{
Fire:
FSRD DE 3 Bright Offset(5, 36)
FSRD F 2 Bright Offset(5, 36) A_Overlay(1001,"SwipeAttack")
FSRD G 3 Bright Offset(5, 36)
Goto Super::Fire+4
SwipeAttack:
TNT1 A 1 A_RailAttack(10,15,0,None,None,RGF_SILENT|RGF_NOPIERCING|RGF_NORANDOMPUFFZ,0,"SwipePuff",0,0,64,1,1,1,None,15)
TNT1 A 1 A_RailAttack(10,10,0,None,None,RGF_SILENT|RGF_NOPIERCING|RGF_NORANDOMPUFFZ,0,"SwipePuff",0,0,64,1,1,1,None,10)
TNT1 A 1 A_RailAttack(10,5,0,None,None,RGF_SILENT|RGF_NOPIERCING|RGF_NORANDOMPUFFZ,0,"SwipePuff",0,0,64,1,1,1,None,5)
TNT1 A 1 A_RailAttack(10,0,0,None,None,RGF_SILENT|RGF_NOPIERCING|RGF_NORANDOMPUFFZ,0,"SwipePuff",0,0,64,1,1,1,None,0)
TNT1 A 1 A_RailAttack(10,-5,0,None,None,RGF_SILENT|RGF_NOPIERCING|RGF_NORANDOMPUFFZ,0,"SwipePuff",0,0,64,1,1,1,None,-5)
TNT1 A 1 A_RailAttack(10,-10,0,None,None,RGF_SILENT|RGF_NOPIERCING|RGF_NORANDOMPUFFZ,0,"SwipePuff",0,0,64,1,1,1,None,-10)
TNT1 A 1 A_RailAttack(10,-15,0,None,None,RGF_SILENT|RGF_NOPIERCING|RGF_NORANDOMPUFFZ,0,"SwipePuff",0,0,64,1,1,1,None,-15)
Stop
}
}
ACTOR SwipePuff : BulletPuff
{
+ALWAYSPUFF
+HITTRACER
+PUFFONACTORS
DamageType "SwingPuff"
States
{
XDeath:
TNT1 A 0 {bALLOWPARTICLES=0;}
TNT1 A 0 A_JumpIfInventory("PuffTimer",1,"Failed",AAPTR_TRACER)
TNT1 A 0 A_GiveInventory("PuffTimer",1,AAPTR_TRACER)
Stop
Failed:
TNT1 A 0 A_GiveInventory("PuffProtect",1,AAPTR_TRACER)
Stop
}
}
ACTOR PuffProtect : PowerProtection
{
DamageFactor "SwingPuff",0
Powerup.Duration 5
Inventory.MaxAmount 1
}
ACTOR PuffTimer : Powerup
{
Powerup.Duration 2
Inventory.MaxAmount 1
}[/code]
[i]*Goes to rework his blade via rails.*[/i]