Esempio n. 1
0
 public static void LogOnce(MineRock m)
 {
     if (PluginConfig.EnableResourceLogging && _loggedMineRock.Add(m.m_name))
     {
         LogString(StringHelper.MineRockToString(m));
     }
 }
Esempio n. 2
0
 static void Prefix(MineRock __instance, ref HitData hit)
 {
     //Dbgl($"Damaging {__instance.gameObject.name}");
     hit.m_damage.m_pickaxe *= damageMult.Value;
     hit.m_damage.m_blunt   *= damageMult.Value;
     hit.m_damage.m_chop    *= damageMult.Value;
     hit.m_damage.m_pierce  *= damageMult.Value;
 }
Esempio n. 3
0
 public static void MineRock_Damage_Prefix(MineRock __instance, HitData hit)
 {
     if (!VeinMine.progressiveMode.Value)
     {
         hit.m_damage.m_pickaxe = __instance.m_health + 10;
     }
     hit.m_point = __instance.GetHitArea(__instance.GetAreaIndex(hit.m_hitCollider)).bounds.center;
 }
Esempio n. 4
0
 static void Postfix(ref MineRock __instance)
 {
     if (Environment.StackTrace.Contains("MineRock"))
     {
         __instance.m_dropItems.m_dropMin     = Mathf.RoundToInt(dropMinMult.Value * __instance.m_dropItems.m_dropMin);
         __instance.m_dropItems.m_dropMax     = Mathf.RoundToInt(dropMaxMult.Value * __instance.m_dropItems.m_dropMax);
         __instance.m_dropItems.m_dropChance *= dropChanceMult.Value;
     }
 }
Esempio n. 5
0
 static bool Prefix(MineRock __instance, HitData hit, ZNetView ___m_nview)
 {
     if (!modEnabled.Value)
     {
         return(true);
     }
     if (!___m_nview.IsValid() || !___m_nview.IsOwner())
     {
         return(false);
     }
     return(CheckCanDamage(__instance.gameObject, hit));
 }
Esempio n. 6
0
 // Token: 0x06000DF2 RID: 3570 RVA: 0x000637F4 File Offset: 0x000619F4
 private void Awake()
 {
     this.m_body      = base.GetComponent <Rigidbody>();
     this.m_nview     = base.GetComponent <ZNetView>();
     this.m_zanimator = base.GetComponent <ZSyncAnimation>();
     this.m_animator  = base.GetComponentInChildren <Animator>();
     if (base.GetComponent <MineRock>())
     {
         MineRock mineRock = this.m_mineRock;
         mineRock.m_onHit = (Action)Delegate.Combine(mineRock.m_onHit, new Action(this.OnHit));
     }
 }
        private static void Postfix(ref MineRock __instance)
        {
            MineRock mineComp = __instance.GetComponent <MineRock>();

            if (!mineComp)
            {
                return;
            }

            string mineText = mineComp.name;
            string aName    = "";

            //Mod.Log.LogInfo(string.Format("[AMP - MineRock] Found {0} at {1} {2} {3}", mineText, mineComp.transform.position.x, mineComp.transform.position.y, mineComp.transform.position.z));
            switch (mineText)
            {
            case "MineRock_Meteorite":
            case "MineRock_Meteorite(Clone)":
                if (Mod.pinFlametal.Value)
                {
                    aName = "Flametal";
                }
                break;

            default:
                aName = "";
                break;
            }

            if (aName != "")
            {
                //__instance.gameObject.AddComponent<PinnedObject>().Init(aName, spawnComp.transform.position);

                if (!Mod.pinItems.ContainsKey(mineComp.transform.position))
                {
                    Mod.pinItems.Add(mineComp.transform.position, aName);
                }
            }
        }
Esempio n. 8
0
        private static string GetPrefabFriendlyName(GameObject prefab)
        {
            HoverText hover = prefab.GetComponent <HoverText>();

            if (hover)
            {
                return(hover.m_text);
            }

            ItemDrop item = prefab.GetComponent <ItemDrop>();

            if (item)
            {
                return(item.m_itemData.m_shared.m_name);
            }

            Character chara = prefab.GetComponent <Character>();

            if (chara)
            {
                return(chara.m_name);
            }

            RuneStone runestone = prefab.GetComponent <RuneStone>();

            if (runestone)
            {
                return(runestone.m_name);
            }

            ItemStand itemStand = prefab.GetComponent <ItemStand>();

            if (itemStand)
            {
                return(itemStand.m_name);
            }

            MineRock mineRock = prefab.GetComponent <MineRock>();

            if (mineRock)
            {
                return(mineRock.m_name);
            }

            Pickable pickable = prefab.GetComponent <Pickable>();

            if (pickable)
            {
                return(GetPrefabFriendlyName(pickable.m_itemPrefab));
            }

            CreatureSpawner creatureSpawner = prefab.GetComponent <CreatureSpawner>();

            if (creatureSpawner)
            {
                return(GetPrefabFriendlyName(creatureSpawner.m_creaturePrefab));
            }

            SpawnArea spawnArea = prefab.GetComponent <SpawnArea>();

            if (spawnArea && spawnArea.m_prefabs.Count > 0)
            {
                return(GetPrefabFriendlyName(spawnArea.m_prefabs[0].m_prefab));
            }

            Piece piece = prefab.GetComponent <Piece>();

            if (piece && !string.IsNullOrEmpty(piece.m_name))
            {
                return(piece.m_name);
            }

            return(prefab.name);
        }
Esempio n. 9
0
 static void Postfix(ref MineRock __instance)
 {
     __instance.m_dropItems.m_dropMin     = Mathf.RoundToInt(dropMinMult.Value * __instance.m_dropItems.m_dropMin);
     __instance.m_dropItems.m_dropMax     = Mathf.RoundToInt(dropMaxMult.Value * __instance.m_dropItems.m_dropMax);
     __instance.m_dropItems.m_dropChance *= dropChanceMult.Value;
 }
 private static void SetLink(MineRock __instance)
 {
     CreateLink(__instance.m_dropItems, __instance.gameObject);
 }
Esempio n. 11
0
 public static string MineRockToString(MineRock x)
 {
     return($"[{x.GetType().Name}] name={x.name}, m_name={x.m_name}, m_dropItems={DropTableToString(x.m_dropItems)}");
 }
Esempio n. 12
0
 private static void MineRock_Prefix(ref MineRock __instance)
 {
     Log.LogOnce(__instance);
 }