@Override public TrackStatus visit(int time, CombatLogEntry cle) { if (cle.getType() == DOTA_COMBATLOG_TYPES.DOTA_COMBATLOG_MODIFIER_ADD && cle.getInflictorName().equals(BH_TRACK)) { trackStatus.put(cle.getTargetName(), new TrackStatus(cle.getAttackerName(), true)); } if (cle.getType() == DOTA_COMBATLOG_TYPES.DOTA_COMBATLOG_MODIFIER_REMOVE && cle.getInflictorName().equals(BH_TRACK)) { trackStatus.remove(cle.getTargetName()); } if (cle.getType() == DOTA_COMBATLOG_TYPES.DOTA_COMBATLOG_DEATH && trackStatus.getOrDefault(cle.getTargetName(), new TrackStatus()).tracked) { return trackStatus.get(cle.getTargetName()); } return null; } }
if (cle.getType() == DOTA_COMBATLOG_TYPES.DOTA_COMBATLOG_MODIFIER_ADD && cle.getAttackerName().equals("npc_dota_hero_alchemist") && cle.getInflictorName().equals("modifier_alchemist_goblins_greed") && !cle.isAttackerIllusion()) { greevilsGreedLearned = true;
getAttackerNameCompiled(cle), getTargetNameCompiled(cle), cle.getInflictorName() != null ? String.format(" with %s", cle.getInflictorName()) : "", cle.getValue(), cle.getHealth() != 0 ? String.format(" (%s->%s)", cle.getHealth() + cle.getValue(), cle.getHealth()) : "" time, getAttackerNameCompiled(cle), cle.getInflictorName(), getTargetNameCompiled(cle), cle.getValue(), time, getTargetNameCompiled(cle), cle.getInflictorName(), getAttackerNameCompiled(cle) ); time, getTargetNameCompiled(cle), cle.getInflictorName() ); break; getAttackerNameCompiled(cle), cle.isAbilityToggleOn() || cle.isAbilityToggleOff() ? "toggles" : "casts", cle.getInflictorName(), cle.getAbilityLevel(), cle.isAbilityToggleOn() ? " on" : cle.isAbilityToggleOff() ? " off" : "",
combatLogEntry.sourcename = cle.getDamageSourceName(); combatLogEntry.targetsourcename = cle.getTargetSourceName(); combatLogEntry.inflictor = cle.getInflictorName(); combatLogEntry.attackerhero = cle.isAttackerHero(); combatLogEntry.targethero = cle.isTargetHero();