@ -0,0 +1,25 @@ |
|||||||
|
Copyright © 2021, Sjshovan (LoTekkie) |
||||||
|
All rights reserved. |
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without |
||||||
|
modification, are permitted provided that the following conditions are met: |
||||||
|
|
||||||
|
* Redistributions of source code must retain the above copyright |
||||||
|
notice, this list of conditions and the following disclaimer. |
||||||
|
* Redistributions in binary form must reproduce the above copyright |
||||||
|
notice, this list of conditions and the following disclaimer in the |
||||||
|
documentation and/or other materials provided with the distribution. |
||||||
|
* Neither the name of Yield nor the |
||||||
|
names of its contributors may be used to endorse or promote products |
||||||
|
derived from this software without specific prior written permission. |
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND |
||||||
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
||||||
|
DISCLAIMED. IN NO EVENT SHALL Sjshovan (LoTekkie) BE LIABLE FOR ANY |
||||||
|
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
||||||
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
||||||
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
||||||
|
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
||||||
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
@ -0,0 +1,281 @@ |
|||||||
|
**Author:** [Sjshovan (LoTekkie)](https://github.com/LoTekkie) |
||||||
|
**Version:** v1.0.3 |
||||||
|
|
||||||
|
|
||||||
|
# Yield |
||||||
|
|
||||||
|
> An Ashita v3 addon that allows you to track and edit gathering metrics within a simple GUI in Final Fantasy 11 Online. |
||||||
|
|
||||||
|
<img src="https://i.postimg.cc/rsWfXXN8/yield-1-0-1.png..." data-canonical-src="https://i.postimg.cc/rsWfXXN8/yield-1-0-1.png" width="175" height="350" /> |
||||||
|
<img src="https://i.postimg.cc/3RkL1Dy0/yield-1-0-2.png..." data-canonical-src="https://i.postimg.cc/3RkL1Dy0/yield-1-0-2.png" width="400" height="350" /> |
||||||
|
<img src="https://i.postimg.cc/FKWW0xKQ/yield-1-0-3.png..." data-canonical-src="https://i.postimg.cc/FKWW0xKQ/yield-1-0-3.png" width="400" height="350" /> |
||||||
|
<img src="https://i.postimg.cc/bJ4mBNbC/yield-1-0-4.png..." data-canonical-src="https://i.postimg.cc/bJ4mBNbC/yield-1-0-4.png" width="400" height="350" /> |
||||||
|
<img src="https://i.postimg.cc/pVnGnzbg/yield-1-0-5.png..." data-canonical-src="https://i.postimg.cc/pVnGnzbg/yield-1-0-5.png" width="400" height="350" /> |
||||||
|
<img src="https://i.postimg.cc/Fs5Pbzh1/yield-1-0-6.png..." data-canonical-src="https://i.postimg.cc/Fs5Pbzh1/yield-1-0-6.png" width="400" height="350" /> |
||||||
|
|
||||||
|
### Table of Contents |
||||||
|
|
||||||
|
- [Prerequisites](#prerequisites) |
||||||
|
- [Installation](#installation) |
||||||
|
- [Upgrading](#upgrading) |
||||||
|
- [Aliases](#aliases) |
||||||
|
- [Usage](#usage) |
||||||
|
- [Commands](#commands) |
||||||
|
- [Support](#support) |
||||||
|
- [Change Log](#change-log) |
||||||
|
- [Known Issues](#known-issues) |
||||||
|
- [TODOs](#todos) |
||||||
|
- [License](#license) |
||||||
|
|
||||||
|
___ |
||||||
|
### Prerequisites |
||||||
|
1. [Final Fantasy 11 Online](http://www.playonline.com/ff11us/index.shtml) |
||||||
|
2. [Ashita v3](https://www.ashitaxi.com/) |
||||||
|
|
||||||
|
___ |
||||||
|
### Installation |
||||||
|
|
||||||
|
**Ashita:** |
||||||
|
1. Navigate to the `Addons` section on the left. |
||||||
|
2. Locate the `Yield` addon. |
||||||
|
3. Click the flashing download button near the upper-right corner. |
||||||
|
|
||||||
|
**Manual:** |
||||||
|
1. Navigate to <https://github.com/LoTekkie/Ashita-Yield>. |
||||||
|
2. Click on `Releases`. |
||||||
|
3. Click on the `Source code (zip)` link within the latest release to download. |
||||||
|
4. Extract the zipped folder to `Ashita_v3/addons/`. |
||||||
|
5. Rename the folder to remove the version tag (`-v1.0.3`). The folder should be named `Yield`. |
||||||
|
|
||||||
|
**Autoloading:** |
||||||
|
|
||||||
|
By default you will need to manually load this addon each time you restart the game. |
||||||
|
To autoload Yield so that it is always ready for use upon entering the game, follow these steps: |
||||||
|
|
||||||
|
1. Navigate to the `Ashita_v3/scripts/` directory. |
||||||
|
2. Open the `Default.txt` file. |
||||||
|
3. Locate the `Load Common Addons` section. |
||||||
|
4. add the following line: `/addon load yield`. |
||||||
|
|
||||||
|
___ |
||||||
|
### Upgrading |
||||||
|
|
||||||
|
If you have a previous installation of Yield and you are installing manually, follow the steps below to ensure you don't encounter any issues. |
||||||
|
|
||||||
|
1. Exit out of Final Fantasy XI. |
||||||
|
2. Install latest version of Yield. |
||||||
|
3. Delete your /settings folder. |
||||||
|
4. Load Finaly Fantasy XI. |
||||||
|
5. Load Yield. |
||||||
|
|
||||||
|
___ |
||||||
|
### Aliases |
||||||
|
The following aliases are available to Yield commands: |
||||||
|
|
||||||
|
**yield:** yld |
||||||
|
**unload:** u |
||||||
|
**reload:** r |
||||||
|
**find:** f |
||||||
|
**about:** a |
||||||
|
**help:** h |
||||||
|
|
||||||
|
___ |
||||||
|
### Usage |
||||||
|
|
||||||
|
Manually load the addon by using the following command: |
||||||
|
|
||||||
|
/addon load yield |
||||||
|
|
||||||
|
___ |
||||||
|
### Commands |
||||||
|
|
||||||
|
**help** |
||||||
|
|
||||||
|
Displays available Yield commands. Below are the equivalent ways of calling the command: |
||||||
|
|
||||||
|
/yield help |
||||||
|
/yld help |
||||||
|
/yield h |
||||||
|
/yld h |
||||||
|
|
||||||
|
**unload** |
||||||
|
|
||||||
|
Unloads the Yield addon. Below are the equivalent ways of calling the command: |
||||||
|
|
||||||
|
/yield unload |
||||||
|
/yld unload |
||||||
|
/yield u |
||||||
|
/yld u |
||||||
|
|
||||||
|
**reload** |
||||||
|
|
||||||
|
Reloads the Yield addon. Below are the equivalent ways of calling the command: |
||||||
|
|
||||||
|
/yield reload |
||||||
|
/yld reload |
||||||
|
/yield r |
||||||
|
/yld r |
||||||
|
|
||||||
|
**find** |
||||||
|
|
||||||
|
Positions the Yield window to the top left corner of your screen. Below are the equivalent ways of calling the command: |
||||||
|
|
||||||
|
/yield find |
||||||
|
/yld find |
||||||
|
/yield f |
||||||
|
/yld f |
||||||
|
|
||||||
|
|
||||||
|
**about** |
||||||
|
|
||||||
|
Displays information about the Yield addon. Below are the equivalent ways of calling the command: |
||||||
|
|
||||||
|
/yield about |
||||||
|
/yld about |
||||||
|
/yield a |
||||||
|
/yld a |
||||||
|
|
||||||
|
___ |
||||||
|
### Support |
||||||
|
**Having Issues with this addon?** |
||||||
|
* Please let me know here: [https://github.com/LoTekkie/Ashita-Yield/issues/new](https://github.com/LoTekkie/Ashita-Yield/issues/new). |
||||||
|
|
||||||
|
**Have something to say?** |
||||||
|
* Send me some feedback here: <Sjshovan@Gmail.com> |
||||||
|
|
||||||
|
**Want to stay in the loop with my work?** |
||||||
|
* You can follow me at: <https://twitter.com/Sjshovan> |
||||||
|
|
||||||
|
**Wanna toss a coin to your modder?** |
||||||
|
* You can do so here: <https://www.Paypal.me/Sjshovan> |
||||||
|
**OR** |
||||||
|
* For Gil donations: I play on Wings private server! (<https://www.wingsxi.com/wings/>) My in-game name is LoTekkie. |
||||||
|
|
||||||
|
___ |
||||||
|
### Change Log |
||||||
|
**v1.0.3** - 08/27/2021 (First Ashita Release) |
||||||
|
- Removed escape button option for confirm modals. |
||||||
|
|
||||||
|
**v1.0.2** - 08/26/2021 |
||||||
|
- Fixed typo in Platinum Ore yield. |
||||||
|
- Fixed issue with sounds occasionally not loading correctly. |
||||||
|
|
||||||
|
**v1.0.1** - 7/21/2021 |
||||||
|
- Fixed auto-load issue. |
||||||
|
- Fixed issue with report management when no character is available. |
||||||
|
- Added first load behavior. |
||||||
|
|
||||||
|
**v1.0.0** - 7/13/2021 (First Official Release) |
||||||
|
- Rewrote Clamming logic. |
||||||
|
- Added bucket pz value to visible Clamming metrics. |
||||||
|
- Added Fishing skill-up alert. |
||||||
|
- Added Clamming bucket break alert. |
||||||
|
- Changed clamming kit metric value to be more readable. |
||||||
|
- Added multiple character support for reports. |
||||||
|
- Fixed issue where Yield would crash if gathering type was changed while zoning. |
||||||
|
- Fixed report reading issues. |
||||||
|
- Added saved window position. |
||||||
|
- Added new find text command. |
||||||
|
- Updated Q's and A's within the Help window. |
||||||
|
- Added documentation strings to all functions/methods. |
||||||
|
- Updated gathering logic. |
||||||
|
- Added missing Clamming yields. |
||||||
|
- Updated baseprices library. |
||||||
|
- Fixed digging moon percentage tooltip. |
||||||
|
- Fixed errors when changing gathering state while settings are open. |
||||||
|
- Added value change colors to plots. |
||||||
|
- Added value change colors to progress bar. |
||||||
|
- Fixed issue where total yields metric was not adjusted when using the yield list buttons. |
||||||
|
- Updated Feedback section in Settings. |
||||||
|
- Fixed issue where yields were not readonly when NPC price mode was activated. |
||||||
|
- Updated UI in Set Prices Settings. |
||||||
|
- Updated UI in Set Colors Settings. |
||||||
|
- Updated main window to position center with fresh settings. |
||||||
|
- Updated sub windows to position center when becoming visible. |
||||||
|
- Updated title. |
||||||
|
|
||||||
|
**v0.9.5b** - 7/8/2021 |
||||||
|
- Fixed stack size data across many yields. |
||||||
|
- Changed Settings window type away from modal. |
||||||
|
- Added feature to disable price inputs when using NPC prices. |
||||||
|
- Added Reports feature and Reports settings. |
||||||
|
- Updated About in Settings. |
||||||
|
- Added Help window. |
||||||
|
|
||||||
|
**v0.9.4b** - 7/6/2021 |
||||||
|
- Adjusted volume of UT audio files. |
||||||
|
- Fixed issue with tab targeting focusing value input. |
||||||
|
- Fixed error in chat-log when zoning. |
||||||
|
- Fixed issue with fishing recording catches for others. |
||||||
|
- Fixed name error with Copper Ring while fishing. |
||||||
|
- Added Bomb Arm yield to mining. |
||||||
|
- Fixed incorrect values for tools and inventory metrics when zoning. |
||||||
|
- Updated about in settings. |
||||||
|
|
||||||
|
**v0.9.3b** - 7/3/2021 |
||||||
|
- Added fishing. |
||||||
|
- Added digging. |
||||||
|
- Added feedback section in settings. |
||||||
|
- Bug fixes. |
||||||
|
- Updated UI. |
||||||
|
|
||||||
|
**v0.9.2b** - 7/2/2021 |
||||||
|
- Added yield sound alerts. |
||||||
|
- Added target value sound alert. |
||||||
|
- Added set all options to colors and alerts settings. |
||||||
|
- Adjusted price settings UI. |
||||||
|
- Added option to enable/disable sound alerts. |
||||||
|
- Added rounding to all UI elements. |
||||||
|
- Bug fixes. |
||||||
|
- Updated about section. |
||||||
|
|
||||||
|
**v0.9.1b** - 7/1/2021 |
||||||
|
- Revamped price settings. |
||||||
|
- Added yield list buttons. |
||||||
|
- Added NPC base price option. |
||||||
|
- Added logging data. |
||||||
|
- Added excavating data. |
||||||
|
- Added clamming data. |
||||||
|
- Added image buttons option. |
||||||
|
- Added inactivity tracker. |
||||||
|
- Updated addon title. |
||||||
|
- Bug fixes. |
||||||
|
- UI changes. |
||||||
|
|
||||||
|
**v0.9.0b** - 6/28/2021 |
||||||
|
- Rewrote state management system. |
||||||
|
- Updated UI layout and colors. |
||||||
|
- Added new metrics. |
||||||
|
- Added harvesting data. |
||||||
|
- Added ability to resize window. |
||||||
|
- Added ability to change yield colors. |
||||||
|
- Added new settings options. |
||||||
|
- Added cycle options for yield and plot labels. |
||||||
|
- Added timer controls. |
||||||
|
- Added tooltips. |
||||||
|
- Added input for estimated value. |
||||||
|
- Added fishing and digging gathering types. |
||||||
|
- Added stack prices option. |
||||||
|
- Updated about section in settings. |
||||||
|
- Added help button. |
||||||
|
- Add ability to exit modals through clicks/escape button. |
||||||
|
|
||||||
|
**v0.9.0a** - 6/19/2021 |
||||||
|
- Initial upload. |
||||||
|
___ |
||||||
|
### Known Issues |
||||||
|
|
||||||
|
- **Issue:** Game window resizing causes the cursor position to change making GUI interaction difficult. |
||||||
|
- **Issue:** Yield window size changes causes fonts to scale strangely. |
||||||
|
|
||||||
|
___ |
||||||
|
### TODOs |
||||||
|
- **TODO:** Cleanup code, re-write some areas to improve performance/readability. |
||||||
|
___ |
||||||
|
|
||||||
|
### License |
||||||
|
|
||||||
|
Copyright © 2021, [Sjshovan (LoTekkie)](https://github.com/LoTekkie). |
||||||
|
Released under the [BSD License](LICENSE). |
||||||
|
|
||||||
|
*** |
@ -0,0 +1,379 @@ |
|||||||
|
--[[ |
||||||
|
Copyright © 2021, Sjshovan (LoTekkie) |
||||||
|
All rights reserved. |
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without |
||||||
|
modification, are permitted provided that the following conditions are met: |
||||||
|
|
||||||
|
* Redistributions of source code must retain the above copyright |
||||||
|
notice, this list of conditions and the following disclaimer. |
||||||
|
* Redistributions in binary form must reproduce the above copyright |
||||||
|
notice, this list of conditions and the following disclaimer in the |
||||||
|
documentation and/or other materials provided with the distribution. |
||||||
|
* Neither the name of Yield nor the |
||||||
|
names of its contributors may be used to endorse or promote products |
||||||
|
derived from this software without specific prior written permission. |
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND |
||||||
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
||||||
|
DISCLAIMED. IN NO EVENT SHALL Sjshovan (LoTekkie) BE LIABLE FOR ANY |
||||||
|
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
||||||
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
||||||
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
||||||
|
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
||||||
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||||
|
--]] |
||||||
|
|
||||||
|
require 'os' |
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
-- Variables |
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
local chatColors = { |
||||||
|
primary = "\31\200%s", |
||||||
|
secondary = "\31\207%s", |
||||||
|
info = "\31\1%s", |
||||||
|
warn = "\31\140%s", |
||||||
|
danger = "\31\167%s", |
||||||
|
success = "\31\158%s" |
||||||
|
} |
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
-- func: displayHelp |
||||||
|
-- desc: Show help table entries in the players chat log. |
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
function displayHelp(table) |
||||||
|
for index, command in pairs(table) do |
||||||
|
displayResponse(command) |
||||||
|
end |
||||||
|
end |
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
-- func: displayResponse |
||||||
|
-- desc: Show a message with the given color in the players chat log. |
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
function displayResponse(response, color) |
||||||
|
color = color or chatColors.info |
||||||
|
print(strColor(response, color)) |
||||||
|
end |
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
-- func: helpCommandEntry |
||||||
|
-- desc: Build a command description. |
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
function helpCommandEntry(command, description) |
||||||
|
local shortName = strColor("yld", chatColors.primary) |
||||||
|
local command = strColor(command, chatColors.secondary) |
||||||
|
local sep = strColor("=>", chatColors.primary) |
||||||
|
local description = strColor(description, chatColors.info) |
||||||
|
return string.format("%s %s %s %s", shortName, command, sep, description) |
||||||
|
end |
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
-- func: helpTypeEntry |
||||||
|
-- desc: Build a help description. |
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
function helpTypeEntry(name, description) |
||||||
|
local name = strColor(name, chatColors.secondary) |
||||||
|
local sep = strColor("=>", chatColors.primary) |
||||||
|
local description = strColor(description, chatColors.info) |
||||||
|
return string.format("%s %s %s", name, sep, description) |
||||||
|
end |
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
-- func: helpTitle |
||||||
|
-- desc: Build a help title. |
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
function helpTitle(context) |
||||||
|
local context = strColor(context, chatColors.danger) |
||||||
|
return string.format("%s Help: %s", _addon.name, context) |
||||||
|
end |
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
-- func: helpSeparator |
||||||
|
-- desc: Build a help separator. |
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
function helpSeparator(character, count) |
||||||
|
local sep = '' |
||||||
|
for i = 1, count do |
||||||
|
sep = sep .. character |
||||||
|
end |
||||||
|
return strColor(sep, chatColors.warn) |
||||||
|
end |
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
-- func: commandResponse |
||||||
|
-- desc: Build a command response. |
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
function commandResponse(message, success) |
||||||
|
local responseColor = chatColors.success |
||||||
|
local responseType = 'Success' |
||||||
|
if not success then |
||||||
|
responseType = 'Error' |
||||||
|
responseColor = chatColors.danger |
||||||
|
end |
||||||
|
return string.format("%s: %s", |
||||||
|
strColor(responseType, responseColor), strColor(message, chatColors.info) |
||||||
|
) |
||||||
|
end |
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
-- func: sortKeysByAlphabet |
||||||
|
-- desc: Sort table keys alphabetically. |
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
function table.sortKeysByAlphabet(t, desc) |
||||||
|
local ret = {} |
||||||
|
for k, v in pairs(t) do |
||||||
|
table.insert(ret, k) |
||||||
|
end |
||||||
|
if (desc) then |
||||||
|
table.sort(ret, function(a, b) return a:lower() < b:lower() end); |
||||||
|
else |
||||||
|
table.sort(ret, function(a, b) return a:lower() > b:lower() end); |
||||||
|
end |
||||||
|
return ret; |
||||||
|
end |
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
-- func: sortKeysByLength |
||||||
|
-- desc: Sort table keys by string length. |
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
function table.sortKeysByLength(t, desc) |
||||||
|
local ret = {} |
||||||
|
for k, v in pairs(t) do |
||||||
|
table.insert(ret, k) |
||||||
|
end |
||||||
|
if (desc) then |
||||||
|
table.sort(ret, function(a, b) return a:len() < b:len() end); |
||||||
|
else |
||||||
|
table.sort(ret, function(a, b) return a:len() > b:len() end); |
||||||
|
end |
||||||
|
return ret; |
||||||
|
end |
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
-- func: sortReportsByDate |
||||||
|
-- desc: Sort the tables values by it time stamp strings. |
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
function table.sortReportsByDate(t, desc) |
||||||
|
local ret = {} |
||||||
|
for k, v in pairs(t) do |
||||||
|
table.insert(ret, v) |
||||||
|
end |
||||||
|
local now = os.time(); |
||||||
|
if (desc) then |
||||||
|
table.sort(ret, function(a, b) |
||||||
|
local yA, mA, dA = string.match(string.gsub(string.match(a, "__(.*)__"), "_", "-"), "(%d%d%d%d)-?(%d?%d?)-?(%d?%d?)$"); |
||||||
|
local hA, miA, sA = string.match(string.gsub(string.match(a, ".*__(.*).log$"), "_", ":"), "(%d%d):?(%d?%d?):?(%d?%d?)$"); |
||||||
|
local yB, mB, dB = string.match(string.gsub(string.match(b, "__(.*)__"), "_", "-"), "(%d%d%d%d)-?(%d?%d?)-?(%d?%d?)$"); |
||||||
|
local hB, miB, sB = string.match(string.gsub(string.match(b, ".*__(.*).log$"), "_", ":"), "(%d%d):?(%d?%d?):?(%d?%d?)$"); |
||||||
|
|
||||||
|
local diffA = os.difftime(now, os.time{year=yA, month=mA, day=dA, hour=hA, min=miA, sec=sA}); |
||||||
|
local diffB = os.difftime(now, os.time{year=yB, month=mB, day=dB, hour=hB, min=miB, sec=sB}); |
||||||
|
|
||||||
|
return diffA < diffB |
||||||
|
end); |
||||||
|
else |
||||||
|
table.sort(ret, function(a, b) |
||||||
|
local yA, mA, dA = string.match(string.gsub(string.match(a, "__(.*)__"), "_", "-"), "(%d%d%d%d)-?(%d?%d?)-?(%d?%d?)$"); |
||||||
|
local hA, miA, sA = string.match(string.gsub(string.match(a, ".*__(.*).log$"), "_", ":"), "(%d%d):?(%d?%d?):?(%d?%d?)$"); |
||||||
|
local yB, mB, dB = string.match(string.gsub(string.match(b, "__(.*)__"), "_", "-"), "(%d%d%d%d)-?(%d?%d?)-?(%d?%d?)$"); |
||||||
|
local hB, miB, sB = string.match(string.gsub(string.match(b, ".*__(.*).log$"), "_", ":"), "(%d%d):?(%d?%d?):?(%d?%d?)$"); |
||||||
|
|
||||||
|
local diffA = os.difftime(now, os.time{year=yA, month=mA, day=dA, hour=hA, min=miA, sec=sA}); |
||||||
|
local diffB = os.difftime(now, os.time{year=yB, month=mB, day=dB, hour=hB, min=miB, sec=sB}); |
||||||
|
|
||||||
|
return diffA > diffB |
||||||
|
end); |
||||||
|
end |
||||||
|
return ret; |
||||||
|
end |
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
-- func: getIndexFromKey |
||||||
|
-- desc: Obtain a table index from the given table key. |
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
function table.getIndexFromKey(t, key) |
||||||
|
for _, k in ipairs(table.keys(t)) do |
||||||
|
if key == k then |
||||||
|
return _; |
||||||
|
end |
||||||
|
end |
||||||
|
return nil |
||||||
|
end |
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
-- func: camelToTitle |
||||||
|
-- desc: Convert a camel case string to a title. |
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
function string.camelToTitle(s) |
||||||
|
return string.gsub(string.upperfirst(s), "([A-Z][a-z]?)", " %1"):sub(2); |
||||||
|
end |
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
-- func: lowerToTitle |
||||||
|
-- desc: Convert a lower case string to a title. |
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
function string.lowerToTitle(s) |
||||||
|
s = string.gsub(" "..s, "%W%l", string.upper):sub(2); |
||||||
|
s = string.gsub(s, "('[A-Z])", string.lower); |
||||||
|
return s |
||||||
|
end |
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
-- func: strColor |
||||||
|
-- desc: Add color to a string. |
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
function strColor(str, color) |
||||||
|
return string.format(color, str) |
||||||
|
end |
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
-- func: showToolTip |
||||||
|
-- desc: Shows a tooltip with imgui. |
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
function imguiShowToolTip(text, enabled) |
||||||
|
if enabled then |
||||||
|
imgui.TextDisabled('(?)'); |
||||||
|
if (imgui.IsItemHovered()) then |
||||||
|
imgui.SetTooltip(text); |
||||||
|
end |
||||||
|
end |
||||||
|
return enabled |
||||||
|
end |
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
-- func: imguiFullSep |
||||||
|
-- desc: Create a multi-line separator. |
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
function imguiFullSep() |
||||||
|
imgui.Spacing(); |
||||||
|
imgui.Separator(); |
||||||
|
imgui.Spacing(); |
||||||
|
end |
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
-- func: imguiHalfSep |
||||||
|
-- desc: Create a multi-line separator, choose to switch the order. |
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
function imguiHalfSep(flip) |
||||||
|
if not flip then |
||||||
|
imgui.Spacing(); |
||||||
|
imgui.Separator(); |
||||||
|
else |
||||||
|
imgui.Separator(); |
||||||
|
imgui.Spacing(); |
||||||
|
end |
||||||
|
end |
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
-- func: cycleIndex |
||||||
|
-- desc: Move forwards or backwards from the given index by the given direction. |
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
function cycleIndex(index, min, max, dir) |
||||||
|
if dir == nil then dir = 1 end; |
||||||
|
local newIndex = index + dir; |
||||||
|
if newIndex > max then |
||||||
|
newIndex = min |
||||||
|
end |
||||||
|
if newIndex < min then |
||||||
|
newIndex = max |
||||||
|
end |
||||||
|
return newIndex; |
||||||
|
end |
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
-- func: colorTableToInt |
||||||
|
-- desc: Converts an imgui color table to a D3DCOLOR int. |
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
function colorTableToInt(t) |
||||||
|
local a = t[4]; |
||||||
|
local r = t[1] * 255; |
||||||
|
local g = t[2] * 255; |
||||||
|
local b = t[3] * 255; |
||||||
|
|
||||||
|
-- Handle 3 and 4 color tables.. |
||||||
|
if (a == nil) then |
||||||
|
a = 255; |
||||||
|
else |
||||||
|
a = a * 255; |
||||||
|
end |
||||||
|
|
||||||
|
return math.d3dcolor(a, r, g, b); |
||||||
|
end |
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
-- func: colorToRGBA |
||||||
|
-- desc: Converts a color to its rgba values. |
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
function colorToRGBA(c) |
||||||
|
local a = bit.rshift(bit.band(c, 0xFF000000), 24); |
||||||
|
local r = bit.rshift(bit.band(c, 0x00FF0000), 16); |
||||||
|
local g = bit.rshift(bit.band(c, 0x0000FF00), 8); |
||||||
|
local b = bit.band(c, 0x000000FF); |
||||||
|
return r, g, b, a; |
||||||
|
end |
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
-- func: imguiPushActiveBtnColor |
||||||
|
-- desc: Add some button color if the condition is met. |
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
function imguiPushActiveBtnColor(cond) |
||||||
|
if cond then |
||||||
|
imgui.PushStyleColor(ImGuiCol_Button, 0.21, 0.47, 0.59, 1); -- info |
||||||
|
else |
||||||
|
imgui.PushStyleColor(ImGuiCol_Button, 0.25, 0.69, 1.0, 0.1); -- secondary |
||||||
|
end |
||||||
|
return cond; |
||||||
|
end |
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
-- func: imguiPushDisabled |
||||||
|
-- desc: Make the item look disabled if the given condition is met. |
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
function imguiPushDisabled(cond) |
||||||
|
if cond then |
||||||
|
imgui.PushStyleVar(ImGuiStyleVar_Alpha, 0.5); |
||||||
|
imgui.PushStyleColor(ImGuiCol_ButtonHovered, 49/255, 62/255, 75/255, 1); |
||||||
|
imgui.PushStyleColor(ImGuiCol_ButtonActive, 49/255, 62/255, 75/255, 1); |
||||||
|
end |
||||||
|
return cond; |
||||||
|
end |
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
-- func: imguiPopDisabled |
||||||
|
-- desc: Remove the disabled look if the given condition is met. |
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
function imguiPopDisabled(cond) |
||||||
|
if cond then |
||||||
|
imgui.PopStyleVar(); |
||||||
|
imgui.PopStyleColor(); |
||||||
|
imgui.PopStyleColor(); |
||||||
|
end |
||||||
|
end |
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
-- func: wait |
||||||
|
-- desc: Halt the application for the given number of seconds. |
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
function wait(seconds) |
||||||
|
local time = seconds or 1 |
||||||
|
local start = os.time() |
||||||
|
repeat until os.time() == start + time |
||||||
|
end |
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
-- func: table.sumValues |
||||||
|
-- desc: Add all the values of the given table. |
||||||
|
---------------------------------------------------------------------------------------------------- |
||||||
|
function table.sumValues(t) |
||||||
|
local val = 0; |
||||||
|
for k, v in pairs(t) do |
||||||
|
if (type(v) == 'number') then |
||||||
|
val = val + v; |
||||||
|
end |
||||||
|
end |
||||||
|
return val |
||||||
|
end |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 9.8 KiB |
@ -0,0 +1,333 @@ |
|||||||
|
--[[ |
||||||
|
Copyright © 2021, Sjshovan (LoTekkie) |
||||||
|
All rights reserved. |
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without |
||||||
|
modification, are permitted provided that the following conditions are met: |
||||||
|
|
||||||
|
* Redistributions of source code must retain the above copyright |
||||||
|
notice, this list of conditions and the following disclaimer. |
||||||
|
* Redistributions in binary form must reproduce the above copyright |
||||||
|
notice, this list of conditions and the following disclaimer in the |
||||||
|
documentation and/or other materials provided with the distribution. |
||||||
|
* Neither the name of Yield nor the |
||||||
|
names of its contributors may be used to endorse or promote products |
||||||
|
derived from this software without specific prior written permission. |
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND |
||||||
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
||||||
|
DISCLAIMED. IN NO EVENT SHALL Sjshovan (LoTekkie) BE LIABLE FOR ANY |
||||||
|
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
||||||
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
||||||
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
||||||
|
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
||||||
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||||
|
--]] |
||||||
|
|
||||||
|
zoneNames = -- zoneId = zoneName |
||||||
|
{ |
||||||
|
[0] = "Residential Area", |
||||||
|
[1] = "Phanauet Channel", |
||||||
|
[2] = "Carpenters Landing", |
||||||
|
[3] = "Manaclipper", |
||||||
|
[4] = "Bibiki Bay", |
||||||
|
[5] = "Uleguerand Range", |
||||||
|
[6] = "Bearclaw Pinnacle", |
||||||
|
[7] = "Attohwa Chasm", |
||||||
|
[8] = "Boneyard Gully", |
||||||
|
[9] = "Psoxja", |
||||||
|
[10] = "The Shrouded Maw", |
||||||
|
[11] = "Oldton Movalpolos", |
||||||
|
[12] = "Newton Movalpolos", |
||||||
|
[13] = "Mine Shaft 2716", |
||||||
|
[14] = "Hall Of Transference", |
||||||
|
[15] = "Abyssea Konschtat", |
||||||
|
[16] = "Promyvion Holla", |
||||||
|
[17] = "Spire Of Holla", |
||||||
|
[18] = "Promyvion Dem", |
||||||
|
[19] = "Spire Of Dem", |
||||||
|
[20] = "Promyvion Mea", |
||||||
|
[21] = "Spire Of Mea", |
||||||
|
[22] = "Promyvion Vahzl", |
||||||
|
[23] = "Spire Of Vahzl", |
||||||
|
[24] = "Lufaise Meadows", |
||||||
|
[25] = "Misareaux Coast", |
||||||
|
[26] = "Tavnazian Safehold", |
||||||
|
[27] = "Phomiuna Aqueducts", |
||||||
|
[28] = "Sacrarium", |
||||||
|
[29] = "Riverne Site B01", |
||||||
|
[30] = "Riverne Site A01", |
||||||
|
[31] = "Monarch Linn", |
||||||
|
[32] = "Sealions Den", |
||||||
|
[33] = "Altaieu", |
||||||
|
[34] = "Grand Palace Of Huxzoi", |
||||||
|
[35] = "The Garden Of Ruhmet", |
||||||
|
[36] = "Empyreal Paradox", |
||||||
|
[37] = "Temenos", |
||||||
|
[38] = "Apollyon", |
||||||
|
[39] = "Dynamis Valkurm", |
||||||
|
[40] = "Dynamis Buburimu", |
||||||
|
[41] = "Dynamis Qufim", |
||||||
|
[42] = "Dynamis Tavnazia", |
||||||
|
[43] = "Diorama Abdhaljs Ghelsba", |
||||||
|
[44] = "Abdhaljs Isle Purgonorgo", |
||||||
|
[45] = "Abyssea Tahrongi", |
||||||
|
[46] = "Open Sea Route To Al Zahbi", |
||||||
|
[47] = "Open Sea Route To Mhaura", |
||||||
|
[48] = "Al Zahbi", |
||||||
|
[49] = "GM Grid Test Zone", |
||||||
|
[50] = "Aht Urhgan Whitegate", |
||||||
|
[51] = "Wajaom Woodlands", |
||||||
|
[52] = "Bhaflau Thickets", |
||||||
|
[53] = "Nashmau", |
||||||
|
[54] = "Arrapago Reef", |
||||||
|
[55] = "Ilrusi Atoll", |
||||||
|
[56] = "Periqia", |
||||||
|
[57] = "Talacca Cove", |
||||||
|
[58] = "Silver Sea Route To Nashmau", |
||||||
|
[59] = "Silver Sea Route To Al Zahbi", |
||||||
|
[60] = "The Ashu Talif", |
||||||
|
[61] = "Mount Zhayolm", |
||||||
|
[62] = "Halvung", |
||||||
|
[63] = "Lebros Cavern", |
||||||
|
[64] = "Navukgo Execution Chamber", |
||||||
|
[65] = "Mamook", |
||||||
|
[66] = "Mamool Ja Training Grounds", |
||||||
|
[67] = "Jade Sepulcher", |
||||||
|
[68] = "Aydeewa Subterrane", |
||||||
|
[69] = "Leujaoam Sanctum", |
||||||
|
[70] = "Chocobo Circuit", |
||||||
|
[71] = "The Colosseum", |
||||||
|
[72] = "Alzadaal Undersea Ruins", |
||||||
|
[73] = "Zhayolm Remnants", |
||||||
|
[74] = "Arrapago Remnants", |
||||||
|
[75] = "Bhaflau Remnants", |
||||||
|
[76] = "Silver Sea Remnants", |
||||||
|
[77] = "Nyzul Isle", |
||||||
|
[78] = "Hazhalm Testing Grounds", |
||||||
|
[79] = "Caedarva Mire", |
||||||
|
[80] = "Southern San Doria S", |
||||||
|
[81] = "East Ronfaure S", |
||||||
|
[82] = "Jugner Forest S", |
||||||
|
[83] = "Vunkerl Inlet S", |
||||||
|
[84] = "Batallia Downs S", |
||||||
|
[85] = "La Vaule S", |
||||||
|
[86] = "Everbloom Hollow", |
||||||
|
[87] = "Bastok Markets S", |
||||||
|
[88] = "North Gustaberg S", |
||||||
|
[89] = "Grauberg S", |
||||||
|
[90] = "Pashhow Marshlands S", |
||||||
|
[91] = "Rolanberry Fields S", |
||||||
|
[92] = "Beadeaux S", |
||||||
|
[93] = "Ruhotz Silvermines", |
||||||
|
[94] = "Windurst Waters S", |
||||||
|
[95] = "West Sarutabaruta S", |
||||||
|
[96] = "Fort Karugo Narugo S", |
||||||
|
[97] = "Meriphataud Mountains S", |
||||||
|
[98] = "Sauromugue Champaign S", |
||||||
|
[99] = "Castle Oztroja S", |
||||||
|
[100] = "West Ronfaure", |
||||||
|
[101] = "East Ronfaure", |
||||||
|
[102] = "La Theine Plateau", |
||||||
|
[103] = "Valkurm Dunes", |
||||||
|
[104] = "Jugner Forest", |
||||||
|
[105] = "Batallia Downs", |
||||||
|
[106] = "North Gustaberg", |
||||||
|
[107] = "South Gustaberg", |
||||||
|
[108] = "Konschtat Highlands", |
||||||
|
[109] = "Pashhow Marshlands", |
||||||
|
[110] = "Rolanberry Fields", |
||||||
|
[111] = "Beaucedine Glacier", |
||||||
|
[112] = "Xarcabard", |
||||||
|
[113] = "Cape Teriggan", |
||||||
|
[114] = "Eastern Altepa Desert", |
||||||
|
[115] = "West Sarutabaruta", |
||||||
|
[116] = "East Sarutabaruta", |
||||||
|
[117] = "Tahrongi Canyon", |
||||||
|
[118] = "Buburimu Peninsula", |
||||||
|
[119] = "Meriphataud Mountains", |
||||||
|
[120] = "Sauromugue Champaign", |
||||||
|
[121] = "The Sanctuary Of Zitah", |
||||||
|
[122] = "Romaeve", |
||||||
|
[123] = "Yuhtunga Jungle", |
||||||
|
[124] = "Yhoator Jungle", |
||||||
|
[125] = "Western Altepa Desert", |
||||||
|
[126] = "Qufim Island", |
||||||
|
[127] = "Behemoths Dominion", |
||||||
|
[128] = "Valley Of Sorrows", |
||||||
|
[129] = "Ghoyus Reverie", |
||||||
|
[130] = "Ruaun Gardens", |
||||||
|
[131] = "Mordion Gaol", |
||||||
|
[132] = "Abyssea La Theine", |
||||||
|
[133] = "Character Select", |
||||||
|
[134] = "Dynamis Beaucedine", |
||||||
|
[135] = "Dynamis Xarcabard", |
||||||
|
[136] = "Beaucedine Glacier S", |
||||||
|
[137] = "Xarcabard S", |
||||||
|
[138] = "Castle Zvahl Baileys S", |
||||||
|
[139] = "Horlais Peak", |
||||||
|
[140] = "Ghelsba Outpost", |
||||||
|
[141] = "Fort Ghelsba", |
||||||
|
[142] = "Yughott Grotto", |
||||||
|
[143] = "Palborough Mines", |
||||||
|
[144] = "Waughroon Shrine", |
||||||
|
[145] = "Giddeus", |
||||||
|
[146] = "Balgas Dais", |
||||||
|
[147] = "Beadeaux", |
||||||
|
[148] = "Qulun Dome", |
||||||
|
[149] = "Davoi", |
||||||
|
[150] = "Monastic Cavern", |
||||||
|
[151] = "Castle Oztroja", |
||||||
|
[152] = "Altar Room", |
||||||
|
[153] = "The Boyahda Tree", |
||||||
|
[154] = "Dragons Aery", |
||||||
|
[155] = "Castle Zvahl Keep S", |
||||||
|
[156] = "Throne Room S", |
||||||
|
[157] = "Middle Delkfutts Tower", |
||||||
|
[158] = "Upper Delkfutts Tower", |
||||||
|
[159] = "Temple Of Uggalepih", |
||||||
|
[160] = "Den Of Rancor", |
||||||
|
[161] = "Castle Zvahl Baileys", |
||||||
|
[162] = "Castle Zvahl Keep", |
||||||
|
[163] = "Sacrificial Chamber", |
||||||
|
[164] = "Garlaige Citadel S", |
||||||
|
[165] = "Throne Room", |
||||||
|
[166] = "Ranguemont Pass", |
||||||
|
[167] = "Bostaunieux Oubliette", |
||||||
|
[168] = "Chamber Of Oracles", |
||||||
|
[169] = "Toraimarai Canal", |
||||||
|
[170] = "Full Moon Fountain", |
||||||
|
[171] = "Crawlers Nest S", |
||||||
|
[172] = "Zeruhn Mines", |
||||||
|
[173] = "Korroloka Tunnel", |
||||||
|
[174] = "Kuftal Tunnel", |
||||||
|
[175] = "The Eldieme Necropolis S", |
||||||
|
[176] = "Sea Serpent Grotto", |
||||||
|
[177] = "Velugannon Palace", |
||||||
|
[178] = "The Shrine Of Ruavitau", |
||||||
|
[179] = "Stellar Fulcrum", |
||||||
|
[180] = "Laloff Amphitheater", |
||||||
|
[181] = "The Celestial Nexus", |
||||||
|
[182] = "Walk Of Echoes", |
||||||
|
[183] = "Maquette Abdhaljs Legion A", |
||||||
|
[184] = "Lower Delkfutts Tower", |
||||||
|
[185] = "Dynamis San Doria", |
||||||
|
[186] = "Dynamis Bastok", |
||||||
|
[187] = "Dynamis Windurst", |
||||||
|
[188] = "Dynamis Jeuno", |
||||||
|
[189] = "Southern San d'Oria [S] Residential Area", |
||||||
|
[190] = "King Ranperres Tomb", |
||||||
|
[191] = "Dangruf Wadi", |
||||||
|
[192] = "Inner Horutoto Ruins", |
||||||
|
[193] = "Ordelles Caves", |
||||||
|
[194] = "Outer Horutoto Ruins", |
||||||
|
[195] = "The Eldieme Necropolis", |
||||||
|
[196] = "Gusgen Mines", |
||||||
|
[197] = "Crawlers Nest", |
||||||
|
[198] = "Maze Of Shakhrami", |
||||||
|
[199] = "Bastok Markets [S] Residential Area", |
||||||
|
[200] = "Garlaige Citadel", |
||||||
|
[201] = "Cloister Of Gales", |
||||||
|
[202] = "Cloister Of Storms", |
||||||
|
[203] = "Cloister Of Frost", |
||||||
|
[204] = "Feiyin", |
||||||
|
[205] = "Ifrits Cauldron", |
||||||
|
[206] = "Qubia Arena", |
||||||
|
[207] = "Cloister Of Flames", |
||||||
|
[208] = "Quicksand Caves", |
||||||
|
[209] = "Cloister Of Tremors", |
||||||
|
[210] = "Gm Home", |
||||||
|
[211] = "Cloister Of Tides", |
||||||
|
[212] = "Gustav Tunnel", |
||||||
|
[213] = "Labyrinth Of Onzozo", |
||||||
|
[214] = "Aht Urhgan Residential Area", |
||||||
|
[215] = "Abyssea Attohwa", |
||||||
|
[216] = "Abyssea Misareaux", |
||||||
|
[217] = "Abyssea Vunkerl", |
||||||
|
[218] = "Abyssea Altepa", |
||||||
|
[219] = "Windurst Waters [S] Residential Area", |
||||||
|
[220] = "Ship Bound For Selbina", |
||||||
|
[221] = "Ship Bound For Mhaura", |
||||||
|
[222] = "Provenance", |
||||||
|
[223] = "San Doria Jeuno Airship", |
||||||
|
[224] = "Bastok Jeuno Airship", |
||||||
|
[225] = "Windurst Jeuno Airship", |
||||||
|
[226] = "Kazham Jeuno Airship", |
||||||
|
[227] = "Ship Bound For Selbina Pirates", |
||||||
|
[228] = "Ship Bound For Mhaura Pirates", |
||||||
|
[229] = "229", |
||||||
|
[230] = "Southern Sandoria", |
||||||
|
[231] = "Northern Sandoria", |
||||||
|
[232] = "Port Sandoria", |
||||||
|
[233] = "Chateau Doraguille", |
||||||
|
[234] = "Bastok Mines", |
||||||
|
[235] = "Bastok Markets", |
||||||
|
[236] = "Port Bastok", |
||||||
|
[237] = "Metalworks", |
||||||
|
[238] = "Windurst Waters", |
||||||
|
[239] = "Windurst Walls", |
||||||
|
[240] = "Port Windurst", |
||||||
|
[241] = "Windurst Woods", |
||||||
|
[242] = "Heavens Tower", |
||||||
|
[243] = "Rulude Gardens", |
||||||
|
[244] = "Upper Jeuno", |
||||||
|
[245] = "Lower Jeuno", |
||||||
|
[246] = "Port Jeuno", |
||||||
|
[247] = "Rabao", |
||||||
|
[248] = "Selbina", |
||||||
|
[249] = "Mhaura", |
||||||
|
[250] = "Kazham", |
||||||
|
[251] = "Hall Of The Gods", |
||||||
|
[252] = "Norg", |
||||||
|
[253] = "Abyssea Uleguerand", |
||||||
|
[254] = "Abyssea Grauberg", |
||||||
|
[255] = "Abyssea Empyreal Paradox", |
||||||
|
[256] = "Western Adoulin", |
||||||
|
[257] = "Eastern Adoulin", |
||||||
|
[258] = "Rala Waterways", |
||||||
|
[259] = "Rala Waterways U", |
||||||
|
[260] = "Yahse Hunting Grounds", |
||||||
|
[261] = "Ceizak Battlegrounds", |
||||||
|
[262] = "Foret De Hennetiel", |
||||||
|
[263] = "Yorcia Weald", |
||||||
|
[264] = "Yorcia Weald U", |
||||||
|
[265] = "Morimar Basalt Fields", |
||||||
|
[266] = "Marjami Ravine", |
||||||
|
[267] = "Kamihr Drifts", |
||||||
|
[268] = "Sih Gates", |
||||||
|
[269] = "Moh Gates", |
||||||
|
[270] = "Cirdas Caverns", |
||||||
|
[271] = "Cirdas Caverns U", |
||||||
|
[272] = "Dho Gates", |
||||||
|
[273] = "Woh Gates", |
||||||
|
[274] = "Outer Rakaznar", |
||||||
|
[275] = "Outer Rakaznar U", |
||||||
|
[276] = "Rakaznar Inner Court", |
||||||
|
[277] = "Rakaznar Turris", |
||||||
|
[278] = "278", |
||||||
|
[279] = "Walk Of Echoes P2", |
||||||
|
[280] = "Mog Garden", |
||||||
|
[281] = "Leafallia", |
||||||
|
[282] = "Mount Kamihr", |
||||||
|
[283] = "Silver Knife", |
||||||
|
[284] = "Celennia Memorial Library", |
||||||
|
[285] = "Feretory", |
||||||
|
[286] = "Unknown", |
||||||
|
[287] = "Maquette Abdhaljs Legion B", |
||||||
|
[288] = "Escha Zitah", |
||||||
|
[289] = "Escha Ruaun", |
||||||
|
[290] = "Desuetia Empyreal Paradox", |
||||||
|
[291] = "Reisenjima", |
||||||
|
[292] = "Reisenjima Henge", |
||||||
|
[293] = "Reisenjima Sanctorium", |
||||||
|
[294] = "Dynamis San Doria D", |
||||||
|
[295] = "Dynamis Bastok D", |
||||||
|
[296] = "Dynamis Windurst D", |
||||||
|
[297] = "Dynamis Jeuno D", |
||||||
|
} |
||||||
|
|
||||||
|
return { |
||||||
|
zoneNames = zoneNames |
||||||
|
} |
@ -0,0 +1,652 @@ |
|||||||
|
--[[ |
||||||
|
Copyright © 2021, Sjshovan (LoTekkie) |
||||||
|
All rights reserved. |
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without |
||||||
|
modification, are permitted provided that the following conditions are met: |
||||||
|
|
||||||
|
* Redistributions of source code must retain the above copyright |
||||||
|
notice, this list of conditions and the following disclaimer. |
||||||
|
* Redistributions in binary form must reproduce the above copyright |
||||||
|
notice, this list of conditions and the following disclaimer in the |
||||||
|
documentation and/or other materials provided with the distribution. |
||||||
|
* Neither the name of Yield nor the |
||||||
|
names of its contributors may be used to endorse or promote products |
||||||
|
derived from this software without specific prior written permission. |
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND |
||||||
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
||||||
|
DISCLAIMED. IN NO EVENT SHALL Sjshovan (LoTekkie) BE LIABLE FOR ANY |
||||||
|
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
||||||
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
||||||
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
||||||
|
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
||||||
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||||
|
--]] |
||||||
|
|
||||||
|
-- Template for Yield metrics. |
||||||
|
metricsTemplate = |
||||||
|
{ |
||||||
|
totals = |
||||||
|
{ |
||||||
|
lost = 0, |
||||||
|
yields = 0, |
||||||
|
breaks = 0, |
||||||
|
attempts = 0 |
||||||
|
}, |
||||||
|
secondsPassed = 0, |
||||||
|
estimatedValue = 0, |
||||||
|
yields = {}, |
||||||
|
points = |
||||||
|
{ |
||||||
|
yields = {0}, |
||||||
|
values = {0} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
-- Template for Yield state. |
||||||
|
stateTemplate = |
||||||
|
{ |
||||||
|
window = {}, |
||||||
|
initializing = true, |
||||||
|
firstLoad = true, |
||||||
|
reportsLoaded = false, |
||||||
|
attempting = false, |
||||||
|
attemptType = "harvesting", |
||||||
|
gathering = "harvesting", |
||||||
|
settings = |
||||||
|
{ |
||||||
|
activeIndex = 1, |
||||||
|
setPrices = { gathering = "harvesting" }, |
||||||
|
setColors = { gathering = "harvesting" }, |
||||||
|
setAlerts = { gathering = "harvesting" }, |
||||||
|
reports = { gathering = "harvesting" }, |
||||||
|
alerts = { gathering = "harvesting" } |
||||||
|
}, |
||||||
|
help = |
||||||
|
{ |
||||||
|
activeIndex = 1, |
||||||
|
}, |
||||||
|
timers = {}, |
||||||
|
values = |
||||||
|
{ |
||||||
|
btnStartTimer = "Start", |
||||||
|
modalConfirmPrompt = "Are you sure?", |
||||||
|
modalConfirmHelp = "", |
||||||
|
modalConfirmDanger = false, |
||||||
|
yieldsLabelIndex = 1, -- Full |
||||||
|
valuesLabelIndex = 1, -- Full |
||||||
|
yieldSortIndex = 3, -- Count (DESC) |
||||||
|
yieldListBtnsHovered = false, |
||||||
|
yieldListHovered = false, |
||||||
|
yieldListClicked = false, |
||||||
|
inactivitySeconds = 0, |
||||||
|
btnTextureFailure = false, |
||||||
|
targetAlertReady = false, |
||||||
|
feedbackSubmitted = false, |
||||||
|
feedbackMissing = false, |
||||||
|
zoning = false, |
||||||
|
preZoneCounts = {}, |
||||||
|
settingsWindowOpen = false, |
||||||
|
helpWindowOpen = false, |
||||||
|
lastKnownGathering = nil, |
||||||
|
currentReportName = nil, |
||||||
|
genReportDisabled = false, |
||||||
|
clamBucketBroken = false, |
||||||
|
clamConfirmedYields = {}, |
||||||
|
clamBucketTotal = 0, |
||||||
|
clamBucketPz = 0, |
||||||
|
centerWindow = false, |
||||||
|
}, |
||||||
|
actions = |
||||||
|
{ |
||||||
|
modalConfirmAction = function() end, |
||||||
|
modalCancelAction = function() end |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
-- Template for Yield settings. |
||||||
|
defaultSettingsTemplate = |
||||||
|
{ |
||||||
|
general = |
||||||
|
{ |
||||||
|
opacity = 1.0, |
||||||
|
targetValue = 0, |
||||||
|
showToolTips = true, |
||||||
|
windowScaleIndex = 0, |
||||||
|
showDetailedYields = true, |
||||||
|
yieldDetailsColor = -3877684, |
||||||
|
useImageButtons = true, |
||||||
|
enableSoundAlerts = true, |
||||||
|
targetSoundFile = "", |
||||||
|
autoGenReports = true, |
||||||
|
fishingSkillSoundFile = "", |
||||||
|
clamBreakSoundFile = "", |
||||||
|
}, |
||||||
|
state = |
||||||
|
{ |
||||||
|
gathering = "harvesting", |
||||||
|
lastKnownGathering = nil, |
||||||
|
windowPosX = 0, |
||||||
|
windowPosY = 0, |
||||||
|
clamBucketBroken = false, |
||||||
|
clamBucketTotal = 0, |
||||||
|
clamBucketPz = 0, |
||||||
|
clamBucketPzMax = 50, |
||||||
|
firstLoad = true, |
||||||
|
}, |
||||||
|
priceModes = -- 0 - stack price, 1 - single price, 2 - npc price. |
||||||
|
{ |
||||||
|
harvesting = 0, |
||||||
|
excavating = 0, |
||||||
|
logging = 0, |
||||||
|
mining = 0, |
||||||
|
clamming = 0, |
||||||
|
fishing = 0, |
||||||
|
digging = 0 |
||||||
|
}, |
||||||
|
zones = -- capture zoneIds when gathering for report generation. |
||||||
|
{ |
||||||
|
harvesting = {}, |
||||||
|
excavating = {}, |
||||||
|
logging = {}, |
||||||
|
mining = {}, |
||||||
|
clamming = {}, |
||||||
|
fishing = {}, |
||||||
|
digging = {} |
||||||
|
}, |
||||||
|
yields = |
||||||
|
{ |
||||||
|
harvesting = |
||||||
|
{ |
||||||
|
["Mohbwa Grass"] = { id = 2295, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Fresh Marjoram"] = { id = 1522, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Pephredo Hive Chip"] = { id = 2164, short = "Pep. Hive Chip", singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Simsim"] = { id = 2236, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Imperial Tea Leaves"] = { id = 2156, short = "Imp. Tea Leaves", singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Coffee Cherries"] = { id = 2270, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Eggplant"] = { id = 4388, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Red Moko Grass"] = { id = 1845, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Fresh Mugwort"] = { id = 1524, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Wijnruit"] = { id = 951, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Eastern Ginger"] = { id = 2645, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Moko Grass"] = { id = 833, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Saruta Cotton"] = { id = 834, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Flax Flower"] = { id = 835, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Dyer's Woad"] = { id = 2713, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Gysahl Greens"] = { id = 4545, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Windurstian Tea Leaves"] = { id = 635, short = "Win. Tea Leaves", singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Skull Locust"] = { id = 1981, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Vegetable Seeds"] = { id = 573, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Herb Seeds"] = { id = 572, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Grain Seeds"] = { id = 575, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Crawler Cocoon"] = { id = 839, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["King Locust"] = { id = 1982, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Burdock"] = { id = 5651, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Lesser Chigoe"] = { id = 2155, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Winterflower"] = { id = 5907, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Woozyshroom"] = { id = 4373, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Danceshroom"] = { id = 4375, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Sleepshroom"] = { id = 4374, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Scream Fungus"] = { id = 4447, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Coral Fungus"] = { id = 4450, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Reishi Mushroom"] = { id = 4449, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Mushroom Locust"] = { id = 1983, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Grauberg Greens"] = { id = 5444, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Puffball"] = { id = 4448, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["King Truffle"] = { id = 4386, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
}, |
||||||
|
excavating = |
||||||
|
{ |
||||||
|
["Bone Chip"] = { id = 880, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Chicken Bone"] = { id = 898, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Giant Femur"] = { id = 893, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Little Worm"] = { id = 17396, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 99, color = -3877684, soundFile = "" }, |
||||||
|
["Bat Fang"] = { id = 891, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Scorpion Claw"] = { id = 897, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Scorpion Shell"] = { id = 896, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Turtle Shell"] = { id = 885, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Silica"] = { id = 1888, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Red Rock"] = { id = 769, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Yellow Rock"] = { id = 771, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Blue Rock"] = { id = 770, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Green Rock"] = { id = 772, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Translucent Rock"] = { id = 773, short = "Trans. Rock", singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Purple Rock"] = { id = 774, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["White Rock"] = { id = 776, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Black Rock"] = { id = 775, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Rock Salt"] = { id = 936, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Seashell"] = { id = 888, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Shell Bug"] = { id = 17397, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Fish Scales"] = { id = 864, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Lugworm"] = { id = 17395, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 99, color = -3877684, soundFile = "" }, |
||||||
|
["Crab Shell"] = { id = 881, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Helmet Mole"] = { id = 1985, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Coral Fragment"] = { id = 887, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Petrified Log"] = { id = 703, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Antlion Jaw"] = { id = 2503, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Cactus Stems"] = { id = 1236, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Almonds"] = { id = 2503, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["High-Quality Scorpion Shell"] = { id = 1473, short = "HQ Scorpion Shell", singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
|
||||||
|
}, |
||||||
|
logging = |
||||||
|
{ |
||||||
|
["Lauan Log"] = { id = 689, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Arrowwood Log"] = { id = 688, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Yagudo Cherry"] = { id = 4445, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Buburimu Grape"] = { id = 4503, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Dryad Root"] = { id = 923, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Fruit Seeds"] = { id = 574, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Holly Log"] = { id = 697, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Ebony Log"] = { id = 702, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Mahogany Log"] = { id = 700, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Rosewood Log"] = { id = 701, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Ash Log"] = { id = 698, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Maple Log"] = { id = 691, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Willow Log"] = { id = 695, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Elm Log"] = { id = 690, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Acorn"] = { id = 4504, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Walnut Log"] = { id = 693, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Oak Log"] = { id = 699, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Yew Log"] = { id = 696, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Faerie Apple"] = { id = 4363, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Pine Nuts"] = { id = 2213, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Almonds"] = { id = 2503, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Date"] = { id = 5566, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Chestnut Log"] = { id = 694, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Bloodwood Log"] = { id = 729, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Walnut"] = { id = 5661, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Ronfaure Chestnut"] = { id = 639, short = "Ron. Chestnut", singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Jacaranda Log"] = { id = 2534, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Teak Log"] = { id = 2532, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Rattan Lumber"] = { id = 721, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Revival Root"] = { id = 940, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Aquilaria Log"] = { id = 731, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Beehive Chip"] = { id = 912, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Tree Cuttings"] = { id = 1237, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Dragon Fruit"] = { id = 5662, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Holy Water"] = { id = 4154, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Nopales"] = { id = 5650, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Bird Feather"] = { id = 847, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Bird Egg"] = { id = 4570, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Cactus Stems"] = { id = 1236, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Butterpear"] = { id = 5908, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Kapor Log"] = { id = 732, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
}, |
||||||
|
mining = |
||||||
|
{ |
||||||
|
["Copper Ore"] = { id = 640, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Zinc Ore"] = { id = 642, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Tin Ore"] = { id = 641, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Iron Ore"] = { id = 643, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Silver Ore"] = { id = 736, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Darksteel Ore"] = { id = 645, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Gold Ore"] = { id = 737, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Mythril Ore"] = { id = 644, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Platinum Ore"] = { id = 738, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Aluminum Ore"] = { id = 678, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Adaman Ore"] = { id = 646, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Khroma Ore"] = { id = 685, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Luminium Ore"] = { id = 2228, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Orichalcum Ore"] = { id = 739, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Pebble"] = { id = 17296, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 99, color = -3877684, soundFile = "" }, |
||||||
|
["Flint Stone"] = { id = 768, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Igneous Rock"] = { id = 1654, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Red Rock"] = { id = 769, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Yellow Rock"] = { id = 771, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Blue Rock"] = { id = 770, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Green Rock"] = { id = 772, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Translucent Rock"] = { id = 773, short = "Trans. Rock", singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Purple Rock"] = { id = 774, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["White Rock"] = { id = 776, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Black Rock"] = { id = 775, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Sulfur"] = { id = 1108, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Iron Sand"] = { id = 1155, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Bomb Ash"] = { id = 928, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Bomb Arm"] = { id = 17316, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Goblin Die"] = { id = 568, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Demon Horn"] = { id = 902, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Aht Urhgan Brass"] = { id = 2417, short = "Aht Urh. Brass", singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Orpiment"] = { id = 2126, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Snapping Mole"] = { id = 1984, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Troll Pauldron"] = { id = 2160, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Troll Vambrace"] = { id = 2161, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Moblin Mask"] = { id = 1638, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Moblin Helm"] = { id = 1625, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Moblin Mail"] = { id = 1632, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Moblin Armor"] = { id = 1631, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Plumbago"] = { id = 2860, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Mine Gravel"] = { id = 597, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
}, |
||||||
|
clamming = |
||||||
|
{ |
||||||
|
["Oxblood"] = { id = 1311, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, pz = 6, color = -3877684, soundFile = "" }, |
||||||
|
["Turtle Shell"] = { id = 885, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, pz = 6, color = -3877684, soundFile = "" }, |
||||||
|
["High-Quality Crab Shell"] = { id = 1193, short = "HQ Crab Shell", singlePrice = 0, stackPrice = 0, pz = 6, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Lacquer Tree Log"] = { id = 1446, short = "Lacq. Tree Log", singlePrice = 0, stackPrice = 0, pz = 6, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Bibiki Urchin"] = { id = 4318, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, pz = 6, color = -3877684, soundFile = "" }, |
||||||
|
["Titanictus Shell"] = { id = 1586, short = "Titan. Shell", singlePrice = 0, stackPrice = 0, pz = 6, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Tropical Clam"] = { id = 5124, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, pz = 20, color = -3877684, soundFile = "" }, |
||||||
|
["Elm Log"] = { id = 690, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, pz = 6, color = -3877684, soundFile = "" }, |
||||||
|
["Coral Fragment"] = { id = 887, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, pz = 6, color = -3877684, soundFile = "" }, |
||||||
|
["Petrified Log"] = { id = 703, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, pz = 6, color = -3877684, soundFile = "" }, |
||||||
|
["Maple Log"] = { id = 691, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, pz = 6, color = -3877684, soundFile = "" }, |
||||||
|
["Pamamas"] = { id = 4468, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, pz = 6, color = -3877684, soundFile = "" }, |
||||||
|
["High-Quality Pugil Scale"] = { id = 3270, short = "HQ Pugil Scale", singlePrice = 0, stackPrice = 0, stackSize = 1, pz = 6, color = -3877684, soundFile = "" }, |
||||||
|
["Seashell"] = { id = 888, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, pz = 6, color = -3877684, soundFile = "" }, |
||||||
|
["Hobgoblin Bread"] = { id = 4328, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, pz = 6, color = -3877684, soundFile = "" }, |
||||||
|
["Broken Willow Rod"] = { id = 485, short = "Bkn. Willow Rod", singlePrice = 0, stackPrice = 0, stackSize = 1, pz = 6, color = -3877684, soundFile = "" }, |
||||||
|
["Goblin Armor"] = { id = 510, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, pz = 6, color = -3877684, soundFile = "" }, |
||||||
|
["Elshimo Coconut"] = { id = 5187, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, pz = 6, color = -3877684, soundFile = "" }, |
||||||
|
["Goblin Mail"] = { id = 507, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, pz = 6, color = -3877684, soundFile = "" }, |
||||||
|
["Crab Shell"] = { id = 881, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, pz = 6, color = -3877684, soundFile = "" }, |
||||||
|
["Hobgoblin Pie"] = { id = 4325, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, pz = 6, color = -3877684, soundFile = "" }, |
||||||
|
["Rock Salt"] = { id = 936, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, pz = 6, color = -3877684, soundFile = "" }, |
||||||
|
["Nebimonite"] = { id = 4361, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, pz = 6, color = -3877684, soundFile = "" }, |
||||||
|
["Fish Scales"] = { id = 864, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, pz = 6, color = -3877684, soundFile = "" }, |
||||||
|
["Shall Shell"] = { id = 4484, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, pz = 6, color = -3877684, soundFile = "" }, |
||||||
|
["Pamtam Kelp"] = { id = 624, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, pz = 6, color = -3877684, soundFile = "" }, |
||||||
|
["Igneous Rock"] = { id = 1654, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, pz = 6, color = -3877684, soundFile = "" }, |
||||||
|
["Pebble"] = { id = 17296, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 99, pz = 7, color = -3877684, soundFile = "" }, |
||||||
|
["Jacknife"] = { id = 5123, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, pz = 11, color = -3877684, soundFile = "" }, |
||||||
|
["Bibiki Slug"] = { id = 5122, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, pz = 3, color = -3877684, soundFile = "" }, |
||||||
|
}, |
||||||
|
fishing = |
||||||
|
{ |
||||||
|
["Abaia"] = { id = 5476, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Ahtapot"] = { id = 5455, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Alabaligi"] = { id = 5461, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Armored Pisces"] = { id = 4316, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Arrowwood Log"] = { id = 688, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Bastore Bream"] = { id = 4461, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Bastore Sardine"] = { id = 4360, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Bastore Sweeper"] = { id = 5473, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Betta"] = { id = 5139, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Bhefhel Marlin"] = { id = 4479, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Bibiki Urchin"] = { id = 4318, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Bibikibo"] = { id = 4314, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Black Eel"] = { id = 4429, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Black Ghost"] = { id = 5138, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Black Sole"] = { id = 4384, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Bladefish"] = { id = 4471, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Blindfish"] = { id = 4313, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Bluetail"] = { id = 4399, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Brass Loach"] = { id = 5469, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Ca Cuong"] = { id = 5474, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Caedarva Frog"] = { id = 5465, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Cave Cherax"] = { id = 4309, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Cheval Salmon"] = { id = 4379, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Cobalt Jellyfish"] = { id = 4443, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Cone Calamary"] = { id = 5128, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Copper Frog"] = { id = 4515, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Copper Ring"] = { id = 13454, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Coral Butterfly"] = { id = 4580, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Coral Fragment"] = { id = 887, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Crayfish"] = { id = 4472, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Crescent Fish"] = { id = 4473, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Crystal Bass"] = { id = 4528, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Damp Scroll"] = { id = 1210, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Dark Bass"] = { id = 4428, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Denizanasi"] = { id = 5447, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Dil"] = { id = 5457, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Elshimo Frog"] = { id = 4290, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Elshimo Newt"] = { id = 4579, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Emperor Fish"] = { id = 4454, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Fat Greedie"] = { id = 4501, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Fish Scale Shield"] = { id = 12316, short = "Fish Scale Shld.", singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Forest Carp"] = { id = 4289, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Garpike"] = { id = 5472, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Gavial Fish"] = { id = 4477, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Gerrothorax"] = { id = 5471, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Giant Catfish"] = { id = 4469, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Giant Chirai"] = { id = 4308, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Giant Donko"] = { id = 4306, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Gigant Octopus"] = { id = 5475, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Gigant Squid"] = { id = 4474, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Gold Carp"] = { id = 4427, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Gold Lobster"] = { id = 4383, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Greedie"] = { id = 4500, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Grimmonite"] = { id = 4304, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Gugru Tuna"] = { id = 4480, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Gugrusaurus"] = { id = 5127, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Gurnard"] = { id = 5132, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Hamsi"] = { id = 5449, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Hydrogauge"] = { id = 2341, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Icefish"] = { id = 4470, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Istakoz"] = { id = 5453, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Istavrit"] = { id = 5136, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Istiridye"] = { id = 5456, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Jungle Catfish"] = { id = 4307, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Kalamar"] = { id = 5448, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Kalkanbaligi"] = { id = 5140, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Kaplumbaga"] = { id = 5464, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Kayabaligi"] = { id = 5460, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Kilicbaligi"] = { id = 5451, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Lakerda"] = { id = 5450, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Lamp Marimo"] = { id = 2216, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Lik"] = { id = 5129, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Lungfish"] = { id = 4315, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Matsya"] = { id = 5468, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Megalodon"] = { id = 5467, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Mercanbaligi"] = { id = 5454, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Moat Carp"] = { id = 4401, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Moblin Mask"] = { id = 1638, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Mola Mola"] = { id = 5134, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Monke-Onke"] = { id = 4462, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Moorish Idol"] = { id = 5121, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Morinabaligi"] = { id = 5462, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Muddy Siredon"] = { id = 5126, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Mythril Dagger"] = { id = 16451, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Mythril Sword"] = { id = 16537, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Nebimonite"] = { id = 4361, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Noble Lady"] = { id = 4485, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Norg Shell"] = { id = 1135, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Nosteau Herring"] = { id = 4482, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Ogre Eel"] = { id = 4481, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Pamtam Kelp"] = { id = 624, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Phanauet Newt"] = { id = 5125, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Pipira"] = { id = 4464, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Pirarucu"] = { id = 5470, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Pterygotus"] = { id = 5133, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Quus"] = { id = 4514, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Red Terrapin"] = { id = 4402, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Rhinochimera"] = { id = 5135, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Rusty Bucket"] = { id = 90, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Rusty Cap"] = { id = 12522, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Rusty Greatsword"] = { id = 16606, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Rusty Leggings"] = { id = 14117, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Rusty Pick"] = { id = 16655, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Rusty Subligar"] = { id = 14242, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Ryugu Titan"] = { id = 4305, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Sandfish"] = { id = 4291, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Sazanbaligi"] = { id = 5459, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Sea Zombie"] = { id = 4475, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Shall Shell"] = { id = 4484, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Shining Trout"] = { id = 4354, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Silver Ring"] = { id = 13456, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Silver Shark"] = { id = 4451, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Takitaro"] = { id = 4463, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Tavnazian Goby"] = { id = 5130, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Three-Eyed Fish"] = { id = 4478, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Tiger Cod"] = { id = 4483, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Tiny Goldfish"] = { id = 4310, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Titanic Sawfish"] = { id = 5120, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Titanictus"] = { id = 4476, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Tricolored Carp"] = { id = 4426, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Tricorn"] = { id = 4319, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Trilobite"] = { id = 4317, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Trumpet Shell"] = { id = 5466, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Turnabaligi"] = { id = 5137, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Uskumru"] = { id = 5452, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Veydal Wrasse"] = { id = 5141, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Vongola Clam"] = { id = 5131, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Yayinbaligi"] = { id = 5463, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Yellow Globe"] = { id = 4403, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Yilanbaligi"] = { id = 5458, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Zafmlug Bass"] = { id = 4385, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Zebra Eel"] = { id = 4288, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Bugbear Mask"] = { id = 1624, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Adoulinian Kelp"] = { id = 3965, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Ripped cap"] = { id = 591, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Gil"] = { id = nil, short = nil, singlePrice = nil, stackPrice = nil, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Monster"] = { id = nil, short = nil, singlePrice = nil, stackPrice = nil, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
}, |
||||||
|
digging = |
||||||
|
{ |
||||||
|
["Acorn"] = { id = 4504, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Bone Chip"] = { id = 880, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Arrowwood Log"] = { id = 688, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Holly Log"] = { id = 697, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["King Truffle"] = { id = 4386, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Little Worm"] = { id = 17396, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 99, color = -3877684, soundFile = "" }, |
||||||
|
["Maple Log"] = { id = 691, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Mistletoe"] = { id = 918, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Oak Log"] = { id = 699, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Scream Fungus"] = { id = 4447, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Willow Log"] = { id = 695, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Fire Crystal"] = { id = 4096, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Ice Crystal"] = { id = 4097, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Wind Crystal"] = { id = 4098, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Earth Crystal"] = { id = 4099, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Lightning Crystal"] = { id = 4100, short = "Ltng. Crystal", singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Water Crystal"] = { id = 4101, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Light Crystal"] = { id = 4102, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Dark Crystal"] = { id = 4103, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Fire Cluster"] = { id = 4104, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Water Cluster"] = { id = 4109, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Earth Cluster"] = { id = 4107, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Wind Cluster"] = { id = 4106, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Ice Cluster"] = { id = 4105, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Lightning Cluster"] = { id = 4108, short = "Ltng. Cluster", singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Light Cluster"] = { id = 4110, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Dark Cluster"] = { id = 4111, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Fire Ore"] = { id = 1255, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Earth Ore"] = { id = 1258, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Water Ore"] = { id = 1260, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Wind Ore"] = { id = 1257, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Ice Ore"] = { id = 1256, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Lightning Ore"] = { id = 1259, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Light Ore"] = { id = 1261, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Dark Ore"] = { id = 1262, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Elm Log"] = { id = 690, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Lacquer Tree Log"] = { id = 1446, short = "Lacq. Tree Log", singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Mahogany Log"] = { id = 700, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Rosewood Log"] = { id = 701, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Yew Log"] = { id = 696, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Bird Egg"] = { id = 4570, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Colored Egg"] = { id = 4487, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Hard-boiled Egg"] = { id = 4409, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Sairui-Ran"] = { id = 1188, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 99, color = -3877684, soundFile = "" }, |
||||||
|
["Soft-boiled Egg"] = { id = 4532, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Bird Feather"] = { id = 847, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Coral Fragment"] = { id = 887, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Giant Femur"] = { id = 893, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Lugworm"] = { id = 17395, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 99, color = -3877684, soundFile = "" }, |
||||||
|
["Platinum Ore"] = { id = 738, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Seashell"] = { id = 888, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Shall Shell"] = { id = 4484, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Shell Bug"] = { id = 17397, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Tin Ore"] = { id = 641, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Turtle Shell"] = { id = 885, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Black Chocobo Feather"] = { id = 845, short = "Blk. Choco Feather", singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Giant Bird Plume"] = { id = 843, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Phoenix Feather"] = { id = 844, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Red Moko Grass"] = { id = 1845, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Spider Web"] = { id = 838, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Demon Horn"] = { id = 902, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Demon Skull"] = { id = 886, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Dragon Scales"] = { id = 867, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Fish Scales"] = { id = 864, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["High-Quality Pugil Scales"] = { id = 1587, short = "HQ Pugil Scales", singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Titanictus Shell"] = { id = 1586, short = "Titan. Shell", singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Wyvern Scales"] = { id = 866, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Adaman Ore"] = { id = 646, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Ebony Log"] = { id = 702, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Moko Grass"] = { id = 833, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Pebble"] = { id = 17296, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 99, color = -3877684, soundFile = "" }, |
||||||
|
["Pephredo Hive Chip"] = { id = 2164, short = "Pep. Hive Chip", singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Pine Nuts"] = { id = 2213, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Aluminum Ore"] = { id = 678, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Flint Stone"] = { id = 768, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Gold Ore"] = { id = 737, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Kaolin"] = { id = 2475, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Orichalcum Ore"] = { id = 739, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Colibri Feather"] = { id = 2150, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Dried Marjoram"] = { id = 622, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Lesser Chigoe"] = { id = 2155, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Petrified Log"] = { id = 703, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Darksteel Ore"] = { id = 645, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Ash Log"] = { id = 698, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Chocobo Feather"] = { id = 840, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Ronfaure Chestnut"] = { id = 639, short = "Ron. Chestnut", singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Chestnut Log"] = { id = 694, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Gysahl Greens"] = { id = 4545, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Chamomile"] = { id = 636, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Ginger"] = { id = 617, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Vegetable Seeds"] = { id = 573, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Fruit Seeds"] = { id = 574, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Zinc Ore"] = { id = 642, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Pie Dough"] = { id = 616, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Napa"] = { id = 5235, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Yellow Ginseng"] = { id = 2364, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Wildgrass Seeds"] = { id = 2235, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Tree Cuttings"] = { id = 1237, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Red Rock"] = { id = 769, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Yellow Rock"] = { id = 771, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Blue Rock"] = { id = 770, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Green Rock"] = { id = 772, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Translucent Rock"] = { id = 773, short = "Trans. Rock", singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Purple Rock"] = { id = 774, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["White Rock"] = { id = 776, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Black Rock"] = { id = 775, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Lizard Molt"] = { id = 869, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Copper Ore"] = { id = 640, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Iron Ore"] = { id = 643, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Red Jar"] = { id = 106, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 1, color = -3877684, soundFile = "" }, |
||||||
|
["Reishi Mushroom"] = { id = 4449, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Beastcoin"] = { id = 656, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Gold Beastcoin"] = { id = 748, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Mythril Beastcoin"] = { id = 749, short = "Myth. Beastcoin", singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Silver Beastcoin"] = { id = 750, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Insect Wing"] = { id = 846, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Pugil Scales"] = { id = 868, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Mythril Ore"] = { id = 644, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Cactus Stems"] = { id = 1236, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Rock Salt"] = { id = 936, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Grain Seeds"] = { id = 575, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Giant Bird Feather"] = { id = 842, short = "Gnt. Bird Feather", singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Coral Fungus"] = { id = 4450, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Deathball"] = { id = 4566, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Puffball"] = { id = 4448, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Sage"] = { id = 638, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Danceshroom"] = { id = 4375, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Sleepshroom"] = { id = 4374, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Woozyshroom"] = { id = 4373, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Silver Ore"] = { id = 736, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Philosopher's Stone"] = { id = 942, short = "Philos. Stone", singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Herb Seeds"] = { id = 572, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Lauan Log"] = { id = 689, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Yagudo Feather"] = { id = 841, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Saruta Cotton"] = { id = 834, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Papaka Grass"] = { id = 938, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Platinum Beastcoin"] = { id = 751, short = "Plat. Beastcoin", singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Kopparnickel Ore"] = { id = 1650, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Ancient Lumber"] = { id = 720, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Cinnamon"] = { id = 628, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Rattan Lumber"] = { id = 721, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Mushroom Locust"] = { id = 1983, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Kazham Pineapple"] = { id = 4432, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
["Dryad Root"] = { id = 923, short = nil, singlePrice = 0, stackPrice = 0, stackSize = 12, color = -3877684, soundFile = "" }, |
||||||
|
} |
||||||
|
}, |
||||||
|
metrics = {} |
||||||
|
} |
||||||
|
|
||||||
|
return { |
||||||
|
defaultSettingsTemplate = defaultSettingsTemplate, |
||||||
|
stateTemplate = stateTemplate, |
||||||
|
metricsTemplate = metricsTemplate |
||||||
|
} |