Jump to content


Photo

Need help with some spells and scripts

Making a vampire Thief class Weidu NearInfinity

  • Please log in to reply
2 replies to this topic

#1 Gel87

Gel87
  • Member
  • 195 posts

Posted 30 December 2023 - 12:30 AM

Yo

 

Baldur's gate EE, BG2EE, SOD:
 

Im stuck at work for almost 2 more weeks and are planning to do a vampire thief class kit "Shadow Lurker" and i already know there are some aspects there which is gonna be a struggle for me due to my lack of knowledge.

So instead of listing my entire plan of the kit i can rather list the issues i see myself having with it:

 

Issue 1:

The vampire gonna wear "Ring of Daywalker" which are gonna nerf him, but only when in sunshine. He may choose to take it off as well, but will then disintigrate and burn if in sunshine.

The issues i met last time was weather conditions.

Because dusk to dawn is rather easy, but there is also rainy forest, inside houses, dungeons etc. And i would really like to have the effect happening in umar hills with that light there.

At higher levels his "Blood Drain" albility will kill and convert enemies to vampires. I want those vampire's to die in sunshine as well.

Blood drain idea is to add blood effects on enemy and myself, force enemy to sleep for some seconds, and at higher levels some enemies will die while lying down if fail to save throw and it will summon a vampire at myself. Would be cool if i was able to make my vampire bend over him in the process as well, but dno how.

 

The plan is to summon an invisible summon which use last summoner of myself function to cast the disintigrate spell when unprotected in sunshine, which kills himself after action done. Ring of daywalker will ofc have immunity effect to this spell.

As well as when you become Vampire Orginator you will be immune to sunshine. But ur turned vampires will not ofc.

 

Issue 2:

Thief levels pretty fast and i always do solo playtrue BGEE-SOD-BG2EE. It stops at level 40, but ideally i would want level 50. Which table's would need to be changed to be able to reach lvl 50?

I also may encounter issue where thiefing skills max out, and im stuck on level up due to cannot put the thieving albilities anywhere.

 

Issue 3:

It will also have a HLA spell called Acid Rain

Is it possible to change colour of Fire Rain? Or anyone know what the effect where u get green gue all over ur character when opening certain trapped chests? I searched without finding that animation before...

If all else fail i already have a single target acid spell comming from the sky dealing both acid and crushing, and can just change this into an aoe spell instead.

 

Issue 4:

When finally reaching the HLA albility Vampire Orginator my plan was to make it act simular to the WISH spell. 

It will summon a geni which prompts you with an dialog to summon forth the unnsuspected First Vampire. You character will then quickly blood drain him and "gain his powers" an become a Vampire Orginator.

However i have never made a dialog before, any pointers or links on how to do this?

 

Something like this:
Summon Geni(GelVa07.cre) on myself.

use last summoner of myself function to initate dialog with me.

Once dialog ends cast spell with something like ForceSpellRes to summon the first vampire.

Force my character somehow to use a Custom Blood Drain on first Vampire which basicly consists of certain death for him and cast needed albilities on myselfs.

The spells themselves are not an issue for me, but im very weak in scripts.

- I dont know how to add a dialog into the game other than whatever item/spell texts i add via kit scripts.

- I dont know how to force my character to do such functions, maby as simple as ForceSpellRes

- I dont know how to script this at all xD

It also needs to be gender based, if male it will be male vampire, if female it will be female vampire.

 

Anyone have some pointers?

 

Issue 5:

It will have a spell called Bat Swarm, basicly it will summon several bats for each enemy, dealing damage and several effects will happen. 

How do i control theese bats? (it's not a must, they may just appear over enemy and do random behaviour, but would love for them to come from me as as a swarm, 3 for each enemy and move to each enemy dealing 3 x piercing damage, move back to me, then back to enemey dealing damage second time, then back to me again)

Hopefully i will find some cool red effects simulating them bringing me blood from the enemies.

I made this spells before with random bats just appearing above enemies, but i think i overdid it, cause bats was never visible, the spell was so offensive that my pc crashed every time as well xD

 

Issue 6:

When i was in the progress to make a kit like this before i had a issue where vampire would not be visible in bg1EE. I know there is vampire's in SOD and i thought all resources would be at both games when using EE.

Maby i used wrong creature type?

 

Issue 7:

I want him/her to be unable to use armor. Until he gets use all items. Maby even not then. But is there any simple way to do this? Do i have to go true all armors and change them? Or can i do it more simple?

 

It's been a while since i touched modding and baldur's gate, so I dont remember all i knew before, but i guess i quickly get back into it :P 

 

Any help is appritiated :D I know chatgpt can help me a little with scripts, but i think you guys will be able to help me way more^/better^



#2 Gel87

Gel87
  • Member
  • 195 posts

Posted 30 December 2023 - 02:09 AM

I started to ask chatgpt about the HLA albility to become Vampire Orginator.

Does this looks ok?

// GelVa00.cre Creature Script
 
IF
  Race(Player1) == VAMPIRE
  Class(Player1) == THIEF
  Kit(Player1) == 'GeKitVa'
  Global("GelVa00_SpellActivated","GLOBAL",0)
THEN
  RESPONSE #100
    SetGlobal("GelVa00_SpellActivated","GLOBAL",1)
    ActionOverride(Player1,StartDialog("GelVa00_Dialog"))
 
// GelVa00_Dialog Dialog Script
 
IF
  True()
THEN
  BEGIN
    SetDialog("LastSummonerOfMyself")
    SetText("Child of Baal, you would be the perfect candidate to replace The First Vampire. Would you like to summon him?")
    AddResponse("Yes, bring him here.", 1)
 
// GelVa00.cre Creature Script (fortsettelse)
 
IF
  Global("GelVa00_SpellActivated","GLOBAL",1)
  See([ENEMY])
THEN
  RESPONSE #100
    ActionOverride(Player1,ForceSpellRes("GelVa01.spl",Player1))
    SetGlobal("GelVa01_SpellActivated","GLOBAL",1)
 
// GelVa01.cre Creature Script
 
IF
  Global("GelVa01_SpellActivated","GLOBAL",1)
THEN
  RESPONSE #100
    ActionOverride(Player1,StartDialog("GelVa01_Dialog"))
 
// GelVa01_Dialog Dialog Script
 
IF
  True()
THEN
  BEGIN
    SetText("What's going on? Who are you to awaken me from my long sleep?")
    AddResponse("Your powers will be mine, time to die!", 1)
 
// GelVa01.cre Creature Script (Continue)
 
IF
  See([ENEMY])
  Global("GelVa01_Dialog_1","GLOBAL",1)
THEN
  RESPONSE #100
    ActionOverride(Player1,ForceSpellRes("GelVa02.spl",Player1))
 

 

I also asked chat GPT to make my character bend over enemy (which is forced to sleep via spell, and it came back with the option to make my character kneel, which sounds good)
 

// GelVa02.spl
 
IF
  True()
THEN
  RESPONSE #100
    // Add effects, Damage and other related to Blood Drain here
 
    // Bend over enemy (tempoary animation: Kneel)
    ActionOverride(Player1, PlayAnimation("Kneel"))
    
    // Let the vampire wait for 2 seconds (2000 milliseconds)
    ActionWait(2000)
 
    // Continue with remaining spell-effects
    // ...
 
    // Set enemy in sleeping position
    ActionOverride([ENEMY], Sleep())
 

 

My spell will force the creature to sleep anyway, effects and all will be in the spell itself, is it possible to force kneel function via spell as well? Cause would be simplier.

This spell is ofc a custom blood drain just for this scenario.


Edited by Gel87, 30 December 2023 - 02:19 AM.


#3 Gel87

Gel87
  • Member
  • 195 posts

Posted 30 December 2023 - 03:05 AM

So, to make this better?

 

GelVa00.Spl:

Summon Geni (GelVa00.cre)

 

GelVa01.spl:
Kneel caster
Custom bloodlust which force target to sleep for 10 seconds.
Deal 3 piercing damage for blood and sound effect on enemy.
Kills target after 1,5 second delay, so that he dies while laying down.

Cast some kind of red animation on myself to simulate drinking blood

 

GelVa00.cre:

Geni with script.

 

GelVa01.cre:
The First Vampire with script.
 

// GelVa00.cre Geni creature script:
 
IF
  LastSummonerOfMyself
  Race(Player1) == VAMPIRE
  Class(Player1) == THIEF
  Kit(Player1) == 'GeKitVa'
  Global("GelVa00_SpellActivated","GLOBAL",0)
THEN
  RESPONSE #100
    ActionOverride(Player1, PauseGame())
    SetGlobal("GelVa00_SpellActivated","GLOBAL",1)
    ActionOverride(Player1, StartDialog("GelVa00_Dialog"))
 
// GelVa00_Dialog Dialog Script:
 
IF
  True()
THEN
  BEGIN
    SetDialog("LastSummonerOfMyself")
    SetText("Child of Baal, you would be the perfect candidate to replace The First Vampire. Would you like to summon him?")
    AddResponse("Yes, bring him here.", 1)
 
// GelVa00.cre Creature Script (Continue):
 
IF
  Global("GelVa00_SpellActivated","GLOBAL",1)
  See([LastSummonerOfMyself])
THEN
  RESPONSE #100
    ActionOverride(Player1, ForceSpellRes("GelVa01.spl", Player1))
    SetGlobal("GelVa01_SpellActivated","GLOBAL",1)
 
// GelVa01.cre Creature Script:
 
IF
  Global("GelVa01_SpellActivated","GLOBAL",1)
THEN
  RESPONSE #100
    ActionOverride(Player1, StartDialog("GelVa01_Dialog"))
 
// GelVa01_Dialog Dialog Script:
 
IF
  True()
THEN
  BEGIN
    SetText("What's going on? Who are you to awaken me from my long sleep?")
    AddResponse("Your powers will be mine, time to die!", 1)
 
// GelVa01.cre Creature Script (Continue):
 
IF
  See([LastSummonerOfMyself])
  Global("GelVa01_Dialog_1","GLOBAL",1)
THEN
  RESPONSE #100
    ActionOverride(Player1, ForceSpellRes("GelVa02.spl", Myself))
    ActionOverride(Player1, UnpauseGame())
 
 
 
Is this a good solution?
Creature will die and i guess script will end to make a clean finnish? Or should i let script kill him instead after the end? With destroy(self) action? To make sure scripts finnish?
Something like:
IF
sleep for 2 seconds (myself) 
Then
Destroy(myself)
 
Would ofc ask chatgpt again for correct code spelling lol xD
 






Also tagged with one or more of these keywords: Making a vampire, Thief class, Weidu, NearInfinity