Skip to content

Commit 1b62eb8

Browse files
authored
Merge pull request #25 from odota/revert-24-master
Revert "ward killer"
2 parents a5462e9 + 8958efe commit 1b62eb8

5 files changed

Lines changed: 45 additions & 299 deletions

File tree

src/main/java/opendota/Parse.java

Lines changed: 45 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,6 @@
3838
import opendota.combatlogvisitors.TrackVisitor;
3939
import opendota.combatlogvisitors.GreevilsGreedVisitor;
4040
import opendota.combatlogvisitors.TrackVisitor.TrackStatus;
41-
import opendota.processors.warding.OnWardExpired;
42-
import opendota.processors.warding.OnWardKilled;
43-
import opendota.processors.warding.OnWardPlaced;
4441

4542
public class Parse {
4643

@@ -404,6 +401,7 @@ else if (cle.getType() == DOTA_COMBATLOG_TYPES.DOTA_COMBATLOG_XP) {
404401

405402
@OnEntityEntered
406403
public void onEntityEntered(Context ctx, Entity e) {
404+
processEntity(ctx, e, false);
407405
if (e.getDtClass().getDtName().equals("CDOTAWearableItem")) {
408406
Integer accountId = getEntityProperty(e, "m_iAccountID", null);
409407
Integer itemDefinitionIndex = getEntityProperty(e, "m_iItemDefinitionIndex", null);
@@ -420,6 +418,11 @@ public void onEntityEntered(Context ctx, Entity e) {
420418
}
421419
}
422420
}
421+
422+
@OnEntityLeft
423+
public void onEntityLeft(Context ctx, Entity e) {
424+
processEntity(ctx, e, true);
425+
}
423426

424427
@UsesStringTable("EntityNames")
425428
@UsesEntities
@@ -724,43 +727,45 @@ public <T> T getEntityProperty(Entity e, String property, Integer idx) {
724727
}
725728
}
726729

727-
@OnWardKilled
728-
public void onWardKilled(Context ctx, Entity e, String killerHeroName) {
729-
Entry wardEntry = buildWardEntry(ctx, e);
730-
wardEntry.attackername = killerHeroName;
731-
output(wardEntry);
732-
}
733-
734-
@OnWardExpired
735-
@OnWardPlaced
736-
public void onWardExistenceChanged(Context ctx, Entity e) {
737-
output(buildWardEntry(ctx, e));
738-
}
739-
740-
private Entry buildWardEntry(Context ctx, Entity e) {
741-
Entry entry = new Entry(time);
742-
boolean isObserver = !e.getDtClass().getDtName().contains("TrueSight");
743-
Integer x = getEntityProperty(e, "CBodyComponent.m_cellX", null);
744-
Integer y = getEntityProperty(e, "CBodyComponent.m_cellY", null);
745-
Integer z = getEntityProperty(e, "CBodyComponent.m_cellZ", null);
746-
Integer life_state = getEntityProperty(e, "m_lifeState", null);
747-
Integer[] pos = {x, y};
748-
entry.x = x;
749-
entry.y = y;
750-
entry.z = z;
751-
entry.type = isObserver ? "obs" : "sen";
752-
entry.entityleft = life_state == 1;
753-
entry.key = Arrays.toString(pos);
754-
entry.ehandle = e.getHandle();
755-
756-
if (entry.entityleft) {
757-
entry.type += "_left";
730+
public void processEntity(Context ctx, Entity e, boolean entityLeft)
731+
{
732+
//CDOTA_NPC_Observer_Ward
733+
//CDOTA_NPC_Observer_Ward_TrueSight
734+
//s1 "DT_DOTA_NPC_Observer_Ward"
735+
//s1 "DT_DOTA_NPC_Observer_Ward_TrueSight"
736+
boolean isObserver = e.getDtClass().getDtName().equals("CDOTA_NPC_Observer_Ward");
737+
boolean isSentry = e.getDtClass().getDtName().equals("CDOTA_NPC_Observer_Ward_TrueSight");
738+
if (isObserver || isSentry) {
739+
//System.err.println(e);
740+
Entry entry = new Entry(time);
741+
Integer x = getEntityProperty(e, "CBodyComponent.m_cellX", null);
742+
Integer y = getEntityProperty(e, "CBodyComponent.m_cellY", null);
743+
Integer z = getEntityProperty(e, "CBodyComponent.m_cellZ", null);
744+
Integer[] pos = {x, y};
745+
entry.x = x;
746+
entry.y = y;
747+
entry.z = z;
748+
if (entityLeft)
749+
{
750+
entry.type = isObserver ? "obs_left" : "sen_left";
751+
}
752+
else
753+
{
754+
entry.type = isObserver ? "obs" : "sen";
755+
}
756+
entry.key = Arrays.toString(pos);
757+
entry.entityleft = entityLeft;
758+
entry.ehandle = e.getHandle();
759+
//System.err.println(entry.key);
760+
Integer owner = getEntityProperty(e, "m_hOwnerEntity", null);
761+
Entity ownerEntity = ctx.getProcessor(Entities.class).getByHandle(owner);
762+
entry.slot = ownerEntity != null ? (Integer) getEntityProperty(ownerEntity, "m_iPlayerID", null) : ward_ehandle_to_slot.get(entry.ehandle);
763+
if (entry.slot != null && !ward_ehandle_to_slot.containsKey(entry.ehandle)) {
764+
ward_ehandle_to_slot.put(entry.ehandle, entry.slot);
765+
}
766+
//2/3 radiant/dire
767+
//entry.team = e.getProperty("m_iTeamNum");
768+
output(entry);
758769
}
759-
760-
Integer owner = getEntityProperty(e, "m_hOwnerEntity", null);
761-
Entity ownerEntity = ctx.getProcessor(Entities.class).getByHandle(owner);
762-
entry.slot = ownerEntity != null ? (Integer) getEntityProperty(ownerEntity, "m_iPlayerID", null) : null;
763-
764-
return entry;
765770
}
766771
}

src/main/java/opendota/processors/warding/OnWardExpired.java

Lines changed: 0 additions & 19 deletions
This file was deleted.

src/main/java/opendota/processors/warding/OnWardKilled.java

Lines changed: 0 additions & 19 deletions
This file was deleted.

src/main/java/opendota/processors/warding/OnWardPlaced.java

Lines changed: 0 additions & 19 deletions
This file was deleted.

src/main/java/opendota/processors/warding/Wards.java

Lines changed: 0 additions & 202 deletions
This file was deleted.

0 commit comments

Comments
 (0)