@@ -3,8 +3,8 @@ PRE_HOOK = PRE_HOOK or HOOK_MONITOR_HIGH
3
3
CreateClientConVar = CreateClientConVar
4
4
entities = list.GetForEdit( addonName )
5
5
:GetClass = FindMetaTable( "Entity" )
6
- : CreateClientside = ents
7
- : Add = hook
6
+ import CreateClientside from ents
7
+ import Add from hook
8
8
9
9
blacklist = {}
10
10
@@ -129,35 +129,27 @@ Add( "EntityRemoved", addonName, ( entity, fullUpdate ) ->
129
129
130
130
PRE_HOOK )
131
131
132
- entities[ "entityflame" ] = ( entity, dlight ) ->
133
- parent = entity\GetParent!
134
- unless parent and parent\IsValid!
135
- return false
132
+ do
136
133
137
- parent.__dlight = dlight
134
+ dlight_controllers_env_fire = CreateClientConVar( "dlight_controllers_env_fire", "0", true, false, "Enables creation dynamic light emitters for env_fire.", 0, 1 )
138
135
139
- dlight\SetStyle( 5 )
140
- dlight\SetRadius( 128 )
141
- dlight\SetBrightness( 1 )
142
- dlight\SetParent( parent )
143
- dlight\SetLightColor( 255, 100, 0 )
144
- dlight\SetLocalPos( entity\OBBCenter! )
145
- return true
136
+ entities[ "env_fire" ] = ( entity, dlight ) ->
137
+ unless dlight_controllers_env_fire\GetBool!
138
+ return false
146
139
147
- entities[ "env_fire" ] = ( entity, dlight ) ->
148
- dlight\SetSprite( "sprites/gmdm_pickups/light" )
149
- dlight\SetLightColor( 255, 100, 0 )
150
- dlight\SetSpriteAlpha( 255 )
151
- dlight\SetSpriteScale( 0.5 )
152
- dlight\SetBrightness( 1 )
153
- dlight\SetRadius( 256 )
154
- dlight\SetStyle( 5 )
140
+ dlight\SetSprite( "sprites/gmdm_pickups/light" )
141
+ dlight\SetLightColor( 255, 100, 0 )
142
+ dlight\SetSpriteAlpha( 255 )
143
+ dlight\SetSpriteScale( 0.5 )
144
+ dlight\SetBrightness( 1 )
145
+ dlight\SetRadius( 256 )
146
+ dlight\SetStyle( 5 )
155
147
156
- dlight.LightThink = ->
157
- if entity\IsValid!
158
- dlight\SetPos( entity\GetPos! )
148
+ dlight.LightThink = ->
149
+ if entity\IsValid!
150
+ dlight\SetPos( entity\GetPos! )
159
151
160
- return true
152
+ return true
161
153
162
154
do
163
155
@@ -354,10 +346,9 @@ entities[ "env_sprite" ] = ( entity, dlight ) ->
354
346
dlight\SetRadius( 32 )
355
347
356
348
else
357
-
358
349
dlight\SetLightColor( entity\GetColor! )
359
350
dlight\SetBrightness( 1 )
360
- dlight\SetRadius( 48 )
351
+ dlight\SetRadius( 32 )
361
352
362
353
return true
363
354
394
385
395
386
PRE_HOOK )
396
387
388
+ do
389
+
390
+ import Iterator from ents
391
+
392
+ hook.Add "Think", addonName, ->
393
+ for _, entity in Iterator!
394
+ if entity\IsOnFire!
395
+ dlight = entity.m_eFireDLight
396
+ if dlight and dlight\IsValid!
397
+ continue
398
+
399
+ dlight = CreateClientside( "dlight_controller" )
400
+ entity.m_eFireDLight = dlight
401
+
402
+ dlight\SetStyle( 5 )
403
+ dlight\SetRadius( 128 )
404
+ dlight\SetBrightness( 0.5 )
405
+ dlight\SetEnabled( true )
406
+ dlight\SetParent( entity )
407
+ dlight\SetLightColor( 255, 100, 0 )
408
+ dlight\SetLocalPos( entity\OBBCenter! )
409
+ dlight\Spawn!
410
+ continue
411
+
412
+ dlight = entity.m_eFireDLight
413
+ if dlight
414
+ if dlight\IsValid!
415
+ dlight\Remove!
416
+
417
+ dlight.m_eFireDLight = nil
418
+
397
419
do
398
420
399
421
dlight_controllers_explosions = CreateClientConVar( "dlight_controllers_explosions", "1", true, false, "Enables creation of dynamic light emitters when something explode.", 0, 1 )
0 commit comments