Guest User

Untitled

a guest
May 15th, 2020
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.42 KB | None | 0 0
  1. def accuracy_calc():
  2.  
  3. agent_accuracy=xcom_unit["accuracy"]
  4. accuracy=agent_accuracy
  5. if xcom_unit["r_hand"]!=0 and xcom_unit["l_hand"]!=0 and calc_size():
  6. agent_accuracy = 140 * agent_accuracy / 100
  7. curr_remain_TUs_2_mod=calc_frame_speed()[1]
  8. move_mode=calc_frame_speed()[0]
  9.  
  10. if move_mode:
  11. v7 = curr_remain_TUs_2_mod
  12. v8 = move_mode
  13. if v8 >= v7 // 5:
  14. if v8 <= 2 * v7 // 5 :
  15. pass
  16. agent_accuracy = 125 * agent_accuracy/100
  17. else:
  18. agent_accuracy = 95 * agent_accuracy/100
  19.  
  20. else:
  21. agent_accuracy = 80 * agent_accuracy/100
  22.  
  23. # 0=stend up,1=kneel down,2=crawl
  24. if xcom_unit["kneeling"]==1:
  25. agent_accuracy = 80 * agent_accuracy / 100
  26. if xcom_unit["kneeling"] == 2 : #crawl
  27. agent_accuracy = 60 * agent_accuracy / 100
  28.  
  29. #
  30. if xcom_unit["fly"]:
  31. agent_accuracy = 115 * agent_accuracy / 100
  32.  
  33. # 3-aim,2-snap,1-auto
  34. if xcom_unit["shot_mode"] == 1:
  35. agent_accuracy *= 2
  36. if xcom_unit["shot_mode"] == 3:
  37. agent_accuracy /= 2
  38.  
  39. if xcom_unit["activ_hand"]:
  40. accuracy_weapon = hand_r["accuracy"]/2
  41. else:
  42. accuracy_weapon = hand_l["accuracy"]/2
  43.  
  44. health_value=100*(xcom_unit["max_health"]-xcom_unit["current_health"])/xcom_unit["current_health"]
  45.  
  46. #field_45-uncnown, for xcom=0
  47. field_45=0
  48. if field_45 > 1:
  49. hand_wound_value = 100 * calc_wounds()
  50. else:
  51. if xcom_unit["activ_hand"]:
  52. hand_wound_value = 150 * hand_r["wound"]
  53. else:
  54. hand_wound_value = 150 * hand_l["wound"]
  55.  
  56. if xcom_unit["berserk_mod"]:
  57. berserk_value = 200
  58. else:
  59. berserk_value = 0
  60.  
  61. if alien["cloaking"]:
  62. cloaking_value = 2000/(calc_dist(xcom_unit["coord"][0],xcom_unit["coord"][1],xcom_unit["coord"][2],
  63. alien["coord"][0],alien["coord"][1],alien["coord"][2])+3)
  64. else:
  65. cloaking_value = 0
  66.  
  67.  
  68. accuracy=math.sqrt(hand_wound_value*hand_wound_value+agent_accuracy*agent_accuracy+accuracy_weapon*accuracy_weapon+berserk_value*berserk_value+
  69. cloaking_value*cloaking_value+health_value*health_value)
  70. accuracy=math.floor(accuracy)
  71.  
  72. line = accuracy // 2;
  73. if accuracy / 2 > 50 :
  74. line = 49
  75. accuracy_line = 50 - line
  76.  
  77.  
  78.  
  79. return accuracy_line
Add Comment
Please, Sign In to add comment