DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ ProcessFeetDamageServer()

override void ManBase::ProcessFeetDamageServer ( int pUserInt)
inlineprotected

См. определение в файле PlayerBase.c строка 1945

1946 {
1947 //InventorySlots.HEADGEAR
1948 EntityAI shoes = GetInventory().FindAttachment(InventorySlots.FEET);
1949
1950 string surface; int liquid;
1951 g_Game.SurfaceUnderObject(this, surface, liquid);
1952 float modifier_surface = Surface.GetParamFloat(surface, "footDamage");
1953
1954 if (shoes && shoes.GetHealthLevel() < 4)
1955 {
1956 shoes.AddHealth("", "", -1 * modifier_surface * PlayerConstants.SHOES_MOVEMENT_DAMAGE_PER_STEP * (float)PlayerConstants.CHECK_EVERY_N_STEP);
1957
1958 return;
1959 }
1960
1961 float rnd = Math.RandomFloat01();
1962 float modifier_movement = GetFeetDamageMoveModifier();
1963 float chance = modifier_movement * modifier_surface * PlayerConstants.BAREFOOT_MOVEMENT_BLEED_MODIFIER * (float)PlayerConstants.CHECK_EVERY_N_STEP;
1964 if (rnd < chance)
1965 {
1966 if (pUserInt % 2 == 0)
1967 {
1968 if (GetBleedingManagerServer().AttemptAddBleedingSourceBySelection("RightFoot"))
1969 SendSoundEvent(EPlayerSoundEventID.INJURED_LIGHT);
1970
1971 }
1972 else
1973 {
1974 if (GetBleedingManagerServer().AttemptAddBleedingSourceBySelection("LeftFoot"))
1975 SendSoundEvent(EPlayerSoundEventID.INJURED_LIGHT);
1976 }
1977 }
1978 }
class LogManager EntityAI
DayZGame g_Game
Определения DayZGame.c:4074
EPlayerSoundEventID
Определения PlayerSoundEventHandler.c:3
Param7 float
BleedingSourcesManagerServer GetBleedingManagerServer()
Определения PlayerBase.c:2973
void SendSoundEvent(EPlayerSoundEventID id)
Определения PlayerBase.c:7795
float GetFeetDamageMoveModifier()
Определения PlayerBase.c:1980

Перекрестные ссылки PlayerConstants::BAREFOOT_MOVEMENT_BLEED_MODIFIER, PlayerConstants::CHECK_EVERY_N_STEP, g_Game, GetBleedingManagerServer(), GetFeetDamageMoveModifier(), Surface::GetParamFloat(), Math::RandomFloat01(), SendSoundEvent() и PlayerConstants::SHOES_MOVEMENT_DAMAGE_PER_STEP.