示例#1
0
        public SkillStringTemplate(int id, IDataProperty property)
        {
            ID = id;

            Name = property.ResolveOrDefault <string>("name") ?? "NO-NAME";
            Desc = property.ResolveOrDefault <string>("desc");
        }
示例#2
0
        public FieldStringTemplate(int id, IDataProperty property)
        {
            ID = id;

            MapName    = property.ResolveOrDefault <string>("mapName") ?? "NO-NAME";
            StreetName = property.ResolveOrDefault <string>("streetName");
        }
示例#3
0
 public FieldPortalTemplate(IDataProperty property)
 {
     ID       = Convert.ToInt32(property.Name);
     Name     = property.ResolveOrDefault <string>("pn");
     Type     = (FieldPortalType)(property.Resolve <int>("pt") ?? 0);
     Script   = property.ResolveOrDefault <string>("script");
     ToMap    = property.Resolve <int>("tm") ?? int.MinValue;
     ToName   = property.ResolveOrDefault <string>("tn");
     Position = new Point(
         property.Resolve <int>("x") ?? int.MinValue,
         property.Resolve <int>("y") ?? int.MinValue
         );
 }
示例#4
0
        public ContinentTemplate(int id, IDataProperty property)
        {
            ID = id;

            Info = property.ResolveOrDefault <string>("info");

            property.Resolve("field").ResolveAll(f =>
            {
                StartShipMoveFieldID = f.Resolve <int>("startShipMoveFieldID") ?? 999999999;
                WaitFieldID          = f.Resolve <int>("waitFieldID") ?? 999999999;
                MoveFieldID          = f.Resolve <int>("moveFieldID") ?? 999999999;
                CabinFieldID         = f.Resolve <int>("cabinFieldID");
                EndFieldID           = f.Resolve <int>("endFieldID") ?? 999999999;
                EndShipMoveFieldID   = f.Resolve <int>("endShipMoveFieldID") ?? 999999999;
            });

            property.Resolve("scheduler").ResolveAll(s =>
            {
                Term  = s.Resolve <int>("tTerm") ?? 1;
                Delay = s.Resolve <int>("tDelay") ?? 0;
            });

            property.Resolve("genMob")?.ResolveAll(g =>
                                                   GenMob = new ContinentGenMobTemplate(0, g.ResolveAll())
                                                   );

            Event = GenMob != null;

            property.Resolve("time").ResolveAll(t =>
            {
                Wait     = t.Resolve <int>("tWait") ?? 1;
                EventEnd = t.Resolve <int>("tEventEnd") ?? 0;
                Required = t.Resolve <int>("tRequired") ?? 0;
            });
        }
示例#5
0
        public NPCScriptTemplate(IDataProperty property)
        {
            ID = Convert.ToInt32(property.Name);

            Script = property.ResolveOrDefault <string>("script");
            Start  = property.Resolve <int>("start") ?? 0;
            End    = property.Resolve <int>("end") ?? 0;
        }
示例#6
0
        public FieldLifeTemplate(IDataProperty property)
        {
            ID   = property.Resolve <int>("id") ?? -1;
            Type = property.ResolveOrDefault <string>("type").ToLower() == "n"
                ? FieldLifeType.NPC
                : FieldLifeType.Monster;

            MobTime = property.Resolve <int>("mobTime") ?? 0;

            Left     = !(property.Resolve <bool>("f") ?? false);
            Position = new Point(
                property.Resolve <int>("x") ?? int.MinValue,
                property.Resolve <int>("y") ?? int.MinValue
                );
            RX0 = property.Resolve <int>("rx0") ?? int.MinValue;
            RX1 = property.Resolve <int>("rx1") ?? int.MinValue;
            FH  = property.Resolve <int>("fh") ?? 0;
        }
示例#7
0
        public SkillLevelTemplate(int id, int skillID, IDataProperty property, bool resolveExpression = true)
        {
            ID      = id;
            SkillID = skillID;

            if (resolveExpression)
            {
                var x = new Argument("x", id);

                var u = new Function("u", "ceil(x)", "x");
                var d = new Function("d", "floor(x)", "x");

                HP    = ResolveExpression(property.ResolveOrDefault <string>("hp"), x, u, d);
                MP    = ResolveExpression(property.ResolveOrDefault <string>("mp"), x, u, d);
                PAD   = ResolveExpression(property.ResolveOrDefault <string>("pad"), x, u, d);
                PDD   = ResolveExpression(property.ResolveOrDefault <string>("pdd"), x, u, d);
                MAD   = ResolveExpression(property.ResolveOrDefault <string>("mad"), x, u, d);
                MDD   = ResolveExpression(property.ResolveOrDefault <string>("mdd"), x, u, d);
                ACC   = ResolveExpression(property.ResolveOrDefault <string>("acc"), x, u, d);
                EVA   = ResolveExpression(property.ResolveOrDefault <string>("eva"), x, u, d);
                Craft = ResolveExpression(property.ResolveOrDefault <string>("craft"), x, u, d);
                Speed = ResolveExpression(property.ResolveOrDefault <string>("speed"), x, u, d);
                Jump  = ResolveExpression(property.ResolveOrDefault <string>("jump"), x, u, d);
                Morph = ResolveExpression(property.ResolveOrDefault <string>("morph"), x, u, d);
                Time  = ResolveExpression(property.ResolveOrDefault <string>("time"), x, u, d);
                X     = ResolveExpression(property.ResolveOrDefault <string>("x"), x, u, d);
                Y     = ResolveExpression(property.ResolveOrDefault <string>("y"), x, u, d);
                Z     = ResolveExpression(property.ResolveOrDefault <string>("z"), x, u, d);
                EMHP  = ResolveExpression(property.ResolveOrDefault <string>("emhp"), x, u, d);
                EMMP  = ResolveExpression(property.ResolveOrDefault <string>("emmp"), x, u, d);
                EPAD  = ResolveExpression(property.ResolveOrDefault <string>("epad"), x, u, d);
                EMAD  = ResolveExpression(property.ResolveOrDefault <string>("emad"), x, u, d);
                EPDD  = ResolveExpression(property.ResolveOrDefault <string>("epdd"), x, u, d);
                EMDD  = ResolveExpression(property.ResolveOrDefault <string>("emdd"), x, u, d);
                return;
            }

            HP    = (short)(property.Resolve <int>("hp") ?? 0);
            MP    = (short)(property.Resolve <int>("mp") ?? 0);
            PAD   = (short)(property.Resolve <int>("pad") ?? 0);
            PDD   = (short)(property.Resolve <int>("pdd") ?? 0);
            MAD   = (short)(property.Resolve <int>("mad") ?? 0);
            MDD   = (short)(property.Resolve <int>("mdd") ?? 0);
            ACC   = (short)(property.Resolve <int>("acc") ?? 0);
            EVA   = (short)(property.Resolve <int>("eva") ?? 0);
            Craft = (short)(property.Resolve <int>("craft") ?? 0);
            Speed = (short)(property.Resolve <int>("speed") ?? 0);
            Jump  = (short)(property.Resolve <int>("jump") ?? 0);
            Morph = (short)(property.Resolve <int>("morph") ?? 0);
            Time  = (short)(property.Resolve <int>("time") ?? 0);
            X     = (short)(property.Resolve <int>("x") ?? 0);
            Y     = (short)(property.Resolve <int>("y") ?? 0);
            Z     = (short)(property.Resolve <int>("z") ?? 0);
            EMHP  = (short)(property.Resolve <int>("emhp") ?? 0);
            EMMP  = (short)(property.Resolve <int>("emmp") ?? 0);
            EPAD  = (short)(property.Resolve <int>("epad") ?? 0);
            EMAD  = (short)(property.Resolve <int>("emad") ?? 0);
            EPDD  = (short)(property.Resolve <int>("epdd") ?? 0);
            EMDD  = (short)(property.Resolve <int>("emdd") ?? 0);
        }
示例#8
0
 public QuestCheckTemplate(int id, IDataProperty property) : base(id, property)
 {
     StartScript = property.ResolveOrDefault <string>("startscript");
     EndScript   = property.ResolveOrDefault <string>("endscript");
 }
示例#9
0
        public QuestStringTemplate(int id, IDataProperty property)
        {
            ID = id;

            Name = property.ResolveOrDefault <string>("name") ?? "NO-NAME";
        }