protected override void DoEffect(PlayerController user) { if (user.CurrentRoom == null) { return; } base.DoEffect(user); try { float curse = user.stats.GetStatValue(PlayerStats.StatType.Curse); LootEngine.DoDefaultPurplePoof(user.specRigidbody.UnitCenter); if (curse < 1) { LootEngine.SpawnItem(PickupObjectDatabase.GetById(GlobalItemIds.Junk).gameObject, user.specRigidbody.UnitCenter, Vector2.zero, 1); return; } if (curse < 2) { Chest chest = GameManager.Instance.RewardManager.D_Chest; SpawnJamChest(chest, user); return; } if (curse < 3) { Chest chest = GameManager.Instance.RewardManager.C_Chest; SpawnJamChest(chest, user); return; } if (curse < 5) { Chest chest = GameManager.Instance.RewardManager.B_Chest; SpawnJamChest(chest, user); return; } if (curse < 7) { Chest chest = GameManager.Instance.RewardManager.A_Chest; SpawnJamChest(chest, user); return; } if (curse < 9) { Chest chest = GameManager.Instance.RewardManager.S_Chest; SpawnJamChest(chest, user); return; } Chest rainbowChest = GameManager.Instance.RewardManager.Rainbow_Chest; SpawnJamChest(rainbowChest, user); if (curse >= 15) { LootEngine.SpawnItem(PickupObjectDatabase.GetById(GlobalItemIds.GoldJunk).gameObject, user.specRigidbody.UnitCenter, Vector2.zero, 1); return; } } catch (Exception lerror) { ETGModConsole.Log(lerror.ToString()); } }
private void RerollItem(DebrisObject debris) { int checkLimit = 0; PickupObject targetedItem = debris.gameObject.GetComponent <PickupObject>(); if (targetedItem != null) { ItemQuality targetTier = targetedItem.quality; int chanceToDowngrade = 10; int chanceToUpgrade = 80; ItemQuality newItemQuality = targetTier; PickupObject newItemObject = PickupObjectDatabase.GetByName("cel:test_item"); int RollToCheckUpgradeStatus = UnityEngine.Random.Range(0, 101); if (RollToCheckUpgradeStatus <= chanceToDowngrade && targetTier != ItemQuality.D) { newItemQuality = targetTier - 1; } else if (RollToCheckUpgradeStatus >= chanceToUpgrade && targetTier != ItemQuality.S) { newItemQuality = targetTier + 1; } GenericLootTable lootTableItems = GameManager.Instance.RewardManager.ItemsLootTable; if (targetedItem is PassiveItem) { do { newItemObject = LootEngine.GetItemOfTypeAndQuality <PassiveItem>(newItemQuality, lootTableItems); checkLimit++; } while (newItemObject.PickupObjectId == targetedItem.PickupObjectId && checkLimit < 10); } else if (targetedItem is PlayerItem) { do { newItemObject = LootEngine.GetItemOfTypeAndQuality <PlayerItem>(newItemQuality, lootTableItems); checkLimit++; } while (newItemObject.PickupObjectId == targetedItem.PickupObjectId && checkLimit < 10); } if (UnityEngine.Random.Range(0, 101) <= 1) { Chest rainbow_Chest = GameManager.Instance.RewardManager.Rainbow_Chest; Chest chest2 = Chest.Spawn(rainbow_Chest, targetedItem.sprite.WorldCenter.ToIntVector2(VectorConversions.Round)); chest2.BecomeGlitchChest(); chest2.sprite.renderer.material.shader = ShaderCache.Acquire("Brave/Internal/RainbowChestShader"); chest2.RegisterChestOnMinimap(chest2.GetAbsoluteParentRoom()); } else { LootEngine.DoDefaultPurplePoof(targetedItem.sprite.WorldCenter); LootEngine.SpawnItem(newItemObject.gameObject, targetedItem.sprite.WorldCenter, Vector2.zero, 0); } Destroy(targetedItem.gameObject); } }
private void GetRidOfBowler() { if (this.m_bowlerInstance) { LootEngine.DoDefaultPurplePoof(this.m_bowlerInstance.GetComponent <tk2dBaseSprite>().WorldCenter, false); UnityEngine.Object.Destroy(this.m_bowlerInstance); this.m_bowlerInstance = null; AkSoundEngine.PostEvent("Stop_SND_OBJ", base.gameObject); } }
private void Start() { m_StartRoom = aiActor.GetAbsoluteParentRoom(); //base.aiActor.HasBeenEngaged = true; base.aiActor.healthHaver.OnPreDeath += (obj) => { LootEngine.DoDefaultPurplePoof(aiActor.sprite.WorldBottomCenter); AkSoundEngine.PostEvent("Play_AGUNIM_VO_FIGHT_LAUGH_02", base.aiActor.gameObject); }; this.aiActor.knockbackDoer.SetImmobile(true, "laugh"); }
protected override IEnumerator Top() { PlayerController player = GameManager.Instance.PrimaryPlayer; LootEngine.DoDefaultPurplePoof(player.sprite.WorldBottomCenter); AkSoundEngine.PostEvent("Play_AGUNIM_VO_FIGHT_LAUGH_02", this.BulletBank.aiActor.gameObject); IntVector2 meceea = new IntVector2(this.BulletBank.aiActor.GetAbsoluteParentRoom().GetRandomAvailableCellDumb().x, this.BulletBank.aiActor.GetAbsoluteParentRoom().GetRandomAvailableCellDumb().y); this.TeleportToPoint(meceea.ToCenterVector2(), false); yield break; }
public void Start() { m_StartRoom = aiActor.GetAbsoluteParentRoom(); //base.aiActor.HasBeenEngaged = true; base.aiActor.healthHaver.OnPreDeath += (obj) => { LootEngine.DoDefaultPurplePoof(aiActor.sprite.WorldBottomCenter); }; this.aiActor.knockbackDoer.SetImmobile(true, "laugh"); base.aiActor.healthHaver.OnDamaged += (float resultValue, float maxValue, CoreDamageTypes damageTypes, DamageCategory damageCategory, Vector2 damageDirection) => { if ((resultValue > base.aiActor.healthHaver.GetCurrentHealth())) { Instantiate <GameObject>(EasyVFXDatabase.MachoBraceDustUpVFX, aiActor.sprite.WorldBottomCenter, Quaternion.identity); } }; this.aiActor.knockbackDoer.SetImmobile(true, "LAUGH!"); }
private void Start() { m_StartRoom = aiActor.GetAbsoluteParentRoom(); //base.aiActor.HasBeenEngaged = true; base.aiActor.healthHaver.OnDamaged += (float resultValue, float maxValue, CoreDamageTypes damageTypes, DamageCategory damageCategory, Vector2 damageDirection) => { LootEngine.DoDefaultPurplePoof(aiActor.sprite.WorldBottomCenter); IntVector2 targetPoint = new IntVector2(base.aiActor.GetAbsoluteParentRoom().GetRandomAvailableCellDumb().x, base.aiActor.GetAbsoluteParentRoom().GetRandomAvailableCellDumb().y); base.aiActor.specRigidbody.Position = new Position(targetPoint); base.aiActor.gameObject.transform.position = targetPoint.ToVector3(); this.aiActor.specRigidbody.Reinitialize(); if ((resultValue < base.aiActor.healthHaver.GetCurrentHealth())) { LootEngine.DoDefaultPurplePoof(targetPoint.ToVector2()); } }; this.aiActor.knockbackDoer.SetImmobile(true, "LAUGH!"); }
protected override void DoEffect(PlayerController user) { int bighead = UnityEngine.Random.Range(1, 11); if (bighead <= 9) { if (randomActiveEnemy != randomActiveEnemy.healthHaver.IsBoss) { RoomHandler absoluteRoom = base.transform.position.GetAbsoluteRoom(); randomActiveEnemy = absoluteRoom.GetRandomActiveEnemy(false); LootEngine.DoDefaultPurplePoof(randomActiveEnemy.CenterPosition, true); randomActiveEnemy.EraseFromExistenceWithRewards(); } } if (bighead == 10) { LastOwner.healthHaver.ApplyDamage(1, Vector2.zero, "Life's Lemon", CoreDamageTypes.None, DamageCategory.Normal, true, null, false); } }
private IEnumerator HandleBoxPop(FlippableCover box) { float elapsed = 0f; float duration = box.spriteAnimator.GetClipByName("moving_box_out").BaseClipLength; box.spriteAnimator.Play("moving_box_out"); while (elapsed < duration) { elapsed += BraveTime.DeltaTime; float t = Mathf.SmoothStep(0f, 1f, elapsed / duration); if (box.outlineNorth) { box.outlineNorth.GetComponent <tk2dSprite>().scale = Vector3.Lerp(Vector3.one, Vector3.zero, t); } if (box.outlineEast) { box.outlineEast.GetComponent <tk2dSprite>().scale = Vector3.Lerp(Vector3.one, Vector3.zero, t); } yield return(null); } LootEngine.DoDefaultPurplePoof(box.specRigidbody.UnitBottomCenter, false); Destroy(box.gameObject); yield break; }
// Token: 0x06008129 RID: 33065 RVA: 0x00333610 File Offset: 0x00331810 private IEnumerator HandleTeleportToPoint(Vector2 targetPoint, GameObject departureVFXPrefab, GameObject arrivalVFX1Prefab, GameObject arrivalVFX2Prefab, PlayerController teleporter) { teleporter.healthHaver.IsVulnerable = false; CameraController cameraController = GameManager.Instance.MainCameraController; Vector2 offsetVector = cameraController.transform.position - teleporter.transform.position; offsetVector -= cameraController.GetAimContribution(); Minimap.Instance.ToggleMinimap(false, false); cameraController.SetManualControl(true, false); cameraController.OverridePosition = cameraController.transform.position; teleporter.CurrentInputState = PlayerInputState.NoInput; yield return(new WaitForSeconds(0.1f)); teleporter.ToggleRenderer(false, "arbitrary teleporter."); teleporter.ToggleGunRenderers(false, "arbitrary teleporter."); teleporter.ToggleHandRenderers(false, "arbitrary teleporter."); if (departureVFXPrefab != null) { GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(departureVFXPrefab); gameObject.GetComponent <tk2dBaseSprite>().PlaceAtLocalPositionByAnchor(teleporter.specRigidbody.UnitBottomCenter + new Vector2(0f, -0.5f), tk2dBaseSprite.Anchor.LowerCenter); gameObject.transform.position = gameObject.transform.position.Quantize(0.0625f); gameObject.GetComponent <tk2dBaseSprite>().UpdateZDepth(); } yield return(new WaitForSeconds(0.4f)); Pixelator.Instance.FadeToBlack(0.1f, false, 0f); yield return(new WaitForSeconds(0.1f)); teleporter.specRigidbody.Position = new Position(targetPoint); if (GameManager.Instance.CurrentGameType == GameManager.GameType.COOP_2_PLAYER) { cameraController.OverridePosition = cameraController.GetIdealCameraPosition(); } else { cameraController.OverridePosition = (targetPoint + offsetVector).ToVector3ZUp(0f); } Pixelator.Instance.MarkOcclusionDirty(); if (arrivalVFX1Prefab != null) { GameObject gameObject2 = UnityEngine.Object.Instantiate <GameObject>(arrivalVFX1Prefab); gameObject2.transform.position = targetPoint; gameObject2.transform.position = gameObject2.transform.position.Quantize(0.0625f); } Pixelator.Instance.FadeToBlack(0.1f, true, 0f); yield return(null); cameraController.SetManualControl(false, true); yield return(new WaitForSeconds(0.75f)); if (arrivalVFX2Prefab != null) { GameObject gameObject3 = UnityEngine.Object.Instantiate <GameObject>(arrivalVFX2Prefab); gameObject3.GetComponent <tk2dBaseSprite>().PlaceAtLocalPositionByAnchor(teleporter.specRigidbody.UnitBottomCenter + new Vector2(0f, -0.5f), tk2dBaseSprite.Anchor.LowerCenter); gameObject3.transform.position = gameObject3.transform.position.Quantize(0.0625f); gameObject3.GetComponent <tk2dBaseSprite>().UpdateZDepth(); } teleporter.DoVibration(Vibration.Time.Normal, Vibration.Strength.Medium); yield return(new WaitForSeconds(0.25f)); LootEngine.DoDefaultPurplePoof(teleporter.sprite.WorldBottomCenter); teleporter.ToggleRenderer(true, "arbitrary teleporter."); teleporter.ToggleGunRenderers(true, "arbitrary teleporter."); teleporter.ToggleHandRenderers(true, "arbitrary teleporter."); PhysicsEngine.Instance.RegisterOverlappingGhostCollisionExceptions(teleporter.specRigidbody, null, false); teleporter.CurrentInputState = PlayerInputState.AllInput; teleporter.healthHaver.IsVulnerable = true; yield break; }
private void DoNoValidTargetPuff(PlayerController player) { Vector2 pos = (UnityEngine.Random.insideUnitCircle * 3) + player.CenterPosition; LootEngine.DoDefaultPurplePoof(pos, true); }