public BuildingPartGradeChangeEvent(BuildingBlock bb, BuildingGrade.Enum bgrade, BasePlayer player) { BuildingPart = new BuildingPart(bb); Builder = Server.GetPlayer(player); grade = bgrade; HasPrivilege = (bool)bb.CallMethod("CanChangeToGrade", bgrade, player); }
private bool UpdateConstructionHealth(BuildingGrade grade, float newHealth, bool healthChanged) { if (!healthChanged && grade.baseHealth == newHealth) { return(false); } grade.baseHealth = newHealth; return(true); }
public PayMoneyForUpgradeBuildingReason(Building building, BuildingGrade sourceGrade, BuildingGrade targetGrade, long amount, WithAssetObject target) : base(amount, target) { Building = building; SourceGrade = sourceGrade; TargetGrade = targetGrade; }
static int GradeToNum(BuildingGrade.Enum lvl) { if (lvl == BuildingGrade.Enum.Twigs) return 0; else if (lvl == BuildingGrade.Enum.Wood) return 1; else if (lvl == BuildingGrade.Enum.Stone) return 2; else if (lvl == BuildingGrade.Enum.Metal) return 3; return 4; }
private void UpdateConstructionHealth(BuildingGrade grade, float newHealth, bool healthChanged) { if (!healthChanged && grade.baseHealth == newHealth) { return; } grade.baseHealth = newHealth; var bb = UnityEngine.Object.FindObjectsOfType <BuildingBlock>().Where(b => b.currentGrade.gradeBase == grade); foreach (var buildingBlock in bb) { buildingBlock.SetHealthToMax(); } }
private void OnStructureUpgrade(BuildingBlock block, BasePlayer player, BuildingGrade.Enum grade) { HookCalled("OnStructureUpgrade"); }
public void OnBuildingBlockUpgrade(BasePlayer player, BuildingBlock buildingBlock, BuildingGrade.Enum grade) { var items = buildingBlock.blockDefinition.grades[(int) grade].costToBuild; int total = items.Sum(item => (int) item.amount); int experience = (int) Math.Ceiling(UpgradeBuildingTable[grade]*total); ExpGain(RPGInfo(player), experience, player); }
BuildingBlock SpawnStructure(GameObject prefab, Vector3 pos, Quaternion angles, BuildingGrade.Enum grade) { GameObject build = UnityEngine.Object.Instantiate(prefab); if (build == null) return null; BuildingBlock block = build.GetComponent<BuildingBlock>(); if (block == null) return null; block.transform.position = pos; block.transform.rotation = angles; block.gameObject.SetActive(true); block.blockDefinition = PrefabAttribute.server.Find<Construction>(block.prefabID); block.Spawn(true); block.SetGrade(grade); block.health = block.MaxHealth(); return block; }
private void UpdateConstructionHealth(BuildingGrade grade, float newHealth, bool healthChanged) { if (!healthChanged && grade.baseHealth == newHealth) return; grade.baseHealth = newHealth; var bb = UnityEngine.Object.FindObjectsOfType<BuildingBlock>().Where(b => b.currentGrade.gradeBase == grade); foreach (var buildingBlock in bb) { buildingBlock.SetHealthToMax(); } }
//Oxide Hook void OnStructureUpgrade(BuildingBlock block, BasePlayer player, BuildingGrade.Enum grade) { if (block.grade == BuildingGrade.Enum.Twigs) { if (allowDemolish) { block.SetFlag(BaseEntity.Flags.Reserved2, true); if (this.amountOfMinutesAfterUpgrade > 0) { addBlockToLists(block.GetInstanceID(), DateTime.Now.ToString()); } } if (allowRotate && block.blockDefinition.canRotate) { block.SetFlag(BaseEntity.Flags.Reserved1, true); if (this.amountOfMinutesAfterUpgrade > 0) { addBlockToLists(block.GetInstanceID(), DateTime.Now.ToString()); } } } else if (block.name.Contains("build/door.hinged") && block.grade == BuildingGrade.Enum.Wood) { if (allowDemolishDoors) { block.SetFlag(BaseEntity.Flags.Reserved2, true); if (this.amountOfMinutesAfterUpgrade > 0) { addBlockToLists(block.GetInstanceID(), DateTime.Now.ToString()); } } if (allowRotateDoors) { block.SetFlag(BaseEntity.Flags.Reserved1, true); if (this.amountOfMinutesAfterUpgrade > 0) { addBlockToLists(block.GetInstanceID(), DateTime.Now.ToString()); } } } }
public BuildingUpgradeEvent(BuildingBlock buildingBlock, BuildingGrade.Enum buildingGrade, BasePlayer basePlayer) { BuildingPart = new BuildingPart(buildingBlock); Grade = buildingGrade; Player = Server.GetPlayer(basePlayer); }
private object IOnStructureUpgrade(BuildingBlock block, BaseEntity.RPCMessage msg, BuildingGrade.Enum grade) { return Interface.CallHook("OnStructureUpgrade", block, msg.player, grade); }
///////////////////////////////////////////////////// /// SpawnStructure() /// Function to spawn a block structure ///////////////////////////////////////////////////// private static void SpawnStructure(string prefabname, Vector3 pos, Quaternion angles, BuildingGrade.Enum grade, float health) { GameObject prefab = GameManager.server.CreatePrefab(prefabname, pos, angles, true); if (prefab == null) { return; } BuildingBlock block = prefab.GetComponent<BuildingBlock>(); if (block == null) return; block.transform.position = pos; block.transform.rotation = angles; block.gameObject.SetActive(true); block.blockDefinition = PrefabAttribute.server.Find<Construction>(block.prefabID); block.Spawn(true); block.SetGrade(grade); if (health <= 0f) block.health = block.MaxHealth(); else block.health = health; block.SendNetworkUpdate(BasePlayer.NetworkQueue.Update); }
public PlayerUpgradeBuildingEventArgs(Building building, BuildingGrade sourceGrade, BuildingGrade targetGrade) { Building = building; SourceGrade = sourceGrade; TargetGrade = targetGrade; }
//Oxide Hook void OnStructureUpgrade(BuildingBlock block, BasePlayer player, BuildingGrade.Enum grade) { if (block.grade == BuildingGrade.Enum.Twigs) { if (allowDemolish) { block.SetFlag(BaseEntity.Flags.Reserved2, true); if (this.amountOfMinutesAfterUpgrade > 0) { addBlockToList(block, DateTime.Now); } } } else if (block.name.Contains("build/door.hinged") && block.grade == BuildingGrade.Enum.Wood) { if (allowDemolishDoors) { block.SetFlag(BaseEntity.Flags.Reserved2, true); if (this.amountOfMinutesAfterUpgrade > 0) { addBlockToList(block, DateTime.Now); } } } }
public BuildingUpgradeEventArgs(BuildingGrade sourceGrade, BuildingGrade targetGrade) { SourceGrade = sourceGrade; TargetGrade = targetGrade; }
private object OnStructureUpgrade(BuildingBlock buildingBlock, BasePlayer player, BuildingGrade.Enum grade) { if (HasPlayerFlag(player, ZoneFlags.NoUpgrade)) return false; return null; }
BuildingBlock SpawnStructureBlock(GameObject prefab, Vector3 pos, Quaternion angles, BuildingGrade.Enum grade) { GameObject build = UnityEngine.GameObject.Instantiate(prefab); if (build == null) { return null; } BuildingBlock block = build.GetComponent<BuildingBlock>(); if (block == null) { return null; } block.enableStability = false; block.transform.position = pos; block.transform.rotation = angles; block.gameObject.SetActive(true); eventBlocks.Add(block.gameObject.AddComponent<EventBlock>()); block.blockDefinition = PrefabAttribute.server.Find<Construction>(block.prefabID); block.grade = grade; block.Spawn(true); block.health = 500; //block.SendNetworkUpdate(BasePlayer.NetworkQueue.Update); return block; }
private object OnStructureUpgrade(BuildingBlock block, BasePlayer player, BuildingGrade.Enum grade) { return Interface.CallDeprecatedHook("OnBuildingBlockUpgrade", block, player, grade); }
///////////////////////////////////////////////////// /// SetGrade(BuildingBlock block, BuildingGrade.Enum level) /// Change grade level of a block ///////////////////////////////////////////////////// private static void SetGrade(BuildingBlock block, BuildingGrade.Enum level) { block.SetGrade(level); block.health = block.MaxHealth(); block.SendNetworkUpdate(BasePlayer.NetworkQueue.Update); }
void OnStructureUpgrade(BaseCombatEntity block, BasePlayer player, BuildingGrade.Enum grade) { if (PlayerHasFlag(player.userID, PlayerFlags.PLUGIN_DISABLED)) return; if (playersInfo[player.userID].upgradeInfo != grade) { playersInfo[player.userID].upgradeInfo = grade; RenderMode(player, false); if (!PlayerHasFlag(player.userID, PlayerFlags.MESSAGES_DISABLED)) SendReply(player, pluginPrefix + "You are now in UPGRADE mode. [" + grade.ToString() + "]"); } RefreshTimer(player); }