Jump to content

Hell alignment change


Recommended Posts

Originally, taking the evil path in any hell trial would shift the player's alignment to NE regardless of previous alignment. BD fixes this with three changes: the spells that grant the evil bonuses no longer include alignment shift effects, teardoor.bcs script is altered to set a variable if the evil path was taken and the player is not already evil, and ar2900.bcs acts on this variable to apply the alignment shift. I've gone one step further--the alignment shift to evil will preserve the lawful/chaotic axis of alignment, i.e. CN/CG characters will change to CE. Teardoor gets an EXTEND_TOP:

 

IF
Clicked([ANYONE])
InPartySlot(LastTrigger,0)
Range(LastTrigger,16)
PartyHasItem("miscb5") // Tears of Bhaal
Global("Player1Fear","GLOBAL",2)
Global("BhaalDoor","GLOBAL",1)
!Alignment(Player1,MASK_EVIL)
THEN
RESPONSE #100
 SetGlobal("DisplayAlignmentChange","AR2900",1)
 Continue()
END

IF
Clicked([ANYONE])
InPartySlot(LastTrigger,0)
Range(LastTrigger,16)
PartyHasItem("miscb6") // Tears of Bhaal
Global("Player1Selfish","GLOBAL",2)
Global("BhaalDoor","GLOBAL",1)
!Alignment(Player1,MASK_EVIL)
THEN
RESPONSE #100
 SetGlobal("DisplayAlignmentChange","AR2900",1)
 Continue()
END

IF
Clicked([ANYONE])
InPartySlot(LastTrigger,0)
Range(LastTrigger,16)
PartyHasItem("miscb7") // Tears of Bhaal
Global("Player1Greed","GLOBAL",2)
Global("BhaalDoor","GLOBAL",1)
!Alignment(Player1,MASK_EVIL)
THEN
RESPONSE #100
 SetGlobal("DisplayAlignmentChange","AR2900",1)
 Continue()
END

IF
Clicked([ANYONE])
InPartySlot(LastTrigger,0)
Range(LastTrigger,16)
PartyHasItem("miscb8") // Tears of Bhaal
Global("Player1Pride","GLOBAL",2)
Global("BhaalDoor","GLOBAL",1)
!Alignment(Player1,MASK_EVIL)
THEN
RESPONSE #100
 SetGlobal("DisplayAlignmentChange","AR2900",1)
 Continue()
END

IF
Clicked([ANYONE])
InPartySlot(LastTrigger,0)
Range(LastTrigger,16)
PartyHasItem("miscb9") // Tears of Bhaal
Global("Player1Wrath","GLOBAL",2)
Global("BhaalDoor","GLOBAL",1)
!Alignment(Player1,MASK_EVIL)
THEN
RESPONSE #100
 SetGlobal("DisplayAlignmentChange","AR2900",1)
 Continue()
END

 

And ar2900 gets an EXTEND_BOTTOM:

 

IF
Global("DisplayAlignmentChange","AR2900",1)
Alignment(Player1,MASK_CHAOTIC)
THEN
RESPONSE #100
 SetGlobal("DisplayAlignmentChange","AR2900",0)
 ChangeAlignment(Player1,CHAOTIC_EVIL)
 Wait(1)
 DisplayStringHead(Player1,14055) // Alignment Change
 Wait(1)
 DisplayStringHead(Player1,1110) // Chaotic Evil
END

IF
Global("DisplayAlignmentChange","AR2900",1)
Alignment(Player1,MASK_LAWFUL)
THEN
RESPONSE #100
 SetGlobal("DisplayAlignmentChange","AR2900",0)
 ChangeAlignment(Player1,LAWFUL_EVIL)
 Wait(1)
 DisplayStringHead(Player1,14055) // Alignment Change
 Wait(1)
 DisplayStringHead(Player1,1103) // Lawful Evil
END

IF
Global("DisplayAlignmentChange","AR2900",1)
THEN
RESPONSE #100
 SetGlobal("DisplayAlignmentChange","AR2900",0)
 ChangeAlignment(Player1,NEUTRAL_EVIL)
 Wait(1)
 DisplayStringHead(Player1,14055) // Alignment Change
 Wait(1)
 DisplayStringHead(Player1,1107) // Neutral Evil
END

Link to comment

Archived

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

×
×
  • Create New...