SphereCommunity
Change smelt action to blacksmithing - Printable Version

+- SphereCommunity (https://forum.spherecommunity.net)
+-- Forum: Sphere 0.56d (/Forum-Sphere-0-56d)
+--- Forum: Script Help (/Forum-Script-Help)
+--- Thread: Change smelt action to blacksmithing (/Thread-Change-smelt-action-to-blacksmithing)



Change smelt action to blacksmithing - fabiohvp - 07-27-2018 12:53 PM

For me it makes more sence if the blacksmith and not the miner to smelt the ores.
So I would like to change the action of smelting to increase blacksmithing and not mining.

Also I want to know how to prevent the player from increasing skill more than 60.0 by smelting ores.

PS: I tried to change skillmake to blacksmithing in all ingots and it still increase mining.


RE: Change smelt action to blacksmithing - darksun84 - 07-27-2018 04:22 PM

Yes, ore smelting always use mining and it calls SkillUseQuick/UseQuick triggers.
So you can do to like this, by adding this trigger in the mining skill section in sphere_skills.scp

Code:
//Intercept smelting and test against blacksmith
ON=@useQUick
//argn2 is the difficulty, this will also allow to increase the blacksmithing skill by smelting, 7 is the blacksmith skill ID
if <skillusequick 7,<argn2>>    
    return 1 // Succeeds the skill use without awarding skill gain to mining.
else
    return 0 // Fails the skill use without awarding skill gain to mining.
endif



RE: Change smelt action to blacksmithing - fabiohvp - 07-28-2018 11:05 AM

Very nice, but I have a couple questions.

1 - Is there another mining (beside smelting) action that triggers @UseQuick?

2 - How do I know which action triggers UseQuick, can you give me an example of another skill that have @UseQuick and which action triggers it? What is the difference between @UseQuick and @Start?


RE: Change smelt action to blacksmithing - Coruja - 07-29-2018 04:36 PM

@[Skill]UseQuick is used by passive skills, like mining (when smelt ore), arms lore (when repair items), parrying, magic resist, camping (when use kindling), stealing (when use pickpocket dip), archery/throwing (when use archery butte), musicianship and tracking

but anyway, taking a look at the smelting code, @UseQuick seems to be used only to make the action succeed or fail using return 0/1. To take full control of the entire smelting behavior you must use custom triggers on [TYPEDEF t_ore] or [TYPEDEF t_forge]