zhengpeiru21 / mod-challenge-modes Goto Github PK
View Code? Open in Web Editor NEWChallenge Modes Module for AzerothCore
License: MIT License
Challenge Modes Module for AzerothCore
License: MIT License
I love the module, regarding the module I have a small query, which is that when you reach level 80, the challenge mode you chose is still active.
I looked for it and I did not find where to put a level limit that when it reaches that level the mode is deactivated so that the players can be normal players.
Or where do I configure it so that when it reaches the required limit it is deactivated, thanks for sharing the module
Simple, Tell the player what challenge modes they have enabled on login, since it's easy to forget which ones they have enabled.
Something like:
Iron-Man challenge mode is enabled.
Thanks for your work on this ZhengPieRu21
Hoping you might be able to implement a setting where when a hardcore mode is selected (potentially just one from the config) it then defaults to every character so that the server is challenge mode centric.
Or it could potentially not allow any XP to be given until a challenge mode is opted into?
Thanks again!
Hei how can I know if I install it correctly? It s doesn't show up in chat when I log in like other modules, what appear
In chat example " sololfg module is active " I install it on a clean AzerothCore and I have it on a repack from khayle install it to on that repack is a Hardcore Npc on all start location but on my Azeroth ii didn't find any npc did I need it add the hardcore npc manually ?
These modes are great, but in order to avoid high-level players with low-level upgrades, can you add a configuration setting so that low-level characters with a level difference of more than 10 cannot get XP
There are no fishing rods in the game which are craftable.
Possible solutions:
A) Add a craftable fishing rod to engineering or blacksmithing.
B) Add an item for inscription which adds "made by" to items (see: #36)
C) Remove the need to equip a fishing rod, only have it in inventory (like retail and era).
I am having the problem that after relogging a character that has recently activated any modality when relogging these are deactivated from the character and allows them to see them again in the owl.
Sorry for my bad english, it's not my main language
The objects that call those methods are instantiated with UNCONFIGURED data when the server loads the scripts, and fail when called since the value of challengeEnabled and xpModifier are default values, and will never use the configured values in the .conf file.
The ChallengeMode constructor is using default values for all its parameters.
void OnGiveXP(Player* player, uint32& amount, Unit* /*victim*/) override
{
if (!challengesEnabled || !challengeEnabled || !player->GetPlayerSetting("mod-challenge-modes", settingsIdx).value)
In this line, challengeEnabled is always false, and this always returns without modifying the XP gain.
I'm not sure how to fix this to work AND use the configuration values, except to perhaps not have each challenge mode class derive from ChallengeMode, and instead create a new instance of that class every time it's called. OR create the instance after the configuration is loaded.
Characters are loaded when logging on by AC calling CanEquipItem first for every item on the char and then _LoadCharacterSettings is called. Problem is, the challenges fail to unload any items equipped by the character since the character settings have not been loaded yet.
This would require an AC core fix to change the loading order of the characters.
This is a minor issue since the character cannot ever equip any items like that in the first place, but to be aware of this issue.
Hello I have a question and I would like to know if you could clarify it for me to fix it. When I do everything correctly and implement the module with rewards in its .conf, then it does not appear visible in the game in any of its positions but it is in the place with .gobj near
I do not know how likely/easy to implement any of these are but after playing these modes for about 1 year I have LOVED this module and have some suggestions for more ideas.
No Cash
Player gold is always locked at 0gp 0sp 0cp. This means you cannot pay for repairs or buy items. Makes hunter especially interesting as must craft own ammo.
No Loot
Disable the ability for the player to loot corpses and chests. This will challenge the player by removing many quests and all loot. You can still do some quests and you can still get items from quest rewards/vendors.
Snail
Player movespeed is set to 0.5 or 0.75 or something that feels about right. You cannot kite/run from mobs anymore. Positioning must be extremely careful.
No Respawns
NPCs, objects, chests, etc do not respawn in the world. Once an NPC is killed it stays dead forever.
Eventually zones will be empty/safe, but if you didn't loot a low % quest item (bad luck) there's nowhere else to get it.
Once you do a dungeon, the dungeon is done.
Hunted Faction
Set player character's faction to one that is hostile to all factions. Player is attacked on sight by all NPCs, all mobs, etc.
This is the ultimate grinding/survival mode. No town is safe.
You'd need a way to train new skills to make this work.
Undying
If you die during levelling, the character is stuck in ghost mode.
Once you reach max level, the challenge "ends" and you can now die and resurrect. Challenges player to get to 80 without dying but doesn't punish once you are max.
Item Qualities
Inspired by Item Quality (White/Grey only) - maybe a bitmask for item qualities allowed
Item Quality: White/grey/green only.
Item Quality: Blue only (basically naked until lvl 20 then you have to figure out where/how to get some gear)
Item Quality: Purple only (basically naked until lvl 35 then you have to figure out how to gear)
I'm wondering if I could suggest the addition of a "nightmare mode" feature, where players experience 3x damage for melee and 5x damage for magic.
This feature has gained tremendous popularity on a server I've played on, proving its success and appeal to many players.
Additionally there is a unique player visual effect, which I'll share in an attached image below. If possible, incorporating this visually stunning effect would definitely elevate the overall experience.
Thanks and Best regards.
Sulfuras is an item crafted by the player.
It does not get a "made by" tag so a self-crafted challenge user might be locked out of their own weapon by crafting sulfuras.
Current workaround is to manually assign made by tag in DB by hand, but this could be automated ideally.
There may be other items which are "crafted" but not given "" tags.
After the character dies, it can be resurrected by going online again. Please fix this bug, thank you!
I have tested the new commit (2022-12-08) and thank you for changing the talent reward. The talents are now added during gameplay but in my guess because of the follow in Player.cpp, the talents are resetted to the default talenPointsForLevel once you logout and login once again. I have tried to work around the resetTalents(true) method but i can't seem to figure out how to avoid this as a overflow is noticed in my worldserver console output when trying to avoid the resetTalents method.
void Player::InitTalentForLevel()
{
uint32 talentPointsForLevel = CalculateTalentsPoints();
// xinef: more talent points that we have are used, reset
if (m_usedTalentCount > talentPointsForLevel)
resetTalents(true);
// xinef: else, recalculate free talent points count
else
SetFreeTalentPoints(talentPointsForLevel - m_usedTalentCount);
Also ItemRewards are still not working; SlowXpGain.ItemRewards = "10 51809, 15 41600" doesnt work on level 10 and level 15
Hey ZhengPeiRu,
It seems the hardcore mode is now working in the respect that if you die you cannot come back to life, the only issue is that if you try to do so it will disconnect you from the server.
Is this intended? I suppose it works but maybe just not being able to click the button might be better?
Thanks in advance
During the gossip with the challenge gobject the menus could be a lot better.
The main menu should list the challenges by name.
When you click a challenge it should take you to a menu that explains what the rules of a challenge are and you can either click "Accept Challenge" or "Return to Menu".
Currently you only know what the rules are if you go to this Github and read.
Since you cannot learn a profession on Iron Man it should be exclusive with Self Crafted challenge.
That is all.
I am playing a Night Elf Hunter with both Hardcore (no deaths) and 0.25x rules.
Battlegrounds give full XP, like 6000+ xp per battle win whereas quests give 250xp and mobs 10xp.
Could be a chance to improve base Acore as there's no way to disable or modifier battleground XP in the configs.
when accepting hardcore challenge using
Hardcore.Enable = 1
Hardcore.TitleRewards = "1 142, 60 169, 70 141, 80 128"
Hardcore.XPMultiplier = 1
Hardcore.TalentRewards = "10 1, 11 1, 12 1, 13 1, 14 1, 15 1, 16 1, 17 1, 18 1, 19 1, 20 1, 21 1, 22 1, 23 1, 24 1, 25 1, 26 1, 27 1, 28 1, 29 1, 30 1, 31 1, 32 1, 33 1, 34 1, 35 1, 36 1, 37 1, 38 1, 39 1, 40 1, 41 1, 42 1, 43 1, 44 1, 45 1, 46 1, 47 1, 48 1, 49 1, 50 1, 51 1, 52 1, 53 1, 54 1, 55 1, 56 1, 57 1, 58 1, 59 1, 60 1, 61 1, 62 1, 63 1, 64 1, 65 1, 66 1, 67 1, 68 1, 69 1, 70 1, 71 1, 72 1, 73 1, 74 1, 75 1, 76 1, 77 1, 78 1, 79 1, 80 1"
Hardcore.ItemRewards = ""
you have no extra talents after doing .level 80 and no title is given at level 1.
intended behaviour here would be 1 talent per level
i have the same issue with ->
SemiHardcore.Enable = 1
SemiHardcore.TitleRewards = "1 119, 80 172"
SemiHardcore.XPMultiplier = 1
SemiHardcore.TalentRewards = "10 1, 12 1, 14 1, 16 1, 18 1, 20 1, 22 1, 24 1, 26 1, 28 1, 30 1, 32 1, 34 1, 36 1, 38 1, 40 1, 42 1, 44 1, 46 1, 48 1, 50 1, 52 1, 54 1, 56 1, 58 1, 60 1, 62 1, 64 1, 66 1, 68 1, 70 1, 72 1, 74 1, 76 1, 78 1, 80 1"
SemiHardcore.ItemRewards = ""
I am using the repack from 6 days ago.
Upgrades are set to talent points, but talent points are not saved after the character is offline.
Now the latest source code compilation error is ChallengeMode::OnGiveXP(player, amount, victim); No detailed parameters。
void OnGiveXP(Player* player, uint32& amount, Unit* /victim/) override Change to void OnGiveXP(Player* player, uint32& amount, Unit* /victim/, uint8 /xpSource/) override
Warlock ability Soulstone prevents death on official blizzard "hardcore one death is the end" type realms/servers.
In this repo if you die with Soulstone active you are disconnected and killed - despite the fact you should be alive.
Likely links to issue 28 (#28)
and this abandoned pull request to fix it (azerothcore/azerothcore-wotlk#17460)
I'm not sure where these are supposed to get saved, being in UpdatePlayerSetting, but the values are not making it to the database.
This may be a bug within AzerothCore itself.
Checking in the character_settings table there is nothing there after selecting challenges, and after re-logging all of the challenges are off and have to be re-selected.
Edit: This is not an issue. Closing.
Great work, maybe it would be useful as a suggestion to be able to make the mode you choose permanent with a database, when you disconnect the mode you chose is lost and you are now a normal character, but if the mode you chose were saved in the database , you could resume the progress you had when choosing your mode without losing your development when you disconnect.
2.Characters who have reached the level cap can receive a rebirth quest from npc, submit them to get rewards such as set currency/items, and at the same time return the character level to level 1, and remove all spells and talents
Hi ZhengPeiRu21,
Is it an intended feature to disconnect after you click release spirit or try and revive your character?
Maybe I'm missing some config?
This is on HardCore Mode (I'm not working with any other mode currently)
Even if you're on 0.25xp and quest only, battlegrounds will give you almost 15 bars of xp.
Since you can't equip (or create) a fishing rod, you are unable to fish in-game during this challenge.
Loving the module and working great after your assistance on the player settings toggle.
One amazing option would be a .gm command to toggle players challenges on and off so we don't have to directly edit the DB (what i'm currently doing).
No rush - thanks.
Recently had to ban someone from the server I use for bad faith exploits of challenge modes.
I found out this:
You can cheat many challenges, especially self-crafted, by doing the following:
a) Make a character.
b) Mail that character 16 slot bags, gold, and enchanted lvl 1 items.
c) Equip all the items.
d) Accept the challenge after items are equipped - they will remain equipped even though you did not make them.
You can also do extremely advanced cheese like camp gurubashi arena for arena grandmaster trinket for +12 stamine and 1500 dmb absorb at lvl 1 on hardcore characters. Doesn't matter if you die as you have not accepted challenge just yet.
Get the trinket first THEN accept the challenge.
Hunter Pets do not level up with the player when you are running a QuestOnlyExp challenge.
Add a challenge that enforces the Iron Man ruleset found here: https://wowchallenges.com/challangeinfo/iron-man/
Consider adding a mode that forces people to stay PvP-marked at all times during levelling and maybe even after reaching max level.
This could revive or enhance world pvp for some servers.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.