Skip to content

Commit

Permalink
Adding the option to switch between three modes A=Automatic L=Linimen…
Browse files Browse the repository at this point in the history
…ts N=None
  • Loading branch information
Idrinth committed Mar 4, 2021
1 parent 01fe09b commit d4e4ef0
Show file tree
Hide file tree
Showing 3 changed files with 60 additions and 17 deletions.
52 changes: 41 additions & 11 deletions MiracleGrowLight.lua
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
MiracleGrowLight = {}

local windowName = "MiracleGrowLight";
local version = "1.1.0";
local version = "1.2.0";
local realPlot = 0;
local status = {}

function MiracleGrowLight.onHover()
local max=GameData.TradeSkillLevels[GameData.TradeSkills.CULTIVATION];
Expand Down Expand Up @@ -64,6 +65,9 @@ function MiracleGrowLight.Initialize()
WindowSetGameActionData(windowName.."Plant"..i.."Harvest",GameData.PlayerActions.PERFORM_CRAFTING,GameData.TradeSkills.CULTIVATION,L"")
DynamicImageSetTextureSlice(windowName.."Plant"..i.."ButtonFrame","IconFrame-1");
DynamicImageSetTextureSlice(windowName.."Plant"..i.."HarvestFrame","IconFrame-1");
LabelSetText(windowName.."Plant"..i.."Mode", L"A");
status[i] = 0
LabelSetTextColor(windowName.."Plant"..i.."Mode",225,225,225);
end
MiracleGrowLight.onZone()
end
Expand Down Expand Up @@ -106,19 +110,25 @@ function MiracleGrowLight.getLiniment(items, max)
end
end
table.sort(out, function(a,b)
return math.random() > 0;
return math.random() > 0.5;
end)
return out[1];
end

function MiracleGrowLight.geFirstSeed(seeds, numItems)
for i=1,numItems do
if seeds[i] ~= nil then
return i
end
end
return -1;
end
function MiracleGrowLight.OnUpdate()
local max=GameData.TradeSkillLevels[GameData.TradeSkills.CULTIVATION];
local items=DataUtils.GetCraftingItems();
local numItems=0;
local numSeedsRemaining=-1;
local numSeedsIndex=1;
local seeds=MiracleGrowLight.getSeedList(items, max);
local liniment=MiracleGrowLight.getLiniment(items, max);
for i=1,4 do
local unlocked = 50 * tonumber(i) - 50;
if unlocked > max then
Expand All @@ -139,21 +149,24 @@ function MiracleGrowLight.OnUpdate()
WindowSetShowing(windowName.."Plant"..i.."Button",false)
DynamicImageSetTextureSlice(windowName.."Plant"..i.."HarvestIcon","Square-4");
elseif cul.StageNum==0 or cul.StageNum == 255 then
DynamicImageSetTextureSlice(windowName.."Plant"..i.."ButtonIcon","Black-Slot");
if i == 1 and liniment then
DynamicImageSetTextureSlice(windowName.."Plant"..i.."ButtonIcon","Black-Slot");
local liniment=MiracleGrowLight.getLiniment(items, max);
if liniment and status[i] == 1 then
AddCraftingItem( 3, i, liniment.invIndex, EA_Window_Backpack.TYPE_CRAFTING )
else
elseif status[i] < 2 and seeds~=nil then
numItems=0;
numItems=table.getn(seeds)
if numSeedsRemaining < 0 then
numSeedsRemaining=seeds[1].item.stackCount
local firstSeed = MiracleGrowLight.geFirstSeed(seeds, numItems)
if numSeedsRemaining < 0 and firstSeed > 0 then
numSeedsRemaining=seeds[firstSeed].item.stackCount
numSeedsIndex = firstSeed;
end
if numItems > 0 and numSeedsRemaining > 0 then
AddCraftingItem( 3, i, seeds[numSeedsIndex].invIndex, EA_Window_Backpack.TYPE_CRAFTING )
numSeedsRemaining=numSeedsRemaining-1
if numSeedsRemaining <= 0 then
numSeedsIndex=numSeedsIndex+1
if numSeedsIndex <= numItems then
numSeedsIndex=MiracleGrowLight.geFirstSeed(seeds, numItems)
if numSeedsIndex <= numItems and numSeedsIndex > 0 then
numSeedsRemaining=seeds[numSeedsIndex].item.stackCount
end
end
Expand All @@ -174,4 +187,21 @@ end
function MiracleGrowLight.harvestEnd()
GameData.Player.Cultivation.CurrentPlot=realPlot
MiracleGrowLight.OnUpdate()
end
function MiracleGrowLight.switchMode()
d(L"clicked");
local mouseWin = SystemData.MouseOverWindow.name
local but = mouseWin:match("^MiracleGrowLightPlant([0-9]).*")
but = tonumber(but)
status[but] = status[but] + 1
if status[but] > 3 then
status[but] = 0
end
if status[but] == 1 then
LabelSetText(windowName.."Plant"..but.."Mode", L"L");
elseif status[but] == 2 then
LabelSetText(windowName.."Plant"..but.."Mode", L"N");
elseif status[but] == 0 then
LabelSetText(windowName.."Plant"..but.."Mode", L"A");
end
end
4 changes: 1 addition & 3 deletions MiracleGrowLight.mod
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<ModuleFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<UiMod name="MiracleGrowLight" version="1.1.0" date="2021-01-23" >
<UiMod name="MiracleGrowLight" version="1.2b.0" date="2021-01-23" >
<VersionSettings gameVersion="1.4.8" windowsVersion="1.40" savedVariablesVersion="1.50" />

<Author name="Idrinth"/>
Expand All @@ -9,8 +9,6 @@
<Dependency name="EA_BankWindow" />
<Dependency name="EA_CultivationWindow" />
</Dependencies>


<Files>
<File name="window.xml" />
<File name="MiracleGrowLight.lua" />
Expand Down
21 changes: 18 additions & 3 deletions window.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@

<Window name="MiracleGrowLightLine">
<Size>
<AbsPoint x="100" y="28" />
<AbsPoint x="125" y="28" />
</Size>
<Windows>
<Label name="$parentTime" inherits="DefaultWindowSmallText" textalign="right">
Expand Down Expand Up @@ -68,12 +68,27 @@
<EventHandler event="OnMouseOverEnd" function="MiracleGrowLight.harvestEnd" />
</EventHandlers>
</Button>
<Label name="$parentMode" inherits="DefaultWindowSmallText" handleinput="true" font="font_clear_small_bold" textalign="center">
<Anchors>
<Anchor point="topright" handleinput="true" relativePoint="topleft" relativeTo="$parentTime">
<AbsPoint x="40" y="0" />
</Anchor>
</Anchors>
<Size>
<AbsPoint x="21" y="21" />
</Size>
<EventHandlers>
<EventHandler event="OnMouseOver" function="MiracleGrowLight.harvestStart" />
<EventHandler event="OnLButtonUp" function="MiracleGrowLight.switchMode" />
<EventHandler event="OnMouseOverEnd" function="MiracleGrowLight.harvestEnd" />
</EventHandlers>
</Label>
</Windows>
</Window>

<Window name="MiracleGrowLight" savesettings="true">
<Window name="MiracleGrowLight">
<Size>
<AbsPoint x="100" y="125" />
<AbsPoint x="125" y="125" />
</Size>
<Anchors>
<Anchor point="left" relativePoint="center" >
Expand Down

0 comments on commit d4e4ef0

Please sign in to comment.