Skip to content

[MOD] Improved Heart of Fury Mode Version 4.2.0

1235714

Comments

  • OlvynChuruOlvynChuru Member Posts: 3,075
    @Bubb

    I'm glad to hear that you're having fun with the mod!

    I intended the orc cave to be a wake-up call, by I didn't intend it to be super-hard. In the next version, I'm making it so that the enemies in the prologue who previously used Greater Whirlwind Attack now use Whirlwind Attack.

    And yes, I intended the Rhinoceros Beetle to be tough. The good news is that in Chapter 6 you can use its shell to make a shield that has a chance of reflecting back missiles and spells.
    Bubb
  • VoytazVoytaz Member Posts: 26
    And I finished Severed Hand. There wasn't any big bosses but man, those pack of undeads that appear out of nowhere, they were the worst. I found a great way to kill them but it was nearly at the end of location, at the beginning I was just full buffed hacking and slashing. That was a nightmare, can't wait for the Dorn's Deep and some of the harder enemies.



    OlvynChuru
  • OlvynChuruOlvynChuru Member Posts: 3,075
    @Voytaz The mod gets a little easier in Chapter 4. It is more common in Chapter 4 for battles to consist of a couple of strong enemies rather than a lot of weaker enemies (though there are a few exceptions).

    Which battle in the Severed Hand did you find the hardest?
  • VoytazVoytaz Member Posts: 26
    I don't know if exactly the hardest but this one right here was definitely in one of the toughest.

    A lot of armored skeletons (I think that whats they're called) who were constantly pushing away my dwarven defender and switching target to other companions who are not very tanky. And in addition there are Bladed Skeletons with the thorns, I don't know the proper name for this shield/spell thing. Backstab did almost nothing to them, so my assassin was useless, my cleric's turn undead did nothing, although I had like +6 to spell level thanks to potions. He had some usefull spells, but with the push from armored skeletons, he didn't have time to cast them. Eventually I beat them, but that took me a long time.
    OlvynChuru
  • OlvynChuruOlvynChuru Member Posts: 3,075
    @Voytaz Ah, yes. I intended that fight to be tough in order to intimidate players into fleeing to the next floor and coming back later.

    The spell level bonus does not increase a character's turn undead level; that's separate.
  • BubbBubb Member Posts: 998
    I finished The Vale of Shadows and The Temple of the Forgotten God; it was a blast! (Pun intended?).

    I think the vale is very well balanced. There weren't any crazy encounters like the orc cave, (or I got better, one of the two). Are the blast skeletons supposed to force you to run through an area transition after you hit one? Because the new blast radius on those things covers like half the area, and it freezes half of my party if I let it hit me. Sometimes I could outrun the blast when my party was under haste, but that is about it.

    It might just be me, but Lysan seemed very easy after trekking through the main tomb. She fell before she could even get any protections up, so maybe that's why - but some yetis and a corpse didn't hurt too much. Kresselack's gear seems very overpowered. Along with two rings of the warrior, some magic bracers, a +4 sword, 25 strength (+4 from the sword), and my bard's song, my paladin is rocking a -10 thac0. I'm not complaining of course, he's probably going to be crushed into goo anyways.

    The temple was much better than the vanilla experience. It actually posed a challenge - the acolytes weren't pushovers, and the verbeegs hit hard. I only had trouble with the last fight in the temple, where I had to reload a couple of times. I mostly died because of some lazy errors I made, though that new guy's earthquake spell killed half my party if I let him cast it.

    I'm off to Dragon's Eye, I look forward to being incinerated, poisoned, and much more! :wink:
    OlvynChuru
  • OlvynChuruOlvynChuru Member Posts: 3,075
    edited December 2018
    @Bubb The best way to dodge the blast skeleton explosion is to turn a corner. Areas of effect are usually blocked by walls.

    I made Kresselack's loot very good because it's the big reward for completing this long level.
    Post edited by OlvynChuru on
    Bubb
  • tiduszxxtiduszxx Member Posts: 4
    Damn this mod is pretty crazy. I like it but I wish it wouldn't add MORE mobs, instead focusing on beefing them up, making every fight feel like you're fighting a mini-boss!
    OlvynChuru
  • OlvynChuruOlvynChuru Member Posts: 3,075
    edited January 2019
    @tiduszxx The mod DOES focus on beefing them up. It is actually quite rare for the mod to increase the number of enemies in a fight significantly (in some cases, a new enemy is added by replacing a less interesting creature that was previously there). What it does do is make certain enemies SUMMON huge mobs of enemies. In such a case, the goal is generally to kill the summoners as quickly as possible before they can summon too many things.
    Post edited by OlvynChuru on
  • BubbBubb Member Posts: 998
    @OlvynChuru: I'll be the one to ask the annoying question :D

    Is it OK for me to update my install to v3.0, or should I start a new game just to be safe? I'm only at Dragon's Eye right now, so I think it's safe? Unless you altered content that far back -
    OlvynChuru
  • OlvynChuruOlvynChuru Member Posts: 3,075
    edited January 2019
    @Bubb You should be fine. I didn't alter much content that early; certainly not in ways that would be game-breaking.
    Post edited by OlvynChuru on
  • olegbenlolegolegbenloleg Member Posts: 14
    edited January 2019
    Congratulations. Really fantastic achievment. I have waited for this to finally play through your mod.
    OlvynChuru
  • BubbBubb Member Posts: 998
    edited February 2019
    @OlvynChuru: I think I need a hint on how to deal with the Cold Wights.

    My party literally gets killed in ~3 seconds if I try to fight them directly. The only cheesy way I've found is to spam Shield of Lathander on my Cleric, bait all the enemies to attack my Cleric, and bomb everything with fireballs from my sorcerer.

    The blast skeletons really make it hard to stand back and burn all of the wights though; and somehow I've got at least 3 groups walking towards me at once, (with no provocation from me!)

    Been at it for a couple of hours now, and I can't find a way through this section :s
    OlvynChuru
  • OlvynChuruOlvynChuru Member Posts: 3,075
    @Bubb Currently my computer isn't working, and I'm getting a new computer. Once it arrives and I get my stuff back on it, I'll look into this.

    Are the cold wights so nasty because of their level drain? Or is it because of the Undead Lieutenant? I remember that when I cleared this area with my playtesting team, I usually tried to kill the Undead Lieutenant immediately in each of the battles. I dealt with the Blast Skeletons only after killing everyone else, that way my party could move out of the way.
    Bubb
  • BubbBubb Member Posts: 998
    Ah, I didn't see that very powerful aura coming from the Lieutenant... I was wondering why I couldn't turn the wights. I'll try to kill them first then :p

    With all the AI targeting that happens right at the start of one of those fights, the aura mention in the log is, in my opinion, very hard to notice. Maybe you could use a visual effect on the Lieutenant to help players know something abnormal is going on?

    As for feedback for the first two levels of Dragons Eye: I liked it a lot. The lizard men were tough but not overpowering. It seems you changed Trolls to not require fire / acid to kill; this makes level two much easier imo, even with the larger hordes. The Talonite fight, which has always been troublesome in the vanilla game, was pretty easy for my party to hack through this time around.

    I'll see if I can't get through that section now... Presio's army be damned.
  • VoytazVoytaz Member Posts: 26
    Sorry for a long break, but here I am again. I just beat Lower Dorn's Deep and reached Wyrm's Tooth.

    I think it was much harder than Severed Hand, especially since when you attack one group of Myconids, you aggro like half of the cave (literally) and you have to defend yourself against endless wave of monsters with ettins at the end.

    Next, the drows which were rather easy thanks to my assassin and dispel magic. Then undeads and Terikan which was really pain in the ass. Thing that saved me and probably a lot of time was a mass sanctuary ring which allowed me to wipe all undeads and summons and left just Terikan (who was attacking me despite my sanctuary). And I think it's not the best idea to give orogs potions increasing max hp as random drop. You can rest and just farm them.

    I don't have much time now, so I don't know where I'm gonna beat 5th chapter, but when I will, I'll definitely write something here.
    OlvynChurubrunardo
  • OlvynChuruOlvynChuru Member Posts: 3,075
    @Voytaz Congratulations for reaching Chapter 5! Has anybody else gotten that far?

    Do the orogs that spawn in rest encounters drop the hp-increasing potions? If they do, I'll get rid of that in the next patch.

    The funny thing is that in my playtesting playthrough, I found the initial cave and the undead to be not that tough, and the drow to be really hard. I'm glad that you're still seeing some great usage out of a single-classed thief!
    brunardo
  • VoytazVoytaz Member Posts: 26
    edited February 2019
    Well, I didn't expect it at all, but I got free morning and finished 5th chapter.

    The most problematic enemy was probably the big wyrm in a cave I forgot the name of. Fortunately I could backstab it, unlike the wyrm in front of museum (which was really annoying, was the second wyrm intentional or it was a bug? I had some problems with double enemies in the past). After assassin doing half of the job, I attacked him with every fire spell/weapon I got, with only my dwarf being in the melee. It took couple of tries but I managed to kill him.

    With my dwarven defender beeing immune to physical damage it wasn't hard to get rid of Joril and his guards. Especially that my sorcerer just got his clone/Timestop/Abi-Dalzim's Horrid Wilting combo.

    Now onward to the sixth chapter.
    Post edited by Voytaz on
    OlvynChuru
  • OlvynChuruOlvynChuru Member Posts: 3,075
    @Voytaz Good job! And yes, I intended the second White Wyrm outside in Wyrm's Tooth to come to you once the first wyrm had taken a certain amount of damage.
  • _Luke__Luke_ Member, Mobile Tester Posts: 1,535
    edited May 2019
    Do you perhaps have an idea/suggestion about how enemies could intelligently switch between melee/ranged weapons?

    Unfortunately, you don't write and compile BAF files, so I cannot inspect your scripts right now (you know, BCS file format ain't meant to be human-friendly :) ...)
    Post edited by _Luke_ on
  • OlvynChuruOlvynChuru Member Posts: 3,075
    Luke93 wrote: »
    Do you perhaps have an idea/suggestion about how enemies could intelligently switch between melee/ranged weapons?

    Unfortunately, you don't write and compile BAF files, so I cannot inspect your scripts right now (you know, BCS file format ain't meant to be human-friendly :) ...)

    Yes you can - you can look at the files in the override folder using NearInfinity. NearInfinity automatically decompiles the BCS files.

    My suggestion would be to patch all BCS files and replace all instances of Attack(whatever) or AttackReevaluate(whatever,[0-9]+) with AttackReevaluate(whatever,5). I actually already did this in one of my mods, but the code to do this replacement was pretty tricky.
  • _Luke__Luke_ Member, Mobile Tester Posts: 1,535
    OlvynChuru wrote: »
    Yes you can - you can look at the files in the override folder using NearInfinity. NearInfinity automatically decompiles the BCS files.

    Sorry, but I am not in front of my computer right now, that's why I told you about using BAF files...
    OlvynChuru wrote: »
    My suggestion would be to patch all BCS files and replace all instances of Attack(whatever) or AttackReevaluate(whatever,[0-9]+) with AttackReevaluate(whatever,5). I actually already did this in one of my mods, but the code to do this replacement was pretty tricky.

    I'm not sure I'm understanding the link between your suggestion and a smart way of switching between melee/ranged... Could you clarify it? Thanks...
  • OlvynChuruOlvynChuru Member Posts: 3,075
    Luke93 wrote: »
    I'm not sure I'm understanding the link between your suggestion and a smart way of switching between melee/ranged... Could you clarify it? Thanks...

    Never mind, I misunderstood you. What exactly do you mean by a smart way of switching between melee and ranged weapons? What would it look like in the game.
  • _Luke__Luke_ Member, Mobile Tester Posts: 1,535
    edited May 2019
    OlvynChuru wrote: »
    Luke93 wrote: »
    I'm not sure I'm understanding the link between your suggestion and a smart way of switching between melee/ranged... Could you clarify it? Thanks...

    Never mind, I misunderstood you. What exactly do you mean by a smart way of switching between melee and ranged weapons? What would it look like in the game.

    How would you script a creature which has both a melee weapon and a ranged weapon (maybe with different kind of ammunition - for example a sling + some bullets of fire and some bullets of electricity)? In particular: I'd like it to be able to quickly switch to a melee weapon when someone is in melee range (4) and use its ranged weapon otherwise.
    For instance, how do your shadowed elves behave (since they're equipped with both a melee weapon and a ranged one)?
  • OlvynChuruOlvynChuru Member Posts: 3,075
    @Luke93

    The shadowed elf archers use an attack script that goes like this:
    1. Use a ranged weapon to attack the nearest PC (not summoned creatures) that is more than 3 feet away, is not immune to missiles, and has no Stoneskins or Mirror Images.
    2. Use a ranged weapon to attack the nearest PC (not summoned creatures) that is more than 3 feet away, is not immune to missiles, and does not have both Stoneskin and Mirror Image.
    3. Use a melee weapon to attack the nearest PC (not summoned creatures) that is at most 3 feet away, is not immune to melee weapons, and has no Stoneskins or Mirror Images.
    4. Use a melee weapon to attack the nearest PC (not summoned creatures) that is at most 3 feet away, is not immune to melee weapons, and does not have both Stoneskin and Mirror Image.
    5. Use a ranged weapon to attack the nearest enemy that is more than 3 feet away and is not immune to missiles.
    6. Use a melee weapon to attack the nearest enemy.

    Here's what the BAF code for the script looks like. I've shortened it so that it doesn't show the additional SecondNearestEnemy, ThirdNearestEnemy, ... blocks.
    IF
    	See(NearestEnemyOfType([PC.0.0.0.ME_PLAYER]))
    	!Range(LastSeenBy(Myself),3)
    	CheckStat(LastSeenBy(Myself),0,STONESKINS)
    	!StateCheck(LastSeenBy(Myself),STATE_MIRRORIMAGE)
    	CheckStatLT(LastSeenBy(Myself),100,RESISTMISSILE)
    	WeaponEffectiveVs(LastSeenBy(Myself),MAINHAND)
    THEN
    	RESPONSE #100
    		EquipRanged()
    		AttackReevaluate(LastSeenBy(Myself),5)
    END
    //Repeat for SecondNearest to SixthNearest
    
    IF
    	See(NearestEnemyOfType([PC.0.0.0.ME_PLAYER]))
    	!Range(LastSeenBy(Myself),3)
    	OR(2)
    		CheckStat(LastSeenBy(Myself),0,STONESKINS)
    		!StateCheck(LastSeenBy(Myself),STATE_MIRRORIMAGE)
    	CheckStatLT(LastSeenBy(Myself),100,RESISTMISSILE)
    	WeaponEffectiveVs(LastSeenBy(Myself),MAINHAND)
    THEN
    	RESPONSE #100
    		EquipRanged()
    		AttackReevaluate(LastSeenBy(Myself),5)
    END
    //Repeat for SecondNearest to SixthNearest
    
    IF
    	See(NearestEnemyOfType([PC.0.0.0.ME_PLAYER]))
    	Range(LastSeenBy(Myself),3)
    	CheckStat(LastSeenBy(Myself),0,STONESKINS)
    	!StateCheck(LastSeenBy(Myself),STATE_MIRRORIMAGE)
    	OR(3)
    		CheckStatLT(LastSeenBy(Myself),100,RESISTSLASHING)
    		CheckStatLT(LastSeenBy(Myself),100,RESISTPIERCING)
    		CheckStatLT(LastSeenBy(Myself),100,RESISTCRUSHING)
    	WeaponEffectiveVs(LastSeenBy(Myself),MAINHAND)
    THEN
    	RESPONSE #100
    		EquipMostDamagingMelee()
    		AttackReevaluate(LastSeenBy(Myself),5)
    END
    //Repeat for SecondNearest to SixthNearest
    
    IF
    	See(NearestEnemyOfType([PC.0.0.0.ME_PLAYER]))
    	Range(LastSeenBy(Myself),3)
    	OR(2)
    		CheckStat(LastSeenBy(Myself),0,STONESKINS)
    		!StateCheck(LastSeenBy(Myself),STATE_MIRRORIMAGE)
    	OR(3)
    		CheckStatLT(LastSeenBy(Myself),100,RESISTSLASHING)
    		CheckStatLT(LastSeenBy(Myself),100,RESISTPIERCING)
    		CheckStatLT(LastSeenBy(Myself),100,RESISTCRUSHING)
    	WeaponEffectiveVs(LastSeenBy(Myself),MAINHAND)
    THEN
    	RESPONSE #100
    		EquipMostDamagingMelee()
    		AttackReevaluate(LastSeenBy(Myself),5)
    END
    //Repeat for SecondNearest to SixthNearest
    
    IF
    	See(NearestEnemyOf(Myself))
    	!Range(LastSeenBy(Myself),3)
    	WeaponCanDamage(LastSeenBy(Myself),MAINHAND)
    	WeaponEffectiveVs(LastSeenBy(Myself),MAINHAND)
    THEN
    	RESPONSE #100
    		EquipRanged()
    		AttackReevaluate(LastSeenBy(Myself),5)
    END
    //Repeat for SecondNearest to TenthNearest
    
    IF
    	See(NearestEnemyOf(Myself))
    THEN
    	RESPONSE #100
    		EquipMostDamagingMelee()
    		AttackReevaluate(NearestEnemyOf(Myself),5)
    END
    
    

    As for the idea of switching between ammunition, this is trickier to implement for enemies in general who might use different ammunition, but I made an attack script for Skeleton Warriors in the Watchknight Crypt that does something like this. These Skeleton Warriors alternate between Arrows of Dispelling and Arrows of Piercing. I put much less effort into this script, since it's just for one creature.
    IF
    	See(NearestEnemyOf(Myself))
    	!StateCheck(LastSeenBy(Myself),STATE_HELPLESS)
    	!StateCheck(LastSeenBy(Myself),STATE_CONFUSED)
    	!StateCheck(LastSeenBy(Myself),STATE_SLEEPING)
    	CheckStat(LastSeenBy(Myself),0,WIZARD_PROTECTION_FROM_MAGIC_WEAPONS)
    	!Range(NearestEnemyOf(Myself),5)
    	CheckStat(LastSeenBy(Myself),0,CLERIC_PHYSICAL_MIRROR)
    	!CheckSpellState(LastSeenBy(Myself),ENTROPY_SHIELD)
    THEN
    	RESPONSE #100
    		EquipRanged()
    		SelectWeaponAbility(SLOT_AMMO0,0) //Equip Arrows of Dispelling
    		AttackReevaluate(NearestEnemyOf(Myself),5)
    END
    
    IF
    	See(NearestEnemyOf(Myself))
    	!Range(NearestEnemyOf(Myself),5)
    THEN
    	RESPONSE #100
    		EquipRanged()
    		SelectWeaponAbility(SLOT_AMMO1,0) //Equip Arrows of Piercing
    		AttackReevaluate(NearestEnemyOf(Myself),5)
    END
    
    IF
    	See(NearestEnemyOf(Myself))
    THEN
    	RESPONSE #100
    		EquipMostDamagingMelee()
    		AttackReevaluate(NearestEnemyOf(Myself),5)
    END
    
    _Luke_semiticgoddess
  • _Luke__Luke_ Member, Mobile Tester Posts: 1,535
    edited May 2019
    In the first script, WeaponEffectiveVs() and WeaponCanDamage() are evaluated before equipping the launcher/ammo to attack LastSeenBy (i.e., before EquipRanged() and SelectWeaponAbility()) => This is probably not ideal....

    Could you explain me how AttackReevaluate() behaves with respect to, say, AttackOneRound()? How would you convert Reevaluation Period into round?
Sign In or Register to comment.