示例#1
0
        public override bool Check(Player player, MapElementInfo onMap, string sett, NVector pos)
        {
            if (sett == "building")
            {
                return(S.Building().Free(pos));
            }

            return(S.Unit().Free(pos));
        }
示例#2
0
        private bool CheckPercent(Player player, MapElementInfo onMap, string sett, NVector pos)
        {
            float goal = (ValueAct(player, onMap, GetElement(sett), sett, pos) * 1f /
                          ValueMax(player, onMap, GetElement(sett), sett, pos)) * 100;

            if (sett[0] == '>')
            {
                return(goal >= GetAmount(sett));
            }

            return(goal <= GetAmount(sett));
        }
示例#3
0
        protected override int ValueAct(Player player, MapElementInfo onMap, string element, string sett, NVector pos)
        {
            switch (element)
            {
            case "atk":
                return(onMap.data.atk);

            case "def":
                return(onMap.data.def);

            default:
                throw new ArgumentException("Argument " + sett + " is missing");
            }
        }
示例#4
0
        public override bool Check(Player player, MapElementInfo onMap, string sett, NVector pos)
        {
            //%?
            if (sett.Split(':')[0].EndsWith("%"))
            {
                return(CheckPercent(player, onMap, sett, pos));
            }

            if (sett[0] == '>')
            {
                return(ValueAct(player, onMap, GetElement(sett), sett, pos) >= GetAmount(sett));
            }
            return(ValueAct(player, onMap, GetElement(sett), sett, pos) <= GetAmount(sett));
        }
示例#5
0
        public override string Desc(Player player, MapElementInfo onMap, string sett, NVector pos)
        {
            if (sett == "building")
            {
                if (S.Building().Free(pos))
                {
                    return(Desc(player, sett));
                }

                return(S.T("reqHere", Desc(player, sett), S.Building(pos).name));
            }
            if (S.Unit().Free(pos))
            {
                return(Desc(player, sett));
            }
            return(S.T("reqHere", Desc(player, sett), S.Unit(pos).name));
        }
示例#6
0
        protected override int ValueAct(Player player, MapElementInfo onMap, string element, string sett, NVector pos)
        {
            Town t;

            if (onMap != null)
            {
                t = onMap.Town();
                if (t == null)
                {
                    return(ValueAct(player, element, sett));
                }
            }
            else
            {
                t = S.Towns().NearestTown(player, pos, false);
            }

            return(S.Building().GetByTownType(t.id, element, TryParseBool(sett)).Length);
        }
示例#7
0
        protected override int ValueMax(Player player, MapElementInfo onMap, string element, string sett, NVector pos)
        {
            DataTerrain dataTerrain = S.Map().Terrain(pos);

            return(dataTerrain.ResChance(element));
        }
示例#8
0
 public override string Desc(Player player, MapElementInfo onMap, string sett, NVector pos)
 {
     return(Desc(player, sett));
 }
示例#9
0
 public override bool Final(Player player, MapElementInfo onMap, string sett, NVector pos)
 {
     return(false);
 }
示例#10
0
 public override bool Check(Player player, MapElementInfo onMap, string sett, NVector pos)
 {
     return(true);
 }
示例#11
0
 protected abstract int ValueAct(Player player, MapElementInfo onMap, string element, string sett, NVector pos);
示例#12
0
 protected override int ValueAct(Player player, MapElementInfo onMap, string element, string sett, NVector pos)
 {
     return(S.Unit().GetByPlayerType(player.id, element).Length);
 }
示例#13
0
 protected override int ValueAct(Player player, MapElementInfo onMap, string element, string sett, NVector pos)
 {
     return(10);//onMap.data.spells.known.Count;
 }
示例#14
0
 protected override int ValueMax(Player player, MapElementInfo onMap, string element, string sett, NVector pos)
 {
     return(L.b.spells.Length);
 }
示例#15
0
 protected override int ValueAct(Player player, MapElementInfo onMap, string element, string sett, NVector pos)
 {
     return(GameMgmt.Get().data.map.levels[pos.level].ResGen(pos.x, pos.y, element));
 }
示例#16
0
 public override bool Check(Player player, MapElementInfo onMap, string sett, NVector pos)
 {
     return(!base.Check(player, onMap, sett, pos));
 }
示例#17
0
 protected override int ValueMax(Player player, MapElementInfo onMap, string element, string sett, NVector pos)
 {
     throw new NotImplementedException();
 }
示例#18
0
 protected override int ValueMax(Player player, MapElementInfo onMap, string element, string sett, NVector pos)
 {
     //todo
     return(10);
 }
示例#19
0
文件: ReqAp.cs 项目: TrutzX/9Nations
 protected override int ValueAct(Player player, MapElementInfo onMap, string element, string sett, NVector pos)
 {
     return(onMap.data.ap);
 }
示例#20
0
 public override string Desc(Player player, MapElementInfo onMap, string sett, NVector pos)
 {
     //TODO update for %
     return(Desc(player, sett) + $" You have {ValueAct(player, onMap, GetElement(sett), sett, pos)}x {Name(GetElement(sett),sett)}.");
 }