Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def accuracy_calc():
- agent_accuracy=xcom_unit["accuracy"]
- accuracy=agent_accuracy
- if xcom_unit["r_hand"]!=0 and xcom_unit["l_hand"]!=0 and calc_size():
- agent_accuracy = 140 * agent_accuracy / 100
- curr_remain_TUs_2_mod=calc_frame_speed()[1]
- move_mode=calc_frame_speed()[0]
- if move_mode:
- v7 = curr_remain_TUs_2_mod
- v8 = move_mode
- if v8 >= v7 // 5:
- if v8 <= 2 * v7 // 5 :
- pass
- agent_accuracy = 125 * agent_accuracy/100
- else:
- agent_accuracy = 95 * agent_accuracy/100
- else:
- agent_accuracy = 80 * agent_accuracy/100
- # 0=stend up,1=kneel down,2=crawl
- if xcom_unit["kneeling"]==1:
- agent_accuracy = 80 * agent_accuracy / 100
- if xcom_unit["kneeling"] == 2 : #crawl
- agent_accuracy = 60 * agent_accuracy / 100
- #
- if xcom_unit["fly"]:
- agent_accuracy = 115 * agent_accuracy / 100
- # 3-aim,2-snap,1-auto
- if xcom_unit["shot_mode"] == 1:
- agent_accuracy *= 2
- if xcom_unit["shot_mode"] == 3:
- agent_accuracy /= 2
- if xcom_unit["activ_hand"]:
- accuracy_weapon = hand_r["accuracy"]/2
- else:
- accuracy_weapon = hand_l["accuracy"]/2
- health_value=100*(xcom_unit["max_health"]-xcom_unit["current_health"])/xcom_unit["current_health"]
- #field_45-uncnown, for xcom=0
- field_45=0
- if field_45 > 1:
- hand_wound_value = 100 * calc_wounds()
- else:
- if xcom_unit["activ_hand"]:
- hand_wound_value = 150 * hand_r["wound"]
- else:
- hand_wound_value = 150 * hand_l["wound"]
- if xcom_unit["berserk_mod"]:
- berserk_value = 200
- else:
- berserk_value = 0
- if alien["cloaking"]:
- cloaking_value = 2000/(calc_dist(xcom_unit["coord"][0],xcom_unit["coord"][1],xcom_unit["coord"][2],
- alien["coord"][0],alien["coord"][1],alien["coord"][2])+3)
- else:
- cloaking_value = 0
- accuracy=math.sqrt(hand_wound_value*hand_wound_value+agent_accuracy*agent_accuracy+accuracy_weapon*accuracy_weapon+berserk_value*berserk_value+
- cloaking_value*cloaking_value+health_value*health_value)
- accuracy=math.floor(accuracy)
- line = accuracy // 2;
- if accuracy / 2 > 50 :
- line = 49
- accuracy_line = 50 - line
- return accuracy_line
Add Comment
Please, Sign In to add comment