Upload from upload_mods.ps1
This commit is contained in:
112
Scripts/MinEvents/MinEventActionAddItemRebirth.cs
Normal file
112
Scripts/MinEvents/MinEventActionAddItemRebirth.cs
Normal file
@@ -0,0 +1,112 @@
|
||||
using System.Xml.Linq;
|
||||
|
||||
public class MinEventActionAddItemRebirth : MinEventActionRemoveBuff
|
||||
{
|
||||
private int numItems = 1;
|
||||
private int numLocation = 0;
|
||||
private int numQuality = 0;
|
||||
private string itemName = "";
|
||||
|
||||
public override void Execute(MinEventParams _params)
|
||||
{
|
||||
if (GameManager.IsDedicatedServer)
|
||||
{
|
||||
//Log.Out("MinEventActionAddItemRebirth-Execute IS SERVER");
|
||||
return;
|
||||
}
|
||||
|
||||
//Log.Out("MinEventActionAddItemRebirth-Execute IS CLIENT");
|
||||
|
||||
EntityPlayerLocal player = _params.Self as EntityPlayerLocal;
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
//Log.Out("MinEventActionAddItemRebirth-Execute NO Player");
|
||||
return;
|
||||
}
|
||||
|
||||
ItemValue item = ItemClass.GetItem(itemName, false);
|
||||
ItemValue itemValue = new ItemValue(ItemClass.GetItem(itemName, false).type, true);
|
||||
int num = numItems;
|
||||
|
||||
if (itemValue.HasQuality)
|
||||
{
|
||||
//Log.Out("MinEventActionAddItemRebirth-Execute 1");
|
||||
num = 1;
|
||||
}
|
||||
|
||||
//Log.Out("Item: " + itemName);
|
||||
//Log.Out("Number: " + num);
|
||||
//Log.Out("Item Value: " + itemValue.ToString());
|
||||
//Log.Out("Item Type: " + itemValue.type.ToString());
|
||||
//Log.Out("Item GetItemId: " + itemValue.GetItemId());
|
||||
//Log.Out("Item GetType: " + itemValue.GetType());
|
||||
|
||||
ItemStack myStack = new ItemStack(itemValue, num);
|
||||
|
||||
if (numQuality > 0)
|
||||
{
|
||||
//Log.Out("MinEventActionAddItemRebirth-Execute 2");
|
||||
myStack.itemValue.Quality = (ushort)numQuality;
|
||||
}
|
||||
|
||||
if (numLocation == 1)
|
||||
{
|
||||
//Log.Out("MinEventActionAddItemRebirth-Execute 3");
|
||||
if (!player.inventory.AddItem(myStack))
|
||||
{
|
||||
//Log.Out("MinEventActionAddItemRebirth-Execute 4");
|
||||
if (!player.bag.AddItem(myStack))
|
||||
{
|
||||
//Log.Out("MinEventActionAddItemRebirth-Execute 5");
|
||||
player.world.gameManager.ItemDropServer(new ItemStack(itemValue, num), player.GetPosition(), Vector3.zero);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//Log.Out("MinEventActionAddItemRebirth-Execute 6");
|
||||
if (!player.bag.AddItem(myStack))
|
||||
{
|
||||
//Log.Out("MinEventActionAddItemRebirth-Execute 7");
|
||||
player.world.gameManager.ItemDropServer(new ItemStack(itemValue, num), player.GetPosition(), Vector3.zero);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override bool ParseXmlAttribute(XAttribute _attribute)
|
||||
{
|
||||
var flag = base.ParseXmlAttribute(_attribute);
|
||||
if (flag) return true;
|
||||
var name = _attribute.Name;
|
||||
|
||||
if (name == null)
|
||||
{
|
||||
return flag;
|
||||
}
|
||||
else if (name == "numItems")
|
||||
{
|
||||
numItems = Int32.Parse(_attribute.Value);
|
||||
return true;
|
||||
}
|
||||
else if (name == "itemName")
|
||||
{
|
||||
itemName = _attribute.Value;
|
||||
return true;
|
||||
}
|
||||
else if (name == "location")
|
||||
{
|
||||
numLocation = Int32.Parse(_attribute.Value);
|
||||
return true;
|
||||
}
|
||||
else if (name == "quality")
|
||||
{
|
||||
numQuality = Int32.Parse(_attribute.Value);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user