The Black Wyrm Lair Forums
The Black Wyrm's Lair Terms of Use Help Search Members Calendar

Welcome Guest ( Log In | Register )

> Protagonist Spell Only
Rabain
post Mar 8 2007, 04:56 PM
Post #1


GOD


Retired team member
Posts: 1728
Joined: 14-July 04
From: Ireland




I want to create a spell that only the protagonist can cast. If anyone else tries to cast it they will get a message.

So far I have tried casting a spell that sets a global. In a script if have the following:

CODE
IF
    Global("PConly","GLOBAL",1)
    Class(Player1,MAGE_ALL)
    IsActive(Player1)
THEN
    RESPONSE #100
        ActionOverride(Player1,ForceSpellRES("MyPConlyspell",Myself))         ActionOverride(Player1,DisplayStringHead(Myself,8538))
        SetGlobal("PConly","GLOBAL",2)
END


Ignore the DisplayStringHead..thats just for testing.

What is happening is that even if someone else in the party casts the first spell my Player1 starts casting "MyPConlySpell"

I can't seem to find a valid script command that specifies PC only.

I will also need a command that will work if someone not the PC casts the spell. I can use this in a second script block.
Go to the top of the page
 
Quote Post
 
Start new topic
Replies
Rabain
post Mar 11 2007, 07:31 PM
Post #2


GOD


Retired team member
Posts: 1728
Joined: 14-July 04
From: Ireland




This still isn't working.

Okay this is where i am: I've edited SPWI123 and removed the effects so that it doesn't call anything, no Effect opcodes/no global but I haven't changed anything else. This is in spell.ids already...no changes needed there.

When my mage casts the spell nothing happens (global doesn't change from 0)even though this is the block in baldur.bcs:

CODE
IF
    Global("WTPFAMA1","GLOBAL",0)
    Class(Player1,LONG_BOW)
    SpellCast(Player1,WIZARD_FIND_FAMILAR)
THEN
    RESPONSE #100
        SetGlobal("WTPFAMA1","GLOBAL",1)
END

IF
    Global("WTPFAMA1","GLOBAL",1)
THEN
    RESPONSE #100
        SetGlobal("WTPFAMA1","GLOBAL",2)
        ActionOverride(Player1,ApplySpellRES("WTPFAMA1",Myself)) END


If I edit SPWI123 and add the modify global effect then Player1 can cast the spell and gets WTPFAMA1 cast on them. If any other party member casts SPWI123 then the spell casts but they don't get WTPFAMA1 cast on them or player1 (though global is set to 2).

This still doesn't make sense to me.

I did another test just now and removed block 1 completely from baldur.bcs and it behaves the same, spell cast on player1, no spell if any other party member casts SPWI123 (though global is set to 2). It does not work at all if I remove the global effect from the spell SPWI123.

Go to the top of the page
 
Quote Post

Posts in this topic


Reply to this topicStart new topic
2 User(s) are reading this topic (2 Guests and 0 Anonymous Users)
0 Members:



- Lo-Fi Version Time is now: 2nd November 2025 - 07:02 PM