Way back in 2008, I was playing my first MMO, and the boring grind naturally forced a lazy guy like me to look for ways to automate the tedious work.
Thus was born my first set of useful pseudocodes, tiny almost-English scripts which modified a state machine (a python codebase which was beyond my comprehension at the time), to control the behaviour of the game character. My scripts in particular, focused on the more difficult support classes, who had to follow another character around, and keep them healed and buffed.
Those were (and are) the most viewed set of scripts on the site (nearly 300,000 views at the time of writing), and even though I was morally in the wrong, it is still one of my proudest pieces of code.
The post can be found here: http://forums.openkore.com/viewtopic.php?f=6&t=30
I've also copied the stuff onto this post, in case the forums ever go offline.
Acolyte Skills:
Heal
Code:
useSelf_skill Heal {
lvl 10
hp < 50%
sp > 10%
}
Increase AGI
Code:
useSelf_skill Increase AGI {
lvl 10
whenStatusInactive Increase AGI
sp > 10%
timeout 5
}
Blessing
Code:
useSelf_skill Blessing {
lvl 10
whenStatusInactive Blessing
sp > 10%
timeout 5
}
Ruwach
Code:
useSelf_skill Ruwach {
lvl 1
whenStatusInactive Ruwach
sp > 10%
timeout 10
}
Angelus
Code:
useSelf_skill Angelus {
lvl 10
whenStatusInactive Angelus
sp > 10%
timeout 5
}
Cure
Code:
useSelf_skill Cure {
lvl 1
whenStatusActive Cursed, Blinded, Chaos, Silenced
sp > 10%
timeout 5
}
Holy Light
Code:
attackSkillSlot Holy Light {
lvl 1
sp > 10%
monsters
}
Decrease AGI
Code:
attackSkillSlot Decrease AGI {
lvl 10
sp > 10%
monsters
maxAttempts 5
maxUses 1
}
CORRESPONDING PARTY SKILLS:
Code:
partySkill Heal {
lvl 5
target_hp < 70%
sp > 10 %
}
partySkill Blessing {
lvl 10
sp > 64
notInTown 1
timeout 3
target_whenStatusInactive Blessing
target_timeout 240
}
partySkill Increase AGI {
lvl 10
sp > 45
notInTown 0
timeout 3
target_whenStatusInactive Increase AGI
target_timeout 240
}
partySkill Angelus {
lvl 10
sp > 45
notInTown 1
timeout 3
target_whenStatusInactive Angelus
target_timeout 240
isSelfSkill 1
}
partySkill Cure {
lvl 1
target_whenStatusActive Cursed, Blinded, Chaos, Silenced
sp > 10%
timeout 5
}
Priest/High Priest Skills
Kyrie Eleison
Code:
useSelf_skill Kyrie Eleison {
lvl 10
sp > 45
stopWhenHit 1
notWhileSitting 1
notInTown 1
timeout 5
whenStatusInactive Kyrie Eleison
}
Assumptio
Code:
useSelf_skill Assumptio {
lvl 10
sp > 20%
stopWhenHit 1
notWhileSitting 1
notInTown 1
timeout 5
disabled 1
whenStatusInactive Assumtio
}
Magnificat
Code:
useSelf_skill Magnificat {
lvl 5
sp > 45
stopWhenHit 1
notWhileSitting 1
notInTown 1
timeout 5
whenStatusInactive Magnificat
}
Party Skills:
Code:
partySkill Kyrie Eleison {
lvl 10
sp > 45
stopWhenHit 1
notWhileSitting 1
notInTown 1
timeout 5
disabled 1
target_whenStatusInactive Kyrie Eleison
target_timeout 240
}
partySkill Magnificat {
lvl 3
sp
stopWhenHit 1
timeout 10
whenStatusInactive Magnificat
partyAggressives < 1
isSelfSkill 1
}
partySkill Resurrection {
lvl 4
target_dead 1
}
partySkill Impositio Manus {
lvl 10
sp > 25
notInTown 1
timeout 3
disabled 0
target_whenStatusInactive Impositio Manus
target_timeout 60
}
partySkill Status Recovery {
lvl 10
sp > 25
timeout 2
target_whenStatusActive Frozen, Stone Curse, Stun
}
partySkill Aspersio {
lvl 5
sp > 25
timeout 2
target_whenStatusInactive Aspersio
inInventory Holy Water
}
partySkill Suffragium {
lvl 3
sp > 25
timeout 8
target_whenStatusInactive Suffragium
notInTown 1
}
partySkill Assumptio {
lvl 10
sp > 20%
stopWhenHit 1
notWhileSitting 1
notInTown 1
timeout 5
disabled 1
target_whenStatusInactive Assumtio
target_timeout 98
}
Gloria
Code:
useSelf_skill Gloria {
lvl 10
sp > 25
whenStatusInactive Gloria
timeout 28
}
Monk/Champion Skills
Vigor Condensation/ Summon Spirit Sphere
Code:
useSelf_skill Vigor Condensation {
lvl 5
sp > 20
spirit <5
notWhileSitting 0
notInTown 0
disabled 0
}
Infiltration/Occult Impaction
Code:
attackSkillSlot Infiltration {
lvl 5
spirit > 2
dist 1
monsters
sp > 20%
}
Finger Offensive/Throw Spirit Sphere
Code:
attackSkillSlot Finger Offensive {
lvl 3
spirit >4
dist 1
monsters
sp >20%
}
THE BIG COMBO
Code:
useSelf_skill Vigor Explosion {
sp > 95%
whenStatusInactive Vigor Explosion
}
attackComboSlot Chain Combo{
afterSkill Triple Attack
isSelfSkill 1
maxUses 1
}
attackComboSlot Combo Finish{
afterSkill Chain Combo
isSelfSkill 1
maxUses 1
}
attackComboSlot Glacier Fist{
afterSkill Combo Finish
isSelfSkill 1
maxUses 1
}
attackComboSlot Chain Crush Combo{
afterSkill Glacier Fist
isSelfSkill 1
maxUses 1
}
PS: i dunno properly if the combo skills are required to "isSelfSkill" since i've not played a combo monk... anyone who has, please enlighten and i shall correct it...
and also the kore names for champion combos... thank you...