Jump to content


  • Posts

  • Joined

  • Last visited

About Ardanis

  • Birthday 11/27/1985

Profile Information

  • Gender
  • Location
    Saint-Petersburg, Russia
  • Interests
    CRPG, anime, music

Recent Profile Visitors

9,428 profile views

Ardanis's Achievements

  1. The difference between your results may be due to "Enable Offscreen AI" stat set for the Talon. I had to manually set it for all the SoD actors involved in Crusade/Allied activities, because otherwise they would barely act outside of party's vision range.
  2. PATCH_IF ((~%SOURCE_RES%~ STRING_CONTAINS_REGEXP ~ACT0~) == 0) | ((~%SOURCE_RES%~ STRING_CONTAINS_REGEXP ~CTALARM~) == 0) THEN BEGIN Not sure if it's the issue, but you seem to be using | (aka BOR) operator, which should be used for things like matching bits in a value, instead of || (aka OR), which is the "one or the other" kind. I fell into the same trap long ago, thinking they were the same. Also, as others mentioned, just because you never had issues using INNER_ACTION on the current file, doesn't mean they don't exist - much like I myself kept using BOR because it worked so far, but then one day it didn't and I had to find out I was doing it wrong all the time. PS Probably not the issue, since your values are either 0 or 1 anyway. Still, something to keep in mind for future reference.
  3. The only reason there's no such consolidated data library for WeiDU is because nobody bothered yet. There're numerous functions - either included in WeiDU or shipped with mods - for adding/editing file contents without offset juggling. Tutorial is rather outdated anyway, as it only shows the basics. The more advanced mods have been operating their data on higher levels for over a decade. WeiDU syntax certainly has its share of issues, the LONG_NAMES_IN_CAPS eyesore being one of my pet peeves since ever, but lack of ability to handle your data on abstract level is not one of those.
  4. True, but there's also saying "don't fix what's not broken". WeiDU's syntax is certainly far from optimal, not in the least because it started as a simple dialog updater/compiler and over two decades grew into what it is now, but it gets the job done and is widely accepted by the IE community as the standard of IE modding. I.e. you can certainly do things your own way, but expect a lot complaints if it won't be fully compatible with WeiDU-based install routine
  5. I think you're the one missing it, honestly. There's nothing stopping you from writing code with exact same functionality in WeiDU syntax, put it into useful_functions_lib.tph, and call it with modder-defined arguments whenever you need it. That's what more advanced mods have been doing for over a decade. You could say that your version is more compact because it doesn't need to ship WeiDU.exe along, but as far as I'm aware Python isn't natively supported by Windows either. PS Speaking of Python, it's an awful dysfunctional language that breaks apart if you don't meticulously keep your tabs and whitespaces in order every time you update a tiny bit of your code.
  6. Unless we're talking about grindhouse level budgets, modern CGI is indistinguishable from actual footage. That's all there's to say imo.
  7. RES actions accept any 8 characters. Nothing catches my eye, so I would suspect it may be a SPL itself - name, targeting, whatever. Does it work if you remove all other actions?
  8. Minor nuances like this thread's subject aren't discussed by a council of game designers at round table. They're just put in by whoever is responsible for implementing the content on the "does it break something? If not, then let's roll with it" basis, before moving on to the next item from a very lengthy list.
  9. Invision hitting new bottom with every new update. Why am I not surprised
  10. It works if you put it the last in trigger block. gibberlings3.net/forums/topic/31466-looking-for-a-talked-to-such-and-such-condition/?tab=comments#comment-282595
  11. There was some talk during SoD's development about using this trigger for AI, but it remained just a talk. I would assume it only, if ever, returns true when path is blocked by searchmap/doors.
  12. Unless you know what you're doing, follow this template for launching cutscenes. Activation script: IF // triggers THEN RESPONSE #100 StartCutSceneMode() ClearAllActions() // optional StartCutSceneEx("#L_Cut07",TRUE) // if you need triggers within cutscene evaluated // StartCutscene("#L_Cut07") // or if you don't END Cutscene itself: IF True() THEN RESPONSE #100 CutsceneID(Player1) // actions EndCutSceneMode() END
  13. As Lauriel says, can't you instead use global vars instead of myarea for regions? Master-slave relationship isn't particularly reliable. E.g. patch this into all master regions: IF !Global("current_region","global",3300) THEN RESPONSE #100 SetGlobal("current_region","global",3300) END For reputation change use SetGlobal("change_rep","global",1). Finally, put this into baldur.bcs: IF GlobalGT("change_rep","global",0) Switch("current_region","global") THEN RESPONSE #1100 IncrementGlobal("rep_1100","global",1) IncrementGlobal("change_rep","global",-1) RESPONSE #3300 IncrementGlobal("rep_3300","global",1) IncrementGlobal("change_rep","global",-1) END IF GlobaLT("change_rep","global",0) Switch("current_region","global") THEN RESPONSE #1100 IncrementGlobal("rep_1100","global",1) IncrementGlobal("change_rep","global",1) RESPONSE #3300 IncrementGlobal("rep_3300","global",1) IncrementGlobal("change_rep","global",1) END
  14. Almost the entire dialog consists of "choose party member" states, four initial and then four per each party member if PC refuses to bet them. I'm a little rusty to give you an actually working piece, but the logic would be like: COPY_EXISTING - bdthrix.dlg override READ_LONG 0xc states x = 0 FOR (i=21; i<24; ++i) BEGIN READ_LONG states + i * 16 + 8 trans_num SET insert%i% = ( (trans_num - 1) / 4) * x x = (x<3) ? x+1 : 0 END FOR (i=30; i<85; ++i) BEGIN READ_LONG states + i * 16 + 8 trans_num SET insert%i% = ( (trans_num - 1) / 4) * x x = (x<3) ? x+1 : 0 END Then in your .d use for each state EXTEND_BOTTOM bdthrix 21 #%insert21% /* trans list */ END You'll probably need to EVAL the .d I think this may do https://weidu.org/~thebigg/README-WeiDU.html#dActionWhen Otherwise, you'd have to read the .dlg structure, similar to above.
  15. The original dialog is already twice, if not thrice, as messy, so... I'd be cautious about making it even worse. Looking at it again, I recall you can refuse Thrix his choice of a party member and have him choose again. So technically you can go with 3rd idea and append NPC at the bottom - even if two mods will conflict there, you can still write "nope, choose someone else" option to stay in line with the original, and get the previous NPC mod as a next choice.
  • Create New...