New Content - Implemented World Event: Shadow Rifts


Staff member
I adventured in the relay browser, through the rift in the Forest Village - this properly set the location in the adventure pane.
I then automated forty adventures in that rift from the adventure pane.
I then visited the rift in The Ancient Buried Pyramid, via the relay browser, and killed a shadow monster.
The location in the adventure pane remained "Shadow Rift: Shadow Rift (Forest Village)"

On another character the first thing I did was adventure, via the relay browser, in the rift in The Ancient Buried Pyramid and killed a shadow monster.
The adventure pane has the location as "Shadow Rift: Shadow Rift (Somewhere Over the Beanstalk)".
This shoud be fixed in r27205.

That also does canAdventure/prepareForAdventure for the 13 specific "Shadow Rift (CONTAINER)" adventure locations - including equipping your continuum transfunctioner (and possibly getting one), if needed for The 8-Bit Realm, or planting an enchanted bean to get a beanstalk if you have started the garbage quest but have not done so.

If you want to use the raw adventure.php Adventure - simply named "Shadow Rift" - to go through whichever rift you last entered, it will require that we have seen you enter a rift and thereby set the shadowRiftIngress property.

I believe that rift tracking and adventuring support is complete, now.
Let me know if you see further issues.


Staff member
We've done a lot to support this:

1) We track which rift you last entered and log it like this:

Entering the Shadow Rift via Desert Beach

[453] Shadow Rift (Desert Beach)
Encounter: shadow snake

2) Subsequent adventures (via Adventure Again, say), simply say:

[453] Shadow Rift (Desert Beach)
Encounter: shadow orb

3) canAdventure/prepareForAdventure will validate that you have access to a particular rift

3) We have the scaling formulae for Atk/Def/HP/Phys/Elem for the 12 regular shadow monsters
4) We have the item drops for the 12 regular shadow monsters

5) We support the Shadow Labyrinth. This is discussed on its own New Content post.

6) We support the closed-circuit pay phone and Rufus's quests. This also has its own thread.

The only pending things I know about for Shadow Rifts by themselves (as discussed on this thread) are:

1) You need the continuum transfunctioner the FIRST time you enter the rift in The 8-Bit Realm. We will acquire/equip it for you, if needed.
However you don't need to keep it equipped for subsequent visits, as long as you don't go through a different rift.
canAdventure/prepareForAdventure needs to be adjusted for this.

2) We have all of the Shadow Rift adventures listed as 100% combats. Subsequently, the Shadow Labyrinth was added - but that is a timed NC that does not take a turn. I am comfortable leaving combat rate at 100%, but your opinions would be appreciated.

3) The Shadow Rift zone is listed under Events. I suppose; we assume that rifts will disappear, eventually, from normal Loathing.
However, they will continue to be available for Avatars of Shadows Over Loathing and for owners of a closed-circuit pay phone.
When they are no longer generally available, canAdventure will need to be adjusted.

Is there anything else we are missing for Shadow Rifts qua Shadow Rifts (omitting the Shadow Labyrinth and Rufus's quests, which have their own threads)?
Item Drops bonuses are partially suppressed in the Shadow Rifts, with the message "It's hard to see in this place. Items are gonna be trickier to find." My understanding is your +Item% gets divided by 5. It might be worth having numeric_modifier account for that if your location is currently set to a Rift?


Staff member
The check should be that your Zone is Shadow Rift, which will cover all the various ways you can enter the rift.

There is code there already which purports to do this if your Location is "Shadow Rift", which is not going to be the case for 12 out of the 13 ways we let you access that zone.

There are multiple ways that this seems to be attempted:

- In modifiers.txt:
Loc    Shadow Rift    Item Drop: [-0.8*mod(Item Drop))
(That should be Zone, of course)
- in KoLCharacter.recalculateAdjustments, which adds up all your Item Drop adjustments and then, at the end, subtracts .8 of the total (NOT including Familiar) and adds that in.

recalculateAdjustments says this:
    // These depend on the modifiers from everything else, so they must be done last
and THEN does what modifiers.txt says to do for Bendin' Hell, Dirty Pear, - and Shadow Rift.

I will change it to look at the Zone, not the Loc.

A question is: does that Item Drop reduction apply to your familiar, as well, or just to skills and effects?


Staff member
I think this is fully implemented, now.

When the "World Event" ends and Shadow Rifts disappear, except for AoSoL characters and owners of the close-circuit pay phone, we'll have to update canAdventure for the Shadow Rift zone.

Save for that, we're done here and I am marking this Implemented.