Jump to content


Photo

Oddly problem with the IC_SNOW_TROLL


  • Please log in to reply
1 reply to this topic

#1 Leonardo Watson

Leonardo Watson
  • Modder
  • 531 posts

Posted 22 August 2007 - 09:34 AM

I have a oddly problem with the IC_SNOW_TROLL that causes syntax errors in the SETUP-UNIQUEARTIFACTS.DEBUG:

In Region of Terror 2.1 there is a a file MALAR10.BAF with this code:

IF
	Delay(20)
	Global("Changeanim","LOCALS",0)
THEN
	RESPONSE #10
		Polymorph(FIRE_RING)
		SetGlobal("Changeanim","LOCALS",1)
END

IF
	Delay(20)
	Global("Changeanim","LOCALS",1)
THEN
	RESPONSE #10
		Polymorph(FIRE_RING)
		SetGlobal("Changeanim","LOCALS",0)
END

Immediately (as a test) I have installed UniqueArtifacts_v1.11 (only BG2Fixpack v4 was installed before). Now in the override folder there is a file MALAR10.BCS with this code instead:

IF
  Delay(20)
  Global("Changeanim","LOCALS",0)
THEN
  RESPONSE #10
	Polymorph(XE0C0 IC_SNOW_TROLL)
	SetGlobal("Changeanim","LOCALS",1)
END

IF
  Delay(20)
  Global("Changeanim","LOCALS",1)
THEN
  RESPONSE #10
	Polymorph(XE0C0 IC_SNOW_TROLL)
	SetGlobal("Changeanim","LOCALS",0)
END

In Near Infinity this code however appears in the upper window where the Script should be instead of the lower window with the decompiled Script source. I tried to correct this file, but I cannot compile this, because the message appears:

XE0C0 IC_SNOW_TROLL not found in animate.IDS

Note: From what I have read, this this should be: 0XE0C0 IC_SNOW_TROLL


The same problem occurs with the Planar Sphere 2.6a
This code from the file psChaos.baf:

IF
	Global("psChaosToggleForSomething","LOCALS",0)
	See(NearestEnemyOf(Myself))
THEN
	RESPONSE #100
		SetGlobal("psChaosToggleForSomething","LOCALS",1)
		SetGlobalTimer("psChaosTimerForSomething","LOCALS",40)
END

IF
	See(NearestEnemyOf(Myself))
	GlobalTimerExpired("psChaosTimerForSomething","LOCALS")
THEN
	RESPONSE #100
		AttackReevaluate(ThirdNearest([PC]),10)
	RESPONSE #100
		AttackReevaluate(SecondNearest([PC]),10)
END

IF
	See(NearestEnemyOf(Myself))
THEN
	RESPONSE #5
		Polymorph(SPIDER_HUGE)
		Wait(1)
		ForceSpell(LastSeenBy(Myself),WIZARD_MAGIC_MISSILE)
	RESPONSE #5
		Polymorph(WOLF_SHADOW)
		Wait(1)
		ForceSpell(LastSeenBy(Myself),WIZARD_SPHERE_OF_CHAOS)
	RESPONSE #5
		Polymorph(LICH)
		ForceSpell(LastSeenBy(Myself),WIZARD_PRISMATIC_SPRAY)
	RESPONSE #5
		Polymorph(MINDFLAYER)
		ForceSpell(Myself,WIZARD_COLOR_SPRAY)
		ForceSpell(LastSeenBy(Myself),WIZARD_IMPRISONMENT)
	RESPONSE #5
		Polymorph(BEHOLDER)
		ForceSpell(LastSeenBy(Myself),BEHOLDER_CAUSE_SERIOUS_WOUNDS)
		ForceSpell(LastSeenBy(Myself),BEHOLDER_FLESH_TO_STONE)
		ForceSpell(LastSeenBy(Myself),BEHOLDER_DEATH_RAY)
	RESPONSE #5
		Polymorph(OTYUGH)
		ReallyForceSpell(LastSeenBy(Myself),CLERIC_POISON)
	RESPONSE #5
		Polymorph(FIRE_RING)
		ApplySpell(Myself,0)
		ApplySpell(Myself,0)
	RESPONSE #5
		Polymorph(GOLEM_IRON)
		ReallyForceSpell(LastSeenBy(Myself),WIZARD_WAIL_OF_THE_BANSHEE)
		ForceSpell(LastSeenBy(Myself),WIZARD_WAIL_OF_THE_BANSHEE)
	RESPONSE #5
		Polymorph(SHAMBLING_MOUND)
		ForceSpell(LastSeenBy(Myself),CLERIC_ENTANGLE)
		ForceSpell(Myself,CLERIC_HEAL)
	RESPONSE #5
		Polymorph(FIRE_RING)
		ForceSpell(LastSeenBy(Myself),0)
	RESPONSE #5
		Polymorph(FIRE_RING)
		ForceSpell(LastSeenBy(Myself),0)
		ReallyForceSpell(LastSeenBy(Myself),WIZARD_FIREBALL)
	RESPONSE #5
		Polymorph(DEATH_KNIGHT)
		ReallyForceSpell(Myself,WIZARD_ABSOLUTE_IMMUNITY)
		ForceSpell(Myself,WIZARD_FIRE_SHIELD_RED)
		ForceSpell(LastSeenBy(Myself),WIZARD_SPHERE_OF_CHAOS)
	RESPONSE #5
		Polymorph(TANARRI)
		ForceSpell(NearestEnemyOf(Myself),WIZARD_SYMBOL_FEAR)
		ForceSpell(NearestEnemyOf(Myself),WIZARD_SYMBOL_STUN)
	RESPONSE #5
		Polymorph(SIRINE)
		ForceSpell(LastSeenBy(Myself),WIZARD_DOMINATION)
		ForceSpell(LastSeenBy(Myself),WIZARD_CONFUSION)
	RESPONSE #5
		Polymorph(FIRE_RING)
		ForceSpell(LastSeenBy(Myself),0)
		ForceSpell(LastSeenBy(Myself),WIZARD_CONE_OF_COLD)
	RESPONSE #5
		Polymorph(FIRE_RING)
		ForceSpell(NearestEnemyOf(Myself),WIZARD_FLAME_ARROW)
		ForceSpell(NearestEnemyOf(Myself),WIZARD_METEOR_SWARM)
END

changes with psChaos.bcs inside the override folder to this code:

IF
  Global("psChaosToggleForSomething","LOCALS",0)
  See(NearestEnemyOf(Myself))
THEN
  RESPONSE #100
	SetGlobal("psChaosToggleForSomething","LOCALS",1)
	SetGlobalTimer("psChaosTimerForSomething","LOCALS",EIGHT_MINUTES)
END

IF
  See(NearestEnemyOf(Myself))
  GlobalTimerExpired("psChaosTimerForSomething","LOCALS")
THEN
  RESPONSE #100
	AttackReevaluate(ThirdNearest([PC]),10)
  RESPONSE #100
	AttackReevaluate(SecondNearest([PC]),10)
END

IF
  See(NearestEnemyOf(Myself))
THEN
  RESPONSE #5
	Polymorph(SPIDER_HUGE)
	Wait(1)
	ForceSpell(LastSeenBy(Myself),WIZARD_MAGIC_MISSILE)
  RESPONSE #5
	Polymorph(WOLF_SHADOW)
	Wait(1)
	ForceSpell(LastSeenBy(Myself),WIZARD_SPHERE_OF_CHAOS)
  RESPONSE #5
	Polymorph(LICH)
	ForceSpell(LastSeenBy(Myself),WIZARD_PRISMATIC_SPRAY)
  RESPONSE #5
	Polymorph(MINDFLAYER)
	ForceSpell(Myself,WIZARD_COLOR_SPRAY)
	ForceSpell(LastSeenBy(Myself),WIZARD_IMPRISONMENT)
  RESPONSE #5
	Polymorph(BEHOLDER)
	ForceSpell(LastSeenBy(Myself),BEHOLDER_CAUSE_SERIOUS_WOUNDS)
	ForceSpell(LastSeenBy(Myself),BEHOLDER_FLESH_TO_STONE)
	ForceSpell(LastSeenBy(Myself),BEHOLDER_DEATH_RAY)
  RESPONSE #5
	Polymorph(OTYUGH)
	ReallyForceSpell(LastSeenBy(Myself),CLERIC_POISON)
  RESPONSE #5
	Polymorph(XE0C0 IC_SNOW_TROLL)
	ApplySpell(Myself,0)
	ApplySpell(Myself,0)
  RESPONSE #5
	Polymorph(GOLEM_IRON)
	ReallyForceSpell(LastSeenBy(Myself),WIZARD_WAIL_OF_THE_BANSHEE)
	ForceSpell(LastSeenBy(Myself),WIZARD_WAIL_OF_THE_BANSHEE)
  RESPONSE #5
	Polymorph(SHAMBLING_MOUND)
	ForceSpell(LastSeenBy(Myself),CLERIC_ENTANGLE)
	ForceSpell(Myself,CLERIC_HEAL)
  RESPONSE #5
	Polymorph(XE0C0 IC_SNOW_TROLL)
	ForceSpell(LastSeenBy(Myself),0)
  RESPONSE #5
	Polymorph(XE0C0 IC_SNOW_TROLL)
	ForceSpell(LastSeenBy(Myself),0)
	ReallyForceSpell(LastSeenBy(Myself),WIZARD_FIREBALL)
  RESPONSE #5
	Polymorph(DEATH_KNIGHT)
	ReallyForceSpell(Myself,WIZARD_ABSOLUTE_IMMUNITY)
	ForceSpell(Myself,WIZARD_FIRE_SHIELD_RED)
	ForceSpell(LastSeenBy(Myself),WIZARD_SPHERE_OF_CHAOS)
  RESPONSE #5
	Polymorph(TANARRI)
	ForceSpell(NearestEnemyOf(Myself),WIZARD_SYMBOL_FEAR)
	ForceSpell(NearestEnemyOf(Myself),WIZARD_SYMBOL_STUN)
  RESPONSE #5
	Polymorph(SIRINE)
	ForceSpell(LastSeenBy(Myself),WIZARD_DOMINATION)
	ForceSpell(LastSeenBy(Myself),WIZARD_CONFUSION)
  RESPONSE #5
	Polymorph(XE0C0 IC_SNOW_TROLL)
	ForceSpell(LastSeenBy(Myself),0)
	ForceSpell(LastSeenBy(Myself),WIZARD_CONE_OF_COLD)
  RESPONSE #5
	Polymorph(XE0C0 IC_SNOW_TROLL)
	ForceSpell(NearestEnemyOf(Myself),WIZARD_FLAME_ARROW)
	ForceSpell(NearestEnemyOf(Myself),WIZARD_METEOR_SWARM)
END

Again, the code is in the Script area and Polymorph(FIRE_RING) had changed into Polymorph(XE0C0 IC_SNOW_TROLL)

I don't know whether this comes from UniqueArtifacts, where XE0C0 IC_SNOW_TROLL comes from and how I can fix this bug. And why is 0XE0C0 IC_SNOW_TROLL not found in animate.IDS? I hope, someone knows an answer.

#2 erebusant

erebusant

    It takes a village...

  • Modder
  • 2109 posts

Posted 22 August 2007 - 12:07 PM

I have a oddly problem with the IC_SNOW_TROLL that causes syntax errors in the SETUP-UNIQUEARTIFACTS.DEBUG:

In Region of Terror 2.1 there is a a file MALAR10.BAF with this code:

IF
	Delay(20)
	Global("Changeanim","LOCALS",0)
THEN
	RESPONSE #10
		Polymorph(FIRE_RING)
		SetGlobal("Changeanim","LOCALS",1)
END

IF
	Delay(20)
	Global("Changeanim","LOCALS",1)
THEN
	RESPONSE #10
		Polymorph(FIRE_RING)
		SetGlobal("Changeanim","LOCALS",0)
END

Immediately (as a test) I have installed UniqueArtifacts_v1.11 (only BG2Fixpack v4 was installed before). Now in the override folder there is a file MALAR10.BCS with this code instead:

IF
  Delay(20)
  Global("Changeanim","LOCALS",0)
THEN
  RESPONSE #10
	Polymorph(XE0C0 IC_SNOW_TROLL)
	SetGlobal("Changeanim","LOCALS",1)
END

IF
  Delay(20)
  Global("Changeanim","LOCALS",1)
THEN
  RESPONSE #10
	Polymorph(XE0C0 IC_SNOW_TROLL)
	SetGlobal("Changeanim","LOCALS",0)
END

In Near Infinity this code however appears in the upper window where the Script should be instead of the lower window with the decompiled Script source. I tried to correct this file, but I cannot compile this, because the message appears:

XE0C0 IC_SNOW_TROLL not found in animate.IDS

Note: From what I have read, this this should be: 0XE0C0 IC_SNOW_TROLL


The same problem occurs with the Planar Sphere 2.6a
This code from the file psChaos.baf:

IF
	Global("psChaosToggleForSomething","LOCALS",0)
	See(NearestEnemyOf(Myself))
THEN
	RESPONSE #100
		SetGlobal("psChaosToggleForSomething","LOCALS",1)
		SetGlobalTimer("psChaosTimerForSomething","LOCALS",40)
END

IF
	See(NearestEnemyOf(Myself))
	GlobalTimerExpired("psChaosTimerForSomething","LOCALS")
THEN
	RESPONSE #100
		AttackReevaluate(ThirdNearest([PC]),10)
	RESPONSE #100
		AttackReevaluate(SecondNearest([PC]),10)
END

IF
	See(NearestEnemyOf(Myself))
THEN
	RESPONSE #5
		Polymorph(SPIDER_HUGE)
		Wait(1)
		ForceSpell(LastSeenBy(Myself),WIZARD_MAGIC_MISSILE)
	RESPONSE #5
		Polymorph(WOLF_SHADOW)
		Wait(1)
		ForceSpell(LastSeenBy(Myself),WIZARD_SPHERE_OF_CHAOS)
	RESPONSE #5
		Polymorph(LICH)
		ForceSpell(LastSeenBy(Myself),WIZARD_PRISMATIC_SPRAY)
	RESPONSE #5
		Polymorph(MINDFLAYER)
		ForceSpell(Myself,WIZARD_COLOR_SPRAY)
		ForceSpell(LastSeenBy(Myself),WIZARD_IMPRISONMENT)
	RESPONSE #5
		Polymorph(BEHOLDER)
		ForceSpell(LastSeenBy(Myself),BEHOLDER_CAUSE_SERIOUS_WOUNDS)
		ForceSpell(LastSeenBy(Myself),BEHOLDER_FLESH_TO_STONE)
		ForceSpell(LastSeenBy(Myself),BEHOLDER_DEATH_RAY)
	RESPONSE #5
		Polymorph(OTYUGH)
		ReallyForceSpell(LastSeenBy(Myself),CLERIC_POISON)
	RESPONSE #5
		Polymorph(FIRE_RING)
		ApplySpell(Myself,0)
		ApplySpell(Myself,0)
	RESPONSE #5
		Polymorph(GOLEM_IRON)
		ReallyForceSpell(LastSeenBy(Myself),WIZARD_WAIL_OF_THE_BANSHEE)
		ForceSpell(LastSeenBy(Myself),WIZARD_WAIL_OF_THE_BANSHEE)
	RESPONSE #5
		Polymorph(SHAMBLING_MOUND)
		ForceSpell(LastSeenBy(Myself),CLERIC_ENTANGLE)
		ForceSpell(Myself,CLERIC_HEAL)
	RESPONSE #5
		Polymorph(FIRE_RING)
		ForceSpell(LastSeenBy(Myself),0)
	RESPONSE #5
		Polymorph(FIRE_RING)
		ForceSpell(LastSeenBy(Myself),0)
		ReallyForceSpell(LastSeenBy(Myself),WIZARD_FIREBALL)
	RESPONSE #5
		Polymorph(DEATH_KNIGHT)
		ReallyForceSpell(Myself,WIZARD_ABSOLUTE_IMMUNITY)
		ForceSpell(Myself,WIZARD_FIRE_SHIELD_RED)
		ForceSpell(LastSeenBy(Myself),WIZARD_SPHERE_OF_CHAOS)
	RESPONSE #5
		Polymorph(TANARRI)
		ForceSpell(NearestEnemyOf(Myself),WIZARD_SYMBOL_FEAR)
		ForceSpell(NearestEnemyOf(Myself),WIZARD_SYMBOL_STUN)
	RESPONSE #5
		Polymorph(SIRINE)
		ForceSpell(LastSeenBy(Myself),WIZARD_DOMINATION)
		ForceSpell(LastSeenBy(Myself),WIZARD_CONFUSION)
	RESPONSE #5
		Polymorph(FIRE_RING)
		ForceSpell(LastSeenBy(Myself),0)
		ForceSpell(LastSeenBy(Myself),WIZARD_CONE_OF_COLD)
	RESPONSE #5
		Polymorph(FIRE_RING)
		ForceSpell(NearestEnemyOf(Myself),WIZARD_FLAME_ARROW)
		ForceSpell(NearestEnemyOf(Myself),WIZARD_METEOR_SWARM)
END

changes with psChaos.bcs inside the override folder to this code:

IF
  Global("psChaosToggleForSomething","LOCALS",0)
  See(NearestEnemyOf(Myself))
THEN
  RESPONSE #100
	SetGlobal("psChaosToggleForSomething","LOCALS",1)
	SetGlobalTimer("psChaosTimerForSomething","LOCALS",EIGHT_MINUTES)
END

IF
  See(NearestEnemyOf(Myself))
  GlobalTimerExpired("psChaosTimerForSomething","LOCALS")
THEN
  RESPONSE #100
	AttackReevaluate(ThirdNearest([PC]),10)
  RESPONSE #100
	AttackReevaluate(SecondNearest([PC]),10)
END

IF
  See(NearestEnemyOf(Myself))
THEN
  RESPONSE #5
	Polymorph(SPIDER_HUGE)
	Wait(1)
	ForceSpell(LastSeenBy(Myself),WIZARD_MAGIC_MISSILE)
  RESPONSE #5
	Polymorph(WOLF_SHADOW)
	Wait(1)
	ForceSpell(LastSeenBy(Myself),WIZARD_SPHERE_OF_CHAOS)
  RESPONSE #5
	Polymorph(LICH)
	ForceSpell(LastSeenBy(Myself),WIZARD_PRISMATIC_SPRAY)
  RESPONSE #5
	Polymorph(MINDFLAYER)
	ForceSpell(Myself,WIZARD_COLOR_SPRAY)
	ForceSpell(LastSeenBy(Myself),WIZARD_IMPRISONMENT)
  RESPONSE #5
	Polymorph(BEHOLDER)
	ForceSpell(LastSeenBy(Myself),BEHOLDER_CAUSE_SERIOUS_WOUNDS)
	ForceSpell(LastSeenBy(Myself),BEHOLDER_FLESH_TO_STONE)
	ForceSpell(LastSeenBy(Myself),BEHOLDER_DEATH_RAY)
  RESPONSE #5
	Polymorph(OTYUGH)
	ReallyForceSpell(LastSeenBy(Myself),CLERIC_POISON)
  RESPONSE #5
	Polymorph(XE0C0 IC_SNOW_TROLL)
	ApplySpell(Myself,0)
	ApplySpell(Myself,0)
  RESPONSE #5
	Polymorph(GOLEM_IRON)
	ReallyForceSpell(LastSeenBy(Myself),WIZARD_WAIL_OF_THE_BANSHEE)
	ForceSpell(LastSeenBy(Myself),WIZARD_WAIL_OF_THE_BANSHEE)
  RESPONSE #5
	Polymorph(SHAMBLING_MOUND)
	ForceSpell(LastSeenBy(Myself),CLERIC_ENTANGLE)
	ForceSpell(Myself,CLERIC_HEAL)
  RESPONSE #5
	Polymorph(XE0C0 IC_SNOW_TROLL)
	ForceSpell(LastSeenBy(Myself),0)
  RESPONSE #5
	Polymorph(XE0C0 IC_SNOW_TROLL)
	ForceSpell(LastSeenBy(Myself),0)
	ReallyForceSpell(LastSeenBy(Myself),WIZARD_FIREBALL)
  RESPONSE #5
	Polymorph(DEATH_KNIGHT)
	ReallyForceSpell(Myself,WIZARD_ABSOLUTE_IMMUNITY)
	ForceSpell(Myself,WIZARD_FIRE_SHIELD_RED)
	ForceSpell(LastSeenBy(Myself),WIZARD_SPHERE_OF_CHAOS)
  RESPONSE #5
	Polymorph(TANARRI)
	ForceSpell(NearestEnemyOf(Myself),WIZARD_SYMBOL_FEAR)
	ForceSpell(NearestEnemyOf(Myself),WIZARD_SYMBOL_STUN)
  RESPONSE #5
	Polymorph(SIRINE)
	ForceSpell(LastSeenBy(Myself),WIZARD_DOMINATION)
	ForceSpell(LastSeenBy(Myself),WIZARD_CONFUSION)
  RESPONSE #5
	Polymorph(XE0C0 IC_SNOW_TROLL)
	ForceSpell(LastSeenBy(Myself),0)
	ForceSpell(LastSeenBy(Myself),WIZARD_CONE_OF_COLD)
  RESPONSE #5
	Polymorph(XE0C0 IC_SNOW_TROLL)
	ForceSpell(NearestEnemyOf(Myself),WIZARD_FLAME_ARROW)
	ForceSpell(NearestEnemyOf(Myself),WIZARD_METEOR_SWARM)
END

Again, the code is in the Script area and Polymorph(FIRE_RING) had changed into Polymorph(XE0C0 IC_SNOW_TROLL)

I don't know whether this comes from UniqueArtifacts, where XE0C0 IC_SNOW_TROLL comes from and how I can fix this bug. And why is 0XE0C0 IC_SNOW_TROLL not found in animate.IDS? I hope, someone knows an answer.



I haven't finished tracking it down yet but you get the same error using the BG1 style summons and the other summons components from D0Tweaks. The decompiled bcs.baf does not recompile due to the error. I haven't looked yet but I think it's an issue with the Animate.ids where something is out of place column-wise or something so the hex code for the IC_SNOW_TROLL animation shows up as well as the name of the animation when WeiDU is doing it's patching. If you delete the hex portion from the IC_SNOW_TROLL in your uncompiled malar10.bcs it will then compile properly.

It takes a village...