NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

threat.py (1073B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\behaviors\utility\threat.py
      2 import gametime
      3 
      4 def get_damage_tracker(task):
      5     return task.context.damageTracker
      6 
      7 
      8 def get_damage_and_healing(task, target_id, sample_interval_seconds):
      9     damage_tracker = get_damage_tracker(task)
     10     return get_damage_and_healing_with_tracker(damage_tracker, target_id, sample_interval_seconds)
     11 
     12 
     13 def get_damage_and_healing_with_tracker(damage_tracker, target_id, sample_interval_seconds = 10.0):
     14     time_stamp = gametime.GetSimTimeAfterSeconds(-sample_interval_seconds)
     15     damage = damage_tracker.GetDamageForShipSince(target_id, time_stamp, toNpcOnly=True)
     16     healing = damage_tracker.GetHealingDoneByShipSince(target_id, time_stamp)
     17     return damage + healing
     18 
     19 
     20 def evaluate_target(damage_tacker, dogma_lm, target_id, sample_interval_seconds):
     21     threat_value = get_damage_and_healing_with_tracker(damage_tacker, target_id, sample_interval_seconds)
     22     if dogma_lm.IsShipAbandoned(target_id):
     23         threat_value *= 0.1
     24     return threat_value