Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 20 additions & 5 deletions Quests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

namespace Oxide.Plugins
{
[Info("Quests", "Gonzi", "2.4.2")]
[Info("Quests", "Gonzi", "2.4.3")]
[Description("Creates quests for players to go on to earn rewards, complete with a GUI menu")]
public class Quests : RustPlugin
{
Expand All @@ -25,11 +25,11 @@ public class Quests : RustPlugin
[PluginReference] Plugin LustyMap;
[PluginReference] Plugin EventManager;
[PluginReference] Plugin HuntRPG;
[PluginReference] Plugin XPerience;
[PluginReference] Plugin PlayerChallenges;
[PluginReference] Plugin BetterChat;

ConfigData configData;

QuestData questData;
PlayerData playerData;
NPCData vendors;
Expand Down Expand Up @@ -134,6 +134,7 @@ class RewardItem
public bool isRP = false;
public bool isCoins = false;
public bool isHuntXP = false;
public bool isXPerience = false;
public string DisplayName;
public string ShortName;
public int ID;
Expand Down Expand Up @@ -975,6 +976,10 @@ private bool GiveReward(BasePlayer player, List<RewardItem> rewards)
{
HuntRPG?.Call("GiveEXP", player, (int)reward.Amount);
}
else if (reward.isXPerience)
{
XPerience?.Call("GiveXP", player, (double)reward.Amount);
}
else
{
if (string.IsNullOrEmpty(reward.ShortName)) return true;
Expand Down Expand Up @@ -1713,10 +1718,11 @@ private void CreationHelp(BasePlayer player, int page = 0)
if (ServerRewards) CreateRewardTypeButton(ref HelpMain, UIPanel, $"{LA("RP", player.UserIDString)} (ServerRewards)", "QUI_RewardType rp", i); i++;
CreateRewardTypeButton(ref HelpMain, UIPanel, LA("Item", player.UserIDString), "QUI_RewardType item", i); i++;
if (HuntRPG) CreateRewardTypeButton(ref HelpMain, UIPanel, $"{LA("HuntXP", player.UserIDString)} (HuntRPG)", "QUI_RewardType huntxp", i); i++;
if (XPerience) CreateRewardTypeButton(ref HelpMain, UIPanel, $"{LA("XPerienceXP", player.UserIDString)} (XPerience)", "QUI_RewardType xperiencexp", i); i++;
}
break;
case 5:
if (quest.item.isCoins || quest.item.isRP || quest.item.isHuntXP)
if (quest.item.isCoins || quest.item.isRP || quest.item.isHuntXP || quest.item.isXPerience)
QUI.CreateLabel(ref HelpMain, UIPanel, "", $"{textPrimary}{LA("creHelRewA", player.UserIDString)}</color>", 20, "0.25 0.4", "0.75 0.6");
else
{
Expand Down Expand Up @@ -1858,14 +1864,15 @@ private void DeliveryHelp(BasePlayer player, int page = 0)
if (ServerRewards) CreateRewardTypeButton(ref HelpMain, UIPanel, "RP (ServerRewards)", "QUI_RewardType rp", i); i++;
CreateRewardTypeButton(ref HelpMain, UIPanel, LA("Item", player.UserIDString), "QUI_RewardType item", i); i++;
if (HuntRPG) CreateRewardTypeButton(ref HelpMain, UIPanel, "XP (HuntRPG)", "QUI_RewardType huntxp", i); i++;
if (XPerience) CreateRewardTypeButton(ref HelpMain, UIPanel, "XP (XPerience)", "QUI_RewardType xperiencexp", i); i++;
CuiHelper.AddUi(player, HelpMain);
return;
case 3:
{
HelpMain = QUI.CreateElementContainer(UIPanel, QUI.Color(configData.Colors.Background_Dark.Color, configData.Colors.Background_Dark.Alpha), "0.4 0.3", "0.95 0.9");
QUI.CreatePanel(ref HelpMain, UIPanel, QUI.Color(configData.Colors.Background_Light.Color, configData.Colors.Background_Light.Alpha), "0.01 0.02", "0.99 0.98");
var quest = ActiveCreations[player.userID];
if (quest.deliveryInfo.Reward.isCoins || quest.deliveryInfo.Reward.isRP || quest.deliveryInfo.Reward.isHuntXP)
if (quest.deliveryInfo.Reward.isCoins || quest.deliveryInfo.Reward.isRP || quest.deliveryInfo.Reward.isHuntXP || quest.deliveryInfo.Reward.isXPerience)
DeliveryHelp(player, 4);
else
{
Expand Down Expand Up @@ -2532,6 +2539,7 @@ private void cmdRewardType(ConsoleSystem.Arg arg)
bool isRP = false;
bool isCoins = false;
bool isHuntXP = false;
bool isXPerience = false;
string name = "";

switch (rewardType)
Expand All @@ -2548,6 +2556,10 @@ private void cmdRewardType(ConsoleSystem.Arg arg)
isHuntXP = true;
name = LA("HuntXP", player.UserIDString);
break;
case "xperiencexp":
isXPerience = true;
name = LA("XPerienceXP", player.UserIDString);
break;
default:
break;
}
Expand All @@ -2558,6 +2570,7 @@ private void cmdRewardType(ConsoleSystem.Arg arg)
Creator.item.isRP = isRP;
Creator.item.isCoins = isCoins;
Creator.item.isHuntXP = isHuntXP;
Creator.item.isXPerience = isXPerience;
Creator.item.DisplayName = name;
CreationHelp(player, 5);
}
Expand All @@ -2566,6 +2579,7 @@ private void cmdRewardType(ConsoleSystem.Arg arg)
Creator.deliveryInfo.Reward.isRP = isRP;
Creator.deliveryInfo.Reward.isCoins = isCoins;
Creator.deliveryInfo.Reward.isHuntXP = isHuntXP;
Creator.deliveryInfo.Reward.isXPerience = isXPerience;
Creator.deliveryInfo.Reward.DisplayName = name;
DeliveryHelp(player, 3);
}
Expand Down Expand Up @@ -3364,6 +3378,7 @@ void SendMSG(BasePlayer player, string message, string keyword = "")
{"Coins", "Coins"},
{"RP", "RP"},
{"HuntXP", "XP"},
{"XPerienceXP", "XPerienceXP"},
{"Item", "Item"},
{"creHelRewA", "Enter a reward amount"},
{"creHelIH", "Place the item you want to issue as a reward in your hands and type"},
Expand Down Expand Up @@ -3437,4 +3452,4 @@ private bool API_GetNotChatOutput(BasePlayer player)

#endregion
}
}
}