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

◆ ProcessFeetDamageServer()

override void ManBase::ProcessFeetDamageServer ( int pUserInt)
inlineprotected

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

1888 {
1889 //InventorySlots.HEADGEAR
1890 EntityAI shoes = GetInventory().FindAttachment(InventorySlots.FEET);
1891
1892 string surface; int liquid;
1893 g_Game.SurfaceUnderObject(this, surface, liquid);
1894 float modifier_surface = Surface.GetParamFloat(surface, "footDamage");
1895
1896 if (shoes && shoes.GetHealthLevel() < 4)
1897 {
1898 shoes.AddHealth("", "", -1 * modifier_surface * PlayerConstants.SHOES_MOVEMENT_DAMAGE_PER_STEP * (float)PlayerConstants.CHECK_EVERY_N_STEP);
1899
1900 return;
1901 }
1902
1903 float rnd = Math.RandomFloat01();
1904 float modifier_movement = GetFeetDamageMoveModifier();
1905 float chance = modifier_movement * modifier_surface * PlayerConstants.BAREFOOT_MOVEMENT_BLEED_MODIFIER * (float)PlayerConstants.CHECK_EVERY_N_STEP;
1906 if (rnd < chance)
1907 {
1908 if (pUserInt % 2 == 0)
1909 {
1910 if (GetBleedingManagerServer().AttemptAddBleedingSourceBySelection("RightFoot"))
1911 SendSoundEvent(EPlayerSoundEventID.INJURED_LIGHT);
1912
1913 }
1914 else
1915 {
1916 if (GetBleedingManagerServer().AttemptAddBleedingSourceBySelection("LeftFoot"))
1917 SendSoundEvent(EPlayerSoundEventID.INJURED_LIGHT);
1918 }
1919 }
1920 }
class LogManager EntityAI
DayZGame g_Game
Определения DayZGame.c:3942
EPlayerSoundEventID
Определения PlayerSoundEventHandler.c:3
BleedingSourcesManagerServer GetBleedingManagerServer()
Определения PlayerBase.c:2773
void SendSoundEvent(EPlayerSoundEventID id)
Определения PlayerBase.c:7450
float GetFeetDamageMoveModifier()
Определения PlayerBase.c:1922

Перекрестные ссылки 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.