Jump to content

Does HaveSpellParty store it's triggered object somewhere


i30817

Recommended Posts

Posted

doesn't appear so (which trigger object would it be?) and the gemrb implementation returns just the boolean.

Posted

Well, to find out if the party has the spell memorized, it needs to find out which element has it. I was hopping for that.

 

The alternatives... don't look pretty (and will probably not work):

 

I was hoping for this:

 

IF
!SpellCast(Player1, CLERIC_BLESS)
!SpellCast(Player2, CLERIC_BLESS)
!SpellCast(Player3, CLERIC_BLESS)
!SpellCast(Player4, CLERIC_BLESS)
!SpellCast(Player5, CLERIC_BLESS)
!SpellCast(Player6, CLERIC_BLESS)
OR(6)
 NotStateCheck(Player1, STATE_BLESS)
 NotStateCheck(Player2, STATE_BLESS)
 NotStateCheck(Player3, STATE_BLESS)
 NotStateCheck(Player4, STATE_BLESS)
 NotStateCheck(Player5, STATE_BLESS)
 NotStateCheck(Player6, STATE_BLESS)
Range(Trigger /*from NotStateCheck*/, 30)
HaveSpellParty(CLERIC_BLESS)
Range(HaveSpellPartyTrigger,0)//me!
THEN
RESPONSE #100
Spell(Trigger, CLERIC_BLESS)
END

 

 

Neither HaveSpellParty or HaveSpell are in the svtriobj list

 

Although i suppose i could mess with timers to prevent the others from casting, i'm using improved alacrity to cast spells if not in combat and normal if in combat, so timers would foul up one of those, most likely. The alternative i was hoping for is a old distributed systems trick: every elector elects the same guy by a deterministic process.

 

What is LastTrigger (vs Trigger from iesdp/files/ids/bg2/svtriobj.htm)?

Posted

BTW, do mass buff spells have a range? If i cast one on myself (center) what's the range of the area of effect?

 

30 like sight?

this is part of the secondary projectile(s). If the specific ones are not hardcoded, you could change the range.

Posted

I'd be surprised if those SpellCast() worked for you. I can't imagine them ever doing anything worthwhile, except for the frame or two that one of the party members actually fired the spell. A party full of clerics, they would probably all spam Bless near-simultaneous until every one had STATE_BLESS.

 

LastTrigger is an object set by certain activity. It's set all over the place (one object only ever has one associated LastTrigger). You're not going to fake it into storing an object of your choice (except by getting that object to do something that sets it).

 

You can't nest ORs.

Posted
Replying to Does HaveSpellParty store it's triggered object somewhere

No.

 

BTW, do mass buff spells have a range? If i cast one on myself (center) what's the range of the area of effect?

Would be determined by the projectile in this case.

 

I suppose a OR inside a OR is a no-no right?

Correct.

 

Moving to archive.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...