|  |  | 
 |  |  |         elif defObj.GetGameNPCObjType() == IPY_GameWorld.gnotTruck:
 | 
 |  |  |             remainHP = max(PlayerTruck.GetTruckDestroyMinHP(defObj), remainHP)
 | 
 |  |  |             GameObj.SetHP(defObj, remainHP)
 | 
 |  |  |          | 
 |  |  |         elif defObj.GetType() == ChConfig.ntHelpBattleRobot:
 | 
 |  |  |             remainHP = min(dHP, max(GameObj.GetMaxHP(defObj)/2, remainHP)) # 助战机器人剩余血量不能少于一半
 | 
 |  |  |             GameObj.SetHP(defObj, remainHP)
 | 
 |  |  |              | 
 |  |  |         else:
 | 
 |  |  |             #防守方是怪物NPC,只扣其血
 | 
 |  |  |             GameObj.SetHP(defObj, remainHP)
 | 
 |  |  | 
 |  |  |     
 | 
 |  |  |     #---NPC处理---
 | 
 |  |  |     if not ChNPC.OnCheckCanDie(atkObj, curObjDetel, curSkill, tick):
 | 
 |  |  |         GameObj.SetHP(curObjDetel, 1)
 | 
 |  |  |         return
 | 
 |  |  |     
 | 
 |  |  |     npcControl = NPCCommon.NPCControl(curObjDetel)
 |