Include a second knife swing animation for the combo attack
Co-authored-by: r3cp3ct <45179536+r3cp3ct@users.noreply.github.com> Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
This commit is contained in:
parent
ad21b7da11
commit
04b573d395
69
src/sig/objects/weapons/KnifeSwing2.java
Normal file
69
src/sig/objects/weapons/KnifeSwing2.java
Normal file
@ -0,0 +1,69 @@
|
||||
package sig.objects.weapons;
|
||||
|
||||
import sig.engine.AnimatedSprite;
|
||||
import sig.engine.Panel;
|
||||
import sig.engine.Transform;
|
||||
import sig.objects.actor.AttachableObject;
|
||||
import sig.objects.actor.PhysicsObject;
|
||||
import sig.objects.actor.State;
|
||||
import sig.engine.objects.AnimatedObject;
|
||||
import sig.engine.objects.Object;
|
||||
|
||||
public class KnifeSwing2 extends AttachableObject{
|
||||
|
||||
final byte frameCount = 5; //Number of frames before animation ends.
|
||||
|
||||
public KnifeSwing2(AnimatedSprite spr, double animationSpd, Panel panel, Object attachedObj) {
|
||||
super(spr, animationSpd, panel, attachedObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(double updateMult) {
|
||||
super.update(updateMult);
|
||||
if (getCurrentFrame()>frameCount) {
|
||||
setMarkedForDeletion(true);
|
||||
return;
|
||||
}
|
||||
if (getSpriteTransform()==Transform.HORIZONTAL) {
|
||||
setX(getAttachedObject().getX()+getAnimatedSpr().getWidth()/2);
|
||||
} else {
|
||||
setX(getAttachedObject().getX()-getAnimatedSpr().getWidth()/2);
|
||||
}
|
||||
setY(getAttachedObject().getY());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void collisionEvent(AnimatedObject obj) {
|
||||
//System.out.println("Bonk");
|
||||
if(obj instanceof PhysicsObject){
|
||||
PhysicsObject pobj = (PhysicsObject)obj;
|
||||
if(pobj.state!=State.STAGGER){
|
||||
if(getSpriteTransform()==Transform.NONE){
|
||||
pobj.staggerDuration=0.3;
|
||||
pobj.x_velocity = -500;
|
||||
pobj.y_velocity = -300;
|
||||
pobj.state = State.STAGGER;
|
||||
}else{
|
||||
pobj.staggerDuration=0.3;
|
||||
pobj.x_velocity = 500;
|
||||
pobj.y_velocity = -300;
|
||||
pobj.state = State.STAGGER;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(byte[] p) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Transform getSpriteTransform() {
|
||||
return getAttached().getSpriteTransform();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFriendlyObject() {
|
||||
return true;
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user