Skip to content

Commit bea567a

Browse files
authored
Add interpreter support for unit natives (#1279)
1 parent 2803032 commit bea567a

5 files changed

Lines changed: 878 additions & 6 deletions

File tree

de.peeeq.wurstscript/src/main/java/de/peeeq/wurstio/jassinterpreter/mocks/ItemMock.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ public class ItemMock {
88
public ILconstInt id;
99
public ILconstReal x;
1010
public ILconstReal y;
11+
public ILconstReal life = ILconstReal.create(100);
1112
private ILconstBool visible;
1213

1314
public ItemMock(ILconstInt id, ILconstReal x, ILconstReal y) {

de.peeeq.wurstscript/src/main/java/de/peeeq/wurstio/jassinterpreter/mocks/UnitMock.java

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
import de.peeeq.wurstscript.intermediatelang.IlConstHandle;
66

77
import java.util.HashMap;
8+
import java.util.HashSet;
9+
import java.util.Set;
810

911
public class UnitMock {
1012
public IlConstHandle owner;
@@ -13,8 +15,43 @@ public class UnitMock {
1315
public ILconstReal y;
1416
public ILconstReal face;
1517
public boolean removed;
18+
public boolean hidden;
19+
public boolean paused;
20+
public boolean invulnerable;
21+
public boolean pathing = true;
22+
public boolean useFood = true;
23+
public boolean exploded;
24+
public final Set<Integer> selectedPlayers = new HashSet<>();
25+
public boolean suspendedXp;
26+
public boolean sleeping;
27+
public boolean canSleep = true;
28+
public boolean canSleepPerm = true;
29+
public ILconstReal acquireRange = ILconstReal.create(0);
30+
public ILconstReal defaultAcquireRange = ILconstReal.create(0);
31+
public ILconstReal waygateX = ILconstReal.create(0);
32+
public ILconstReal waygateY = ILconstReal.create(0);
33+
public boolean waygateActive;
34+
public ILconstReal moveSpeed = ILconstReal.create(0);
35+
public ILconstReal defaultMoveSpeed = ILconstReal.create(0);
36+
public ILconstReal flyHeight = ILconstReal.create(0);
37+
public ILconstReal defaultFlyHeight = ILconstReal.create(0);
38+
public ILconstReal turnSpeed = ILconstReal.create(0);
39+
public ILconstReal defaultTurnSpeed = ILconstReal.create(0);
40+
public ILconstReal propWindow = ILconstReal.create(0);
41+
public ILconstReal defaultPropWindow = ILconstReal.create(0);
42+
public ILconstInt level = ILconstInt.create(1);
43+
public ILconstInt heroXp = ILconstInt.create(0);
44+
public ILconstInt heroStr = ILconstInt.create(0);
45+
public ILconstInt heroAgi = ILconstInt.create(0);
46+
public ILconstInt heroInt = ILconstInt.create(0);
47+
public ILconstInt skillPoints = ILconstInt.create(0);
48+
public ILconstInt resourceAmount = ILconstInt.create(0);
1649
public final HashMap<String, ILconstReal> states = new HashMap<>();
1750
public final HashMap<Integer, ILconstInt> abilityLevels = new HashMap<>();
51+
public final Set<Integer> permanentAbilities = new HashSet<>();
52+
public final Set<String> unitTypes = new HashSet<>();
53+
public final java.util.ArrayList<IlConstHandle> inventory = new java.util.ArrayList<>();
54+
public IlConstHandle race;
1855
public ILconstInt currentOrder = ILconstInt.create(0);
1956

2057
public UnitMock(IlConstHandle owner, ILconstInt unitid, ILconstReal x, ILconstReal y, ILconstReal face) {
@@ -28,4 +65,5 @@ public UnitMock(IlConstHandle owner, ILconstInt unitid, ILconstReal x, ILconstRe
2865
states.put("unitstate2", ILconstReal.create(0));
2966
states.put("unitstate3", ILconstReal.create(0));
3067
}
68+
3169
}

de.peeeq.wurstscript/src/main/java/de/peeeq/wurstio/jassinterpreter/providers/ConversionProvider.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public static IlConstHandle enumHandle(String typeName, int value) {
2020
}
2121

2222
public IlConstHandle ConvertRace(ILconstInt i) {
23-
return new IlConstHandle("race" + i, new LinkedHashSet<>());
23+
return enumHandle("race", i.getVal());
2424
}
2525

2626
public IlConstHandle ConvertAllianceType(ILconstInt i) {
@@ -96,7 +96,7 @@ public IlConstHandle ConvertLimitOp(ILconstInt i) {
9696
}
9797

9898
public IlConstHandle ConvertUnitType(ILconstInt i) {
99-
return new IlConstHandle("unittype" + i, new LinkedHashSet<>());
99+
return enumHandle("unittype", i.getVal());
100100
}
101101

102102
public IlConstHandle ConvertGameSpeed(ILconstInt i) {

0 commit comments

Comments
 (0)