void OnEntitySpawned(HNetworkView data) { if (data.gameObject.name.Contains("WorldItem(Clone)") || data.gameObject.GetComponent <Inventory>() != null) { data.gameObject.AddComponent <SpinDropControl>(); } }
private void IOnTakeDamage(EntityEffectFluid effect, EntityStats target, EntityEffectSourceData source) { if (effect == null || target == null || source == null || source.Value.Equals(0f)) { return; } AIEntity entity = target.GetComponent <AIEntity>(); if (entity != null) { Interface.CallHook("OnEntityTakeDamage", entity, source); return; } #if ITEMV2 HNetworkView networkView = target.networkView; #else uLink.NetworkView networkView = target.uLinkNetworkView(); #endif if (networkView != null) { PlayerSession session = GameManager.Instance.GetSession(networkView.owner); if (session != null) { Interface.CallHook("OnPlayerTakeDamage", session, source); } } }
private PlayerSession GetPlayerSession(EntityEffectSourceData dataSource) { if (dataSource?.EntitySource?.GetComponent <EntityStats>()?.networkView == null) { return(null); } HNetworkView networkView = dataSource.EntitySource.GetComponent <EntityStats>().networkView; return(GameManager.Instance.GetSession(networkView.owner)); }
private object IOnEntityEffect(StandardEntityFluidEffect effect, EntityEffectSourceData sourceData, float relativeValue) { if (sourceData == null || effect.ResolveTargetType() != EntityFluidEffectKeyDatabase.Instance?.Health) { return(null); } EntityStats stats = effect.EntityStats; if (stats == null) { return(null); } float newValue = Mathf.Clamp(effect.Value + relativeValue, effect.MinValue, effect.MaxValue); float updatedValue = newValue - effect.Value; sourceData.Value = updatedValue; AIEntity entity = stats.GetComponent <AIEntity>(); if (entity != null) { if (updatedValue > 0) { return(Interface.CallHook("OnEntityHeal", entity, sourceData)); } else if (updatedValue < 0) { return(Interface.CallHook("OnEntityTakeDamage", entity, sourceData)); } return(null); } HNetworkView networkView = stats.networkView; if (networkView != null) { PlayerSession session = GameManager.Instance.GetSession(stats.networkView.owner); if (session != null) { if (updatedValue > 0) { return(Interface.CallHook("OnPlayerHeal", session, sourceData)); } else if (updatedValue < 0) { return(Interface.CallHook("OnPlayerTakeDamage", session, sourceData)); } } } return(null); }
void Destroy(HNetworkView nwv) { timer.Once(Convert.ToSingle(Config["SecondsTillDestroy"]), () => { if (nwv != null) { ChestList.Remove(nwv); Singleton <HNetworkManager> .Instance.NetDestroy(HNetworkExtensions.HNetworkView(nwv)); } }); }
private void OnEntitySpawned(HNetworkView data) { if (data.gameObject.name == "GenericTownLootCacheServer(Clone)") { var inv = data.gameObject.GetComponent <Inventory>(); if (inv != null) { inv.ClearItems(); AddCustomItem(inv); } } }
void OnEntitySpawned(HNetworkView data) { if (data.gameObject.name.Contains("WorkBench")) { var workb = data.gameObject.GetComponent <Crafter>(); Puts(workb.UnpoweredThinkCoefficient.ToString()); Puts(workb.ThinksPerSecond.ToString()); Puts(workb.ThinkCoefficient.ToString()); workb.ThinksPerSecond = 1f; } }
void OnEntitySpawned(HNetworkView data) { if (data.gameObject.name.Contains("C4")) { var sessions = GameManager.Instance?.GetSessions()?.Values.Where(IsValidSession).ToList(); var playersNear = sessions.Where(s => Vector3.Distance(s.WorldPlayerEntity.transform.position, data.gameObject.transform.position) <= _config.main.radius) .ToList(); blockplayers(playersNear, _config.main.timec4); } if (data.gameObject.name.Contains("RaidDrill") && !data.gameObject.name.Contains("Item")) { var sessions = GameManager.Instance?.GetSessions()?.Values.Where(IsValidSession).ToList(); var playersNear = sessions.Where(s => Vector3.Distance(s.WorldPlayerEntity.transform.position, data.gameObject.transform.position) <= _config.main.radius) .ToList(); blockplayers(playersNear, _config.main.timedrill); } }