// Token: 0x060030A4 RID: 12452 RVA: 0x000D18D2 File Offset: 0x000CFAD2 public override void OnEnter() { base.OnEnter(); if (NetworkServer.active) { this.targetFinder = base.GetComponent <ProjectileSphereTargetFinder>(); this.targetFinder.enabled = true; } base.PlayAnimation("Base", "Armed"); }
public override void OnEnter() { base.OnEnter(); //Get target component projectileTargetComponent = base.GetComponent <ProjectileTargetComponent>(); //Get target finder targetFinder = base.GetComponent <ProjectileSphereTargetFinder>(); //Network check if (NetworkServer.active) { //Enable the target finder targetFinder.enabled = true; //Set the arming state to the last state armingStateMachine.SetNextState(new TeslaArmingWeakState()); } }
public override void OnEnter() { base.OnEnter(); //Network check if (NetworkServer.active) { //Set the arming machine state armingStateMachine.SetNextState(new TeslaArmingUnarmedState()); //Establish the targetfnider targetFinder = GetComponent <ProjectileSphereTargetFinder>(); //It should exist, and if it does disable it cause we ain't searching yet if (targetFinder) { targetFinder.enabled = false; } } }
// Token: 0x06002DA8 RID: 11688 RVA: 0x000C1E10 File Offset: 0x000C0010 private void FireGauntlet() { if (hasFiredGauntlet) { return; } base.characterBody.AddSpreadBloom(EntityStates.Mage.Weapon.FireFireBolt.bloom); hasFiredGauntlet = true; Ray aimRay = base.GetAimRay(); if (childLocator) { muzzleTransform = childLocator.FindChild(muzzleString); } if (base.isAuthority) { if (!projectilePrefab) { projectilePrefab = Resources.Load <GameObject>("prefabs/projectiles/magefireboltbasic").InstantiateClone("magefireboltcopy"); } if (!filter) { filter = projectilePrefab.AddComponent <TeamFilter>(); } if (!targeter) { targeter = projectilePrefab.AddComponent <ProjectileTargetComponent>(); } if (!targetfinder) { targetfinder = projectilePrefab.AddComponent <ProjectileSphereTargetFinder>(); targetfinder.lookRange = 12; targetfinder.allowTargetLoss = true; targetfinder.onlySearchIfNoTarget = true; targetfinder.testLoS = true; targetfinder.targetSearchInterval = 0.15f; } if (!steertoward) { steertoward = projectilePrefab.AddComponent <ProjectileSteerTowardTarget>(); steertoward.rotationSpeed = 360f; } if (!projectile) { projectile = projectilePrefab.AddComponent <ProjectileSimple>(); projectile.velocity = 50f; projectile.updateAfterFiring = true; } for (int i = 0; i < 2; i++) { ProjectileManager.instance.FireProjectile(projectilePrefab, aimRay.origin, Util.QuaternionSafeLookRotation(aimRay.direction + (new Vector3(Random.Range(-36f, 36f), Random.Range(-36f, 36f), Random.Range(-36f, 36f)) / 360f)), base.gameObject, 1f * damageStat, 0f, base.characterBody.RollCrit()); } } }
// Token: 0x06002DA8 RID: 11688 RVA: 0x000C1E10 File Offset: 0x000C0010 private void FireGauntlet() { if (hasFiredGauntlet) { return; } base.characterBody.AddSpreadBloom(EntityStates.Mage.Weapon.FireFireBolt.bloom); hasFiredGauntlet = true; Ray aimRay = base.GetAimRay(); if (childLocator) { muzzleTransform = childLocator.FindChild(muzzleString); } if (NetworkServer.active) { if (!projectilePrefab) { projectilePrefab = Resources.Load <GameObject>("prefabs/projectiles/magefireboltbasic").InstantiateClone("magefireboltcopy"); } if (!filter) { filter = projectilePrefab.AddComponent <TeamFilter>(); } if (!targeter) { targeter = projectilePrefab.AddComponent <ProjectileTargetComponent>(); } if (!steertoward) { steertoward = projectilePrefab.AddComponent <ProjectileSteerTowardTarget>(); steertoward.rotationSpeed = 360f; } if (!targetfinder) { targetfinder = projectilePrefab.AddComponent <ProjectileSphereTargetFinder>(); targetfinder.lookRange = 16; targetfinder.allowTargetLoss = false; targetfinder.onlySearchIfNoTarget = true; targetfinder.testLoS = true; targetfinder.targetSearchInterval = 0.15f; } if (!projectile) { projectile = projectilePrefab.AddComponent <ProjectileSimple>(); projectile.velocity = 50f; projectile.updateAfterFiring = true; } BullseyeSearch bullseyeSearch = new BullseyeSearch(); bullseyeSearch.searchOrigin = aimRay.origin; bullseyeSearch.searchDirection = aimRay.direction; bullseyeSearch.maxDistanceFilter = 100f; bullseyeSearch.maxAngleFilter = 60f; bullseyeSearch.teamMaskFilter = TeamMask.allButNeutral; bullseyeSearch.teamMaskFilter.RemoveTeam(base.teamComponent.teamIndex); bullseyeSearch.sortMode = BullseyeSearch.SortMode.Angle; bullseyeSearch.RefreshCandidates(); List <HurtBox> list = bullseyeSearch.GetResults().ToList <HurtBox>(); HurtBox hurtBox = (list.Count > 0) ? list[0] : null; if (hurtBox) { targeter.target = hurtBox.transform; } for (int i = 0; i < 2; i++) { Quaternion direction = Util.QuaternionSafeLookRotation(aimRay.direction + (new Vector3(Random.Range(-36f, 36f), Random.Range(-36f, 36f), Random.Range(-36f, 36f)) / 360f)); ProjectileManager.instance.FireProjectile(projectilePrefab, aimRay.origin, direction, base.gameObject, 0.8f * damageStat, 0f, base.characterBody.RollCrit(), DamageColorIndex.Default, hurtBox ? hurtBox.gameObject : null); } } }