SHARE
TWEET

Untitled

a guest May 19th, 2017 60 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --Dynamic ignore distance
  2. --by Alundaio
  3. function set_danger_ignore_distance()
  4.     local ret_ignore_distance = nil
  5.     local night_vision = npc:night_vision_enabled()
  6.  
  7.     -- Check for Night
  8.     if (level.get_time_hours() < 3 or level.get_time_hours() >  22) then
  9.         -- Check for heavy rain
  10.         if (level.rain_factor() >= 0.5) then
  11.             ret_ignore_distance = {
  12.             [danger_object.grenade]         = 10,
  13.             [danger_object.entity_corpse]   = 35,
  14.             [danger_object.entity_attacked] = 150,
  15.             [danger_object.attacked]        = 150,
  16.             [danger_object.bullet_ricochet] = 50,
  17.             [danger_object.enemy_sound]     = 5,
  18.             [danger_object.attack_sound]    = 35,
  19.             [danger_object.entity_death]    = 20
  20.             }
  21.  
  22.             return ret_ignore_distance
  23.         -- If Night but no or little rain
  24.         else
  25.             -- If NPC has night_vision_enabled
  26.             if (night_vision == false) then
  27.                 ret_ignore_distance = {
  28.                 [danger_object.grenade]         = 20,
  29.                 [danger_object.entity_corpse]   = 55,
  30.                 [danger_object.entity_attacked] = 200,
  31.                 [danger_object.attacked]        = 200,
  32.                 [danger_object.bullet_ricochet] = 75,
  33.                 [danger_object.enemy_sound]     = 10,
  34.                 [danger_object.attack_sound]    = 45,
  35.                 [danger_object.entity_death]    = 25
  36.                 }
  37.                 return ret_ignore_distance
  38.             -- If NPC does not have night_vision_enabled
  39.             else
  40.                 ret_ignore_distance = {
  41.                 [danger_object.grenade]         = 30,
  42.                 [danger_object.entity_corpse]   = 75,
  43.                 [danger_object.entity_attacked] = 275,
  44.                 [danger_object.attacked]        = 275,
  45.                 [danger_object.bullet_ricochet] = 75,
  46.                 [danger_object.enemy_sound]     = 25,
  47.                 [danger_object.attack_sound]    = 55,
  48.                 [danger_object.entity_death]    = 45
  49.                 }
  50.                 return ret_ignore_distance
  51.             end
  52.         end
  53.     -- If Day
  54.     else
  55.         -- If Day and Heavy Rain
  56.         if (level.rain_factor() >= 0.5) then
  57.             ret_ignore_distance = {
  58.             [danger_object.grenade]         = 10,
  59.             [danger_object.entity_corpse]   = 45,
  60.             [danger_object.entity_attacked] = 150,
  61.             [danger_object.attacked]        = 150,
  62.             [danger_object.bullet_ricochet] = 50,
  63.             [danger_object.enemy_sound]     = 5,
  64.             [danger_object.attack_sound]    = 35,
  65.             [danger_object.entity_death]    = 20
  66.             }
  67.             return ret_ignore_distance
  68.         -- If Day and no or little rain
  69.         else
  70.             ret_ignore_distance = {
  71.             [danger_object.grenade]         = 30,
  72.             [danger_object.entity_corpse]   = 100,
  73.             [danger_object.entity_attacked] = 300,
  74.             [danger_object.attacked]        = 300,
  75.             [danger_object.bullet_ricochet] = 100,
  76.             [danger_object.enemy_sound]     = 30,
  77.             [danger_object.attack_sound]    = 60,
  78.             [danger_object.entity_death]    = 50
  79.             }
  80.             return ret_ignore_distance
  81.         end
  82.     end
  83.  
  84.     --If none of the above, then set defaults
  85.     ret_ignore_distance = {
  86.     [danger_object.grenade]         = 30,
  87.     [danger_object.entity_corpse]   = 100,
  88.     [danger_object.entity_attacked] = 300,
  89.     [danger_object.attacked]        = 300,
  90.     [danger_object.bullet_ricochet] = 100,
  91.     [danger_object.enemy_sound]     = 30,
  92.     [danger_object.attack_sound]    = 60,
  93.     [danger_object.entity_death]    = 50
  94.     }
  95.  
  96.     return ret_ignore_distance
  97. end
RAW Paste Data
Top