IF
  SpellCastOnMe([ANYONE],CLERIC_CURE_LIGHT_WOUNDS)
  !StateCheck(Myself,STATE_INVISIBLE)
THEN
  RESPONSE #100
  DisplayStringWait(Myself,~Stop! Do Not!~)
  SetInterrupt(FALSE)
  ApplyDamage(Myself,22,PIERCING)
  ReallyForceSpell(Myself,WIZARD_INVISIBILITY)
  RunAwayFrom([GOODCUTOFF],120)
  SetInterrupt(TRUE)
END

IF
SpellCastOnMe([ANYONE],CLERIC_CURE_MEDIUM_WOUNDS)
!StateCheck(Myself,STATE_INVISIBLE)
THEN
 RESPONSE #100
DisplayStringWait(Myself,~Stop! Do Not!~)
SetInterrupt(FALSE)
ApplyDamage(Myself,28,PIERCING)
ReallyForceSpell(Myself,WIZARD_INVISIBILITY)
RunAwayFrom([GOODCUTOFF],160)
SetInterrupt(TRUE)
END

IF
 SpellCastOnMe([ANYONE],CLERIC_CURE_SERIOUS_WOUNDS)
  !StateCheck(Myself,STATE_INVISIBLE)
 THEN
  RESPONSE #100
DisplayStringWait(Myself,~Stop! Do Not!~)
SetInterrupt(FALSE)
ApplyDamage(Myself,46,PIERCING)
ReallyForceSpell(Myself,WIZARD_INVISIBILITY)
RunAwayFrom([GOODCUTOFF],200) 
SetInterrupt(TRUE)
END

IF
 SpellCastOnMe([ANYONE],CLERIC_CURE_CRITICAL_WOUNDS)
  !StateCheck(Myself,STATE_INVISIBLE)
THEN
  RESPONSE #100
SetInterrupt(FALSE)
ApplyDamage(Myself,54,PIERCING)
ReallyForceSpell(Myself,WIZARD_INVISIBILITY)
DisplayStringWait(Myself,~Stop! Do Not!~)
RunAwayFrom([GOODCUTOFF],240)
END

IF
  SpellCastOnMe([ANYONE],CLERIC_HEAL)
THEN
  RESPONSE #100
    Kill(Myself)
END

IF
  Level(Myself,12)
  Global("RemoveSpl12","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("RemoveSpl12","LOCALS",1)
    ReallyForceSpellRES("SK#Strip",Myself)  // <Invalid Strref -1>
END

IF
  Level(Myself,13)
  Global("RemoveSpl13","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("RemoveSpl13","LOCALS",1)
    ReallyForceSpellRES("SK#Strip",Myself)  // <Invalid Strref -1>
END

IF
  Level(Myself,14)
  Global("RemoveSpl14","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("RemoveSpl14","LOCALS",1)
    ReallyForceSpellRES("SK#Strip",Myself)  // <Invalid Strref -1>
END

IF
  Level(Myself,15)
  Global("RemoveSpl15","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("RemoveSpl15","LOCALS",1)
    ReallyForceSpellRES("SK#Strip",Myself)  // <Invalid Strref -1>
END

IF
  Level(Myself,16)
  Global("RemoveSpl16","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("RemoveSpl16","LOCALS",1)
    ReallyForceSpellRES("SK#Strip",Myself)  // <Invalid Strref -1>
END

IF
  Level(Myself,17)
  Global("RemoveSpl17","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("RemoveSpl17","LOCALS",1)
    ReallyForceSpellRES("SK#Strip",Myself)  // <Invalid Strref -1>
END

IF
  Level(Myself,18)
  Global("RemoveSpl18","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("RemoveSpl18","LOCALS",1)
    ReallyForceSpellRES("SK#Strip",Myself)  // <Invalid Strref -1>
END

IF
  Level(Myself,19)
  Global("RemoveSpl19","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("RemoveSpl19","LOCALS",1)
    ReallyForceSpellRES("SK#Strip",Myself)  // <Invalid Strref -1>
END

IF
  Level(Myself,20)
  Global("RemoveSpl20","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("RemoveSpl20","LOCALS",1)
    ReallyForceSpellRES("SK#Strip",Myself)  // <Invalid Strref -1>
END

IF
  Level(Myself,21)
  Global("RemoveSpl21","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("RemoveSpl21","LOCALS",1)
    ReallyForceSpellRES("SK#Strip",Myself)  // <Invalid Strref -1>
END

IF
  Level(Myself,22)
  Global("RemoveSpl22","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("RemoveSpl22","LOCALS",1)
    ReallyForceSpellRES("SK#Strip",Myself)  // <Invalid Strref -1>
END

IF
  Level(Myself,23)
  Global("RemoveSpl23","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("RemoveSpl23","LOCALS",1)
    ReallyForceSpellRES("SK#Strip",Myself)  // <Invalid Strref -1>
END

IF
  Level(Myself,24)
  Global("RemoveSpl24","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("RemoveSpl24","LOCALS",1)
    ReallyForceSpellRES("SK#Strip",Myself)  // <Invalid Strref -1>
END

IF
  Level(Myself,25)
  Global("RemoveSpl25","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("RemoveSpl25","LOCALS",1)
    ReallyForceSpellRES("SK#Strip",Myself)  // <Invalid Strref -1>
END

IF
  Level(Myself,26)
  Global("RemoveSpl26","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("RemoveSpl26","LOCALS",1)
    ReallyForceSpellRES("SK#Strip",Myself)  // <Invalid Strref -1>
END

IF
  Level(Myself,27)
  Global("RemoveSpl27","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("RemoveSpl27","LOCALS",1)
    ReallyForceSpellRES("SK#Strip",Myself)  // <Invalid Strref -1>
END

IF
  Level(Myself,28)
  Global("RemoveSpl28","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("RemoveSpl28","LOCALS",1)
    ReallyForceSpellRES("SK#Strip",Myself)  // <Invalid Strref -1>
END

IF
  Level(Myself,29)
  Global("RemoveSpl29","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("RemoveSpl29","LOCALS",1)
    ReallyForceSpellRES("SK#Strip",Myself)  // <Invalid Strref -1>
END

IF
  Level(Myself,30)
  Global("RemoveSpl30","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("RemoveSpl30","LOCALS",1)
    ReallyForceSpellRES("SK#Strip",Myself)  // <Invalid Strref -1>
END

IF
  Level(Myself,31)
  Global("RemoveSpl31","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("RemoveSpl31","LOCALS",1)
    ReallyForceSpellRES("SK#Strip",Myself)  // <Invalid Strref -1>
END

IF
  Level(Myself,32)
  Global("RemoveSpl32","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("RemoveSpl32","LOCALS",1)
    ReallyForceSpellRES("SK#Strip",Myself)  // <Invalid Strref -1>
END

IF
  Level(Myself,33)
  Global("RemoveSpl33","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("RemoveSpl33","LOCALS",1)
    ReallyForceSpellRES("SK#Strip",Myself)  // <Invalid Strref -1>
END

IF
  Level(Myself,34)
  Global("RemoveSpl34","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("RemoveSpl34","LOCALS",1)
    ReallyForceSpellRES("SK#Strip",Myself)  // <Invalid Strref -1>
END

IF
  Level(Myself,16)
  HasItem("GHBOOK",Myself)  // ~Book of the Amaunatori~
  Global("GainedNewBook","LOCALS",0)
  Global("ReadToPC","GLOBAL",2)
THEN
  RESPONSE #100
    SetGlobal("GainedNewBook","LOCALS",1)
    TakeItemReplace("G1BOOK","GHBOOK",Myself)
END

IF
  Level(Myself,18)
  HasItem("G1BOOK",Myself)  // ~Book of the Amaunatori~
  Global("GainedNewBook2","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("GainedNewBook2","LOCALS",1)
    TakeItemReplace("G2BOOK","G1BOOK",Myself)
END

IF
  Level(Myself,20)
  HasItem("G2BOOK",Myself)  // ~Book of the Amaunatori~
  Global("GainedNewBook3","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("GainedNewBook3","LOCALS",1)
    TakeItemReplace("G3BOOK","G2BOOK",Myself)
END

IF
  Level(Myself,22)
  HasItem("G3BOOK",Myself)  // ~Book of the Amaunatori~
  Global("GainedNewBook4","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("GainedNewBook4","LOCALS",1)
    TakeItemReplace("G4BOOK","G3BOOK",Myself)
END

IF
  Level(Myself,24)
  HasItem("G4BOOK",Myself)  // ~Book of the Amaunatori~
  Global("GainedNewBook5","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("GainedNewBook5","LOCALS",1)
    TakeItemReplace("G5BOOK","G4BOOK",Myself)
END

IF
  Level(Myself,26)
  HasItem("G5BOOK",Myself)  // ~Book of the Amaunatori~
  Global("GainedNewBook6","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("GainedNewBook6","LOCALS",1)
    TakeItemReplace("G6BOOK","G5BOOK",Myself)
END

IF
  Level(Myself,28)
  HasItem("G6BOOK",Myself)  // ~Book of the Amaunatori~
  Global("GainedNewBook7","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("GainedNewBook7","LOCALS",1)
    TakeItemReplace("G7BOOK","G6BOOK",Myself)
END

IF
  Level(Myself,17)
  Global("Gained17Abil","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("Gained17Abil","LOCALS",1)
    AddSpecialAbility("SK#FForm")  // ~Fire Wraith~
    AddSpecialAbility("SK#Inco")
END

IF
  OR(3)
    Die()
    CheckStatLT(Myself,1,INT)
    CheckStatLT(Myself,1,STR)
THEN
  RESPONSE #100
    LeaveParty()
    DestroySelf()
END
