Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

enhance and refactor: multiple scripts for better functionality #3007

Merged
merged 37 commits into from
Nov 13, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
b4af6d7
fix: prevent multiple transformations of anniversary balloons
omarcopires Oct 23, 2024
bb6862c
fix: bath tube for custom data
omarcopires Oct 24, 2024
4b9aa60
chore: vessels for custom data
omarcopires Oct 24, 2024
ddb7d37
chore: dolls for custom data
omarcopires Oct 24, 2024
c9bc7b5
fix: replace SoulWarQuest.bagYouDesireItemId with BAG_YOU_DESIRE
omarcopires Oct 25, 2024
83d6a05
fix: ensure only one prize is awarded from surprise box
omarcopires Oct 25, 2024
15ed40e
refactor: simplify surprise bags logic and reduce code size
omarcopires Oct 25, 2024
43be031
refactor: improve readability and organization of bed modification kits
omarcopires Oct 25, 2024
26f4c94
fix: update guild war status logic
omarcopires Oct 25, 2024
0249b28
refactor: simplify reward distribution in christmas bundle action
omarcopires Oct 25, 2024
df5b072
chore: new items in core
omarcopires Oct 25, 2024
37f9b67
refactor: optimize spectator message handling and item transformation…
omarcopires Oct 25, 2024
2cce64f
Merge branch 'main' into fix-balloons
omarcopires Oct 25, 2024
b0cb6b7
resolve conversation
omarcopires Oct 29, 2024
8c2b873
refactor: enhance VIP status handling and improve clarity
omarcopires Oct 29, 2024
a129ff9
Merge branch 'main' into fix-balloons
omarcopires Oct 29, 2024
4a40672
fix: improve gold ranking display with formatted values and variable …
omarcopires Oct 30, 2024
08c1ead
improvement: addMounts command to assign mounts to players
omarcopires Oct 30, 2024
d914f73
improvement: /addaddon to support adding specific or all outfit addons
omarcopires Oct 30, 2024
6c76fcf
Merge remote-tracking branch 'upstream/main' into fix-balloons
omarcopires Oct 31, 2024
b517479
chore: move crushers to core
github-actions[bot] Oct 31, 2024
122d762
Merge branch 'main' into fix-balloons
omarcopires Oct 31, 2024
dfe6d43
fix: improve skill addition messages for clarity and correct pluraliz…
omarcopires Oct 31, 2024
391ee6b
Merge remote-tracking branch 'upstream/main' into fix-balloons
omarcopires Nov 1, 2024
4ff4bfe
remove duplicated script
omarcopires Nov 1, 2024
31902fd
feat: gooey mass
omarcopires Nov 1, 2024
f2e196e
Merge branch 'main' into fix-balloons
omarcopires Nov 4, 2024
08f2bb2
chore: move scripts to core
omarcopires Nov 5, 2024
1dbde1d
refactor: combine findItemInInbox functions into one
omarcopires Nov 5, 2024
a2262f9
Merge remote-tracking branch 'upstream/main' into fix-balloons
omarcopires Nov 6, 2024
8287bc5
feat: mystery box
omarcopires Nov 6, 2024
b30fe17
revert changes
omarcopires Nov 6, 2024
395c5d0
Merge remote-tracking branch 'upstream/main' into fix-balloons
omarcopires Nov 6, 2024
ff880f0
typo
omarcopires Nov 6, 2024
57e35d1
Merge branch 'main' into fix-balloons
omarcopires Nov 10, 2024
a9d8505
refactor: rename variables to camelCase and improve readability
omarcopires Nov 11, 2024
c5796b2
Merge branch 'main' into fix-balloons
omarcopires Nov 13, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
improvement: /addaddon to support adding specific or all outfit addons
  • Loading branch information
omarcopires committed Oct 31, 2024
commit d914f7396bb0e4f03eb2736fe0f4c9bb47a6fcda
316 changes: 289 additions & 27 deletions data/scripts/talkactions/god/add_addon.lua
Original file line number Diff line number Diff line change
@@ -1,45 +1,307 @@
local addons = TalkAction("/addaddon")
local addaddon = TalkAction("/addaddon")

function addons.onSay(player, words, param)
-- create log
logCommand(player, words, param)
local looktypes = {
-- Female Outfits
omarcopires marked this conversation as resolved.
Show resolved Hide resolved
136,
137,
138,
139,
140,
141,
142,
147,
148,
149,
150,
155,
156,
157,
158,
252,
269,
270,
279,
288,
324,
329,
336,
366,
431,
433,
464,
466,
471,
513,
514,
542,
575,
578,
618,
620,
632,
635,
636,
664,
666,
683,
694,
696,
698,
724,
732,
745,
749,
759,
845,
852,
874,
885,
900,
909,
929,
956,
958,
963,
965,
967,
969,
971,
973,
975,
1020,
1024,
1043,
1050,
1057,
1070,
1095,
1103,
1128,
1147,
1162,
1174,
1187,
1203,
1205,
1207,
1211,
1244,
1246,
1252,
1271,
1280,
1283,
1289,
1293,
1323,
1332,
1339,
1372,
1383,
1385,
1387,
1416,
1437,
1445,
1450,
1456,
1461,
1490,
1501,
1569,
1576,
1582,
1598,
1613,
1619,
1663,
1676,
1681,

local target
local split = param:split(",")
local name = split[1]
-- Male Outfits
1714,
1723,
1726,
1746,
1775,
1777,
128,
129,
130,
131,
132,
133,
134,
143,
144,
145,
146,
151,
152,
153,
154,
251,
268,
273,
278,
289,
325,
328,
335,
367,
430,
432,
463,
465,
472,
512,
516,
541,
574,
577,
610,
619,
633,
634,
637,
665,
667,
684,
695,
697,
699,
725,
733,
746,
750,
760,
846,
853,
873,
884,
899,
908,
931,
955,
957,
962,
964,
966,
968,
970,
972,
974,
1021,
1023,
1042,
1051,
1056,
1069,
1094,
1102,
1127,
1146,
1161,
1173,
1186,
1202,
1204,
1206,
1210,
1243,
1245,
1251,
1270,
1279,
1282,
1288,
1292,
1322,
1331,
1338,
1371,
1382,
1384,
1386,
1415,
1436,
1444,
1449,
1457,
1460,
1489,
1500,
1568,
1575,
1581,
1597,
1612,
1618,
1662,
1675,
1680,
1713,
1722,
1725,
1745,
1774,
1776,
}

function addaddon.onSay(player, words, param)
-- Create log
logCommand(player, words, param)

if param == "" then
target = player:getTarget()
if not target then
player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Gives players the ability to wear addon for a specific outfit. Usage: /addaddon <player name>, <looktype>")
return true
end
else
target = Player(name)
player:sendCancelMessage("Command param required.")
return true
end

if not target then
player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Player " .. name .. " is currently not online.")
local split = param:split(",")
if #split < 3 then
player:sendCancelMessage("Usage: /addaddon <player name>, <looktype or 'all'>, <value>")
return true
end

local looktype = tonumber(split[2])
if not looktype then
player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Invalid looktype.")
local playerName = split[1]
local target = Player(playerName)

if not target then
player:sendCancelMessage("Player not found.")
return true
end

local addons = tonumber(split[3])
if not addons or addons < 0 or addons > 3 then
player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Invalid addon.")
local addonParam = string.trim(split[2])
local addonValue = tonumber(string.trim(split[3]))

if not addonValue or addonValue < 0 or addonValue > 3 then
player:sendCancelMessage("Invalid addon value. It should be between 0 and 3.")
return true
end

target:addOutfitAddon(looktype, addons)
player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Addon for looktype " .. looktype .. "a for " .. target:getName() .. " set to " .. addons .. ".")
if addonParam == "all" then
for _, looktype in ipairs(looktypes) do
target:addOutfitAddon(looktype, addonValue)
end

target:sendTextMessage(MESSAGE_EVENT_ADVANCE, string.format("%s has added addon %d to all your looktypes.", player:getName(), addonValue))
player:sendTextMessage(MESSAGE_EVENT_ADVANCE, string.format("You have successfully added addon %d to all looktypes of player %s.", addonValue, target:getName()))
else
local looktype = tonumber(addonParam)
if not looktype then
player:sendCancelMessage("Invalid looktype.")
return true
end

target:addOutfitAddon(looktype, addonValue)
player:sendTextMessage(MESSAGE_EVENT_ADVANCE, string.format("Addon %d for looktype %d set for player %s.", addonValue, looktype, target:getName()))
target:sendTextMessage(MESSAGE_EVENT_ADVANCE, string.format("%s has added addon %d for looktype %d to you.", player:getName(), addonValue, looktype))
end

logger.debug("[addaddon.onSay] - Player: {} has added addon: {} for looktype: {} to the player: {}", player:getName(), addonValue, addonParam, target:getName())
return true
end

addons:separator(" ")
addons:groupType("god")
addons:register()
addaddon:separator(" ")
addaddon:groupType("god")
addaddon:register()
Loading
Loading