// Token: 0x06002C27 RID: 11303 RVA: 0x000BA670 File Offset: 0x000B8870 protected void EnablePickup() { ChildLocator component = this.podInfo.podAnimator.GetComponent <ChildLocator>(); if (!component) { Debug.Log("Could not find pod child locator."); return; } Transform transform = component.FindChild("BatteryAttachmentPoint"); if (!transform) { Debug.Log("Could not find battery attachment point."); return; } Transform transform2 = transform.Find("QuestVolatileBatteryWorldPickup(Clone)"); if (!transform2) { Debug.Log("Could not find battery transform"); return; } GenericPickupController component2 = transform2.GetComponent <GenericPickupController>(); if (component2) { component2.enabled = true; return; } Debug.Log("Could not find pickup controller."); }
// Token: 0x060007A7 RID: 1959 RVA: 0x00025DFC File Offset: 0x00023FFC public override void OnEnter() { base.OnEnter(); if (base.isAuthority) { this.currentPlacementInfo = this.GetPlacementInfo(); this.blueprints = UnityEngine.Object.Instantiate <GameObject>(Resources.Load <GameObject>("Prefabs/EngiTurretBlueprints"), this.currentPlacementInfo.position, this.currentPlacementInfo.rotation).GetComponent <BlueprintController>(); } base.PlayAnimation("Gesture", "PrepTurret"); this.entryCountdown = 0.1f; this.exitCountdown = 0.25f; this.exitPending = false; if (base.modelLocator) { ChildLocator component = base.modelLocator.modelTransform.GetComponent <ChildLocator>(); if (component) { Transform transform = component.FindChild("WristDisplay"); if (transform) { this.wristDisplayObject = UnityEngine.Object.Instantiate <GameObject>(PlaceTurret.wristDisplayPrefab, transform); } } } }
public override void OnEnter() { base.OnEnter(); this.duration = RevengeEnd.baseDuration / this.attackSpeedStat; this.shockwaveTime = 0.3f * this.duration; this.hasFired = false; this.modelAnimator = base.GetModelAnimator(); float healthPercentage = this.storedDamage / base.healthComponent.fullCombinedHealth; this.shockwaveRadius = Util.Remap(healthPercentage, 0f, 1f, RevengeEnd.minRadius, RevengeEnd.maxRadius); base.PlayAnimation("FullBody, Override", "RevengeEnd", "Revenge.playbackRate", this.duration); this.soundID = Util.PlayAttackSpeedSound(ChargeMegaNova.chargingSoundString, base.gameObject, this.attackSpeedStat); ChildLocator childLocator = base.GetModelChildLocator(); if (childLocator) { Transform pivot = childLocator.FindChild("Chest"); if (pivot && ChargeMegaNova.chargingEffectPrefab) { this.chargeEffectInstance = UnityEngine.Object.Instantiate <GameObject>(ChargeMegaNova.chargingEffectPrefab, pivot.position, pivot.rotation); this.chargeEffectInstance.transform.localScale = new Vector3(this.shockwaveRadius, this.shockwaveRadius, this.shockwaveRadius); this.chargeEffectInstance.transform.parent = pivot; this.chargeEffectInstance.GetComponent <ScaleParticleSystemDuration>().newDuration = 0.3f * this.duration; } } base.flashController.Flash(); }
private void GenericGameEvents_OnInteractionBegin(Interactor interactor, IInteractable interactable, GameObject interactableObject, bool canProc) { if (NetworkServer.active && canProc) { CharacterBody characterBody = interactor.GetComponent <CharacterBody>(); if (characterBody) { Inventory inventory = characterBody.inventory; if (inventory) { int itemCount = inventory.GetItemCount(MysticsItemsContent.Items.MysticsItems_HealOrbOnBarrel); if (itemCount > 0) { GameObject spawner = Object.Instantiate(delayedHealOrbSpawner, interactableObject.transform.position, interactableObject.transform.rotation); MysticsItemsHealOrbOnBarrelSpawner component = spawner.GetComponent <MysticsItemsHealOrbOnBarrelSpawner>(); spawner.transform.position = interactableObject.transform.position + Vector3.up * 2f; ChildLocator childLocator = interactableObject.GetComponent <ChildLocator>(); if (childLocator) { Transform fireworkOrigin = childLocator.FindChild("FireworkOrigin"); if (fireworkOrigin) { spawner.transform.position = fireworkOrigin.position; } } component.interactor = interactor; component.itemCount = itemCount; } } } } }
// Token: 0x060006F8 RID: 1784 RVA: 0x00021494 File Offset: 0x0001F694 public override void OnEnter() { base.OnEnter(); this.duration = Slam.baseDuration / this.attackSpeedStat; this.modelAnimator = base.GetModelAnimator(); Transform modelTransform = base.GetModelTransform(); this.attack = new OverlapAttack(); this.attack.attacker = base.gameObject; this.attack.inflictor = base.gameObject; this.attack.teamIndex = TeamComponent.GetObjectTeam(this.attack.attacker); this.attack.damage = Slam.impactDamageCoefficient * this.damageStat; this.attack.hitEffectPrefab = Slam.hitEffectPrefab; this.attack.isCrit = Util.CheckRoll(this.critStat, base.characterBody.master); if (modelTransform) { this.attack.hitBoxGroup = Array.Find <HitBoxGroup>(modelTransform.GetComponents <HitBoxGroup>(), (HitBoxGroup element) => element.groupName == "Hammer"); ChildLocator component = modelTransform.GetComponent <ChildLocator>(); if (component) { this.hammerChildTransform = component.FindChild("SwingCenter"); } } if (this.modelAnimator) { base.PlayAnimation("Gesture", "Slam", "Slam.playbackRate", this.duration); } if (base.characterBody) { base.characterBody.SetAimTimer(2f); } }
// Token: 0x06002F91 RID: 12177 RVA: 0x000CBAD8 File Offset: 0x000C9CD8 public override void OnEnter() { base.OnEnter(); Ray aimRay = base.GetAimRay(); base.StartAimMode(aimRay, 2f, false); Transform modelTransform = base.GetModelTransform(); this.duration = FireGlaive.baseDuration / this.attackSpeedStat; base.PlayAnimation("Gesture", "FireGlaive", "FireGlaive.playbackRate", this.duration); Vector3 position = aimRay.origin; Quaternion rotation = Util.QuaternionSafeLookRotation(aimRay.direction); if (modelTransform) { ChildLocator component = modelTransform.GetComponent <ChildLocator>(); if (component) { Transform transform = component.FindChild("RightHand"); if (transform) { position = transform.position; } } } if (base.isAuthority) { ProjectileManager.instance.FireProjectile(FireGlaive.projectilePrefab, position, rotation, base.gameObject, this.damageStat * FireGlaive.damageCoefficient, FireGlaive.force, Util.CheckRoll(this.critStat, base.characterBody.master), DamageColorIndex.Default, null, -1f); } }
internal static void SetupCharacterModel(GameObject prefab, CustomRendererInfo[] rendererInfo, int mainRendererIndex) { CharacterModel characterModel = prefab.GetComponent <ModelLocator>().modelTransform.gameObject.AddComponent <CharacterModel>(); ChildLocator childLocator = characterModel.GetComponent <ChildLocator>(); characterModel.body = prefab.GetComponent <CharacterBody>(); List <CharacterModel.RendererInfo> rendererInfos = new List <CharacterModel.RendererInfo>(); for (int i = 0; i < rendererInfo.Length; i++) { rendererInfos.Add(new CharacterModel.RendererInfo { renderer = childLocator.FindChild(rendererInfo[i].childName).GetComponent <Renderer>(), defaultMaterial = rendererInfo[i].material, ignoreOverlays = rendererInfo[i].ignoreOverlays, defaultShadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.On }); } characterModel.baseRendererInfos = rendererInfos.ToArray(); characterModel.autoPopulateLightInfos = true; characterModel.invisibilityCount = 0; characterModel.temporaryOverlays = new List <TemporaryOverlay>(); characterModel.mainSkinnedMeshRenderer = characterModel.baseRendererInfos[mainRendererIndex].renderer.GetComponent <SkinnedMeshRenderer>(); }
public override void OnEnter() { base.OnEnter(); this.duration = ChargeUltraFireball.baseDuration / this.attackSpeedStat; UnityEngine.Object modelAnimator = base.GetModelAnimator(); Transform modelTransform = base.GetModelTransform(); Util.PlayAttackSpeedSound(EntityStates.LemurianBruiserMonster.ChargeMegaFireball.attackString, base.gameObject, this.attackSpeedStat); if (modelTransform) { ChildLocator component = modelTransform.GetComponent <ChildLocator>(); if (component) { Transform transform = component.FindChild("MuzzleMouth"); if (transform && EntityStates.LemurianBruiserMonster.ChargeMegaFireball.chargeEffectPrefab) { this.chargeInstance = UnityEngine.Object.Instantiate <GameObject>(EntityStates.LemurianBruiserMonster.ChargeMegaFireball.chargeEffectPrefab, transform.position, transform.rotation); this.chargeInstance.transform.parent = transform; ScaleParticleSystemDuration component2 = this.chargeInstance.GetComponent <ScaleParticleSystemDuration>(); if (component2) { component2.newDuration = this.duration; } } } } if (modelAnimator) { base.PlayCrossfade("Gesture, Additive", "ChargeMegaFireball", "ChargeMegaFireball.playbackRate", this.duration, 0.1f); } }
public override void OnEnter() { chargeEffectPrefab = ChargeMegaFireball.chargeEffectPrefab; attackString = ChargeMegaFireball.attackString; base.OnEnter(); duration = baseDuration / attackSpeedStat; Animator modelAnimator = GetModelAnimator(); Transform modelTransform = GetModelTransform(); Util.PlayAttackSpeedSound(attackString, base.gameObject, attackSpeedStat); if ((bool)modelTransform) { ChildLocator component = modelTransform.GetComponent <ChildLocator>(); if ((bool)component) { Transform transform = component.FindChild("MuzzleMouth"); if ((bool)transform && (bool)chargeEffectPrefab) { chargeInstance = Object.Instantiate(chargeEffectPrefab, transform.position, transform.rotation); chargeInstance.transform.parent = transform; ScaleParticleSystemDuration component2 = chargeInstance.GetComponent <ScaleParticleSystemDuration>(); if ((bool)component2) { component2.newDuration = duration; } } } } if ((bool)modelAnimator) { PlayCrossfade("Gesture, Additive", "ChargeMegaFireball", "ChargeMegaFireball.playbackRate", duration, 0.1f); } }
// Token: 0x0600072B RID: 1835 RVA: 0x00022E9C File Offset: 0x0002109C public override void OnEnter() { base.OnEnter(); this.stopwatch = 0f; this.duration = RechargeRocks.baseDuration / this.attackSpeedStat; Transform modelTransform = base.GetModelTransform(); Util.PlaySound(RechargeRocks.attackSoundString, base.gameObject); base.PlayCrossfade("Body", "RechargeRocks", "RechargeRocks.playbackRate", this.duration, 0.2f); if (modelTransform) { ChildLocator component = modelTransform.GetComponent <ChildLocator>(); if (component) { Transform transform = component.FindChild("LeftFist"); if (transform && RechargeRocks.effectPrefab) { this.chargeEffect = UnityEngine.Object.Instantiate <GameObject>(RechargeRocks.effectPrefab, transform.position, transform.rotation); this.chargeEffect.transform.parent = transform; ScaleParticleSystemDuration component2 = this.chargeEffect.GetComponent <ScaleParticleSystemDuration>(); if (component2) { component2.newDuration = this.duration; } } } } if (NetworkServer.active) { GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(RechargeRocks.rockControllerPrefab); gameObject.GetComponent <TitanRockController>().SetOwner(base.gameObject); NetworkServer.Spawn(gameObject); } }
// Token: 0x06002CA3 RID: 11427 RVA: 0x000BC598 File Offset: 0x000BA798 public override void OnEnter() { base.OnEnter(); this.duration = ChargeEyeblast.baseDuration / this.attackSpeedStat; UnityEngine.Object modelAnimator = base.GetModelAnimator(); Transform modelTransform = base.GetModelTransform(); Util.PlayScaledSound(ChargeEyeblast.attackString, base.gameObject, this.attackSpeedStat); if (modelTransform) { ChildLocator component = modelTransform.GetComponent <ChildLocator>(); if (component) { Transform transform = component.FindChild(ChargeEyeblast.muzzleString); if (transform && ChargeEyeblast.chargeEffectPrefab) { this.chargeInstance = UnityEngine.Object.Instantiate <GameObject>(ChargeEyeblast.chargeEffectPrefab, transform.position, transform.rotation); this.chargeInstance.transform.parent = transform; ScaleParticleSystemDuration component2 = this.chargeInstance.GetComponent <ScaleParticleSystemDuration>(); if (component2) { component2.newDuration = this.duration; } } } } if (modelAnimator) { base.PlayCrossfade("Gesture, Additive", "ChargeEyeBlast", "ChargeEyeBlast.playbackRate", this.duration, 0.1f); } }
// Token: 0x060014B9 RID: 5305 RVA: 0x00058768 File Offset: 0x00056968 private void Update() { if (this.animateShaderAlpha) { this.stopwatch += Time.deltaTime; float value = this.alphaCurve.Evaluate(this.stopwatch / this.duration); this.materialInstance.SetFloat("_ExternalAlpha", value); if (this.stopwatch >= this.duration && (this.destroyComponentOnEnd || this.destroyObjectOnEnd)) { if (this.destroyEffectPrefab) { ChildLocator component = base.GetComponent <ChildLocator>(); if (component) { Transform transform = component.FindChild(this.destroyEffectChildString); if (transform) { EffectManager.SpawnEffect(this.destroyEffectPrefab, new EffectData { origin = transform.position, rotation = transform.rotation }, true); } } } if (this.destroyObjectOnEnd) { UnityEngine.Object.Destroy(base.gameObject); return; } UnityEngine.Object.Destroy(this); } } }
// Token: 0x06000490 RID: 1168 RVA: 0x000130D4 File Offset: 0x000112D4 public override void OnEnter() { base.OnEnter(); base.PlayAnimation("Base", "InitialSpawn"); Transform modelTransform = base.GetModelTransform(); if (modelTransform) { ChildLocator component = modelTransform.GetComponent <ChildLocator>(); if (component) { Transform transform = component.FindChild("Travel"); if (transform) { this.shakeEmitter = transform.gameObject.AddComponent <ShakeEmitter>(); this.shakeEmitter.wave = new Wave { amplitude = 1f, frequency = 180f, cycleOffset = 0f }; this.shakeEmitter.duration = 10000f; this.shakeEmitter.radius = 400f; this.shakeEmitter.amplitudeTimeDecay = false; } } } }
// Token: 0x0600329B RID: 12955 RVA: 0x000DAE44 File Offset: 0x000D9044 private void FireSingleTarball(string targetMuzzle) { base.PlayCrossfade("Body", "FireTarBall", 0.1f); Util.PlaySound(FireTarball.attackSoundString, base.gameObject); this.aimRay = base.GetAimRay(); if (this.modelTransform) { ChildLocator component = this.modelTransform.GetComponent <ChildLocator>(); if (component) { Transform transform = component.FindChild(targetMuzzle); if (transform) { this.aimRay.origin = transform.position; } } } base.AddRecoil(-1f * FireTarball.recoilAmplitude, -2f * FireTarball.recoilAmplitude, -1f * FireTarball.recoilAmplitude, 1f * FireTarball.recoilAmplitude); if (FireTarball.effectPrefab) { EffectManager.SimpleMuzzleFlash(FireTarball.effectPrefab, base.gameObject, targetMuzzle, false); } if (base.isAuthority) { Vector3 forward = Vector3.ProjectOnPlane(this.aimRay.direction, Vector3.up); ProjectileManager.instance.FireProjectile(FireTarball.projectilePrefab, this.aimRay.origin, Util.QuaternionSafeLookRotation(forward), base.gameObject, this.damageStat * FireTarball.damageCoefficient, 0f, Util.CheckRoll(this.critStat, base.characterBody.master), DamageColorIndex.Default, null, -1f); } base.characterBody.AddSpreadBloom(FireTarball.spreadBloomValue); }
// Token: 0x06000437 RID: 1079 RVA: 0x00011674 File Offset: 0x0000F874 public override void OnEnter() { base.OnEnter(); Ray aimRay = base.GetAimRay(); string text = "MuzzleRight"; this.duration = FireRHCannon.baseDuration / this.attackSpeedStat; this.durationBetweenShots = FireRHCannon.baseDurationBetweenShots / this.attackSpeedStat; if (FireRHCannon.effectPrefab) { EffectManager.instance.SimpleMuzzleFlash(FireRHCannon.effectPrefab, base.gameObject, text, false); } base.PlayAnimation("Gesture", "FireRHCannon", "FireRHCannon.playbackRate", this.duration); if (base.isAuthority && base.modelLocator && base.modelLocator.modelTransform) { ChildLocator component = base.modelLocator.modelTransform.GetComponent <ChildLocator>(); if (component) { Transform transform = component.FindChild(text); if (transform) { Vector3 forward = aimRay.direction; RaycastHit raycastHit; if (Physics.Raycast(aimRay, out raycastHit, (float)LayerIndex.world.mask)) { forward = raycastHit.point - transform.position; } ProjectileManager.instance.FireProjectile(FireRHCannon.projectilePrefab, transform.position, Util.QuaternionSafeLookRotation(forward), base.gameObject, this.damageStat * FireRHCannon.damageCoefficient, FireRHCannon.force, Util.CheckRoll(this.critStat, base.characterBody.master), DamageColorIndex.Default, null, -1f); } } } }
public override void OnEnter() { if (this.goodState == null) { this.goodState = new FireCannons(); } this.effectPrefab = this.goodState.effectPrefab; base.OnEnter(); Ray aimRay = base.GetAimRay(); this.duration = FireWispCannon.baseDuration / this.attackSpeedStat; base.PlayAnimation("Body", "FireAttack1", "FireAttack1.playbackRate", this.duration); //EffectManager.SimpleMuzzleFlash(this.effectPrefab, base.gameObject, "Muzzle", false); if (base.isAuthority && base.modelLocator && base.modelLocator.modelTransform) { ChildLocator childLocator = base.modelLocator.modelTransform.GetComponent <ChildLocator>(); if (childLocator) { Transform muzzleTransform = childLocator.FindChild("Muzzle"); if (muzzleTransform) { ProjectileManager.instance.FireProjectile(Resources.Load <GameObject>("Prefabs/Projectiles/WispCannon"), transform.position, Util.QuaternionSafeLookRotation(aimRay.direction), base.gameObject, this.damageStat * FireWispCannon.damageCoefficient, 80f, Util.CheckRoll(this.critStat, base.characterBody.master), DamageColorIndex.Default, null, -1f); } } } }
// Token: 0x06000606 RID: 1542 RVA: 0x0001BC5C File Offset: 0x00019E5C protected void SetReady(bool ready) { Transform modelTransform = base.GetModelTransform(); if (modelTransform) { PrintController component = modelTransform.GetComponent <PrintController>(); component.paused = !ready; if (!ready) { component.age = 0f; } ChildLocator component2 = modelTransform.GetComponent <ChildLocator>(); if (component2) { component2.FindChild("Purchased").gameObject.SetActive(ready); } } PurchaseInteraction component3 = base.GetComponent <PurchaseInteraction>(); if (component3) { component3.SetAvailable(!ready); } HologramProjector component4 = base.GetComponent <HologramProjector>(); if (component4) { component4.hologramPivot.gameObject.SetActive(!ready); } }
// Token: 0x0600305A RID: 12378 RVA: 0x000D031C File Offset: 0x000CE51C public override void FixedUpdate() { base.FixedUpdate(); if (this.modelAnimator && this.modelAnimator.GetFloat("Clap.hitBoxActive") > 0.5f && !this.hasAttacked) { if (base.isAuthority && this.modelTransform) { ChildLocator component = this.modelTransform.GetComponent <ChildLocator>(); if (component) { Transform transform = component.FindChild("ClapZone"); if (transform) { this.attack = new BlastAttack(); this.attack.attacker = base.gameObject; this.attack.inflictor = base.gameObject; this.attack.teamIndex = TeamComponent.GetObjectTeam(base.gameObject); this.attack.baseDamage = this.damageStat * ClapState.damageCoefficient; this.attack.baseForce = ClapState.forceMagnitude; this.attack.position = transform.position; this.attack.radius = ClapState.radius; this.attack.Fire(); } } } this.hasAttacked = true; EntityState.Destroy(this.leftHandChargeEffect); EntityState.Destroy(this.rightHandChargeEffect); } if (base.fixedAge >= ClapState.duration && base.isAuthority) { this.outer.SetNextStateToMain(); return; } }
// Token: 0x060032B7 RID: 12983 RVA: 0x000DB824 File Offset: 0x000D9A24 public override void OnEnter() { base.OnEnter(); this.totalDuration = ChargeBombardment.baseTotalDuration / this.attackSpeedStat; this.maxChargeTime = ChargeBombardment.baseMaxChargeTime / this.attackSpeedStat; Transform modelTransform = base.GetModelTransform(); base.PlayAnimation("Gesture, Additive", "ChargeBombardment"); Util.PlaySound(ChargeBombardment.chargeLoopStartSoundString, base.gameObject); if (modelTransform) { ChildLocator component = modelTransform.GetComponent <ChildLocator>(); if (component) { Transform transform = component.FindChild("Muzzle"); if (transform && ChargeBombardment.chargeEffectPrefab) { this.chargeInstance = UnityEngine.Object.Instantiate <GameObject>(ChargeBombardment.chargeEffectPrefab, transform.position, transform.rotation); this.chargeInstance.transform.parent = transform; ScaleParticleSystemDuration component2 = this.chargeInstance.GetComponent <ScaleParticleSystemDuration>(); if (component2) { component2.newDuration = this.totalDuration; } } } } if (base.characterBody) { base.characterBody.SetAimTimer(this.totalDuration); } }
public override void OnEnter() { base.OnEnter(); this.duration = this.baseDuration / this.attackSpeedStat; base.PlayAnimation("Gesture, Override", "CastSpell", "Spell.playbackRate", this.duration); if (this.muzzleflashEffectPrefab) { EffectManager.SimpleMuzzleFlash(this.muzzleflashEffectPrefab, base.gameObject, "SpellCastEffect", false); } if (NetworkServer.active) { base.characterBody.AddBuff(BuffIndex.Slow50); } if (base.cameraTargetParams) { base.cameraTargetParams.aimMode = CameraTargetParams.AimType.Aura; } ChildLocator childLocator = base.GetModelChildLocator(); if (childLocator) { GameObject castEffect = childLocator.FindChild("SpellCastEffect").gameObject; castEffect.SetActive(false); castEffect.SetActive(true); } Util.PlaySound(this.castSoundString, base.gameObject); this.Fire(); }
public override void OnEnter() { chargeEffectPrefab = ChargeEyeblast.chargeEffectPrefab; attackString = ChargeEyeblast.attackString; muzzleString = "Muzzle"; base.OnEnter(); duration = baseDuration / attackSpeedStat; Transform modelTransform = GetModelTransform(); Util.PlayAttackSpeedSound(attackString, base.gameObject, attackSpeedStat); if ((bool)modelTransform) { ChildLocator component = modelTransform.GetComponent <ChildLocator>(); if ((bool)component) { Transform transform = component.FindChild(muzzleString); if ((bool)transform && (bool)chargeEffectPrefab) { chargeInstance = Object.Instantiate(chargeEffectPrefab, transform.position, transform.rotation); chargeInstance.transform.parent = transform; ScaleParticleSystemDuration component2 = chargeInstance.GetComponent <ScaleParticleSystemDuration>(); if ((bool)component2) { component2.newDuration = duration; } } } } }
public void Start() { inputBank = GetComponent <InputBankTest>(); baseAI = inputBank.characterBody.master.GetComponent <BaseAI>(); forceOn = !baseAI; Transform modelTransform = inputBank.characterBody.modelLocator.modelTransform; if (modelTransform) { ChildLocator component = modelTransform.GetComponent <ChildLocator>(); if (component) { Transform transform = component.FindChild("Muzzle"); if (transform) { if (laserPrefab) { laserEffect = UnityEngine.Object.Instantiate <GameObject>(laserPrefab, transform.position, transform.rotation); laserEffect.transform.parent = transform; laserLineComponent = laserEffect.GetComponent <LineRenderer>(); } } } } }
// Token: 0x06002F03 RID: 12035 RVA: 0x000C872C File Offset: 0x000C692C public override void OnEnter() { base.OnEnter(); this.animator = base.GetModelAnimator(); if (base.characterMotor) { base.characterMotor.enabled = false; } if (base.modelLocator) { Transform modelTransform = base.modelLocator.modelTransform; ChildLocator component = modelTransform.GetComponent <ChildLocator>(); CharacterModel component2 = modelTransform.GetComponent <CharacterModel>(); if (component) { component.FindChild("DustCenter").gameObject.SetActive(false); if (DeathState.initialEffect) { EffectManager.SimpleMuzzleFlash(DeathState.initialEffect, base.gameObject, "DeathCenter", false); } } if (component2) { for (int i = 0; i < component2.baseRendererInfos.Length; i++) { component2.baseRendererInfos[i].ignoreOverlays = true; } } } base.PlayAnimation("Fullbody Override", "Death"); }
// Token: 0x06002AC7 RID: 10951 RVA: 0x000B4260 File Offset: 0x000B2460 public override void OnEnter() { base.OnEnter(); this.duration = ChargeRHCannon.baseDuration / this.attackSpeedStat; Transform modelTransform = base.GetModelTransform(); base.PlayAnimation("Gesture", "ChargeRHCannon", "ChargeRHCannon.playbackRate", this.duration); if (modelTransform) { ChildLocator component = modelTransform.GetComponent <ChildLocator>(); if (component && ChargeRHCannon.effectPrefab) { Transform transform = component.FindChild("MuzzleRight"); if (transform) { this.chargeEffectRight = UnityEngine.Object.Instantiate <GameObject>(ChargeRHCannon.effectPrefab, transform.position, transform.rotation); this.chargeEffectRight.transform.parent = transform; } } } if (base.characterBody) { base.characterBody.SetAimTimer(this.duration); } }
// Token: 0x060004C1 RID: 1217 RVA: 0x00013E24 File Offset: 0x00012024 private void FireBullet(string targetMuzzle) { this.aimRay = base.GetAimRay(); if (this.modelTransform) { ChildLocator component = this.modelTransform.GetComponent <ChildLocator>(); if (component) { Transform transform = component.FindChild(targetMuzzle); if (transform) { base.rigidbody.AddForceAtPosition(transform.forward * FireCannon.selfForce, transform.position, ForceMode.Impulse); } } } if (FireCannon.effectPrefab) { EffectManager.instance.SimpleMuzzleFlash(FireCannon.effectPrefab, base.gameObject, targetMuzzle, false); } if (base.isAuthority) { float x = UnityEngine.Random.Range(FireCannon.minSpread, FireCannon.maxSpread); float z = UnityEngine.Random.Range(0f, 360f); Vector3 up = Vector3.up; Vector3 axis = Vector3.Cross(up, this.aimRay.direction); Vector3 vector = Quaternion.Euler(0f, 0f, z) * (Quaternion.Euler(x, 0f, 0f) * Vector3.forward); float y = vector.y; vector.y = 0f; float angle = Mathf.Atan2(vector.z, vector.x) * 57.29578f - 90f; float angle2 = Mathf.Atan2(y, vector.magnitude) * 57.29578f + FireCannon.arcAngle; Vector3 forward = Quaternion.AngleAxis(angle, up) * (Quaternion.AngleAxis(angle2, axis) * this.aimRay.direction); ProjectileManager.instance.FireProjectile(FireCannon.projectilePrefab, this.aimRay.origin, Util.QuaternionSafeLookRotation(forward), base.gameObject, this.damageStat * FireCannon.damageCoefficient, 0f, Util.CheckRoll(this.critStat, base.characterBody.master), DamageColorIndex.Default, null, -1f); } }
// Token: 0x06000562 RID: 1378 RVA: 0x00015E18 File Offset: 0x00014018 public static void SimpleMuzzleFlash(GameObject effectPrefab, GameObject obj, string muzzleName, bool transmit) { if (!obj) { return; } ModelLocator component = obj.GetComponent <ModelLocator>(); if (component && component.modelTransform) { ChildLocator component2 = component.modelTransform.GetComponent <ChildLocator>(); if (component2) { int childIndex = component2.FindChildIndex(muzzleName); Transform transform = component2.FindChild(childIndex); if (transform) { EffectData effectData = new EffectData { origin = transform.position }; effectData.SetChildLocatorTransformReference(obj, childIndex); EffectManager.SpawnEffect(effectPrefab, effectData, transmit); } } } }
// Token: 0x06002AE6 RID: 10982 RVA: 0x000B48DC File Offset: 0x000B2ADC public override void OnEnter() { base.OnEnter(); this.duration = Throw.baseDuration / this.attackSpeedStat; this.modelAnimator = base.GetModelAnimator(); Transform modelTransform = base.GetModelTransform(); if (modelTransform) { ChildLocator component = modelTransform.GetComponent <ChildLocator>(); if (component) { this.rightMuzzleTransform = component.FindChild("MuzzleRight"); } } if (this.modelAnimator) { int layerIndex = this.modelAnimator.GetLayerIndex("Gesture"); if (this.modelAnimator.GetCurrentAnimatorStateInfo(layerIndex).IsName("Throw1")) { base.PlayCrossfade("Gesture", "Throw2", "Throw.playbackRate", this.duration / (1f - Throw.returnToIdlePercentage), 0.2f); } else { base.PlayCrossfade("Gesture", "Throw1", "Throw.playbackRate", this.duration / (1f - Throw.returnToIdlePercentage), 0.2f); } } if (base.characterBody) { base.characterBody.SetAimTimer(2f); } }
public override void OnEnter() { //this.baseDuration = base.baseDuration; this.crosshairOverridePrefab = LegacyResourcesAPI.Load <GameObject>("Prefabs/Crosshair/ToolbotGrenadeLauncherCrosshair"); this.maxBloomRadius = .1f; this.minBloomRadius = 1f; this.originalScale = this.chargeEffectPrefab.transform.localScale; base.OnEnter(); ChildLocator childLocator = base.GetModelChildLocator(); //if (VRAPI.Utils.IsUsingMotionControls(this.characterBody) == true) //{ // Transform temp = MotionControls.dominantHand.transform.Find("Muzzle"); // chargeEffect = temp.GetChild(0).gameObject; //} if (childLocator) { chargeEffect = childLocator.FindChild("chargeEffect").gameObject; chargeEffect.SetActive(false);//temp } }
// Token: 0x0600090D RID: 2317 RVA: 0x0002D7FC File Offset: 0x0002B9FC public override void OnEnter() { base.OnEnter(); this.duration = ChargeSpit.baseDuration / this.attackSpeedStat; Transform modelTransform = base.GetModelTransform(); base.PlayCrossfade("Gesture", "ChargeSpit", "ChargeSpit.playbackRate", this.duration, 0.2f); Util.PlaySound(ChargeSpit.attackSoundString, base.gameObject); if (modelTransform) { ChildLocator component = modelTransform.GetComponent <ChildLocator>(); if (component && ChargeSpit.effectPrefab) { Transform transform = component.FindChild("Mouth"); if (transform) { this.chargeEffect = UnityEngine.Object.Instantiate <GameObject>(ChargeSpit.effectPrefab, transform.position, transform.rotation); this.chargeEffect.transform.parent = transform; ScaleParticleSystemDuration component2 = this.chargeEffect.GetComponent <ScaleParticleSystemDuration>(); if (component2) { component2.newDuration = this.duration; } } } } }
private static void CreatePaladin() { paladinPrefab = CreatePrefab("RobPaladinBody", "mdlPaladin", new BodyInfo { armor = 10f, armorGrowth = StaticValues.armorPerLevel, bodyName = "RobPaladinBody", bodyNameToken = "PALADIN_NAME", characterPortrait = Assets.charPortrait, crosshair = Resources.Load <GameObject>("Prefabs/Crosshair/SimpleDotCrosshair"), damage = StaticValues.baseDamage, healthGrowth = 64, healthRegen = 1.5f, jumpCount = 1, maxHealth = 160f, subtitleNameToken = "PALADIN_SUBTITLE" }); SetupCharacterModel(paladinPrefab, new CustomRendererInfo[] { new CustomRendererInfo { childName = "SwordModel", material = Modules.Skins.CreateMaterial("matPaladin", StaticValues.maxSwordGlow, Color.white) }, new CustomRendererInfo { childName = "Model", material = Modules.Skins.CreateMaterial("matPaladin", 10, Color.white) } }, 1); paladinPrefab.AddComponent <Misc.PaladinSwordController>(); paladinDisplayPrefab = CreateDisplayPrefab("PaladinDisplay", paladinPrefab); paladinDisplayPrefab.AddComponent <Misc.MenuSound>(); // create hitboxes GameObject model = paladinPrefab.GetComponent <ModelLocator>().modelTransform.gameObject; ChildLocator childLocator = model.GetComponent <ChildLocator>(); Modules.Helpers.CreateHitbox(model, childLocator.FindChild("SwordHitbox"), "Sword"); Modules.Helpers.CreateHitbox(model, childLocator.FindChild("LeapHitbox"), "LeapStrike"); Modules.Helpers.CreateHitbox(model, childLocator.FindChild("SpinSlashHitbox"), "SpinSlash"); Modules.Helpers.CreateHitbox(model, childLocator.FindChild("SpinSlashLargeHitbox"), "SpinSlashLarge"); }