dr-scripts
dr-scripts copied to clipboard
Craft uses safe_room instead of trade-specific rooms.
;craft currently uses your safe_room instead of your yaml-specified room for alchemy, enchanting, engineering and outfitting.
While this probably doesn't cause many issues for three of the four trades, enchanting will bug out if someone is trying to use enchanting_room: xxxxx to use a society brazier.
I propose removing this line:
@training_room = (@settings.training_rooms || [@settings.safe_room]).sample
Replacing with these:
@alchemy_room = @settings.alchemy_room
@enchanting_room = @settings.enchanting_room
@engineering_room = @settings.engineering_room
@outfitting_room = @settings.outfitting_room
After that, the @training_room references in the alchemy, enchanting, engineering and outfitting sections will need to be changed to the appropriate room, as well.
This will help allow characters who haven't had a chance to get a travel brazier the ability to use ;craft to train enchanting without having to make the enchanting rooms into safe_room.
It has been brought to my attention that setting this to use one specific room could cause issues when there is another person already using the brazier. Would probably have to set it up to find an unoccupied brazier room instead. I have picked up a brazier, so I no longer personally need this. May want to visit possibilities for using a society brazier for others who are new to the skill, though?
@Stormsocks Looking at this, is there anything left to do here? Without any additional feedback, this feels like a non-issue maybe? Use a crafted brazier in your safe room? Or we can copy over the logic the workorder scripts use, looking up possible rooms in base-crafting.yaml?
Or close? Any opinions? I realize quite a bit of time has passed on this.
This problem is occurring with ;craft enchanting. I do not own a personal brazier and no matter what I list as an enchanting room, it goes to my safe room instead and the script fails. As a comparison, ;craft forging has no problem looking for an empty room in the crossing society and even travels to another society (near the lava fields I think) to find one. When you do workorders artificing, it finds an empty brazier room, just not with ;craft
@MahtraDR This is still an issue. Craft assumes you have a brazier even if you do not have one listed in your yaml. If you have an enchanting room set it does travel to that room.
I'd say have it use the same logic as the workorder script, if you have a a brazier listed in your yaml you go to first the enchanting_room: else the saferoom. If no brazier is listed then go to the static one in the hometown listed.