"Monstrous Humanoid" monsters can take "Humanoid" class but shouldn't

Description

gamemode 3.5e
pcc loaded "Dungeons & Dragons (v.3.5) System Reference Document" only
creating a new character with all 10, race "Centaur".
it's a "Monstrous Humanoid", and in "Class" tab, under "Monster" type it can advance as "Monstrous Humanoid" class (correctly) and three "Humanoid" classes (it should'nt).

Screenshot of class info panel attached (apparently, the PRERACETYPE requisite isn't correctly checked against RACETYPE or TYPE of the race)

Centaur pcg attached (also a sea hag pcg attached just to confirm that it's not a centaur case, but also other Monstrous Humanoid)

Environment

windows seven, java SE runtime environment 1.7.0_51-b13
PCGen v6.07.00-dev autobuild #62 built on 2016-01-18 22:55, +1100

Activity

Show:
Andrew Maitland
February 19, 2016, 8:18 PM

both sets should be using preracetype since that uses the unchanging
TYPE on the actual race. Reasoning: It allows the creature to level in
its main race even if it changes racetype in the code.

PRERACE:1,RACETYPE=Humanoid would fail if the creature had the racetype
change from Humanoid.

although to be honest if you become undead you should only have undead
or class levels. I encountered the issue before.

Stefan Radermacher
February 19, 2016, 8:21 PM

OK that makes sense, I guess. However I think the races in Pathfinder do not actually have a TYPE at all anymore.

Stefan Radermacher
February 19, 2016, 10:43 PM

Back to CODE bug.

Stefan Radermacher
February 19, 2016, 10:57 PM

Turns out PRERACETYPE builds a concatenated. pipe-separated string of all the creatures types and then checks if the tested race type occurs as a substring in this. And, of course, "Humanoid" is a substring of "Monstrous Humanoid|TypeX|TypeY|..." I've now changed this to use a list object to collect the types.

Stefan Radermacher
February 19, 2016, 10:59 PM

PR #983

Fixed

Assignee

Stefan Radermacher

Reporter

Riccardo Bernori

Theme

Prerequisite System

Epic/Theme

None

Pending User Input

No

Components

Fix versions

Affects versions

Priority

Minor
Configure