Exemplo n.º 1
0
            private static void Postfix(SpellTelekinesis spellTelekinesis, HandleRagdoll __instance)
            {
                try
                {
                    var ragdollPart = __instance.ragdollPart;
                    if (spellTelekinesis.spellCaster.spellInstance.id == "DarkChains")
                    {
                        try
                        {
                            if (ragdollPart.ragdoll.creature.gameObject.GetComponent <FrozenCreature>() != null)
                            {
                                ragdollPart.characterJoint.breakForce = 20000;
                            }
                        }
                        catch (Exception exception)
                        {
                            Debug.Log(exception.Message);
                        }
                    }

                    try
                    {
                        Object.Destroy(ragdollPart.gameObject.GetComponent <FrozenRagdollPart>());
                    }
                    catch (Exception exception)
                    {
                        Debug.Log(exception.Message);
                    }
                }
                catch (Exception exception)
                {
                    __instance.GetComponentInParent <Rigidbody>().isKinematic = false;
                    Debug.Log(exception.Message);
                }
            }
Exemplo n.º 2
0
 private static void Postfix(HandleRagdoll __instance, RagdollHand ragdollHand, bool throwing)
 {
     if (__instance.ragdollPart.ragdoll.creature.FreezeData().IsCreatureFrozen&& !__instance.ragdollPart.ragdoll.isGrabbed && !__instance.ragdollPart.ragdoll.isTkGrabbed)
     {
         Instance.FreezeCreature(__instance.ragdollPart.ragdoll.creature);
     }
 }
Exemplo n.º 3
0
 private static void Postfix(HandleRagdoll __instance, RagdollHand ragdollHand, float axisPosition, HandleOrientation orientation, bool teleportToHand = false)
 {
     if (__instance.ragdollPart.ragdoll.creature.FreezeData().IsCreatureFrozen)
     {
         Instance.UnFreezeCreature(__instance.ragdollPart.ragdoll.creature);
     }
 }
Exemplo n.º 4
0
        public void Init(HandleRagdoll handleRagdoll)
        {
            _ragdollGripEffectData = Catalog.GetData <EffectData>("SpellGravityGrab");
            //remove audio
            _ragdollGripEffect = _ragdollGripEffectData.Spawn(handleRagdoll.transform);
            foreach (var effect in _ragdollGripEffect.effects)
            {
                if (effect is EffectAudio)
                {
                    //mute
                    (effect as EffectAudio).audioSource.volume = 0;
                }
            }

            _ragdollGripEffect.Play();
        }
Exemplo n.º 5
0
            private static void Postfix(HandleRagdoll __instance)
            {
                var ragdollPart = __instance.ragdollPart;

                try
                {
                    Object.Destroy(ragdollPart.gameObject.GetComponent <FrozenRagdollPart>());
                }
                catch (Exception exception)
                {
                    Debug.Log(exception.Message);
                }

                RagdollPart otherPart = null;

                if (ragdollPart.type == RagdollPart.Type.LeftArm)
                {
                    otherPart = ragdollPart.ragdoll.GetPart(RagdollPart.Type.LeftHand);
                }
                if (ragdollPart.type == RagdollPart.Type.RightArm)
                {
                    otherPart = ragdollPart.ragdoll.GetPart(RagdollPart.Type.RightHand);
                }
                if (ragdollPart.type == RagdollPart.Type.LeftLeg)
                {
                    otherPart = ragdollPart.ragdoll.GetPart(RagdollPart.Type.LeftFoot);
                }
                if (ragdollPart.type == RagdollPart.Type.RightLeg)
                {
                    otherPart = ragdollPart.ragdoll.GetPart(RagdollPart.Type.RightFoot);
                }

                if (otherPart != null)
                {
                    try
                    {
                        Object.Destroy(otherPart.gameObject.GetComponent <FrozenRagdollPart>());
                    }
                    catch (Exception exception)
                    {
                        Debug.Log(exception.Message);
                    }
                }
            }
Exemplo n.º 6
0
            private static void Postfix(SpellTelekinesis spellTelekinesis, ref bool throwing,
                                        HandleRagdoll __instance)
            {
                try
                {
                    if (!throwing && spellTelekinesis.spellCaster.spellInstance.id == "DarkChains")
                    {
                        var ragdollPart = __instance.ragdollPart;
                        ragdollPart.ResetCharJointBreakForce();
                        if (ragdollPart.gameObject.GetComponent <FrozenRagdollPart>() == null)
                        {
                            var frozenRagdollPart = ragdollPart.gameObject.AddComponent <FrozenRagdollPart>();

                            frozenRagdollPart.Init(__instance);
                        }

                        try
                        {
                            var creature = ragdollPart.ragdoll.creature;
                            if (creature.gameObject.GetComponent <FrozenCreature>() == null)
                            {
                                creature.gameObject.AddComponent <FrozenCreature>();
                            }
                        }
                        catch (Exception exception)
                        {
                            Debug.Log(exception.Message);
                        }
                    }
                }
                catch (Exception exception)
                {
                    if (!throwing && spellTelekinesis.spellCaster.spellInstance.id == "DarkChains")
                    {
                        __instance.GetComponentInParent <Rigidbody>().isKinematic = true;
                    }

                    Debug.Log(exception.Message);
                }
            }
Exemplo n.º 7
0
 void Start()
 {
     //We store the reference to the HandleRagdoll script
     ragdollHandler = GetComponent <HandleRagdoll>();
 }
 void Start()
 {
     ragdollHandler = GetComponent <HandleRagdoll>();
 }