datsexyanon

sadsadadgfdgfdsagv

May 8th, 2014
294
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 5.31 KB | None | 0 0
  1. local level_vertexes={
  2.     l01_escape = {lvid=595580, gvid=44},
  3.     l02_garbage = {lvid=384039, gvid=265},
  4.     l03_agroprom = {lvid=438379, gvid=693},
  5.     l03u_agr_underground = {lvid=4892, gvid=703},
  6.     l04_darkvalley = {lvid=392517, gvid=813},
  7.     l04u_labx18 = {lvid=7446, gvid=1166},
  8.     l05_bar = {lvid=99538, gvid=1233},
  9.     l06_rostok = {lvid=69283, gvid=1311},
  10.     l07_military = {lvid=915663, gvid=1546},
  11.     l08_yantar = {lvid=141470, gvid=1438},
  12.     l08u_brainlab = {lvid=8004, gvid=1537},
  13.     l10_radar = {lvid=796328, gvid=1868},
  14.     l10u_bunker = {lvid=8187, gvid=2661},
  15.     --l11_pripyat = {lvid=295965, gvid=2269},
  16.     l11_pripyat = {lvid=260787, gvid=2269},
  17.     l12_stancia = {lvid=459597, gvid=2386},
  18.     l12u_sarcofag = {lvid=10618, gvid=2427},
  19.     l12u_control_monolith = {lvid=3981, gvid=2478},
  20.     l12_stancia_2 = {lvid=264180, gvid=2646},
  21. }
  22.  
  23. function get_event_position() --deprecated
  24.     local lvid, gvid
  25.     if level.name() == "l07_military" or level.name() == "l10_radar" then
  26.         lvid = 200000 + math.random(-100000,100000)
  27.     else
  28.         lvid = math.random(level_vertexes[level.name()]["lvid"])
  29.     end
  30.     gvid = level_vertexes[level.name()]["gvid"]
  31.     return lvid, gvid
  32. end
  33.  
  34. function getpos(lev)
  35.     local sec = anon_resources.event_points
  36.     --local lev = level.name()
  37.     local ran = math.random(#sec[lev]) --doh, forgot that recalling math.random fucks shit up
  38.     return sec[lev][ran].p[1], sec[lev][ran].p[2], sec[lev][ran].p[3], sec[lev][ran].name
  39. end
  40.  
  41. function testEvent(section)
  42.     --[[if level.name() == "l05_bar" or level.name() == "l10_radar" or level.name() == "l11_pripyat" or level.name() == "l12_stancia" or level.name() == "l12_stancia_2" or level.name() == "l03u_agr_underground" or level.name() == "l04u_labx18" or level.name() == "l08u_brainlab" or level.name() == "l10u_bunker" or level.name() == "l12u_control_monolith" or level.name() == "l12u_sarcofag" then
  43.         return
  44.     end]]
  45.     local lname = level.name()
  46.     for invalid = 1, (#anon_resources.event_invalid_levels) do
  47.         if lname == anon_resources.event_invalid_levels[invalid] then
  48.             return
  49.         end
  50.     end
  51.    
  52.     local x,y,z, str
  53.     x,y,z, str = getpos(lname)
  54.     local lelvec = vector():set(x,y,z)
  55.     local dist = vector():distance_to(db.actor:position(), lelvec)
  56.     blowoutext.SendHudMessage("DEBUG:", "LOCATION IS:" .. str, "eventnews", 20, nil)
  57.     if math.random() < 0.5 then
  58.         blowoutext.SendHudMessage("DEBUG:", "MUTANTS:", nil, 20, nil)
  59.         local curTable = anon_resources.event_table[lname].mutant
  60.         local eventnum = math.random(#curTable)
  61.         local mutieindex = math.random(#curTable[eventnum].names)
  62.         local mutantname = curTable[eventnum].names[mutieindex]
  63.         local numindex = math.random(#curTable[eventnum].number)
  64.         local number = curTable[eventnum].number[numindex]
  65.        
  66.         if number < 1 or number == nil then
  67.             number = 1
  68.             blowoutext.SendHudMessage("DEBUG:", "NUMBER NIL OR 0", nil, 20, nil)
  69.         end
  70.        
  71.         local basePos = lelvec
  72.         for ind = 1, number do
  73.             alife():create(mutantname, basePos, 1, level_vertexes[lname]["gvid"])
  74.             basePos.x = basePos.x + (math.random()*4) - (math.random()*4)
  75.             basePos.z = basePos.z + (math.random()*4) - (math.random()*4)
  76.         end
  77.        
  78.         basePos = lelvec
  79.         if curTable[eventnum].victim_data[1] == true then
  80.             local victimnum = math.random(curTable[eventnum].victim_data[3])
  81.             for ind = 1, victimnum do
  82.                 local victim = curTable[eventnum].victims[math.random(#curTable[eventnum].victims)]
  83.                 if math.random() < curTable[eventnum].victim_data[2] then
  84.                     alife():create(victim, basePos, 1, level_vertexes[lname]["gvid"])
  85.             basePos.x = basePos.x + (math.random()*2) - (math.random()*2)
  86.             basePos.z = basePos.z + (math.random()*2) - (math.random()*2)
  87.                 end
  88.             end
  89.         end
  90.     else
  91.         blowoutext.SendHudMessage("DEBUG:", "BATTLE", nil, 20, nil)
  92.         local curTable = anon_resources.event_table[lname].battle
  93.         local eventnum = math.random(#curTable)
  94.         local basePos = lelvec
  95.         --Begin Side 1 spawning
  96.         local s1num = curTable[eventnum].side1[2]
  97.         if curTable[eventnum].side1[3] == true then
  98.             s1num = math.random(s1num)
  99.         end
  100.         --Select a random direction and offset
  101.         local r = (math.random()*3) + 10
  102.         local theta = math.random()*(2*math.pi)
  103.         --apply the offset
  104.         basePos.x = basePos.x + (r*math.cos(theta))
  105.         basePos.z = basePos.z + (r*math.sin(theta))
  106.         --Do the spawning
  107.         for ind = 1, s1num do
  108.             local s1 = curTable[eventnum].side1_troops[math.random(#curTable[eventnum].side1_troops)]
  109.             alife():create(s1, basePos, 1, level_vertexes[lname]["gvid"])
  110.             basePos.x = basePos.x + (math.random()*2) - (math.random()*2)
  111.             basePos.z = basePos.z + (math.random()*2) - (math.random()*2)
  112.         end
  113.         --------------------------------------------------------------------------------------------------
  114.         --Begin Side 2 spawning
  115.         local s2num = curTable[eventnum].side2[2]
  116.         if curTable[eventnum].side2[3] == true then
  117.             s2num = math.random(s2num)
  118.         end
  119.         --Reset basePos and reverse the offset
  120.         basePos = lelvec
  121.         r = -r
  122.         --apply the offset
  123.         basePos.x = basePos.x + (r*math.cos(theta))
  124.         basePos.z = basePos.z + (r*math.sin(theta))
  125.         --Do the spawning
  126.         for ind = 1, s2num do
  127.             local s2 = curTable[eventnum].side2_troops[math.random(#curTable[eventnum].side2_troops)]
  128.             alife():create(s2, basePos, 1, level_vertexes[lname]["gvid"])
  129.             basePos.x = basePos.x + (math.random()*2) - (math.random()*2)
  130.             basePos.z = basePos.z + (math.random()*2) - (math.random()*2)
  131.         end
  132.     end
  133. end
Advertisement
Add Comment
Please, Sign In to add comment