private void Start() { if (!NetworkServer.active) { enabled = false; return; } targetComponent = GetComponent <ProjectileTargetComponent>(); rb = GetComponent <Rigidbody>(); }
private void Start() { if (!NetworkServer.active) { enabled = false; return; } transform = gameObject.transform; targetComponent = GetComponent <ProjectileTargetComponent>(); projectileSimple = GetComponent <ProjectileSimple>(); model = gameObject.transform.Find("Model"); velocity = maxVelocity; velocityAsVector = Vector3.zero; }
// Token: 0x06003097 RID: 12439 RVA: 0x000D176C File Offset: 0x000CF96C public override void OnEnter() { base.OnEnter(); this.projectileStickOnImpact = base.GetComponent <ProjectileStickOnImpact>(); this.projectileTargetComponent = base.GetComponent <ProjectileTargetComponent>(); if (this.projectileStickOnImpact.enabled != this.shouldStick) { this.projectileStickOnImpact.enabled = this.shouldStick; } Transform transform = base.FindModelChild(this.childLocatorStringToEnable); if (transform) { transform.gameObject.SetActive(true); } Util.PlaySound(this.enterSoundString, base.gameObject); }
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 virtual void Start() { if (!NetworkServer.active) { base.enabled = false; return; } targetComponent = GetComponent <ProjectileTargetComponent>(); itemMult = gameObject.GetComponent <ProjectileController>().Networkowner.GetComponent <SeekingStoneComponent>().cachedIcnt; target = gameObject.GetComponent <ProjectileController>().Networkowner.GetComponent <SeekingStoneComponent>().target; //base.transform = gameObject.transform; transform = base.transform; hasTarget = true; targetLost = false; allowTargetLoss = true; rotationSpeed = 70f - 70f / (1f + .15f * itemMult); lastFoundHurtBox = target; }
// 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); } } }
public override void OnEnter() { base.OnEnter(); ProjectileTargetComponent projTarget = projPrefab.GetComponent <ProjectileTargetComponent>(); if (!projTarget) { projTarget = projPrefab.AddComponent <ProjectileTargetComponent>(); } ProjectileDirectionalTargetFinder projFinder = projPrefab.GetComponent <ProjectileDirectionalTargetFinder>(); if (!projFinder) { projFinder = projPrefab.AddComponent <ProjectileDirectionalTargetFinder>(); } projFinder.lookCone = 6.5f; projFinder.lookRange = 60.0f; projFinder.targetSearchInterval = 0.15f; projFinder.onlySearchIfNoTarget = false; projFinder.allowTargetLoss = true; projFinder.testLoS = true; projFinder.ignoreAir = false; ProjectileSteerTowardTarget projSteer = projPrefab.GetComponent <ProjectileSteerTowardTarget>(); if (!projSteer) { projSteer = projPrefab.AddComponent <ProjectileSteerTowardTarget>(); } projSteer.rotationSpeed = 45.0f; ProjectileSimple projSimp = projPrefab.GetComponent <ProjectileSimple>(); if (!projSimp) { Debug.Log("Dafuq you done?"); } projSimp.updateAfterFiring = true; duration = baseDuration; arrowFireEnd = duration * spacingFrac; arrowTime = (duration - arrowFireEnd) / baseArrowsToFire / attackSpeedStat; this.projPrefab.GetComponent <ProjectileController>().procCoefficient = 0.4f; Transform modelTrans = base.GetModelTransform(); PlayCrossfade("Gesture, Override", "FireSeekingShot", "FireSeekingShot.playbackRate", arrowTime, arrowTime * 0.2f / attackSpeedStat); PlayCrossfade("Gesture, Additive", "FireSeekingShot", "FireSeekingShot.playbackRate", arrowTime, arrowTime * 0.2f / attackSpeedStat); if (modelTrans) { childLoc = modelTrans.GetComponent <ChildLocator>(); anim = modelTrans.GetComponent <Animator>(); } if (characterBody) { characterBody.SetAimTimer(duration + 1.0f); } timer = 0.0f; arrowTimer = 0.0f; arrowCounter = 0; fireArrow(); }