Advertisement
Guest User

Untitled

a guest
Sep 21st, 2014
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 0.81 KB | None | 0 0
  1. function ENT:DetermineCapture(ent)
  2.     if not ent then return end 
  3.     local shakes, maxhp, curhp, size, maxsize, pctrate, rate, a, b
  4.     shakes = 1
  5.     maxhp = ent:GetMaxHealth()
  6.     curhp = ent:Health()
  7.     size = ent:GetPhysicsObject():GetVolume() / 1000
  8.     maxsize = 650
  9.     pctrate = (maxsize - math.Clamp(size, 0, maxsize)) / maxsize
  10.     if pctrate == 0 then pctrate = .0005 end --To make it not impossible to catch really big shit
  11.     rate = 255 * pctrate
  12.     if ent:IsOnFire() then bonus = 1.5 else bonus = 1 end
  13.     a = (((3 * maxhp - 2 * curhp) * rate) / (3 * maxhp)) * bonus
  14.     if a > 255 then return 5 end --Instant catch
  15.     b = 1048560 / math.sqrt(math.sqrt(16711680/a))
  16.     for i = 1, 4 do
  17.         local rand = math.random(0, 65535)
  18.         if rand < b then
  19.             shakes = shakes + 1
  20.         elseif rand >= b then
  21.             break
  22.         end
  23.     end
  24.     return shakes
  25. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement