![]() |
Skillcap issues - Printable Version +- SphereCommunity (https://forum.spherecommunity.net) +-- Forum: Sphere 0.56d (/Forum-Sphere-0-56d) +--- Forum: Script Help (/Forum-Script-Help) +--- Thread: Skillcap issues (/Thread-Skillcap-issues) |
Skillcap issues - Crusader - 02-26-2013 12:40 PM What i'd like to do is a skillcap for allplayer that affects only job skills, in detail, i want to have a 180.0 skill cap for all the resource skills (mining, lumber, farming & fishing) and 300.0 skill cap for all the craft skills (blacksmithing, bowcraft, tailoring, etc..) The problem is when i equip an item which gives me skill...like..."minoc gloves" that gives me +5.0 of mining and blacksmthing. They will be counted in the skillcap check process...and i want to avoid this (this is why i proposed the modskill function in feature request section) otherwise ppl with these gloves cannot go further in their skill when they reach cap (thx to these gloves) Code: [DEFNAME skill_cap] RE: Skillcap issues - RanXerox - 02-26-2013 01:33 PM So I think you want the player to be able to raise their "natural skill" (the unmodified value they would have if they were not wearing skill enhancing items) even when they ARE wearing some skill enhancing items... makes sense to me. I think you need to define "individual skill limits" (for example, no individual skill can exceed 100.0), and you need "skill group limits" (for example, all resource skills added together cannot exceed 300.0)... do you also need "cumulative skill limits" (for example, all skills added together cannot exceed 1000.0?) So, would the wearing of a skill enhancing item not impact ANY of those types of limits? RE: Skillcap issues - Crusader - 02-26-2013 09:22 PM The individual skill limit is 100.0 (but i plan to raise this in the future giving the chance to players to specialize (125.0) to one choosen skill. The group skill limit is also set, but i have to explain in detail here, i'll take the example of the resource skills, they are 4: farming fishing mining lumber Your group cap is 180.0 which means that u can have one skill to 100.0 and one to 80.0, or, u can have 2 skills with 90.0. Actually the real skillcap is 40.0 because i want that the other skills can still raise 'till 70.0. So having farming 70.0 mining 80.0 lumber 100.0 fishing 70.0 Will be ok and these are the max value inside the cap. In other words...all skills can reach 70.0 without affecting the cap, but when they do more than that, points start to affect the cap (that's why the real cap is 40.0): fishing 70.0 mining 70.0 +10 lumber 70.0 +30 farming 70.0 Now, with this introduction, let's go to the point: Let's say, for instance, that i have Lumber: 80.0 Mining: 90.0 If i have minoc gloves that raise my mining skill up to 10.0 This value can eventually make me reach the cap (in fact i will have mining 100 and lumber 80: cap reached), and in that case i'm unable to raise other skill (like lumber, coz thx to these 10.0 points, the system think that i'm at the cap). But i'm not really at the cap, and i want player to raise their lumber without the cap take into account items enhanging skills. I thought a couple of things like: a memory that i wear every time i wear an item enhancing skill, which add a tag to this memory with the name of skill enhanced and the value. And every time i check the cap i go to see if there is this memory and the tag. Or, i could check all my body items everytime i check the cap. In both cases it's a pain in the ass. If u have a smarter solution or u can do a modskill function, it will be VERY appreciated ![]() RE: Skillcap issues - Norlack - 02-27-2013 10:54 PM you have a PM. RE: Skillcap issues - RanXerox - 03-01-2013 02:03 PM I think you should ditch the entire memory item idea and implement it as TAGs (one per skill) on the items that need them, for example: TAG.ModAlchemy=10.0 Implement the equip and unequip side effects of those tags in an EVENT that all equipable items have... Something like: Code: [EVENT e_equipitem] In your skillgain overrides, to check if someone is wearing an item that has affected their skill, just look for a TAG.ModAlchemy with a non zero value directly on the player. You could try and get crafty and write some kind of FOR loop to go through all the skill KEYs so you dont need an IF structure for each skill... but try to get it working without that first. PS... I am not sure what happens when you set a skill to a negative value... so maybe setting the TAG on an item to a negative number is a bad idea. |