Jump to content


  • Content Count

  • Joined

  • Last visited

About Ardanis

  • Rank
    A very GAR character
  • Birthday 11/27/1985

Profile Information

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

Recent Profile Visitors

9,327 profile views
  1. 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.
  2. Invision hitting new bottom with every new update. Why am I not surprised
  3. 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
  4. 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.
  5. 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
  6. 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)
  7. 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
  8. 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.
  9. I would read the number of transitions in each state, divide it by 4, and insert mod transitions at (trans_num / 4) * (state_ind - 21) points. EDIT So basically, what you suggest in 1, it seems. As for compatibility... You might have a point, but imo it's the least evil nonetheless - because in order to break something it requires another mod to 1) try to edit vanilla transitions and 2) do it without reading data first. PPS ...and also 3) be willing to poke the awful mess that is Thrix dialog file with a ten foot pole. This dialog was the worst in the entire SoD by a huge margin, bec
  10. I am - special characters need to be preceded by \, to reverse them as a part of regexp formula. A-aand it only needs to be done when matching the string COPY_EXISTING ~SHOUT.BCS~ ~override~ DECOMPILE_AND_PATCH BEGIN REPLACE_TEXTUALLY ~Heard(\[NOTEVIL\],99)~ ~Heard([NOTEVIL],99) Detect(LastHeardBy)~ REPLACE_TEXTUALLY ~Heard(\[NOTGOOD\],99)~ ~Heard([NOTGOOD],99) Detect(LastHeardBy)~ END BUT_ONLY IIRC the only regexp allowed in replacement string is \1, \2 etc. to denote a match variable: REPLACE_TEXTUALLY ~\(Heard\)~ ~True() \1~ // We
  11. If you donate the amount equal or greater than value corresponding to the current reputation (specified in reputati.2da), then it will increase by 1 point. No means of detection that I know of. You could try appending StartStore() actions with SetGlobal() to run a check afterwards if reputation is now greater than it used to be before starting dialog.
  12. Those vars look like arguments for party AI scripts, to turn off item usage by clones. They don't affect actual item flags.
  13. Rain probability set to 100? I vaguely remembering having similar problem in SoD with BG city districts, but I don't remember the details, except it was something close to Australian shaman dance indeed... Some possibilities - try adding your area to mastarea.2da, or to the worldmap. Could have been some other file than these, but my memory stops there. Otherwise something to do with WED... I think.
  14. ADD_ITEM_HEADER https://github.com/Gibberlings3/ItemRevisions/blob/master/item_rev/lib/macros.tpa Maybe check WeiDu readme/history, I won't be surprised if it's been included, or there's a similar function.
  • Create New...