[v2.9.1] CHAMPIONS [update 09/03/21]
Forum rules
The Projects forums are only for projects. If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.
Got a cool project idea but nothing else? Put it in the project ideas thread instead!
Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.
Please read the full rules for more details.
The Projects forums are only for projects. If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.
Got a cool project idea but nothing else? Put it in the project ideas thread instead!
Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.
Please read the full rules for more details.
-
- Posts: 348
- Joined: Thu Apr 18, 2013 5:04 am
- Preferred Pronouns: He/Him
- Operating System Version (Optional): Windows 10
Re: [v2.8] CHAMPIONS [update 19/12/20]
BUG: When running with LegenDoomLite, and if "Legendaries over time" is enabled, monsters sometimes activate their champion ability in an infinite loop on going legendary - spawning an infinite pillar of coloured fire that doesn't go away, which causes immense lag. For certain effects, it also makes the effect itself go infinite - the teleporter champion going infinite results in an infinite chain teleport that makes the monster essentially impossible to catch.
-
- Posts: 291
- Joined: Sun May 17, 2015 9:39 am
Re: [v2.8] CHAMPIONS [update 19/12/20]
Can't say anything about the first part, but as for the teleport chain: those champions have something like 1 second cooldown between teleports if legendary, is that what you're experiencing? Or is it actually broken?
-
- Posts: 348
- Joined: Thu Apr 18, 2013 5:04 am
- Preferred Pronouns: He/Him
- Operating System Version (Optional): Windows 10
Re: [v2.8] CHAMPIONS [update 19/12/20]
It's actually broken, but I've finally figured out why. (Also, here's some screenshots of the bug: https://imgur.com/a/mV0YA54)worldendDominator wrote:Can't say anything about the first part, but as for the teleport chain: those champions have something like 1 second cooldown between teleports if legendary, is that what you're experiencing? Or is it actually broken?
Basically, in delayer.txt, during the Tick() function, the champion_LDoomDelayer gives the champion_BaseController to given monsters if they're legendary, but the only check to see if it should give the controller is if A: the monster is legendary and B: if the level time is greater than 3. This means that if a monster is legendary, if the monster goes legendary post-start (to be honest I don't know why this is the case), the base controller is given to the monster once per tic, which means that the legendary effects trigger once per tic - for some effects, this will cause it to immediately activate, which results in the infinite 1-tic teleport chain.
This is what it should be, with comments:
Code: Select all
class champion_LDoomDelayer : thinker {
actor holder;
class<thinker> champColor;
int controllerID;
bool colours;
bool icons;
bool particles;
bool bundles;
bool given; //This is new.
double icon_scale;
double icon_alpha;
int mutationchance;
int mutation;
bool ld_dormant;
bool ld_boost;
bool ld_additive;
override void Tick() {
super.Tick();
if (level.time >= 3) {
string ldtoken = "LDLegendaryMonsterToken";
if (holder && holder.CountInv(ldtoken)) {
holder.A_GiveInventory("champion_PersistentInfo");
let info = champion_PersistentInfo(holder.FindInventory("champion_PersistentInfo"));
if (info) {
info.c = champColor;
info.i = controllerID;
}
let controller = champion_BaseController(new(champColor));
if (controller && !given) { //So it can't activate if already given.
controller.champion = holder;
controller.colours = colours;
controller.icons = icons;
controller.particles = particles;
controller.bundles = bundles;
controller.mutationchance = mutationchance;
controller.mutation = mutation;
controller.legend = true;
controller.ld_dormant = ld_dormant;
controller.ld_boost = ld_boost;
controller.icon_scale = icon_scale;
controller.icon_alpha = icon_alpha;
given = true; //Set to given to make sure the base controller is only instantiated once!
}
}
if(ld_additive)
return;
self.Destroy();
return;
}
}
}
-
- Posts: 291
- Joined: Sun May 17, 2015 9:39 am
Re: [v2.8] CHAMPIONS [update 19/12/20]
Oh. I guess that's on me (I wrote that part of the code). Thanks for pointing out.Untitled wrote:It's actually broken, but I've finally figured out why. (Also, here's some screenshots of the bug: https://imgur.com/a/mV0YA54)
Basically, in delayer.txt, during the Tick() function, the champion_LDoomDelayer gives the champion_BaseController to given monsters if they're legendary, but the only check to see if it should give the controller is if A: the monster is legendary and B: if the level time is greater than 3. This means that if a monster is legendary, if the monster goes legendary post-start (to be honest I don't know why this is the case), the base controller is given to the monster once per tic, which means that the legendary effects trigger once per tic - for some effects, this will cause it to immediately activate, which results in the infinite 1-tic teleport chain.
-
- Posts: 40
- Joined: Sat Apr 08, 2017 9:55 am
-
- Posts: 691
- Joined: Wed Jan 12, 2005 1:09 pm
- Preferred Pronouns: He/Him
- Operating System Version (Optional): Windows 10
- Graphics Processor: nVidia with Vulkan support
- Location: Your forum thread
Re: [v2.8] CHAMPIONS [update 19/12/20]
I believe I encountered the same crash as Rtma did. Gonna turn off blue in the meantime.
EDIT: The monster that caused this crash was a Pain Elemental. On top of having the blue effect, some of the lost souls it spit out would gain champion attributes. I don't know if that's intentional or contributed to my crash or what but I wanted to update what caused my crash before I forgot.
EDIT 2: Just thought of a feature suggestion regarding compatibility with LegenDoom Lite: Instead of having every legendary monster become a champion as well, have a slider that can be set that determines the likelihood of a legendary monster also become a champion so that the player can fight just legendaries as well as legendary champions, if that makes sense.
EDIT 3: Not sure if this is a bug or intentional but the Airborne mutation icon (balloon on a strong) is still visible even with icons turned off. Personally I'd like to see it not show up with icons turned off for aesthetic consistency (that and I don't think the other mutation types have icons associated with them [yet]).
EDIT: The monster that caused this crash was a Pain Elemental. On top of having the blue effect, some of the lost souls it spit out would gain champion attributes. I don't know if that's intentional or contributed to my crash or what but I wanted to update what caused my crash before I forgot.
EDIT 2: Just thought of a feature suggestion regarding compatibility with LegenDoom Lite: Instead of having every legendary monster become a champion as well, have a slider that can be set that determines the likelihood of a legendary monster also become a champion so that the player can fight just legendaries as well as legendary champions, if that makes sense.
EDIT 3: Not sure if this is a bug or intentional but the Airborne mutation icon (balloon on a strong) is still visible even with icons turned off. Personally I'd like to see it not show up with icons turned off for aesthetic consistency (that and I don't think the other mutation types have icons associated with them [yet]).

You do not have the required permissions to view the files attached to this post.
-
- Posts: 2274
- Joined: Tue Jun 30, 2009 1:31 pm
Re: [v2.9] CHAMPIONS [update 26/02/21]
v2.9 is here! It's a small one this time, mainly bug fixes and tweaks to bundles.
Spoiler: ChangelogDownload here
-
- Posts: 691
- Joined: Wed Jan 12, 2005 1:09 pm
- Preferred Pronouns: He/Him
- Operating System Version (Optional): Windows 10
- Graphics Processor: nVidia with Vulkan support
- Location: Your forum thread
Re: [v2.9] CHAMPIONS [update 26/02/21]
Still getting a VM Abort regarding the Blue Champions. This time it was a Lost Soul that was the culprit. I think killing it is what caused it.
If you like I could spend some time brainstorming something different for Blue. I'll also continue playtesting the other changes in 2.9 for you.
If you like I could spend some time brainstorming something different for Blue. I'll also continue playtesting the other changes in 2.9 for you.
You do not have the required permissions to view the files attached to this post.
-
- Posts: 628
- Joined: Wed Nov 17, 2010 6:35 pm
Re: [v2.9] CHAMPIONS [update 26/02/21]
Also, health/armor bonuses dropped by champions count towards item total for some reason (in Heretic at least).
-
- Posts: 691
- Joined: Wed Jan 12, 2005 1:09 pm
- Preferred Pronouns: He/Him
- Operating System Version (Optional): Windows 10
- Graphics Processor: nVidia with Vulkan support
- Location: Your forum thread
Re: [v2.9] CHAMPIONS [update 26/02/21]
Another suggestion: I think Champion Mutation Chance should also have an option to be set based on difficulty alongside Champion Spawn Chance.
-
- Posts: 2274
- Joined: Tue Jun 30, 2009 1:31 pm
Re: [v2.9.1] CHAMPIONS [update 09/03/21]
Minor bugfix this update, nothing new or huge. Also some minor optimisation, download link is in the main post.
I'm planning on tweaking how the spawn chance works, the difficulty based option hasn't been touched in a long ole time. I'm thinking of an adaptive spawn chance, i.e. the more levels you complete the more chance there will be champions, and the more chance of mutations, too.Nems wrote:Another suggestion: I think Champion Mutation Chance should also have an option to be set based on difficulty alongside Champion Spawn Chance.
-
- Posts: 17
- Joined: Mon Mar 01, 2021 4:09 pm
- Graphics Processor: ATI/AMD with Vulkan/Metal Support
Re: [v2.9.1] CHAMPIONS [update 09/03/21]
i have this error with the latest update. I do not know why it happens and I have used the mod in its version .666 with the legendoom lite and I did not skip this error
Script error, "mk-champions[20210309].pk3:zscript/champions/champs/champ_silver.txt" line 49:
Named argument Species not found.
Script error, "mk-champions[20210309].pk3:zscript/champions/champs/champ_silver.txt" line 49:
Named argument Species not found.
-
- Posts: 2274
- Joined: Tue Jun 30, 2009 1:31 pm
Re: [v2.9.1] CHAMPIONS [update 09/03/21]
What version of GzDOOM are you using? The current version of Champions requires GZDoom 4.5.0.
-
- Posts: 7
- Joined: Sat Mar 13, 2021 8:42 pm
Re: [v2.9.1] CHAMPIONS [update 09/03/21]
Hey, I got an error when loading this with Corruption Cards. Game crashed after spawning in new monsters:
https://media.discordapp.net/attachment ... height=111
Not sure if this is something you'd want to fix
Thanks!
https://media.discordapp.net/attachment ... height=111
Not sure if this is something you'd want to fix
Thanks!
-
- Posts: 8
- Joined: Tue May 04, 2021 3:18 am
- Graphics Processor: ATI/AMD (Modern GZDoom)
Re: [v2.9.1] CHAMPIONS [update 09/03/21]
There's a really weird bug when this and Combined Arms are both loaded. When you use the artificer class's pistol altfire it also damages the player.