mirror of
				https://github.com/ErikasKontenis/SabrehavenServer.git
				synced 2025-10-31 03:56:22 +01:00 
			
		
		
		
	8.0 spells from nostalrius
This commit is contained in:
		
							
								
								
									
										17
									
								
								data/spells/scripts/attack/ethereal spear.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								data/spells/scripts/attack/ethereal spear.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | ||||
| 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_ETHEREALSPEAR) | ||||
| combat:setParameter(COMBAT_PARAM_BLOCKARMOR, 1) | ||||
|  | ||||
| function onGetFormulaValues(player, attack, factor) | ||||
| 	local skillTotal = 2 * player:getEffectiveSkillLevel(SKILL_DISTANCE) | ||||
| 	local levelTotal = player:getLevel() / 5 | ||||
| 	return -(((skillTotal + attack / 3500) * 0.35) + (levelTotal) + 0), -(((skillTotal + attack / 3125) * 0.5) + (levelTotal) + 5) | ||||
| end | ||||
|  | ||||
| combat:setCallback(CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") | ||||
|  | ||||
| function onCastSpell(creature, var) | ||||
| 	return combat:execute(creature, var) | ||||
| end | ||||
							
								
								
									
										18
									
								
								data/spells/scripts/attack/groundshaker.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								data/spells/scripts/attack/groundshaker.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| local combat = Combat() | ||||
| combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) | ||||
| combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_GROUNDSHAKER) | ||||
| combat:setParameter(COMBAT_PARAM_BLOCKARMOR, 1) | ||||
| combat:setParameter(COMBAT_PARAM_USECHARGES, 1) | ||||
| combat:setArea(createCombatArea(AREA_CIRCLE3X3)) | ||||
|  | ||||
| function onGetFormulaValues(player, skill, attack, factor) | ||||
| 	local skillTotal = skill * attack | ||||
| 	local levelTotal = player:getLevel() / 5 | ||||
| 	return -(((skillTotal * 0.02) + 4) + (levelTotal)), -(((skillTotal * 0.03) + 6) + (levelTotal)) | ||||
| end | ||||
|  | ||||
| combat:setCallback(CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") | ||||
|  | ||||
| function onCastSpell(creature, var) | ||||
| 	return combat:execute(creature, var) | ||||
| end | ||||
							
								
								
									
										18
									
								
								data/spells/scripts/attack/whirlwind throw.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								data/spells/scripts/attack/whirlwind throw.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| 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.01) + 1) + (levelTotal)), -(((skillTotal * 0.03) + 6) + (levelTotal)) | ||||
| end | ||||
|  | ||||
| combat:setCallback(CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") | ||||
|  | ||||
| function onCastSpell(creature, var) | ||||
| 	return combat:execute(creature, var) | ||||
| end | ||||
| @@ -1,9 +1,8 @@ | ||||
| local combat = Combat() | ||||
| combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) | ||||
| combat:setParameter(COMBAT_PARAM_TARGETCASTERORTOPMOST, true) | ||||
| combat:setParameter(COMBAT_PARAM_DISPEL, CONDITION_POISON) | ||||
| combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false) | ||||
|  | ||||
| function onCastSpell(creature, variant) | ||||
| 	creature:removeCondition(CONDITION_POISON) | ||||
| 	return combat:execute(creature, variant) | ||||
| end | ||||
| @@ -1,7 +1,7 @@ | ||||
| local dead_human = { | ||||
| 	4240, 4241, 4242, 4247, 4248 | ||||
| } | ||||
| local removalLimit = 10 | ||||
| local removalLimit = 500 | ||||
|  | ||||
| function onCastSpell(creature, variant) | ||||
| 	local position = variant:getPosition() | ||||
|   | ||||
| @@ -5,8 +5,8 @@ combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) | ||||
|  | ||||
| function onTargetCreature(creature, target) | ||||
| 	local player = Player(creature) | ||||
| 	 | ||||
| 	local condition = Condition(CONDITION_POISON) | ||||
|  | ||||
| local condition = Condition(CONDITION_POISON) | ||||
| 	condition:setTiming(computeFormula(player:getLevel(), player:getMagicLevel(), 70, 20)) | ||||
| 	target:addCondition(condition) | ||||
| end | ||||
|   | ||||
| @@ -6,7 +6,7 @@ combat:setParameter(COMBAT_PARAM_BLOCKARMOR, true) | ||||
| combat:setArea(createCombatArea(AREA_CROSS1X1)) | ||||
|  | ||||
| function onGetFormulaValues(player, level, maglevel) | ||||
| 	local base = 60 | ||||
| 	local base = 70 | ||||
| 	local variation = 40 | ||||
| 	 | ||||
| 	local formula = 3 * maglevel + (2 * level) | ||||
|   | ||||
| @@ -6,7 +6,7 @@ combat:setArea(createCombatArea(AREA_CIRCLE2X2)) | ||||
|  | ||||
| function onGetFormulaValues(player, level, maglevel) | ||||
| 	local base = 20 | ||||
| 	local variation = 10 | ||||
| 	local variation = 5 | ||||
| 	 | ||||
| 	local formula = 3 * maglevel + (2 * level) | ||||
| 	 | ||||
|   | ||||
| @@ -1,10 +1,15 @@ | ||||
| local area = { | ||||
| {1} | ||||
| } | ||||
|  | ||||
| local combat = Combat() | ||||
| combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) | ||||
| combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONHIT) | ||||
| combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE) | ||||
| combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) | ||||
| combat:setArea(createCombatArea(area)) | ||||
|  | ||||
| function onGetFormulaValues(player, level, maglevel) | ||||
| 	local base = 30 | ||||
| 	local base = 32 | ||||
| 	local variation = 10 | ||||
| 	 | ||||
| 	local formula = 3 * maglevel + (2 * level) | ||||
|   | ||||
| @@ -5,7 +5,14 @@ combat:setParameter(COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) | ||||
| combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false) | ||||
|  | ||||
| function onGetFormulaValues(player, level, maglevel) | ||||
| 	return healingFormula(level, maglevel, 70, 30, 100) | ||||
| 	local base = 70 | ||||
| 	local variation = 30 | ||||
| 	 | ||||
| 	local formula = 3 * maglevel + (2 * level) | ||||
| 	 | ||||
| 	local min = (formula * (base - variation)) / 100 | ||||
| 	local max = (formula * (base + variation)) / 100 | ||||
| 	return min, max | ||||
| end | ||||
|  | ||||
| combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") | ||||
|   | ||||
| @@ -1,7 +1,12 @@ | ||||
| local area = { | ||||
| {1} | ||||
| } | ||||
|  | ||||
| local combat = Combat() | ||||
| combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) | ||||
| combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONHIT) | ||||
| combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE) | ||||
| combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) | ||||
| combat:setArea(createCombatArea(area)) | ||||
|  | ||||
| function onGetFormulaValues(player, level, maglevel) | ||||
| 	local base = 15 | ||||
|   | ||||
| @@ -6,7 +6,7 @@ combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE) | ||||
| function onTargetCreature(creature, target) | ||||
| 	local player = Player(creature) | ||||
| 	 | ||||
| 	local condition = Condition(CONDITION_FIRE) | ||||
| local condition = Condition(CONDITION_FIRE) | ||||
| 	condition:setTiming(computeFormula(player:getLevel(), player:getMagicLevel(), 120, 20)) | ||||
| 	target:addCondition(condition) | ||||
| end | ||||
|   | ||||
| @@ -1,10 +1,15 @@ | ||||
| local area = { | ||||
| {1} | ||||
| } | ||||
|  | ||||
| local combat = Combat() | ||||
| combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) | ||||
| combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) | ||||
| combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_DEATH) | ||||
| combat:setArea(createCombatArea(area)) | ||||
|  | ||||
| function onGetFormulaValues(player, level, maglevel) | ||||
| 	local base = 150 | ||||
| 	local base = 160 | ||||
| 	local variation = 20 | ||||
| 	 | ||||
| 	local formula = 3 * maglevel + (2 * level) | ||||
|   | ||||
| @@ -6,7 +6,14 @@ combat:setParameter(COMBAT_PARAM_TARGETCASTERORTOPMOST, true) | ||||
| combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false) | ||||
|  | ||||
| function onGetFormulaValues(player, level, maglevel) | ||||
| 	return healingFormula(level, maglevel, 250, 0, 100) | ||||
| 	local base = 280 | ||||
| 	local variation = 50 | ||||
| 	 | ||||
| 	local formula = 3 * maglevel + (2 * level) | ||||
| 	 | ||||
| 	local min = (formula * (base - variation)) / 100 | ||||
| 	local max = (formula * (base + variation)) / 100 | ||||
| 	return min, max | ||||
| end | ||||
|  | ||||
| combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") | ||||
|   | ||||
							
								
								
									
										7
									
								
								data/spells/scripts/runes/wild growth.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								data/spells/scripts/runes/wild growth.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| local combat = Combat() | ||||
| combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) | ||||
| combat:setParameter(COMBAT_PARAM_CREATEITEM, 2130) | ||||
|  | ||||
| function onCastSpell(creature, variant, isHotkey) | ||||
| 	return combat:execute(creature, variant) | ||||
| end | ||||
| @@ -1,8 +1,8 @@ | ||||
| local combat = Combat() | ||||
| combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) | ||||
| combat:setParameter(COMBAT_PARAM_DISPEL, CONDITION_POISON) | ||||
| combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false) | ||||
|  | ||||
| function onCastSpell(creature, variant) | ||||
| 	creature:removeCondition(CONDITION_POISON) | ||||
| 	return combat:execute(creature, variant) | ||||
| end | ||||
| end | ||||
| @@ -1,21 +1,22 @@ | ||||
| local combat = Combat() | ||||
| combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) | ||||
| combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_HITAREA) | ||||
| combat:setParameter(COMBAT_PARAM_BLOCKARMOR, true) | ||||
| combat:setParameter(COMBAT_PARAM_USECHARGES, true) | ||||
| combat:setArea(createCombatArea(AREA_SQUARE1X1)) | ||||
|  | ||||
| function onGetFormulaValues(player, level, maglevel) | ||||
| 	local base = 80 | ||||
| 	local variation = 20 | ||||
| function onGetFormulaValues(player, skill, attack, factor) | ||||
| 	local levelHi = player:getLevel() - 8 | ||||
| 	local level = 8 | ||||
| 	 | ||||
| 	local formula = 4 * level | ||||
| 	local min = math.floor(((level + levelHi) * 32.0) / 10) | ||||
| 	local max = math.floor(((level + levelHi) * 42.0) / 10) | ||||
| 	 | ||||
| 	local min = (formula * (base - variation)) / 100 | ||||
| 	local max = (formula * (base + variation)) / 100 | ||||
| 	return -min, -max | ||||
|     return -min, -max | ||||
| end | ||||
|  | ||||
| combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") | ||||
| combat:setCallback(CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") | ||||
|  | ||||
| function onCastSpell(creature, variant) | ||||
| 	return combat:execute(creature, variant) | ||||
|     return combat:execute(creature, variant) | ||||
| end | ||||
							
								
								
									
										8
									
								
								data/spells/scripts/spells/cure poison.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								data/spells/scripts/spells/cure poison.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| local combat = Combat() | ||||
| combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) | ||||
| combat:setParameter(COMBAT_PARAM_DISPEL, CONDITION_POISON) | ||||
| combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false) | ||||
|  | ||||
| function onCastSpell(creature, variant) | ||||
| 	return combat:execute(creature, variant) | ||||
| end | ||||
| @@ -4,7 +4,7 @@ combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONHIT) | ||||
| combat:setArea(createCombatArea(AREA_BEAM5, AREADIAGONAL_BEAM5)) | ||||
|  | ||||
| function onGetFormulaValues(player, level, maglevel) | ||||
| 	local base = 60 | ||||
| 	local base = 65 | ||||
| 	local variation = 20 | ||||
| 	 | ||||
| 	local formula = 3 * maglevel + (2 * level) | ||||
|   | ||||
| @@ -4,8 +4,8 @@ combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_TELEPORT) | ||||
| combat:setArea(createCombatArea(AREA_SQUAREWAVE5)) | ||||
|  | ||||
| function onGetFormulaValues(player, level, maglevel) | ||||
| 	local base = 150 | ||||
| 	local variation = 50 | ||||
| 	local base = 195 | ||||
| 	local variation = 45 | ||||
| 	 | ||||
| 	local formula = 3 * maglevel + (2 * level) | ||||
| 	 | ||||
|   | ||||
| @@ -3,6 +3,13 @@ local food = { | ||||
| } | ||||
|  | ||||
| function onCastSpell(creature, variant) | ||||
| 	local player = Player(creature:getId()) | ||||
| 	if player then | ||||
| 		if SafeZone.cache_players[player:getId()] then | ||||
| 			player:sendTextMessage(MESSAGE_STATUS_SMALL, "You can't use spells inside of this event.") | ||||
| 			return false | ||||
| 		end | ||||
| 	end | ||||
| 	creature:addItem(food[math.random(#food)]) | ||||
| 	creature:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) | ||||
| 	return true | ||||
|   | ||||
| @@ -4,8 +4,8 @@ combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) | ||||
| combat:setArea(createCombatArea(AREA_BEAM8)) | ||||
|  | ||||
| function onGetFormulaValues(player, level, maglevel) | ||||
| 	local base = 120 | ||||
| 	local variation = 80 | ||||
| 	local base = 135 | ||||
| 	local variation = 35 | ||||
| 	 | ||||
| 	local formula = 3 * maglevel + (2 * level) | ||||
| 	 | ||||
|   | ||||
| @@ -3,7 +3,7 @@ combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) | ||||
| combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false) | ||||
|  | ||||
| local condition = Condition(CONDITION_LIGHT) | ||||
| condition:setParameter(CONDITION_PARAM_LIGHT_LEVEL, 8) | ||||
| condition:setParameter(CONDITION_PARAM_LIGHT_LEVEL, 10) | ||||
| condition:setParameter(CONDITION_PARAM_LIGHT_COLOR, 215) | ||||
| condition:setParameter(CONDITION_PARAM_TICKS, (11 * 60 + 35) * 1000) | ||||
| combat:setCondition(condition) | ||||
|   | ||||
| @@ -5,11 +5,11 @@ combat:setParameter(COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) | ||||
| combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false) | ||||
|  | ||||
| function onGetFormulaValues(player, level, maglevel) | ||||
| 	local base = 120 | ||||
| 	local variation = 40 | ||||
| 	local base = 150 | ||||
| 	local variation = 50 | ||||
| 	 | ||||
| 	local formula = 3 * maglevel + (2 * level) | ||||
|  | ||||
| 	 | ||||
| 	local min = (formula * (base - variation)) / 100 | ||||
| 	local max = (formula * (base + variation)) / 100 | ||||
| 	return min, max | ||||
|   | ||||
| @@ -5,7 +5,14 @@ combat:setParameter(COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) | ||||
| combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false) | ||||
|  | ||||
| function onGetFormulaValues(player, level, maglevel) | ||||
| 	return healingFormula(level, maglevel, 40, 20, 100) | ||||
| 	local base = 60 | ||||
| 	local variation = 15 | ||||
| 	 | ||||
| 	local formula = 3 * maglevel + (2 * level) | ||||
| 	 | ||||
| 	local min = (formula * (base - variation)) / 100 | ||||
| 	local max = (formula * (base + variation)) / 100 | ||||
| 	return min, max | ||||
| end | ||||
|  | ||||
| combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") | ||||
|   | ||||
| @@ -7,5 +7,8 @@ condition:setParameter(CONDITION_PARAM_TICKS, 200000) | ||||
| combat:setCondition(condition) | ||||
|  | ||||
| function onCastSpell(creature, variant) | ||||
| 	if SafeZone.cache_players[creature:getId()] then | ||||
| 		return false | ||||
| 	end | ||||
| 	return combat:execute(creature, variant) | ||||
| end | ||||
| @@ -5,7 +5,14 @@ combat:setParameter(COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) | ||||
| combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false) | ||||
|  | ||||
| function onGetFormulaValues(player, level, maglevel) | ||||
| 	return healingFormula(level, maglevel, 20, 10, 100) | ||||
| 	local base = 35 | ||||
| 	local variation = 15 | ||||
| 	 | ||||
| 	local formula = 3 * maglevel + (2 * level) | ||||
| 	 | ||||
| 	local min = (formula * (base - variation)) / 100 | ||||
| 	local max = (formula * (base + variation)) / 100 | ||||
| 	return min, max | ||||
| end | ||||
|  | ||||
| combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") | ||||
|   | ||||
| @@ -3,7 +3,7 @@ combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) | ||||
| combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false) | ||||
|  | ||||
| local condition = Condition(CONDITION_LIGHT) | ||||
| condition:setParameter(CONDITION_PARAM_LIGHT_LEVEL, 6) | ||||
| condition:setParameter(CONDITION_PARAM_LIGHT_LEVEL, 9) | ||||
| condition:setParameter(CONDITION_PARAM_LIGHT_COLOR, 215) | ||||
| condition:setParameter(CONDITION_PARAM_TICKS, (6 * 60 + 10) * 1000) | ||||
| combat:setCondition(condition) | ||||
|   | ||||
							
								
								
									
										23
									
								
								data/spells/scripts/spells/light_heal_friend.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								data/spells/scripts/spells/light_heal_friend.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | ||||
| local combat = Combat() | ||||
| combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_HEALING) | ||||
| combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN) | ||||
| combat:setParameter(COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) | ||||
| combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false) | ||||
|  | ||||
| function onGetFormulaValues(player, level, maglevel) | ||||
| 	local base = 80 | ||||
| 	local variation = 50 | ||||
| 	 | ||||
| 	local formula = 3 * maglevel + (2 * level) | ||||
| 	 | ||||
| 	local min = (formula * (base - variation)) / 100 | ||||
| 	local max = (formula * (base + variation)) / 100 | ||||
| 	return min, max | ||||
| end | ||||
|  | ||||
| combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") | ||||
|  | ||||
| function onCastSpell(creature, variant) | ||||
| 	creature:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) | ||||
| 	return combat:execute(creature, variant) | ||||
| end | ||||
							
								
								
									
										15
									
								
								data/spells/scripts/spells/mass healing_training.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								data/spells/scripts/spells/mass healing_training.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| local combat = Combat() | ||||
| combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) | ||||
| combat:setParameter(COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) | ||||
| combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false) | ||||
|  | ||||
| function onTargetCreature(creature, target) | ||||
| 	doTargetCombatHealth(0, target, COMBAT_HEALING, 500, 1000, CONST_ME_NONE) | ||||
| 	return true | ||||
| end | ||||
|  | ||||
| combat:setCallback(CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature") | ||||
|  | ||||
| function onCastSpell(creature, variant) | ||||
| 	return combat:execute(creature, variant) | ||||
| end | ||||
| @@ -4,8 +4,8 @@ combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_GREEN_RINGS) | ||||
| combat:setArea(createCombatArea(AREA_SQUAREWAVE5)) | ||||
|  | ||||
| function onGetFormulaValues(player, level, maglevel) | ||||
| 	local base = 150 | ||||
| 	local variation = 50 | ||||
| 	local base = 195 | ||||
| 	local variation = 45 | ||||
| 	 | ||||
| 	local formula = 3 * maglevel + (2 * level) | ||||
| 	 | ||||
|   | ||||
| @@ -6,7 +6,7 @@ combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONAREA) | ||||
| combat:setArea(createCombatArea(AREA_CIRCLE5X5)) | ||||
|  | ||||
| function onGetFormulaValues(player, level, maglevel) | ||||
| 	local base = 250 | ||||
| 	local base = 260 | ||||
| 	local variation = 50 | ||||
| 	 | ||||
| 	local formula = 3 * maglevel + (2 * level) | ||||
|   | ||||
| @@ -5,7 +5,14 @@ combat:setParameter(COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) | ||||
| combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false) | ||||
|  | ||||
| function onGetFormulaValues(player, level, maglevel) | ||||
| 	return healingFormula(level, maglevel, 250, 50, 100) | ||||
| 	local base = 250 | ||||
| 	local variation = 50 | ||||
| 	 | ||||
| 	local formula = 3 * maglevel + (2 * level) | ||||
| 	 | ||||
| 	local min = (formula * (base - variation)) / 100 | ||||
| 	local max = (formula * (base + variation)) / 100 | ||||
| 	return min, max | ||||
| end | ||||
|  | ||||
| combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") | ||||
|   | ||||
| @@ -3,7 +3,7 @@ combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) | ||||
| combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false) | ||||
|  | ||||
| local condition = Condition(CONDITION_LIGHT) | ||||
| condition:setParameter(CONDITION_PARAM_LIGHT_LEVEL, 9) | ||||
| condition:setParameter(CONDITION_PARAM_LIGHT_LEVEL, 11) | ||||
| condition:setParameter(CONDITION_PARAM_LIGHT_COLOR, 215) | ||||
| condition:setParameter(CONDITION_PARAM_TICKS, (60 * 33 + 10) * 1000) | ||||
| combat:setCondition(condition) | ||||
|   | ||||
| @@ -1,7 +1,8 @@ | ||||
| local combat = Combat() | ||||
| combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) | ||||
| combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) | ||||
| combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_TELEPORT) | ||||
| combat:setParameter(COMBAT_PARAM_CREATEITEM, 2130) | ||||
|  | ||||
| function onCastSpell(creature, variant, isHotkey) | ||||
| function onCastSpell(creature, variant) | ||||
| 	return combat:execute(creature, variant) | ||||
| end | ||||
		Reference in New Issue
	
	Block a user
	 ErikasKontenis
					ErikasKontenis