This is what I have come up with so far. I am designing my shard such that each SkillClass has a skill that is exclusive to that SkillClass. Basically, the intention is that the Battle Focus skill can only be learned by the Fighter SkillClass.
Quote:[SKILL 50] // Focus
DEFNAME=SKILL_BattleFocus
KEY=Focus
TITLE=Fighter
FLAGS=SKF_SCRIPTED|SKF_NOANIM
STAT_STR=30
STAT_INT=40
STAT_DEX=60
BONUS_STR=0
BONUS_DEX=0
BONUS_INT=0
BONUS_STATS=0
ADV_RATE=10.0,200.0,800.0
GAINRADIUS=100.0
ON=@Success
SKILLGAIN skill_battlefocus, <EVAL <battlefocus> / 10 + 1>
The basic idea here is to, hopefully, perform a skill check any time a character scores a hit with a melee weapon:
Quote:[EVENT e_battlefocus_check]
@Hit
If <serv.itemdef.<argo>.type>!=t_weapon_bow
SKILLCHECK skill_battlefocus, <EVAL <battlefocus> / 10>
endif
[eof]
This one I am not sure about all, esp. the syntax. I want the skill to work passively, but am not sure the best method to go about it, as far as balancing, correct format, ease and efficiency of scripting, etc.
What I am trying to achieve here is to decrease stamina regen by 1 sec for every 20 points of Battle Focus. Perhaps it would be better, and more useful, to increase the amount gained every 10 seconds instead, or go another route.
It may be worth noting that PvP is not going to play major role (and can be opted out of at character creation), that the Fighter skillclass cannot learn Magery (or any other magic skill), but can learn Healing and Anatomy, and that there is no longer a universal Focus skill.
Quote:[EVENT e_battlefocus_passive]
if <battefocus> >= 20.0 && <battlefocus> <= 39.9
SRC.TAG.OVERRIDE.REGEN_stam = 1
endif
if <battlefocus >= 40.0 && <battlefocus> <= 59.9
SRC.TAG.OVERRIDE.REGEN_stam = 2
endif
if <battlefocus >= 60.0 && <battlefocus> <= 79.9
SRC.TAG.OVERRIDE.REGEN_stam = 3
endif
if <battlefocus >= 80.0 && <battlefocus> <= 99.9
SRC.TAG.OVERRIDE.REGEN_stam = 4
endif
if <battlefocus >= 100.0
SRC.TAG.OVERRIDE.REGEN_stam 5
endif
[eof]
Here I have removed the damage bonus from Anatomy and replaced it with a similar one for Battle Focus. I have likewise removed the Lumberjacking damage bonus.
Quote:// DAMAGE BONUS (sphere_combat_functions)
[function f_combatsys_damagebonus_uor]
local.bonus.tactics = <eval (<tactics> / 10) + 50>
local.bonus.str = <eval <str> / 5>
if <battlefocus> > 0 //Redundant as only Fighter SKillClass can learn
local.bonus.battlefocus = <eval <battlefocus> / 50>
endif
return <eval <local.bonus.tactics> + <local.bonus.str> +<local.bonus.battlefocus>>
[eof]