Project

General

Profile

Actions

Bug #223

closed

Platinum Slivers don't seem to work at Oracle

Bug #223: Platinum Slivers don't seem to work at Oracle

Added by MUD 16 days ago. Updated 16 days ago.

Status:
Closed
Priority:
Normal
Assignee:
Start date:
01/06/2026
Due date:
% Done:

0%

Estimated time:
reported_by:
Glade

Description

If you could take a look at this one, I'd greatly appreciate it. Lost two platinum slivers this way so far.
You can't go that way.

drop duster

You drop the Kaoustic knuckle duster.

drop sliver

You drop a platinum sliver.

touch oracle

As you touch the water of the oracle, the sliver melts, coating the platinum sliver with a fine
layer of platinum!
An error has occurred. Please use the 'bug' command to report it.
You touch the surface of the great oracle, but nothing happens.
You feel around for something.
1> l
You look around.
The grotto of the great oracle [e]
A great spring sits directly in the center of this tremendous grotto. From its warm surface a
heavy mist is born, which flows gently eastward. From beneath its peaceful waters a strong light
grows and emerges. The great oracle is certainly an amazing creation, more beautiful than
anything in existance.
There is nothing but the silence of peace.
The Kaoustic knuckle duster is here.
Attendant of the oracle

Last Error (might not be relevant to the report):

*Bad argument 1 to EFUN call_other()
Expected: object, string, array, Got: int(0).
 Object: /domains/Ocean/falls/room/ogrotto at line 279

#0: '<fake>' at /secure/save/players/g/glade (/<driver>) at /(fake):0
#1: 'cmdAll' at /secure/save/players/g/glade (/lib/command.c) at line 88
#2: 'do_touch_wrd' at /verbs/items/touch at line 71
#3: 'eventTouch' at /domains/Ocean/falls/room/ogrotto (/lib/touch.c) at line 81
#4: 'GetTouch' at /domains/Ocean/falls/room/ogrotto (/lib/touch.c) at line 67
#5: '<fake>' at /domains/Ocean/falls/room/ogrotto (/<driver>) at /(fake):0
#6: 'touchOracle' at /domains/Ocean/falls/room/ogrotto at line 118
#7: 'PlatinumPlatedWeapon' at /domains/Ocean/falls/room/ogrotto at line 279

Updated by ion 16 days ago Actions #1

I reproduced this with platinum and electrum, so it isn't specific to the metal.

I noticed that the array of weapons are based on the user's inventory if I'm reading the code right, rather than what weapons have been dropped on the floor.

I dropped a weapon on the floor and had an unwielded weapon in my hand of the same type. When touching the oracle in that scenario it worked.

Updated by ion 16 days ago Actions #2

ion wrote in #note-1:

I reproduced this with platinum and electrum, so it isn't specific to the metal.

I noticed that the array of weapons are based on the user's inventory if I'm reading the code right, rather than what weapons have been dropped on the floor.

I dropped a weapon on the floor and had an unwielded weapon in my hand of the same type. When touching the oracle in that scenario it worked.

No that's not it. I tried again with platinum and a weapon with my inventory empty and it worked. There's something else going on. It seems inconsistent.

Updated by Hilapdatus 16 days ago ยท Edited Actions #5

As you touch the water of the oracle, the sliver melts, coating the platinum sliver with a fine layer of platinum!

The issue here is that the Oracle selects a random weapon from the rooms inventory, EVERY object is a weapon in Dreamverse, and the random weapon selected was the platinum sliver.

In the code, the modified weapon is cloned, the metal used for the gilding is dest'd, and then the original weapon is dest'd. In this case, the platinum sliver is both the metal and the weapon and the code tries to dest it twice which generates the error.

I modified the code which identifies all weapons in the room so that it'll filter out and ignore all "default" weapons with a WeaponClass of 1.

Updated by Hilapdatus 16 days ago Actions #6

  • Status changed from New to Closed
Actions

Also available in: PDF Atom