Closed TforTrevor closed 3 years ago
"InfinityStone.del" --> SetHolder --> if (HeroOf(player) == Hero.DoomfistManager) hero cannot be DoomfistManager
Can't believe I missed that lol. Sadly, that was not the issue, I am still getting the error after fixing the typo.
In your InfinityStone constructor, you attempt to store a workshop constant in a variable. You cannot do this.
public InfinityStone(define n, Color c) {
name = n;
color = c; // Errors
}
Yeah, that fixed it. Any plans on allowing this or am I going about colors the wrong way?
It is a limitation of the workshop itself. You cannot store a constant workshop type such as Color
in a variable.
There is a workaround however, you can do something like this.
enum StoreColor
{
Blue,
Red,
Yellow,
Green
}
...
private StoreColor color;
private define effect;
...
public InfinityStone(define n, StoreColor c) {
name = n;
color = c;
}
...
public void SetHolder(define player) {
effect = MakeEffect();
...
define MakeEffect()
{
switch (color)
{
case StoreColor.Blue: MakeEffect(Color.Blue); break;
case StoreColor.Red: MakeEffect(Color.Red); break;
case StoreColor.Yellow: MakeEffect(Color.Yellow); break;
case StoreColor.Green: MakeEffect(Color.Green); break;
}
return LastCreatedEntity();
}
define MakeEffect(Color color)
{
CreateEffect(player, Effect.Sphere, color, holder, 0.5, EffectRev.VisibleToPositionAndRadius);
}
Will label as bug since there should be a syntax error, not an exception.
This is fixed in 1.7
I can't figure out exactly what's causing this exception to occur. I tried debugging it, however I was getting a different error when opening the file directly with Deltinteger.exe
Error:
Code:
DoomfistManager.del
InfinityStone.del
SnappedPlayer.del