Dayz Explorer 1.29.162510
Loading...
Searching...
No Matches
bonfire.c
Go to the documentation of this file.
1class Bonfire extends BuildingSuper
2{
3 const float TIMER_HEATING_UPDATE_INTERVAL = 2;
4 const float PARAM_HEAT_RADIUS = 15;
5 const float PARAM_FULL_HEAT_RADIUS = 5;
6 const float PARAM_MAX_TRANSFERED_TEMPERATURE = 25;
7 const float CONST_FIRE_TEMP = 1000;
8 const float PARAM_DRY_MODIFIER = 8.0;
9
10 protected BonfireLight m_Light;
14
15 //Heating related variables
17
18 // UniversalTemperatureSource
21 protected ref UniversalTemperatureSourceLambdaConstant m_UTSLBonfire;
22
23 override void EEInit()
24 {
25 super.EEInit();
26
27 #ifndef SERVER
28 // object creation - create effects (light, particles, sound)
29
30 // light
31 if (!m_Light)
32 {
33 m_Light = BonfireLight.Cast(ScriptedLightBase.CreateLight(BonfireLight, Vector(0,0,0), 1));
34 m_Light.AttachOnMemoryPoint(this, m_Light.m_MemoryPoint);
35 m_Light.FadeBrightnessTo(m_Light.m_FireBrightness, 0);
36 m_Light.FadeRadiusTo(m_Light.m_FireRadius, 0);
37 }
38
39 // particles
40 if (!m_ParticleSmoke)
41 {
42 m_ParticleSmoke = ParticleManager.GetInstance().PlayOnObject(ParticleList.BONFIRE_SMOKE, this, GetMemoryPointPos("bonfire_smoke"), Vector(0,0,0), true);
43 }
44
45 if (!m_ParticleFire)
46 {
47 m_ParticleFire = ParticleManager.GetInstance().PlayOnObject(ParticleList.BONFIRE_FIRE, this, GetMemoryPointPos("bonfire_fire"), Vector(0,0,0), true);
48 }
49
50 // sounds
51 if (!m_SoundFireLoop)
52 {
53 PlaySoundSetLoop(m_SoundFireLoop, "HeavyFire_SoundSet", 1.0, 2.0);
54 }
55 #endif
56
57 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
58 {
60 m_UTSSettings.m_UpdateInterval = TIMER_HEATING_UPDATE_INTERVAL;
61 m_UTSSettings.m_Updateable = true;
62 m_UTSSettings.m_TemperatureItemCap = GameConstants.ITEM_TEMPERATURE_NEUTRAL_ZONE_MIDDLE;
63 m_UTSSettings.m_TemperatureCap = PARAM_MAX_TRANSFERED_TEMPERATURE;
64 m_UTSSettings.m_RangeFull = PARAM_FULL_HEAT_RADIUS;
65 m_UTSSettings.m_RangeMax = PARAM_HEAT_RADIUS;
66 m_UTSSettings.m_ItemDryModifier = PARAM_DRY_MODIFIER;
67
68 m_UTSLBonfire = new UniversalTemperatureSourceLambdaConstant();
70 m_UTSource.SetActive(true);
71 }
72 }
73
74 override void EEDelete(EntityAI parent)
75 {
76 super.EEDelete(parent);
77
78 #ifndef SERVER
79 // outside of bubble - do effects cleanup (light, particles, sound)
80
81 // light
82 if (m_Light)
83 {
84 m_Light.FadeOut();
85 }
86
87 // particles
89 {
90 m_ParticleSmoke.Stop();
91 }
92
94 {
95 m_ParticleFire.Stop();
96 }
97
98 // sounds
100 {
101 m_SoundFireLoop.SoundStop();
102 }
103 #endif
104
105 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
106 {
107 m_UTSource.SetActive(false);
108 }
109 }
110
112 protected void BonfireHeating() {};
113}
void BonfireHeating()
DEPRECATED.
Definition bonfire.c:112
ref Timer m_BonfireHeatingTimer
Definition bonfire.c:16
Particle m_ParticleSmoke
Definition bonfire.c:12
BonfireLight m_Light
Definition bonfire.c:10
override void EEInit()
Definition bonfire.c:23
ref UniversalTemperatureSource m_UTSource
DEPRECATED.
Definition bonfire.c:19
ref UniversalTemperatureSourceLambdaConstant m_UTSLBonfire
Definition bonfire.c:21
Particle m_ParticleFire
Definition bonfire.c:11
EffectSound m_SoundFireLoop
Definition bonfire.c:13
override void EEDelete(EntityAI parent)
Definition bonfire.c:74
ref UniversalTemperatureSourceSettings m_UTSSettings
Definition bonfire.c:20
Wrapper class for managing sound through SEffectManager.
Definition effectsound.c:5
Legacy way of using particles in the game.
Definition particle.c:7
original Timer deletes m_params which is unwanted
DayZGame g_Game
Definition dayzgame.c:3942
const int TIMER_HEATING_UPDATE_INTERVAL
timer constants
const float PARAM_DRY_MODIFIER
maximum value for temperature that will be transfered to player (environment)
const float PARAM_MAX_TRANSFERED_TEMPERATURE
radius in which objects are heated by fire
const float PARAM_HEAT_RADIUS
radius in which objects are fully heated by fire
const float PARAM_FULL_HEAT_RADIUS
value for calculating damage on items located in fireplace cargo
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
void ParticleManager(ParticleManagerSettings settings)
Constructor (ctor).