Upload from upload_mods.ps1

This commit is contained in:
Nathaniel Cosford
2025-06-04 16:44:53 +09:30
commit f1fbbe67bb
1722 changed files with 165268 additions and 0 deletions

View File

@@ -0,0 +1,204 @@
internal class XUiC_GoMineRebirth : XUiController
{
public XUiV_Label Label;
public XUiV_Label Resource;
public XUiV_Label ResourceMultiplier;
public XUiV_Label GatherType;
public XUiV_Panel Panel;
public float flSubLevels = 0.1f;
public bool bDifferentBiome = false;
public string strDuration = "10";
public override void Init()
{
base.Init();
Panel = (XUiV_Panel)GetChildById("Popup").ViewComponent;
((XUiC_SimpleButton)Panel.Controller.GetChildById("btnCancel")).OnPressed += BtnCancel_OnPressed;
((XUiC_SimpleButton)Panel.Controller.GetChildById("btnConfirm")).OnPressed += BtnConfirm_OnPressed;
Label = (XUiV_Label)Panel.Controller.GetChildById("Label").ViewComponent;
Resource = (XUiV_Label)Panel.Controller.GetChildById("Resource").ViewComponent;
ResourceMultiplier = (XUiV_Label)Panel.Controller.GetChildById("ResourceMultiplier").ViewComponent;
GatherType = (XUiV_Label)Panel.Controller.GetChildById("GatherType").ViewComponent;
}
public override void OnOpen()
{
EntityPlayer player = xui.playerUI.entityPlayer;
var entityID = 0;
if (player.Buffs.HasCustomVar("CurrentNPC"))
entityID = (int)player.Buffs.GetCustomVar("CurrentNPC");
if (entityID == 0)
return;
var myEntity = player.world.GetEntity(entityID) as EntityNPCRebirth;
string strProperty = RebirthUtilities.GetEntityPropertyValue(entityID, "MiningCost");
float numCost = 0f;
float numMultiplier = 1f;
if (strProperty != "")
{
numCost = int.Parse(strProperty);
}
strProperty = ResourceMultiplier.Text;
if (strProperty != "")
{
numMultiplier = float.Parse(strProperty);
}
numCost = numCost * numMultiplier;
numCost = (int)(numCost * RebirthUtilities.getDiscount(player));
BiomeDefinition biomeStandingOn = player.biomeStandingOn;
string text = "BIOME";
text = RebirthUtilities.GetBiomeName(player);
if (text != "desert" && (Resource.Text == "Sand" || Resource.Text == "Shale"))
{
bDifferentBiome = true;
strDuration = "20";
}
if (myEntity != null)
{
Label.Text = "";
if (text != "desert" && (Resource.Text == "Sand" || Resource.Text == "Shale"))
{
Label.Text = string.Format(Localization.Get("ttMiningPremium"), myEntity.EntityName, Localization.Get("biome_desert"));
numCost = numCost * 1.25f;
}
if (GatherType.Text.ToLower() == "mining")
{
Label.Text = Label.Text + Localization.Get("ttMiningBetter");
Label.Text = string.Format(Localization.Get("ttSendToMine"), myEntity.EntityName, Resource.Text, (int)numCost) +
string.Format(Localization.Get("ttMiningCostDuration"), EntityUtilities.GetHireCurrency(entityID).ItemClass.GetLocalizedItemName(), strDuration) +
Label.Text;
}
else
{
Label.Text = string.Format(Localization.Get("ttSendToGather"), myEntity.EntityName, Resource.Text, (int)numCost) +
string.Format(Localization.Get("ttMiningCostDuration"), EntityUtilities.GetHireCurrency(entityID).ItemClass.GetLocalizedItemName(), strDuration) +
Label.Text;
}
}
base.OnOpen();
}
private void BtnConfirm_OnPressed(XUiController _sender, int _mouseButton)
{
//Log.Out("XUiC_AddSecondClassPopupRebirth-BtnConfirm_OnPressed START");
EntityPlayer player = xui.playerUI.entityPlayer;
var entityID = 0;
if (player.Buffs.HasCustomVar("CurrentNPC"))
entityID = (int)player.Buffs.GetCustomVar("CurrentNPC");
if (entityID == 0)
{
//Log.Out("XUiC_AddSecondClassPopupRebirth-BtnConfirm_OnPressed 1");
return;
}
var myEntity = player.world.GetEntity(entityID) as EntityNPCRebirth;
if (myEntity == null)
{
//Log.Out("XUiC_AddSecondClassPopupRebirth-BtnConfirm_OnPressed 2");
return;
}
string strProperty = RebirthUtilities.GetEntityPropertyValue(entityID, "MiningCost");
float numCost = 0f;
float numMultiplier = 1f;
if (strProperty != "")
{
numCost = int.Parse(strProperty);
}
strProperty = ResourceMultiplier.Text;
if (strProperty != "")
{
numMultiplier = float.Parse(strProperty);
}
numCost = numCost * numMultiplier;
BiomeDefinition biomeStandingOn = player.biomeStandingOn;
string text = "BIOME";
if (biomeStandingOn != null)
{
text = biomeStandingOn.m_sBiomeName;
}
if (text != "desert" && (Resource.Text == "Sand" || Resource.Text == "Shale"))
{
numCost = numCost * 1.25f;
}
numCost = (int)(numCost * RebirthUtilities.getDiscount(player));
var uiforPlayer = LocalPlayerUI.GetUIForPlayer((EntityPlayerLocal)player);
if (uiforPlayer)
{
if (uiforPlayer.xui.PlayerInventory.GetItemCount(EntityUtilities.GetHireCurrency(myEntity.entityId)) >= (int)numCost)
{
// Create the stack of currency
var stack = new ItemStack(EntityUtilities.GetHireCurrency(myEntity.entityId), (int)numCost);
//DisplayLog(" Removing Item: " + stack);
uiforPlayer.xui.PlayerInventory.RemoveItems(new[] { stack });
if (bDifferentBiome)
{
myEntity.Buffs.AddBuff("FuriousRamsayGoMining" + Resource.Text.Replace(" ", "") + "Premium");
}
else
{
myEntity.Buffs.AddBuff("FuriousRamsayGoMining" + Resource.Text.Replace(" ", ""));
}
int numMiningLevelBefore = (int)myEntity.Buffs.GetCustomVar("$FR_NPC_GoneMiningLevel");
myEntity.Buffs.SetCustomVar("$FR_NPC_GoneMiningLevel", myEntity.Buffs.GetCustomVar("$FR_NPC_GoneMiningLevel") + flSubLevels);
int numMiningLevelAfter = (int)myEntity.Buffs.GetCustomVar("$FR_NPC_GoneMiningLevel");
float flNPCMiningLevel = myEntity.Buffs.GetCustomVar("$FR_NPC_MiningLevel");
if ((numMiningLevelAfter > numMiningLevelBefore) && flNPCMiningLevel < 10)
{
myEntity.Buffs.SetCustomVar("$FR_NPC_MiningLevel", flNPCMiningLevel + 1f);
}
}
else
{
Audio.Manager.PlayInsidePlayerHead("ui_denied");
GameManager.ShowTooltip((EntityPlayerLocal)player, string.Format(Localization.Get("ttCannotAffordMining"), (int)numCost));
ItemValue item = ItemClass.GetItem("casinoCoin", false);
ItemClass itemClass = item.ItemClass;
ItemStack @is = new ItemStack(new ItemValue(itemClass.Id, false), 0);
player.AddUIHarvestingItem(@is, true);
}
}
xui.playerUI.windowManager.Close(windowGroup.ID);
}
private void BtnCancel_OnPressed(XUiController _sender, int _mouseButton)
{
Panel.IsVisible = false;
xui.playerUI.windowManager.Close(windowGroup.ID);
}
public override void OnClose()
{
if (xui.playerUI.windowManager.HasWindow("dialog") && xui.playerUI.windowManager.IsWindowOpen("dialog"))
xui.playerUI.windowManager.Close("dialog");
base.OnClose();
}
}