void Start() { if (StunSound != null) { WeaverAudio.PlayAtPoint(StunSound, transform.position); } transform.localRotation = Quaternion.Euler(0f, 0f, Random.Range(0f, 360f)); CameraShaker.Instance.Shake(Enums.ShakeType.AverageShake); WeaverGameManager.FreezeGameTime(WeaverGameManager.TimeFreezePreset.Preset4); poolComponent = GetComponent <PoolableObject>(); if (poolComponent != null) { poolComponent.ReturnToPool(0.1f); } else { Destroy(gameObject, 0.1f); } }
// Token: 0x06000094 RID: 148 RVA: 0x00003E44 File Offset: 0x00002044 public virtual void PlayDeathEffects(HitInfo lastHit) { if (this.RanOnce) { return; } this.RanOnce = true; if (HunterJournal.HasEntryFor(this.JournalEntryName)) { HunterJournal.RecordKillFor(this.JournalEntryName); } if (lastHit.AttackType != AttackType.Acid && lastHit.AttackType != AttackType.RuinsWater) { this.EmitEffects(); } if (this.FreezeGameOnDeath) { WeaverGameManager.FreezeGameTime(WeaverGameManager.TimeFreezePreset.Preset1); } if (!Boss.InGodHomeArena && this.doEssenceChance) { this.DoEssenceChance(); } }
IEnumerator HitRoutine(HitInfo hit) { //WeaverLog.Log("NAIL TINK ATTACK DIRECTION = " + hit.Direction); WeaverGameManager.FreezeGameTime(WeaverGameManager.TimeFreezePreset.Preset3); Player.Player1.EnterParryState(); CameraShaker.Instance.Shake(WeaverCore.Enums.ShakeType.EnemyKillShake); //PLAY AUDIO WeaverAudio.PlayAtPoint(TinkSound, transform.position); var attackDirection = hit.Direction; CardinalDirection direction = CardinalDirection.Right; if (attackDirection < 360f && attackDirection > 225f) { direction = CardinalDirection.Down; } else if (attackDirection <= 225f && attackDirection > 135f) { direction = CardinalDirection.Left; } else if (attackDirection <= 135 && attackDirection > 45f) { direction = CardinalDirection.Up; } else { direction = CardinalDirection.Right; } //WeaverLog.Log("TINK DIRECTION = " + direction); switch (direction) { case CardinalDirection.Up: Player.Player1.Recoil(CardinalDirection.Down); Pooling.Instantiate(TinkEffectPrefab, Player.Player1.transform.position + new Vector3(0f, 1.5f, 0f), Quaternion.identity); break; case CardinalDirection.Down: Player.Player1.Recoil(CardinalDirection.Up); Pooling.Instantiate(TinkEffectPrefab, Player.Player1.transform.position + new Vector3(0f, -1.5f, 0f), Quaternion.identity); break; case CardinalDirection.Left: Player.Player1.Recoil(CardinalDirection.Right); Pooling.Instantiate(TinkEffectPrefab, Player.Player1.transform.position + new Vector3(-1.5f, 0f, 0f), Quaternion.identity); break; case CardinalDirection.Right: Player.Player1.Recoil(CardinalDirection.Left); Pooling.Instantiate(TinkEffectPrefab, Player.Player1.transform.position + new Vector3(1.5f, 0f, 0f), Quaternion.identity); break; } yield return(null); Player.Player1.RecoverFromParry(); if (enemy != null) { enemy.OnParry(this, hit); } yield return(null); yield return(new WaitForSeconds(0.15f)); }
private static void SetStatePatch(On.GameManager.orig_SetState orig, GameManager self, GlobalEnums.GameState newState) { orig(self, newState); WeaverGameManager.TriggerGameStateChange(); }