Enhanced Razor 마법술 훈련
페이지 정보
작성자 LastEnvoy 작성일 24-02-14 22:13 조회 51 댓글 1본문
# 캐스팅 사이에 추가적인 지연 시간을 밀리초 단위로 입력하세요
additionalShardCooldown = 900
###################################
mageryTimerMilliseconds = 6500
meditationTimerMilliseconds = 8200
class SpellInfo:
name = ''
circle = 0
reagents = []
manaCost = 0.0
minSkill = 0
delayInS = 0.0
delayInMs = 0
def __init__ ( self, name, circle, manaCost, minSkill, delayInS, delayInMs ):
self.name = name
self.circle = circle
self.manaCost = manaCost
self.minSkill = minSkill
self.delayInS = delayInS
self.delayInMs = delayInMs
spells = {
# First Circle
'Clumsy': SpellInfo( 'Clumsy', 1, 4, 0.0, 0.5, 500 ),
'Create Food': SpellInfo( 'Create Food', 1, 4, 0.0, 0.5, 500 ),
'Feeblemind': SpellInfo( 'Feeblemind', 1, 4, 0.0, 0.5, 500 ),
'Heal': SpellInfo( 'Heal', 1, 4, 0.0, 0.5, 500 ),
'Magic Arrow': SpellInfo( 'Magic Arrow', 1, 4, 0.0, 0.5, 500 ),
'Night Sight': SpellInfo( 'Night Sight', 1, 4, 0.0, 0.5, 500 ),
'Reactive Armor': SpellInfo( 'Reactive Armor', 1, 4, 0.0, 0.5, 500 ),
'Weaken': SpellInfo( 'Weaken', 1, 4, 0.0, 0.5, 500 ),
# Second Circle
'Agility': SpellInfo( 'Agility', 2, 6, 0.0, 0.75, 750 ),
'Cunning': SpellInfo( 'Cunning', 2, 6, 0.0, 0.75, 750 ),
'Cure': SpellInfo( 'Cure', 2, 6, 0.0, 0.75, 750 ),
'Harm': SpellInfo( 'Harm', 2, 6, 0.0, 0.75, 750 ),
'Magic Trap': SpellInfo( 'Magic Trap', 2, 6, 0.0, 0.75, 750 ),
'Magic Untrap': SpellInfo( 'Magic Untrap', 2, 6, 0.0, 0.75, 750 ),
'Protection': SpellInfo( 'Protection', 2, 6, 0.0, 0.75, 750 ),
'Strength': SpellInfo( 'Strength', 2, 6, 0.0, 0.75, 750 ),
# Third Circle
'Bless': SpellInfo( 'Bless', 3, 9, 9.0, 1.0, 1000 ),
'Fireball': SpellInfo( 'Fireball', 3, 9, 9.0, 1.0, 1000 ),
'Magic Lock': SpellInfo( 'Magic Lock', 3, 9, 9.0, 1.0, 1000 ),
'Poison': SpellInfo( 'Poison', 3, 9, 9.0, 1.0, 1000 ),
'Telekinesis': SpellInfo( 'Telekinesis', 3, 9, 9.0, 1.0, 1000 ),
'Teleport': SpellInfo( 'Teleport', 3, 9, 9.0, 1.0, 1000 ),
'Unlock': SpellInfo( 'Unlock', 3, 9, 9.0, 1.0, 1000 ),
'Wall of Stone': SpellInfo( 'Wall of Stone', 3, 9, 9.0, 1.0, 1000 ),
# Fourth Circle
'Arch Cure': SpellInfo( 'Arch Cure', 4, 11, 24.0, 1.25, 1250 ),
'Arch Protection': SpellInfo( 'Arch Protection', 4, 11, 24.0, 1.25, 1250 ),
'Curse': SpellInfo( 'Curse', 4, 11, 24.0, 1.25, 1250 ),
'Fire Field': SpellInfo( 'Fire Field', 4, 11, 24.0, 1.25, 1250 ),
'Greater Heal': SpellInfo( 'Greater Heal', 4, 11, 24.0, 1.25, 1250 ),
'Lightning': SpellInfo( 'Lightning', 4, 11, 24.0, 1.25, 1250 ),
'Mana Drain': SpellInfo( 'Mana Drain', 4, 11, 24.0, 1.25, 1250 ),
'Recall': SpellInfo( 'Recall', 4, 11, 24.0, 1.25, 1250 ),
# Fifth Circle
'Blade Spirits': SpellInfo( 'Blade Spirits', 5, 14, 38.0, 6.0, 6000 ),
'Dispel Field': SpellInfo( 'Dispel Field', 5, 14, 38.0, 1.5, 1500 ),
'Incognito': SpellInfo( 'Incognito', 5, 14, 38.0, 1.5, 1500 ),
'Magic Reflection': SpellInfo( 'Magic Reflection', 5, 14, 38.0, 1.5, 1500 ),
'Mind Blast': SpellInfo( 'Mind Blast', 5, 14, 38.0, 1.5, 1500 ),
'Paralyze': SpellInfo( 'Paralyze', 5, 14, 38.0, 1.5, 1500 ),
'Poison Field': SpellInfo( 'Poison Field', 5, 14, 38.0, 1.5, 1500 ),
'Summon Creature': SpellInfo( 'Summon Creature', 5, 14, 38.0, 6.0, 6000 ),
# Sixth Circle
'Dispel': SpellInfo( 'Dispel', 6, 20, 52.0, 1.75, 1750 ),
'Energy Bolt': SpellInfo( 'Energy Bolt', 6, 20, 52.0, 1.75, 1750 ),
'Explosion': SpellInfo( 'Explosion', 6, 20, 52.0, 1.75, 1750 ),
'Invisibility': SpellInfo( 'Invisibility', 6, 20, 52.0, 1.75, 1750 ),
'Mark': SpellInfo( 'Mark', 6, 20, 52.0, 1.75, 1750 ),
'Mass Curse': SpellInfo( 'Mass Curse', 6, 20, 52.0, 1.75, 1750 ),
'Paralyze Field': SpellInfo( 'Paralyze Field', 6, 20, 52.0, 1.75, 1750 ),
'Reveal': SpellInfo( 'Reveal', 6, 20, 52.0, 1.75, 1750 ),
# Seventh Circle
'Chain Lightning': SpellInfo( 'Chain Lightning', 7, 40, 67.0, 2.0, 2000 ),
'Energy Field': SpellInfo( 'Energy Field', 7, 40, 67.0, 2.0, 2000 ),
'Flamestrike': SpellInfo( 'Flamestrike', 7, 40, 67.0, 2.0, 2000 ),
'Gate Travel': SpellInfo( 'Gate Travel', 7, 40, 67.0, 2.0, 2000 ),
'Mana Vampire': SpellInfo( 'Mana Vampire', 7, 40, 67.0, 2.0, 2000 ),
'Mass Dispel': SpellInfo( 'Mass Dispel', 7, 40, 67.0, 2.0, 2000 ),
'Meteor Swarm': SpellInfo( 'Meteor Swarm', 7, 40, 67.0, 2.0, 2000 ),
'Polymorph': SpellInfo( 'Polymorph', 7, 40, 67.0, 2.0, 2000 ),
# Eighth Circle
'Earthquake': SpellInfo( 'Earthquake', 8, 50, 81.0, 2.25, 2250 ),
'Energy Vortex': SpellInfo( 'Energy Vortex', 8, 50, 81.0, 2.25, 2250 ),
'Resurrection': SpellInfo( 'Resurrection', 8, 50, 81.0, 2.25, 2250 ),
'Summon Air Elemental': SpellInfo( 'Summon Air Elemental', 8, 50, 81.0, 2.25, 2250 ),
'Summon Daemon': SpellInfo( 'Summon Daemon', 8, 50, 81.0, 2.25, 2250 ),
'Summon Earth Elemental': SpellInfo( 'Summon Earth Elemental', 8, 50, 81.0, 2.25, 2250 ),
'Summon Fire Elemental': SpellInfo( 'Summon Fire Elemental', 8, 50, 81.0, 2.25, 2250 ),
'Summon Water Elemental': SpellInfo( 'Summon Water Elemental', 8, 50, 81.0, 2.25, 2250 )
}
def TrainMagery():
global mageryTimerMilliseconds
global meditationTimerMilliseconds
Timer.Create( 'mageryTimer', 1 )
while not Player.IsGhost and Player.GetRealSkillValue( 'Magery' ) < Player.GetSkillCap( 'Magery' ):
if not Timer.Check( 'mageryTimer' ):
if Player.GetSkillValue( 'Magery' ) < 62.8:
spell = spells[ 'Mana Drain' ]
elif Player.GetSkillValue( 'Magery' ) < 75.5:
spell = spells[ 'Invisibility' ]
else:
spell = spells[ 'Mana Vampire' ]
if Player.Mana > spell.manaCost:
Spells.CastMagery( spell.name )
# Wait an extra 100 ms in case of latency
Timer.Create( 'mageryTimer', spell.delayInMs + additionalShardCooldown )
# Target the cast spell on the player
Target.WaitForTarget( 2000, True )
Target.TargetExecute( Player.Serial )
else:
Player.UseSkill( 'Meditation' )
Timer.Create( 'meditationTimer', meditationTimerMilliseconds )
Misc.Pause( 200 )
while Player.Mana < spell.manaCost + 1:
if not Player.BuffsExist( 'Meditation' ) and not Timer.Check( 'meditationTimer' ):
Player.UseSkill( 'Meditation' )
Timer.Create( 'meditationTimer', meditationTimerMilliseconds )
Misc.Pause( 200 )
# 훈련을 시작합니다
TrainMagery()
마스터골드님의 댓글
마스터골드 작성일감사합니다!