This patch implements modifiers for items that only affect PirateRealm, such as the bloody harpoon. It does not add any new modifiers, however.
View attachment PirateRealm Properties.patch
View attachment PirateRealm Properties.patch
> ash set_location($location[piraterealm island])
Returned: void
> ash numeric_modifier($item[cursed compass], "Item Drop")
Returned: 100.0
> ash set_location($location[battle island])
Returned: void
> ash numeric_modifier($item[cursed compass], "Item Drop")
Returned: 0.0
If your location is set to a specific PirateRealm island, the modifiers remain 0, since "PirateRealm" and "PirateRealm Island" are two different zones.
I’d rather just make the zone() function recursive, as I said as you posted that. Existing modifiers for zones like Hobopolis and Spookyraven Manor could benefit from that, not to mention future maintainers. Heck, given the current approach of adding up redundant zone expressions, it might actually yield a small performance increase.Zones can totally nest. But the above behavior seems to indicate that the zone() function is non-recursive; it simply checks for a match against the location's immediate parent zone, without going any further up or down the tree.
Changing instances of zone(PirateRealm) to zone(PirateRealm)+zone(PirateRealm Island) ought to yield the desired behavior.
And thank you for the patch Saklad!
That's fine. If you are on Battle Island, you are in PirateRealm Island and are also in PirateRealm.I’d rather just make the zone() function recursive, as I said just now. Existing modifiers for zones like Hobopolis and Spookyraven Manor could benefit from that, not to mention future maintainers. Heck, given the current approach of adding up redundant zone expressions, it might actually yield a small performance increase.
Item doll-eye amulet Single Equip, Item Drop: [40*(zone(Manor0)+zone(Manor1)+zone(Manor2)+zone(Manor3))]
Item stinky fannypack Stench Damage: +25, Stench Spell Damage: +25, Item Drop: [40*(zone(Spring Break Beach)+zone(Conspiracy Island)+zone(Dinseylandfill)+zone(That 70s Volcano)+zone(The Glaciest))]
Effect Expert Vacationer Experience Percent (Muscle): [25*(zone(Spring Break Beach)+zone(Conspiracy Island)+zone(Dinseylandfill)+zone(That 70s Volcano)+zone(The Glaciest))], Experience Percent (Mysticality): [25*(zone(Spring Break Beach)+zone(Conspiracy Island)+zone(Dinseylandfill)+zone(That 70s Volcano)+zone(The Glaciest))], Experience Percent (Moxie): [25*(zone(Spring Break Beach)+zone(Conspiracy Island)+zone(Dinseylandfill)+zone(That 70s Volcano)+zone(The Glaciest))]
AdventureDatabase.PARENT_ZONES.get( currentZone );
Item slime-covered shovel Weapon Damage: [100*zone(The Slime Tube)+60], Initiative: -10
It seems like this isn’t always true. For now, I’m going to check for both the parent being null and the parent being the child.OK, it’s going into an infinite loop. It looks like the parent zone of a top-level zone is itself? I’m probably just misunderstanding the output of
For now, I’m going to assume that’s intended behavior and adjust the loop accordingly.Code:AdventureDatabase.PARENT_ZONES.get( currentZone );
It turns out this is somewhat difficult to test during a TCRS run. If anyone wants to test the patch now and see if it fixes the issue, be my guest.
View attachment 9515
Just to be clear, I have not been able to check if this resolves the issue. Don’t merge it without testing it yourself. When I’m finished with my current run, I can see if it works myself.
Since I am tracking this, does r19341 mean the patch has been checked and verified? I'm going to assume Yes but this is an opportunity for someone to tell me I am wrong![]()
I messaged Veracity that it was working, yes. This thread was technically about a different issue, so it was a bit off-topic in the first place.