Page 1 of 1

Can someone give me a list of the enemies Bowser can recruit in X2?

Posted: Mon Apr 19, 2021 4:49 pm
by TheGameyFireBro105
Same as the title. What enemies can SMBX2 Bowser recruit besides those found in the example level. I might make a level based on the gimmick, so knowing what gets recruited and what dies is pretty crucial. Thanks in advance.

Re: Can someone give me a list of the enemies Bowser can recruit in X2?

Posted: Wed Apr 21, 2021 10:00 am
by Cedur
hi, you originally posted this in a wrong forum ... anyway what stops you from just doing trial & error?

Re: Can someone give me a list of the enemies Bowser can recruit in X2?

Posted: Wed Apr 21, 2021 2:52 pm
by TheGameyFireBro105
I've run out of (easy) kill methods; I did stomps, punches, POW Blocks, Mega Mushrooms, Super Stars, and Hittable Blocks. I know NPC Kills don't work, so what am I missing?

Re: Can someone give me a list of the enemies Bowser can recruit in X2?

Posted: Wed Apr 21, 2021 3:23 pm
by Dragon0307
DISCLAIMER: I am not a developer and I did not write the script and therefore don't actually know how it works. I am just going off of what I found in it, So don't go bugging me with any errors you get.

Looking at the script:
Spoiler: show

Code: Select all

bowser.minionList = {};
--List of possible minions and their AI type
bowser.minionList = {};
bowser.minionList[1] = bowser.MINION_GOOMBA;
bowser.minionList[2] = bowser.MINION_GOOMBA;
bowser.minionList[3] = bowser.MINION_PARAGOOMBA;
bowser.minionList[4] = bowser.MINION_KOOPA;
bowser.minionList[6] = bowser.MINION_KOOPA;
bowser.minionList[27] = bowser.MINION_GOOMBA;
bowser.minionList[28] = bowser.MINION_CHEEPCHEEP;
bowser.minionList[29] = bowser.MINION_HAMMERBRO;
bowser.minionList[36] = bowser.MINION_GOOMBA;
bowser.minionList[48] = bowser.MINION_GOOMBA;
bowser.minionList[53] = bowser.MINION_GOOMBA;
bowser.minionList[54] = bowser.MINION_GOOMBA;
bowser.minionList[55] = bowser.MINION_GOOMBA;
bowser.minionList[71] = bowser.MINION_GOOMBA;
bowser.minionList[72] = bowser.MINION_KOOPA;
bowser.minionList[76] = bowser.MINION_PARAKOOPA;
bowser.minionList[89] = bowser.MINION_GOOMBA;
bowser.minionList[109] = bowser.MINION_KOOPA;
bowser.minionList[110] = bowser.MINION_KOOPA;
bowser.minionList[111] = bowser.MINION_KOOPA;
bowser.minionList[112] = bowser.MINION_KOOPA;
bowser.minionList[117] = bowser.MINION_GOOMBA;
bowser.minionList[118] = bowser.MINION_GOOMBA;
bowser.minionList[119] = bowser.MINION_GOOMBA;
bowser.minionList[120] = bowser.MINION_GOOMBA;
bowser.minionList[121] = bowser.MINION_PARAKOOPA;
bowser.minionList[122] = bowser.MINION_PARAKOOPA;
bowser.minionList[123] = bowser.MINION_PARAKOOPA;
bowser.minionList[124] = bowser.MINION_PARAKOOPA;
bowser.minionList[125] = bowser.MINION_GOOMBA;
bowser.minionList[126] = bowser.MINION_GOOMBA;
bowser.minionList[161] = bowser.MINION_PARAKOOPA;
bowser.minionList[162] = bowser.MINION_GOOMBA;
bowser.minionList[163] = bowser.MINION_GOOMBA;
bowser.minionList[164] = bowser.MINION_GOOMBA;
bowser.minionList[165] = bowser.MINION_GOOMBA;
bowser.minionList[167] = bowser.MINION_PARAGOOMBA;
bowser.minionList[168] = bowser.MINION_GOOMBA;
bowser.minionList[173] = bowser.MINION_KOOPA;
bowser.minionList[175] = bowser.MINION_KOOPA;
bowser.minionList[176] = bowser.MINION_PARAKOOPA;
bowser.minionList[177] = bowser.MINION_PARAKOOPA;
bowser.minionList[189] = bowser.MINION_GOOMBA;
bowser.minionList[207] = bowser.MINION_GOOMBA;
bowser.minionList[229] = bowser.MINION_CHEEPCHEEP;
bowser.minionList[230] = bowser.MINION_CHEEPCHEEP;
bowser.minionList[231] = bowser.MINION_CHEEPCHEEP;
bowser.minionList[232] = bowser.MINION_CHEEPCHEEP;
bowser.minionList[233] = bowser.MINION_CHEEPCHEEP;
bowser.minionList[234] = bowser.MINION_CHEEPCHEEP;
bowser.minionList[235] = bowser.MINION_CHEEPCHEEP;
bowser.minionList[236] = bowser.MINION_CHEEPCHEEP;
bowser.minionList[242] = bowser.MINION_GOOMBA;
bowser.minionList[243] = bowser.MINION_PARAGOOMBA;
bowser.minionList[244] = bowser.MINION_PARAGOOMBA;
bowser.minionList[247] = bowser.MINION_GOOMBA;
bowser.minionList[285] = bowser.MINION_GOOMBA;
bowser.minionList[286] = bowser.MINION_GOOMBA;
bowser.minionList[296] = bowser.MINION_GOOMBA;
bowser.minionList[302] = bowser.MINION_PARAGOOMBA;
bowser.minionList[309] = bowser.MINION_GOOMBA;
bowser.minionList[375] = bowser.MINION_GOOMBA;
bowser.minionList[380] = bowser.MINION_PARAGOOMBA;
bowser.minionList[382] = bowser.MINION_GOOMBA;
bowser.minionList[383] = bowser.MINION_GOOMBA;
bowser.minionList[392] = bowser.MINION_PARAGOOMBA;
bowser.minionList[407] = bowser.MINION_GOOMBA;
bowser.minionList[408] = bowser.MINION_GOOMBA;
bowser.minionList[415] = bowser.MINION_GOOMBA;
bowser.minionList[417] = bowser.MINION_PARAGOOMBA;
bowser.minionList[578] = bowser.MINION_GOOMBA;
bowser.minionList[611] = bowser.MINION_GOOMBA;
bowser.minionList[612] = bowser.MINION_GOOMBA;

--For Koopa and Parakoopa type minions, this determines the ID of the shell they will turn into.
bowser.koopaShells = {}
bowser.koopaShells[4] = 5;
bowser.koopaShells[6] = 7;
bowser.koopaShells[72] = 73;
bowser.koopaShells[76] = 5;
bowser.koopaShells[109] = 113;
bowser.koopaShells[110] = 114;
bowser.koopaShells[111] = 115;
bowser.koopaShells[112] = 116;
bowser.koopaShells[121] = 113;
bowser.koopaShells[122] = 114;
bowser.koopaShells[123] = 115;
bowser.koopaShells[124] = 116;
bowser.koopaShells[161] = 7;
bowser.koopaShells[173] = 172;
bowser.koopaShells[175] = 174;
bowser.koopaShells[176] = 172;
bowser.koopaShells[177] = 174;

--Deployed Paragoomba and Parakoopa troops will ignore IDs in this list.
bowser.shieldIgnoreList = {}
bowser.shieldIgnoreList[5] = true
bowser.shieldIgnoreList[7] = true
bowser.shieldIgnoreList[73] = true
bowser.shieldIgnoreList[113] = true
bowser.shieldIgnoreList[114] = true
bowser.shieldIgnoreList[115] = true
bowser.shieldIgnoreList[116] = true
bowser.shieldIgnoreList[172] = true
bowser.shieldIgnoreList[174] = true
It implies all vanilla Goombas and Koopas (as well as their Para versions), as well as SMB1 Hammer Bros. and all Cheep Cheeps. It also works with the Wosu and the blue Zelda slime for some reason. However, for the sake of this question, I found out you could add custom ones. So, theoretically, anything. Here's the Shy Guys for beautiful irony:
Spoiler: show
Image
Image
So, for custom definitions you need to use the following script:

Code: Select all

local bowser = require("characters/bowser")

bowser.minionList[X] = bowser.MINION_GOOMBA -- Replace X with the ID of the NPC in question.
bowser.koopaShells[X] = Y -- If the NPC is registered as either MINION_KOOPA or MINION_PARAKOOPA, replace X with the ID NPC in question and Y with the ID of the shell that it turns into.
These seem to be all the AI types, with information on what they are supposed to do:

bowser.MINION_GOOMBA - Makes it walk into the target and die.
bowser.MINION_KOOPA - Turns into the NPC specified by koopaShells
bowser.MINION_PARAGOOMBA - Makes it spin around as a meatshield
bowser.MINION_PARAKOOPA - Same as above, but turns into the specified shell when it dies
bowser.MINION_CHEEPCHEEP - Does pretty much the same as MINION_GOOMBA but makes it fly if it's underwater
bowser.MINION_HAMMERBRO - Like MINION_GOOMBA, but replaces any SMB1 Hammer Bro hammers fired by the NPC with player hammers

As for kill types, it appears to be anything other than minions or offscreen.

Once again, I didn't write the script so I'm probably wrong somewhere.

If only I could think of a good enough signing off comment