-
Posts
2,789 -
Joined
-
Last visited
About Ardanis
![](http://content.invisioncic.com/u284679/team_g3modder.png)
- Birthday 11/27/1985
Profile Information
-
Gender
Male
-
Location
Yerevan, Armenia
Recent Profile Visitors
10,543 profile views
Ardanis's Achievements
-
FJ_ARE_STRUCTURE - delete a proximity trigger?
Ardanis replied to subtledoctor's topic in Modding Q&A
Yeah, proximity triggers are regions. -
animations and scripted events during Timestop?
Ardanis replied to subtledoctor's topic in Modding Q&A
Better question is, does timestop even work during cutscene mode. Because the latter disables crowd control effects. In any case, the answer to the first question is a definite no. Cutscene mode suppresses all scripts except itself. You can run cutscene lite (I forgor the syntax, but it should be easy to find), which essentially just hides the UI, but otherwise is no different from normal mode. It does involve having to ensure running scripts won't accidentally interfere with the scene, though. IIRC the timestop grayscale should be possible to apply via switching on/off some area flag. -
MakeGlobal() - best practice before a DestroySelf action?
Ardanis replied to subtledoctor's topic in Modding Q&A
Deactivate() or however it's spelled isn't enough? Also if you're concerned that some hypothetical mod might make him playable, you do realize that removing him from the area without completely eliminating from the game would still mess with that mod regardless, right? I.e. some compatibility workaround would be needed anyway. So just DestroySelf() him and call it a day imo. -
Do you guys enjoy Siege of Dragonspear?
Ardanis replied to Morgoth's topic in General Mod Discussion
Bending the game to accommodate more "cinematic" approach to cutscenes also took some toll. Like parts of the script as "here player fights enemies, then dialog there triggers" that you can find in more modern RPGs didn't exactly translate well into IE, where you could cast invis, run away and scatter the whole party across the map. I do take some pride in having been able to compromise and resolve those, though -
SoD, as well as EEs v2.0+ (?) in general, ships with DS package already built in. Nah, it works fine. Also nah, works with both.
-
FWIW I find it extremely disturbing to see a feminized and moefied version of Putin in some Japanese dating sim, let alone people adoring the character. Because, like, wtbf are you finding appealing about the evil incarnate... I don't presume for a second I have a right to so much as voice my opinion on the matter, though, because it's not my business to tell people what to play
-
Also most people still playing BG, let alone modding it, are 30+ or 40+. Not exactly the kind of demographic that would care about keys or competitions.
-
I always thought that should I ever set up a place for public discussions, I'd put this into rules section: 1) There are no rules, because grown adults gathered for a cup of nice tea can read the room without needing any rules. 2) There are two kinds of opinion here - mine and wrong.
-
[Tutorial] jastey's SoD NPC Modding Tutorials
Ardanis replied to jastey's topic in Modding How-Tos and Tutorials
https://gibberlings3.github.io/modding-resources/Tutorial_NPCMoveCampsSoD.html#toc_12 SaveLocation("LOCALS","bd_default_loc",[x1.y1]) //coordinates as used in xxbd1000.baf /* Note: here the "LOCALS" really need to be in capital letters. Ardanis: "Coordinate variables are about the only place I know where case matters." */ Since you point out that bit^^ /* kicked out somewhere else (not bd4700.are in Avernus, not Korlasz' Crypt) */ IF ~GlobalGT("bd_joined","locals",0)~ THEN BEGIN kickout_5 SAY ~You want me to go?~ + ~GlobalGT("bd_npc_camp_chapter","global",1) GlobalLT("bd_npc_camp_chapter","global",5) OR(2) !Range("ff_camp",999) NextTriggerObject("ff_camp") !IsOverMe("xxBiff")~ + ~Please go back to the camp.~ DO ~SetGlobal("bd_npc_camp","locals",1)~ + kickout_6 ++ ~Just remain here and await my return, all right?~ + kickout_3 ++ ~No, stay with the group.~ + kickout_4 END It may be worth noting that the OR() structure in bold needs to be in exactly that order - Range() first, NTO(ISOverMe()) next, - and not followed by any further script syntax, otherwise the game will fail to evaluate the trigger if ff_camp is not present in current area. -
Possibly. During SoD production we had developed a rule to always use Player1 for area transitions, particularly for main story events, because it was guaranteed to work without issues.
-
Use StartCutsceneEx("cutscene",TRUE), it allows to evaluate conditions in script blocks. Like, you can structure its blocks as: 1) Initial fadeout, etc. 2-7) If playerX is in area/range, move them to appropriate point 8) The rest of cutscene You can also split the main body in parts and insert more party checks between those, i.e. for walking around, casting etc. That's if you assign the same SetCutsceneID() object for all blocks, they'll be processed in sequence then. If you have too many places where party presence check is important, you can make one composite block for each party member and assign it to themselves. Different IDs run their blocks simultaneously, although it may or may not be harder to time, so that they're not out of sync with the main cutscene action. As for dialog actions, I think you're out of luck You can launch StartCutsceneEx() at the exit transition, and maybe - just maybe - kick SecondNearest([PC]) out, but the latter will only work within visual range of performing actor. Off the top of my head, the SoD's cutscene after the bridge explosion makes PC walk towards Caelar from any (unknown beforehand) place inside of the camp, and Caelar will wait exactly until PC reaches the position. I think the filename is bdcut16.bcs, or possibly 14, 15 or 17.
-
Walking into tents used to be a thing. If it doesn't work, either there's some flag on that transition, or there was an engine change. Map borders are actually defined in searchmap and simply trigger the worldmap UI display. It should certainly be possible to spread an array of transitions around the border. A simple dot without any coverage should suffice.
-
Applying effect and dispelling it in the same spell - is it possible?
Ardanis replied to SparrowJacek's topic in Modding Q&A
If you're modding the Cause Wounds directly, I think you may as well try to just delay the 12 by 1s. Don't think anybody would really notice or care... You can also leave the original .itm intact and make the corresponding .spl overwrite the created weapon for your kit with modded version. Don't think 326 accepts kit.ids, but you can either mark your kit with splstate, or use 146/206 combo: 1) 146 spl_A and 146 spl_B 2) spl_A applies 206 against spl_B 3) spl_B applies actual desired effect(s) 4) apply 206 against spl_A to any specific target (e.g. via kit's passives) you want to be affected by spl_B -
Applying effect and dispelling it in the same spell - is it possible?
Ardanis replied to SparrowJacek's topic in Modding Q&A
Type=1 (set) definitely should work. Can't remember if I saw a case of type=0 working, but I wouldn't be surprised if it's yet another engine quirk. -
Applying effect and dispelling it in the same spell - is it possible?
Ardanis replied to SparrowJacek's topic in Modding Q&A
Set 30's timing mode to duration, 0 seconds, followed by fire damage. That's been proven to work. If you need conditional targeting for that, use 326 to make sure both effects remain in one package - not sure that's why 177 doesn't work for you, but 50/50 that nesting adds one tick delay. As for dispelling solution, with 321 at the end your spell should be able to clear itself from target.