Blade & Sorcery
0 of 0

File information

Last updated

Original upload

Created by

Ebediam

Uploaded by

Ebediam

Virus scan

Safe to use

Tags for this mod

About this mod

One of Bloodborne's starting weapons, the Saw Cleaver! Press the action button to change forms. Look at the video inside to see it in action. The serrated side acts like an axe, the thin side like a sword, and you can pierce with the spike.

Permissions and credits
Changelogs
Donations
Bloodborne Firearms:
Pistols: https://www.nexusmods.com/bladeandsorcery/mods/642
Shotguns: https://www.nexusmods.com/bladeandsorcery/mods/661
Rifles: https://www.nexusmods.com/bladeandsorcery/mods/662
Cannons: https://www.nexusmods.com/bladeandsorcery/mods/652
Gatling Gun: https://www.nexusmods.com/bladeandsorcery/mods/687
Flamers: https://www.nexusmods.com/bladeandsorcery/mods/691

Bloodborne Trick Weapons:

Saw Cleaver: https://www.nexusmods.com/bladeandsorcery/mods/604
Burial Blade:https://www.nexusmods.com/bladeandsorcery/mods/611
Reiterpallasch: https://www.nexusmods.com/bladeandsorcery/mods/620
Tonitrus: https://www.nexusmods.com/bladeandsorcery/mods/626
Stake Driver: https://www.nexusmods.com/bladeandsorcery/mods/636
Logarius Wheel: https://www.nexusmods.com/bladeandsorcery/mods/660
Holy Moonlight Sword: https://www.nexusmods.com/bladeandsorcery/mods/713


Bloodborne Misc Stuff:
Shields: https://www.nexusmods.com/bladeandsorcery/mods/645


public class ItemSawCleaver : MonoBehaviour
{

protected Item item;
public Transform blade;
public bool isExtended = false;
public bool isChanging = false;
public float rotation = 175f;
public float speed = 35f;
public float count = 0;
public ParticleSystem sparks;
public AudioSource trickSFX;
public GameObject spike;

protected void Awake()
{

item = this.GetComponent();
item.OnHeldActionEvent += OnHeldAction;
blade = item.transform.Find("Blade");

sparks = item.transform.Find("Sparks").GetComponent();
trickSFX = item.transform.Find("TrickSound").GetComponent();
spike = blade.Find("BladeColliders").Find("SpikeCollider").gameObject;
spike.SetActive(false);



}



public void OnHeldAction(Interactor interactor, Handle handle, Interactable.Action action)
{
if (action == Interactable.Action.AlternateUseStop)
{
isChanging = true;
}
}

void FixedUpdate()
{
if (isChanging)
{
ChangeWeapon();
}


}

public void ChangeWeapon()
{
if (isExtended)
{
blade.Rotate(0f, 0f, rotation / speed);
count++;
if(count >= speed)
{
sparks.Play();
trickSFX.Play();
count = 0f;
isExtended = false;
isChanging = false;
spike.SetActive(false);
item.rb.mass = 1f;


}
}
else
{
blade.Rotate(0f, 0f, -rotation / speed);
count++;
if (count >= speed)
{
sparks.Play();
trickSFX.Play();
count = 0f;
isExtended = true;
isChanging = false;
spike.SetActive(true);
item.rb.mass = 2f;


}
}
}

}