diff --git a/code/entity/Mote.cs b/code/entity/Mote.cs index 02cdb2f..7e31fea 100644 --- a/code/entity/Mote.cs +++ b/code/entity/Mote.cs @@ -14,6 +14,8 @@ class Mote : ModelEntity { [BindComponent] public SelfDestruct SelfDestruct { get; } + private Particles MoteBeam; + public override void Spawn() { Model = Cloud.Model( "destiny.gambit_mote" ); @@ -36,7 +38,13 @@ public override void Spawn() moteGlow.Parent = this; moteGlow.Brightness = 0.1f; moteGlow.Range = 128f; - moteGlow.Color = GameConfig.RainbowMotes ? new ColorHsv(Random.Shared.NextSingle() * 360, 1, 1).ToColor() : Color.White; + var col = GameConfig.RainbowMotes ? new ColorHsv( Random.Shared.NextSingle() * 360, 1, 1 ).ToColor() : Color.White; + moteGlow.Color = col; + + // cant parent to self because the beam should face up not sideways + MoteBeam = Particles.Create( "particles/mote_beam.vpcf" ); + Vector3 rgb = new( col.r, col.g, col.b ); + MoteBeam.Set( "BeamColor", rgb ); } [Sandbox.GameEvent.PreRender] @@ -51,5 +59,23 @@ public void BeforeRender() EnableDrawing = true; } } + + // have to override delete because self destruct doesnt catch the beam + public new virtual void Delete() + { + MoteBeam.Destroy(); + base.Delete(); + } + + [GameEvent.Tick.Server] + private void UpdateBeam() + { + if ( SelfDestruct.Lifetime.Relative <= 5 ) { + MoteBeam.EnableDrawing = (SelfDestruct.Lifetime.Relative % 0.25) > 0.125; + } + var beamPos = Position + new Vector3( 0, 0, 30 ); + MoteBeam.SetPosition( 0, beamPos ); + MoteBeam.SetOrientation( 0, new Angles( 90, 0, 0 ) ); + } } } diff --git a/particles/mote_beam.vpcf b/particles/mote_beam.vpcf new file mode 100644 index 0000000..03979fa --- /dev/null +++ b/particles/mote_beam.vpcf @@ -0,0 +1,628 @@ + +{ + _class = "CParticleSystemDefinition" + m_nBehaviorVersion = 10 + m_flConstantLifespan = 0.5 + m_nMaxParticles = 24 + m_controlPointConfigurations = + [ + { + m_name = "preview" + }, + ] + m_PreEmissionOperators = + [ + { + _class = "C_OP_SetSingleControlPointPosition" + m_vecCP1Pos = [ 32.0, 0.0, 0.0 ] + }, + ] + m_Emitters = + [ + { + _class = "C_OP_InstantaneousEmitter" + m_nParticlesToEmit = + { + m_nType = "PF_TYPE_LITERAL" + m_nMapType = "PF_MAP_TYPE_DIRECT" + m_NamedValue = "" + m_flLiteralValue = 16.0 + m_nControlPoint = 0 + m_nScalarAttribute = 3 + m_nVectorAttribute = 6 + m_nVectorComponent = 0 + m_flRandomMin = 0.0 + m_flRandomMax = 1.0 + m_nRandomMode = "PF_RANDOM_MODE_CONSTANT" + m_flLOD0 = 0.0 + m_flLOD1 = 0.0 + m_flLOD2 = 0.0 + m_flLOD3 = 0.0 + m_flNoiseOutputMin = 0.0 + m_flNoiseOutputMax = 1.0 + m_flNoiseScale = 0.1 + m_vecNoiseOffsetRate = [ 0.0, 0.0, 0.0 ] + m_flNoiseOffset = 0.0 + m_nNoiseOctaves = 1 + m_nNoiseTurbulence = "PF_NOISE_TURB_NONE" + m_nNoiseType = "PF_NOISE_TYPE_PERLIN" + m_nNoiseModifier = "PF_NOISE_MODIFIER_NONE" + m_flNoiseTurbulenceScale = 1.25 + m_flNoiseTurbulenceMix = 0.5 + m_flNoiseImgPreviewScale = 1.0 + m_bNoiseImgPreviewLive = true + m_nInputMode = "PF_INPUT_MODE_CLAMPED" + m_flMultFactor = 1.0 + m_flInput0 = 0.0 + m_flInput1 = 1.0 + m_flOutput0 = 0.0 + m_flOutput1 = 1.0 + m_nBiasType = "PF_BIAS_TYPE_STANDARD" + m_flBiasParameter = 0.0 + m_Curve = + { + m_spline = [ ] + m_tangents = [ ] + m_vDomainMins = [ 0.0, 0.0 ] + m_vDomainMaxs = [ 0.0, 0.0 ] + } + } + }, + ] + m_Initializers = + [ + { + _class = "C_INIT_CreateSequentialPathV2" + m_flNumToAssign = 16.0 + m_PathParams = + { + m_nEndControlPointNumber = 1 + } + }, + { + _class = "C_INIT_DistanceToCPInit" + m_flInputMax = 76.0 + m_flOutputMin = 0.25 + m_flOutputMax = 64.0 + }, + { + _class = "C_INIT_DistanceToCPInit" + m_nFieldOutput = "18" + m_flInputMax = 32.0 + m_flOutputMin = 1.0 + m_flOutputMax = 0.0 + }, + { + _class = "C_INIT_InitVec" + m_InputValue = + { + m_nType = "PVEC_TYPE_NAMED_VALUE" + m_vLiteralValue = [ 1.0, 0.0, 1.0 ] + m_NamedValue = "BeamColor" + m_LiteralColor = [ 255, 3, 3, 255 ] + m_nVectorAttribute = 6 + m_vVectorAttributeScale = [ 1.0, 1.0, 1.0 ] + m_nControlPoint = 0 + m_vCPValueScale = [ 1.0, 1.0, 1.0 ] + m_vCPRelativePosition = [ 0.0, 0.0, 0.0 ] + m_vCPRelativeDir = [ 1.0, 0.0, 0.0 ] + m_FloatComponentX = + { + m_nType = "PF_TYPE_LITERAL" + m_nMapType = "PF_MAP_TYPE_DIRECT" + m_NamedValue = "" + m_flLiteralValue = 1.0 + m_nControlPoint = 0 + m_nScalarAttribute = 3 + m_nVectorAttribute = 6 + m_nVectorComponent = 0 + m_flRandomMin = 0.0 + m_flRandomMax = 1.0 + m_nRandomMode = "PF_RANDOM_MODE_CONSTANT" + m_flLOD0 = 0.0 + m_flLOD1 = 0.0 + m_flLOD2 = 0.0 + m_flLOD3 = 0.0 + m_flNoiseOutputMin = 0.0 + m_flNoiseOutputMax = 1.0 + m_flNoiseScale = 0.1 + m_vecNoiseOffsetRate = [ 0.0, 0.0, 0.0 ] + m_flNoiseOffset = 0.0 + m_nNoiseOctaves = 1 + m_nNoiseTurbulence = "PF_NOISE_TURB_NONE" + m_nNoiseType = "PF_NOISE_TYPE_PERLIN" + m_nNoiseModifier = "PF_NOISE_MODIFIER_NONE" + m_flNoiseTurbulenceScale = 1.25 + m_flNoiseTurbulenceMix = 0.5 + m_flNoiseImgPreviewScale = 1.0 + m_bNoiseImgPreviewLive = true + m_nInputMode = "PF_INPUT_MODE_CLAMPED" + m_flMultFactor = 1.0 + m_flInput0 = 0.0 + m_flInput1 = 1.0 + m_flOutput0 = 0.0 + m_flOutput1 = 1.0 + m_nBiasType = "PF_BIAS_TYPE_STANDARD" + m_flBiasParameter = 0.0 + m_Curve = + { + m_spline = [ ] + m_tangents = [ ] + m_vDomainMins = [ 0.0, 0.0 ] + m_vDomainMaxs = [ 0.0, 0.0 ] + } + } + m_FloatComponentY = + { + m_nType = "PF_TYPE_LITERAL" + m_nMapType = "PF_MAP_TYPE_DIRECT" + m_NamedValue = "" + m_flLiteralValue = 1.0 + m_nControlPoint = 0 + m_nScalarAttribute = 3 + m_nVectorAttribute = 6 + m_nVectorComponent = 0 + m_flRandomMin = 0.0 + m_flRandomMax = 1.0 + m_nRandomMode = "PF_RANDOM_MODE_CONSTANT" + m_flLOD0 = 0.0 + m_flLOD1 = 0.0 + m_flLOD2 = 0.0 + m_flLOD3 = 0.0 + m_flNoiseOutputMin = 0.0 + m_flNoiseOutputMax = 1.0 + m_flNoiseScale = 0.1 + m_vecNoiseOffsetRate = [ 0.0, 0.0, 0.0 ] + m_flNoiseOffset = 0.0 + m_nNoiseOctaves = 1 + m_nNoiseTurbulence = "PF_NOISE_TURB_NONE" + m_nNoiseType = "PF_NOISE_TYPE_PERLIN" + m_nNoiseModifier = "PF_NOISE_MODIFIER_NONE" + m_flNoiseTurbulenceScale = 1.25 + m_flNoiseTurbulenceMix = 0.5 + m_flNoiseImgPreviewScale = 1.0 + m_bNoiseImgPreviewLive = true + m_nInputMode = "PF_INPUT_MODE_CLAMPED" + m_flMultFactor = 1.0 + m_flInput0 = 0.0 + m_flInput1 = 1.0 + m_flOutput0 = 0.0 + m_flOutput1 = 1.0 + m_nBiasType = "PF_BIAS_TYPE_STANDARD" + m_flBiasParameter = 0.0 + m_Curve = + { + m_spline = [ ] + m_tangents = [ ] + m_vDomainMins = [ 0.0, 0.0 ] + m_vDomainMaxs = [ 0.0, 0.0 ] + } + } + m_FloatComponentZ = + { + m_nType = "PF_TYPE_LITERAL" + m_nMapType = "PF_MAP_TYPE_DIRECT" + m_NamedValue = "" + m_flLiteralValue = 0.0 + m_nControlPoint = 0 + m_nScalarAttribute = 3 + m_nVectorAttribute = 6 + m_nVectorComponent = 0 + m_flRandomMin = 0.0 + m_flRandomMax = 1.0 + m_nRandomMode = "PF_RANDOM_MODE_CONSTANT" + m_flLOD0 = 0.0 + m_flLOD1 = 0.0 + m_flLOD2 = 0.0 + m_flLOD3 = 0.0 + m_flNoiseOutputMin = 0.0 + m_flNoiseOutputMax = 1.0 + m_flNoiseScale = 0.1 + m_vecNoiseOffsetRate = [ 0.0, 0.0, 0.0 ] + m_flNoiseOffset = 0.0 + m_nNoiseOctaves = 1 + m_nNoiseTurbulence = "PF_NOISE_TURB_NONE" + m_nNoiseType = "PF_NOISE_TYPE_PERLIN" + m_nNoiseModifier = "PF_NOISE_MODIFIER_NONE" + m_flNoiseTurbulenceScale = 1.25 + m_flNoiseTurbulenceMix = 0.5 + m_flNoiseImgPreviewScale = 1.0 + m_bNoiseImgPreviewLive = true + m_nInputMode = "PF_INPUT_MODE_CLAMPED" + m_flMultFactor = 1.0 + m_flInput0 = 0.0 + m_flInput1 = 1.0 + m_flOutput0 = 0.0 + m_flOutput1 = 1.0 + m_nBiasType = "PF_BIAS_TYPE_STANDARD" + m_flBiasParameter = 0.0 + m_Curve = + { + m_spline = [ ] + m_tangents = [ ] + m_vDomainMins = [ 0.0, 0.0 ] + m_vDomainMaxs = [ 0.0, 0.0 ] + } + } + m_FloatInterp = + { + m_nType = "PF_TYPE_NAMED_VALUE" + m_nMapType = "PF_MAP_TYPE_DIRECT" + m_NamedValue = "BeamColor" + m_flLiteralValue = 0.0 + m_nControlPoint = 0 + m_nScalarAttribute = 3 + m_nVectorAttribute = 6 + m_nVectorComponent = 0 + m_flRandomMin = 0.0 + m_flRandomMax = 1.0 + m_nRandomMode = "PF_RANDOM_MODE_CONSTANT" + m_flLOD0 = 0.0 + m_flLOD1 = 0.0 + m_flLOD2 = 0.0 + m_flLOD3 = 0.0 + m_flNoiseOutputMin = 0.0 + m_flNoiseOutputMax = 1.0 + m_flNoiseScale = 0.1 + m_vecNoiseOffsetRate = [ 0.0, 0.0, 0.0 ] + m_flNoiseOffset = 0.0 + m_nNoiseOctaves = 1 + m_nNoiseTurbulence = "PF_NOISE_TURB_NONE" + m_nNoiseType = "PF_NOISE_TYPE_PERLIN" + m_nNoiseModifier = "PF_NOISE_MODIFIER_NONE" + m_flNoiseTurbulenceScale = 1.25 + m_flNoiseTurbulenceMix = 0.5 + m_flNoiseImgPreviewScale = 1.0 + m_bNoiseImgPreviewLive = true + m_nInputMode = "PF_INPUT_MODE_CLAMPED" + m_flMultFactor = 1.0 + m_flInput0 = 0.0 + m_flInput1 = 1.0 + m_flOutput0 = 0.0 + m_flOutput1 = 1.0 + m_nBiasType = "PF_BIAS_TYPE_STANDARD" + m_flBiasParameter = 0.0 + m_Curve = + { + m_spline = [ ] + m_tangents = [ ] + m_vDomainMins = [ 0.0, 0.0 ] + m_vDomainMaxs = [ 0.0, 0.0 ] + } + } + m_flInterpInput0 = 0.0 + m_flInterpInput1 = 1.0 + m_vInterpOutput0 = [ 0.0, 0.0, 0.0 ] + m_vInterpOutput1 = [ 1.0, 1.0, 1.0 ] + m_Gradient = + { + m_Stops = + [ + { + m_flPosition = 1.0 + m_Color = [ 255, 0, 0, 255 ] + }, + ] + } + } + }, + ] + m_Operators = + [ + { + _class = "C_OP_SetToCP" + }, + { + _class = "C_OP_MaintainSequentialPath" + m_flNumToAssign = 16.0 + m_PathParams = + { + m_nEndControlPointNumber = 1 + } + }, + { + _class = "C_OP_EndCapTimedDecay" + }, + { + _class = "C_OP_InterpolateRadius" + m_flStartScale = 0.5 + m_flEndScale = 0.6 + }, + { + _class = "C_OP_SetFloat" + m_InputValue = + { + m_nType = "PF_TYPE_PARTICLE_FLOAT" + m_nMapType = "PF_MAP_TYPE_CURVE" + m_NamedValue = "" + m_flLiteralValue = 0.0 + m_nControlPoint = 0 + m_nScalarAttribute = 7 + m_nVectorAttribute = 6 + m_nVectorComponent = 0 + m_flRandomMin = 0.0 + m_flRandomMax = 1.0 + m_nRandomMode = "PF_RANDOM_MODE_CONSTANT" + m_flLOD0 = 0.0 + m_flLOD1 = 0.0 + m_flLOD2 = 0.0 + m_flLOD3 = 0.0 + m_flNoiseOutputMin = 0.0 + m_flNoiseOutputMax = 1.0 + m_flNoiseScale = 0.1 + m_vecNoiseOffsetRate = [ 0.0, 0.0, 0.0 ] + m_flNoiseOffset = 0.0 + m_nNoiseOctaves = 1 + m_nNoiseTurbulence = "PF_NOISE_TURB_NONE" + m_nNoiseType = "PF_NOISE_TYPE_PERLIN" + m_nNoiseModifier = "PF_NOISE_MODIFIER_NONE" + m_flNoiseTurbulenceScale = 1.25 + m_flNoiseTurbulenceMix = 0.5 + m_flNoiseImgPreviewScale = 1.0 + m_bNoiseImgPreviewLive = true + m_nInputMode = "PF_INPUT_MODE_CLAMPED" + m_flMultFactor = 1.0 + m_flInput0 = 0.0 + m_flInput1 = 1.0 + m_flOutput0 = 0.0 + m_flOutput1 = 1.0 + m_nBiasType = "PF_BIAS_TYPE_STANDARD" + m_flBiasParameter = 0.0 + m_Curve = + { + m_spline = + [ + { + x = 0.031672 + y = 1.0 + m_flSlopeIncoming = 0.0 + m_flSlopeOutgoing = 0.0 + }, + { + x = 0.355436 + y = 1.0 + m_flSlopeIncoming = 0.0 + m_flSlopeOutgoing = 0.0 + }, + { + x = 0.686237 + y = 1.0 + m_flSlopeIncoming = 0.0 + m_flSlopeOutgoing = 0.0 + }, + { + x = 0.897387 + y = 1.0 + m_flSlopeIncoming = 0.0 + m_flSlopeOutgoing = 0.0 + }, + { + x = 1.0 + y = 1.0 + m_flSlopeIncoming = 0.0 + m_flSlopeOutgoing = 0.0 + }, + ] + m_tangents = + [ + { + m_nIncomingTangent = "CURVE_TANGENT_SPLINE" + m_nOutgoingTangent = "CURVE_TANGENT_SPLINE" + }, + { + m_nIncomingTangent = "CURVE_TANGENT_SPLINE" + m_nOutgoingTangent = "CURVE_TANGENT_SPLINE" + }, + { + m_nIncomingTangent = "CURVE_TANGENT_SPLINE" + m_nOutgoingTangent = "CURVE_TANGENT_SPLINE" + }, + { + m_nIncomingTangent = "CURVE_TANGENT_SPLINE" + m_nOutgoingTangent = "CURVE_TANGENT_SPLINE" + }, + { + m_nIncomingTangent = "CURVE_TANGENT_SPLINE" + m_nOutgoingTangent = "CURVE_TANGENT_SPLINE" + }, + ] + m_vDomainMins = [ 0.0, 0.0 ] + m_vDomainMaxs = [ 1.0, 1.0 ] + } + } + m_nOutputField = "7" + }, + ] + m_Renderers = + [ + { + _class = "C_OP_RenderRopes" + m_flSelfIllumAmount = + { + m_nType = "PF_TYPE_LITERAL" + m_nMapType = "PF_MAP_TYPE_DIRECT" + m_NamedValue = "" + m_flLiteralValue = 5.0 + m_nControlPoint = 0 + m_nScalarAttribute = 3 + m_nVectorAttribute = 6 + m_nVectorComponent = 0 + m_flRandomMin = 0.0 + m_flRandomMax = 1.0 + m_nRandomMode = "PF_RANDOM_MODE_CONSTANT" + m_flLOD0 = 0.0 + m_flLOD1 = 0.0 + m_flLOD2 = 0.0 + m_flLOD3 = 0.0 + m_flNoiseOutputMin = 0.0 + m_flNoiseOutputMax = 1.0 + m_flNoiseScale = 0.1 + m_vecNoiseOffsetRate = [ 0.0, 0.0, 0.0 ] + m_flNoiseOffset = 0.0 + m_nNoiseOctaves = 1 + m_nNoiseTurbulence = "PF_NOISE_TURB_NONE" + m_nNoiseType = "PF_NOISE_TYPE_PERLIN" + m_nNoiseModifier = "PF_NOISE_MODIFIER_NONE" + m_flNoiseTurbulenceScale = 1.25 + m_flNoiseTurbulenceMix = 0.5 + m_flNoiseImgPreviewScale = 1.0 + m_bNoiseImgPreviewLive = true + m_nInputMode = "PF_INPUT_MODE_CLAMPED" + m_flMultFactor = 1.0 + m_flInput0 = 0.0 + m_flInput1 = 1.0 + m_flOutput0 = 0.0 + m_flOutput1 = 1.0 + m_nBiasType = "PF_BIAS_TYPE_STANDARD" + m_flBiasParameter = 0.0 + m_Curve = + { + m_spline = [ ] + m_tangents = [ ] + m_vDomainMins = [ 0.0, 0.0 ] + m_vDomainMaxs = [ 0.0, 0.0 ] + } + } + m_flDiffuseAmount = + { + m_nType = "PF_TYPE_LITERAL" + m_nMapType = "PF_MAP_TYPE_DIRECT" + m_flLiteralValue = 0.0 + m_nControlPoint = 0 + m_nScalarAttribute = 3 + m_nVectorAttribute = 6 + m_nVectorComponent = 0 + m_flRandomMin = 0.0 + m_flRandomMax = 1.0 + m_nRandomMode = "PF_RANDOM_MODE_CONSTANT" + m_flLOD0 = 0.0 + m_flLOD1 = 0.0 + m_flLOD2 = 0.0 + m_flLOD3 = 0.0 + m_flNoiseOutputMin = 0.0 + m_flNoiseOutputMax = 1.0 + m_flNoiseScale = 0.1 + m_vecNoiseOffsetRate = [ 0.0, 0.0, 0.0 ] + m_flNoiseOffset = 0.0 + m_nNoiseOctaves = 1 + m_nNoiseTurbulence = "PF_NOISE_TURB_NONE" + m_nNoiseType = "PF_NOISE_TYPE_PERLIN" + m_nNoiseModifier = "PF_NOISE_MODIFIER_NONE" + m_flNoiseTurbulenceScale = 1.25 + m_flNoiseTurbulenceMix = 0.5 + m_flNoiseImgPreviewScale = 1.0 + m_bNoiseImgPreviewLive = true + m_nInputMode = "PF_INPUT_MODE_CLAMPED" + m_flMultFactor = 1.0 + m_flInput0 = 0.0 + m_flInput1 = 1.0 + m_flOutput0 = 0.0 + m_flOutput1 = 1.0 + m_nBiasType = "PF_BIAS_TYPE_STANDARD" + m_flBiasParameter = 0.0 + m_Curve = + { + m_spline = [ ] + m_tangents = [ ] + m_vDomainMins = [ 0.0, 0.0 ] + m_vDomainMaxs = [ 0.0, 0.0 ] + } + } + m_bSaturateColorPreAlphaBlend = false + m_bAdditive = true + m_bOnlyRenderInEffectsBloomPass = true + m_flFeatheringMaxDist = + { + m_nType = "PF_TYPE_LITERAL" + m_nMapType = "PF_MAP_TYPE_DIRECT" + m_flLiteralValue = 3.0 + m_nControlPoint = 0 + m_nScalarAttribute = 3 + m_nVectorAttribute = 6 + m_nVectorComponent = 0 + m_flRandomMin = 0.0 + m_flRandomMax = 1.0 + m_nRandomMode = "PF_RANDOM_MODE_CONSTANT" + m_flLOD0 = 0.0 + m_flLOD1 = 0.0 + m_flLOD2 = 0.0 + m_flLOD3 = 0.0 + m_flNoiseOutputMin = 0.0 + m_flNoiseOutputMax = 1.0 + m_flNoiseScale = 0.1 + m_vecNoiseOffsetRate = [ 0.0, 0.0, 0.0 ] + m_flNoiseOffset = 0.0 + m_nNoiseOctaves = 1 + m_nNoiseTurbulence = "PF_NOISE_TURB_NONE" + m_nNoiseType = "PF_NOISE_TYPE_PERLIN" + m_nNoiseModifier = "PF_NOISE_MODIFIER_NONE" + m_flNoiseTurbulenceScale = 1.25 + m_flNoiseTurbulenceMix = 0.5 + m_flNoiseImgPreviewScale = 1.0 + m_bNoiseImgPreviewLive = true + m_nInputMode = "PF_INPUT_MODE_CLAMPED" + m_flMultFactor = 1.0 + m_flInput0 = 0.0 + m_flInput1 = 1.0 + m_flOutput0 = 0.0 + m_flOutput1 = 1.0 + m_nBiasType = "PF_BIAS_TYPE_STANDARD" + m_flBiasParameter = 0.0 + m_Curve = + { + m_spline = [ ] + m_tangents = [ ] + m_vDomainMins = [ 0.0, 0.0 ] + m_vDomainMaxs = [ 0.0, 0.0 ] + } + } + m_flOverbrightFactor = + { + m_nType = "PF_TYPE_LITERAL" + m_nMapType = "PF_MAP_TYPE_DIRECT" + m_flLiteralValue = 2.0 + m_nControlPoint = 0 + m_nScalarAttribute = 3 + m_nVectorAttribute = 6 + m_nVectorComponent = 0 + m_flRandomMin = 0.0 + m_flRandomMax = 1.0 + m_nRandomMode = "PF_RANDOM_MODE_CONSTANT" + m_flLOD0 = 0.0 + m_flLOD1 = 0.0 + m_flLOD2 = 0.0 + m_flLOD3 = 0.0 + m_flNoiseOutputMin = 0.0 + m_flNoiseOutputMax = 1.0 + m_flNoiseScale = 0.1 + m_vecNoiseOffsetRate = [ 0.0, 0.0, 0.0 ] + m_flNoiseOffset = 0.0 + m_nNoiseOctaves = 1 + m_nNoiseTurbulence = "PF_NOISE_TURB_NONE" + m_nNoiseType = "PF_NOISE_TYPE_PERLIN" + m_nNoiseModifier = "PF_NOISE_MODIFIER_NONE" + m_flNoiseTurbulenceScale = 1.25 + m_flNoiseTurbulenceMix = 0.5 + m_flNoiseImgPreviewScale = 1.0 + m_bNoiseImgPreviewLive = true + m_nInputMode = "PF_INPUT_MODE_CLAMPED" + m_flMultFactor = 1.0 + m_flInput0 = 0.0 + m_flInput1 = 1.0 + m_flOutput0 = 0.0 + m_flOutput1 = 1.0 + m_nBiasType = "PF_BIAS_TYPE_STANDARD" + m_flBiasParameter = 0.0 + m_Curve = + { + m_spline = [ ] + m_tangents = [ ] + m_vDomainMins = [ 0.0, 0.0 ] + m_vDomainMaxs = [ 0.0, 0.0 ] + } + } + m_hTexture = resource:"materials/particles/beam_hotwhite.vtex" + m_nOrientationType = 1 + }, + ] +} \ No newline at end of file