Adding Room Augmentations, Restricted by Room Type
I'm trying to figure out what properties to query on parent objects in order to have a pre-reqs script check to make sure that a Room Augmentation is only placed on the correct Rooms.
In the listing for 'Burial Ground' (Ultimate Campaign, p. 95), it states in part " . . . For an additional 200 gp, this area can be consecrated as holy or unholy ground . . . If you upgrade a Burial Ground, the area retains the consecration effect."
I've added 'Consecrated as Holy Ground' via the editor as a Room Augmentation, with an associated cost in Magic. Once I remembered to Character->Configure Hero and check the box for the Source I added it under (I always forget this one at first), its showing up now as available for purchase. However, I'd like to restrict it to only being available on the Burial Ground and the Crypt.
After going through most of the HL Editor tutorials (I haven't done the one yet to create the Alchemist Class), I'm still a bit confused on what objects & properties/methods to call from the pre-reqs script to check for the Unique IDs (rmBurialG & rmCrypt) on the parent objects for validation.
Advance appreciation for any advice offered.
[EDIT]
Since initially posting this yesterday, I've tried finding fields unique to each of the rooms, and I settled on the Upgrades To ("unUpgradeT") and Upgrades From ("unUpgradeF") as being something that I could query to uniquely identify the Burial Ground and Crypt. Thus, I attempted the following code block, both with single '=' (VB style) and double '==' (C style) for comparison; each time getting an error for invalid field syntax on line 2:
[/edit]
[EDIT #2]
After a bit more digging through the forum, I've also tried:
This block throws "Syntax error in 'pre-requisite rule' script for Thing 'rmaJLLHoly' on line 2
-> Error parsing left-side expression in relational comparison"
[/edit #2]
[EDIT #3]
I've almost got it; I finally found the tag for the room (thingid.rmBurialGr), but I'm still getting an error, albeit not on syntax.
The code in edit #2 relied on the expectation that, like most languages I've worked with in the past (VB6; VC++6; C# 1, 2, & 4) I could short-cut the comparison on a boolean return. Not the case here; the comparison MUST be explicit. This results in the following pre-reqs code block:
This will correctly evaluate whether or not the correct rooms are being used, but it now throws a different error: "Live state of gizmo 'rmaCustom' is being tested before live state of parent pick 'rmBurialGr' is resolved".
Thus, the question now becomes 'How do I get rid of this evaluation error?"
[/edit #3]
I'm trying to figure out what properties to query on parent objects in order to have a pre-reqs script check to make sure that a Room Augmentation is only placed on the correct Rooms.
In the listing for 'Burial Ground' (Ultimate Campaign, p. 95), it states in part " . . . For an additional 200 gp, this area can be consecrated as holy or unholy ground . . . If you upgrade a Burial Ground, the area retains the consecration effect."
I've added 'Consecrated as Holy Ground' via the editor as a Room Augmentation, with an associated cost in Magic. Once I remembered to Character->Configure Hero and check the box for the Source I added it under (I always forget this one at first), its showing up now as available for purchase. However, I'd like to restrict it to only being available on the Burial Ground and the Crypt.
After going through most of the HL Editor tutorials (I haven't done the one yet to create the Alchemist Class), I'm still a bit confused on what objects & properties/methods to call from the pre-reqs script to check for the Unique IDs (rmBurialG & rmCrypt) on the parent objects for validation.
Advance appreciation for any advice offered.

[EDIT]
Since initially posting this yesterday, I've tried finding fields unique to each of the rooms, and I settled on the Upgrades To ("unUpgradeT") and Upgrades From ("unUpgradeF") as being something that I could query to uniquely identify the Burial Ground and Crypt. Thus, I attempted the following code block, both with single '=' (VB style) and double '==' (C style) for comparison; each time getting an error for invalid field syntax on line 2:
Code:
~Check for Burial Ground
if (parent.field[unUpgradeT] == "Crypt") then
@valid = 1
endif
[EDIT #2]
After a bit more digging through the forum, I've also tried:
Code:
if (parent.tagis[thingid.rmBurialGr]) then
@valid=1
endif
-> Error parsing left-side expression in relational comparison"
[/edit #2]
[EDIT #3]
I've almost got it; I finally found the tag for the room (thingid.rmBurialGr), but I'm still getting an error, albeit not on syntax.
The code in edit #2 relied on the expectation that, like most languages I've worked with in the past (VB6; VC++6; C# 1, 2, & 4) I could short-cut the comparison on a boolean return. Not the case here; the comparison MUST be explicit. This results in the following pre-reqs code block:
Code:
if (parent.tagis[thingid.rmBurialGr] <> 0) then
@valid = 1
endif
This will correctly evaluate whether or not the correct rooms are being used, but it now throws a different error: "Live state of gizmo 'rmaCustom' is being tested before live state of parent pick 'rmBurialGr' is resolved".
Thus, the question now becomes 'How do I get rid of this evaluation error?"
[/edit #3]
Last edited: