Exemplo n.º 1
0
        public void setAddress(IntDef address)
        {
            IntDef playerID = new IntDef((address.getIndex() / 4) - 1452249, address.UseHex);

            set <IntDef>(playerID, 0);
        }
Exemplo n.º 2
0
 public void setAmount(IntDef amount)
 {
     set <IntDef>(amount, 2);
 }
Exemplo n.º 3
0
        public IntDef getAddress()
        {
            IntDef playerID = get <IntDef>(0);

            return(new IntDef((playerID.getIndex() + 1452249) * 4, playerID.UseHex));
        }
Exemplo n.º 4
0
        private Condition GetCondition(CommandToken ct)
        {
            int position = ct.getPosition();

            if (ct.isAccumulate())
            {
                return(new ConditionAccumulate(this));
            }
            else if (ct.isAlways())
            {
                return(new ConditionAlways(this));
            }
            else if (ct.isBring())
            {
                return(new ConditionBring(this));
            }
            else if (ct.isCommand())
            {
                return(new ConditionCommand(this));
            }
            else if (ct.isCommandTheLeast())
            {
                return(new ConditionCommandTheLeast(this));
            }
            else if (ct.isCommandTheLeastAt())
            {
                return(new ConditionCommandTheLeastAt(this));
            }
            else if (ct.isCommandTheMost())
            {
                return(new ConditionCommandTheMost(this));
            }
            else if (ct.isCommandsTheMostAt())
            {
                return(new ConditionCommandsTheMostAt(this));
            }
            else if (ct.isCountdownTimer())
            {
                return(new ConditionCountdownTimer(this));
            }
            else if (ct.isDeaths())
            {
                ConditionDeaths d      = new ConditionDeaths(this);
                UnitVanillaDef  unit   = d.getUnitDef();
                PlayerDef       player = d.getPlayerDef();
                IntDef          amount = d.getAmount();
                Quantifier      q      = d.getQuantifier();
                if (unit.getIndex() > unit.getMaxValue())   // EUD Condition
                {
                    int pid  = player.getIndex();
                    int uid  = unit.getIndex();
                    int oid  = amount.getIndex();
                    int addr = (uid * 12) + pid;

                    ConditionMemory cm   = new ConditionMemory(new DummyParser(new Token[] { new LeftBracket(position), new NumToken(addr.ToString(), position), new Comma(position), new CommandToken(q.ToString(), position), new Comma(position), new NumToken(oid.ToString(), position), new RightBracket(position) }));
                    EPDCondition    cond = EPDCondition.get(cm);
                    if (cond != null)
                    {
                        return(cond);
                    }

                    return(cm);
                }

                return(d);
            }
            else if (ct.isElapsedTime())
            {
                return(new ConditionElapsedTime(this));
            }
            else if (ct.isHighestScore())
            {
                return(new ConditionHighestScore(this));
            }
            else if (ct.isKill())
            {
                return(new ConditionKill(this));
            }
            else if (ct.isLeastKills())
            {
                return(new ConditionLeastKills(this));
            }
            else if (ct.isLeastResources())
            {
                return(new ConditionLeastResources(this));
            }
            else if (ct.isLowestScore())
            {
                return(new ConditionLowestScore(this));
            }
            else if (ct.isMostKills())
            {
                return(new ConditionMostKills(this));
            }
            else if (ct.isMostResources())
            {
                return(new ConditionMostResources(this));
            }
            else if (ct.isNever())
            {
                return(new ConditionNever(this));
            }
            else if (ct.isOpponents())
            {
                return(new ConditionOpponents(this));
            }
            else if (ct.isScore())
            {
                return(new ConditionScore(this));
            }
            else if (ct.isSwitch())
            {
                return(new ConditionSwitch(this));
            }
            else if (ct.isMemory())
            {
                ConditionMemory cm   = new ConditionMemory(this);
                EPDCondition    cond = EPDCondition.get(cm);
                if (cond != null)
                {
                    return(cond);
                }
                return(cm);
            }
            else if (ct.isCustom())
            {
                return(new ConditionCustom(this));
            }
            throw new NotImplementedException();
        }