Larian Banner: Baldur's Gate Patch 9
Previous Thread
Next Thread
Print Thread
Joined: Sep 2017
G
stranger
OP Offline
stranger
G
Joined: Sep 2017
Hello,

in the past I made small mods for Morrowind, NWN1, Gothic, Warcraft 3 and others. Nothing worth uploading, but the time I spent in the editors of the games vastly outstrips the time playing the story etc. so I'm really looking forward to get my hands on the Divinity Engine 2 (also on the game of course).

Having only started to play DOS1 recently (still in Cyseal) even though I purchased it long ago (and not player the second one yet) I'm not really familiar with what is possible in the editor. Which is why I would like to ask some (actually quite a few... sorry) questions regarding what is possible.

If it makes it easier to answer the questions please assume a standalone adventure instead of modifying the main story or vice versa.

---

1) Is there a level limit for the (playable) characters? If so, is it hardcoded or can we change it?

2) Is a faction/guild system possible?
- let's say there are 3 factions/guilds. If you enter one of them, of the other two factions one will be hostile towards you (maybe attacking on sight or whatever) and the other neutral?
- can we make skill's only learnable if you are part of the faction? I guess we could achieve this by selling skillbooks only to members of the faction?

3) From what I've read talents are hardcoded. Is there another way to implement passive skills? In another thread I read that this could be accomplished with tags? How would that work, can we apply new tags through scripting while the game is running, and then, if a specific tag is set on a character for example increase the range of fire spells a bit?

4) Source is obtained by consuming souls or by stepping into source pools. Can we change the way source is obtained?

5) Can we implement different starting locations based on the race the player choose when starting the game?
- if you only have a single map: a lizard would start in lizard village, and a dwarf in dwarf village.
- or if you have multiple maps: a lizard would start on let's say a swamp like map and a dward in some dwarf mine like map.

6) Unlike talents, can we make our own civil or combat abilities?

7) I read that we can't create our own skills schools? Is that true? If so, could this be opened up like the audio import will hopefully in the future? Or would that require too much changes in the core of the engine? (probably more a question @Larian_KVN)

8) Attributes have a hardcap at 40 (you can invest at most 30 points unless you are a Lone Wolf) if I remember correctly. Can we change that to whatever we like with the editor or by using Norbytes unpacker and then changing .txt files?What about abilities which have a cap at 10/20 points? Can we change the cap?

9) Can we assign a dialog to an item which ask's if the player wants to activate it (yes and no options), and if yes will be teleportet to a completly new level/map or another location on the current map?

10) For puzzles, can we make a dialog which ask into which slot a picture that the char has in the inventory should be put (top left, top center, top right, middle left ...) and then make it so that we see the picture in the game?

11) If I don't want to mod the main story, but instead want to make a standalone mod do I have to reimplement basic systems like in D:OS 1?

12) Can we change the zoomfactor of the camera or is that hardcoded? Since there is a mod -
http://steamcommunity.com/sharedfiles/filedetails/?id=894764479 - which requires an external executable I guess it's hardcoded? Is there a technical reason (level/lod/etc streaming or too much code changes required) or is it a game play and/or artistical choice?

13) Can we create a skill that creates an item if the monster is killed by the skill?

14) Can you make it so that character creation is skipped or locked, so the player is forced to play a character that the mod creator made? Basically a Origin character which you can't change.

15) Can we make two stories which are "connected" together? Take Warcraft 3 as an example. In the first act of Warcraft 3 you play human Arthas. After that is finished you play undead Arthas in the second act. Is something like that possible? What I would be most interested in would be taking variables/facts/whatever this should be called from the first act and using them in the second act to mix things up a little.

16) Can we make our own races? Would be especially interesting to me once we can import our own 3d models and animations (or will the 3d import be restricted to static meshes?).

17) If we wanted to, could we disable the level system?

18) Can we create skills that have levels? Imagine stun level 1 having 15% change to stun, if you buy the next skillbook (which can only be used if you learned the first one already) your stun is at level 2 and has a 30% chance to stun? So basically like abilities but as a skill.

19) There are skills in the game which require source. Could we create something similar to source and then also skills which rely on that?

20) A question I have seen in a thread when the enhanced edition of the first game came out: can the battle system be changed to be real time? Or realtime with a pause function like in the infinity games?

21) Let's say I wanted to approximate the skill system from Vampire the Masquerade: Bloodlines: https://i.imgur.com/0lpXLZd.jpg
Since we can't make our own UI elements from what I have read, could we use the scripting mechanisms of DOS2 to present a dialog box which shows (going by the image I linked) that your char has 3 strength, and then another option to increase it to 4 strength for x amounts of experience?

22) Let's say I have prepared three different walled sections on a map. Can I choose one of the three sections at random with the scripting system and then teleport the player to the chosen section?

23) I read the scripting system is prolog like. Does that mean we can use pattern matching, recursion, define our own functions etc?

24) I read that increasing the party size could maybe lead to problems. Is that only the case for the main story because it assumes a party of 4? Or is this a technical issue which could eventually lead to problems in standalone mods as well?

25) What is the limit for the map size? In Unreal it's 2km from the origin before you start seeing precision issues, while 20km is the hard coded max size you can get to in a single map (without streaming and/or origin rebasing). I don't care about the hardships of even filling up such a level. Im just curious. ;)

Cheers

Joined: Mar 2016
Location: Belgium
T
addict
Offline
addict
T
Joined: Mar 2016
Location: Belgium
Originally Posted by GreedyQuestioner
Hello,
1) Is there a level limit for the (playable) characters? If so, is it hardcoded or can we change it?

Not sure, but I don't think so.

Quote

2) Is a faction/guild system possible?
- let's say there are 3 factions/guilds. If you enter one of them, of the other two factions one will be hostile towards you (maybe attacking on sight or whatever) and the other neutral?

Yes, via the alignment editor (not yet documented).

Quote

- can we make skill's only learnable if you are part of the faction? I guess we could achieve this by selling skillbooks only to members of the faction?

That, or in the worst case by scripting the removal of certain skills when its get added and you are in the wrong faction (or if you change to another faction).

Quote

3) From what I've read talents are hardcoded. Is there another way to implement passive skills? In another thread I read that this could be accomplished with tags? How would that work, can we apply new tags through scripting while the game is running, and then, if a specific tag is set on a character for example increase the range of fire spells a bit?

You can apply tags through scripting while the game is running. I think extending the range would have to work by replacing the fire spells with different variants that have a bigger range though. I'm not sure if there is a modifier you could apply to certain spells to increase their range (but I could be wrong, that's not my expertise).

Quote

4) Source is obtained by consuming souls or by stepping into source pools. Can we change the way source is obtained?

Yes, there are script calls to add source points (CharacterAddSourcePoints, not yet documented).

Quote

5) Can we implement different starting locations based on the race the player choose when starting the game?
- if you only have a single map: a lizard would start in lizard village, and a dwarf in dwarf village.

Yes.

Quote

- or if you have multiple maps: a lizard would start on let's say a swamp like map and a dward in some dwarf mine like map.

No, all players must be on the same map.

Quote

6) Unlike talents, can we make our own civil or combat abilities?

Not afaik.

Quote

7) I read that we can't create our own skills schools? Is that true? If so, could this be opened up like the audio import will hopefully in the future? Or would that require too much changes in the core of the engine? (probably more a question @Larian_KVN)

It would require engine changes, so indeed quite unlikely.

Quote

8) Attributes have a hardcap at 40 (you can invest at most 30 points unless you are a Lone Wolf) if I remember correctly. Can we change that to whatever we like with the editor or by using Norbytes unpacker and then changing .txt files?What about abilities which have a cap at 10/20 points? Can we change the cap?

No idea.

Quote

9) Can we assign a dialog to an item which ask's if the player wants to activate it (yes and no options), and if yes will be teleportet to a completly new level/map or another location on the current map?

Yes.

Quote

10) For puzzles, can we make a dialog which ask into which slot a picture that the char has in the inventory should be put (top left, top center, top right, middle left ...) and then make it so that we see the picture in the game?

Yes (ItemToTransform call, not documented yet).

Quote

11) If I don't want to mod the main story, but instead want to make a standalone mod do I have to reimplement basic systems like in D:OS 1?

Most basic things have been extracted into the independent Shared mod now, so normally not.

Quote

12) Can we change the zoomfactor of the camera or is that hardcoded? Since there is a mod -
http://steamcommunity.com/sharedfiles/filedetails/?id=894764479 - which requires an external executable I guess it's hardcoded? Is there a technical reason (level/lod/etc streaming or too much code changes required) or is it a game play and/or artistical choice?

There is a SetCameraDistanceOverride script call. I don't know whether it's limited from code. The most it is set for the main campaign is 25. The default maximum seems to be 19.

Quote

13) Can we create a skill that creates an item if the monster is killed by the skill?

Yes, although I'm not 100% sure how easy it would be. You might be able to do it directly by catching AttackedByObject (not documented yet).

Quote

14) Can you make it so that character creation is skipped or locked, so the player is forced to play a character that the mod creator made? Basically a Origin character which you can't change.

Yes.

Quote

15) Can we make two stories which are "connected" together? Take Warcraft 3 as an example. In the first act of Warcraft 3 you play human Arthas. After that is finished you play undead Arthas in the second act. Is something like that possible? What I would be most interested in would be taking variables/facts/whatever this should be called from the first act and using them in the second act to mix things up a little.

As long as everything is in the same mod, or the second mod depends on the first mod: sure.

Quote

16) Can we make our own races? Would be especially interesting to me once we can import our own 3d models and animations (or will the 3d import be restricted to static meshes?).

No, everything should be supported. It's a lot of work to create a playable race though, due to the amount of different animations you need to support (from walking to climbing to fighting to casting to various status effects to...).

Quote

17) If we wanted to, could we disable the level system?

You could never give anyone experience, then they won't level up.

[qyite]
18) Can we create skills that have levels? Imagine stun level 1 having 15% change to stun, if you buy the next skillbook (which can only be used if you learned the first one already) your stun is at level 2 and has a 30% chance to stun? So basically like abilities but as a skill.
[/quote]
You would have to create different skills, but other than that: yes. You can add/remove skills from script.

Quote

19) There are skills in the game which require source. Could we create something similar to source and then also skills which rely on that?

Kind of, but not cleanly, I think. You can catch a player using a skill and then do anything you want (such as removing an item from their inventory). However, there is no activate/deactivate skill API. So at most you could add/remove the skill as it becomes (un)available, but that's not very nice.

Quote

20) A question I have seen in a thread when the enhanced edition of the first game came out: can the battle system be changed to be real time? Or realtime with a pause function like in the infinity games?

You can make it real time by preventing all characters from joining (turn-based) combat. HOWEVER, that would also completely disable the AI (it is tied into turn-based combat), so you would have to script all combat behaviours for NPCs yourself. Real-time with pause would not be possible.

Quote

21) Let's say I wanted to approximate the skill system from Vampire the Masquerade: Bloodlines: https://i.imgur.com/0lpXLZd.jpg
Since we can't make our own UI elements from what I have read, could we use the scripting mechanisms of DOS2 to present a dialog box which shows (going by the image I linked) that your char has 3 strength, and then another option to increase it to 4 strength for x amounts of experience?

Not a dialog box, but a regular in-game dialog (e.g. with an item): yes.

Quote

22) Let's say I have prepared three different walled sections on a map. Can I choose one of the three sections at random with the scripting system and then teleport the player to the chosen section?

Yes.

Quote

23) I read the scripting system is prolog like. Does that mean we can use pattern matching, recursion, define our own functions etc?

Yes. See https://docs.larian.com/Osiris.

Quote

24) I read that increasing the party size could maybe lead to problems. Is that only the case for the main story because it assumes a party of 4? Or is this a technical issue which could eventually lead to problems in standalone mods as well?

Mainly the main story. I think the only scripting API that is inherently limited to 4 players is the one for the crime system.

Quote

25) What is the limit for the map size? In Unreal it's 2km from the origin before you start seeing precision issues, while 20km is the hard coded max size you can get to in a single map (without streaming and/or origin rebasing). I don't care about the hardships of even filling up such a level. Im just curious. wink

I'm not sure, but I think you are mainly limited by available memory. The AI grid is limited to 2^31 cells though, but in this context a single item is a single cell (so e.g. a rock occupying 8 cells on the AI grid only counts as a single cell here).

Joined: Dec 2013
old hand
Offline
old hand
Joined: Dec 2013
Originally Posted by Tinkerer
Originally Posted by GreedyQuestioner

- or if you have multiple maps: a lizard would start on let's say a swamp like map and a dward in some dwarf mine like map.

No, all players must be on the same map.


I wonder if by 'map' he strictly means 'level' in DOS terms or if he could be satisfied with different terrains on the same level, which may be good enough for his purposes?


DOS2 Mods: Happily Emmie After and The Noisy Crypt

Steam Workshop
Nexus Mods
Joined: Mar 2016
Location: Belgium
T
addict
Offline
addict
T
Joined: Mar 2016
Location: Belgium
Originally Posted by Windemere
Originally Posted by Tinkerer
Originally Posted by GreedyQuestioner

- or if you have multiple maps: a lizard would start on let's say a swamp like map and a dward in some dwarf mine like map.

No, all players must be on the same map.


I wonder if by 'map' he strictly means 'level' in DOS terms or if he could be satisfied with different terrains on the same level, which may be good enough for his purposes?

That's true, you can have multiple independent "maps" in the same level, and it's no problem if different players are in different such maps (to the engine, it's just different coordinates in the same level).

Joined: May 2017
Location: California
member
Offline
member
Joined: May 2017
Location: California
Originally Posted by Tinkerer
Originally Posted by Windemere
Originally Posted by Tinkerer
Originally Posted by GreedyQuestioner

- or if you have multiple maps: a lizard would start on let's say a swamp like map and a dward in some dwarf mine like map.

No, all players must be on the same map.


I wonder if by 'map' he strictly means 'level' in DOS terms or if he could be satisfied with different terrains on the same level, which may be good enough for his purposes?

That's true, you can have multiple independent "maps" in the same level, and it's no problem if different players are in different such maps (to the engine, it's just different coordinates in the same level).


If a person went crazy with this, such as by creating their entire world in one level, it could cause some issues with ram, right?

Joined: Jun 2013
old hand
Offline
old hand
Joined: Jun 2013
Originally Posted by Ghatt

If a person went crazy with this, such as by creating their entire world in one level, it could cause some issues with ram, right?


Oh yes. But you'd have go *really* crazy like making level on the scale of fort joy+ surrounding areas which completely fills up my 8GB of RAM after OS use for example.

Last edited by SniperHF; 20/09/17 10:15 PM.
Joined: Sep 2017
G
stranger
OP Offline
stranger
G
Joined: Sep 2017
Hi Tinkerer,

thanks for taking the time to read through my wall of text and and on top of that even answering every single question! Really appreciated. :)

[quote=Tinkerer]
Yes, via the alignment editor (not yet documented).
[/quote]

Oh, there is even an editor for that? Great, that's really nice.


[quote]
You can apply tags through scripting while the game is running. I think extending the range would have to work by replacing the fire spells with different variants that have a bigger range though. I'm not sure if there is a modifier you could apply to certain spells to increase their range (but I could be wrong, that's not my expertise).
[/quote]

Replacing the spell with a different variation would be fine for many things I guess.

[quote=Tinkerer]
[quote=GreedyQuestioner]
5)
- or if you have multiple maps: a lizard would start on let's say a swamp like map and a dward in some dwarf mine like map.
[/quote]

No, all players must be on the same map.
[/quote]

To be sure there is no misunderstanding (maybe because of bad/wrong terminology I used): assuming this is a standalone mod. If the player picks a lizard as their race they would start on a map/level which is let's say Cyseal. There they would experience a custom prologue for lizards. People joining into the party there are only intended to stay in the party while the lizard is on the prologue map. When the prologue story is finished the player would leave the Cyseal map and arrive at a map/level for the first act of the game. On this map/level are characters like Fane etc. which are supposed to be in the party for a longer time.

If the player had choosen a dwarf as the main character they would have started in Fort Joy to experience their prologue. Just like the lizard the dwarf would meet people there that would join into the party only for the prologue. If the prologue is finished the dwarf would arrive on the same map/level as the lizard.

So rather than playing the lizard and the dwarf at the same time this is only intended to make the start of the game unique for each race (and only for the main character). Would that be possible?

[quote=Tinkerer]
Yes (ItemToTransform call, not documented yet).
[/quote]

Are there many API calls to allow us to interact with objects in the game?

[quote]
Most basic things have been extracted into the independent Shared mod now, so normally not.
[/quote]

That's great! Although I read reimplementing the basic systems in DOS1 didn't take too long less work needed is of course nice. :)

[quote]
Yes, although I'm not 100% sure how easy it would be. You might be able to do it directly by catching AttackedByObject (not documented yet).
[/quote]

Morph skill from Final Fantasy 7 here I come! ;o)

[quote=Tinkerer]
[quote]
15) Can we make two stories which are "connected" together? Take Warcraft 3 as an example. In the first act of Warcraft 3 you play human Arthas. After that is finished you play undead Arthas in the second act. Is something like that possible? What I would be most interested in would be taking variables/facts/whatever this should be called from the first act and using them in the second act to mix things up a little.
[/quote]
As long as everything is in the same mod, or the second mod depends on the first mod: sure.[/quote]

Oh, this get's better and better.

[quote]
No, everything should be supported. It's a lot of work to create a playable race though, due to the amount of different animations you need to support (from walking to climbing to fighting to casting to various status effects to...).
[/quote]

Yes, and on top of that my 3d models look bad and my animations unrealistic as I'm not really an artist, but since it's possible the options for future mods are huge and far beyond only cosmetic changes. Really looking forward to try it out and also to see what talented people will create.

[quote]
Kind of, but not cleanly, I think. You can catch a player using a skill and then do anything you want (such as removing an item from their inventory). However, there is no activate/deactivate skill API. So at most you could add/remove the skill as it becomes (un)available, but that's not very nice.
[/quote]

Yeah, but at least it's a possibility. Better than nothing I guess.

[quote]
You can make it real time by preventing all characters from [url=http://docs.larian.game/Osiris/API/SetCanJoinCombat]joining (turn-based) combat[/url]. HOWEVER, that would also completely disable the AI (it is tied into turn-based combat), so you would have to script all combat behaviours for NPCs yourself. Real-time with pause would not be possible.[/quote]

That it seems to be possible is good enough. Everything which opens up more possibilities for mods is good in my eyes. I'm sure someone will come up with usage scenarios for this, even if it should only be a silly mod which implements the cow level from Diablo 2. :D

[quote]
Mainly the main story. I think the only scripting API that is inherently limited to 4 players is the one for the crime system.
[/quote]

That's good to read. The possibilities for mods and total conversions keeps growing.

[quote]
I'm not sure, but I think you are mainly limited by available memory. The AI grid is limited to 2^31 cells though, but in this context a single item is a single cell (so e.g. a rock occupying 8 cells on the AI grid only counts as a single cell here). [/quote]

Ah, ok. I guess I will just try out how large of a map my computer can handle.



---



[quote=Windemere]
I wonder if by 'map' he strictly means 'level' in DOS terms or if he could be satisfied with different terrains on the same level, which may be good enough for his purposes?
[/quote]

Yes, that would work as this would be mainly intended to be used for the prologue of the mod, so the different areas would not even be that big. But if that would also work with levels this would be even better.

Joined: Sep 2017
V
stranger
Offline
stranger
V
Joined: Sep 2017
!!Using this topic to not clutter!!

I am in love with the game but i am not very happy with the origin characters neither not being able to customize the natural skills (source skills?), i find them pretty meh to tell the truth, so i ask, is it possible for me, for exemple, make it so the red prince has corpse eater? Or sebille is a skeleton (with all the proper changes, including body/clothing)? If yes, where i can read up on it to see how to do it? (dont point me to the wiki, its useless at the moment)

Joined: Mar 2016
Location: Belgium
T
addict
Offline
addict
T
Joined: Mar 2016
Location: Belgium
Originally Posted by GreedyQuestioner

thanks for taking the time to read through my wall of text and and on top of that even answering every single question! Really appreciated. smile

You're welcome!

Originally Posted by GreedyQuestioner

5)
So rather than playing the lizard and the dwarf at the same time this is only intended to make the start of the game unique for each race (and only for the main character). Would that be possible?

Yes, as long as you don't want to support multiplayer whereby one player picks a lizard and the other a dwarf smile

Regarding the terminology: I interpreted "a map" as "a level", which is a group of terrains, items, characters, triggers, ... that are loaded together by the game. It is not possible for one player to be in level A and another player in level B. However, as Windemere mentioned, you can have multiple terrain patches in the same map that are completely isolated from each other. So this is only a problem in case your two different maps are gigantic so they would not reasonably fit together in a single level.

Quote

Are there many API calls to allow us to interact with objects in the game?

There are 174 Osiris story API calls that have the word "Item" in their name. Several more are applicable to both characters and items. In general, items are quite flexible, and in some ways they can do more than characters (they are not bound to the AI grid for one).

Quote

Ah, ok. I guess I will just try out how large of a map my computer can handle.

For reference, the biggest map in the main game (RC_Main) requires 10-12GB of ram in the editor and about half of that in-game. Not sure what its dimensions are, but it's pretty big.

Joined: Jun 2014
veteran
Offline
veteran
Joined: Jun 2014
Originally Posted by Tinkerer
Originally Posted by GreedyQuestioner
Hello,
1) Is there a level limit for the (playable) characters? If so, is it hardcoded or can we change it?

Not sure, but I don't think so.

Quote

2) Is a faction/guild system possible?
- let's say there are 3 factions/guilds. If you enter one of them, of the other two factions one will be hostile towards you (maybe attacking on sight or whatever) and the other neutral?

Yes, via the alignment editor (not yet documented).

Quote

- can we make skill's only learnable if you are part of the faction? I guess we could achieve this by selling skillbooks only to members of the faction?

That, or in the worst case by scripting the removal of certain skills when its get added and you are in the wrong faction (or if you change to another faction).

Quote

3) From what I've read talents are hardcoded. Is there another way to implement passive skills? In another thread I read that this could be accomplished with tags? How would that work, can we apply new tags through scripting while the game is running, and then, if a specific tag is set on a character for example increase the range of fire spells a bit?

You can apply tags through scripting while the game is running. I think extending the range would have to work by replacing the fire spells with different variants that have a bigger range though. I'm not sure if there is a modifier you could apply to certain spells to increase their range (but I could be wrong, that's not my expertise).

Quote

4) Source is obtained by consuming souls or by stepping into source pools. Can we change the way source is obtained?

Yes, there are script calls to add source points (CharacterAddSourcePoints, not yet documented).

Quote

5) Can we implement different starting locations based on the race the player choose when starting the game?
- if you only have a single map: a lizard would start in lizard village, and a dwarf in dwarf village.

Yes.

Quote

- or if you have multiple maps: a lizard would start on let's say a swamp like map and a dward in some dwarf mine like map.

No, all players must be on the same map.

Quote

6) Unlike talents, can we make our own civil or combat abilities?

Not afaik.

Quote

7) I read that we can't create our own skills schools? Is that true? If so, could this be opened up like the audio import will hopefully in the future? Or would that require too much changes in the core of the engine? (probably more a question @Larian_KVN)

It would require engine changes, so indeed quite unlikely.

Quote

8) Attributes have a hardcap at 40 (you can invest at most 30 points unless you are a Lone Wolf) if I remember correctly. Can we change that to whatever we like with the editor or by using Norbytes unpacker and then changing .txt files?What about abilities which have a cap at 10/20 points? Can we change the cap?

No idea.

Quote

9) Can we assign a dialog to an item which ask's if the player wants to activate it (yes and no options), and if yes will be teleportet to a completly new level/map or another location on the current map?

Yes.

Quote

10) For puzzles, can we make a dialog which ask into which slot a picture that the char has in the inventory should be put (top left, top center, top right, middle left ...) and then make it so that we see the picture in the game?

Yes (ItemToTransform call, not documented yet).

Quote

11) If I don't want to mod the main story, but instead want to make a standalone mod do I have to reimplement basic systems like in D:OS 1?

Most basic things have been extracted into the independent Shared mod now, so normally not.

Quote

12) Can we change the zoomfactor of the camera or is that hardcoded? Since there is a mod -
http://steamcommunity.com/sharedfiles/filedetails/?id=894764479 - which requires an external executable I guess it's hardcoded? Is there a technical reason (level/lod/etc streaming or too much code changes required) or is it a game play and/or artistical choice?

There is a SetCameraDistanceOverride script call. I don't know whether it's limited from code. The most it is set for the main campaign is 25. The default maximum seems to be 19.

Quote

13) Can we create a skill that creates an item if the monster is killed by the skill?

Yes, although I'm not 100% sure how easy it would be. You might be able to do it directly by catching AttackedByObject (not documented yet).

Quote

14) Can you make it so that character creation is skipped or locked, so the player is forced to play a character that the mod creator made? Basically a Origin character which you can't change.

Yes.

Quote

15) Can we make two stories which are "connected" together? Take Warcraft 3 as an example. In the first act of Warcraft 3 you play human Arthas. After that is finished you play undead Arthas in the second act. Is something like that possible? What I would be most interested in would be taking variables/facts/whatever this should be called from the first act and using them in the second act to mix things up a little.

As long as everything is in the same mod, or the second mod depends on the first mod: sure.

Quote

16) Can we make our own races? Would be especially interesting to me once we can import our own 3d models and animations (or will the 3d import be restricted to static meshes?).

No, everything should be supported. It's a lot of work to create a playable race though, due to the amount of different animations you need to support (from walking to climbing to fighting to casting to various status effects to...).

Quote

17) If we wanted to, could we disable the level system?

You could never give anyone experience, then they won't level up.

[qyite]
18) Can we create skills that have levels? Imagine stun level 1 having 15% change to stun, if you buy the next skillbook (which can only be used if you learned the first one already) your stun is at level 2 and has a 30% chance to stun? So basically like abilities but as a skill.

You would have to create different skills, but other than that: yes. You can add/remove skills from script.

Quote

19) There are skills in the game which require source. Could we create something similar to source and then also skills which rely on that?

Kind of, but not cleanly, I think. You can catch a player using a skill and then do anything you want (such as removing an item from their inventory). However, there is no activate/deactivate skill API. So at most you could add/remove the skill as it becomes (un)available, but that's not very nice.

Quote

20) A question I have seen in a thread when the enhanced edition of the first game came out: can the battle system be changed to be real time? Or realtime with a pause function like in the infinity games?

You can make it real time by preventing all characters from joining (turn-based) combat. HOWEVER, that would also completely disable the AI (it is tied into turn-based combat), so you would have to script all combat behaviours for NPCs yourself. Real-time with pause would not be possible.

Quote

21) Let's say I wanted to approximate the skill system from Vampire the Masquerade: Bloodlines: https://i.imgur.com/0lpXLZd.jpg
Since we can't make our own UI elements from what I have read, could we use the scripting mechanisms of DOS2 to present a dialog box which shows (going by the image I linked) that your char has 3 strength, and then another option to increase it to 4 strength for x amounts of experience?

Not a dialog box, but a regular in-game dialog (e.g. with an item): yes.

Quote

22) Let's say I have prepared three different walled sections on a map. Can I choose one of the three sections at random with the scripting system and then teleport the player to the chosen section?

Yes.

Quote

23) I read the scripting system is prolog like. Does that mean we can use pattern matching, recursion, define our own functions etc?

Yes. See https://docs.larian.com/Osiris.

Quote

24) I read that increasing the party size could maybe lead to problems. Is that only the case for the main story because it assumes a party of 4? Or is this a technical issue which could eventually lead to problems in standalone mods as well?

Mainly the main story. I think the only scripting API that is inherently limited to 4 players is the one for the crime system.

Quote

25) What is the limit for the map size? In Unreal it's 2km from the origin before you start seeing precision issues, while 20km is the hard coded max size you can get to in a single map (without streaming and/or origin rebasing). I don't care about the hardships of even filling up such a level. Im just curious. wink

I'm not sure, but I think you are mainly limited by available memory. The AI grid is limited to 2^31 cells though, but in this context a single item is a single cell (so e.g. a rock occupying 8 cells on the AI grid only counts as a single cell here).[/quote]

Absolutely amazing. Some things however are mentioned in my thread too.

Joined: Sep 2017
G
stranger
OP Offline
stranger
G
Joined: Sep 2017
Originally Posted by Tinkerer

Not a dialog box, but a regular in-game dialog (e.g. with an item): yes.


Hi,

looking at some of the dialogs after unpacking them I wonder how dynamic dialogs can get. Using a database from the Osiris page as an example:

Code
DB_MyPrefix_Fruit("Apple");
DB_MyPrefix_Fruit("Pear");		
DB_MyPrefix_Fruit("Banana");	


Can the dialog system be used to display these fruits as options: https://i.imgur.com/Ow51QaL.jpg and if a few minutes later some event adds a melon to the fruit db

Code
	
DB_MyPrefix_Fruit("Melon");	


and we talk to the same character/item again this change will be reflected in a new talking option: https://i.imgur.com/8CnI4Fq.jpg ?

I'm especially interested if this is possible without defining a node for each option, otherwise this seems possible by predefining a node for each option (requires knowing every possible thing beforehand) and setting and checking flags.

I've seen that there is a file name "DialogVariables.lsx" but that seems static if we have to predefine our stuff there.

Dynamic would be interesting to me because I have a puzzle in mind which would probably require to predefine 50 or more Nodes. :O

Originally Posted by Dark_Ansem

Absolutely amazing. Some things however are mentioned in my thread too.


Which one? I probably missed it.

Joined: Sep 2017
veteran
Offline
veteran
Joined: Sep 2017
Quote


Quote
- or if you have multiple maps: a lizard would start on let's say a swamp like map and a dward in some dwarf mine like map.


No, all players must be on the same map.


Not entirely true. You could have a map with several level templates within it, inside one bigger level and have an event box around the starting triggers.

Then have an "If CharacterEnteredTrigger" and check if they're a dwarf, lizard, etc, then separate that player from the party and teleport them to their respective level template.

Joined: Mar 2016
Location: Belgium
T
addict
Offline
addict
T
Joined: Mar 2016
Location: Belgium
Originally Posted by GreedyQuestioner
I'm especially interested if this is possible without defining a node for each option, otherwise this seems possible by predefining a node for each option (requires knowing every possible thing beforehand) and setting and checking flags.

You will always need as many nodes as the maximum number of options that can be enabled simultaneously, since every option that you can choose by definition corresponds to a node. All dialog nodes are added via the dialog editor. You cannot add and connect additional nodes from script.

However, using dialog variables you can dynamically change the content of each node, and using flags you can dynamically enable/disable nodes. This is what is done for Han on the Lady Vengeance in Act 2 and later. He can fetch up to 104 different ingredients depending on which recipes you know and what level you are, so his dialog (Mods\DivinityOrigins..\Story\Dialogs\LadyVengeance_Hub\RC_LV_Han.lsj) contains 104 question nodes that are dynamically filled in and enabled/disabled by story when his dialog starts (story goal GLO_LVHub_Runner).

That one uses translated string variables, because the ingredient names are localised. You can however also use fixed strings, in which case you can specify any string directly from story without the need to create a translated string for every option. In that case you use DialogSetVariableFixedString() instead of DialogSetVariableTranslatedString().

To add/declare dialog variables, open the dialog editor and go to Tools -> Edit Dialog Variables.

To reference a dialog variable in a dialog text block, use [Name_UUID] (including with the square brackets), replacing Name_UUID with the value that is in this field when you select the dialog variable in the dialog variables list.

To set the value of a dialog variable from story, use the above API. You can have a look at the GLO_LVHub_Runner goal for usage examples.

Joined: Mar 2016
Location: Belgium
T
addict
Offline
addict
T
Joined: Mar 2016
Location: Belgium
Quote

No, all players must be on the same map.


Not entirely true. You could have a map with several level templates within it, inside one bigger level and have an event box around the starting triggers.

By "map" I indeed meant "level". As Windemere suggested above, you can indeed have separate terrain patches within a single level (and these patches furthermore could indeed consist of level template instances).


Moderated by  Larian_KVN 

Link Copied to Clipboard
Powered by UBB.threads™ PHP Forum Software 7.7.5