mirror of
https://github.com/araxiaonline/ets-module-collection.git
synced 2026-06-13 02:52:20 -04:00
Updates to Mythic UI and bonus-enchantments
This commit is contained in:
@@ -321,7 +321,7 @@ export class ItemDetails {
|
||||
return false;
|
||||
}
|
||||
|
||||
const defStats = [1,7,12, 13, 14, 15, 22, 23, 24, 25, 26, 27, 48];
|
||||
const defStats = [1,12, 13, 14, 15, 22, 23, 24, 25, 26, 27, 48];
|
||||
for (let i = 1; i <= 8; i++) {
|
||||
let statType = stats[`stat_type${i}`] ? <number>stats[`stat_type${i}`] : 0;
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ const XPBonus: player_event_on_give_xp = (event: number, player: Player, amount:
|
||||
|
||||
const xpRate = xpRateCache.get(player.GetGUIDLow());
|
||||
if(xpRate && xpRate > 1) {
|
||||
player.GiveXP(amount * xpRate);
|
||||
// player.GiveXP(amount * xpRate);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ function RollLootTrap(object: GameObject) {
|
||||
LootTrapMap[object.GetGUIDLow()] = false;
|
||||
return;
|
||||
} else if(roll > 79) {
|
||||
object.AddLoot(45878, 1); // Large Sack of Uldaur Spoils 3%
|
||||
object.AddLoot(43347, 1); // Large Sack of Uldaur Spoils 3%
|
||||
LootTrapMap[object.GetGUIDLow()] = false;
|
||||
return;
|
||||
} else if(roll > 67) {
|
||||
@@ -68,6 +68,8 @@ function RollLootTrap(object: GameObject) {
|
||||
const onKillCreature: player_event_on_kill_creature = (event: number, killer: Player, killed: Creature) => {
|
||||
const map: EMap = killed.GetMap();
|
||||
|
||||
return false;
|
||||
|
||||
if(!map.IsDungeon() && !map.IsRaid()) {
|
||||
return false;
|
||||
}
|
||||
@@ -82,7 +84,7 @@ const onKillCreature: player_event_on_kill_creature = (event: number, killer: Pl
|
||||
const [x,y,z,o] = killed.GetLocation();
|
||||
let roll = Math.floor(Math.random() * 100);
|
||||
|
||||
if(roll > 8) {
|
||||
if(roll > 4) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -31,4 +31,4 @@ const LootToken: player_event_on_loot_item = (event: number, player: Player, ite
|
||||
|
||||
}
|
||||
|
||||
RegisterPlayerEvent(PlayerEvents.PLAYER_EVENT_ON_LOOT_ITEM, (...args) => LootToken(...args));
|
||||
RegisterPlayerEvent(PlayerEvents.PLAYER_EVENT_ON_LOOT_ITEM, (...args) => LootToken(...args));
|
||||
|
||||
@@ -8,6 +8,18 @@ function randomInteger(min: number, max: number) {
|
||||
|
||||
function getEnchant(stat: string, min: number, max: number) {
|
||||
|
||||
if(stat.includes("Dodge Rating")) {
|
||||
min = 5;
|
||||
max = 20;
|
||||
}
|
||||
|
||||
if(stat.includes("Hit Rating")) {
|
||||
|
||||
if (max > 50) {
|
||||
max = 50;
|
||||
}
|
||||
}
|
||||
|
||||
const sql = `
|
||||
SELECT ID
|
||||
FROM acore_world.spellitemenchantment_dbc
|
||||
@@ -19,7 +31,9 @@ function getEnchant(stat: string, min: number, max: number) {
|
||||
|
||||
const query = WorldDBQuery(sql);
|
||||
if(!query) {
|
||||
PrintError("Query Failed: ", sql );
|
||||
|
||||
PrintError("BonusEnchantment/getEnchantment - Failed to get enchantment for stat: " + stat);
|
||||
print(sql);
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -139,20 +153,20 @@ function rollEnchant(item: Item, highStats: boolean): number[] {
|
||||
}
|
||||
|
||||
if (highStats) {
|
||||
enchantId = getEnchant(primary, 30, 150);
|
||||
enchantId = getEnchant(primary, 10, 120);
|
||||
|
||||
} else {
|
||||
enchantId = getEnchant(primary, 10, 30);
|
||||
enchantId = getEnchant(primary, 5, 40);
|
||||
}
|
||||
|
||||
if(secondary.includes("Resist")) {
|
||||
if(highStats) {
|
||||
secEnchantId = getEnchant(secondary, 50, 100);
|
||||
secEnchantId = getEnchant(secondary, 20, 70);
|
||||
} else {
|
||||
secEnchantId = getEnchant(secondary, 34, 44);
|
||||
secEnchantId = getEnchant(secondary, 10, 38);
|
||||
}
|
||||
} else {
|
||||
secEnchantId = getEnchant(secondary, 5, 45);
|
||||
secEnchantId = getEnchant(secondary, 5, 40);
|
||||
}
|
||||
|
||||
return [enchantId, secEnchantId];
|
||||
@@ -166,9 +180,9 @@ RegisterPlayerEvent(PlayerEvents.PLAYER_EVENT_ON_LOOT_ITEM, (event, player, item
|
||||
return;
|
||||
}
|
||||
|
||||
// if (item.GetEntry() < SCALED_ITEMS_START) {
|
||||
// return;
|
||||
// }
|
||||
if (item.GetEntry() < SCALED_ITEMS_START) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (itemCls !== 2 && itemCls !== 4) {
|
||||
return;
|
||||
|
||||
@@ -89,7 +89,7 @@ const TokenKillEvent: player_event_on_kill_creature = (event: number, player: Pl
|
||||
|
||||
// Group Drop Rates
|
||||
if(creature.IsWorldBoss() || creature.IsDungeonBoss()) {
|
||||
rollModifer += 300;
|
||||
rollModifer += 100;
|
||||
} else {
|
||||
if(creature.IsElite()) {
|
||||
rollModifer = rollModifer + 30;
|
||||
@@ -97,7 +97,7 @@ const TokenKillEvent: player_event_on_kill_creature = (event: number, player: Pl
|
||||
}
|
||||
|
||||
if(map.IsRaid() || map.IsHeroic()) {
|
||||
rollModifer = rollModifer + (20 * groupCount);
|
||||
rollModifer = rollModifer + (8 * groupCount);
|
||||
} else {
|
||||
if(map.IsDungeon()) {
|
||||
rollModifer = rollModifer + (4 * groupCount);
|
||||
@@ -123,7 +123,7 @@ const TokenKillEvent: player_event_on_kill_creature = (event: number, player: Pl
|
||||
if(groupCount >= TOKEN_GROUP_SIZE) {
|
||||
if(creature.IsWorldBoss() || creature.IsDungeonBoss()) {
|
||||
roll = Math.floor(Math.random() * TOKEN_ROLL_CAP);
|
||||
if(roll <= rollModifer+200 ) {
|
||||
if(roll <= rollModifer+100 ) {
|
||||
createChest(player, creature,'right');
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user