Invalid nested prereq on PRECLASS is not rejected at load

Description

SPELLKNOWN:CLASS|Oracle=1|Veil of Heaven|PRECLASS:1,Oracle=2[!PRESPELL:1,Veil of Heaven] SPELLKNOWN:CLASS|Oracle=2|Confess|PRECLASS:1,Oracle=4[!PRESPELL:1,Confess] SPELLKNOWN:CLASS|Oracle=3|Cast Out|PRECLASS:1,Oracle=6[!PRESPELL:1,Cast Out] SPELLKNOWN:CLASS|Oracle=4|Denounce|PRECLASS:1,Oracle=8[!PRESPELL:1,Denounce] SPELLKNOWN:CLASS|Oracle=5|Dispel Evil|PRECLASS:1,Oracle=10[!PRESPELL:1,Dispel Evil] SPELLKNOWN:CLASS|Oracle=6|Banishment|PRECLASS:1,Oracle=12[!PRESPELL:1,Banishment] SPELLKNOWN:CLASS|Oracle=7|Holy Word|PRECLASS:1,Oracle=14[!PRESPELL:1,Holy Word] SPELLKNOWN:CLASS|Oracle=8|Mind Blank|PRECLASS:1,Oracle=16[!PRESPELL:1,Mind Blank] SPELLKNOWN:CLASS|Oracle=9|Freedom|PRECLASS:1,Oracle=18[!PRESPELL:1,Freedom]

Became

SPELLKNOWN:CLASS|Oracle=1|Veil of Heaven|PRECLASS:1,Oracle=2[!PRESPELL:1=1,Veil of Heaven]=1 SPELLKNOWN:CLASS|Oracle=2|Confess|PRECLASS:1,Oracle=4[!PRESPELL:1=1,Confess]=1 SPELLKNOWN:CLASS|Oracle=3|Cast Out|PRECLASS:1,Oracle=6[!PRESPELL:1=1,Cast Out]=1 SPELLKNOWN:CLASS|Oracle=4|Denounce|PRECLASS:1,Oracle=8[!PRESPELL:1=1,Denounce]=1 SPELLKNOWN:CLASS|Oracle=5|Dispel Evil|PRECLASS:1,Oracle=10[!PRESPELL:1=1,Dispel Evil]=1 SPELLKNOWN:CLASS|Oracle=6|Banishment|PRECLASS:1,Oracle=12[!PRESPELL:1=1,Banishment]=1 SPELLKNOWN:CLASS|Oracle=7|Holy Word|PRECLASS:1,Oracle=14[!PRESPELL:1=1,Holy Word]=1 SPELLKNOWN:CLASS|Oracle=8|Mind Blank|PRECLASS:1,Oracle=16[!PRESPELL:1=1,Mind Blank]=1 SPELLKNOWN:CLASS|Oracle=9|Freedom|PRECLASS:1,Oracle=18[!PRESPELL:1=1,Freedom]=1

Environment

None

Activity

Show:
James Dempsey
November 17, 2013, 7:27 AM

The syntax PRECLASS:1,Oracle=2[!PRESPELL:1,Veil of Heaven] is invalid and not supported, hence why the conversion was problematic. I will add validation in to catch these cases.

James Dempsey
November 17, 2013, 4:20 PM

All prereqs now have some new validation

  • The comma separator is checked to ensure it is used correctly - it cannot be first or last and double commas are not allowed.

  • The pipe | character is not allowed in a prereq

  • Unless the PREreq allows negation, the square brackets characters [] are also not allowed

Fixed

Assignee

James Dempsey

Reporter

Andrew Maitland

Labels

None

Theme

None

Epic/Theme

None

Pending User Input

None

Components

Fix versions

Affects versions

Priority

Minor
Configure