public static AIShooter SetupBasicAIShooter(GameObject go, int gunid, Transform gunattachpoint, GameObject handobject) { AIShooter aishoot = go.GetOrAddComponent <AIShooter>(); aishoot.volley = null; aishoot.equippedGunId = gunid; aishoot.shouldUseGunReload = true; aishoot.volleyShootPosition = null; aishoot.volleyShellCasing = null; aishoot.volleyShellTransform = null; aishoot.volleyShootVfx = null; aishoot.usesOctantShootVFX = true; aishoot.bulletName = "default"; aishoot.customShootCooldownPeriod = 1f; aishoot.doesScreenShake = false; aishoot.rampBullets = false; aishoot.rampStartHeight = 2f; aishoot.rampTime = 1f; aishoot.gunAttachPoint = gunattachpoint; aishoot.bulletScriptAttachPoint = null; aishoot.overallGunAttachOffset = IntVector2.Zero; aishoot.flippedGunAttachOffset = IntVector2.Zero; aishoot.handObject = handobject.GetComponent <PlayerHandController>(); aishoot.AllowTwoHands = true; aishoot.ForceGunOnTop = false; aishoot.IsReallyBigBoy = false; aishoot.BackupAimInMoveDirection = false; aishoot.PostProcessProjectile = null; return(aishoot); }
public static void SpectreBehav() { Gun cached_poison = PickupObjectDatabase.GetById(208) as Gun; Spectre = EnemyDatabase.GetOrLoadByGuid("56f5a0f2c1fc4bc78875aea617ee31ac"); HollowPoint = EnemyDatabase.GetOrLoadByGuid("4db03291a12144d69fe940d5a01de376"); AIShooter SpecShoot = Spectre.gameObject.AddComponent <AIShooter>(); Spectre.gameObject.GetComponent <AIShooter>().gunAttachPoint.localPosition += new Vector3(0, 0.2f, 0); GameObject targetPoison = Spectre.gameObject; Spectre.behaviorSpeculator.AttackBehaviors.Remove(Spectre.behaviorSpeculator.AttackBehaviors[1]); Spectre.behaviorSpeculator.AttackBehaviors.Add(HollowPoint.behaviorSpeculator.AttackBehaviors[1]); Spectre.CollisionDamage = .5f; Spectre.SetIsFlying(true, "ghost", true, true); var actor = Spectre.gameActor; actor.EffectResistances = new ActorEffectResistance[] { new ActorEffectResistance() { resistAmount = 1, resistType = EffectResistanceType.Poison } }; Spectre.healthHaver.SetHealthMaximum(30); Spectre.healthHaver.ForceSetCurrentHealth(30); if (cached_poison) { GoopDoer Gooper = targetPoison.AddComponent <GoopDoer>(); Gooper.goopDefinition = cached_poison.singleModule.projectiles[0].gameObject.GetComponent <GoopModifier>().goopDefinition; Gooper.positionSource = GoopDoer.PositionSource.HitBoxCenter; Gooper.updateTiming = GoopDoer.UpdateTiming.Always; Gooper.updateFrequency = 0.05f; Gooper.isTimed = false; Gooper.goopTime = 1; Gooper.updateOnDeath = false; Gooper.updateOnPreDeath = false; Gooper.updateOnAnimFrames = false; Gooper.updateOnCollision = false; Gooper.updateOnGrounded = false; Gooper.updateOnDestroy = false; Gooper.defaultGoopRadius = 1.2f; Gooper.suppressSplashes = false; Gooper.goopSizeVaries = false; Gooper.varyCycleTime = 0.9f; Gooper.radiusMax = 1.2f; Gooper.radiusMin = 1.2f; Gooper.goopSizeRandom = false; Gooper.UsesDispersalParticles = false; Gooper.DispersalDensity = 3; Gooper.DispersalMinCoherency = 0.2f; Gooper.DispersalMaxCoherency = 1; } }
// Token: 0x06000056 RID: 86 RVA: 0x00004194 File Offset: 0x00002394 public void KnightPlacer(PlayerController owner) { try { AIActor orLoadByGuid = EnemyDatabase.GetOrLoadByGuid("ec8ea75b557d4e7b8ceeaacdf6f8238c"); IntVector2 intVector = Vector2Extensions.ToIntVector2(owner.unadjustedAimPoint, (VectorConversions)2); RoomHandler absoluteRoomFromPosition = GameManager.Instance.Dungeon.data.GetAbsoluteRoomFromPosition(intVector); bool flag = absoluteRoomFromPosition != null && absoluteRoomFromPosition == owner.CurrentRoom && owner.IsInCombat; if (flag) { AIActor aiactor = AIActor.Spawn(orLoadByGuid.aiActor, owner.CenterPosition, absoluteRoomFromPosition, true, (AIActor.AwakenAnimationType) 2, true); PhysicsEngine.Instance.RegisterOverlappingGhostCollisionExceptions(aiactor.specRigidbody, null, false); aiactor.CanTargetEnemies = true; aiactor.CanTargetPlayers = false; aiactor.IsHarmlessEnemy = true; aiactor.CanDropCurrency = false; aiactor.IgnoreForRoomClear = true; aiactor.MovementSpeed = 5.95f; aiactor.CompanionOwner = owner; aiactor.IsBuffEnemy = true; aiactor.isPassable = true; aiactor.gameObject.AddComponent <KillOnRoomClear>(); aiactor.reinforceType = (AIActor.ReinforceType) 2; aiactor.HandleReinforcementFallIntoRoom(0.1f); //added this so the player doesn't collide with the nut when dodge rolling, he goes through companions aiactor.gameObject.AddComponent <CompanionController>(); CompanionController component = aiactor.gameObject.GetComponent <CompanionController>(); component.Initialize(owner); this.nut = aiactor; MindControlEffect orAddComponent = GameObjectExtensions.GetOrAddComponent <MindControlEffect>(aiactor.gameObject); orAddComponent.owner = (this.gun.CurrentOwner as PlayerController); // to make the nut invincible against the player effects or any other damage effects if (aiactor.healthHaver != null) { aiactor.healthHaver.PreventAllDamage = true; } // to prevent the attacks of the nut from damaging the player if (aiactor.bulletBank != null) { AIBulletBank bulletBank = aiactor.bulletBank; bulletBank.OnProjectileCreated = (Action <Projectile>)Delegate.Combine(bulletBank.OnProjectileCreated, new Action <Projectile>(CopperChariot.OnPostProcessProjectile)); } if (aiactor.aiShooter != null) { AIShooter aiShooter = aiactor.aiShooter; aiShooter.PostProcessProjectile = (Action <Projectile>)Delegate.Combine(aiShooter.PostProcessProjectile, new Action <Projectile>(CopperChariot.OnPostProcessProjectile)); } } } catch (Exception e) { Tools.Print("Copper KnightPlacer", "FFFFFF", true); Tools.PrintException(e); } }
// Token: 0x06004872 RID: 18546 RVA: 0x0002F6F0 File Offset: 0x0002D8F0 public override void Init(GameObject gameObject, AIActor aiActor, AIShooter aiShooter) { base.Init(gameObject, aiActor, aiShooter); if (this.goneAttackBehavior != null) { this.goneAttackBehavior.Init(gameObject, aiActor, aiShooter); } }
private static AIShooter SetupAIShooter(GameObject outObject) { AIShooter shooter = outObject.GetComponent <AIShooter>(); tk2dSprite sprite = outObject.GetComponent <tk2dSprite>(); string m_CachedShooter = JsonUtility.ToJson(shooter); // AIShooter has some stuff setup prior to game object getting disabled. This ensures old stuff gets properly nuked. GunInventory m_inventory = ReflectionHelpers.ReflectGetField <GunInventory>(typeof(AIShooter), "m_inventory", shooter); List <PlayerHandController> m_attachedHands = ReflectionHelpers.ReflectGetField <List <PlayerHandController> >(typeof(AIShooter), "m_attachedHands", shooter); // Removes old Smiley/Shades gun sprite renderers from main renderer foreach (var gun in m_inventory.AllGuns) { sprite.DetachRenderer(gun.GetSprite()); UnityEngine.Object.Destroy(gun.gameObject); } // just to make sure if (m_inventory.CurrentGun) { sprite.DetachRenderer(m_inventory.CurrentGun.GetSprite()); UnityEngine.Object.Destroy(m_inventory.CurrentGun.gameObject); } // Gets rid of old hands // AIShooter had also attached the hand's renderers to the gun's sprite but since the previous gun was nuked it doesn't matter. foreach (PlayerHandController hand in m_attachedHands) { UnityEngine.Object.Destroy(hand.gameObject); } UnityEngine.Object.Destroy(shooter.gunAttachPoint.gameObject); UnityEngine.Object.Destroy(shooter); // Now that old AIShooter is gone we can add a new one. // This time host object is already inactive so don't have to worry about some unneeded trash hanging around. :P shooter = outObject.AddComponent <AIShooter>(); // Restore some fields the previous AIShooter had. JsonUtility.FromJsonOverwrite(m_CachedShooter, shooter); // Setup new GunAttachPoint to avoid using any remnent of old AIShooter. shooter.gunAttachPoint = new GameObject("GunAttachPoint") { layer = 0 }.transform; // position doesn't need to saved as its manually set to fit each west bro later shooter.gunAttachPoint.SetParent(outObject.transform); return(shooter); }
public void knightPlacer(PlayerController owner) { IntVector2 aim = Vector2Extensions.ToIntVector2(owner.unadjustedAimPoint, VectorConversions.Round); RoomHandler room = GameManager.Instance.Dungeon.data.GetAbsoluteRoomFromPosition(aim); if (room != null && room == owner.CurrentRoom && owner.IsInCombat) { AIActor orLoadByGuid = EnemyDatabase.GetOrLoadByGuid("ec8ea75b557d4e7b8ceeaacdf6f8238c"); AIActor aiActor = AIActor.Spawn(orLoadByGuid.aiActor, owner.CenterPosition, room, true, AIActor.AwakenAnimationType.Spawn, true); PhysicsEngine.Instance.RegisterOverlappingGhostCollisionExceptions(aiActor.specRigidbody, null, false); aiActor.CanTargetEnemies = true; aiActor.CanTargetPlayers = false; aiActor.IsHarmlessEnemy = true; aiActor.CanDropCurrency = false; aiActor.IgnoreForRoomClear = true; aiActor.MovementSpeed = 6.1f; aiActor.CompanionOwner = owner; aiActor.IsBuffEnemy = true; aiActor.isPassable = true; aiActor.gameObject.AddComponent <KillOnRoomClear>(); aiActor.reinforceType = AIActor.ReinforceType.Instant; aiActor.HandleReinforcementFallIntoRoom(.1f); nut = aiActor; MindControlEffect mindControl = aiActor.gameObject.GetOrAddComponent <MindControlEffect>(); mindControl.owner = (this.gun.CurrentOwner as PlayerController); aiActor.aiShooter.IsReallyBigBoy = true; aiActor.aiShooter.customShootCooldownPeriod = .25f; aiActor.Update(); if (nut.bulletBank != null) { AIBulletBank bulletBank = nut.bulletBank; bulletBank.OnProjectileCreated = (Action <Projectile>)Delegate.Combine(bulletBank.OnProjectileCreated, new Action <Projectile>(CopperChariot.OnPostProcessProjectile)); } if (nut.aiShooter != null) { AIShooter aiShooter = nut.aiShooter; aiShooter.PostProcessProjectile = (Action <Projectile>)Delegate.Combine(aiShooter.PostProcessProjectile, new Action <Projectile>(CopperChariot.OnPostProcessProjectile)); } } }
public void Start() { enemy = base.aiActor; AIBulletBank bulletBank2 = enemy.bulletBank; foreach (AIBulletBank.Entry bullet in bulletBank2.Bullets) { bullet.BulletObject.GetComponent <Projectile>().BulletScriptSettings.preventPooling = true; } if (enemy.aiShooter != null) { AIShooter aiShooter = enemy.aiShooter; aiShooter.PostProcessProjectile = (Action <Projectile>)Delegate.Combine(aiShooter.PostProcessProjectile, new Action <Projectile>(this.PostProcessSpawnedEnemyProjectiles)); } if (enemy.bulletBank != null) { AIBulletBank bulletBank = enemy.bulletBank; bulletBank.OnProjectileCreated = (Action <Projectile>)Delegate.Combine(bulletBank.OnProjectileCreated, new Action <Projectile>(this.PostProcessSpawnedEnemyProjectiles)); } }
// Token: 0x060003C7 RID: 967 RVA: 0x000232D4 File Offset: 0x000214D4 public override void Init(GameObject gameObject, AIActor aiActor, AIShooter aiShooter) { base.Init(gameObject, aiActor, aiShooter); this.Owner = this.m_aiActor.GetComponent <Winpetster.WinpetsterBehavior>().Owner; }
public ShooterChaseState(AIShooter _aiShooter) { aiShooter = _aiShooter; myID = StateID.ChasingTarget; }
// Token: 0x06000056 RID: 86 RVA: 0x00004194 File Offset: 0x00002394 public void KnightPlacer(PlayerController owner) { try { AIActor orLoadByGuid = EnemyDatabase.GetOrLoadByGuid("ec8ea75b557d4e7b8ceeaacdf6f8238c"); IntVector2 intVector = Vector2Extensions.ToIntVector2(owner.unadjustedAimPoint, (VectorConversions)2); RoomHandler absoluteRoomFromPosition = GameManager.Instance.Dungeon.data.GetAbsoluteRoomFromPosition(intVector); bool flag = absoluteRoomFromPosition != null && absoluteRoomFromPosition == owner.CurrentRoom && owner.IsInCombat; if (flag) { AIActor aiactor = AIActor.Spawn(orLoadByGuid.aiActor, owner.CenterPosition, absoluteRoomFromPosition, true, (AIActor.AwakenAnimationType) 2, true); PhysicsEngine.Instance.RegisterOverlappingGhostCollisionExceptions(aiactor.specRigidbody, null, false); aiactor.CanTargetEnemies = true; aiactor.CanTargetPlayers = false; aiactor.IsHarmlessEnemy = true; aiactor.CanDropCurrency = false; aiactor.IgnoreForRoomClear = true; aiactor.MovementSpeed = 5.95f; aiactor.CompanionOwner = owner; aiactor.IsBuffEnemy = true; aiactor.isPassable = true; aiactor.gameObject.AddComponent <KillOnRoomClear>(); aiactor.reinforceType = (AIActor.ReinforceType) 2; aiactor.HandleReinforcementFallIntoRoom(0.1f); aiactor.specRigidbody.AddCollisionLayerIgnoreOverride( CollisionMask.LayerToMask(CollisionLayer.EnemyHitBox, CollisionLayer.EnemyCollider, CollisionLayer.PlayerHitBox, CollisionLayer.Projectile, CollisionLayer.PlayerCollider, CollisionLayer.PlayerBlocker, CollisionLayer.BeamBlocker) ); aiactor.specRigidbody.AddCollisionLayerIgnoreOverride(CollisionMask.LayerToMask(CollisionLayer.BulletBlocker, CollisionLayer.BulletBreakable, CollisionLayer.Trap)); /* * aiactor.gameObject.AddComponent<CompanionController>(); * CompanionController component = aiactor.gameObject.GetComponent<CompanionController>(); * component.Initialize(owner); */ this.nut = aiactor; MindControlEffect orAddComponent = GameObjectExtensions.GetOrAddComponent <MindControlEffect>(aiactor.gameObject); orAddComponent.owner = (this.gun.CurrentOwner as PlayerController); if (aiactor.healthHaver != null) { aiactor.healthHaver.PreventAllDamage = true; } if (aiactor.bulletBank != null) { AIBulletBank bulletBank = aiactor.bulletBank; bulletBank.OnProjectileCreated = (Action <Projectile>)Delegate.Combine(bulletBank.OnProjectileCreated, new Action <Projectile>(this.OnPostProcessProjectile)); } if (aiactor.aiShooter != null) { AIShooter aiShooter = aiactor.aiShooter; aiShooter.PostProcessProjectile = (Action <Projectile>)Delegate.Combine(aiShooter.PostProcessProjectile, new Action <Projectile>(this.OnPostProcessProjectile)); } aiactor.LocalTimeScale = 3; } } catch (Exception e) { Tools.Print("Copper KnightPlacer", "FFFFFF", true); Tools.PrintException(e); } }
public ShooterHurtState(AIShooter _aiShooter) { aiShooter = _aiShooter; myID = StateID.Hurt; }
public static void DuplicateAIShooterAndAIBulletBank(GameObject targetObject, AIShooter sourceShooter, AIBulletBank sourceBulletBank, int startingGunOverrideID = 0, Transform gunAttachPointOverride = null, Transform bulletScriptAttachPointOverride = null, PlayerHandController overrideHandObject = null) { if (targetObject.GetComponent <AIShooter>() && targetObject.GetComponent <AIBulletBank>()) { return; } if (!targetObject.GetComponent <AIBulletBank>()) { AIBulletBank aibulletBank = targetObject.AddComponent <AIBulletBank>(); aibulletBank.Bullets = new List <AIBulletBank.Entry>(0); if (sourceBulletBank.Bullets.Count > 0) { foreach (AIBulletBank.Entry entry in sourceBulletBank.Bullets) { aibulletBank.Bullets.Add(new AIBulletBank.Entry { Name = entry.Name, BulletObject = entry.BulletObject, OverrideProjectile = entry.OverrideProjectile, ProjectileData = new ProjectileData { damage = entry.ProjectileData.damage, speed = entry.ProjectileData.speed, range = entry.ProjectileData.range, force = entry.ProjectileData.force, damping = entry.ProjectileData.damping, UsesCustomAccelerationCurve = entry.ProjectileData.UsesCustomAccelerationCurve, AccelerationCurve = entry.ProjectileData.AccelerationCurve, CustomAccelerationCurveDuration = entry.ProjectileData.CustomAccelerationCurveDuration, onDestroyBulletScript = entry.ProjectileData.onDestroyBulletScript, IgnoreAccelCurveTime = entry.ProjectileData.IgnoreAccelCurveTime }, PlayAudio = entry.PlayAudio, AudioSwitch = entry.AudioSwitch, AudioEvent = entry.AudioEvent, AudioLimitOncePerFrame = entry.AudioLimitOncePerFrame, AudioLimitOncePerAttack = entry.AudioLimitOncePerAttack, MuzzleFlashEffects = new VFXPool { effects = entry.MuzzleFlashEffects.effects, type = entry.MuzzleFlashEffects.type }, MuzzleLimitOncePerFrame = entry.MuzzleLimitOncePerFrame, MuzzleInheritsTransformDirection = entry.MuzzleInheritsTransformDirection, ShellTransform = entry.ShellTransform, ShellPrefab = entry.ShellPrefab, ShellForce = entry.ShellForce, ShellForceVariance = entry.ShellForceVariance, DontRotateShell = entry.DontRotateShell, ShellGroundOffset = entry.ShellGroundOffset, ShellsLimitOncePerFrame = entry.ShellsLimitOncePerFrame, rampBullets = entry.rampBullets, conditionalMinDegFromNorth = entry.conditionalMinDegFromNorth, forceCanHitEnemies = entry.forceCanHitEnemies, suppressHitEffectsIfOffscreen = entry.suppressHitEffectsIfOffscreen, preloadCount = entry.preloadCount }); } } aibulletBank.useDefaultBulletIfMissing = true; aibulletBank.transforms = new List <Transform>(); if (sourceBulletBank.transforms != null && sourceBulletBank.transforms.Count > 0) { foreach (Transform item in sourceBulletBank.transforms) { aibulletBank.transforms.Add(item); } } aibulletBank.RegenerateCache(); } if (!targetObject.GetComponent <AIShooter>()) { AIShooter aishooter = targetObject.AddComponent <AIShooter>(); aishooter.volley = sourceShooter.volley; if (startingGunOverrideID != 0) { aishooter.equippedGunId = startingGunOverrideID; } else { aishooter.equippedGunId = sourceShooter.equippedGunId; } aishooter.shouldUseGunReload = true; aishooter.volleyShootPosition = sourceShooter.volleyShootPosition; aishooter.volleyShellCasing = sourceShooter.volleyShellCasing; aishooter.volleyShellTransform = sourceShooter.volleyShellTransform; aishooter.volleyShootVfx = sourceShooter.volleyShootVfx; aishooter.usesOctantShootVFX = sourceShooter.usesOctantShootVFX; aishooter.bulletName = sourceShooter.bulletName; aishooter.customShootCooldownPeriod = sourceShooter.customShootCooldownPeriod; aishooter.doesScreenShake = sourceShooter.doesScreenShake; aishooter.rampBullets = sourceShooter.rampBullets; aishooter.rampStartHeight = sourceShooter.rampStartHeight; aishooter.rampTime = sourceShooter.rampTime; if (gunAttachPointOverride) { aishooter.gunAttachPoint = gunAttachPointOverride; } else { aishooter.gunAttachPoint = sourceShooter.gunAttachPoint; } if (bulletScriptAttachPointOverride) { aishooter.bulletScriptAttachPoint = bulletScriptAttachPointOverride; } else { aishooter.bulletScriptAttachPoint = sourceShooter.bulletScriptAttachPoint; } aishooter.overallGunAttachOffset = sourceShooter.overallGunAttachOffset; aishooter.flippedGunAttachOffset = sourceShooter.flippedGunAttachOffset; if (overrideHandObject) { aishooter.handObject = overrideHandObject; } else { aishooter.handObject = sourceShooter.handObject; } aishooter.AllowTwoHands = sourceShooter.AllowTwoHands; aishooter.ForceGunOnTop = sourceShooter.ForceGunOnTop; aishooter.IsReallyBigBoy = sourceShooter.IsReallyBigBoy; aishooter.BackupAimInMoveDirection = sourceShooter.BackupAimInMoveDirection; aishooter.RegenerateCache(); } }
public ShooterRoamState(AIShooter _aiShooter) { aiShooter = _aiShooter; myID = StateID.Roaming; }
private void Start() { m_AIActor = aiActor; m_AIShooter = aiShooter; }
public override void Init(GameObject gameObject, AIActor aiActor, AIShooter aiShooter) { base.Init(gameObject, aiActor, aiShooter); this.ConstraintChaos(); }
public override void Init(GameObject gameObject, AIActor aiActor, AIShooter aiShooter) { base.Init(gameObject, aiActor, aiShooter); this.Owner = this.m_aiActor.GetComponent <BabyGoodShellicopter.ChopperBehavior>().Owner; }
public ShooterAttackState(AIShooter _aiShooter) { aiShooter = _aiShooter; myID = StateID.Attack; }
public ShooterDeadState(AIShooter _aiShooter) { aiShooter = _aiShooter; myID = StateID.Dead; }
public override void Init(GameObject gameObject, AIActor aiActor, AIShooter aiShooter) { base.Init(gameObject, aiActor, aiShooter); LinkVFXPrefab = Gungeon.Game.Items["shock_rounds"].GetComponent <ComplexProjectileModifier>().ChainLightningVFX; Owner = this.m_aiActor.GetComponent <PikaBehavior>().Owner; }
// Token: 0x0600011C RID: 284 RVA: 0x0000A9F9 File Offset: 0x00008BF9 public override void Init(GameObject gameObject, AIActor aiActor, AIShooter aiShooter) { base.Init(gameObject, aiActor, aiShooter); this.Owner = this.m_aiActor.GetComponent <PointZero.PointZeroBehaviour>().Owner; }
public override void Init(GameObject gameObject, AIActor aiActor, AIShooter aiShooter) { base.Init(gameObject, aiActor, aiShooter); m_playerHealth = GameManager.Instance.PrimaryPlayer.healthHaver; }
public ShooterIdleState(AIShooter _aiShooter) { aiShooter = _aiShooter; myID = StateID.Idle; }
public override void Init(GameObject gameObject, AIActor aiActor, AIShooter aiShooter) { base.Init(gameObject, aiActor, aiShooter); this.Owner = this.m_aiActor.GetComponent <StrangeArrow.arrowBehavior>().Owner; }
// Token: 0x0600039F RID: 927 RVA: 0x0001E332 File Offset: 0x0001C532 public override void Init(GameObject gameObject, AIActor aiActor, AIShooter aiShooter) { base.Init(gameObject, aiActor, aiShooter); this.Owner = this.m_aiActor.GetComponent <AbilityRebel.AllyBehavior>().Owner; }
// Token: 0x0600011C RID: 284 RVA: 0x0000A9F9 File Offset: 0x00008BF9 public override void Init(GameObject gameObject, AIActor aiActor, AIShooter aiShooter) { base.Init(gameObject, aiActor, aiShooter); this.Owner = this.m_aiActor.GetComponent <GlowingWomb.WombBehavior>().Owner; }
public ShooterReloadState(AIShooter _aiShooter) { aiShooter = _aiShooter; myID = StateID.Reload; }
// Token: 0x06000126 RID: 294 RVA: 0x00009E97 File Offset: 0x00008097 public override void Init(GameObject gameObject, AIActor aiActor, AIShooter aiShooter) { base.Init(gameObject, aiActor, aiShooter); }
// Token: 0x0600011C RID: 284 RVA: 0x0000A9F9 File Offset: 0x00008BF9 public override void Init(GameObject gameObject, AIActor aiActor, AIShooter aiShooter) { base.Init(gameObject, aiActor, aiShooter); this.Owner = this.m_aiActor.GetComponent <IceOgreHead.PenguinBehavior>().Owner; }