예제 #1
0
        public override void FinnishSurgeryProcedure(BodyPart OnBodyPart, PositionalHandApply interaction,
                                                     Dissectible.PresentProcedure PresentProcedure)
        {
            base.FinnishSurgeryProcedure(OnBodyPart, interaction, PresentProcedure);
            if (PresentProcedure.RelatedBodyPart.ContainedIn != null)
            {
                PresentProcedure.ISon.SetBodyPartIsOpen(false, true);
                PresentProcedure.ISon.currentlyOn = PresentProcedure.RelatedBodyPart.ContainedIn.gameObject;
            }
            else
            {
                PresentProcedure.ISon.SetBodyPartIsOpen(false, false);
                PresentProcedure.ISon.currentlyOn = null;
            }

            PresentProcedure.ISon.ThisPresentProcedure.PreviousBodyPart = null;
            PresentProcedure.ISon.ThisPresentProcedure.RelatedBodyPart  = null;
            if (OnBodyPart.TryGetComponent <Organ>(out var organ))
            {
                organ.RelatedPart.OrganStorage.ServerTryRemove(organ.gameObject);
            }
            else
            {
                OnBodyPart.TryRemoveFromBody();
            }
        }
예제 #2
0
 public override void FinnishSurgeryProcedure(BodyPart OnBodyPart, PositionalHandApply interaction,
                                              Dissectible.PresentProcedure PresentProcedure)
 {
     base.FinnishSurgeryProcedure(OnBodyPart, interaction, PresentProcedure);
     if (PresentProcedure.RelatedBodyPart.ContainedIn != null)
     {
         PresentProcedure.ISon.SetBodyPartIsOpen(false, true);
         PresentProcedure.ISon.currentlyOn = PresentProcedure.RelatedBodyPart.ContainedIn.gameObject;
     }
     else
     {
         PresentProcedure.ISon.SetBodyPartIsOpen(false, false);
         PresentProcedure.ISon.currentlyOn = null;
     }
     OnBodyPart.RemoveFromBodyThis();
 }
예제 #3
0
 public override void FinnishSurgeryProcedure(BodyPart OnBodyPart, PositionalHandApply interaction,
                                              Dissectible.PresentProcedure PresentProcedure)
 {
     if (interaction.HandSlot.Item != null && interaction.HandSlot.Item.GetComponent <ItemAttributesV2>().HasTrait(RequiredTrait))
     {
         OnBodyPart.HealDamage(interaction.UsedObject, HeelStrength, Affects);
         var stackable = interaction.UsedObject.GetComponent <Stackable>();
         if (stackable != null)
         {
             stackable.ServerConsume(1);
         }
         else
         {
             Despawn.ServerSingle(interaction.UsedObject);
         }
     }
 }
        public override void FinnishSurgeryProcedure(BodyPart OnBodyPart, PositionalHandApply interaction,
                                                     Dissectible.PresentProcedure PresentProcedure)
        {
            base.FinnishSurgeryProcedure(OnBodyPart, interaction, PresentProcedure);

            if (interaction.HandSlot.Item != null && interaction.HandSlot.Item.GetComponent <ItemAttributesV2>().HasTrait(RequiredImplantTrait))
            {
                if (OnBodyPart != null)
                {
                    OnBodyPart.OrganStorage.ServerTryTransferFrom(interaction.HandSlot);
                }
                else
                {
                    PresentProcedure.ISon.GetComponent <LivingHealthMasterBase>().BodyPartStorage.ServerTryTransferFrom(interaction.HandSlot);
                    PresentProcedure.ISon.currentlyOn = null;
                }
            }
        }
예제 #5
0
 public override void UnsuccessfulStep(BodyPart OnBodyPart, PositionalHandApply interaction,
                                       Dissectible.PresentProcedure PresentProcedure)
 {
     OnBodyPart.TakeDamage(interaction.UsedObject, HeelStrength * 0.1f, FailAttackType, Affects);
 }
예제 #6
0
 public virtual void UnsuccessfulStep(PositionalHandApply interaction, Dissectible.PresentProcedure PresentProcedure)
 {
     //DO dmg
     //Do you whatever you would like
 }
예제 #7
0
 public override void FinnishSurgeryProcedure(BodyPart OnBodyPart, HandApply interaction,
                                              Dissectible.PresentProcedure PresentProcedure)
 {
     base.FinnishSurgeryProcedure(OnBodyPart, interaction, PresentProcedure);
     PresentProcedure.ISon.SetBodyPartIsOpen(true, true);
 }
예제 #8
0
 public override void UnsuccessfulStep(BodyPart OnBodyPart, HandApply interaction,
                                       Dissectible.PresentProcedure PresentProcedure)
 {
     base.UnsuccessfulStep(OnBodyPart, interaction, PresentProcedure);
 }
예제 #9
0
 public virtual void UnsuccessfulStep(BodyPart OnBodyPart, PositionalHandApply interaction,
                                      Dissectible.PresentProcedure PresentProcedure)
 {
 }
예제 #10
0
 public virtual void FinnishSurgeryProcedure(BodyPart OnBodyPart, PositionalHandApply interaction,
                                             Dissectible.PresentProcedure PresentProcedure)
 {
 }
예제 #11
0
 public virtual void SuccessfulProcedure(HandApply interaction, Dissectible.PresentProcedure PresentProcedure)
 {
     //Do you whatever you would like
 }