Skip to content

Commit

Permalink
Merge branch 'main-canary' into ot-projeto-version-0.0.3
Browse files Browse the repository at this point in the history
  • Loading branch information
jacques-tony committed Jan 22, 2024
2 parents 6cda8c2 + 4d3e602 commit c0d6612
Show file tree
Hide file tree
Showing 118 changed files with 4,767 additions and 1,545 deletions.
35 changes: 32 additions & 3 deletions config.lua.dist
Original file line number Diff line number Diff line change
Expand Up @@ -118,10 +118,12 @@ taskHuntingFreeRerollTime = 20 * 60 * 60
forgeMaxItemTier = 10
forgeCostOneSliver = 20
forgeSliverAmount = 3
forgeCoreCost = 50
forgeCoreCost = 50
forgeMaxDust = 1000
forgeFusionCost = 100
forgeTransferCost = 100
forgeFusionDustCost = 100
forgeConvergenceFusionDustCost = 130
forgeTransferDustCost = 100
forgeConvergenceTransferCost = 160
forgeBaseSuccessRate = 50
forgeBonusSuccessRate = 15
forgeTierLossReduction = 50
Expand All @@ -133,6 +135,24 @@ forgeFiendishLimit = 500
forgeFiendishIntervalType = "minute"
forgeFiendishIntervalTime = "1"

ruseChanceFormulaA = 0.0307576
ruseChanceFormulaB = 0.440697
ruseChanceFormulaC = 0.026

onslaughtChanceFormulaA = 0.05
onslaughtChanceFormulaB = 0.4
onslaughtChanceFormulaC = 0.05

momentumChanceFormulaA = 0.05
momentumChanceFormulaB = 1.9
momentumChanceFormulaC = 0.05

transcendanceChanceFormulaA = 0.0127
transcendanceChanceFormulaB = 0.1070
transcendanceChanceFormulaC = 0.0073

transcendanceAvatarDuration = 7000

-- Bestiary & Bosstiary system
-- NOTE: bestiaryKillMultiplier, multiplier value of monster killed, default 1
-- NOTE: bosstiaryKillMultiplier, multiplier value of boss killed, default 1
Expand Down Expand Up @@ -179,6 +199,15 @@ pvpMaxLevelDifference = 0
wheelSystemEnabled = true
wheelPointsPerResets = 42

-- Gem Atelier
wheelAtelierRotateLesserCost = 125000
wheelAtelierRotateRegularCost = 250000
wheelAtelierRotateGreaterCost = 500000

wheelAtelierRevealLesserCost = 125000
wheelAtelierRevealRegularCost = 1000000
wheelAtelierRevealGreaterCost = 6000000

-- Familiar system
-- NOTE: the time will be divided by 2 to get half the value, the familiar lasts 15 minutes by default and the cooldown of the spell is 30 minutes
-- Only change it here if you know what you are doing or to make testing easier with familiars
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ monster.loot = {
{ name = "shiver arrow", chance = 7310 },
{ name = "ice rapier", chance = 4750 },
{ name = "glacier mask", chance = 4570 },
{ id = 44072, chance = 4000, maxCount = 5 }, -- snowball
{ id = 2992, chance = 4000, maxCount = 5 }, -- snowball
{ name = "hailstorm rod", chance = 3470 },
{ name = "glacier mask", chance = 250 },
{ name = "glacier amulet", chance = 3290 },
Expand Down
1 change: 1 addition & 0 deletions data-otservbr-global/monster/demons/brachiodemon.lua
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ monster.attacks = {
{ name = "combat", interval = 2000, chance = 22, type = COMBAT_DEATHDAMAGE, minDamage = -630, maxDamage = -1155, radius = 4, effect = CONST_ME_EXPLOSIONHIT, target = false },
{ name = "combat", interval = 2000, chance = 10, type = COMBAT_DEATHDAMAGE, minDamage = -683, maxDamage = -1208, range = 7, effect = CONST_ANI_SUDDENDEATH, target = true },
{ name = "combat", interval = 2000, chance = 15, type = COMBAT_DEATHDAMAGE, minDamage = -735, maxDamage = -1218, range = 7, radius = 4, shootEffect = CONST_ANI_SUDDENDEATH, effect = CONST_ME_MORTAREA, target = true },
{ name = "destroy magic walls", interval = 1000, chance = 30 },
}

monster.defenses = {
Expand Down
1 change: 1 addition & 0 deletions data-otservbr-global/monster/demons/many_faces.lua
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ monster.attacks = {
{ name = "combat", interval = 5000, chance = 44, type = COMBAT_ICEDAMAGE, minDamage = -766, maxDamage = -1404, range = 7, radius = 5, shootEffect = CONST_ANI_ICE, effect = CONST_ME_ICEAREA, target = true },
{ name = "combat", interval = 9500, chance = 59, type = COMBAT_HOLYDAMAGE, minDamage = -830, maxDamage = -1468, radius = 4, effect = CONST_ME_HOLYAREA, target = false },
{ name = "extended holy chain", interval = 10000, chance = 59, minDamage = -893, maxDamage = -1480, range = 7 },
{ name = "destroy magic walls", interval = 1000, chance = 30 },
}

monster.defenses = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ monster.loot = {
{ id = 2639, chance = 4000 }, -- picture
{ id = 2950, chance = 5000 }, -- lute
{ id = 2983, chance = 500 }, -- flower bowl
{ id = 44072, chance = 7000, maxCount = 5 }, -- snowball
{ id = 2992, chance = 7000, maxCount = 5 }, -- snowball
{ name = "piggy bank", chance = 1000 },
{ name = "gold coin", chance = 22500, maxCount = 22 },
{ name = "scarab coin", chance = 500, maxCount = 2 },
Expand Down
2 changes: 1 addition & 1 deletion data-otservbr-global/monster/mammals/yeti.lua
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ monster.voices = {
}

monster.loot = {
{ id = 44072, chance = 10000, maxCount = 22 },
{ id = 2992, chance = 10000, maxCount = 22 }, -- snowball
{ name = "gold coin", chance = 100000, maxCount = 60 },
{ name = "gold coin", chance = 100000, maxCount = 40 },
{ name = "bunnyslippers", chance = 1333 },
Expand Down
1 change: 1 addition & 0 deletions data-otservbr-global/monster/plants/cloak_of_terror.lua
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ monster.attacks = {
{ name = "combat", interval = 3000, chance = 20, type = COMBAT_ENERGYDAMAGE, minDamage = -766, maxDamage = -1400, range = 7, radius = 4, effect = CONST_ME_ENERGYHIT, target = true },
{ name = "combat", interval = 2000, chance = 14, type = COMBAT_HOLYDAMAGE, minDamage = -830, maxDamage = -1100, range = 7, shootEffect = CONST_ANI_SPECTRALBOLT, effect = CONST_ME_HOLYDAMAGE, target = true },
{ name = "combat", interval = 2000, chance = 24, type = COMBAT_HOLYDAMAGE, minDamage = -893, maxDamage = -1300, range = 7, radius = 3, shootEffect = CONST_ANI_SMALLHOLY, effect = CONST_ME_YELLOW_ENERGY_SPARK, target = true },
{ name = "destroy magic walls", interval = 1000, chance = 30 },
}

monster.defenses = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,8 @@ monster.loot = {
{ name = "slimy leg", chance = 4170 },
{ name = "badger boots", chance = 4170 },
{ name = "spellbook of warding", chance = 2080 },
{ name = "gnome sword", chance = 4170 },
{ name = "gnome armor", chance = 3390 },
}

monster.attacks = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ monster.loot = {
{ name = "gnome sword", chance = 4170 },
{ name = "terra mantle", chance = 2080 },
{ name = "violet gem", chance = 2080 },
{ name = "gnome legs", chance = 3390 },
}

monster.attacks = {
Expand Down
21 changes: 10 additions & 11 deletions data-otservbr-global/monster/reptiles/corrupt_naga.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,18 @@ monster.description = "a corrupt naga"
monster.experience = 4380
monster.outfit = {
lookType = 1538,
lookHead = 55,
lookBody = 6,
lookLegs = 0,
lookFeet = 78,
lookHead = 86,
lookBody = 57,
lookLegs = 75,
lookFeet = 94,
lookAddons = 3,
lookMount = 0,
}

monster.health = 5990
monster.maxHealth = 5990
monster.race = "blood"
monster.corpse = 0
monster.corpse = 39217
monster.speed = 182
monster.manaCost = 0

Expand Down Expand Up @@ -60,15 +60,14 @@ monster.voices = {
}

monster.loot = {
{ name = "Platinum Coin", chance = 75420, minCount = 1, maxCount = 8 },
{ name = "Violet Crystal Shard", chance = 24580, minCount = 1, maxCount = 2 },
{ name = "Corrupt Naga Scales", chance = 17720 },
{ name = "corrupt naga scales", chance = 17720 },
}

monster.attacks = {
{ name = "combat", interval = 2000, chance = 100, minDamage = -300, maxDamage = -600, shootEffect = CONST_ANI_EXPLOSION, effect = CONST_ME_PURPLEENERGY, target = true },
{ name = "nagadeath", interval = 6000, chance = 39, target = false, minDamage = -1000, maxDamage = -2200 },
{ name = "nagadeathattack", interval = 3000, chance = 68, target = true, minDamage = -400, maxDamage = -600 },
{ name = "combat", interval = 2000, chance = 100, type = COMBAT_PHYSICALDAMAGE, minDamage = -120, maxDamage = -340, target = true }, -- basic_attack
{ name = "combat", interval = 2500, chance = 30, type = COMBAT_PHYSICALDAMAGE, minDamage = -320, maxDamage = -430, effect = CONST_ME_YELLOWSMOKE, range = 3, target = true }, -- eruption_strike
{ name = "nagadeathattack", interval = 3000, chance = 35, minDamage = -360, maxDamage = -415, target = true }, -- death_strike
{ name = "combat", interval = 3500, chance = 35, type = COMBAT_LIFEDRAIN, minDamage = -360, maxDamage = -386, radius = 4, effect = CONST_ME_DRAWBLOOD, target = false }, -- great_blood_ball
}

monster.defenses = {
Expand Down
22 changes: 11 additions & 11 deletions data-otservbr-global/monster/reptiles/rogue_naga.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,18 @@ monster.description = "a rogue naga"
monster.experience = 4510
monster.outfit = {
lookType = 1543,
lookHead = 55,
lookBody = 6,
lookLegs = 0,
lookFeet = 78,
lookHead = 75,
lookBody = 13,
lookLegs = 95,
lookFeet = 109,
lookAddons = 3,
lookMount = 0,
}

monster.health = 6200
monster.maxHealth = 6200
monster.race = "blood"
monster.corpse = 0
monster.corpse = 39221
monster.speed = 182
monster.manaCost = 0

Expand Down Expand Up @@ -64,15 +64,15 @@ monster.voices = {
}

monster.loot = {
{ name = "Platinum Coin", chance = 85600, minCount = 1, maxCount = 12 },
{ name = "Rogue Naga Scales", chance = 15450 },
{ name = "Green Crystal Shard", chance = 14400, minCount = 1, maxCount = 2 },
{ name = "rogue naga scales", chance = 15450 },
}

monster.attacks = {
{ name = "combat", interval = 2000, chance = 100, minDamage = -300, maxDamage = -600, shootEffect = CONST_ANI_EXPLOSION, effect = CONST_ME_PURPLEENERGY, target = true },
{ name = "combat", interval = 2000, chance = 47, type = COMBAT_PHYSICALDAMAGE, minDamage = -350, maxDamage = -400, effect = CONST_ME_BIG_SCRATCH, target = true },
{ name = "combat", interval = 1000, chance = 10, type = COMBAT_PHYSICALDAMAGE, minDamage = -380, maxDamage = -470, length = 5, spread = 3, effect = CONST_ME_GROUNDSHAKER, target = false },
{ name = "combat", interval = 2000, chance = 50, type = COMBAT_PHYSICALDAMAGE, minDamage = -95, maxDamage = -390, shootEffect = CONST_ANI_EXPLOSION, effect = CONST_ME_PURPLEENERGY, range = 6, target = true }, -- basic_attack
{ name = "nagadeathattack", interval = 2500, chance = 20, minDamage = -430, maxDamage = -505, range = 6, target = true }, -- death_strike
{ name = "nagadeath", interval = 3000, chance = 20, minDamage = -380, maxDamage = -470, target = false }, -- short_death_wave
{ name = "death chain", interval = 3500, chance = 20, minDamage = -460, maxDamage = -520, range = 6, target = true }, -- death_chain
{ name = "combat", interval = 4000, chance = 20, type = COMBAT_PHYSICALDAMAGE, minDamage = -85, maxDamage = -190, shootEffect = CONST_ANI_EXPLOSION, effect = CONST_ME_PURPLEENERGY, range = 6, target = true }, -- explosion_strike
}

monster.defenses = {
Expand Down
1 change: 1 addition & 0 deletions data-otservbr-global/monster/undeads/bony_sea_devil.lua
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ monster.attacks = {
{ name = "combat", interval = 2000, chance = 25, type = COMBAT_ICEDAMAGE, minDamage = -810, maxDamage = -1343, range = 7, radius = 5, shootEffect = CONST_ANI_ICE, effect = CONST_ME_ICEAREA, target = true },
{ name = "ice chain", interval = 2000, chance = 15, minDamage = -637, maxDamage = -1100, range = 7 },
{ name = "soulwars fear", interval = 2000, chance = 1, target = true },
{ name = "destroy magic walls", interval = 1000, chance = 30 },
}

monster.defenses = {
Expand Down
2 changes: 1 addition & 1 deletion data-otservbr-global/monster/vermins/afflicted_strider.lua
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ monster.Bestiary = {
monster.health = 10000
monster.maxHealth = 10000
monster.race = "blood"
monster.corpse = 36716
monster.corpse = 36719
monster.speed = 135
monster.manaCost = 0

Expand Down
2 changes: 1 addition & 1 deletion data-otservbr-global/monster/vermins/blemished_spawn.lua
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ monster.Bestiary = {
monster.health = 9000
monster.maxHealth = 9000
monster.race = "blood"
monster.corpse = 36698
monster.corpse = 36701
monster.speed = 140
monster.manaCost = 0

Expand Down
18 changes: 16 additions & 2 deletions data-otservbr-global/npc/briasol.lua
Original file line number Diff line number Diff line change
Expand Up @@ -96,10 +96,11 @@ keywordHandler:addGreetKeyword({ "ashari" }, { npcHandler = npcHandler, text = "
keywordHandler:addFarewellKeyword({ "asgha thrazi" }, { npcHandler = npcHandler, text = "Good bye, |PLAYERNAME|." })

npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true)

npcConfig.shop = {
{ itemName = "amber", clientId = 32626, sell = 20000 },
{ itemName = "amber with a bug", clientId = 32624, sell = 41000 },
{ itemName = "amber with a dragonfly", clientId = 32625, sell = 56000 },
{ itemName = "amber", clientId = 32626, sell = 20000 },
{ itemName = "ancient coin", clientId = 24390, sell = 350 },
{ itemName = "black pearl", clientId = 3027, buy = 560, sell = 280 },
{ itemName = "blue crystal shard", clientId = 16119, sell = 1500 },
Expand All @@ -121,17 +122,29 @@ npcConfig.shop = {
{ itemName = "gold nugget", clientId = 3040, sell = 850 },
{ itemName = "golden amulet", clientId = 3013, buy = 6600 },
{ itemName = "golden goblet", clientId = 5805, buy = 5000 },
{ itemName = "greater guardian gem", clientId = 44604, sell = 10000 },
{ itemName = "greater marksman gem", clientId = 44607, sell = 10000 },
{ itemName = "greater mystic gem", clientId = 44613, sell = 10000 },
{ itemName = "greater sage gem", clientId = 44610, sell = 10000 },
{ itemName = "green crystal fragment", clientId = 16127, sell = 800 },
{ itemName = "green crystal shard", clientId = 16121, sell = 1500 },
{ itemName = "green crystal splinter", clientId = 16122, sell = 400 },
{ itemName = "green giant shimmering pearl", clientId = 281, sell = 3000 },
{ itemName = "guardian gem", clientId = 44603, sell = 5000 },
{ itemName = "lesser guardian gem", clientId = 44602, sell = 1000 },
{ itemName = "lesser marksman gem", clientId = 44605, sell = 1000 },
{ itemName = "lesser mystic gem", clientId = 44611, sell = 1000 },
{ itemName = "lesser sage gem", clientId = 44608, sell = 1000 },
{ itemName = "lion figurine", clientId = 33781, sell = 10000 },
{ itemName = "marksman gem", clientId = 44606, sell = 5000 },
{ itemName = "mystic gem", clientId = 44612, sell = 5000 },
{ itemName = "onyx chip", clientId = 22193, sell = 400 },
{ itemName = "opal", clientId = 22194, sell = 500 },
{ itemName = "ornate locket", clientId = 30056, sell = 18000 },
{ itemName = "prismatic quartz", clientId = 24962, sell = 450 },
{ itemName = "red crystal fragment", clientId = 16126, sell = 800 },
{ itemName = "ruby necklace", clientId = 3016, buy = 3560 },
{ itemName = "sage gem", clientId = 44609, sell = 5000 },
{ itemName = "silver goblet", clientId = 5806, buy = 3000 },
{ itemName = "skull coin", clientId = 32583, sell = 12000 },
{ itemName = "small amethyst", clientId = 3033, buy = 400, sell = 200 },
Expand All @@ -148,9 +161,10 @@ npcConfig.shop = {
{ itemName = "unicorn figurine", clientId = 30054, sell = 50000 },
{ itemName = "violet crystal shard", clientId = 16120, sell = 1500 },
{ itemName = "wedding ring", clientId = 3004, buy = 990 },
{ itemName = "white silk flower", clientId = 34008, sell = 9000 },
{ itemName = "white pearl", clientId = 3026, buy = 320 },
{ itemName = "white silk flower", clientId = 34008, sell = 9000 },
}

-- On buy npc shop message
npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost)
npc:sellItem(player, itemId, amount, subType, 0, ignore, inBackpacks)
Expand Down
17 changes: 15 additions & 2 deletions data-otservbr-global/npc/chantalle.lua
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,9 @@ npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true)

npcConfig.shop = {
{ itemName = "amber", clientId = 32626, sell = 20000 },
{ itemName = "amber with a bug", clientId = 32624, sell = 41000 },
{ itemName = "amber with a dragonfly", clientId = 32625, sell = 56000 },
{ itemName = "amber", clientId = 32626, sell = 20000 },
{ itemName = "ancient coin", clientId = 24390, sell = 350 },
{ itemName = "bar of gold", clientId = 14112, sell = 10000 },
{ itemName = "black pearl", clientId = 3027, buy = 560, sell = 280 },
Expand All @@ -109,19 +109,31 @@ npcConfig.shop = {
{ itemName = "golden amulet", clientId = 3013, buy = 6600 },
{ itemName = "golden figurine", clientId = 5799, sell = 3000 },
{ itemName = "golden goblet", clientId = 5805, buy = 5000 },
{ itemName = "greater guardian gem", clientId = 44604, sell = 10000 },
{ itemName = "greater marksman gem", clientId = 44607, sell = 10000 },
{ itemName = "greater mystic gem", clientId = 44613, sell = 10000 },
{ itemName = "greater sage gem", clientId = 44610, sell = 10000 },
{ itemName = "green crystal fragment", clientId = 16127, sell = 800 },
{ itemName = "green crystal shard", clientId = 16121, sell = 1500 },
{ itemName = "green crystal splinter", clientId = 16122, sell = 400 },
{ itemName = "green giant shimmering pearl", clientId = 281, sell = 3000 },
{ itemName = "guardian gem", clientId = 44603, sell = 5000 },
{ itemName = "hexagonal ruby", clientId = 30180, sell = 30000 },
{ itemName = "lesser guardian gem", clientId = 44602, sell = 1000 },
{ itemName = "lesser marksman gem", clientId = 44605, sell = 1000 },
{ itemName = "lesser mystic gem", clientId = 44611, sell = 1000 },
{ itemName = "lesser sage gem", clientId = 44608, sell = 1000 },
{ itemName = "lion figurine", clientId = 33781, sell = 10000 },
{ itemName = "marksman gem", clientId = 44606, sell = 5000 },
{ itemName = "moonstone", clientId = 32771, sell = 13000 },
{ itemName = "mystic gem", clientId = 44612, sell = 5000 },
{ itemName = "onyx chip", clientId = 22193, sell = 500 },
{ itemName = "opal", clientId = 22194, sell = 500 },
{ itemName = "ornate locket", clientId = 30056, sell = 18000 },
{ itemName = "prismatic quartz", clientId = 24962, sell = 450 },
{ itemName = "red crystal fragment", clientId = 16126, sell = 800 },
{ itemName = "ruby necklace", clientId = 3016, buy = 3560 },
{ itemName = "sage gem", clientId = 44609, sell = 5000 },
{ itemName = "scarab coin", clientId = 3042, sell = 100 },
{ itemName = "silver goblet", clientId = 5806, buy = 3000 },
{ itemName = "skull coin", clientId = 32583, sell = 12000 },
Expand All @@ -140,9 +152,10 @@ npcConfig.shop = {
{ itemName = "violet crystal shard", clientId = 16120, sell = 1500 },
{ itemName = "watermelon tourmaline", clientId = 33780, sell = 230000 },
{ itemName = "wedding ring", clientId = 3004, buy = 990 },
{ itemName = "white silk flower", clientId = 34008, sell = 9000 },
{ itemName = "white pearl", clientId = 3026, buy = 320 },
{ itemName = "white silk flower", clientId = 34008, sell = 9000 },
}

-- On buy npc shop message
npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost)
npc:sellItem(player, itemId, amount, subType, 0, ignore, inBackpacks)
Expand Down
Loading

0 comments on commit c0d6612

Please sign in to comment.