public static void OnDamage(NPCProto npc, NPCProto victim, NPCProto attacker, int damage, bool dropUnconscious, bool dropDead) { NPCAI ai = npc.getAI(); if (victim.HP != 0) { if (npc.getAttitudeToGuild(victim.getGuild()) == Enumeration.GuildsAttitude.FRIENDLY && npc.getAttitudeToGuild(attacker.getGuild()) != Enumeration.GuildsAttitude.FRIENDLY) { ai.addEnemy(attacker); } else if (npc.getAttitudeToGuild(attacker.getGuild()) == Enumeration.GuildsAttitude.FRIENDLY && npc.getAttitudeToGuild(victim.getGuild()) != Enumeration.GuildsAttitude.FRIENDLY) { ai.addEnemy(victim); } } else if (ai.AssessBodyRoutine != null) { ai.AssessBodyRoutine(npc, victim); } }
public static void OnDamage(NPCProto npc, NPCProto victim, NPCProto attacker, int damage, bool dropUnconscious, bool dropDead) { NPCAI ai = victim.getAI(); if (victim.HP == 0) { victim.standAnim(); victim.playAnimation("S_DEADB"); return; } if (attacker == null) { return; } ai.addEnemy(attacker); }