There's a potential issue with items that cure sleep or dumbfounding #138

Closed
opened 2018-02-15 09:08:40 +00:00 by daerogami · 4 comments
daerogami commented 2018-02-15 09:08:40 +00:00 (Migrated from github.com)

They can also be used to gain hyperactivity or enlightenment; this is a departure from original behavior.


This is an item logged from the To-Do and was originally reported by (@CelticMinstrel?). If you are familiar with or can recreate this bug, please provide details here.

They can also be used to gain hyperactivity or enlightenment; this is a departure from original behavior. --- This is an item logged from the To-Do and was originally reported by (@CelticMinstrel?). If you are familiar with or can recreate this bug, please provide details here.
CelticMinstrel commented 2018-02-16 03:05:12 +00:00 (Migrated from github.com)

I did change this more recently, but possibly not enough to consider this bug fixed.

I did change this more recently, but possibly not enough to consider this bug fixed.
NQNStudios commented 2025-02-17 15:23:07 +00:00 (Migrated from github.com)

Confirmed.

Confirmed.
NQNStudios commented 2025-02-17 15:58:50 +00:00 (Migrated from github.com)

This is happening because opposite statuses are all on a spectrum now. Item abilities can only store whether they help/harm, they need to be able to store a maximum level for affecting the status. This seems tricky because it will mean expanding a struct which is serialized in scenarios and converted from legacy scenarios. Unless we just want to make curing sleep and curing dumbfounding hard-coded special cases.

But the pseudocode should be something like this:

// For an item that can only undo a negative affect:
if(help && has_max)
    status = max(current_status, // If current status is already positive, keep it
        max(item_max_status, // Cap the possible changed value to spectrum's neutral value (is this 0?)
            current_status + strength) // Value with help applied

This scenario has nodes to increase/decrease sleep and dumbfounding, plus some Potions of Clarity on the ground:
dumb.boes.zip

What's the item that cures sleep?

Special nodes that affect a status should also maybe be able to set a maximum changed value.

This is happening because opposite statuses are all on a spectrum now. Item abilities can only store whether they help/harm, they need to be able to store a maximum level for affecting the status. This seems tricky because it will mean expanding a struct which is serialized in scenarios and converted from legacy scenarios. Unless we just want to make curing sleep and curing dumbfounding hard-coded special cases. But the pseudocode should be something like this: ``` // For an item that can only undo a negative affect: if(help && has_max) status = max(current_status, // If current status is already positive, keep it max(item_max_status, // Cap the possible changed value to spectrum's neutral value (is this 0?) current_status + strength) // Value with help applied ``` This scenario has nodes to increase/decrease sleep and dumbfounding, plus some Potions of Clarity on the ground: [dumb.boes.zip](https://github.com/user-attachments/files/18827702/dumb.boes.zip) What's the item that cures sleep? Special nodes that affect a status should also maybe be able to set a maximum changed value.
CelticMinstrel commented 2025-02-17 17:52:23 +00:00 (Migrated from github.com)

This is happening because opposite statuses are all on a spectrum now.

Opposite statuses were always on a spectrum. However, I think the original game actually treated "hyperactivity" as not a real status – the sleep status was considered an "unsigned" status, but the "hyperactivity" spell simply violated that contract and gave you negative sleep levels.

Unless we just want to make curing sleep and curing dumbfounding hard-coded special cases.

I don't think this would be a problem. It's not like we have any plans for custom status effects, as far as I know?

What's the item that cures sleep?

I'm not sure if there are any items in the bladbase that cure sleep, but there's things like Helm of Alertness that protect against sleep.

> This is happening because opposite statuses are all on a spectrum now. Opposite statuses were always on a spectrum. However, I think the original game actually treated "hyperactivity" as not a real status – the sleep status was considered an "unsigned" status, but the "hyperactivity" spell simply violated that contract and gave you negative sleep levels. > Unless we just want to make curing sleep and curing dumbfounding hard-coded special cases. I don't think this would be a problem. It's not like we have any plans for custom status effects, as far as I know? > What's the item that cures sleep? I'm not sure if there are any items in the bladbase that cure sleep, but there's things like Helm of Alertness that protect against sleep.
Sign in to join this conversation.
No description provided.