コード例 #1
0
 public void AddPointTable(PointTable info)
 {
     if (!this.m_kPointTable.ContainsKey(info.m_nItemUnique))
     {
         this.m_kPointTable.Add(info.m_nItemUnique, info);
     }
 }
コード例 #2
0
        private void DoRaffle()
        {
            double totalPoints  = 0;
            var    validEntries = new Dictionary <PlayerMobile, double>();

            foreach (var kvp in PointTable)
            {
                validEntries[kvp.Key] = kvp.Value;
                totalPoints          += kvp.Value;
            }

            double randomPoints = Utility.RandomMinMax(1, totalPoints);

            totalPoints = 0;

            foreach (var kvp in validEntries)
            {
                totalPoints += kvp.Value;

                if (totalPoints >= randomPoints)
                {
                    var pm = kvp.Key;

                    PointTable.Remove(pm);
                    Winners[pm] = false;
                    return;
                }
            }
        }
コード例 #3
0
    private void ShowTicketList()
    {
        this.m_kList.SetMultiSelectMode(false);
        this.m_kList.Clear();
        List <ITEM> functionItemsByInvenType = NkUserInventory.instance.GetFunctionItemsByInvenType(6, eITEM_SUPPLY_FUNCTION.SUPPLY_GETSOLDIER);

        foreach (ITEM current in functionItemsByInvenType)
        {
            if (!NrTSingleton <ItemManager> .Instance.IsItemATB(current.m_nItemUnique, 2048L))
            {
                PointTable pointTable = NrTSingleton <PointManager> .Instance.GetPointTable(current.m_nItemUnique);

                if (pointTable != null)
                {
                    if (0 < pointTable.m_nGetPoint)
                    {
                        NewListItem newListItem = new NewListItem(this.m_kList.ColumnNum, true, string.Empty);
                        string      name        = NrTSingleton <ItemManager> .Instance.GetName(current);

                        newListItem.SetListItemData(1, current, null, null, null);
                        newListItem.SetListItemData(2, name, null, null, null);
                        newListItem.SetListItemData(3, NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("2254"), null, null, null);
                        newListItem.SetListItemData(4, NrTSingleton <CTextParser> .Instance.GetTextColor("1107") + pointTable.m_nGetPoint.ToString(), null, null, null);
                        newListItem.SetListItemData(5, false);
                        newListItem.SetListItemData(6, false);
                        newListItem.Data = current;
                        this.m_kList.Add(newListItem);
                    }
                }
            }
        }
        this.m_kList.RepositionItems();
        functionItemsByInvenType.Clear();
    }
コード例 #4
0
    private void ClickSelectItem(IUIObject obj)
    {
        ItemTooltipDlg itemTooltipDlg = NrTSingleton <FormsManager> .Instance.LoadForm(G_ID.ITEMTOOLTIP_DLG) as ItemTooltipDlg;

        if (this.m_itSelectItem.Data is ITEM)
        {
            ITEM pkItem = (ITEM)this.m_itSelectItem.Data;
            itemTooltipDlg.Set_Tooltip((G_ID)base.WindowID, pkItem, null, false);
        }
        else if (this.m_itSelectItem.Data is PointTable)
        {
            PointTable pointTable = (PointTable)this.m_itSelectItem.Data;
            ITEM       iTEM       = new ITEM();
            iTEM.Init();
            iTEM.m_nItemUnique = pointTable.m_nItemUnique;
            iTEM.m_nItemNum    = 1;
            itemTooltipDlg.Set_Tooltip((G_ID)base.WindowID, iTEM, null, false);
        }
        else if (this.m_itSelectItem.Data is JewelryTable)
        {
            JewelryTable jewelryTable = (JewelryTable)this.m_itSelectItem.Data;
            ITEM         iTEM2        = new ITEM();
            iTEM2.Init();
            iTEM2.m_nItemUnique = jewelryTable.m_nItemUnique;
            iTEM2.m_nItemNum    = 1 * jewelryTable.m_nExchangeNum;
            itemTooltipDlg.Set_Tooltip((G_ID)base.WindowID, iTEM2, null, false);
        }
        else
        {
            Debug.LogError("Can't Find Obj type");
            itemTooltipDlg.Close();
        }
    }
コード例 #5
0
 private void ClickAll(IUIObject obj)
 {
     if (this.m_eType == ExchangeItemDlg.TYPE.TYPE_EXCHANGE_TICKET)
     {
         PointTable pointTable = (PointTable)this.m_kSelectItem.Data;
         if (pointTable == null)
         {
             return;
         }
         if (pointTable.m_nItemUnique == PointManager.HERO_TICKET)
         {
             this.m_nSelectItemNum = this.m_nHeroLimitTicketNum;
         }
         else
         {
             this.m_nSelectItemNum = this.m_nEquipLimitTicketNum;
         }
         this.m_kSellNum.Text = this.m_nSelectItemNum.ToString();
     }
     else
     {
         PointTable pointTable2 = (PointTable)this.m_kSelectItem.Data;
         if (pointTable2 == null)
         {
             return;
         }
         int num = NkUserInventory.instance.Get_First_ItemCnt(pointTable2.m_nNeedItemUnique);
         this.m_nSelectItemNum = num / pointTable2.m_nExchangePoint;
         this.m_kSellNum.Text  = this.m_nSelectItemNum.ToString();
         this.m_nUseTicketNum  = this.m_nSelectItemNum * pointTable2.m_nExchangePoint;
         this.SetUsetTicketNum();
     }
 }
コード例 #6
0
        public void OnBodTurnIn(PlayerMobile pm, FestivalElf elf, double points)
        {
            if (PointTable.ContainsKey(pm))
            {
                PointTable[pm] += points;
            }
            else
            {
                PointTable[pm] = points;
            }

            var toNext = PointsToNext;

            if (toNext == -1)
            {
                return;
            }

            double perc = PointsThisStage / PointsToNext;

            if (perc >= 1.0)
            {
                elf.Say(1157164, string.Format("{0}\t#{1}", pm.Name, CityLoyaltySystem.GetCityLocalization(CurrentCity)), 1150); // ~1_PLAYER~ has advanced the Artisan Festival in the City of ~2_CITY~!

                TownTree.Stage++;
                FireworkShow(elf);
            }
            else
            {
                int loc;

                if (perc < .25)
                {
                    loc = 1159273; // There is quite a ways to go before the tree will grow!
                }
                else if (perc < .50)
                {
                    loc = 1159277; // The tree is about a quarter of the way before it will grow!
                }
                else if (perc < .75)
                {
                    loc = 1159276; // The tree is about half way before it will grow!
                }
                else if (perc < .90)
                {
                    loc = 1159275; // The tree is about a three-quarters of the way before it will grow!
                }
                else
                {
                    loc = 1159274; // The tree is very close to being ready to grow!
                }

                Timer.DelayCall(() => elf.Say(loc, 1150));
            }
        }
コード例 #7
0
        private void GenerateStageDecoration()
        {
            if (Winners != null)
            {
                Winners.Clear();
            }

            if (PointTable != null)
            {
                PointTable.Clear();
            }

            if (RewardBag != null)
            {
                RewardBag.Delete();
                RewardBag = null;
            }

            var map      = Siege.SiegeShard ? Map.Felucca : Map.Trammel;
            int treeType = 1;

            switch (CurrentCity)
            {
            case City.Trinsic: treeType = 2; break;

            case City.Britain:
            case City.NewMagincia: treeType = 3; break;

            case City.Minoc: treeType = 4; break;
            }

            if (TownTree != null)
            {
                TownTree.Delete();
            }

            TownTree = new TownTree(treeType);
            TownTree.MoveToWorld(_CityLocations[Stage], map);

            if (Elf == null)
            {
                Elf = new FestivalElf();
            }

            var p = new Point3D(TownTree.X + Utility.RandomMinMax(-1, 1), TownTree.Y + Utility.RandomMinMax(-1, 1), TownTree.Z);

            Elf.MoveToWorld(p, map);
            Elf.Home      = p;
            Elf.RangeHome = 5;
        }
コード例 #8
0
    public override bool ParseDataFromNDT(TsDataReader dr)
    {
        foreach (TsDataReader.Row data in dr)
        {
            PointTable pointTable = new PointTable();
            pointTable.SetData(data);
            NrTSingleton <PointManager> .Instance.AddPointTable(pointTable);
        }
        COMMON_CONSTANT_Manager instance = COMMON_CONSTANT_Manager.GetInstance();

        if (instance != null)
        {
            NrTSingleton <PointManager> .Instance.SetItemBuyRate(instance.GetValue(eCOMMON_CONSTANT.eCOMMON_CONSTANT_GET_ITEMPOINT_VALUE));
        }
        return(true);
    }
コード例 #9
0
 private void ClickMinus(IUIObject obj)
 {
     this.m_nSelectItemNum--;
     if (1 >= this.m_nSelectItemNum)
     {
         this.m_nSelectItemNum = 1;
     }
     this.m_kSellNum.Text = this.m_nSelectItemNum.ToString();
     if (this.m_eType == ExchangeItemDlg.TYPE.TYPE_EXCHANGE_ITEM)
     {
         PointTable pointTable = (PointTable)this.m_kSelectItem.Data;
         if (pointTable == null)
         {
             return;
         }
         this.m_nUseTicketNum = this.m_nSelectItemNum * pointTable.m_nExchangePoint;
         this.SetUsetTicketNum();
     }
 }
コード例 #10
0
    private void GetPoint(ITEM item)
    {
        if (this.m_eType == ExchangePointDlg.TYPE.TYPE_TICKET)
        {
            PointTable pointTable = NrTSingleton <PointManager> .Instance.GetPointTable(item.m_nItemUnique);

            if (pointTable == null)
            {
                return;
            }
            string empty = string.Empty;
            NrTSingleton <CTextParser> .Instance.ReplaceParam(ref empty, new object[]
            {
                NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("2256"),
                "count",
                this.m_nSelectItemNum *pointTable.m_nGetPoint
            });

            this.m_kPoint.Text = empty;
        }
    }
コード例 #11
0
        static void Main(string[] args)
        {
            Sum sum = new Sum();

            sum.SumMethod();
            PointTable point = new PointTable();

            Console.WriteLine("Enter the win, draw and loss number of team :");
            int win  = int.Parse(Console.ReadLine());
            int draw = int.Parse(Console.ReadLine());
            int loss = int.Parse(Console.ReadLine());
            int totalPoints;

            totalPoints = point.GameStatus(win, draw, loss);
            Console.WriteLine($"win  \t draw  \t  loss \t totalpoints  \n{win} \t {draw} \t {loss} \t {totalPoints}");
            Concate concate = new Concate();

            Console.WriteLine("Enter sentence");
            String word   = Console.ReadLine();
            String result = concate.GetInitials(word);

            result = result.ToUpper();
            Console.WriteLine($"new concated string is:{result}");
        }
コード例 #12
0
        private void SetupClaimPeriod()
        {
            var     map = Siege.SiegeShard ? Map.Felucca : Map.Trammel;
            Point3D p   = TownTree.Location;

            RewardBag = new SantasGiftBag();
            RewardBag.MoveToWorld(new Point3D(p.X, p.Y + 2, p.Z), map);

            if (PointTable.Count > 0)
            {
                Winners = new Dictionary <PlayerMobile, bool>();

                if (TownTree.Stage == TreeStage.Five)
                {
                    foreach (var pm in PointTable.Keys)
                    {
                        Winners[pm] = false;
                    }
                }
                else
                {
                    double perc;

                    switch (TownTree.Stage)
                    {
                    default: perc = 0.1; break;

                    case TreeStage.Three: perc = .25; break;

                    case TreeStage.Four: perc = .5; break;
                    }

                    int count = (int)Math.Max(1, (double)PointTable.Count * perc);

                    for (int i = 0; i < count; i++)
                    {
                        DoRaffle();
                    }
                }
            }

            PointTable.Clear();

            var tree = TownTree;

            if (tree != null)
            {
                for (int i = 0; i < 30; i++)
                {
                    Point3D spawnPoint;

                    var temp = new Point3D(Utility.RandomMinMax(tree.X - 5, tree.X + 5), Utility.RandomMinMax(tree.Y - 5, tree.Y + 5), tree.Z);

                    IPooledEnumerable eable = map.GetItemsInRange(temp, 0);
                    var spawnZ = temp.Z;

                    foreach (var comp in eable.OfType <AddonComponent>().Where(c => c.ItemID >= 0x46A2 && c.ItemID < 0x46A7))
                    {
                        spawnZ = Math.Max(spawnZ, comp.Z + 5);
                    }

                    eable.Free();

                    if (spawnZ != TownTree.Z)
                    {
                        spawnPoint   = temp;
                        spawnPoint.Z = spawnZ;
                    }
                    else
                    {
                        Spells.SpellHelper.AdjustField(ref temp, map, 20, false);

                        spawnPoint = temp;
                    }

                    var component = new AddonComponent(Utility.Random(0x46A2, 6))
                    {
                        Hue = Utility.RandomMinMax(1, 500)
                    };

                    tree.AddComponent(component, tree.X - spawnPoint.X, tree.Y - spawnPoint.Y, tree.Z - spawnPoint.Z);
                }
            }
        }
コード例 #13
0
    private void ClickList(IUIObject obj)
    {
        if (this.m_eType == ExchangeItemDlg.TYPE.TYPE_EXCHANGE_TICKET)
        {
            this.m_kHelp.Visible = false;
            UIListItemContainer selectedItem = this.m_kList.SelectedItem;
            if (null == selectedItem)
            {
                return;
            }
            PointTable pointTable = (PointTable)selectedItem.Data;
            if (pointTable == null)
            {
                return;
            }
            NrMyCharInfo myCharInfo = NrTSingleton <NkCharManager> .Instance.GetMyCharInfo();

            if (myCharInfo == null)
            {
                return;
            }
            this.m_kSelectItem.SetItemTexture(pointTable.m_nItemUnique);
            this.m_kSelectItem.Data  = pointTable;
            this.m_nSelectItemUnique = pointTable.m_nItemUnique;
            this.m_nSelectItemNum    = 1;
            this.SetPoint();
            if (PointManager.HERO_TICKET == pointTable.m_nItemUnique)
            {
                if (0 < pointTable.m_nBuyPoint)
                {
                    this.m_nHeroLimitTicketNum = (int)Math.Min((long)this.m_nHeroLimitTicketNum, myCharInfo.GetHeroPoint() / (long)pointTable.m_nBuyPoint);
                    this.m_kSellNum.MaxValue   = (long)this.m_nHeroLimitTicketNum;
                }
            }
            else if (0 < pointTable.m_nBuyPoint)
            {
                this.m_nEquipLimitTicketNum = (int)Math.Min((long)this.m_nEquipLimitTicketNum, myCharInfo.GetEquipPoint() / (long)pointTable.m_nBuyPoint);
                this.m_kSellNum.MaxValue    = (long)this.m_nEquipLimitTicketNum;
            }
            if (0L >= this.m_kSellNum.MaxValue)
            {
                this.m_kSell.controlIsEnabled = false;
            }
            else
            {
                this.m_kSell.controlIsEnabled = true;
            }
            this.m_kSellNum.Text        = this.m_nSelectItemNum.ToString();
            this.m_kSelectItemName.Text = NrTSingleton <ItemManager> .Instance.GetItemNameByItemUnique(pointTable.m_nItemUnique);
        }
        else if (this.m_eType == ExchangeItemDlg.TYPE.TYPE_EXCHANGE_ITEM)
        {
            UIListItemContainer selectedItem2 = this.m_kList.SelectedItem;
            if (null == selectedItem2)
            {
                return;
            }
            PointTable pointTable2 = (PointTable)selectedItem2.Data;
            if (pointTable2 == null)
            {
                return;
            }
            if (NrTSingleton <NkCharManager> .Instance.GetMyCharInfo() == null)
            {
                return;
            }
            this.m_kSelectItem.SetItemTexture(pointTable2.m_nItemUnique);
            this.m_kSelectItem.Data  = pointTable2;
            this.m_nSelectItemUnique = pointTable2.m_nItemUnique;
            this.SetPoint();
            this.m_nTicketNum = NkUserInventory.instance.Get_First_ItemCnt(pointTable2.m_nNeedItemUnique);
            if (pointTable2.m_nExchangePoint <= this.m_nTicketNum)
            {
                this.m_nSelectItemNum = 1;
            }
            else
            {
                this.m_nSelectItemNum = 0;
            }
            this.m_kSelectItemName.Text = NrTSingleton <ItemManager> .Instance.GetItemNameByItemUnique(pointTable2.m_nItemUnique);

            this.m_kSellNum.MaxValue = (long)(this.m_nTicketNum / pointTable2.m_nExchangePoint);
            this.m_kSellNum.Text     = this.m_nSelectItemNum.ToString();
            if (0L >= this.m_kSellNum.MaxValue)
            {
                this.m_kSell.controlIsEnabled = false;
            }
            else
            {
                this.m_kSell.controlIsEnabled = true;
            }
            this.m_nUseTicketNum = this.m_nSelectItemNum * pointTable2.m_nExchangePoint;
            this.SetUsetTicketNum();
        }
    }
コード例 #14
0
    private void SetPoint()
    {
        NrMyCharInfo myCharInfo = NrTSingleton <NkCharManager> .Instance.GetMyCharInfo();

        if (myCharInfo == null)
        {
            return;
        }
        string empty = string.Empty;

        NrTSingleton <CTextParser> .Instance.ReplaceParam(ref empty, new object[]
        {
            NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1041"),
            "count",
            ANNUALIZED.Convert(myCharInfo.GetHeroPoint())
        });

        this.m_kHeroPoint.Text = empty;
        empty = string.Empty;
        NrTSingleton <CTextParser> .Instance.ReplaceParam(ref empty, new object[]
        {
            NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1041"),
            "count",
            ANNUALIZED.Convert(myCharInfo.GetEquipPoint())
        });

        this.m_kEquipPoint.Text = empty;
        if (this.m_eType == ExchangeItemDlg.TYPE.TYPE_EXCHANGE_TICKET)
        {
            this.m_kName.Text = NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("2260");

            PointLimitTable pointLimitTable = NrTSingleton <PointManager> .Instance.GetPointLimitTable(myCharInfo.GetLevel());

            if (pointLimitTable == null)
            {
                return;
            }
            PointTable pointTable = (PointTable)this.m_kSelectItem.Data;
            if (pointTable == null)
            {
                return;
            }
            if (pointTable.m_nItemUnique == PointManager.HERO_TICKET)
            {
                this.m_nHeroLimitTicketNum = pointLimitTable.m_nHeroTicketNum - (int)myCharInfo.GetCharDetail(6);
                empty = string.Empty;
                NrTSingleton <CTextParser> .Instance.ReplaceParam(ref empty, new object[]
                {
                    NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("2261"),
                    "count",
                    this.m_nHeroLimitTicketNum
                });

                this.m_kLimitTicketNum.Text = empty;
            }
            else
            {
                this.m_nEquipLimitTicketNum = pointLimitTable.m_nEquipTicketNum - (int)myCharInfo.GetCharDetail(7);
                empty = string.Empty;
                NrTSingleton <CTextParser> .Instance.ReplaceParam(ref empty, new object[]
                {
                    NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("2261"),
                    "count",
                    this.m_nEquipLimitTicketNum
                });

                this.m_kLimitTicketNum.Text = empty;
            }
            this.m_kHelp.Visible = true;
        }
        else
        {
            PointTable pointTable2 = (PointTable)this.m_kSelectItem.Data;
            if (pointTable2 == null)
            {
                return;
            }
            this.m_kName2.Text = NrTSingleton <NrTextMgr> .Instance.GetTextFromItem(pointTable2.m_nNeedItemUnique.ToString());
        }
    }