- Awards
- 38
Hola a todos,
Hoy les traigo otro script por NetoKain, el Lion Sanctum
Nos iremos primeramente en el Remeres Map Editor, todas las ActionsID seran 40100:
Buscaremos las estatuas de Lions y les colocaremos las ActionID 40100, aqui las posiciones:
Nos iremos en data/scripts y crearemos una carpeta llamada bosses_lions y dentro un archivo llamado acess_lions_sanctum.lua
En el archivo copiaremos lo siguiente:
Ahora nos iremos en el Remeres Map editor, en el Lion Sanctum, vamos a crear el acesso a los bosses, inscribe las ActionID conforme a la imagen:
Por cada sala de boss, insertera la misma ActionID que fué insertada anteriormente en sus respectivos pisos conforme a la imagen abajo:
Ahora tendremos una secuencia de scripts, en la misma carpeta bosses_lions, crearemos un archivo llamado lions_sanctum_config.lua y le colocaremos:
En la misma carpeta, crearemos un archivo llamado bosses_lions.lua, y copiaremos:
Creareos otro archivo llamado boss_lions_death.lua y copiaremos:
Agregaremos las Storages, nos iremos en data/lib/core/storages.lua, el siguiente codigo, debe de estar dentro de la llave "Storage = {", que significa que tiene que estar dentro del codigo y no fuera del parrafo storage,
Nos iremos en data/startup/tables/door_quest.lua y colocaremos el acesso a las puertas por aquellos players que tengan el Storage 52400 con valor 1,
Ahora colocaremos los Bosses, nos iremos en data/scripts/bosses y crearemos los siguientes archivos:
katex_blood_tongue.lua
srezz_yellow_eyes.lua
utua_stone_sting.lua
yirkas_blue_scales.lua
Con esto acabamos el Lion Sanctum por NetoKain.
Hoy les traigo otro script por NetoKain, el Lion Sanctum
Nos iremos primeramente en el Remeres Map Editor, todas las ActionsID seran 40100:
Buscaremos las estatuas de Lions y les colocaremos las ActionID 40100, aqui las posiciones:
Entrada Lions Sanctum
Position
{x = 33137, y = 32352, z = 5}
Salida Lions Sanctum
Position
{x = 33116, y = 32252, z = 10}
Acess Second Floor
Position
{x = 33092, y = 32314, z = 11}
Return First Floor
Position
{x = 33090, y = 32279, z = 12}
Position
{x = 33137, y = 32352, z = 5}
Salida Lions Sanctum
Position
{x = 33116, y = 32252, z = 10}
Acess Second Floor
Position
{x = 33092, y = 32314, z = 11}
Return First Floor
Position
{x = 33090, y = 32279, z = 12}
Nos iremos en data/scripts y crearemos una carpeta llamada bosses_lions y dentro un archivo llamado acess_lions_sanctum.lua
En el archivo copiaremos lo siguiente:
statues_teleport = {
enter_lion_sanctum = {
position_statue = Position(33137, 32352, 5),
position_teleport = Position(33117, 32252, 10),
},
exit_lion_sanctum = {
position_statue = Position(33116, 32252, 10),
position_teleport = Position(33137, 32353, 5),
},
lion_sanctum_first_floor = {
position_statue = Position(33092, 32314, 11),
position_teleport = Position(33090, 32280, 12),
},
lion_sanctum_second_floor = {
position_statue = Position(33090, 32279, 12),
position_teleport = Position(33092, 32315, 11),
},
}
local lionsStatuesTeleportEnter = Action()
function lionsStatuesTeleportEnter.onUse(player, item, fromPosition, target, toPosition, isHotkey)
local statuePos = item:getPosition()
if statuePos == statues_teleport.enter_lion_sanctum.position_statue then
player:teleportTo(statues_teleport.enter_lion_sanctum.position_teleport)
player:getPosition():sendMagicEffect(CONST_ME_TELEPORT)
return true
elseif statuePos == statues_teleport.exit_lion_sanctum.position_statue then
player:teleportTo(statues_teleport.exit_lion_sanctum.position_teleport)
player:getPosition():sendMagicEffect(CONST_ME_TELEPORT)
return true
elseif statuePos == statues_teleport.lion_sanctum_first_floor.position_statue then
player:teleportTo(statues_teleport.lion_sanctum_first_floor.position_teleport)
player:getPosition():sendMagicEffect(CONST_ME_TELEPORT)
return true
elseif statuePos == statues_teleport.lion_sanctum_second_floor.position_statue then
player:teleportTo(statues_teleport.lion_sanctum_second_floor.position_teleport)
player:getPosition():sendMagicEffect(CONST_ME_TELEPORT)
return true
end
end
lionsStatuesTeleportEnter:aid(40100)
lionsStatuesTeleportEnter:register()
enter_lion_sanctum = {
position_statue = Position(33137, 32352, 5),
position_teleport = Position(33117, 32252, 10),
},
exit_lion_sanctum = {
position_statue = Position(33116, 32252, 10),
position_teleport = Position(33137, 32353, 5),
},
lion_sanctum_first_floor = {
position_statue = Position(33092, 32314, 11),
position_teleport = Position(33090, 32280, 12),
},
lion_sanctum_second_floor = {
position_statue = Position(33090, 32279, 12),
position_teleport = Position(33092, 32315, 11),
},
}
local lionsStatuesTeleportEnter = Action()
function lionsStatuesTeleportEnter.onUse(player, item, fromPosition, target, toPosition, isHotkey)
local statuePos = item:getPosition()
if statuePos == statues_teleport.enter_lion_sanctum.position_statue then
player:teleportTo(statues_teleport.enter_lion_sanctum.position_teleport)
player:getPosition():sendMagicEffect(CONST_ME_TELEPORT)
return true
elseif statuePos == statues_teleport.exit_lion_sanctum.position_statue then
player:teleportTo(statues_teleport.exit_lion_sanctum.position_teleport)
player:getPosition():sendMagicEffect(CONST_ME_TELEPORT)
return true
elseif statuePos == statues_teleport.lion_sanctum_first_floor.position_statue then
player:teleportTo(statues_teleport.lion_sanctum_first_floor.position_teleport)
player:getPosition():sendMagicEffect(CONST_ME_TELEPORT)
return true
elseif statuePos == statues_teleport.lion_sanctum_second_floor.position_statue then
player:teleportTo(statues_teleport.lion_sanctum_second_floor.position_teleport)
player:getPosition():sendMagicEffect(CONST_ME_TELEPORT)
return true
end
end
lionsStatuesTeleportEnter:aid(40100)
lionsStatuesTeleportEnter:register()
Ahora nos iremos en el Remeres Map editor, en el Lion Sanctum, vamos a crear el acesso a los bosses, inscribe las ActionID conforme a la imagen:
Por cada sala de boss, insertera la misma ActionID que fué insertada anteriormente en sus respectivos pisos conforme a la imagen abajo:
Ahora tendremos una secuencia de scripts, en la misma carpeta bosses_lions, crearemos un archivo llamado lions_sanctum_config.lua y le colocaremos:
if not bosses_lions_config then
bosses_lions_config = {
[40101] = {
center = Position(33157, 32251, 12),
maxRangeX = 7, minRangeX = 8, minRangeY = 9, maxRangeY = 9,
bossResp = Position(33159, 32255, 12),
boss = "yirkas blue scales",
teleportTo = Position(33155, 32245,12),
locked = false,
interval = 20 * 60 * 60,-- 20 hours
storage = Storage.lionsSanctumBosses.lionBoss1,
exit = Position(33123, 32240, 12),
tile_exit = Position(33154, 32245, 12)
},
[40102] = {
center = Position(33087, 32245, 12),
maxRangeX = 4, minRangeX = 4, minRangeY = 8, maxRangeY = 8,
bossResp = Position(33087, 32250, 12),
boss = "katex blood tongue",
teleportTo = Position(33087, 32240, 12),
locked = false,
interval = 20 * 60 * 60,-- 20 hours
storage = Storage.lionsSanctumBosses.lionBoss2,
exit = Position(33123, 32264, 12),
tile_exit = Position(33087, 32239, 12)
},
[40103] = {
center = Position(33152, 32287, 12),
maxRangeX = 8, minRangeX = 8, minRangeY = 8, maxRangeY = 8,
bossResp = Position(33156, 32291, 12),
boss = "srezz yellow eyes",
teleportTo = Position(33149, 32283, 12), --Place where the player will be teleported inside the room
locked = false,
interval = 20 * 60 * 60,-- 20 hours
storage = Storage.lionsSanctumBosses.lionBoss3,
exit = Position(33115, 32252, 12),
tile_exit = Position(33148, 32283, 12)
},
[40104] = {
center = Position(33122, 32283, 12),
maxRangeX = 6, minRangeX = 6, minRangeY = 8, maxRangeY = 8,
bossResp = Position(33122, 32288, 12),
boss = "utua stone sting",
teleportTo = Position(33119, 32279, 12), --Place where the player will be teleported inside the room
locked = false,
interval = 20 * 60 * 60,-- 20 hours
storage = Storage.lionsSanctumBosses.lionBoss4,
exit = Position(33130, 32252, 12),
tile_exit = Position(33119, 32278, 12)
},
}
bosses_lions_config.spawnBoss = function (name, pos)
local boss = Game.createMonster(name, pos, false, true)
if boss then
local c = bosses_lions_config.findByName(name)
c.locked = true
boss:registerEvent('BossLionsDeath')
end
end
bosses_lions_config.findByName = function(name, last)
local i, v = next(bosses_lions_config, last)
if type(v) == 'table' and v.boss == name then
return v
elseif not i then
return nil
end
return bosses_lions_config.findByName(name, i)
end
bosses_lions_config.getRoomCreatures = function(lionsbossroom)
if not lionsbossroom then
return {}
end
local ret = {}
local specs = Game.getSpectators(lionsbossroom.center, false, false,
lionsbossroom.minRangeX, lionsbossroom.maxRangeX, lionsbossroom.minRangeY, lionsbossroom.maxRangeY)
for i = 1, #specs do
ret[#ret+1] = specs
end
return ret
end
bosses_lions_config.getRoomOccupant = function(lionsbossroom, ignorePlayer)
local creatures = bosses_lions_config.getRoomCreatures(lionsbossroom)
for i = 1, #creatures do
if creatures:isPlayer() and creatures:getId() ~= ignorePlayer:getId() then
return creatures
end
end
return nil
end
bosses_lions_config.clearArena = function(lionsbossroom)
local spectators, spectator = Game.getSpectators(lionsbossroom.center, false, false,
lionsbossroom.minRangeX, lionsbossroom.maxRangeX, lionsbossroom.minRangeY, lionsbossroom.maxRangeY)
for i = 1, #spectators do
spectator = spectators
if spectator:isPlayer() then
else
spectator:remove()
end
end
end
bosses_lions_config.resetRoom = function(lionsbossroom, msg, releaseRoom)
if releaseRoom then
lionsbossroom.locked = false
end
local spectators = Game.getSpectators(lionsbossroom.center, false, false,
lionsbossroom.minRangeX, lionsbossroom.maxRangeX, lionsbossroom.minRangeY, lionsbossroom.maxRangeY)
for i = 1, #spectators do
if spectators:isPlayer() then
spectators:teleportTo(lionsbossroom.exit)
spectators:sendTextMessage(MESSAGE_EVENT_ADVANCE, msg)
else
spectators:remove()
end
end
end
end
bosses_lions_config = {
[40101] = {
center = Position(33157, 32251, 12),
maxRangeX = 7, minRangeX = 8, minRangeY = 9, maxRangeY = 9,
bossResp = Position(33159, 32255, 12),
boss = "yirkas blue scales",
teleportTo = Position(33155, 32245,12),
locked = false,
interval = 20 * 60 * 60,-- 20 hours
storage = Storage.lionsSanctumBosses.lionBoss1,
exit = Position(33123, 32240, 12),
tile_exit = Position(33154, 32245, 12)
},
[40102] = {
center = Position(33087, 32245, 12),
maxRangeX = 4, minRangeX = 4, minRangeY = 8, maxRangeY = 8,
bossResp = Position(33087, 32250, 12),
boss = "katex blood tongue",
teleportTo = Position(33087, 32240, 12),
locked = false,
interval = 20 * 60 * 60,-- 20 hours
storage = Storage.lionsSanctumBosses.lionBoss2,
exit = Position(33123, 32264, 12),
tile_exit = Position(33087, 32239, 12)
},
[40103] = {
center = Position(33152, 32287, 12),
maxRangeX = 8, minRangeX = 8, minRangeY = 8, maxRangeY = 8,
bossResp = Position(33156, 32291, 12),
boss = "srezz yellow eyes",
teleportTo = Position(33149, 32283, 12), --Place where the player will be teleported inside the room
locked = false,
interval = 20 * 60 * 60,-- 20 hours
storage = Storage.lionsSanctumBosses.lionBoss3,
exit = Position(33115, 32252, 12),
tile_exit = Position(33148, 32283, 12)
},
[40104] = {
center = Position(33122, 32283, 12),
maxRangeX = 6, minRangeX = 6, minRangeY = 8, maxRangeY = 8,
bossResp = Position(33122, 32288, 12),
boss = "utua stone sting",
teleportTo = Position(33119, 32279, 12), --Place where the player will be teleported inside the room
locked = false,
interval = 20 * 60 * 60,-- 20 hours
storage = Storage.lionsSanctumBosses.lionBoss4,
exit = Position(33130, 32252, 12),
tile_exit = Position(33119, 32278, 12)
},
}
bosses_lions_config.spawnBoss = function (name, pos)
local boss = Game.createMonster(name, pos, false, true)
if boss then
local c = bosses_lions_config.findByName(name)
c.locked = true
boss:registerEvent('BossLionsDeath')
end
end
bosses_lions_config.findByName = function(name, last)
local i, v = next(bosses_lions_config, last)
if type(v) == 'table' and v.boss == name then
return v
elseif not i then
return nil
end
return bosses_lions_config.findByName(name, i)
end
bosses_lions_config.getRoomCreatures = function(lionsbossroom)
if not lionsbossroom then
return {}
end
local ret = {}
local specs = Game.getSpectators(lionsbossroom.center, false, false,
lionsbossroom.minRangeX, lionsbossroom.maxRangeX, lionsbossroom.minRangeY, lionsbossroom.maxRangeY)
for i = 1, #specs do
ret[#ret+1] = specs
end
return ret
end
bosses_lions_config.getRoomOccupant = function(lionsbossroom, ignorePlayer)
local creatures = bosses_lions_config.getRoomCreatures(lionsbossroom)
for i = 1, #creatures do
if creatures:isPlayer() and creatures:getId() ~= ignorePlayer:getId() then
return creatures
end
end
return nil
end
bosses_lions_config.clearArena = function(lionsbossroom)
local spectators, spectator = Game.getSpectators(lionsbossroom.center, false, false,
lionsbossroom.minRangeX, lionsbossroom.maxRangeX, lionsbossroom.minRangeY, lionsbossroom.maxRangeY)
for i = 1, #spectators do
spectator = spectators
if spectator:isPlayer() then
else
spectator:remove()
end
end
end
bosses_lions_config.resetRoom = function(lionsbossroom, msg, releaseRoom)
if releaseRoom then
lionsbossroom.locked = false
end
local spectators = Game.getSpectators(lionsbossroom.center, false, false,
lionsbossroom.minRangeX, lionsbossroom.maxRangeX, lionsbossroom.minRangeY, lionsbossroom.maxRangeY)
for i = 1, #spectators do
if spectators:isPlayer() then
spectators:teleportTo(lionsbossroom.exit)
spectators:sendTextMessage(MESSAGE_EVENT_ADVANCE, msg)
else
spectators:remove()
end
end
end
end
En la misma carpeta, crearemos un archivo llamado bosses_lions.lua, y copiaremos:
local function filter(list, f, i)
if i < #list then
if f(list) then
return list, filter(list, f, i + 1)
else
return filter(list, f, i + 1)
end
elseif list and f(list) then
return list
end
end
local lionBosses = MoveEvent()
function lionBosses.onStepIn(creature, item, pos, fromPosition)
if not creature:isPlayer() then
creature:teleportTo(fromPosition)
return false
end
local lions = bosses_lions_config[item:getActionId()]
if not lions then
return false
end
print(pos.x,pos.y,pos.z)
if Position(pos) == lions.tile_exit then
creature:say("Try again later.", TALKTYPE_MONSTER_SAY, false, player)
creature:setStorageValue(lions.storage, os.time() + lions.interval)
creature:teleportTo(lions.exit)
return false
elseif creature:getStorageValue(lions.storage) > os.time() then
creature:say("You are still exhausted from your last battle.", TALKTYPE_MONSTER_SAY, false, player, fromPosition)
creature:teleportTo(fromPosition)
return false
elseif bosses_lions_config.getRoomOccupant(lions, Player(creature.uid)) then
creature:say("There is still someone else in there. Better wait for a few minutes.", TALKTYPE_MONSTER_SAY, false, player, fromPosition)
creature:teleportTo(fromPosition)
return true
elseif Position(pos) ~= lions.tile_exit then
-- Aqui é necessário criar um evento que kicka o player para fora quando acabar esse tempo, não fiz isso ainda.
creature:say("You have ten minutes to kill and loot this boss, else you will lose that chance and will be kicked out.", TALKTYPE_MONSTER_SAY, false, player, lions.teleportTo)
bosses_lions_config.clearArena(lions)
creature:teleportTo(lions.teleportTo)
bosses_lions_config.spawnBoss(lions.boss, lions.bossResp)
return true
end
end
lionBosses:type("stepin")
lionBosses:aid(40101, 40102, 40103, 40104)
lionBosses:register()
if i < #list then
if f(list) then
return list, filter(list, f, i + 1)
else
return filter(list, f, i + 1)
end
elseif list and f(list) then
return list
end
end
local lionBosses = MoveEvent()
function lionBosses.onStepIn(creature, item, pos, fromPosition)
if not creature:isPlayer() then
creature:teleportTo(fromPosition)
return false
end
local lions = bosses_lions_config[item:getActionId()]
if not lions then
return false
end
print(pos.x,pos.y,pos.z)
if Position(pos) == lions.tile_exit then
creature:say("Try again later.", TALKTYPE_MONSTER_SAY, false, player)
creature:setStorageValue(lions.storage, os.time() + lions.interval)
creature:teleportTo(lions.exit)
return false
elseif creature:getStorageValue(lions.storage) > os.time() then
creature:say("You are still exhausted from your last battle.", TALKTYPE_MONSTER_SAY, false, player, fromPosition)
creature:teleportTo(fromPosition)
return false
elseif bosses_lions_config.getRoomOccupant(lions, Player(creature.uid)) then
creature:say("There is still someone else in there. Better wait for a few minutes.", TALKTYPE_MONSTER_SAY, false, player, fromPosition)
creature:teleportTo(fromPosition)
return true
elseif Position(pos) ~= lions.tile_exit then
-- Aqui é necessário criar um evento que kicka o player para fora quando acabar esse tempo, não fiz isso ainda.
creature:say("You have ten minutes to kill and loot this boss, else you will lose that chance and will be kicked out.", TALKTYPE_MONSTER_SAY, false, player, lions.teleportTo)
bosses_lions_config.clearArena(lions)
creature:teleportTo(lions.teleportTo)
bosses_lions_config.spawnBoss(lions.boss, lions.bossResp)
return true
end
end
lionBosses:type("stepin")
lionBosses:aid(40101, 40102, 40103, 40104)
lionBosses:register()
Creareos otro archivo llamado boss_lions_death.lua y copiaremos:
-- After the boss is dead add the 20 hours delay to go in again
local BossLionsDeath = CreatureEvent("BossLionsDeath")
function BossLionsDeath.onDeath(creature, corpse, lasthitkiller, mostdamagekiller, lasthitunjustified, mostdamageunjustified)
local info = bosses_lions_config.findByName(creature:getName():lower())
if not info then
return true
end
local spectators = Game.getSpectators(info.center, false, true, info.minRangeX, info.maxRangeX, info.minRangeY, info.maxRangeY)
for i = 1, #spectators do
spectators:setStorageValue(info.storage, os.time() + info.interval)
end
return true
end
BossLionsDeath:register()
local BossLionsDeath = CreatureEvent("BossLionsDeath")
function BossLionsDeath.onDeath(creature, corpse, lasthitkiller, mostdamagekiller, lasthitunjustified, mostdamageunjustified)
local info = bosses_lions_config.findByName(creature:getName():lower())
if not info then
return true
end
local spectators = Game.getSpectators(info.center, false, true, info.minRangeX, info.maxRangeX, info.minRangeY, info.maxRangeY)
for i = 1, #spectators do
spectators:setStorageValue(info.storage, os.time() + info.interval)
end
return true
end
BossLionsDeath:register()
Agregaremos las Storages, nos iremos en data/lib/core/storages.lua, el siguiente codigo, debe de estar dentro de la llave "Storage = {", que significa que tiene que estar dentro del codigo y no fuera del parrafo storage,
-- Debajo de Storage = {
--Lion Sanctum Bosses 52396 - 52400
lionsSanctumBosses = {
lionBoss1 = 52396,
lionBoss2 = 52397,
lionBoss3 = 52398,
lionBoss4 = 52399,
lionsSanctumAcessDoors = 52400
},
--Lion Sanctum Bosses 52396 - 52400
lionsSanctumBosses = {
lionBoss1 = 52396,
lionBoss2 = 52397,
lionBoss3 = 52398,
lionBoss4 = 52399,
lionsSanctumAcessDoors = 52400
},
Nos iremos en data/startup/tables/door_quest.lua y colocaremos el acesso a las puertas por aquellos players que tengan el Storage 52400 con valor 1,
[Storage.lionsSanctumBosses.lionsSanctumAcessDoors] = {
itemId = 36405,
itemPos = {
{x = 33123, y = 32230, z = 12},
{x = 33159, y = 32322, z = 12}
}
}
itemId = 36405,
itemPos = {
{x = 33123, y = 32230, z = 12},
{x = 33159, y = 32322, z = 12}
}
}
Ahora colocaremos los Bosses, nos iremos en data/scripts/bosses y crearemos los siguientes archivos:
katex_blood_tongue.lua
local mType = Game.createMonsterType("Katex Blood Tongue")
local monster = {}
monster.description = "a katex blood tongue"
monster.experience = 4900
monster.outfit = {
lookType = 1300,
lookHead = 76,
lookBody = 21,
lookLegs = 93,
lookFeet = 93,
lookAddons = 0,
lookMount = 0
}
monster.health = 6300
monster.maxHealth = 6300
monster.race = "blood"
monster.corpse = 38656
monster.speed = 250
monster.manaCost = 0
monster.maxSummons = 0
monster.changeTarget = {
interval = 4000,
chance = 10
}
monster.strategiesTarget = {
nearest = 80,
health = 10,
damage = 10,
}
monster.flags = {
summonable = false,
attackable = true,
hostile = true,
convinceable = false,
pushable = false,
rewardBoss = true,
illusionable = false,
canPushItems = true,
canPushCreatures = true,
staticAttackChance = 90,
targetDistance = 1,
runHealth = 0,
healthHidden = false,
isBlockable = false,
canWalkOnEnergy = true,
canWalkOnFire = true,
canWalkOnPoison = true,
pet = false
}
monster.light = {
level = 0,
color = 0
}
monster.voices = {
}
monster.loot = {
{name = "platinum coin", chance = 35000, maxCount = 9},
{name = "ultimate health potion", chance = 25000, maxCount = 3},
{name = "katex' blood", chance = 25000},
{name = "werehyaena nose", chance = 25000},
{name = "werehyaena talisman", chance = 25000},
{name = "green gem", chance = 5000},
{name = "blue gem", chance = 5000},
{name = "gemmed figurine", chance = 5000},
{name = "giant sword", chance = 5000},
{name = "gold ingot", chance = 5000},
{name = "war axe", chance = 5000},
{name = "golden armor", chance = 5000},
{name = "alloy legs", chance = 2500},
{name = "skull helmet", chance = 2500},
{name = "assassin dagger", chance = 2500},
{name = "demon shield", chance = 2500},
{name = "demonrage sword", chance = 2500},
{name = "gold ring", chance = 2500},
{name = "jade hammer", chance = 2500},
{name = "werehyaena trophy", chance = 2500},
{name = "magic plate armor", chance = 2500},
{name = "ornate crossbow", chance = 2500},
{name = "ring of green plasma", chance = 2500},
{name = "spellbook of mind control", chance = 2500},
{name = "spellweaver's robe", chance = 2500},
{name = "red silk flower", chance = 1000},
}
monster.attacks = {
{name ="melee", interval = 2000, chance = 100, minDamage = 0, maxDamage = -300},
{name ="combat", interval = 2000, chance = 50, type = COMBAT_ENERGYDAMAGE, minDamage = -50, maxDamage = -180, range = 7, radius = 3, shootEffect = CONST_ANI_ENERGYBALL, effect = CONST_ME_ENERGYHIT, target = true},
}
monster.defenses = {
defense = 40,
armor = 40
}
monster.elements = {
{type = COMBAT_PHYSICALDAMAGE, percent = 0},
{type = COMBAT_ENERGYDAMAGE, percent = 0},
{type = COMBAT_EARTHDAMAGE, percent = 40},
{type = COMBAT_FIREDAMAGE, percent = 10},
{type = COMBAT_LIFEDRAIN, percent = 0},
{type = COMBAT_MANADRAIN, percent = 0},
{type = COMBAT_DROWNDAMAGE, percent = 0},
{type = COMBAT_ICEDAMAGE, percent = 0},
{type = COMBAT_HOLYDAMAGE , percent = 0},
{type = COMBAT_DEATHDAMAGE , percent = 0}
}
monster.immunities = {
{type = "paralyze", condition = true},
{type = "outfit", condition = false},
{type = "invisible", condition = true},
{type = "bleed", condition = false}
}
mType.onThink = function(monster, interval)
end
mType.onAppear = function(monster, creature)
if monster:getType():isRewardBoss() then
monster:setReward(true)
end
end
mType.onDisappear = function(monster, creature)
end
mType.onMove = function(monster, creature, fromPosition, toPosition)
end
mType.onSay = function(monster, creature, type, message)
end
mType:register(monster)
local monster = {}
monster.description = "a katex blood tongue"
monster.experience = 4900
monster.outfit = {
lookType = 1300,
lookHead = 76,
lookBody = 21,
lookLegs = 93,
lookFeet = 93,
lookAddons = 0,
lookMount = 0
}
monster.health = 6300
monster.maxHealth = 6300
monster.race = "blood"
monster.corpse = 38656
monster.speed = 250
monster.manaCost = 0
monster.maxSummons = 0
monster.changeTarget = {
interval = 4000,
chance = 10
}
monster.strategiesTarget = {
nearest = 80,
health = 10,
damage = 10,
}
monster.flags = {
summonable = false,
attackable = true,
hostile = true,
convinceable = false,
pushable = false,
rewardBoss = true,
illusionable = false,
canPushItems = true,
canPushCreatures = true,
staticAttackChance = 90,
targetDistance = 1,
runHealth = 0,
healthHidden = false,
isBlockable = false,
canWalkOnEnergy = true,
canWalkOnFire = true,
canWalkOnPoison = true,
pet = false
}
monster.light = {
level = 0,
color = 0
}
monster.voices = {
}
monster.loot = {
{name = "platinum coin", chance = 35000, maxCount = 9},
{name = "ultimate health potion", chance = 25000, maxCount = 3},
{name = "katex' blood", chance = 25000},
{name = "werehyaena nose", chance = 25000},
{name = "werehyaena talisman", chance = 25000},
{name = "green gem", chance = 5000},
{name = "blue gem", chance = 5000},
{name = "gemmed figurine", chance = 5000},
{name = "giant sword", chance = 5000},
{name = "gold ingot", chance = 5000},
{name = "war axe", chance = 5000},
{name = "golden armor", chance = 5000},
{name = "alloy legs", chance = 2500},
{name = "skull helmet", chance = 2500},
{name = "assassin dagger", chance = 2500},
{name = "demon shield", chance = 2500},
{name = "demonrage sword", chance = 2500},
{name = "gold ring", chance = 2500},
{name = "jade hammer", chance = 2500},
{name = "werehyaena trophy", chance = 2500},
{name = "magic plate armor", chance = 2500},
{name = "ornate crossbow", chance = 2500},
{name = "ring of green plasma", chance = 2500},
{name = "spellbook of mind control", chance = 2500},
{name = "spellweaver's robe", chance = 2500},
{name = "red silk flower", chance = 1000},
}
monster.attacks = {
{name ="melee", interval = 2000, chance = 100, minDamage = 0, maxDamage = -300},
{name ="combat", interval = 2000, chance = 50, type = COMBAT_ENERGYDAMAGE, minDamage = -50, maxDamage = -180, range = 7, radius = 3, shootEffect = CONST_ANI_ENERGYBALL, effect = CONST_ME_ENERGYHIT, target = true},
}
monster.defenses = {
defense = 40,
armor = 40
}
monster.elements = {
{type = COMBAT_PHYSICALDAMAGE, percent = 0},
{type = COMBAT_ENERGYDAMAGE, percent = 0},
{type = COMBAT_EARTHDAMAGE, percent = 40},
{type = COMBAT_FIREDAMAGE, percent = 10},
{type = COMBAT_LIFEDRAIN, percent = 0},
{type = COMBAT_MANADRAIN, percent = 0},
{type = COMBAT_DROWNDAMAGE, percent = 0},
{type = COMBAT_ICEDAMAGE, percent = 0},
{type = COMBAT_HOLYDAMAGE , percent = 0},
{type = COMBAT_DEATHDAMAGE , percent = 0}
}
monster.immunities = {
{type = "paralyze", condition = true},
{type = "outfit", condition = false},
{type = "invisible", condition = true},
{type = "bleed", condition = false}
}
mType.onThink = function(monster, interval)
end
mType.onAppear = function(monster, creature)
if monster:getType():isRewardBoss() then
monster:setReward(true)
end
end
mType.onDisappear = function(monster, creature)
end
mType.onMove = function(monster, creature, fromPosition, toPosition)
end
mType.onSay = function(monster, creature, type, message)
end
mType:register(monster)
srezz_yellow_eyes.lua
local mType = Game.createMonsterType("Srezz Yellow Eyes")
local monster = {}
monster.description = "a srezz yellow eyes"
monster.experience = 4800
monster.outfit = {
lookType = 220,
lookHead = 0,
lookBody = 0,
lookLegs = 0,
lookFeet = 0,
lookAddons = 0,
lookMount = 0
}
monster.health = 6200
monster.maxHealth = 6200
monster.race = "blood"
monster.corpse = 6061
monster.speed = 250
monster.manaCost = 0
monster.maxSummons = 0
monster.changeTarget = {
interval = 4000,
chance = 10
}
monster.strategiesTarget = {
nearest = 80,
health = 10,
damage = 10,
}
monster.flags = {
summonable = false,
attackable = true,
hostile = true,
convinceable = false,
pushable = false,
rewardBoss = true,
illusionable = false,
canPushItems = true,
canPushCreatures = true,
staticAttackChance = 90,
targetDistance = 1,
runHealth = 0,
healthHidden = false,
isBlockable = false,
canWalkOnEnergy = true,
canWalkOnFire = true,
canWalkOnPoison = true,
pet = false
}
monster.light = {
level = 0,
color = 0
}
monster.voices = {
}
monster.loot = {
{name = "platinum coin", chance = 35000, maxCount = 9},
{name = "ultimate health potion", chance = 25000, maxCount = 3},
{name = "snake skin", chance=7000 ,maxCount=2},
{name = "winged tail", chance=4500},
{name = "mastermind potion", chance=5000},
{name = "green gem", chance = 5000},
{name = "blue gem", chance = 5000},
{name = "violet gem", chance=4500},
{name = "blue crystal shard", chance=4000},
{name = "black pearl", chance=5200},
{name = "gemmed figurine", chance = 5000},
{name = "glacier robe", chance=2500},
{name = "glacier kilt", chance=2300},
{name = "giant sword", chance = 5000},
{name = "gold ingot", chance = 5000},
{name = "gold nugget", chance = 5000},
{name = "war axe", chance = 1400},
{name = "demonrage sword", chance = 2500},
{name = "ring of green plasma", chance = 1700},
{name = "red silk flower", chance = 500},
{name = "srezz' eye", chance=1900},
{name = "skull helmet", chance=760},
{name = "raw watermelon tourmaline", chance=760},
}
monster.attacks = {
{name ="melee", interval = 2000, chance = 100, minDamage = 0, maxDamage = -300},
{name ="combat", interval = 2000, chance = 50, type = COMBAT_ENERGYDAMAGE, minDamage = -50, maxDamage = -180, range = 7, radius = 3, shootEffect = CONST_ANI_ENERGYBALL, effect = CONST_ME_ENERGYHIT, target = true},
}
monster.defenses = {
defense = 40,
armor = 40
}
monster.elements = {
{type = COMBAT_PHYSICALDAMAGE, percent = 0},
{type = COMBAT_ENERGYDAMAGE, percent = 15},
{type = COMBAT_EARTHDAMAGE, percent = 40},
{type = COMBAT_FIREDAMAGE, percent = 10},
{type = COMBAT_LIFEDRAIN, percent = 0},
{type = COMBAT_MANADRAIN, percent = 0},
{type = COMBAT_DROWNDAMAGE, percent = 0},
{type = COMBAT_ICEDAMAGE, percent = 0},
{type = COMBAT_HOLYDAMAGE , percent = 0},
{type = COMBAT_DEATHDAMAGE , percent = 0}
}
monster.immunities = {
{type = "paralyze", condition = true},
{type = "outfit", condition = false},
{type = "invisible", condition = true},
{type = "bleed", condition = false}
}
mType.onThink = function(monster, interval)
end
mType.onAppear = function(monster, creature)
if monster:getType():isRewardBoss() then
monster:setReward(true)
end
end
mType.onDisappear = function(monster, creature)
end
mType.onMove = function(monster, creature, fromPosition, toPosition)
end
mType.onSay = function(monster, creature, type, message)
end
mType:register(monster)
local monster = {}
monster.description = "a srezz yellow eyes"
monster.experience = 4800
monster.outfit = {
lookType = 220,
lookHead = 0,
lookBody = 0,
lookLegs = 0,
lookFeet = 0,
lookAddons = 0,
lookMount = 0
}
monster.health = 6200
monster.maxHealth = 6200
monster.race = "blood"
monster.corpse = 6061
monster.speed = 250
monster.manaCost = 0
monster.maxSummons = 0
monster.changeTarget = {
interval = 4000,
chance = 10
}
monster.strategiesTarget = {
nearest = 80,
health = 10,
damage = 10,
}
monster.flags = {
summonable = false,
attackable = true,
hostile = true,
convinceable = false,
pushable = false,
rewardBoss = true,
illusionable = false,
canPushItems = true,
canPushCreatures = true,
staticAttackChance = 90,
targetDistance = 1,
runHealth = 0,
healthHidden = false,
isBlockable = false,
canWalkOnEnergy = true,
canWalkOnFire = true,
canWalkOnPoison = true,
pet = false
}
monster.light = {
level = 0,
color = 0
}
monster.voices = {
}
monster.loot = {
{name = "platinum coin", chance = 35000, maxCount = 9},
{name = "ultimate health potion", chance = 25000, maxCount = 3},
{name = "snake skin", chance=7000 ,maxCount=2},
{name = "winged tail", chance=4500},
{name = "mastermind potion", chance=5000},
{name = "green gem", chance = 5000},
{name = "blue gem", chance = 5000},
{name = "violet gem", chance=4500},
{name = "blue crystal shard", chance=4000},
{name = "black pearl", chance=5200},
{name = "gemmed figurine", chance = 5000},
{name = "glacier robe", chance=2500},
{name = "glacier kilt", chance=2300},
{name = "giant sword", chance = 5000},
{name = "gold ingot", chance = 5000},
{name = "gold nugget", chance = 5000},
{name = "war axe", chance = 1400},
{name = "demonrage sword", chance = 2500},
{name = "ring of green plasma", chance = 1700},
{name = "red silk flower", chance = 500},
{name = "srezz' eye", chance=1900},
{name = "skull helmet", chance=760},
{name = "raw watermelon tourmaline", chance=760},
}
monster.attacks = {
{name ="melee", interval = 2000, chance = 100, minDamage = 0, maxDamage = -300},
{name ="combat", interval = 2000, chance = 50, type = COMBAT_ENERGYDAMAGE, minDamage = -50, maxDamage = -180, range = 7, radius = 3, shootEffect = CONST_ANI_ENERGYBALL, effect = CONST_ME_ENERGYHIT, target = true},
}
monster.defenses = {
defense = 40,
armor = 40
}
monster.elements = {
{type = COMBAT_PHYSICALDAMAGE, percent = 0},
{type = COMBAT_ENERGYDAMAGE, percent = 15},
{type = COMBAT_EARTHDAMAGE, percent = 40},
{type = COMBAT_FIREDAMAGE, percent = 10},
{type = COMBAT_LIFEDRAIN, percent = 0},
{type = COMBAT_MANADRAIN, percent = 0},
{type = COMBAT_DROWNDAMAGE, percent = 0},
{type = COMBAT_ICEDAMAGE, percent = 0},
{type = COMBAT_HOLYDAMAGE , percent = 0},
{type = COMBAT_DEATHDAMAGE , percent = 0}
}
monster.immunities = {
{type = "paralyze", condition = true},
{type = "outfit", condition = false},
{type = "invisible", condition = true},
{type = "bleed", condition = false}
}
mType.onThink = function(monster, interval)
end
mType.onAppear = function(monster, creature)
if monster:getType():isRewardBoss() then
monster:setReward(true)
end
end
mType.onDisappear = function(monster, creature)
end
mType.onMove = function(monster, creature, fromPosition, toPosition)
end
mType.onSay = function(monster, creature, type, message)
end
mType:register(monster)
utua_stone_sting.lua
local mType = Game.createMonsterType("Utua Stone Sting")
local monster = {}
monster.description = "a utua stone sting"
monster.experience = 5100
monster.outfit = {
lookType = 398,
lookHead = 0,
lookBody = 0,
lookLegs = 0,
lookFeet = 0,
lookAddons = 0,
lookMount = 0
}
monster.health = 6400
monster.maxHealth = 6400
monster.race = "blood"
monster.corpse = 13501
monster.speed = 250
monster.manaCost = 0
monster.maxSummons = 0
monster.changeTarget = {
interval = 4000,
chance = 10
}
monster.strategiesTarget = {
nearest = 80,
health = 10,
damage = 10,
}
monster.flags = {
summonable = false,
attackable = true,
hostile = true,
convinceable = false,
pushable = false,
rewardBoss = true,
illusionable = false,
canPushItems = true,
canPushCreatures = true,
staticAttackChance = 90,
targetDistance = 1,
runHealth = 0,
healthHidden = false,
isBlockable = false,
canWalkOnEnergy = true,
canWalkOnFire = true,
canWalkOnPoison = true,
pet = false
}
monster.light = {
level = 0,
color = 0
}
monster.voices = {
}
monster.loot = {
{name = "platinum coin", chance = 35000, maxCount = 9},
{name = "ultimate health potion", chance = 25000, maxCount = 3},
{name = "scorpion tail", chance = 25000},
{name = "spellweaver's robe", chance = 2500},
{name = "emerald bangle", chance = 2500},
{name = "green gem", chance = 5000},
{name = "blue gem", chance = 5000},
{name = "violet gem", chance=4500},
{name = "blue crystal shard", chance=4000},
{name = "black pearl", chance=5200},
{name = "gemmed figurine", chance = 5000},
{name = "lightning legs", chance=2500},
{name = "glacier kilt", chance=2300},
{name = "mercenary sword", chance = 5000},
{name = "noble axe", chance = 5000},
{name = "utua's poison", chance = 5000},
{name = "gold ingot", chance = 5000},
{name = "gold nugget", chance = 5000},
{name = "warrior's axe", chance = 1400},
{name = "ring of green plasma", chance = 1700},
{name = "red silk flower", chance = 500},
{name = "skull helmet", chance=760},
{name = "chaos mace", chance=760},
{name = "coral brooch", chance=760},
{name = "crystal mace", chance=760},
{name = "demon shield", chance=760},
{name = "fist on a stick", chance=760},
{name = "guardian axe", chance=760},
{name = "magic plate armor", chance=760},
{name = "raw watermelon tourmaline", chance=760},
}
monster.attacks = {
{name ="melee", interval = 2000, chance = 100, minDamage = 0, maxDamage = -300},
{name ="combat", interval = 2000, chance = 50, type = COMBAT_ENERGYDAMAGE, minDamage = -50, maxDamage = -180, range = 7, radius = 3, shootEffect = CONST_ANI_ENERGYBALL, effect = CONST_ME_ENERGYHIT, target = true},
}
monster.defenses = {
defense = 40,
armor = 40
}
monster.elements = {
{type = COMBAT_PHYSICALDAMAGE, percent = 0},
{type = COMBAT_ENERGYDAMAGE, percent = 15},
{type = COMBAT_EARTHDAMAGE, percent = 40},
{type = COMBAT_FIREDAMAGE, percent = 10},
{type = COMBAT_LIFEDRAIN, percent = 0},
{type = COMBAT_MANADRAIN, percent = 0},
{type = COMBAT_DROWNDAMAGE, percent = 0},
{type = COMBAT_ICEDAMAGE, percent = 0},
{type = COMBAT_HOLYDAMAGE , percent = 0},
{type = COMBAT_DEATHDAMAGE , percent = 0}
}
monster.immunities = {
{type = "paralyze", condition = true},
{type = "outfit", condition = false},
{type = "invisible", condition = true},
{type = "bleed", condition = false}
}
mType.onThink = function(monster, interval)
end
mType.onAppear = function(monster, creature)
if monster:getType():isRewardBoss() then
monster:setReward(true)
end
end
mType.onDisappear = function(monster, creature)
end
mType.onMove = function(monster, creature, fromPosition, toPosition)
end
mType.onSay = function(monster, creature, type, message)
end
mType:register(monster)
local monster = {}
monster.description = "a utua stone sting"
monster.experience = 5100
monster.outfit = {
lookType = 398,
lookHead = 0,
lookBody = 0,
lookLegs = 0,
lookFeet = 0,
lookAddons = 0,
lookMount = 0
}
monster.health = 6400
monster.maxHealth = 6400
monster.race = "blood"
monster.corpse = 13501
monster.speed = 250
monster.manaCost = 0
monster.maxSummons = 0
monster.changeTarget = {
interval = 4000,
chance = 10
}
monster.strategiesTarget = {
nearest = 80,
health = 10,
damage = 10,
}
monster.flags = {
summonable = false,
attackable = true,
hostile = true,
convinceable = false,
pushable = false,
rewardBoss = true,
illusionable = false,
canPushItems = true,
canPushCreatures = true,
staticAttackChance = 90,
targetDistance = 1,
runHealth = 0,
healthHidden = false,
isBlockable = false,
canWalkOnEnergy = true,
canWalkOnFire = true,
canWalkOnPoison = true,
pet = false
}
monster.light = {
level = 0,
color = 0
}
monster.voices = {
}
monster.loot = {
{name = "platinum coin", chance = 35000, maxCount = 9},
{name = "ultimate health potion", chance = 25000, maxCount = 3},
{name = "scorpion tail", chance = 25000},
{name = "spellweaver's robe", chance = 2500},
{name = "emerald bangle", chance = 2500},
{name = "green gem", chance = 5000},
{name = "blue gem", chance = 5000},
{name = "violet gem", chance=4500},
{name = "blue crystal shard", chance=4000},
{name = "black pearl", chance=5200},
{name = "gemmed figurine", chance = 5000},
{name = "lightning legs", chance=2500},
{name = "glacier kilt", chance=2300},
{name = "mercenary sword", chance = 5000},
{name = "noble axe", chance = 5000},
{name = "utua's poison", chance = 5000},
{name = "gold ingot", chance = 5000},
{name = "gold nugget", chance = 5000},
{name = "warrior's axe", chance = 1400},
{name = "ring of green plasma", chance = 1700},
{name = "red silk flower", chance = 500},
{name = "skull helmet", chance=760},
{name = "chaos mace", chance=760},
{name = "coral brooch", chance=760},
{name = "crystal mace", chance=760},
{name = "demon shield", chance=760},
{name = "fist on a stick", chance=760},
{name = "guardian axe", chance=760},
{name = "magic plate armor", chance=760},
{name = "raw watermelon tourmaline", chance=760},
}
monster.attacks = {
{name ="melee", interval = 2000, chance = 100, minDamage = 0, maxDamage = -300},
{name ="combat", interval = 2000, chance = 50, type = COMBAT_ENERGYDAMAGE, minDamage = -50, maxDamage = -180, range = 7, radius = 3, shootEffect = CONST_ANI_ENERGYBALL, effect = CONST_ME_ENERGYHIT, target = true},
}
monster.defenses = {
defense = 40,
armor = 40
}
monster.elements = {
{type = COMBAT_PHYSICALDAMAGE, percent = 0},
{type = COMBAT_ENERGYDAMAGE, percent = 15},
{type = COMBAT_EARTHDAMAGE, percent = 40},
{type = COMBAT_FIREDAMAGE, percent = 10},
{type = COMBAT_LIFEDRAIN, percent = 0},
{type = COMBAT_MANADRAIN, percent = 0},
{type = COMBAT_DROWNDAMAGE, percent = 0},
{type = COMBAT_ICEDAMAGE, percent = 0},
{type = COMBAT_HOLYDAMAGE , percent = 0},
{type = COMBAT_DEATHDAMAGE , percent = 0}
}
monster.immunities = {
{type = "paralyze", condition = true},
{type = "outfit", condition = false},
{type = "invisible", condition = true},
{type = "bleed", condition = false}
}
mType.onThink = function(monster, interval)
end
mType.onAppear = function(monster, creature)
if monster:getType():isRewardBoss() then
monster:setReward(true)
end
end
mType.onDisappear = function(monster, creature)
end
mType.onMove = function(monster, creature, fromPosition, toPosition)
end
mType.onSay = function(monster, creature, type, message)
end
mType:register(monster)
yirkas_blue_scales.lua
local mType = Game.createMonsterType("Yirkas Blue Scales")
local monster = {}
monster.description = "a yirkas blue scales"
monster.experience = 4900
monster.outfit = {
lookType = 1196,
lookHead = 95,
lookBody = 95,
lookLegs = 95,
lookFeet = 95,
lookAddons = 3,
lookMount = 0
}
monster.health = 6300
monster.maxHealth = 6300
monster.race = "blood"
monster.corpse = 39032
monster.speed = 250
monster.manaCost = 0
monster.maxSummons = 0
monster.changeTarget = {
interval = 4000,
chance = 10
}
monster.strategiesTarget = {
nearest = 80,
health = 10,
damage = 10,
}
monster.flags = {
summonable = false,
attackable = true,
hostile = true,
convinceable = false,
pushable = false,
rewardBoss = true,
illusionable = false,
canPushItems = true,
canPushCreatures = true,
staticAttackChance = 90,
targetDistance = 1,
runHealth = 0,
healthHidden = false,
isBlockable = false,
canWalkOnEnergy = true,
canWalkOnFire = true,
canWalkOnPoison = true,
pet = false
}
monster.light = {
level = 0,
color = 0
}
monster.voices = {
}
monster.loot = {
{name = "platinum coin", chance = 35000, maxCount = 9},
{name = "ultimate health potion", chance = 25000, maxCount = 3},
{name = "blue goanna scale", chance = 25000, maxCount = 4},
{name = "green gem", chance = 5000},
{name = "blue gem", chance = 5000},
{name = "gemmed figurine", chance = 5000},
{name = "giant sword", chance = 5000},
{name = "gold ingot", chance = 5000},
{name = "lizard heart", chance = 5000},
{name = "war axe", chance = 5000},
{name = "yirkas' egg", chance = 5000},
{name = "alloy legs", chance = 2500},
{name = "assassin dagger", chance = 2500},
{name = "demon shield", chance = 2500},
{name = "demonrage sword", chance = 2500},
{name = "gold ring", chance = 2500},
{name = "jade hammer", chance = 2500},
{name = "magic plate armor", chance = 2500},
{name = "magma legs", chance = 2500},
{name = "ornate crossbow", chance = 2500},
{name = "ring of green plasma", chance = 2500},
{name = "spellbook of mind control", chance = 2500},
{name = "spellweaver's robe", chance = 2500},
{name = "red silk flower", chance = 1000},
}
monster.attacks = {
{name ="melee", interval = 2000, chance = 100, minDamage =-520, maxDamage = -850, condition = {type = CONDITION_POISON, totalDamage = 15, interval = 4000}},
{name ="combat", interval = 2000, chance = 50, type = COMBAT_ENERGYDAMAGE, minDamage = -50, maxDamage = -180, range = 7, radius = 3, shootEffect = CONST_ANI_ENERGYBALL, effect = CONST_ME_ENERGYHIT, target = true},
{name ="combat", interval = 2000, chance = 15, type = COMBAT_EARTHDAMAGE, minDamage = -300, maxDamage = -490, range = 3, radius = 1, shootEffect = CONST_ANI_EARTH, effect = CONST_ME_EXPLOSIONHIT, target = true}
}
monster.defenses = {
defense = 78,
armor = 78,
{name ="speed", interval = 2000, chance = 5, speedChange = 350, effect = CONST_ME_MAGIC_RED, target = false, duration = 5000}
}
monster.elements = {
{type = COMBAT_PHYSICALDAMAGE, percent = 0},
{type = COMBAT_ENERGYDAMAGE, percent = 15},
{type = COMBAT_EARTHDAMAGE, percent = 40},
{type = COMBAT_FIREDAMAGE, percent = 10},
{type = COMBAT_LIFEDRAIN, percent = 0},
{type = COMBAT_MANADRAIN, percent = 0},
{type = COMBAT_DROWNDAMAGE, percent = 0},
{type = COMBAT_ICEDAMAGE, percent = 0},
{type = COMBAT_HOLYDAMAGE , percent = 0},
{type = COMBAT_DEATHDAMAGE , percent = 0}
}
monster.immunities = {
{type = "paralyze", condition = true},
{type = "outfit", condition = false},
{type = "invisible", condition = true},
{type = "bleed", condition = false}
}
mType.onThink = function(monster, interval)
end
mType.onAppear = function(monster, creature)
if monster:getType():isRewardBoss() then
monster:setReward(true)
end
end
mType.onDisappear = function(monster, creature)
end
mType.onMove = function(monster, creature, fromPosition, toPosition)
end
mType.onSay = function(monster, creature, type, message)
end
mType:register(monster)
local monster = {}
monster.description = "a yirkas blue scales"
monster.experience = 4900
monster.outfit = {
lookType = 1196,
lookHead = 95,
lookBody = 95,
lookLegs = 95,
lookFeet = 95,
lookAddons = 3,
lookMount = 0
}
monster.health = 6300
monster.maxHealth = 6300
monster.race = "blood"
monster.corpse = 39032
monster.speed = 250
monster.manaCost = 0
monster.maxSummons = 0
monster.changeTarget = {
interval = 4000,
chance = 10
}
monster.strategiesTarget = {
nearest = 80,
health = 10,
damage = 10,
}
monster.flags = {
summonable = false,
attackable = true,
hostile = true,
convinceable = false,
pushable = false,
rewardBoss = true,
illusionable = false,
canPushItems = true,
canPushCreatures = true,
staticAttackChance = 90,
targetDistance = 1,
runHealth = 0,
healthHidden = false,
isBlockable = false,
canWalkOnEnergy = true,
canWalkOnFire = true,
canWalkOnPoison = true,
pet = false
}
monster.light = {
level = 0,
color = 0
}
monster.voices = {
}
monster.loot = {
{name = "platinum coin", chance = 35000, maxCount = 9},
{name = "ultimate health potion", chance = 25000, maxCount = 3},
{name = "blue goanna scale", chance = 25000, maxCount = 4},
{name = "green gem", chance = 5000},
{name = "blue gem", chance = 5000},
{name = "gemmed figurine", chance = 5000},
{name = "giant sword", chance = 5000},
{name = "gold ingot", chance = 5000},
{name = "lizard heart", chance = 5000},
{name = "war axe", chance = 5000},
{name = "yirkas' egg", chance = 5000},
{name = "alloy legs", chance = 2500},
{name = "assassin dagger", chance = 2500},
{name = "demon shield", chance = 2500},
{name = "demonrage sword", chance = 2500},
{name = "gold ring", chance = 2500},
{name = "jade hammer", chance = 2500},
{name = "magic plate armor", chance = 2500},
{name = "magma legs", chance = 2500},
{name = "ornate crossbow", chance = 2500},
{name = "ring of green plasma", chance = 2500},
{name = "spellbook of mind control", chance = 2500},
{name = "spellweaver's robe", chance = 2500},
{name = "red silk flower", chance = 1000},
}
monster.attacks = {
{name ="melee", interval = 2000, chance = 100, minDamage =-520, maxDamage = -850, condition = {type = CONDITION_POISON, totalDamage = 15, interval = 4000}},
{name ="combat", interval = 2000, chance = 50, type = COMBAT_ENERGYDAMAGE, minDamage = -50, maxDamage = -180, range = 7, radius = 3, shootEffect = CONST_ANI_ENERGYBALL, effect = CONST_ME_ENERGYHIT, target = true},
{name ="combat", interval = 2000, chance = 15, type = COMBAT_EARTHDAMAGE, minDamage = -300, maxDamage = -490, range = 3, radius = 1, shootEffect = CONST_ANI_EARTH, effect = CONST_ME_EXPLOSIONHIT, target = true}
}
monster.defenses = {
defense = 78,
armor = 78,
{name ="speed", interval = 2000, chance = 5, speedChange = 350, effect = CONST_ME_MAGIC_RED, target = false, duration = 5000}
}
monster.elements = {
{type = COMBAT_PHYSICALDAMAGE, percent = 0},
{type = COMBAT_ENERGYDAMAGE, percent = 15},
{type = COMBAT_EARTHDAMAGE, percent = 40},
{type = COMBAT_FIREDAMAGE, percent = 10},
{type = COMBAT_LIFEDRAIN, percent = 0},
{type = COMBAT_MANADRAIN, percent = 0},
{type = COMBAT_DROWNDAMAGE, percent = 0},
{type = COMBAT_ICEDAMAGE, percent = 0},
{type = COMBAT_HOLYDAMAGE , percent = 0},
{type = COMBAT_DEATHDAMAGE , percent = 0}
}
monster.immunities = {
{type = "paralyze", condition = true},
{type = "outfit", condition = false},
{type = "invisible", condition = true},
{type = "bleed", condition = false}
}
mType.onThink = function(monster, interval)
end
mType.onAppear = function(monster, creature)
if monster:getType():isRewardBoss() then
monster:setReward(true)
end
end
mType.onDisappear = function(monster, creature)
end
mType.onMove = function(monster, creature, fromPosition, toPosition)
end
mType.onSay = function(monster, creature, type, message)
end
mType:register(monster)
Con esto acabamos el Lion Sanctum por NetoKain.