private void Update() { if (Time.frameCount % 5 == 0) { DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(HelpfulLibrary.Ink); goopManagerForGoopType.AddGoopCircle(this.aiActor.specRigidbody.UnitCenter, 1.7f, -1, false, -1); } if (!base.aiActor.HasBeenEngaged) { CheckPlayerRoom(); } }
private void Update() { if (Time.frameCount % 5 == 0) { DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(EasyGoopDefinitions.BlobulonGoopDef); goopManagerForGoopType.AddGoopCircle(this.aiActor.specRigidbody.UnitCenter, 1.5f, -1, false, -1); } if (!base.aiActor.HasBeenEngaged) { CheckPlayerRoom(); } }
private void Start() { m_StartRoom = aiActor.GetAbsoluteParentRoom(); //This line determines what happens when an enemy dies. For now it's something simple like playing a death sound. //A full list of all the sounds can be found in the SFX.txt document that comes with this github. base.aiActor.healthHaver.OnPreDeath += (obj) => { AkSoundEngine.PostEvent("SND_CHR_blobulin_death_01", base.aiActor.gameObject); }; base.aiActor.healthHaver.OnPreDeath += (obj) => { DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(EasyGoopDefinitions.CharmGoopDef); goopManagerForGoopType.AddGoopCircle(this.aiActor.specRigidbody.UnitCenter, 5f, -1, false, -1); }; }
private void DoHoleSpawn(Projectile projectile) { if (projectile.Owner is PlayerController) { float radius = 7f; if ((projectile.Owner as PlayerController).PlayerHasActiveSynergy("Honey, I'm Home!")) { radius = 10f; } DeadlyDeadlyGoopManager goop = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(EasyGoopDefinitions.HoneyGoop); goop.TimedAddGoopCircle(projectile.specRigidbody.UnitCenter, radius, 0.75f, true); } }
protected override void DoEffect(PlayerController user) { AkSoundEngine.PostEvent("Play_OBJ_lock_pick_01", base.gameObject); foreach (AIActor aiactor in user.CurrentRoom.GetActiveEnemies(RoomHandler.ActiveEnemyType.All)) { bool flag = aiactor != null; if (flag) { float currentHealthPercentage = aiactor.healthHaver.GetCurrentHealthPercentage(); bool flaga3 = currentHealthPercentage <= 0.3f; bool isBoss = aiactor.healthHaver.IsBoss; bool flag4 = flaga3 && !isBoss; if (flag4) { aiactor.healthHaver.ApplyDamage(100000f, Vector2.zero, "Telefrag", CoreDamageTypes.Void, DamageCategory.Normal, true, null, false); bool synergy = user.PlayerHasActiveSynergy("Judge, Jury and..."); if (synergy) { AssetBundle assetBundle = ResourceManager.LoadAssetBundle("shared_auto_001"); GoopDefinition goopDef = assetBundle.LoadAsset <GoopDefinition>("assets/data/goops/napalmgoopquickignite.asset"); DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(goopDef).TimedAddGoopCircle(aiactor.sprite.WorldBottomCenter, 2.5f, 1.4f, false); } } else { aiactor.healthHaver.ApplyDamage(10f, Vector2.zero, "Telefrag", CoreDamageTypes.Void, DamageCategory.Normal, true, null, false); bool synergy = user.PlayerHasActiveSynergy("Lost Humanity"); if (synergy) { Vector3 position = aiactor.sprite.WorldCenter; GameObject gameObject = SpawnManager.SpawnProjectile((PickupObjectDatabase.GetById(45) as Gun).DefaultModule.projectiles[0].gameObject, position, Quaternion.Euler(0f, 0f, BraveMathCollege.Atan2Degrees(user.sprite.WorldCenter - aiactor.sprite.WorldCenter)), true); Projectile component = gameObject.GetComponent <Projectile>(); bool flag12 = component != null; bool flag2 = flag12; if (flag2) { PierceProjModifier spook = component.gameObject.AddComponent <PierceProjModifier>(); spook.penetration = 10; component.SpawnedFromOtherPlayerProjectile = true; component.Shooter = user.specRigidbody; component.Owner = user; component.baseData.speed = 4f; component.baseData.damage = 10f; component.AdditionalScaleMultiplier = 0.7f; component.ignoreDamageCaps = true; } } } } } }
private void DoGoop() { float time = 0; if (time < .005f) { time += BraveTime.DeltaTime; } if (time > .005f) { DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(goopDefs[0]); goopManagerForGoopType.TimedAddGoopCircle(this.m_owner.specRigidbody.UnitCenter, 1, .2f); } }
public override void OnReloadPressed(PlayerController player, Gun gun, bool bSOMETHING) { bool flag = gun.IsReloading && this.HasReloaded; if (flag) { if (this.hasSynergy) { DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(SynergyAlchemiser.goopDefs[0]).TimedAddGoopCircle(gun.sprite.WorldBottomCenter, 3.75f, 0.75f, false); } } this.HasReloaded = false; base.OnReloadPressed(player, gun, bSOMETHING); }
private IEnumerator DoGoop(PlayerController player) { float elapsed = 0; while (elapsed < 8) { elapsed += BraveTime.DeltaTime; DeadlyDeadlyGoopManager ddgm = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(Library.goopDefs[5]); ddgm.TimedAddGoopCircle(player.sprite.WorldBottomCenter, 1.25f, .3f); ddgm.ElectrifyGoopCircle(player.sprite.WorldBottomCenter, 1.25f); yield return(new WaitForSeconds(0.005f)); } yield break; }
private void OnHitEnemy(Projectile me, SpeculativeRigidbody enemy, bool fatal) { if (enemy && fatal) { if (enemy.healthHaver) { float bloodDPS = enemy.healthHaver.GetMaxHealth(); bloodDPS *= 0.5f; GoopDefinition Blood = EasyGoopDefinitions.GenerateBloodGoop(bloodDPS, Color.red, 10); DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(Blood); goopManagerForGoopType.TimedAddGoopCircle(enemy.UnitCenter, 3, 0.5f, false); } } }
public void Update() { if (m_WasKicked) { FlippableCover m_Table = GetComponent <FlippableCover>(); if (m_Table) { if (m_Table.IsBroken) { m_WasKicked = false; willDefinitelyExplode = true; SelfDestructOnKick(); } } } if (m_shouldDisplayOutline) { int num; DungeonData.Direction inverseDirection = DungeonData.GetInverseDirection(DungeonData.GetDirectionFromIntVector2(GetFlipDirection(m_lastInteractingPlayer.specRigidbody, out num))); if (inverseDirection != m_lastOutlineDirection || sprite.spriteId != m_lastSpriteId) { SpriteOutlineManager.RemoveOutlineFromSprite(sprite, false); SpriteOutlineManager.AddSingleOutlineToSprite <tk2dSprite>(sprite, DungeonData.GetIntVector2FromDirection(inverseDirection), Color.white, 0.25f, 0f); } m_lastOutlineDirection = inverseDirection; m_lastSpriteId = sprite.spriteId; } if (leavesGoopTrail && specRigidbody.Velocity.magnitude > 0.1f) { m_goopElapsed += BraveTime.DeltaTime; if (m_goopElapsed > goopFrequency) { m_goopElapsed -= BraveTime.DeltaTime; if (m_goopManager == null) { m_goopManager = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(goopType); } m_goopManager.AddGoopCircle(sprite.WorldCenter, goopRadius + 0.1f, -1, false, -1); } if (AllowTopWallTraversal && GameManager.Instance.Dungeon.data.CheckInBoundsAndValid(sprite.WorldCenter.ToIntVector2(VectorConversions.Floor)) && GameManager.Instance.Dungeon.data[sprite.WorldCenter.ToIntVector2(VectorConversions.Floor)].IsFireplaceCell) { MinorBreakable component = GetComponent <MinorBreakable>(); if (component && !component.IsBroken) { component.Break(Vector2.zero); GameStatsManager.Instance.SetFlag(GungeonFlags.FLAG_ROLLED_BARREL_INTO_FIREPLACE, true); } } } }
// Token: 0x06007295 RID: 29333 RVA: 0x002CA3A0 File Offset: 0x002C85A0 private void Update() { if (goopType == 0 && needsToUseGreenFire) { GoopDefinition GreenFireDef = (PickupObjectDatabase.GetById(698) as Gun).DefaultModule.projectiles[0].GetComponent <GoopModifier>().goopDefinition; var ddgm = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(GreenFireDef); ddgm.AddGoopCircle(m_projectile.sprite.WorldCenter, goopRadius); } else { var ddgm = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(TrailFireModifier.goopDefs[goopType]); ddgm.AddGoopCircle(m_projectile.sprite.WorldCenter, goopRadius); } }
private void spawnCameraFirePool(bool needsToUseGreenFire) { if (needsToUseGreenFire) { GoopDefinition GreenFireDef = (PickupObjectDatabase.GetById(698) as Gun).DefaultModule.projectiles[0].GetComponent <GoopModifier>().goopDefinition; var ddgm = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(GreenFireDef); ddgm.AddGoopCircle(Owner.sprite.WorldCenter, 10); } else { TracerRound.goopDefs[0].UsesGreenFire = false; var ddgm = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(TracerRound.goopDefs[0]); ddgm.AddGoopCircle(Owner.sprite.WorldCenter, 10); } }
private void VenomPool(Projectile projectile) { GoopDefinition goopDefinition; goopDefinition = new GoopDefinition(); goopDefinition.CanBeIgnited = false; goopDefinition.damagesEnemies = false; goopDefinition.damagesPlayers = false; goopDefinition.baseColor32 = new Color32(78, 5, 120, 200); goopDefinition.goopTexture = ResourceExtractor.GetTextureFromResource("Items/Resources/goop_standard_base_001.png"); goopDefinition.AppliesDamageOverTime = true; goopDefinition.HealthModifierEffect = venom; var ddgm = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(goopDefinition); ddgm.TimedAddGoopCircle(projectile.sprite.WorldCenter, 2.5f, .1f); }
public override void OnReloadPressed(PlayerController player, Gun gun, bool bSOMETHING) { if (gun.IsReloading && HasReloaded == true) { float num = 0.75f; if (gun.ClipShotsRemaining == 0) { DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(Alchemiser.goopDefs[0]).TimedAddGoopCircle(gun.sprite.WorldBottomCenter, 3.75f, num, false); } else if (gun.ClipShotsRemaining == 1) { DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(Alchemiser.goopDefs[0]).TimedAddGoopCircle(gun.sprite.WorldBottomCenter, 3.5f, num, false); } else if (gun.ClipShotsRemaining == 2) { DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(Alchemiser.goopDefs[0]).TimedAddGoopCircle(gun.sprite.WorldBottomCenter, 3.25f, num, false); } else if (gun.ClipShotsRemaining == 3) { DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(Alchemiser.goopDefs[0]).TimedAddGoopCircle(gun.sprite.WorldBottomCenter, 3f, num, false); } else if (gun.ClipShotsRemaining == 4) { DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(Alchemiser.goopDefs[0]).TimedAddGoopCircle(gun.sprite.WorldBottomCenter, 2.5f, num, false); } else if (gun.ClipShotsRemaining == 5) { DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(Alchemiser.goopDefs[0]).TimedAddGoopCircle(gun.sprite.WorldBottomCenter, 2.25f, num, false); } else if (gun.ClipShotsRemaining >= 6) { DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(Alchemiser.goopDefs[0]).TimedAddGoopCircle(gun.sprite.WorldBottomCenter, 2f, num, false); } HasReloaded = false; AkSoundEngine.PostEvent("Stop_WPN_All", base.gameObject); base.OnReloadPressed(player, gun, bSOMETHING); AkSoundEngine.PostEvent("Play_OBJ_coolant_leak_01", base.gameObject); } }
private void SPEED(Gun oldGun, Gun newGun, bool arg3) { DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(EasyGoopDefinitions.FireDef); goopManagerForGoopType.AddGoopCircle(this.gun.CurrentOwner.specRigidbody.UnitCenter, 1f, -4, false, -4); PlayerController player = this.gun.CurrentOwner as PlayerController; if (newGun == this.gun) { this.GiveSpeed(player); } else { this.RemoveSpeed(player); } }
private void OnEnemyKilled(PlayerController player, HealthHaver enemy) { bool flag = enemy.specRigidbody != null && enemy.aiActor != null && base.Owner != null; if (flag && UnityEngine.Random.value <= 0.66f) { PickupObject byId = PickupObjectDatabase.GetById(310); bool flag2 = byId == null; if (!flag2) { WingsItem component = byId.GetComponent <WingsItem>(); GoopDefinition goopDefinition = (component != null) ? component.RollGoop : null; } float duration = 0.75f; DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(Bleaker.goopDefs[UnityEngine.Random.Range(0, 3)]).TimedAddGoopCircle(enemy.specRigidbody.UnitCenter, 4f, duration, false); } }
// Token: 0x0600028D RID: 653 RVA: 0x0001666C File Offset: 0x0001486C public override void PostProcessProjectile(Projectile projectile) { base.PostProcessProjectile(projectile); { base.PostProcessProjectile(projectile); PickupObject byId = PickupObjectDatabase.GetById(310); GoopDefinition Goop; WingsItem component = byId.GetComponent <WingsItem>(); Goop = component.RollGoop; int goopRadius = 1; if (this.m_lastGoopPosition != null) { DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(Goop).AddGoopLine(this.m_lastGoopPosition.Value, projectile.sprite.WorldCenter, goopRadius); } this.m_lastGoopPosition = new Vector2?(projectile.sprite.WorldCenter); } }
private IEnumerator HandleDelayedFireDamage() { Vector2 BottomOffset1 = new Vector3(5, 2); Vector2 TopOffset1 = new Vector3(9, 6); Vector2 BottomOffset2 = new Vector3(4, 1); Vector2 TopOffset2 = new Vector3(8, 6); GlobalSparksDoer.DoRandomParticleBurst(25, (sprite.WorldBottomLeft + BottomOffset2), (sprite.WorldBottomLeft + TopOffset2), Vector3.up, 70f, 0.5f, null, new float?(0.75f), new Color?(new Color(4f, 0.3f, 0f)), GlobalSparksDoer.SparksType.SOLID_SPARKLES); GlobalSparksDoer.DoRandomParticleBurst(25, (sprite.WorldBottomLeft + BottomOffset2), (sprite.WorldBottomLeft + TopOffset2), Vector3.up, 70f, 0.5f, null, new float?(1.5f), new Color?(new Color(4f, 0.3f, 0f)), GlobalSparksDoer.SparksType.SOLID_SPARKLES); GlobalSparksDoer.DoRandomParticleBurst(25, (sprite.WorldBottomLeft + BottomOffset2), (sprite.WorldBottomLeft + TopOffset2), Vector3.up, 70f, 0.5f, null, new float?(2.25f), new Color?(new Color(4f, 0.3f, 0f)), GlobalSparksDoer.SparksType.SOLID_SPARKLES); GlobalSparksDoer.DoRandomParticleBurst(25, (sprite.WorldBottomLeft + BottomOffset2), (sprite.WorldBottomLeft + TopOffset2), Vector3.up, 70f, 0.5f, null, new float?(3), new Color?(new Color(4f, 0.3f, 0f)), GlobalSparksDoer.SparksType.SOLID_SPARKLES); yield return(new WaitForSeconds(2f)); GlobalSparksDoer.DoRandomParticleBurst(25, (sprite.WorldBottomLeft + BottomOffset2), (sprite.WorldBottomLeft + TopOffset2), Vector3.up, 70f, 0.5f, null, new float?(1.75f), new Color?(new Color(4f, 0.3f, 0f)), GlobalSparksDoer.SparksType.STRAIGHT_UP_FIRE); GlobalSparksDoer.DoRandomParticleBurst(25, (sprite.WorldBottomLeft + BottomOffset2), (sprite.WorldBottomLeft + TopOffset2), Vector3.up, 70f, 0.5f, null, new float?(2.5f), new Color?(new Color(4f, 0.3f, 0f)), GlobalSparksDoer.SparksType.STRAIGHT_UP_FIRE); GlobalSparksDoer.DoRandomParticleBurst(25, (sprite.WorldBottomLeft + BottomOffset2), (sprite.WorldBottomLeft + TopOffset2), Vector3.up, 70f, 0.5f, null, new float?(3.25f), new Color?(new Color(4f, 0.3f, 0f)), GlobalSparksDoer.SparksType.STRAIGHT_UP_FIRE); GlobalSparksDoer.DoRandomParticleBurst(25, (sprite.WorldBottomLeft + BottomOffset2), (sprite.WorldBottomLeft + TopOffset2), Vector3.up, 70f, 0.5f, null, new float?(4), new Color?(new Color(4f, 0.3f, 0f)), GlobalSparksDoer.SparksType.STRAIGHT_UP_FIRE); Exploder.DoDefaultExplosion((transform.position + PitOffset.ToVector3() + new Vector3(1, 0)), Vector2.zero, ignoreQueues: true); specRigidbody.PixelColliders[0].Enabled = false; specRigidbody.RecheckTriggers = true; specRigidbody.RegenerateColliders = true; IntVector2 basePosition = (transform.position.IntXY(VectorConversions.Floor) + PitOffset); IntVector2 cellPos = basePosition; IntVector2 cellPos2 = (basePosition + new IntVector2(1, 0)); DeadlyDeadlyGoopManager.ForceClearGoopsInCell(cellPos); DeadlyDeadlyGoopManager.ForceClearGoopsInCell(cellPos2); sprite.SetSprite("Jungle_Tree_Large_Open"); yield return(new WaitForSeconds(0.4f)); m_ParentRoom.ForcePitfallForFliers = true; CellData cellData = GameManager.Instance.Dungeon.data[cellPos]; CellData cellData2 = GameManager.Instance.Dungeon.data[cellPos2]; cellData.fallingPrevented = false; cellData2.fallingPrevented = false; GameObject JungleTreeFrame = Instantiate(JungleTreeTopFrame, transform.position, Quaternion.identity); if (m_ParentRoom != null) { JungleTreeFrame.transform.SetParent(m_ParentRoom.hierarchyParent, true); } yield break; }
private void HandleHit(Projectile arg1, SpeculativeRigidbody arg2, bool arg3) { if (arg2.aiActor != null && !arg2.healthHaver.IsBoss && !arg2.healthHaver.IsDead && arg2.aiActor.behaviorSpeculator && !arg2.aiActor.IsHarmlessEnemy && arg2.aiActor != null) { GameActorEffect poison = arg2.aiActor.GetEffect(DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(goopDefs[0]).goopDefinition.HealthModifierEffect.effectIdentifier); if (poison != null) { AIActor orLoadByGuid = EnemyDatabase.GetOrLoadByGuid("8b43a5c59b854eb780f9ab669ec26b7a"); arg2.aiActor.EraseFromExistenceWithRewards(true); AIActor aiactor = AIActor.Spawn(orLoadByGuid, arg2.aiActor.CenterPosition, arg2.transform.position.GetAbsoluteRoom(), true, AIActor.AwakenAnimationType.Awaken, true); LootEngine.DoDefaultItemPoof(aiactor.CenterPosition, false, false); aiactor.DiesOnCollison = true; aiactor.ImmuneToAllEffects = true; //arg2.aiActor.Transmogrify(orLoadByGuid, (GameObject)ResourceCache.Acquire("Global VFX/VFX_Item_Spawn_Poof")); } } }
public RoomHandler AddRuntimeRoom() { IntVector2 dimensions = new IntVector2(15, 15); Dungeon d = GameManager.Instance.Dungeon; IntVector2 intVector = new IntVector2(d.data.Width + 10, 10); int newWidth = d.data.Width + 10 + dimensions.x; int newHeight = Mathf.Max(d.data.Height, dimensions.y + 10); CellData[][] array = BraveUtility.MultidimensionalArrayResize <CellData>(d.data.cellData, d.data.Width, d.data.Height, newWidth, newHeight); CellArea cellArea = new CellArea(intVector, dimensions, 0); cellArea.IsProceduralRoom = true; d.data.cellData = array; d.data.ClearCachedCellData(); RoomHandler roomHandler = new RoomHandler(cellArea); for (int x = 0; x < dimensions.x; x++) { for (int y = 0; y < dimensions.y; y++) { CellType cellType = (x >= 4 && x <= 9 && y >= 4 && y <= 9) ? CellType.FLOOR : CellType.PIT; IntVector2 p = new IntVector2(x, y) + intVector; CellData cellData = new CellData(p, cellType); cellData.parentArea = cellArea; cellData.parentRoom = roomHandler; cellData.nearestRoom = roomHandler; array[p.x][p.y] = cellData; roomHandler.RuntimeStampCellComplex(p.x, p.y, cellType, DiagonalWallType.NONE); } } d.data.rooms.Add(roomHandler); GameObject obj = Instantiate(PlatformOfDeath, new Vector3((float)intVector.x + 5, (float)intVector.y + 3, 0f), Quaternion.identity); obj.GetComponent <tk2dBaseSprite>().HeightOffGround = -30f; obj.GetComponent <tk2dBaseSprite>().UpdateZDepth(); GameObject obj2 = Instantiate(BigPlatformOfDeath, new Vector3((float)intVector.x, (float)intVector.y - 2f, 0f), Quaternion.identity); obj2.GetComponent <tk2dBaseSprite>().HeightOffGround = -30f; obj2.GetComponent <tk2dBaseSprite>().UpdateZDepth(); this.m_currentPlatform = obj; DeadlyDeadlyGoopManager.ReinitializeData(); roomHandler.PreventMinimapUpdates = true; return(roomHandler); }
private void HandleHit(Projectile arg1, SpeculativeRigidbody arg2, bool arg3) { bool flag = arg2.aiActor != null && !arg2.healthHaver.IsBoss && !arg2.healthHaver.IsDead && arg2.aiActor.behaviorSpeculator && !arg2.aiActor.IsHarmlessEnemy && arg2.aiActor != null; if (flag) { GameActorEffect effect = arg2.aiActor.GetEffect(DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(SynergyAlchemiser.goopDefs[0]).goopDefinition.HealthModifierEffect.effectIdentifier); bool flag2 = effect != null; if (flag2) { AIActor orLoadByGuid = EnemyDatabase.GetOrLoadByGuid("8b43a5c59b854eb780f9ab669ec26b7a"); arg2.aiActor.EraseFromExistenceWithRewards(true); AIActor aiactor = AIActor.Spawn(orLoadByGuid, arg2.aiActor.CenterPosition, arg2.transform.position.GetAbsoluteRoom(), true, AIActor.AwakenAnimationType.Awaken, true); LootEngine.DoDefaultItemPoof(aiactor.CenterPosition, false, false); aiactor.DiesOnCollison = true; aiactor.ImmuneToAllEffects = true; } } }
private void Update() { if (proj != null) { if (timer < .008f) { timer += BraveTime.DeltaTime; } if (timer >= .008f) { timer = 0; DeadlyDeadlyGoopManager ddgm = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(goopDefinition); ddgm.TimedAddGoopCircle(proj.sprite.WorldCenter, .6f, .3f); if (goopDefinition == Library.goopDefs[5]) { ddgm.ElectrifyGoopCircle(proj.sprite.WorldCenter, .6f); } } } }
private IEnumerator DoBurst() { this.aiActor.MovementSpeed = 0; this.aiAnimator.PlayUntilFinished("burst", false, null, -1f, false); yield return(new WaitForSeconds(0.25f)); if (this.aiActor.OverrideTarget) { DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(EasyGoopDefinitions.FireDef); AkSoundEngine.PostEvent("Play_OBJ_glassbottle_shatter_01", this.gameObject); Vector2 vector = this.specRigidbody.UnitCenter; Vector2 normalized = (this.aiActor.OverrideTarget.UnitCenter - vector).normalized; goopManagerForGoopType.TimedAddGoopLine(this.specRigidbody.UnitCenter, this.specRigidbody.UnitCenter + normalized * 7, 1f, 0.5f); } yield return(new WaitForSeconds(0.25f)); this.sprite.renderer.enabled = false; this.aiActor.EraseFromExistence(); yield break; }
// Token: 0x06000046 RID: 70 RVA: 0x00003E98 File Offset: 0x00002098 public void Start() { this.projectile = base.GetComponent <Projectile>(); this.player = (this.projectile.Owner as PlayerController); GameActor owner = this.projectile.Owner; Projectile component = base.gameObject.GetComponent <Projectile>(); if (component != null) { if (this.goop == null) { GoopDefinition goopDef = ResourceManager.LoadAssetBundle("shared_auto_001").LoadAsset <GoopDefinition>("assets/data/goops/water goop.asset"); this.goop = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(goopDef); } if (this.radius == 0f) { this.radius = 0.75f; } GameManager.Instance.StartCoroutine(this.GoopTrail(component, this.goop)); } }
private void GoopReload(PlayerController player, Gun gun) { if (gun.ClipShotsRemaining == 0) { int amount = UnityEngine.Random.Range(5, 12); for (int i = 0; i < amount; i++) { float size = UnityEngine.Random.Range(1.5f, 4); float lifetime = UnityEngine.Random.Range(.2f, .4f); Vector2 location = player.sprite.WorldCenter + (UnityEngine.Random.insideUnitCircle * 7); GoopDefinition goop = possibleGoops[UnityEngine.Random.Range(0, possibleGoops.Count)]; DeadlyDeadlyGoopManager ddgm = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(goop); ddgm.TimedAddGoopCircle(location, size, lifetime); if (goop == Library.goopDefs[5]) { ddgm.ElectrifyGoopCircle(player.sprite.WorldCenter, size); } } } }
public void Start() { //base.aiActor.HasBeenEngaged = true; if (healthHaver.healthHaver.GetCurrentHealth() <= healthHaver.healthHaver.GetMaxHealth() / 2) { var bs = FlameChamber.prefab.GetComponent <BehaviorSpeculator>(); } base.aiActor.healthHaver.OnPreDeath += (obj) => { Exploder.DoDefaultExplosion(base.aiActor.CenterPosition, base.aiActor.CenterPosition.ToIntVector2().ToVector2()); AkSoundEngine.PostEvent("Play_ENM_highpriest_blast_01", base.aiActor.gameObject); //Chest chest2 = GameManager.Instance.RewardManager.SpawnTotallyRandomChest(spawnspot); //chest2.IsLocked = false; DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(EasyGoopDefinitions.FireDef); goopManagerForGoopType.AddGoopCircle(this.aiActor.specRigidbody.UnitCenter, 3f, -1, false, -1); }; base.healthHaver.healthHaver.OnDeath += (obj) => { };; this.aiActor.knockbackDoer.SetImmobile(true, "fuckshitdeath"); }
//Add the item's functionality down here! I stole most of this from the Stuffed Star active item code! protected override void DoEffect(PlayerController user) { float length = 13; float width = 2.5f; if (user.PlayerHasActiveSynergy("Ooh Eee Ooh Ah Ah!")) { length = 20; width = 4; } DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(EasyGoopDefinitions.CharmGoopDef); Vector2 vector = user.CenterPosition; Vector2 normalized = (user.unadjustedAimPoint.XY() - vector).normalized; goopManagerForGoopType.TimedAddGoopLine(user.CenterPosition, user.CenterPosition + normalized * length, width, 0.5f); if (user.PlayerHasActiveSynergy("Number 9")) { goopManagerForGoopType.TimedAddGoopLine(user.CenterPosition, user.CenterPosition + (normalized * -1) * length, width, 0.5f); } //goopManagerForGoopType.gameObject.AddComponent<PurifiedWaterGoop>(); }
private void BFN(Projectile projectile) { Vector2 worldCenter = projectile.sprite.WorldCenter; Vector3 position = projectile.sprite.WorldCenter; Projectile projectile1 = ((Gun)ETGMod.Databases.Items[481]).DefaultModule.chargeProjectiles[0].Projectile; GameObject gameObject = SpawnManager.SpawnProjectile(projectile.gameObject, projectile.sprite.WorldCenter, Quaternion.Euler(0f, 0f, 0f)); bool flag = projectile1 != null; bool flag2 = flag; if (flag2) { projectile1.baseData.damage = 50f; projectile1.baseData.speed = 0f; projectile1.AdditionalScaleMultiplier = 2.5f; } this.Boom(position); AssetBundle assetBundle = ResourceManager.LoadAssetBundle("shared_auto_001"); GoopDefinition goopDefinition = assetBundle.LoadAsset <GoopDefinition>("assets/data/goops/napalmgoopquickignite.asset"); goopDefinition.baseColor32 = new Color32(0, byte.MaxValue, byte.MaxValue, byte.MaxValue); goopDefinition.fireColor32 = new Color32(0, byte.MaxValue, byte.MaxValue, byte.MaxValue); goopDefinition.UsesGreenFire = false; DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(goopDefinition); goopManagerForGoopType.TimedAddGoopCircle(projectile.sprite.WorldCenter, 10f, 0.1f, false); this.Nuke = assetBundle.LoadAsset <GameObject>("assets/data/vfx prefabs/impact vfx/vfx_explosion_nuke.prefab"); //this.Nuke = assetBundle.LoadAsset<GameObject>("assets/data/vfx prefabs/impact vfx/vfx_explosion_big_new.prefab"); GameObject gameObject2 = UnityEngine.Object.Instantiate <GameObject>(this.Nuke); gameObject2.GetComponent <tk2dBaseSprite>().PlaceAtLocalPositionByAnchor(projectile.specRigidbody.UnitCenter, tk2dBaseSprite.Anchor.LowerCenter); gameObject2.transform.position = gameObject.transform.position.Quantize(0.0625f); gameObject2.GetComponent <tk2dBaseSprite>().UpdateZDepth(); { this.FlashHoldtime = 0.1f; this.FlashFadetime = 0.5f; Pixelator.Instance.FadeToColor(this.FlashFadetime, Color.white, true, this.FlashHoldtime); StickyFrictionManager.Instance.RegisterCustomStickyFriction(0.15f, 1f, false, false); this.FlashHoldtime = 0.1f; } }
private IEnumerator FireStorm() { yield return(new WaitForSeconds(1)); var ddgm = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(EasyGoopDefinitions.FireDef); ddgm.AddGoopCircle(self.sprite.WorldCenter, 5); for (int i = 0; i < 40; i++) { yield return(new WaitForSeconds(0.1f)); GameObject gameObject = SpawnManager.SpawnProjectile((PickupObjectDatabase.GetById(336) as Gun).DefaultModule.projectiles[0].gameObject, self.specRigidbody.UnitCenter, Quaternion.Euler(0, 0, UnityEngine.Random.Range(1, 360)), true); Projectile component = gameObject.GetComponent <Projectile>(); if (component != null) { component.Owner = self.Owner; component.Shooter = self.Owner.specRigidbody; } } Die(); yield break; }
private void HandleHit(Projectile arg1, SpeculativeRigidbody arg2, bool arg3) { float currentHealthPercentage1 = arg2.healthHaver.GetCurrentHealthPercentage(); bool flag3 = currentHealthPercentage1 <= 0.9f; if (flag3) { arg2.healthHaver.ApplyDamage(20f, Vector2.zero, "Telefrag", CoreDamageTypes.Void, DamageCategory.Normal, true, null, false); } float currentHealthPercentage = arg2.healthHaver.GetCurrentHealthPercentage(); bool flaga3 = currentHealthPercentage <= 0.3f; bool isBoss = arg2.healthHaver.IsBoss; bool flag4 = flaga3 && !isBoss; if (flag4) { AssetBundle assetBundle = ResourceManager.LoadAssetBundle("shared_auto_001"); GoopDefinition goopDef = assetBundle.LoadAsset <GoopDefinition>("assets/data/goops/napalmgoopquickignite.asset"); DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(goopDef).TimedAddGoopCircle(arg2.sprite.WorldBottomCenter, 1.5f, 1.4f, false); this.Execute(arg2); } }