Chocolate Quest Repoured

Chocolate Quest Repoured

2M Downloads

[Bug][Suggestion/Enhancement]Feedback on Pirate Captain

SandwichHorror opened this issue · 5 comments

commented

Common sense Info

  • I play...
    • [x ] Only with CQR and it's dependencies
  • The issue occurs in...
    • [x ] Singleplayer
  • [ x] I have searched for this or a similar issue before reporting and it was either (1) not previously reported, or (2) previously fixed and I'm having the same problem.
  • [x ] I am using the latest version of the mod (all versions can be found on github under releases)
  • [x ] I reproduced the bug without any other mod's except forge, cqr and it's dependencies

Versions
Chocolate Quest Repoured: 1.12.2-1.20.1A
Forge: latest 1.12.2
Minecraft: 1.12.2

Describe the bug
Lag during parrot summoning, teleportation, ghost block explosion from parrot, corrupted texture during invisibility

  1. Parrot summoning, teleportation, and invisibility abilities frequently cause lag spikes. Beyond the parrot summoning, as with any boss entity summoning, which unfortunately you all can't seem to replicate, I also got lag spikes whenever the pirate used his teleportation or invisibility abilities. For the teleportation, it effectively became where the pirate would stand still, then appear behind me and I would take four or five hits all at once. For the invisibility, I can't provide "proof" of this other than being able to capture multiple frames of the bugged texture (see below). I'm working on getting friends to test these bosses to see if it this lag is just a me issue - but I've spawned dozens of "Black Deaths" from the Rats mod, resulting in hundreds of rats running around, and never got this kind of lag. Even if you can't reproduce it, would you consider taking a look at the code for summoning entities like the undead minions, custom projectiles, etc. and check optimization for pirate king invisibility/teleportation?

I do see that one person in the comments has had this exact issue:
"When fighting mobs in a dungeon, they are kinda laggy, like they teleport few steps or make few attacks at once"

2020-06-23_02 05 39
stuck on this for a few frames

2020-06-23_02 04 22
Unable to hit (see attack bar) during this frozen frame

  1. Botched texture during invisibility. See above: pirate texture gets totally corrupted for several seconds after using invisibility.

  2. Ghost blocks appear in crater from Traitor Parrot explosion. As with the Nether Dragon and Boarmage projectiles, the crater caused by the death of the Traitor Parrot leaves behind ghost blocks that can trap you or cause glitchy movement.

  3. Traitor parrot flies extremely slowly. It's the same flying speed as the vanilla parrot, which is unfortunately woefully slow for what is presumably supposed to be a fast-paced boss fight.

  4. Bullet/lead ball only inflicts fire damage. The balls propelled out of flintlock/muskets/etc should be physical damage, not fire damage. A player with fire resistance should still fear getting shot in the head, as one would expect with a firearm.

  5. Suggestion: the pirate's strategy with the parrot is unclear. Sometimes the parrot flies, and sometimes it perches on his shoulder. Sometimes the pirate appears to warp to his parrot, but there is no indication of why or when he does it. I love the idea of the parrot being a support creature dropping potions, but it flies too slowly and often just returns to being perched on the pirate's shoulder anyway - is it when it gets too far away from him? My suggestion is this:

Parrot flies rather overhead and drops potions. It has a 2-block necrotic aura of necrotic smog. However, if it gets too close to the Captain, it perches on his shoulder and grants him some kind of damage buff as well as keeping its damaging aura. In this way, the strategy will be in "juggling" the two enemies and keeping them apart from each other, or luring the parrot away and trying to burst it down as fast as possible. When the parrot is low on health, the pirate attempts to recall it with a spell (parrot can be burst down before this happens).

Occasionally, the pirate casts a new spell where he and the parrot swap locations. He'd have to be resistant to fall damage or this could end up kind of stupid.

  1. Suggestion: new particles for firearm firing and pirate teleportation. Guns would feel more powerful with a little smoke effect after each shot, not to mention a sound effect (I assume the guns in particular are obviously a work in progress). The pirate captain should have a particle effect like a poof of smoke whenever he warps to you or to his parrot.

  2. Suggestion: Smoke cloud ability. The pirate captain seems like a right and proper bastard who will fight as dirty as possible. When turning invisible, using teleportation, or drinking a potion, he should throw a smoke bomb at his feet, which spawns a ton of white cloud particles and additionally inflicts blindness for a short time. He should also try to smoke bomb + teleport away every time before drinking a potion.

  3. Suggestion: Powder keg ability. The pirate captain is already a fun fight (minus the lag I experienced), but a new attack would make it even more interesting. Occasionally, the pirate captain should summon a lit powder barrel/keg that acts as TNT, minus the block damage. At low health, he could summon three or four at a time.

  4. Frivolous(?) Suggestion: Anti-Air Grounding Bullets. I mentioned how I think most bosses should have at least one anti-air ability. When the player is above the pirate captain, I think he should fire special bullets that cause the player to crash into the ground. This effect can be seen in Extra Alchemy as the "Gravity" potion effect. You may not want to add a new prerequisite for CQR, but a lot of those potion features are very unique and could be used as on-hit mob attacks, on-hit projectile effects, and integrated potion effects for unique items. If not, you could try to have this effect through a more manual and direct method.

To Reproduce
Steps to reproduce the behavior:

  1. Summon and fight the Pirate Captain
commented

he has a ranged weapon, but that special bullet sounds like an idea

Oh sure, I just meant it's the same animation but fires a special projectile to bring those flying scallywags crashing down.

maybe, but very low priority

Hopefully just low priority for the remainder of alpha, then? 🥺 I think it's very important to have player and enemy abilities feel visceral and satisfying instead of being silent, invisible actions, and seeing and hearing the gunshots from the fierce and tricky captain adds a lot to the battle

But i'm not a big fan of that different parrot mechanic.

Right, that makes sense. Because of the health and support aspect of the parrot I assumed it was meant to be one of the classic "duo" boss fights, with a weaker support that results in you either dealing with constant harassment or focusing it down without getting killed by the main boss. If it's not so much "a pirate and his trusty parrot as a fighting duo" as just "a pirate and there's also parrot there", seems it should stay the way it is.

Also, here's one last suggestion for the pirate: parry/riposte mode.
Occasionally after attacking, the pirate captain holds his sword across his body for several seconds, like the pre-shield update sword blocking animation. If the player strikes during this time, the hit is blocked and the pirate immediately counterattacks, dealing greatly increased damage. The parry would also be able to absorb one ranged attack, and this would probably be the preferred way to get him out of this stance aside from waiting it out.

If you don't think that's thematic for the captain, maybe it could also work for a "duelist" or "Graceful fighter" type boss instead.

commented

i do like that last suggestion, but it will be not very easy to add the blocking "animation" to the dagger but it is possible, will be taken into consideration, parrot may receive some buffs and AI adjustments (as the vanilla pet AI it mainly uses atm is just dumb in comparison to CQR standard mob AI)

on gun smoke: will be added, for all guns, not just for the one boss, but it is not as easy as you might think to make the smoke appear at the right position, i guess it is enough to make the smoke appear where the arm is

commented

parrot behaves like that cause it is an extended vanilla parrot, that won't change

7): maybe, but very low priority
8): the pirate captain is more of a coward, if there are allies of him around when he has low hp he will attempt to teleport to them. Though that cloud ability sort of fits, maybe i'll add it.

9): that would make it too similar with the boar mage

10): he has a ranged weapon, but that special bullet sounds like an idea

6): the parrot decides on it's own when he returns to his owner, will be looked at

2 and 1): never experienced it, might take a look at the texture glitch thing

5): it is a bug if that thing really only does fire damage, that is not supposed

3): i actually patched that today in the dev branch

I like the damage buff idea, won't be just a simple damage buff but something similar.
But i'm not a big fan of that different parrot mechanic. The parrot is meant to be just a parrot that can throw potions.
The "swap locations" thing: it is not that easy to implement as the pirate captain has no knowledge of it's pet, only if he spawned it but i'll maybe add it

commented

the person with lag in dungeons: That was caused by just too many mobs being in a single area (which used to be the case in rCastles)

commented

that glitched texture seems to only occur if the captain is set on fire and turns invisible (or does it's animation), will be patched as that is a bug