public override void FinishAction() { if (!DoingAction) return; if (Creature == null) return; base.FinishAction(); Vector2 dir = new Vector2(HDir, VDir); CurrentProjective.Move(dir, ProjectiveSpeed, false); CurrentProjective.Move(new Vector2(0, -1), 2, false);// small hack CurrentProjective.SetOwner(Creature, false); CurrentProjective.Damage = Damage; CurrentProjective.IgnoreWalls = false; CurrentProjective.IgnoreCollisions = false; CurrentProjective.GravityAffected = true; CurrentProjective.Freeze = false; CurrentProjective = null; }
protected void CreateNewProjective() { CurrentProjective = ProjectiveFactory.Create(World, projectiveType); CurrentProjective.IgnoreWalls = true; CurrentProjective.IgnoreCollisions = true; CurrentProjective.GravityAffected = false; CurrentProjective.Freeze = true; }