// Token: 0x06007CE5 RID: 31973 RVA: 0x00316054 File Offset: 0x00314254 public void Interact(PlayerController interactor) { PrismaticGuonStone.cooldownBehavior cooldownBehavior = interactor.GetComponent <PrismaticGuonStone.cooldownBehavior>(); Projectile projectile = (PickupObjectDatabase.GetById(508) as Gun).DefaultModule.projectiles[0]; if (projectile.GetComponentInChildren <tk2dTiledSprite>() != null) { projectile.GetComponentInChildren <tk2dTiledSprite>().usesOverrideMaterial = true; if (interactor.PlayerHasActiveSynergy("Prismatismer Guon Stone")) { projectile.GetComponentInChildren <tk2dTiledSprite>().renderer.material.shader = ShaderCache.Acquire("Brave/Internal/RainbowChestShader"); ETGModConsole.Log(projectile.GetComponentInChildren <tk2dTiledSprite>().renderer.material.HasProperty("_EmissivePower").ToString()); projectile.GetComponentInChildren <tk2dTiledSprite>().renderer.material.SetFloat("_HueTestValue", 0); } else { tk2dTiledSprite baseSprite = projectile.GetComponentInChildren <tk2dTiledSprite>(); baseSprite.OverrideMaterialMode = tk2dBaseSprite.SpriteMaterialOverrideMode.OVERRIDE_MATERIAL_SIMPLE; Material material = baseSprite.renderer.material; float value = 0f; float value2 = 0f; value = material.GetFloat("_EmissivePower"); value2 = material.GetFloat("_EmissiveColorPower"); Shader shader; shader = ShaderCache.Acquire("Brave/LitTk2dCustomFalloffTintableTiltedCutoutEmissive"); if (baseSprite.renderer.material.shader != shader) { baseSprite.renderer.material.shader = shader; baseSprite.renderer.material.EnableKeyword("BRIGHTNESS_CLAMP_ON"); baseSprite.renderer.material.SetFloat("_EmissivePower", value); baseSprite.renderer.material.SetFloat("_EmissiveColorPower", value2); } baseSprite.renderer.sharedMaterial.SetColor("_OverrideColor", this.outColors[colorCount % 6]); colorCount++; } } float angle = base.transform.rotation.eulerAngles.z; GameObject obj1 = SpawnManager.SpawnProjectile(projectile.gameObject, base.specRigidbody.transform.localPosition.XY(), Quaternion.Euler(0f, 0f, (interactor.CurrentGun == null) ? 0f : angle), true); Projectile proj1 = obj1.GetComponent <Projectile>(); proj1.Owner = interactor; proj1.Shooter = interactor.specRigidbody; if (interactor.PlayerHasActiveSynergy("Prismatismer Guon Stone")) { proj1.baseData.damage = 75f; } else { proj1.baseData.damage = 50f; } cooldownBehavior.parentItem.beamCooldown = 0f; }
// Token: 0x06007CE7 RID: 31975 RVA: 0x0002A087 File Offset: 0x00028287 public float GetOverrideMaxDistance() { PlayerController player = GameManager.Instance.PrimaryPlayer; PrismaticGuonStone.cooldownBehavior cooldownBehavior = player.GetComponent <PrismaticGuonStone.cooldownBehavior>(); if (cooldownBehavior.parentItem.beamCooldown > (player.PlayerHasActiveSynergy("Prismatismer Guon Stone") ? 1f : 2f) && player.IsInCombat) { return(2f); } else { return(0.1f); } }