Skip to content

General mod Questions thread

1464749515270

Comments

  • RaduzielRaduziel Member Posts: 4,714
    Do Fatigue affects enemies as well?

    Would a spell that increases the enemies' Fatigue to 10 have some effect at all or this is one of those things that only affects the player's party?

    Thanks!
  • kjeronkjeron Member Posts: 2,368
    Raduziel wrote: »
    Do Fatigue affects enemies as well?
    Fatigue affects all creatures, but only party members naturally gain fatigue over time.
  • RaduzielRaduziel Member Posts: 4,714
    kjeron wrote: »
    Raduziel wrote: »
    Do Fatigue affects enemies as well?
    Fatigue affects all creatures, but only party members naturally gain fatigue over time.

    Thanks!
  • AndreaColomboAndreaColombo Member Posts: 5,533
    Does anybody know whether it is possible to convert from and to BAM in bulk?

    For example, export all inventory icon BAMs in PNG format in bulk, then reconvert them from PNG to BAM in bulk.
  • GoidaGoida Member Posts: 118
    Okay, I have a question about projectiles. It's for an item. I'm sure I've done something like this before, somewhere, but there are too many variables - it could be this, could be that. I used to want to discover these things for myself in the toolset, but I'm fed up with the sameness of modding. Same old tasks, every day, every day. And by the time you get to the next thing you've forgotten what needs to be ticked off or on for the one before the last. So I'm going to take the easy way out - someone here may just know the answer.

    It's a projectile that explodes on impact, an AOE, and when it does, custom projectiles fly towards everyone caught in the 256 range - from the center. Sounds easy, but the projectiles need to be random. There is Bolt Type 1, Bolt Type 2 and Bolt Type 3, with different visuals. They all hurt the same, but quality requires that they don't all look the same. Ideas?
  • RaduzielRaduziel Member Posts: 4,714
    A question!

    Right thread, I suppose.

    Ok, I have a kit (really?) that possess some special abilities, all of them at will.

    BUT I want to make these abilities take effect only when the caster is using a long or shortbow.

    Evoked the ability without a valid weapon (short bow or longbow)? A string pops up "This weapon is not valid for that action". Something like this.

    Has the ability enabled but decided to go melee? All the abilities effects are lost right away.

    Doable?

    Thanks!
  • _Luke__Luke_ Member, Mobile Tester Posts: 1,535
    kjeron wrote: »
    Opcode[#321] at the beginning to refresh the effect/duration when cast without stacking the effects.

    Are these equivalent?
    LPF ADD_SPELL_EFFECT
    INT_VAR
    	opcode = 321
    	target = 2
    	duration = 1
    STR_VAR
    	resource = EVAL ~%SOURCE_RES%~
    END
    
    LPF ADD_SPELL_EFFECT
    INT_VAR
    	opcode = 278		// THAC0 bonus
    	target = 2
    	parameter1 = "-1"
    	parameter2 = 0	// Increment
    	duration = 60
    END
    
    // Versus
    
    LPF ADD_SPELL_EFFECT
    INT_VAR
    	opcode = 278		// THAC0 bonus
    	target = 2
    	parameter1 = "-1"
    	parameter2 = 1	// Set
    	duration = 60
    END
    
  • kjeronkjeron Member Posts: 2,368
    The latter will overwrite, and be overwritten, by any other source of opcode 278 using "Set".
    The former will stack with any other source of opcode 278, but not with multiple applications of itself.
  • _Luke__Luke_ Member, Mobile Tester Posts: 1,535
    @kjeron Thanks as always!

    Moreover, does opcode #321 behaves like #318/#324 when it comes to effects order? For instance, if I write something like
    LPF ADD_SPELL_EFFECT
    INT_VAR
    	opcode = 73
    	target = 2
    	parameter1 = "-1"
    	parameter2 = 0	// Increment
    	duration = 60
    END
    
    LPF ADD_SPELL_EFFECT
    INT_VAR
    	opcode = 321
    	target = 2
    	duration = 1
    STR_VAR
    	resource = EVAL ~%SOURCE_RES%~
    END
    
    LPF ADD_SPELL_EFFECT
    INT_VAR
    	opcode = 278		// THAC0 bonus
    	target = 2
    	parameter1 = "-1"
    	parameter2 = 0	// Increment
    	duration = 60
    END
    
    then only opcode #278 will be removed, right?
  • The user and all related content has been deleted.
  • kjeronkjeron Member Posts: 2,368
    No, all effects preceding it will be removed, including all effects from previous applications of the spell.

    First Cast:
    Opcode 73 is applied.
    Opcode 73 is removed.
    Opcode 278 is applied.

    Further Casts:
    Opcode 73 is applied.
    Opcode 278 and 73 are removed.
    Opcode 278 is applied.
  • RaduzielRaduziel Member Posts: 4,714
    edited March 2019
    @subtledoctor Thanks!

    That will give me ground to build upon. I'll PM you if things go horribly wrong.

    Edit:

    Here's a quick sketch
    Non-Bow:
    
    Opcode 146 (Spell 1)
    
    Spell 1 -> 4x Opcode 321, one for each effect;
    
                    Opcode 172, removing all the special abilities
    
    ----------------------------------------------
    
    Bow:
    
    Opcode 326 (Spell 2)
    
    Spell 2 -> Opcode 171, giving the special abilities (several headers)
    

    I just don't know how I can do the Bow part making all the abilities usable at will.

    Edit 2: Actually I can make it simpler, I suppose:
    Non-Bow:
    
    Opcode 326 (Spell 1) - Target 1 / Duration 2 (While Equipped)
    
    Spell 1 -> 4x Opcode 321, one for each special ability;
    
                   4x Opcode 318, one for each special ability.
    

    The only thing I would be missing is the string, but it is not a big deal.
    Post edited by Raduziel on
  • [Deleted User][Deleted User] Posts: 0
    edited March 2019
    The user and all related content has been deleted.
  • RaduzielRaduziel Member Posts: 4,714
    @subtledoctor

    Here's how it looks:
    COPY_EXISTING_REGEXP ~.*\.itm~ override
    	READ_BYTE 0x31 proficiency
    	PATCH_MATCH proficiency WITH 
    		89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 106 107 115  BEGIN
    		  LPF ADD_ITEM_EQEFFECT INT_VAR opcode = 321 target = 1                                                              timing = 1 STR_VAR resource = ~RASOLO1~ END
    		  LPF ADD_ITEM_EQEFFECT INT_VAR opcode = 318 target = 1 parameter1 = IDS_OF_SYMBOL (~Kit~ ~RASolo~) parameter2 = 109 timing = 2 STR_VAR resource = ~RASOLO1~ END
    		  LPF ADD_ITEM_EQEFFECT INT_VAR opcode = 321 target = 1                                                              timing = 1 STR_VAR resource = ~RASOLO2~ END
    		  LPF ADD_ITEM_EQEFFECT INT_VAR opcode = 318 target = 1 parameter1 = IDS_OF_SYMBOL (~Kit~ ~RASolo~) parameter2 = 109 timing = 2 STR_VAR resource = ~RASOLO2~ END
    		  LPF ADD_ITEM_EQEFFECT INT_VAR opcode = 321 target = 1                                                              timing = 1 STR_VAR resource = ~RASOLO3~ END
    		  LPF ADD_ITEM_EQEFFECT INT_VAR opcode = 318 target = 1 parameter1 = IDS_OF_SYMBOL (~Kit~ ~RASolo~) parameter2 = 109 timing = 2 STR_VAR resource = ~RASOLO3~ END
    		  LPF ADD_ITEM_EQEFFECT INT_VAR opcode = 321 target = 1                                                              timing = 1 STR_VAR resource = ~RASOLO4~ END
    		  LPF ADD_ITEM_EQEFFECT INT_VAR opcode = 318 target = 1 parameter1 = IDS_OF_SYMBOL (~Kit~ ~RASolo~) parameter2 = 109 timing = 2 STR_VAR resource = ~RASOLO4~ END
    		END
    		DEFAULT
    	END
    BUT_ONLY
    
  • StummvonBordwehrStummvonBordwehr Member, Mobile Tester Posts: 1,385
    Hi there

    A total modding newbie here. I haven’t made any mods yet, but I am planning to make a “house rules” mod - eventully.

    Basicly I am planning to give charname some more innate power - but at a cost. The idea is to give me the incentive to grind and complete all quests and areas...

    I have two approaches:

    1) a quest and item mod.

    You have to get the best gear, spells and potions - and then trade them in for a innate bonus (a bonus to luck, saves, stats or the like).

    If you do all the quests and trade in all your stuff for bonusses, you are going to face Sarevok in plate mail/knave robes, a +1 weapon and a minimum of mage spells / potions and no npc’s (yes the npc’s have to die..). A trade off for more power.

    2) a favored enemy mod

    Here you get the chance to get the ranger and paladin abilities: racial and favored enemy.

    Again you have to do some quests and deliver the proof of your succes. If you can prove your worth, you will get the racial enemy bonus. For instance: killing the ogre mage in the mine, the sewer and Kahrk + giving away the Katanas and the ogre mage slaying arrow gives you ogre as a racial enemy.

    My questions are as follows:
    1) is it possible to tie the mod to a difficult setting? For instance LoB. Something like the quest giver only showing up at a certain difficult setting?
    2) is it possibly to have more racial enemies? And both the undead hunter and cavalier bonusses?
  • GoidaGoida Member Posts: 118
    @StummvonBordwehr There is a difficulty trigger in the triggers file: https://gibberlings3.github.io/iesdp/scripting/triggers/bgeetriggers.htm, but I've never used it myself. I don't know if it works. If not, there may be workarounds. As to extra racial enemies, I think that's impossible but you can put a custom spell on your character with the same bonuses vs. whichever race or even class you are interested in slaying.

    Now for my own stuff. Yes, a question: when do Attack sounds play? And when does Battle cry play? I think they only apply for certain attack actions. For example, bandits or Black Talons never cry the cry when they attack us with AttackReevaluate, though bandits, at least, do have a battle cry sound. Or does the cry only sound for melee attacks? What about the Attack sounds? Those are rarely heard at all.

  • The user and all related content has been deleted.
  • GoidaGoida Member Posts: 118
    And another question - why not. One of the updates of Near Infinity brought the ability to protect a creature against an item, give it an immunity - with 206, I assume. Is the later version of the editor required for that immunity to work? Or just to introduce it by hand? I want to give someone immunity to an item, AAA let's say. I already had a spell called AAA, though I'm not using it for anything, but it was convenient as a target for the 206. I was hoping the immunity to AAA the spell would translate into immunity to AAA the item, but no dice, apparently. Or do I have to delete the AAA spell but keep the item reference?
  • kjeronkjeron Member Posts: 2,368
    Only op318/324 can block items by resource, not op206.
    Goida wrote: »
    One of the updates of Near Infinity brought the ability to protect a creature against an item, give it an immunity - with 206, I assume.
    Updates to Near Infinity don't affect what does/doesn't work in game. Near Infinity gets updated to reflect how the game already works as it becomes known.
  • The user and all related content has been deleted.
  • RaduzielRaduziel Member Posts: 4,714
    Of course, 318/324 can do what 206 can do. So if you apply 318 with parameter2 and parameter1 set to EA and none, respectively, then it will immunize against both an item and a spell, if they have the same name. (Near Infinity displays items and spells separately, but that is purely for visual convenience. You cannot have the 318 work on only one ir the other, unless you give them different filenames.)

    Is the Special of those opcodes used for something?

    If not, would be good to have something like:

    0 = any match

    1 = match spl

    2 = match itm

    3 = match pro

    4 = match eff

    I don't know if those opcodes work with eff or pro, I'm just brainstorming.
  • kjeronkjeron Member Posts: 2,368
    Raduziel wrote: »
    I don't know if those opcodes work with eff or pro, I'm just brainstorming.
    They already can block EFF's - matching either the calling spell/item's resource or the parent resource field of the EFF file (offset 0x94), and there is already a field setup in EFF files to store the resource type (none, spell, item).
    Projectiles cannot be blocked by resource, as they don't really have one in-game. All projectile references are by index#.
  • The user and all related content has been deleted.
  • RaduzielRaduziel Member Posts: 4,714
    Ok, I'm trying to use Opcode #1 to enforce a 1 APR for the duration of a spell.

    I'm using p1 = 1 p2 = 3

    Yet the character gets 2 APR (it drops from 3 to 2).

    The weapon is a bow.

    I've already tried p2 = 1

    @kjeron @Bubb some obscure thing about this opcode that I need to know?

    And what is exactly the difference between p2 = 3 and p2 = 1?

    Thanks.

  • kjeronkjeron Member Posts: 2,368
    edited March 2019
    @Raduziel op1, p2=3 only works with timing mode 2.
    setting with p2=1 will still be increased by specialization and warrior level, as well as APR increment effects.
  • RaduzielRaduziel Member Posts: 4,714
    @kjeron Well, I'll change the .tra file then.

    Thanks!
  • RaduzielRaduziel Member Posts: 4,714
    I have a spell that imposes to a character a movement rate of zero (roots.him/her to the ground) but allows it to attack freely with missile weapons or melee (if the enemy gets into range, of course).

    However, when under this effect, if I click commanding a walk, the character "walks" just doesn't goes anywhere.

    Is there a way to prevent the walking animation from happening?

    Thanks!
  • GoidaGoida Member Posts: 118
    @Raduziel , no. You can only freeze the character as a whole with a stun-type effect (Stun, Paralyze, Hold etc.). Which will make him inaccessible completely, except for Pause, where you can still issue commands and, I believe, Caster-no-animation-keep-spell type spells still work and scripts run. But what you are describing isn't a problem. People just shouldn't click away to walk when they are rooted, just as with Entangle (your situation is exactly what happened with Web and Stinking Cloud - they are not supposed to hold people like Hold Person, only prevent them from moving and acting, but that was impossible to implement in Infinity Engine).

    And thanks everyone for the advice about the spell and item blocking. It turned out the problem was with a projectile not getting blocked rather than the containing spell. Another way to block spells is with 205, by the way. Blocking NONE is a little too radical because it stops almost everything, including weapons, but we can extend the spell type table freely, I think. There isn't a way to stop that "Spell Ineffective" message, is there?
  • RaduzielRaduziel Member Posts: 4,714
    edited March 2019
    Thanks, @Goida . I had this idea because I just saw @AionZ 's thread about the Geomancer where he says that the damage animation is blocked by a spell's effect (if I understood correctly, of course). So my thoughts were: if it blocks one part of seq.ids maybe it may block others.

    About your question, presuming you're using Opcode 206, have you tried:

    1) P1 = ~-1~

    2) Adding Opcode 267 l, P1 = string that says "Spell Ineffective"

    3) Opcode 318, resource = same thing you're trying to block with Opcode 206

    ?
    Post edited by Raduziel on
  • GoidaGoida Member Posts: 118
    edited March 2019
    Thanks for the tip, @Raduziel , but the "Spell Ineffective" message appears for spell type and spell school protections, 205 and thereabouts, not 206 or 318. I've thought of replacing that string with something more generally applicable like "Unaffected," that would at least not jar so with weapon applications, but what is really needed is to stop it completely. Probably not possible.

    As far as blocking animations goes, I've done some work with that and the only one you can do anything about is the damage (recoil, SEQ_DAMAGE in SEQ.IDS). It's possible to override creatures' recoil response with contingencies that force the SEQ_WALK on them when they are damaged. I've used it to patch undead to ignore pain and just keep on advancing unrelentingly. Also SEQ_WALK can be used to "clear" delayed animations with 138. It's very quick and just stops another animation that it interrupts. The rest are out. However, there are many interesting ways you can try to use the 138 opcode and the SetSequence action, from an invisible minion. The script version is more seamless and just looks better for SEQ_CONJURE, for example. You can try adding weapon-swinging animations when throwing is involved, recoil for physical effort etc.

    With your entangle-type spell what you can also try is test a combination (make some custom ring with equipped effects, that's the easiest way): Movement rate bonus (126), set to 0, and Apply Spell on Movement (366). Now when you try to walk, you will stay in place, but it's still considered motion, and you can try putting the walking animation or another in the spell that triggers. Perhaps that will make the character stop. 366 expends itself when it triggers, though, so you will need to include a recast of it in the spell's effects.

    Now, will somebody explain to me the battle cry and attack sound mystery? I was going to lie down for a nap after a sleepless night and a day, and no sooner I did than the neighbors started power-drilling the wall, right through my cranial bone, it feels. :D So there goes my hope of rest. I might as well finish this section of my mod, with custom creatures with attack voice-overs who WON'T SAY THEM.
Sign In or Register to comment.