コード例 #1
0
            private static bool Prefix(StoreGui __instance)
            {
                string name = Traverse.Create(__instance).Field <Trader>("m_trader").Value.m_name;

                if (OdinPlus.traderNameList.Contains(name))
                {
                    var m_selectedItem = Traverse.Create(__instance).Field <Trader.TradeItem>("m_selectedItem").Value;
                    int stack          = Mathf.Min(m_selectedItem.m_stack, m_selectedItem.m_prefab.m_itemData.m_shared.m_maxStackSize);
                    if (m_selectedItem == null || (m_selectedItem.m_price * stack - OdinData.Credits > 0))
                    {
                        return(false);
                    }
                    int quality = m_selectedItem.m_prefab.m_itemData.m_quality;
                    int variant = m_selectedItem.m_prefab.m_itemData.m_variant;
                    if (Player.m_localPlayer.GetInventory().AddItem(m_selectedItem.m_prefab.name, stack, quality, variant, 0L, "") != null)
                    {
                        OdinData.RemoveCredits(m_selectedItem.m_price * stack);                        //?
                        __instance.m_buyEffects.Create(__instance.gameObject.transform.position, Quaternion.identity, null, 1f);
                        Player.m_localPlayer.ShowPickupMessage(m_selectedItem.m_prefab.m_itemData, m_selectedItem.m_prefab.m_itemData.m_stack);
                        Traverse.Create(__instance).Method("FillList").GetValue();
                        Gogan.LogEvent("Game", "BoughtItem", m_selectedItem.m_prefab.name, 0L);
                    }
                    return(false);
                }
                return(true);
            }
コード例 #2
0
        public override bool Interact(Humanoid user, bool hold)
        {
            if (hold)
            {
                return(false);
            }
            if (!OdinData.RemoveCredits(Plugin.RaiseCost))
            {
                Say("$op_god_nocrd");
                return(false);
            }

            user.GetSkills().RaiseSkill(stlist[cskillIndex], Plugin.RaiseFactor);
            Say("$op_raise");
            return(true);
        }