ak2yny / Official-Character-Pack-v2-for-Ultimate-Alliance

Official Characters Pack (OCP) for Marvel Ultimate Alliance (MUA) was created to add the DLC content of the Xbox 360 verison to the original PC version ported by Beenox in 2006.
5 stars 0 forks source link

Misc. Issues #61

Open CyborgSun opened 3 months ago

CyborgSun commented 3 months ago

This will be for minor issues I've noticed during various playthroughs, using the pre-release versions. May update over time as more are found, I figure this is better than making multiple comments for each of them:


In two specific areas of the game, enemy leaders can have the Invulnerability buffs on Easy-Normal difficulties, which shouldn't be the case, should be an easy enough oversight to correct:

ak2yny commented 3 months ago

Thank you for adding these.

JordanLeich commented 2 months ago

I tried fixing the Jean Grey Defaultman issue but couldnt figure it out, reverting the JeanSimple code or using JeanGrey still caused the Defaultman to appear.

ak2yny commented 2 months ago

Sorry, I had to revert the change for Hermod. If you do it this way, it will be problematic if Thor's on the team, since there will be no answer to continue. I currently don't know a better way to solve this issue, so I'm keeping it as it was previously while keeping the issue checked as completed.

ak2yny commented 2 months ago

I tried fixing the Jean Grey Defaultman issue but couldnt figure it out, reverting the JeanSimple code or using JeanGrey still caused the Defaultman to appear.

Yeah, because it's already fixed: f8cb27fae971a306e2166e8e644f6f5b5a323364

I can't reproduce the issue. Jean appears as she should in the latest version of that mod.

JordanLeich commented 2 months ago

I can't reproduce the issue. Jean appears as she should in the latest version of that mod.

That's odd because I kept having the same issue on my end a few days ago. I'll try retesting with a fresh ocp and that optional magneto reinstall.

ak2yny commented 2 months ago

I just realized that Jean doesn't spawn in Strange's hub. That's one file I forgot to update. You have to test it on the cage.

ak2yny commented 2 months ago

Fixed: 2ead377a6b330e29125447954f2d657873284c07 You can now test her in the Sanctum, using this update.

JordanLeich commented 2 months ago

Jean works properly in all of Mephistos realm now but I cannot get her to spawn in the Sanctum hub area. Is it because I'm extracting to Mephistos realm or do I have to play through the whole entire act as normal or is it something else? Are you having the same issue? @ak2yny

ak2yny commented 2 months ago

She only spawns after rescuing her from Arcade and only if she didn't die.

And thanks for testing.

JordanLeich commented 2 months ago

She only spawns after rescuing her from Arcade and only if she didn't die.

And thanks for testing.

Ok that makes sense then, everything should be working then.

JordanLeich commented 2 months ago

reputation points fix in asgard - https://github.com/ak2yny/Official-Character-Pack-v2-for-Ultimate-Alliance/commit/63b3828fab252a7cac0a13ba88940b652b4a4cae

JordanLeich commented 2 months ago

this is the npcstat code corresponding to the Clay Guardian Captain but i cannot find anything that relates to an invulnerability buff.

"stats": {
            "body": 1,
            "characteranims": "112_clay_guardian",
            "charactername": "Clay Guardian",
            "combolevel": "medium",
            "deathnode": "deathgen",
            "leadername": "Clay Guardian Captain",
            "leaderskin": 11201,
            "level": 10,
            "mind": 1,
            "name": "ClayGuardian_a",
            "npcdamagescale": 0.75,
            "powerstyle": "ps_clayguardian",
            "scale_factor": 0.8,
            "skin": 11201,
            "sounddir": "clayg_m",
            "standard_pain_only": true,
            "strength": 1,
            "team": "enemy",
            "vuln2_touch_of_death": true,
            "weapon": "wp_clayguardian_daggers",
            "talent": {
                "level": 1,
                "name": "monst_dmg_high"
            },
            "talent": {
                "level": 1,
                "name": "monst_dmg_low"
            },
            "talent": {
                "level": 1,
                "name": "monst_health"
            },
            "talent": {
                "level": 1,
                "name": "fightstyle_villain_Fast"
            },
            "talent": {
                "level": 1,
                "name": "spawnsecond"
            }
        },
CyborgSun commented 2 months ago

Aren't enemy leaders defined in the map files, and not the npcstat?

JordanLeich commented 2 months ago

Aren't enemy leaders defined in the map files, and not the npcstat?

Ill see if I can find anything

CyborgSun commented 2 months ago

Outsider might know something, I know he should be very familiar with how maps work thanks to his EXG experience.

JordanLeich commented 2 months ago

image image asgard2.engb.json Good news, I found these 2 code sections for the clay guardian captain (leader) in the asgard2.engb file. I'm not sure if I should remove this invuln code or replace it with something else.

ak2yny commented 2 months ago

The issue is that they also have invulnerability on easy, which they shouldn't (can you explain why, Cyborg Sun?). So, the powerups should not be removed, they should be fixed. However, the two you show, Jordan, show random powerups, but not invulnerability, so these two are definitely not the ones. I assume that the invulnerability powerups are those that require a specific combo, is that right, Cyborg Sun?

If we know that other invulnerability powerups, work on hard, but not on easy, we can check how they did it there. But you have to check that on EASY, as I've seen many others with the combo powerup on normal, so I think they're supposed to work on normal. Except if that's not what Cyborg Sun means (I never play on hard).

ak2yny commented 2 months ago

reputation points fix in asgard - 63b3828

About that issue: Shouldn't it be in optional files? Because solving puzzles should feel rewarding as well. I'm curious why this reward specifically should not be justified. There are many rewards that appear completely random, I could never see a pattern how these work (I can't see any impact of them either). If we're going to change reputation, we should make a rule what should give reputation, how much and why.

Edit: I checked. I think I mixed the various rewards. The rotation lever is indeed the only non-boss/non-objective event that gives reputation. However, if I remember correctly, this is a shortcut that you can find and therefore should give some form of reward. Could it be XP instead?

Btw. rot_lever1_new.py and rot_lever2_new.py are the only scripts used by the game. The other two are leftover.

ak2yny commented 2 months ago

While checking for awards, I noticed that reputation is typically given for defeating bosses, while side-quests and finding secrets gives XP. Here is a complete list of awards (through scripts, this excludes rewards that the .exe is responsible for):

Defeat Wrecking Crew:
conversations\act3\bifrost\bifrost2\3_bifrost2_030.engb
scripts/act3/bifrost/bifrost2/award_rep

scripts\act1\atlantis\atlantis4\boss_death.py:12:awardAchievement("", "defeated_tigershark" )
scripts\act1\atlantis\atlantis4\boss_death.py:13:awardReputation("", 50 )
scripts\act1\atlantis\atlantis5\challenge_win.py:60:     awardAchievement("", "defeated_kraken" )
scripts\act1\atlantis\atlantis5\challenge_win.py:61:     awardReputation("", 50 )
scripts\act1\heli\heli1\scorpion_deathscript.py:2:awardReputation("", 20 )
scripts\act1\heli\heli1b\scorpion_deathscript.py:2:awardReputation("", 300 )
scripts\act1\heli\heli2\bullseye_deathscript.PY:2:awardReputation("", 20 )
scripts\act1\heli\heli4\fff_death.py:7:awardAchievement("", "defeated_fingfangfoom" )
scripts\act1\heli\heli4\fff_pain.PY:62:               awardAchievement("", "defeated_fingfangfoom" )
scripts\act1\heli\heli4\fff_pain.PY:63:               awardReputation("", 50 )
scripts\act1\mandarin\mandarin1\dragon_death.PY:4:awardReputation("", 20 )
scripts\act1\mandarin\mandarin1\ultimo_death.PY:4:awardReputation("", 20 )
scripts\act1\mandarin\mandarin2\grey_defeat.py:6:awardReputation("", 50 )
scripts\act1\mandarin\mandarin2\grey_defeat.py:7:awardAchievement("", "defeated_greygargoyle" )
scripts\act1\mandarin\mandarin3\ultimo_death.PY:4:awardReputation("", 20 )
scripts\act1\mandarin\mandarin5\mandarin_leaves.PY:16:awardAchievement("", "defeated_mandarin" )
scripts\act1\mandarin\mandarin5\mandarin_leaves.PY:17:awardReputation("", 125 )
scripts\act1\omega\omega1\crimdeath.PY:4:awardReputation("", 20 )
scripts\act1\omega\omega4\modok_death_script.py:5:awardAchievement("", "defeated_modok" )
scripts\act1\omega\omega4\modok_death_script.py:6:awardReputation("", 50 )
scripts\act1\omega\omega4\modok_defeated.py:4:awardAchievement("", "defeated_modok" )
scripts\act1\omega\omega4\modok_defeated.py:5:awardReputation("", 50 )
scripts\act2\mephisto\mephisto3\blackheart_death.py:15:     awardAchievement("", "defeated_blackheart" )
scripts\act2\mephisto\mephisto3\blackheart_death.py:16:     awardReputation("", 50 )
scripts\act2\mephisto\mephisto4\hero_get_mephisto.PY:20:awardAchievement("", "defeated_mephisto" )
scripts\act2\mephisto\mephisto4\hero_get_mephisto.PY:22:awardReputation("", 125 )
scripts\act2\murder\murder5\boss_death.PY:5:awardAchievement("", "defeated_arcade" )
scripts\act2\murder\murder5\boss_death.PY:6:awardReputation("", 50 )
scripts\act2\strange\talk_weasel_intro03.PY:7:     awardXPToPlayable(1000 )
scripts\act3\asgard\asgard1\ench_exec_death.py:4:awardAchievement("", "defeated_executioner" )
scripts\act3\asgard\asgard1\ench_exec_death.py:5:awardReputation("", 50 )
scripts\act3\asgard\asgard2\rot_lever1.py:46:          awardReputation("", 5 )
scripts\act3\asgard\asgard2\rot_lever1_new.py:73:          awardReputation("", 5 )
scripts\act3\asgard\asgard2\rot_lever2.py:46:          awardReputation("", 5 )
scripts\act3\asgard\asgard2\rot_lever2_new.py:73:          awardReputation("", 5 )
scripts\act3\asgard\asgard4\havehornornot.py:4:# ( "If they found it, he awards them" )
scripts\act3\bifrost\bifrost2\award_rep.PY:3:awardReputation("", 100 )
scripts\act3\niffleheim\niffleheim2\ymir_death.py:4:awardAchievement("", "defeated_ymir" )
scripts\act3\niffleheim\niffleheim2\ymir_death.py:5:awardReputation("", 50 )
scripts\act3\niffleheim\niffleheim3\dococ_death.py:3:awardReputation("", 20 )
scripts\act3\niffleheim\niffleheim3\mordo_death.py:3:awardReputation("", 20 )
scripts\act3\niffleheim\niffleheim3\ultron_death.py:3:awardReputation("", 20 )
scripts\act3\niffleheim\niffleheim4\lokideath2.py:5:awardAchievement("", "defeated_loki" )
scripts\act3\niffleheim\niffleheim4\lokideath2.py:6:awardReputation("", 125 )
scripts\act3\valhalla\talk_weasel_intro03.PY:6:     awardXPToPlayable(5000 )
scripts\act4\attilan\crytstal_intro01.PY:8:     awardXPToPlayable(3500 )
scripts\act4\shiar\shiar2\gladiator_defeated.py:5:awardAchievement("", "defeated_gladiator" )
scripts\act4\shiar\shiar2\gladiator_defeated.py:6:awardReputation("", 50 )
scripts\act4\shiar\shiar4\deathbird_defeated.py:4:awardAchievement("", "defeated_deathbird" )
scripts\act4\shiar\shiar4\deathbird_done.PY:8:awardAchievement("", "defeated_deathbird" )
scripts\act4\shiar\shiar4\deathbird_done.PY:9:awardReputation("", 50 )
scripts\act4\skrull\skrull4\titannus_defeated.py:6:awardAchievement("", "defeated_titannus" )
scripts\act4\skrull\skrull4\titannus_defeated.py:7:awardReputation("", 50 )
scripts\act4\skrull\skrull5\all_done.PY:8:awardAchievement("", "defeated_galactus" )
scripts\act4\skrull\skrull5\stopnexus.py:61:     awardAchievement("", "defeated_galactus" )
scripts\act4\skrull\skrull5\surferchallenge_win.PY:66:     awardAchievement("", "defeated_galactus" )
scripts\act4\skrull\skrull5\surferchallenge_win.PY:67:     awardReputation("", 125 )
scripts\act5\doom\doom4\dark_machine_pain.py:13:     awardReputation("", 20 )
scripts\act5\doom\doom4\dspider_death.py:2:awardReputation("", 20 )
scripts\act5\doom\doom4\dthor_death.py:8:awardReputation("", 20 )
scripts\act5\doom\doom5\end_of_game.PY:5:awardAchievement("", "defeated_doom" )
scripts\act5\doom\doom5\end_of_game.PY:6:awardAchievement("", "unlocked_nickfury" )
scripts\act5\doom\doom5\end_of_game.PY:7:awardReputation("", 200 )
scripts\common\defeatnamedvillain.py:3:awardReputation("", 20 )
scripts\common\actionfigures\xpbonus.PY:3:awardXPToPlayable(5000 )
scripts\common\beacons\treasureact.py:3:awardXPToPlayable(5000 )
scripts\common\beacons\treasureact1.py:3:awardXPToPlayable(5000 )
scripts\common\beacons\treasureact2.py:3:awardXPToPlayable(15000 )
scripts\common\beacons\treasureact3.py:3:awardXPToPlayable(25000 )
scripts\common\beacons\treasureact4.py:3:awardXPToPlayable(35000 )
scripts\common\beacons\treasureact5.py:3:awardXPToPlayable(40000 )
scripts\common\conv_run_once\run_once17.py:9:          awardXPToPlayable(200 )

As you can see, reputation is given for defeating bosses (and 1 objective?), except for the rotation lever. I believe it would be good to award between 200 and 1000 XP for this instead (provided it is for finding the shortcut).

JordanLeich commented 2 months ago

Fixed in https://github.com/ak2yny/Official-Character-Pack-v2-for-Ultimate-Alliance/commit/5acbf263585376f39efe797f47684b17d4279a8e

CyborgSun commented 2 months ago

The issue is that they also have invulnerability on easy, which they shouldn't (can you explain why, Cyborg Sun?). So, the powerups should not be removed, they should be fixed. However, the two you show, Jordan, show random powerups, but not invulnerability, so these two are definitely not the ones. I assume that the invulnerability powerups are those that require a specific combo, is that right, Cyborg Sun?

If we know that other invulnerability powerups, work on hard, but not on easy, we can check how they did it there. But you have to check that on EASY, as I've seen many others with the combo powerup on normal, so I think they're supposed to work on normal. Except if that's not what Cyborg Sun means (I never play on hard).

Invulnerability powerups are indeed the ones where you have to combo them, as well as different ones where they either give minions invincibility, or are only granted invincibility when near minions. They're not supposed to appear on both Easy and Normal, only Hard. (The others you see with invuln powerups on Normal were most likely the Viking Warriors, who give themselves the combo version of the invuln as a power; This function is normal, as it's a specific power they have, not a shared Leader powerup)

CyborgSun commented 1 week ago

OK, so about the Eye of the Shadow Queen: No matter what changes had been made to it, it still doesn't seem to really work right for me (as in, it's still unable to be completed after you beat the main mission, and need to portal back during the mission, which seems to disable the speech Fury gives at the end after the main mission is done... uh, do you follow me?).

At this rate, I think it should just be reverted back to the way it worked before in the base, unmodded game (the objective instantly completing after you pick it up, even if it "doesn't make sense"). Seems like Raven made it work this way for a good reason, lol.

JordanLeich commented 5 days ago

OK, so about the Eye of the Shadow Queen: No matter what changes had been made to it, it still doesn't seem to really work right for me (as in, it's still unable to be completed after you beat the main mission, and need to portal back during the mission, which seems to disable the speech Fury gives at the end after the main mission is done... uh, do you follow me?).

At this rate, I think it should just be reverted back to the way it worked before in the base, unmodded game (the objective instantly completing after you pick it up, even if it "doesn't make sense"). Seems like Raven made it work this way for a good reason, lol.

I can confirm both instances as I've just tested them. The obj only completes if you portal back to the sanctum and talk to Wong but then doing this will make Furys conversation not play when completing the defeat mephisto mission. Also, if you pickup the orb but dont portal back to give it to wong and do the mission as normal, when you get back to the sanctum and talk to wong, the dialogue for bringing the orb back to him doesnt play and thus you cant complete the obj. I'd say we have two options to go about fixing this issue: Either we try again to fix the issue to where your allowed to portal back and complete the obj + hear the fury dialogue after killing mephisto but this likely wont work due to how the portal is handled? or we go back to vanilla like @CyborgSun said, have the orb pickup complete the obj and just fix the obj description to not say return back to Wong. But if we do it this way, will Wong's special dialogue still play for returning the orb after killing Mephisto or no?

CyborgSun commented 5 days ago

But if we do it this way, will Wong's special dialogue still play for returning the orb after killing Mephisto or no?

I can confirm that this specific dialogue doesn't play in vanilla after killing Mephisto. Similar to what you suggested though, you could change the description to say something akin to "The Eye will teleport itself back to Wong" or something. I don't think anyone else really cares that much for the story making sense for this one thing, but it'd be neat to have a short little explanation in case someone does care enough.

JordanLeich commented 5 days ago

I can confirm that this specific dialogue doesn't play in vanilla after killing Mephisto. Similar to what you suggested though, you could change the description to say something akin to "The Eye will teleport itself back to Wong" or something. I don't think anyone else really cares that much for the story making sense for this one thing, but it'd be neat to have a short little explanation in case someone does care enough.

So then his special dialogue for bringing it back to him will be unused and can be removed?

CyborgSun commented 5 days ago

So then his special dialogue for bringing it back to him will be unused and can be removed?

Yeah, I say it's best to do that. Removing it outright would lower the triggers of that HUB just a tiny bit, but every bit helps.

JordanLeich commented 5 days ago

I managed to fix it in https://github.com/ak2yny/Official-Character-Pack-v2-for-Ultimate-Alliance/commit/fab1a04c911bf16806d41770b426fc87281f537e @CyborgSun, @ak2yny had the script .py file in the wrong location and I can confirm it works now.