Files
7d2dXG/Mods/zzz_REBIRTH__Utils/Scripts/MinEvents/MinEventActionChangeClassRebirth.cs
Nathaniel Cosford 062dfab2cd Patched
2025-05-30 01:04:40 +09:30

991 lines
51 KiB
C#

using System.Xml.Linq;
public class MinEventActionChangeClassRebirth : MinEventActionRemoveBuff
{
private int classID = 1;
public override void Execute(MinEventParams _params)
{
if (GameManager.IsDedicatedServer)
{
//Log.Out("MinEventActionChangeClassRebirth-Execute IS SERVER");
return;
}
//Log.Out("MinEventActionChangeClassRebirth-Execute IS CLIENT");
EntityPlayerLocal player = _params.Self as EntityPlayerLocal;
if (player == null)
{
//Log.Out("MinEventActionChangeClassRebirth-Execute NO Player");
return;
}
string className = RebirthUtilities.GetClassNameFromID(classID);
player.Buffs.SetCustomVar("$FR_SelectedClass", 0f);
//Log.Out("MinEventActionChangeClassRebirth-Execute className: " + className);
float currentClassID = player.Buffs.GetCustomVar("$ActiveClass_FR");
string optionJumpstart = RebirthVariables.customJumpstart;
player.Buffs.SetCustomVar("$ActiveClass_FR", classID);
RebirthVariables.localConstants["$varFuriousRamsayClassPercUnit"] = RebirthVariables.localVariables["$varFuriousRamsay" + className + "PercUnit"];
RebirthVariables.RefreshVariables(player);
if (classID == 1) //HUNTER
{
ProgressionValue progressionValue = player.Progression.GetProgressionValue("craftingRifles");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "LongRangeRifles";
int PerkLevel = 3;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
//Log.Out("MinEventActionChangeClassRebirth-Execute key: " + key);
//Log.Out("MinEventActionChangeClassRebirth-Execute categoryValue: " + categoryValue);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
}
}
progressionValue = player.Progression.GetProgressionValue("FuriousRamsayCraftingPipeRifle");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "PipeRifle";
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
//Log.Out("MinEventActionChangeClassRebirth-Execute key: " + key);
//Log.Out("MinEventActionChangeClassRebirth-Execute categoryValue: " + categoryValue);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
}
}
progressionValue = player.Progression.GetProgressionValue("craftingBows");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "Bows";
int PerkLevel = 2;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
//Log.Out("MinEventActionChangeClassRebirth-Execute key: " + key);
//Log.Out("MinEventActionChangeClassRebirth-Execute categoryValue: " + categoryValue);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
}
}
progressionValue = player.Progression.GetProgressionValue("craftingSpears");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "Spears";
int PerkLevel = 1;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
//Log.Out("MinEventActionChangeClassRebirth-Execute key: " + key);
//Log.Out("MinEventActionChangeClassRebirth-Execute categoryValue: " + categoryValue);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
}
}
if (currentClassID == 0 && optionJumpstart != "none" || (RebirthVariables.customScenario == "purge" && currentClassID == 0))
{
if (!RebirthUtilities.hasItem(ItemClass.GetItem("meleeWpnSpearT1IronSpear"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("meleeWpnSpearT1IronSpear"), player, 1, "", 1, true, 2);
if (!RebirthUtilities.hasItem(ItemClass.GetItem("gunBowT1WoodenBow"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("gunBowT1WoodenBow"), player, 1, "", 1, true, 2);
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("ammoArrowIron"), player, 50, "");
if (!RebirthUtilities.hasItem(ItemClass.GetItem("gunRifleT1HuntingRifle"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("gunRifleT1HuntingRifle"), player, 1, "", 1, true, 2);
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("ammo762mmBulletBall"), player, 100, "");
RebirthUtilities.InitWeapon("LongRangeRifles", player);
if (optionJumpstart == "classbookessentials" || (RebirthVariables.customScenario == "purge" && currentClassID == 0))
{
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("FuriousRamsayAuraModHunter"), player, 1, "");
}
}
}
else if (classID == 2) // THUG
{
ProgressionValue progressionValue = player.Progression.GetProgressionValue("craftingShotguns");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "Shotguns";
int PerkLevel = 2;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
}
}
progressionValue = player.Progression.GetProgressionValue("FuriousRamsayCraftingPipeShotgun");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
string key = "PipeShotgun";
progressionValue.Level = 50;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
}
}
progressionValue = player.Progression.GetProgressionValue("craftingClubs");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "Clubs";
int PerkLevel = 1;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
}
}
if (currentClassID == 0 && optionJumpstart != "none" || (RebirthVariables.customScenario == "purge" && currentClassID == 0))
{
if (!RebirthUtilities.hasItem(ItemClass.GetItem("meleeWpnClubT1BaseballBat"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("meleeWpnClubT1BaseballBat"), player, 1, "", 1, true, 2);
if (!RebirthUtilities.hasItem(ItemClass.GetItem("gunShotgunT1DoubleBarrel"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("gunShotgunT1DoubleBarrel"), player, 1, "", 1, true, 2);
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("ammoShotgunShell"), player, 75, "");
RebirthUtilities.InitWeapon("Shotguns", player);
if (optionJumpstart == "classbookessentials" || (RebirthVariables.customScenario == "purge" && currentClassID == 0))
{
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("FuriousRamsayAuraModThug"), player, 1, "");
}
}
}
else if (classID == 3) // BUTCHER
{
ProgressionValue progressionValue = player.Progression.GetProgressionValue("FuriousRamsayCraftingAssaultRifles");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "AssaultRifles";
int PerkLevel = 2;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
}
}
progressionValue = player.Progression.GetProgressionValue("FuriousRamsayCraftingPipeMachinegun");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
string key = "PipeMachinegun";
progressionValue.Level = 50;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
}
}
progressionValue = player.Progression.GetProgressionValue("FuriousRamsayCraftingSwords");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "Swords";
int PerkLevel = 1;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
}
}
if (currentClassID == 0 && optionJumpstart != "none" || (RebirthVariables.customScenario == "purge" && currentClassID == 0))
{
if (!RebirthUtilities.hasItem(ItemClass.GetItem("meleeWpnBladeT3Machete"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("meleeWpnBladeT3Machete"), player, 1, "", 1, true, 2);
if (!RebirthUtilities.hasItem(ItemClass.GetItem("gunMGT1AK47"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("gunMGT1AK47"), player, 1, "", 1, true, 2);
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("ammo762mmBulletBall"), player, 100, "");
RebirthUtilities.InitWeapon("AssaultRifles", player);
if (optionJumpstart == "classbookessentials" || (RebirthVariables.customScenario == "purge" && currentClassID == 0))
{
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("FuriousRamsayAuraModButcher"), player, 1, "");
}
}
}
else if (classID == 4) // SOLDIER
{
ProgressionValue progressionValue = player.Progression.GetProgressionValue("craftingMachineGuns");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "MachineGuns";
int PerkLevel = 2;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
}
}
progressionValue = player.Progression.GetProgressionValue("FuriousRamsayCraftingPipeMachinegun");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
string key = "PipeMachinegun";
progressionValue.Level = 50;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
}
}
progressionValue = player.Progression.GetProgressionValue("FuriousRamsayCraftingAxes");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "Axes";
int PerkLevel = 1;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
}
}
if (currentClassID == 0 && optionJumpstart != "none" || (RebirthVariables.customScenario == "purge" && currentClassID == 0))
{
if (!RebirthUtilities.hasItem(ItemClass.GetItem("meleeToolAxeT1IronFireaxe"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("meleeToolAxeT1IronFireaxe"), player, 1, "", 1, true, 2);
if (!RebirthUtilities.hasItem(ItemClass.GetItem("gunMGT3M60"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("gunMGT3M60"), player, 1, "", 1, true, 2);
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("ammo762mmBulletBall"), player, 100, "");
RebirthUtilities.InitWeapon("MachineGuns", player);
if (optionJumpstart == "classbookessentials" || (RebirthVariables.customScenario == "purge" && currentClassID == 0))
{
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("FuriousRamsayAuraModSoldier"), player, 1, "");
}
}
}
else if (classID == 5) // TECHNOGEEK
{
ProgressionValue progressionValue = player.Progression.GetProgressionValue("FuriousRamsayCraftingRevolvers");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "Revolvers";
int PerkLevel = 2;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
}
}
progressionValue = player.Progression.GetProgressionValue("FuriousRamsayCraftingPipePistol");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
string key = "PipePistol";
progressionValue.Level = 50;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
}
}
progressionValue = player.Progression.GetProgressionValue("FuriousRamsayCraftingBatons");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "Batons";
int PerkLevel = 1;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
}
}
progressionValue = player.Progression.GetProgressionValue("FuriousRamsayCraftingDeployableTurrets");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "DeployableTurrets";
int PerkLevel = 3;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
progressionValue = player.Progression.GetProgressionValue("FuriousRamsayPerkDeployableTurrets");
if (progressionValue != null)
{
progressionValue.Level = 0;
}
}
else if (progressionValue.Level == 50)
{
progressionValue = player.Progression.GetProgressionValue("FuriousRamsayPerkDeployableTurrets");
if (progressionValue != null)
{
progressionValue.Level = 0;
}
}
}
if (currentClassID == 0 && optionJumpstart != "none" || (RebirthVariables.customScenario == "purge" && currentClassID == 0))
{
if (!RebirthUtilities.hasItem(ItemClass.GetItem("meleeWpnSpearT1meleeWpnBatonT0PipeBatonIronSpear"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("meleeWpnBatonT0PipeBaton"), player, 1, "", 1, true, 2);
if (!RebirthUtilities.hasItem(ItemClass.GetItem("gunHandgunT2Magnum44"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("gunHandgunT2Magnum44"), player, 1, "", 1, true, 2);
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("ammo44MagnumBulletBall"), player, 100, "");
RebirthUtilities.InitWeapon("Revolvers", player);
if (optionJumpstart == "classbookessentials" || (RebirthVariables.customScenario == "purge" && currentClassID == 0))
{
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("FuriousRamsayAuraModTechnogeek"), player, 1, "");
}
}
}
else if (classID == 6) // MADMAN
{
ProgressionValue progressionValue = player.Progression.GetProgressionValue("FuriousRamsayCraftingSubmachineGuns");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "SubmachineGuns";
int PerkLevel = 2;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
}
}
progressionValue = player.Progression.GetProgressionValue("FuriousRamsayCraftingPipeMachinegun");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
string key = "PipeMachinegun";
progressionValue.Level = 50;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
}
}
progressionValue = player.Progression.GetProgressionValue("craftingKnuckles");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "Knuckles";
int PerkLevel = 1;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
}
}
if (currentClassID == 0 && optionJumpstart != "none" || (RebirthVariables.customScenario == "purge" && currentClassID == 0))
{
if (!RebirthUtilities.hasItem(ItemClass.GetItem("meleeWpnKnucklesT1IronKnuckles"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("meleeWpnKnucklesT1IronKnuckles"), player, 1, "", 1, true, 2);
if (!RebirthUtilities.hasItem(ItemClass.GetItem("gunHandgunT3SMG5"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("gunHandgunT3SMG5"), player, 1, "", 1, true, 2);
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("ammo9mmBulletBall"), player, 150, "");
RebirthUtilities.InitWeapon("SubmachineGuns", player);
if (optionJumpstart == "classbookessentials" || (RebirthVariables.customScenario == "purge" && currentClassID == 0))
{
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("FuriousRamsayAuraModMadman"), player, 1, "");
}
}
}
else if (classID == 7) // BUILDER
{
ProgressionValue progressionValue = player.Progression.GetProgressionValue("craftingHandguns");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "Pistols";
int PerkLevel = 2;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
}
}
progressionValue = player.Progression.GetProgressionValue("FuriousRamsayCraftingPipePistol");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
string key = "PipePistol";
progressionValue.Level = 50;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
}
}
progressionValue = player.Progression.GetProgressionValue("craftingSledgehammers");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "Hammers";
int PerkLevel = 1;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
}
}
if (currentClassID == 0 && optionJumpstart != "none" || (RebirthVariables.customScenario == "purge" && currentClassID == 0))
{
if (!RebirthUtilities.hasItem(ItemClass.GetItem("meleeWpnSledgeT1IronSledgehammer"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("meleeWpnSledgeT1IronSledgehammer"), player, 1, "", 1, true, 2);
if (!RebirthUtilities.hasItem(ItemClass.GetItem("gunHandgunT1Pistol"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("gunHandgunT1Pistol"), player, 1, "", 1, true, 2);
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("ammo9mmBulletBall"), player, 150, "");
RebirthUtilities.InitWeapon("Pistols", player);
if (optionJumpstart == "classbookessentials" || (RebirthVariables.customScenario == "purge" && currentClassID == 0))
{
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("FuriousRamsayAuraModBuilder"), player, 1, "");
}
}
}
else if (classID == 8) // CHEF
{
ProgressionValue progressionValue = player.Progression.GetProgressionValue("FuriousRamsayCraftingHeavyHandguns");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "HeavyHandguns";
int PerkLevel = 2;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
}
}
progressionValue = player.Progression.GetProgressionValue("FuriousRamsayCraftingPipePistol");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
string key = "PipePistol";
progressionValue.Level = 50;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
}
}
progressionValue = player.Progression.GetProgressionValue("craftingBlades");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "Knives";
int PerkLevel = 1;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
}
}
if (currentClassID == 0 && optionJumpstart != "none" || (RebirthVariables.customScenario == "purge" && currentClassID == 0))
{
if (!RebirthUtilities.hasItem(ItemClass.GetItem("meleeWpnBladeT1HuntingKnife"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("meleeWpnBladeT1HuntingKnife"), player, 1, "", 1, true, 2);
if (!RebirthUtilities.hasItem(ItemClass.GetItem("gunHandgunT3DesertVulture"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("gunHandgunT3DesertVulture"), player, 1, "", 1, true, 2);
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("ammo44MagnumBulletBall"), player, 100, "");
RebirthUtilities.InitWeapon("HeavyHandguns", player);
if (optionJumpstart == "classbookessentials" || (RebirthVariables.customScenario == "purge" && currentClassID == 0))
{
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("FuriousRamsayAuraModChef"), player, 1, "");
}
}
}
else if (classID == 9) // WITCH DOCTOR
{
ProgressionValue progressionValue = player.Progression.GetProgressionValue("FuriousRamsayCraftingTacticalRifles");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "TacticalRifles";
int PerkLevel = 2;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
}
}
progressionValue = player.Progression.GetProgressionValue("FuriousRamsayCraftingPipeMachinegun");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
string key = "PipeMachinegun";
progressionValue.Level = 50;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
}
}
progressionValue = player.Progression.GetProgressionValue("FuriousRamsayCraftingScythes");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "Scythes";
int PerkLevel = 1;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
}
}
if (currentClassID == 0 && optionJumpstart != "none" || (RebirthVariables.customScenario == "purge" && currentClassID == 0))
{
if (!RebirthUtilities.hasItem(ItemClass.GetItem("ItemsWeaponsScythe004_FR"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("ItemsWeaponsScythe004_FR"), player, 1, "", 1, true, 2);
if (!RebirthUtilities.hasItem(ItemClass.GetItem("gunMGT2TacticalAR"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("gunMGT2TacticalAR"), player, 1, "", 1, true, 2);
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("ammo762mmBulletBall"), player, 100, "");
RebirthUtilities.InitWeapon("TacticalRifles", player);
if (optionJumpstart == "classbookessentials" || (RebirthVariables.customScenario == "purge" && currentClassID == 0))
{
//RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("FuriousRamsaySpawnNPCHorrorPanther_FR"), player, 1, "");
}
}
}
else if (classID == 10) // BERSERKER
{
ProgressionValue progressionValue = player.Progression.GetProgressionValue("craftingSpears");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "Spears";
int PerkLevel = 1;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
}
}
progressionValue = player.Progression.GetProgressionValue("craftingClubs");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "Clubs";
int PerkLevel = 1;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
}
}
progressionValue = player.Progression.GetProgressionValue("FuriousRamsayCraftingSwords");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "Swords";
int PerkLevel = 1;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
}
}
progressionValue = player.Progression.GetProgressionValue("FuriousRamsayCraftingAxes");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "Axes";
int PerkLevel = 1;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
}
}
progressionValue = player.Progression.GetProgressionValue("FuriousRamsayCraftingBatons");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "Batons";
int PerkLevel = 1;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
}
}
progressionValue = player.Progression.GetProgressionValue("craftingKnuckles");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "Knuckles";
int PerkLevel = 1;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
}
}
progressionValue = player.Progression.GetProgressionValue("craftingSledgehammers");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "Hammers";
int PerkLevel = 1;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
}
}
progressionValue = player.Progression.GetProgressionValue("craftingBlades");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "Knives";
int PerkLevel = 1;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
}
}
progressionValue = player.Progression.GetProgressionValue("FuriousRamsayCraftingScythes");
if (progressionValue != null)
{
if (progressionValue.Level < 50)
{
progressionValue.Level = 50;
string key = "Scythes";
int PerkLevel = 1;
float categoryValue = RebirthUtilities.GetDirectCraftingPerksCategoryValue(key, progressionValue.Level);
RebirthVariables.localVariables["$varFuriousRamsay" + key + "PercUnit"] = categoryValue;
RebirthUtilities.ProcessAttribute(player, "$varFuriousRamsay" + key + "PercUnit");
RebirthVariables.localConstants["$varFuriousRamsayPerk" + PerkLevel + "PercUnit"] = categoryValue;
}
}
if (currentClassID == 0 && optionJumpstart != "none" || (RebirthVariables.customScenario == "purge" && currentClassID == 0))
{
if (!RebirthUtilities.hasItem(ItemClass.GetItem("meleeWpnSpearT1IronSpear"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("meleeWpnSpearT1IronSpear"), player, 1, "", 1, true, 2);
if (!RebirthUtilities.hasItem(ItemClass.GetItem("meleeWpnClubT1BaseballBat"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("meleeWpnClubT1BaseballBat"), player, 1, "", 1, true, 2);
if (!RebirthUtilities.hasItem(ItemClass.GetItem("meleeWpnBladeT3Machete"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("meleeWpnBladeT3Machete"), player, 1, "", 1, true, 2);
if (!RebirthUtilities.hasItem(ItemClass.GetItem("meleeToolAxeT1IronFireaxe"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("meleeToolAxeT1IronFireaxe"), player, 1, "", 1, true, 2);
if (!RebirthUtilities.hasItem(ItemClass.GetItem("meleeWpnBatonT0PipeBaton"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("meleeWpnBatonT0PipeBaton"), player, 1, "", 1, true, 2);
if (!RebirthUtilities.hasItem(ItemClass.GetItem("meleeWpnKnucklesT1IronKnuckles"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("meleeWpnKnucklesT1IronKnuckles"), player, 1, "", 1, true, 2);
if (!RebirthUtilities.hasItem(ItemClass.GetItem("meleeWpnSledgeT1IronSledgehammer"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("meleeWpnSledgeT1IronSledgehammer"), player, 1, "", 1, true, 2);
if (!RebirthUtilities.hasItem(ItemClass.GetItem("meleeWpnBladeT1HuntingKnife"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("meleeWpnBladeT1HuntingKnife"), player, 1, "", 1, true, 2);
if (!RebirthUtilities.hasItem(ItemClass.GetItem("ItemsWeaponsScythe004_FR"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("ItemsWeaponsScythe004_FR"), player, 1, "", 1, true, 2);
if (optionJumpstart == "classbookessentials" || (RebirthVariables.customScenario == "purge" && currentClassID == 0))
{
//RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("FuriousRamsaySpawnNPCRagePanther_FR"), player, 1, "");
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("gunMGT0PipeMachineGun"), player, 1, "", 1, true, 1);
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("ammo762mmBulletBall"), player, 100, "");
}
}
}
if (currentClassID == 0 && optionJumpstart == "classbookessentials")
{
if (!RebirthUtilities.hasItem(ItemClass.GetItem("armorPrimitiveHelmet"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("armorPrimitiveHelmet"), player, 1, "", 1, true, 1);
if (!RebirthUtilities.hasItem(ItemClass.GetItem("armorPrimitiveOutfit"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("armorPrimitiveOutfit"), player, 1, "", 1, true, 1);
if (!RebirthUtilities.hasItem(ItemClass.GetItem("armorPrimitiveGloves"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("armorPrimitiveGloves"), player, 1, "", 1, true, 1);
if (!RebirthUtilities.hasItem(ItemClass.GetItem("armorPrimitiveBoots"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("armorPrimitiveBoots"), player, 1, "", 1, true, 1);
if (!RebirthUtilities.hasItem(ItemClass.GetItem("FuriousRamsayHammerPliers"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("FuriousRamsayHammerPliers"), player, 1, "");
if (!RebirthUtilities.hasItem(ItemClass.GetItem("FuriousRamsayScrewdriver"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("FuriousRamsayScrewdriver"), player, 1, "");
if (!RebirthUtilities.hasItem(ItemClass.GetItem("WorkbenchToolbox001_FR"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("WorkbenchToolbox001_FR"), player, 1, "");
if (!RebirthUtilities.hasItem(ItemClass.GetItem("toolCookingPot"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("toolCookingPot"), player, 1, "");
if (!RebirthUtilities.hasItem(ItemClass.GetItem("vehicleBicyclePlaceable"), player))
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("vehicleBicyclePlaceable"), player, 1, "");
}
if (optionJumpstart == "classbookessentials" || (RebirthVariables.customScenario == "purge" && currentClassID == 0))
{
RebirthUtilities.addToPlayerInventory(ItemClass.GetItem("FuriousRamsayLootCorpses"), player, 1, "");
}
GameManager.Instance.StartCoroutine(RebirthUtilities.UpdateActiveClasses(player));
foreach (var localAuras in RebirthVariables.localAuras.Keys)
{
//Log.Out("MinEventActionChangeClassRebirth-Execute localAuras: " + localAuras);
bool remove = true;
bool add = false;
if (RebirthVariables.localAuras[localAuras].className == className)
{
remove = false;
add = true;
}
foreach (string classMetaKey in RebirthVariables.localClassMeta.Keys)
{
if (classMetaKey == RebirthVariables.localAuras[localAuras].className)
{
if (RebirthVariables.localClassMeta[classMetaKey].isActive)
{
//Log.Out("MinEventActionChangeClassRebirth-Execute classMetaKey: " + classMetaKey);
remove = false;
break;
}
}
}
if (RebirthVariables.localAuras[localAuras].className == "")
{
remove = false;
}
if (remove)
{
//Log.Out("MinEventActionChangeClassRebirth-Execute REMOVE");
//Log.Out("MinEventActionChangeClassRebirth-Execute AURA: " + RebirthVariables.localAuras[localAuras].allyAura);
bool hasBuff = player.Buffs.HasBuff(RebirthVariables.localAuras[localAuras].allyAura);
//Log.Out("MinEventActionChangeClassRebirth-Execute hasBuff: " + hasBuff);
if (hasBuff)
{
player.Buffs.RemoveBuff(RebirthVariables.localAuras[localAuras].allyAura);
}
}
if (add)
{
bool hasMod = RebirthUtilities.HasMod(player, "FuriousRamsayAuraMod" + className);
//Log.Out("MinEventActionChangeClassRebirth-Execute HasMod: " + HasMod);
if (RebirthUtilities.HasMod(player, "FuriousRamsayAuraMod" + className))
{
player.Buffs.AddBuff(RebirthVariables.localAuras[localAuras].allyAura);
}
}
}
}
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 == "classID")
{
classID = Int32.Parse(_attribute.Value);
return true;
}
else
{
return false;
}
}
}