3 const float DAMAGE_CONSUME_PER_ML = 0.01;
4 const float DAMAGE_OVERHEAT_PER_S = 1;
5 const float DAMAGE_ENVIRO_LIQUID_COEF_MIN = 1;
6 const float DAMAGE_ENVIRO_LIQUID_COEF_MAX = 1.5;
7 const float DAMAGE_ENVIRO_TEMPDIFF_MIN = 80;
8 const float DAMAGE_ENVIRO_TEMPDIFF_MAX = 10;
10 override string GetPouringSoundset()
12 return "emptyVessle_WaterBottle_SoundSet";
15 override string GetEmptyingLoopSoundsetHard()
17 return "pour_HardGround_WatterBottle_SoundSet";
20 override string GetEmptyingLoopSoundsetSoft()
22 return "pour_SoftGround_WatterBottle_SoundSet";
25 override string GetEmptyingLoopSoundsetWater()
27 return "pour_Water_WatterBottle_SoundSet";
30 override string GetEmptyingEndSoundsetHard()
32 return "pour_End_HardGround_WatterBottle_SoundSet";
35 override string GetEmptyingEndSoundsetSoft()
37 return "pour_End_SoftGround_WatterBottle_SoundSet";
40 override string GetEmptyingEndSoundsetWater()
42 return "pour_End_Water_WatterBottle_SoundSet";
45 override bool CanPutInCargo(
EntityAI parent )
47 if( !super.CanPutInCargo(parent) ) {
return false;}
48 if ( parent && (parent.IsKindOf(
"WatterBottle")))
56 override bool IsOpen()
61 override int FilterAgents(
int agentsIn)
68 override void OnConsume(
float amount,
PlayerBase consumer)
70 super.OnConsume(amount,consumer);
77 DecreaseHealth(amount * DAMAGE_CONSUME_PER_ML,
false);
83 if (liquidTemperature >= GetTemperatureMax())
86 float tTime =
Math.Clamp(
Math.InverseLerp(DAMAGE_ENVIRO_TEMPDIFF_MIN,DAMAGE_ENVIRO_TEMPDIFF_MAX,temperatureDiff),0,1);
87 float temperatureDiffCoef =
Math.Lerp(DAMAGE_ENVIRO_LIQUID_COEF_MIN,DAMAGE_ENVIRO_LIQUID_COEF_MAX,tTime);
89 DecreaseHealth(amount * damageVal * temperatureDiffCoef,
false);
98 float temperatureDiff = sourceLiquidTemperature -
GetTemperature();
99 float tTime =
Math.Clamp(
Math.InverseLerp(DAMAGE_ENVIRO_TEMPDIFF_MIN,DAMAGE_ENVIRO_TEMPDIFF_MAX,temperatureDiff),0,1);
100 float temperatureDiffCoef =
Math.Lerp(DAMAGE_ENVIRO_LIQUID_COEF_MIN,DAMAGE_ENVIRO_LIQUID_COEF_MAX,tTime);
102 DecreaseHealth(amount * damageVal * temperatureDiffCoef,
false);
109 return GetTemperatureMax();