

Use these methods:
AddCustomRevive(CanReviveDelegate canReviveDelegate)
AddCustomRevive(CanReviveDelegate canReviveDelegate, OnReviveDelegate onReviveDelegate)
AddCustomRevive(CanReviveDelegate canReviveDelegate, PendingOnRevive[] pendingOnRevives)
AddCustomRevive(CanReviveDelegate canReviveDelegate, OnReviveDelegate onReviveDelegate, PendingOnRevive[] pendingOnRevives) methods.
In CanReviveDelegate canReviveDelegate parameter put boolean method/delegate with CharacetrMaster parameter that will determine if CharacterMaster is able to respawn on death with your custom condition. A necessary value
In OnReviveDelegate onReviveDelegate parameter put void method/delegate with CharacetrMaster parameter that will run after death and if CharacterMaster is able to respawn with your custom condition instantly. For example Dio's Best friends takes an item on the begininng of respawn. Put a similar method in this value. DO NOT RUN Respawn HERE. Null value will run nothing
In PendingOnRevive[] parameter put an array of PendingOnRevive classes that will run them after reviving after a specified amount of time. For example Dio's Best friends makes a sound after 1 second and revives you after 2 seconds. By default there is a simple revive method and a simple sfx sound maker method in this array.
PendingOnRevive has two fields, float timer and OnReviveDelegate onReviveDelegate. float timer will determine after how much time OnReviveDelegate onReviveDelegate will invoke