public void gameFlagResets()
        {
            ItemTracker itemTracker = FindObjectOfType <ItemTracker>();

            if (itemTracker != null)
            {
                itemTracker.Add(102, 0);
            }

            fsys.allReset();
            playerst.clearItemsNum();
            menusys.menuSysReStart();
            setSystemDataToClothFlag();

            MAINWEAPON mainWeapon = MAINWEAPON.NON;
            SUBWEAPON  subWeapon  = SUBWEAPON.NON;

            L2Rando l2Rando = FindObjectOfType <L2Rando>();

            if (l2Rando != null && l2Rando.IsRandomising)
            {
                Init_Coin_num   = l2Rando.StartingMoney;
                Init_Weight_num = l2Rando.StartingWeights;

                if (l2Rando.RemoveITStatue)
                {
                    setFlagData(8, 10, 1);
                }

                setFlagData(5, 47, (short)(12 - l2Rando.RequiredSkulls));

                ItemInfo itemInfo = ItemDB.GetItemInfo(l2Rando.StartingWeapon);

                if (itemInfo != null)
                {
                    if (l2Rando.StartingWeapon == ItemID.Whip1 || l2Rando.StartingWeapon == ItemID.Whip2 || l2Rando.StartingWeapon == ItemID.Whip3)
                    {
                        setFlagData(itemInfo.ItemSheet, itemInfo.ItemFlag, 1);
                        mainWeapon = exchengeMainWeaponNameToEnum("Whip");
                    }
                    else
                    {
                        mainWeapon = exchengeMainWeaponNameToEnum(itemInfo.BoxName);
                    }
                    subWeapon = exchengeSubWeaponNameToEnum(itemInfo.BoxName);
                }
            }

            playerst.addCoin(Init_Coin_num);
            playerst.addWait(Init_Weight_num);
            playerst.resetPlayerStatus(Init_PLayer_lv, 0, 999, Init_Coin_num, Init_Weight_num, 0, mainWeapon, 0, subWeapon, 0, USEITEM.NON, 0);
            playerst.resetExp();
            setFlagData(0, 42, 1);
            setFlagData(4, 60, 4);
            setFlagData(4, 62, 2);
        }
        public bool setFlagData(int sheet_no, string name, short data)
        {
#if DEV
            AddFlagToWatch(sheet_no, name, data);
#endif
            bool result = orig_setFlagData(sheet_no, name, data);

            if (ItemTracker == null)
            {
                ItemTracker = GameObject.FindObjectOfType <ItemTracker>();
            }

            if (ItemTracker != null)
            {
                ItemTracker.Add(sheet_no, getFlagNo(sheet_no, name));
            }

            return(result);
        }
        public void loadInitFlagToItem()
        {
            ItemTracker itemTracker = FindObjectOfType <ItemTracker>();

            if (itemTracker != null)
            {
                itemTracker.Add(100, 0);
            }

            orig_loadInitFlagToItem();

            if (itemTracker != null)
            {
                itemTracker.Add(2, 152);
                itemTracker.Add(2, 153);
                itemTracker.Add(2, 154);
                itemTracker.Add(2, 155);
                itemTracker.Add(2, 156);
                itemTracker.Add(2, 157);
                itemTracker.Add(2, 158);
                itemTracker.Add(2, 159);
                itemTracker.Add(2, 160);
                itemTracker.Add(2, 161);
                itemTracker.Add(3, 10);
                itemTracker.Add(3, 11);
                itemTracker.Add(3, 12);
                itemTracker.Add(3, 13);
                itemTracker.Add(3, 14);
                itemTracker.Add(3, 15);
                itemTracker.Add(3, 16);
                itemTracker.Add(3, 17);
                itemTracker.Add(3, 18);
                itemTracker.Add(101, 0);
            }
        }