This repository has been archived by the owner on May 20, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 162
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Convert player spells, runes and monsters spells to revscriptsys (#2588)
All player spells, runes and monsters spells have been converted to revscriptsys! With the contribution of @LeoTK4 @DeroW-FD @Glatharth @APenDel Spells converted: - [x] Attack - [x] Conjuring - [x] Healing - [x] House - [x] Monster - [x] Party - [x] Runes - [x] Summon - [x] Support It fixes: - [x] #923 - [x] #2506 - [x] #2507 - [x] #2563 Added methods: spell:allowOnSelf(true or false) spell:pzLocked(true or false) Removed: player:isPzLocked()
- Loading branch information
Showing
1,356 changed files
with
23,200 additions
and
16,491 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
local combat = Combat() | ||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) | ||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_HITAREA) | ||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE) | ||
combat:setParameter(COMBAT_PARAM_BLOCKARMOR, 1) | ||
combat:setParameter(COMBAT_PARAM_USECHARGES, 1) | ||
|
||
function onGetFormulaValues(player, skill, attack, factor) | ||
local skillTotal = skill * attack | ||
local levelTotal = player:getLevel() / 5 | ||
return -(((skillTotal * 0.17) + 13) + (levelTotal)) * 1.28, -(((skillTotal * 0.20) + 34) + (levelTotal)) * 1.28 -- TODO : Use New Real Formula instead of an % | ||
end | ||
|
||
combat:setCallback(CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") | ||
|
||
local spell = Spell("instant") | ||
|
||
function spell.onCastSpell(creature, var) | ||
return combat:execute(creature, var) | ||
end | ||
|
||
spell:group("attack") | ||
spell:id(62) | ||
spell:name("Annihilation") | ||
spell:words("exori gran ico") | ||
spell:level(110) | ||
spell:mana(300) | ||
spell:isPremium(true) | ||
spell:range(1) | ||
spell:needTarget(true) | ||
spell:blockWalls(true) | ||
spell:needWeapon(true) | ||
spell:cooldown(30 * 1000) | ||
spell:groupCooldown(4 * 1000) | ||
spell:needLearn(false) | ||
spell:vocation("knight;true", "elite knight;true") | ||
spell:register() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
local combat = Combat() | ||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) | ||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK) | ||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE) | ||
|
||
function onGetFormulaValues(player, level, maglevel) | ||
local min = (level / 5) + (maglevel * 0.4) + 3 | ||
local max = (level / 5) + (maglevel * 0.7) + 5 | ||
return -min, -max | ||
end | ||
|
||
combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") | ||
|
||
local spell = Spell("instant") | ||
|
||
function spell.onCastSpell(creature, var) | ||
return combat:execute(creature, var) | ||
end | ||
|
||
spell:group("attack") | ||
spell:id(169) | ||
spell:name("Apprentice's Strike") | ||
spell:words("exori min flam") | ||
spell:level(8) | ||
spell:mana(6) | ||
spell:isPremium(false) | ||
spell:range(3) | ||
spell:needCasterTargetOrDirection(true) | ||
spell:blockWalls(true) | ||
spell:cooldown(2 * 1000) | ||
spell:groupCooldown(2 * 1000) | ||
spell:needLearn(false) | ||
spell:vocation("druid;true", "elder druid;true", "sorcerer;true", "master sorcerer;true") | ||
spell:register() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
local combat = Combat() | ||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) | ||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_HITAREA) | ||
combat:setParameter(COMBAT_PARAM_BLOCKARMOR, 1) | ||
combat:setParameter(COMBAT_PARAM_USECHARGES, 1) | ||
combat:setArea(createCombatArea(AREA_SQUARE1X1)) | ||
|
||
function onGetFormulaValues(player, skill, attack, factor) | ||
local level = player:getLevel() | ||
|
||
local min = (level / 5) + (skill + attack) * 0.5 | ||
local max = (level / 5) + (skill + attack) * 1.5 | ||
|
||
return -min * 1.1, -max * 1.1 -- TODO : Use New Real Formula instead of an % | ||
end | ||
|
||
combat:setCallback(CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") | ||
|
||
local spell = Spell("instant") | ||
|
||
function spell.onCastSpell(creature, var) | ||
return combat:execute(creature, var) | ||
end | ||
|
||
spell:group("attack") | ||
spell:id(80) | ||
spell:name("Berserk") | ||
spell:words("exori") | ||
spell:level(35) | ||
spell:mana(115) | ||
spell:isPremium(true) | ||
spell:needWeapon(true) | ||
spell:cooldown(4 * 1000) | ||
spell:groupCooldown(2 * 1000) | ||
spell:needLearn(false) | ||
spell:vocation("knight;true", "elite knight;true") | ||
spell:register() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
local combat = Combat() | ||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) | ||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_HITAREA) | ||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE) | ||
combat:setParameter(COMBAT_PARAM_BLOCKARMOR, 1) | ||
combat:setParameter(COMBAT_PARAM_USECHARGES, 1) | ||
|
||
function onGetFormulaValues(player, skill, attack, factor) | ||
local skillTotal = skill * attack | ||
local levelTotal = player:getLevel() / 5 | ||
return -(((skillTotal * 0.02) + 4) + (levelTotal)) * 1.28, -(((skillTotal * 0.04) + 9) + (levelTotal)) * 1.28 -- TODO : Use New Real Formula instead of an % | ||
end | ||
|
||
combat:setCallback(CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") | ||
|
||
local spell = Spell("instant") | ||
|
||
function spell.onCastSpell(creature, var) | ||
return combat:execute(creature, var) | ||
end | ||
|
||
spell:group("attack") | ||
spell:id(61) | ||
spell:name("Brutal Strike") | ||
spell:words("exori ico") | ||
spell:level(16) | ||
spell:mana(30) | ||
spell:isPremium(false) | ||
spell:range(1) | ||
spell:needTarget(true) | ||
spell:blockWalls(true) | ||
spell:needWeapon(true) | ||
spell:cooldown(6 * 1000) | ||
spell:groupCooldown(2 * 1000) | ||
spell:needLearn(false) | ||
spell:vocation("knight;true", "elite knight;true") | ||
spell:register() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
local combat = Combat() | ||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) | ||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA) | ||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) | ||
|
||
function onGetFormulaValues(player, level, maglevel) | ||
local min = (level / 5) + (maglevel * 0.4) + 3 | ||
local max = (level / 5) + (maglevel * 0.7) + 5 | ||
return -min, -max | ||
end | ||
|
||
combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") | ||
|
||
local spell = Spell("instant") | ||
|
||
function spell.onCastSpell(creature, var) | ||
return combat:execute(creature, var) | ||
end | ||
|
||
spell:group("attack") | ||
spell:id(177) | ||
spell:name("Buzz") | ||
spell:words("exori infir vis") | ||
spell:level(1) | ||
spell:mana(6) | ||
spell:isAggressive(true) | ||
spell:isPremium(false) | ||
spell:range(3) | ||
spell:needCasterTargetOrDirection(true) | ||
spell:blockWalls(true) | ||
spell:cooldown(2 * 1000) | ||
spell:groupCooldown(2 * 1000) | ||
spell:needLearn(false) | ||
spell:vocation("sorcerer;true", "master sorcerer;true") | ||
spell:register() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
local combat = Combat() | ||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) | ||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_ICEAREA) | ||
combat:setArea(createCombatArea(AREA_WAVE4, AREADIAGONAL_WAVE4)) | ||
|
||
function onGetFormulaValues(player, level, maglevel) | ||
local min = (level / 5) + (maglevel * 0.3) + 2 | ||
local max = (level / 5) + (maglevel * 0.6) + 4 | ||
return -min, -max | ||
end | ||
|
||
combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") | ||
|
||
local spell = Spell("instant") | ||
|
||
function spell.onCastSpell(creature, var) | ||
return combat:execute(creature, var) | ||
end | ||
|
||
spell:group("attack") | ||
spell:id(173) | ||
spell:name("Chill Out") | ||
spell:words("exevo infir frigo hur") | ||
spell:level(1) | ||
spell:mana(8) | ||
spell:isPremium(false) | ||
spell:range(1) | ||
spell:needDirection(true) | ||
spell:cooldown(4 * 1000) | ||
spell:groupCooldown(2 * 1000) | ||
spell:needLearn(false) | ||
spell:vocation("druid;true", "elder druid;true") | ||
spell:register() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
local combat = Combat() | ||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) | ||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_SMALLCLOUDS) | ||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_DEATH) | ||
|
||
local condition = Condition(CONDITION_CURSED) | ||
condition:setParameter(CONDITION_PARAM_DELAYED, 1) | ||
|
||
condition:addDamage(1, 3000, -45) | ||
condition:addDamage(1, 3000, -40) | ||
condition:addDamage(1, 3000, -35) | ||
condition:addDamage(1, 3000, -34) | ||
condition:addDamage(2, 3000, -33) | ||
condition:addDamage(2, 3000, -32) | ||
condition:addDamage(2, 3000, -31) | ||
condition:addDamage(2, 3000, -30) | ||
condition:addDamage(3, 3000, -29) | ||
condition:addDamage(3, 3000, -25) | ||
condition:addDamage(3, 3000, -24) | ||
condition:addDamage(4, 3000, -23) | ||
condition:addDamage(4, 3000, -20) | ||
condition:addDamage(5, 3000, -19) | ||
condition:addDamage(5, 3000, -15) | ||
condition:addDamage(6, 3000, -10) | ||
condition:addDamage(10, 3000, -5) | ||
combat:addCondition(condition) | ||
|
||
local spell = Spell("instant") | ||
|
||
function spell.onCastSpell(creature, var) | ||
return combat:execute(creature, var) | ||
end | ||
|
||
spell:group("attack") | ||
spell:id(139) | ||
spell:name("Curse") | ||
spell:words("utori mort") | ||
spell:level(75) | ||
spell:mana(30) | ||
spell:isAggressive(true) | ||
spell:range(3) | ||
spell:needTarget(true) | ||
spell:blockWalls(true) | ||
spell:cooldown(40 * 1000) | ||
spell:groupCooldown(2 * 1000) | ||
spell:needLearn(false) | ||
spell:vocation("sorcerer;true", "master sorcerer;true") | ||
spell:register() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
local combat = Combat() | ||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) | ||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) | ||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_DEATH) | ||
|
||
function onGetFormulaValues(player, level, maglevel) | ||
local min = (level / 5) + (maglevel * 1.403) + 8 | ||
local max = (level / 5) + (maglevel * 2.203) + 13 | ||
return -min, -max | ||
end | ||
|
||
combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") | ||
|
||
local spell = Spell("instant") | ||
|
||
function spell.onCastSpell(creature, var) | ||
return combat:execute(creature, var) | ||
end | ||
|
||
spell:group("attack") | ||
spell:id(87) | ||
spell:name("Death Strike") | ||
spell:words("exori mort") | ||
spell:level(16) | ||
spell:mana(20) | ||
spell:isPremium(true) | ||
spell:range(3) | ||
spell:needCasterTargetOrDirection(true) | ||
spell:blockWalls(true) | ||
spell:cooldown(1 * 1000) | ||
spell:groupCooldown(1 * 1000) | ||
spell:needLearn(false) | ||
spell:vocation("sorcerer;true", "master sorcerer;true") | ||
spell:register() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
local combat = Combat() | ||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) | ||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_HOLYAREA) | ||
combat:setArea(createCombatArea(AREA_CIRCLE3X3)) | ||
|
||
function onGetFormulaValues(player, level, maglevel) | ||
local min = (level / 5) + (maglevel * 4) | ||
local max = (level / 5) + (maglevel * 6) | ||
return -min, -max | ||
end | ||
|
||
combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") | ||
|
||
local spell = Spell("instant") | ||
|
||
function spell.onCastSpell(creature, var) | ||
return combat:execute(creature, var) | ||
end | ||
|
||
spell:group("attack") | ||
spell:id(124) | ||
spell:name("Divine Caldera") | ||
spell:words("exevo mas san") | ||
spell:level(50) | ||
spell:mana(160) | ||
spell:isPremium(true) | ||
spell:isSelfTarget(true) | ||
spell:cooldown(4 * 1000) | ||
spell:groupCooldown(2 * 1000) | ||
spell:needLearn(false) | ||
spell:vocation("paladin;true", "royal paladin;true") | ||
spell:register() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
local combat = Combat() | ||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) | ||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_HOLYDAMAGE) | ||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLHOLY) | ||
|
||
function onGetFormulaValues(player, level, maglevel) | ||
local min = (level / 5) + (maglevel * 1.79) + 11 | ||
local max = (level / 5) + (maglevel * 3) + 18 | ||
return -min, -max | ||
end | ||
combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") | ||
|
||
local spell = Spell("instant") | ||
|
||
function spell.onCastSpell(creature, var) | ||
return combat:execute(creature, var) | ||
end | ||
|
||
spell:group("attack") | ||
spell:id(122) | ||
spell:name("Divine Missile") | ||
spell:words("exori san") | ||
spell:level(40) | ||
spell:mana(20) | ||
spell:isPremium(true) | ||
spell:range(4) | ||
spell:needCasterTargetOrDirection(true) | ||
spell:blockWalls(true) | ||
spell:cooldown(2 * 1000) | ||
spell:groupCooldown(2 * 1000) | ||
spell:needLearn(false) | ||
spell:vocation("paladin;true", "royal paladin;true") | ||
spell:register() |
Oops, something went wrong.