Search the Community
Showing results for tags 'script'.
-
Per the IESDP https://gibberlings3.github.io/iesdp/scripting/actions/iwd2actions.htm I suspect this action actually is specific to the creature using it; it is primarily used in cutscenes and seems to be actor-specific. Additionally, the player character can make use of it via an AI script. When used on the player character, it functions similarly to EE opcode 262 (Visual Range) but is not capped. IWD2 scripts use values of 0 (blind), 25 and 99/100. The value 25 corresponds approximately to the limit of opcode 262. Greater values work but are subject to LOS and can lead to visual fog-of-war glitches if not used in open areas (nothing blocking LOS). If the player character uses a value of 0 or 1, no other NPCs will be rendered as the fog of war will cover everything. (They can still see you, of course.) Just mentioning this because the way the description is worded I thought I wouldn't be able to use it. Naturally, I tried it anyway. Edit: just to clarify it does affect everyone, but it also affects the party (if they use it anyway) by extending the fog of war out so you can see further. Of course, the enemies benefit likewise.
-
Greetings and congratulations to the team for the 0.8.5 release. There is a bug that i see for some time now but as always i forget to report a bug until i see a release announcement In the "Menkar Pebblecrusher" fight there is a thief NPC named Brennan Risling (sevpat05) who, if hurt sufficiently, leaves the area. So, in order for you to kill him, you have to hit him hard and kill him quickly before his script triggers. sevpat05.bcs contains the following code: IF HPPercentLT(Myself,50) Global("Hurt","LOCALS",0) See([PC]) THEN RESPONSE #100 Wait(2) StartDialogueNoSet([PC]) END sevpat05.dlg contains the following: Trigger: HPPercentLT(Myself,50) Global("Hurt","LOCALS",0) Action: SetGlobal("Hurt","LOCALS",1) EscapeArea() So, if he reaches less than 50% HP, he leaves. In the original engine, this works perfectly (though it seems to me that 50% is quite large and the party should never be able to kill him before the script triggers but maybe there is a delay). In GemRB, there is a weird behavior. The script triggers perfectly if you can't kill him quickly enough but it also triggers even when he is dead. 1) Steps to reproduce: * Create a character (preferably a hard-hitting character like a fighter, paladin, archer ranger, etc) * Escape Irenicus's Dungeon and in Waukeen's Promenade go to the upper floor of "Den of the Seven Vales" (AR0712 if you want to jump there) * Trigger the fight * Kill everyone else with ctrl+y and fight Brennan Observed result: Brennan dies and then his script triggers and he "escapearea"s so his loot is gone. Even killing him in one blow with the killsw01 or with ctrl+shift+y results in the script triggering. Can anyone else reproduce this or is it a bug in my installation ? 2) If there is a bug in my installation, of course disregard my post. If not, can this be fixed ? I found the HPPercentLT function in core/GameScript/Triggers.cpp. As always i blindly tried to find how to make it ignore dead people and found some code in another function. If i modify HPPercentLT as shown above, then it works and doesn't trigger for dead Brennan but something else weird happens. If i don't kill him fast enough, then the script triggers, he says the dialog but does not escape and you continue fighting him until you kill him. So this isn't the correct solution. Thank you for your time.