Skip to content
Snippets Groups Projects
Commit fc9293b3 authored by dg's avatar dg
Browse files

New *awesome* farportal tiles

git-svn-id: http://svn.net-core.org/repos/t-engine4@2710 51575b47-30f0-44d4-a5cc-537603b46e54
parent d5e93579
No related branches found
No related tags found
No related merge requests found
Showing
with 204 additions and 99 deletions
...@@ -182,6 +182,8 @@ function _M:makeMapObject(tiles, idx) ...@@ -182,6 +182,8 @@ function _M:makeMapObject(tiles, idx)
self:check("display_on_unknown"), self:check("display_on_unknown"),
self:check("display_x") or 0, self:check("display_x") or 0,
self:check("display_y") or 0, self:check("display_y") or 0,
self:check("display_w") or 1,
self:check("display_h") or 1,
self:check("display_scale") or 1 self:check("display_scale") or 1
) )
_M.__mo_repo[self._mo] = true _M.__mo_repo[self._mo] = true
......
...@@ -228,7 +228,7 @@ function _M:getMapStackMO(map, x, y) ...@@ -228,7 +228,7 @@ function _M:getMapStackMO(map, x, y)
local tex = s:glTexture() local tex = s:glTexture()
-- Create the map object with 1 + additional textures -- Create the map object with 1 + additional textures
local _mo = core.map.newObject(0, 1, self:check("display_on_seen"), self:check("display_on_remember"), self:check("display_on_unknown"), 0, 0, 1) local _mo = core.map.newObject(0, 1, self:check("display_on_seen"), self:check("display_on_remember"), self:check("display_on_unknown"), 0, 0, 1, 1, 1)
_mo:texture(0, tex) _mo:texture(0, tex)
stackmo[nb] = _mo stackmo[nb] = _mo
......
...@@ -187,6 +187,8 @@ function _M:generate(lev, old_lev) ...@@ -187,6 +187,8 @@ function _M:generate(lev, old_lev)
g:resolve() g:resolve()
g:resolve(nil, true) g:resolve(nil, true)
self.map(i-1, j-1, Map.TERRAIN, g) self.map(i-1, j-1, Map.TERRAIN, g)
g:check("addedToLevel", self.level, i-1, j-1)
g:check("on_added", self.level, i-1, j-1)
end end
if self.status_all then if self.status_all then
......
...@@ -17,6 +17,8 @@ ...@@ -17,6 +17,8 @@
-- Nicolas Casalini "DarkGod" -- Nicolas Casalini "DarkGod"
-- darkgod@te4.org -- darkgod@te4.org
base = 64
-- Make the 2 main forks -- Make the 2 main forks
local forks local forks
local m1 local m1
...@@ -27,13 +29,18 @@ local ty ...@@ -27,13 +29,18 @@ local ty
local breakdir local breakdir
local pause = false local pause = false
local spots = {
{-64, -93},
{67, 23},
{67, -93},
{-64, 23},
}
local function make_forks(tx, ty) local function make_forks(tx, ty)
forks = {{}, {}} forks = {{}, {}}
m1 = forks[1] m1 = forks[1]
m2 = forks[2] m2 = forks[2]
tiles = math.ceil(math.sqrt(tx*tx+ty*ty)) tiles = math.ceil(math.sqrt(2*2+2*2))
tx = tx * engine.Map.tile_w
ty = ty * engine.Map.tile_h
breakdir = math.rad(rng.range(-8, 8)) breakdir = math.rad(rng.range(-8, 8))
m1.bx = 0 m1.bx = 0
m1.by = 0 m1.by = 0
...@@ -107,7 +114,8 @@ end, }, ...@@ -107,7 +114,8 @@ end, },
function(self) function(self)
-- Create a lightning -- Create a lightning
if rng.percent(1) then if rng.percent(1) then
make_forks(rng.range(-2,2), rng.range(-2,2)) local spot = rng.table(spots)
make_forks(spot[1], spot[2])
self.ps:emit(400) self.ps:emit(400)
end end
end, end,
......
-- ToME - Tales of Maj'Eyal
-- Copyright (C) 2009, 2010 Nicolas Casalini
--
-- This program is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
--
-- Nicolas Casalini "DarkGod"
-- darkgod@te4.org
base_size = 64
return {
system_rotation = 0, system_rotationv = 0.5,
base = 1000,
angle = { 0, 0 }, anglev = { 0, 0 }, anglea = { 0, 0 },
life = { 100, 100 },
size = { 256, 256 }, sizev = {0, 0}, sizea = {0, 0},
r = {255, 255}, rv = {0, 0}, ra = {0, 0},
g = {255, 255}, gv = {0, 0}, ga = {0, 0},
b = {255, 255}, bv = {0, 0}, ba = {0, 0},
a = {255, 255}, av = {0, 0}, aa = {0, 0},
}, function(self)
self.ps:emit(1)
end, 1, vortex or "shockbolt/terrain/farportal-blue-vortex", true
game/modules/tome/data/gfx/shockbolt/terrain/farportal-base.png

68.2 KiB

game/modules/tome/data/gfx/shockbolt/terrain/farportal-black-vortex.png

53.8 KiB

game/modules/tome/data/gfx/shockbolt/terrain/farportal-blue-vortex.png

67.1 KiB

game/modules/tome/data/gfx/shockbolt/terrain/farportal-void-vortex.png

35.9 KiB

...@@ -23,12 +23,13 @@ defineTile("#", "HARDWALL") ...@@ -23,12 +23,13 @@ defineTile("#", "HARDWALL")
defineTile("&", {"CRYSTAL_WALL","CRYSTAL_WALL2","CRYSTAL_WALL3","CRYSTAL_WALL4","CRYSTAL_WALL5","CRYSTAL_WALL6","CRYSTAL_WALL7","CRYSTAL_WALL8","CRYSTAL_WALL9","CRYSTAL_WALL10","CRYSTAL_WALL11","CRYSTAL_WALL12","CRYSTAL_WALL13","CRYSTAL_WALL14","CRYSTAL_WALL15","CRYSTAL_WALL16","CRYSTAL_WALL17","CRYSTAL_WALL18","CRYSTAL_WALL19","CRYSTAL_WALL20",}) defineTile("&", {"CRYSTAL_WALL","CRYSTAL_WALL2","CRYSTAL_WALL3","CRYSTAL_WALL4","CRYSTAL_WALL5","CRYSTAL_WALL6","CRYSTAL_WALL7","CRYSTAL_WALL8","CRYSTAL_WALL9","CRYSTAL_WALL10","CRYSTAL_WALL11","CRYSTAL_WALL12","CRYSTAL_WALL13","CRYSTAL_WALL14","CRYSTAL_WALL15","CRYSTAL_WALL16","CRYSTAL_WALL17","CRYSTAL_WALL18","CRYSTAL_WALL19","CRYSTAL_WALL20",})
defineTile("<", "UP_WILDERNESS") defineTile("<", "UP_WILDERNESS")
defineTile(".", "OLD_FLOOR") defineTile(".", "OLD_FLOOR")
defineTile("s", "STATUE")
defineTile("R", "ESCAPE_REKNOR") defineTile("R", "ESCAPE_REKNOR")
defineTile("2", "ARMOR_STORE") defineTile("2", "HARDWALL", nil, nil, "ARMOR_STORE")
defineTile("3", "WEAPON_STORE") defineTile("3", "HARDWALL", nil, nil, "WEAPON_STORE")
defineTile("5", "RUNIC_STORE") defineTile("5", "HARDWALL", nil, nil, "RUNIC_STORE")
defineTile("9", "GEM_STORE") defineTile("9", "HARDWALL", nil, nil, "GEM_STORE")
-- addSpot section -- addSpot section
...@@ -44,37 +45,37 @@ return [[ ...@@ -44,37 +45,37 @@ return [[
######..................##.................####### ######..................##.................#######
#####...................##..................###### #####...................##..................######
#####...................##...................##### #####...................##...................#####
####...................####..................##### ####.......####........####......####........#####
####...................####...................#### ####.......####........####......####.........####
####...................2##3...................#### ####.......####........####......####.........####
####...................####...................#### ####........###........2##3......###..........####
####....................##....................#### ####....................##....................####
####..........................................#### ####...###............................###.....####
####..........................................#### ####...####..........................####.....####
####..........................................#### ####...####..........................####.....####
####..........................................#### ####...####..........................####.....####
####..........................................#### ####.............s..............s.............####
####..........................................#### ####..........................................####
####..........................................#### ####..........................................####
####..........................................#### ####..........................................####
####..........................................#### ####..........................................####
####....................&&....................#### ####....................&&....................####
####.....####..........&&&&...........#5##....#### ####.....####..........&&&&...........####....####
##############........&&&&&&.........############# ##############........&&&&&&.........#############
##############........&&&&&&.........############# ##############........&&&&&&.........#############
####.....####..........&&&&...........#9##....#### ####.....####..........&&&&...........9##5....####
####....................&&....................#### ####....................&&....................####
####..........................................#### ####..........................................####
####..........................................#### ####..........................................####
####..........................................#### ####................................####......####
####..........................................#### ####.....####....s..............s...####......####
####..........................................#### ####.....####.......................####......####
####..........................................#### ####.....####........................###......####
####..........................................#### ####.....###....................###...........####
####..........................................#### ####..........###...............####..........####
####..........................................#### ####.........####...............####..........####
####....................##....................#### ####.........####.......##......####..........####
####...................####...................#### ####.........####......####...................####
####...................####...................#### ####...................####...................####
####...................####...................#### ####...................####...................####
#####..................####..................##### #####..................####..................#####
...@@ -85,4 +86,4 @@ return [[ ...@@ -85,4 +86,4 @@ return [[
################################################## ##################################################
################################################## ##################################################
################################################## ##################################################
##################################################]] ##################################################]]
\ No newline at end of file
...@@ -19,8 +19,9 @@ ...@@ -19,8 +19,9 @@
defineTile('.', "SAND") defineTile('.', "SAND")
defineTile('#', "PALMTREE") defineTile('#', "PALMTREE")
defineTile('~', "DEEP_WATER") defineTile('~', "DEEP_OCEAN_WATER")
defineTile('&', "CHARRED_SCAR_PORTAL") defineTile('&', "CHARRED_SCAR_PORTAL")
defineTile('!', "CCHARRED_SCAR_PORTAL")
defineTile('s', "SAND", nil, "SUN_PALADIN_GUREN") defineTile('s', "SAND", nil, "SUN_PALADIN_GUREN")
subGenerator{ subGenerator{
...@@ -91,10 +92,10 @@ return { ...@@ -91,10 +92,10 @@ return {
[[ ]], [[ ]],
[[ ]], [[ ]],
[[.....................########.....................]], [[.....................########.....................]],
[[..#.................##~~###~#.....#...............]], [[..#.................##~~~~~~###...#...............]],
[[.....#............#..#~~~~~~##.........#...#....#.]], [[.....#............#..#~~~~~~~~#........#...#....#.]],
[[...#........#.......##~~&&&~~##....#.....#..#.....]], [[...#........#.......##~~&&&~~~#....#.....#..#.....]],
[[.........#..........#~~~&&&s.............#....#...]], [[.........#..........#~~~&!&s.............#....#...]],
[[..............#.....#~~~&&&~~~#...#...#........#..]], [[..............#.....#~~~&&&~~~~#..#...#........#..]],
[[....................###~~~~~~##...................]] [[....................#~~~~~~~~~~#..................]]
} }
...@@ -27,6 +27,9 @@ defineTile('*', "HARDWALL", nil, nil, nil, {lite=true, no_teleport=true}) ...@@ -27,6 +27,9 @@ defineTile('*', "HARDWALL", nil, nil, nil, {lite=true, no_teleport=true})
defineTile('&', "FAR_EAST_PORTAL", nil, nil, nil, {lite=true, no_teleport=true}) defineTile('&', "FAR_EAST_PORTAL", nil, nil, nil, {lite=true, no_teleport=true})
defineTile('"', "WEST_PORTAL", nil, nil, nil, {lite=true, no_teleport=true}) defineTile('"', "WEST_PORTAL", nil, nil, nil, {lite=true, no_teleport=true})
defineTile('V', "VOID_PORTAL", nil, nil, nil, {lite=true, no_teleport=true}) defineTile('V', "VOID_PORTAL", nil, nil, nil, {lite=true, no_teleport=true})
defineTile('!', "CFAR_EAST_PORTAL", nil, nil, nil, {lite=true, no_teleport=true})
defineTile("'", "CWEST_PORTAL", nil, nil, nil, {lite=true, no_teleport=true})
defineTile('v', "CVOID_PORTAL", nil, nil, nil, {lite=true, no_teleport=true})
defineTile('d', "ORB_DESTRUCTION", nil, nil, nil, {lite=true, no_teleport=true}) defineTile('d', "ORB_DESTRUCTION", nil, nil, nil, {lite=true, no_teleport=true})
defineTile('D', "ORB_DRAGON", nil, nil, nil, {lite=true, no_teleport=true}) defineTile('D', "ORB_DRAGON", nil, nil, nil, {lite=true, no_teleport=true})
defineTile('E', "ORB_ELEMENTS", nil, nil, nil, {lite=true, no_teleport=true}) defineTile('E', "ORB_ELEMENTS", nil, nil, nil, {lite=true, no_teleport=true})
...@@ -58,7 +61,7 @@ return [[ ...@@ -58,7 +61,7 @@ return [[
**************......................************** **************......................**************
**************......................************** **************......................**************
*****"""******..........VVV.........******&&&***** *****"""******..........VVV.........******&&&*****
*****"""******..#####..AVVVP..####..******&&&***** *****"'"******..#####..AVvVP..####..******&!&*****
*****"""******..........VVV.........******&&&***** *****"""******..........VVV.........******&&&*****
**************......................************** **************......................**************
**************......................************** **************......................**************
......
...@@ -25,6 +25,7 @@ defineTile('$', "FLOOR", "MONEY_SMALL") ...@@ -25,6 +25,7 @@ defineTile('$', "FLOOR", "MONEY_SMALL")
defineTile('*', "FLOOR", "MONEY_BIG") defineTile('*', "FLOOR", "MONEY_BIG")
defineTile('&', "FAR_EAST_PORTAL") defineTile('&', "FAR_EAST_PORTAL")
defineTile('!', "CFAR_EAST_PORTAL")
defineTile('O', "FLOOR", nil, "GOLBUG") defineTile('O', "FLOOR", nil, "GOLBUG")
defineTile('a', "FLOOR", nil, "ORC_ARCHER") defineTile('a', "FLOOR", nil, "ORC_ARCHER")
...@@ -49,7 +50,7 @@ return [[ ...@@ -49,7 +50,7 @@ return [[
#### ###f ########## ########a ############# #### ###f ########## ########a #############
### ### # ########## ###### ########### ### ### # ########## ###### ###########
### ### ########## f##### &&& ########## ### ### ########## f##### &&& ##########
< o ###o +++++ O+++++ &&& ########## < o ###o +++++ O+++++ &!& ##########
### ## ########## i##### &&& ########## ### ## ########## i##### &&& ##########
#### ### ########## ###### ########### #### ### ########## ###### ###########
#### ###i ########## ########a ############# #### ###i ########## ########a #############
......
...@@ -52,7 +52,16 @@ start_fyrk = function(self) ...@@ -52,7 +52,16 @@ start_fyrk = function(self)
if argoniel then game.level:removeEntity(argoniel) argoniel.dead = true end if argoniel then game.level:removeEntity(argoniel) argoniel.dead = true end
local portal = game.zone:makeEntityByName(game.level, "grid", "FAR_EAST_PORTAL") local portal = game.zone:makeEntityByName(game.level, "grid", "FAR_EAST_PORTAL")
game.zone:addEntity(game.level, portal, "grid", 5, 455)
game.zone:addEntity(game.level, portal, "grid", 6, 455) game.zone:addEntity(game.level, portal, "grid", 6, 455)
game.zone:addEntity(game.level, portal, "grid", 7, 455)
game.zone:addEntity(game.level, portal, "grid", 5, 454)
game.zone:addEntity(game.level, portal, "grid", 7, 454)
game.zone:addEntity(game.level, portal, "grid", 5, 453)
game.zone:addEntity(game.level, portal, "grid", 6, 453)
game.zone:addEntity(game.level, portal, "grid", 7, 453)
local portal = game.zone:makeEntityByName(game.level, "grid", "CFAR_EAST_PORTAL")
game.zone:addEntity(game.level, portal, "grid", 6, 454)
local fyrk = game.zone:makeEntityByName(game.level, "actor", "FYRK") local fyrk = game.zone:makeEntityByName(game.level, "actor", "FYRK")
game.zone:addEntity(game.level, fyrk, "actor", 6, 455) game.zone:addEntity(game.level, fyrk, "actor", 6, 455)
......
...@@ -65,35 +65,20 @@ on_status_change = function(self, who, status, sub) ...@@ -65,35 +65,20 @@ on_status_change = function(self, who, status, sub)
end end
create_portal = function(self, npc, player) create_portal = function(self, npc, player)
self:remove_materials(player) -- self:remove_materials(player)
-- Farportal -- Farportal
local g = mod.class.Grid.new{ local g1 = game.zone:makeEntityByName(game.level, "terrain", "FAR_EAST_PORTAL")
name = "Farportal: Gates of Morning", local g2 = game.zone:makeEntityByName(game.level, "terrain", "CFAR_EAST_PORTAL")
display = '&', color_r=255, color_g=0, color_b=220, back_color=colors.VIOLET, game.zone:addEntity(game.level, g1, "terrain", 12, 42)
notice = true, game.zone:addEntity(game.level, g1, "terrain", 13, 42)
always_remember = true, game.zone:addEntity(game.level, g1, "terrain", 14, 42)
show_tooltip = true, game.zone:addEntity(game.level, g1, "terrain", 12, 43)
desc = [[A farportal is a way to travel incredible distances in the blink of an eye. They usually require an external item to use. game.zone:addEntity(game.level, g2, "terrain", 13, 43)
This one seems to go near the Gates of Morning in the Far East.]], game.zone:addEntity(game.level, g1, "terrain", 14, 43)
game.zone:addEntity(game.level, g1, "terrain", 12, 44)
orb_portal = { game.zone:addEntity(game.level, g1, "terrain", 13, 44)
change_level = 1, game.zone:addEntity(game.level, g1, "terrain", 14, 44)
change_zone = "wilderness",
change_wilderness = {
spot = {type="farportal-end", subtype="gates-of-morning"},
},
message = "#VIOLET#You enter the swirling portal and in the blink of an eye you set foot in sight of the Gates of Morning, with no trace of the portal...",
on_use = function(self, who)
end,
},
}
g:resolve() g:resolve(nil, true)
game.zone:addEntity(game.level, g, "terrain", 13, 43)
game.level.map:particleEmitter(13, 43, 3, "farportal_lightning")
game.level.map:particleEmitter(13, 43, 3, "farportal_lightning")
game.level.map:particleEmitter(13, 43, 3, "farportal_lightning")
player:setQuestStatus(self.id, engine.Quest.DONE) player:setQuestStatus(self.id, engine.Quest.DONE)
world:gainAchievement("EAST_PORTAL", game.player) world:gainAchievement("EAST_PORTAL", game.player)
......
...@@ -77,27 +77,8 @@ end ...@@ -77,27 +77,8 @@ end
create_portal = function(self, npc, player) create_portal = function(self, npc, player)
-- Farportal -- Farportal
local g = mod.class.Grid.new{ local g1 = game.zone:makeEntityByName(game.level, "terrain", "WEST_PORTAL")
name = "Farportal: Last Hope", local g2 = game.zone:makeEntityByName(game.level, "terrain", "CWEST_PORTAL")
display = '&', color_r=255, color_g=0, color_b=220, back_color=colors.VIOLET,
notice = true,
always_remember = true,
show_tooltip = true,
desc = [[A farportal is a way to travel incredible distances in the blink of an eye. They usually require an external item to use.
This one seems to go near the town of Last Hope in Maj'Eyal.]],
orb_portal = {
change_level = 1,
change_zone = "wilderness",
change_wilderness = {
spot = {type="farportal-end", subtype="last-hope"},
},
message = "#VIOLET#You enter the swirling portal and in the blink of an eye you set foot on the outskirts of Last Hope, with no trace of the portal...",
on_use = function(self, who)
end,
},
}
g:resolve() g:resolve(nil, true)
game.logPlayer(game.player, "#VIOLET#Zemekkys starts to draw runes on the floor using the athame and gem dust.") game.logPlayer(game.player, "#VIOLET#Zemekkys starts to draw runes on the floor using the athame and gem dust.")
game.logPlayer(game.player, "#VIOLET#The whole area starts to shake!") game.logPlayer(game.player, "#VIOLET#The whole area starts to shake!")
...@@ -118,12 +99,18 @@ This one seems to go near the town of Last Hope in Maj'Eyal.]], ...@@ -118,12 +99,18 @@ This one seems to go near the town of Last Hope in Maj'Eyal.]],
} }
zemekkys:resolve() zemekkys:resolve(nil, true) zemekkys:resolve() zemekkys:resolve(nil, true)
game.zone:addEntity(game.level, zemekkys, "actor", 41, 17) game.zone:addEntity(game.level, zemekkys, "actor", 39, 17)
game.zone:addEntity(game.level, g, "terrain", 41, 16) game.zone:addEntity(game.level, g1, "terrain", 40, 15)
game.level.map:particleEmitter(41, 16, 3, "farportal_lightning") game.zone:addEntity(game.level, g1, "terrain", 41, 15)
game.level.map:particleEmitter(41, 16, 3, "farportal_lightning") game.zone:addEntity(game.level, g1, "terrain", 42, 15)
game.level.map:particleEmitter(41, 16, 3, "farportal_lightning") game.zone:addEntity(game.level, g1, "terrain", 40, 16)
player:move(40, 16, true) game.zone:addEntity(game.level, g2, "terrain", 41, 16)
game.zone:addEntity(game.level, g1, "terrain", 42, 16)
game.zone:addEntity(game.level, g1, "terrain", 40, 17)
game.zone:addEntity(game.level, g1, "terrain", 41, 17)
game.zone:addEntity(game.level, g1, "terrain", 42, 17)
player:move(39, 16, true)
player:setQuestStatus(self.id, engine.Quest.DONE) player:setQuestStatus(self.id, engine.Quest.DONE)
world:gainAchievement("WEST_PORTAL", game.player) world:gainAchievement("WEST_PORTAL", game.player)
......
...@@ -48,7 +48,7 @@ newEntity{ ...@@ -48,7 +48,7 @@ newEntity{
newEntity{ newEntity{
define_as = "FAR_EAST_PORTAL", define_as = "FAR_EAST_PORTAL",
name = "Farportal: the Far East", name = "Farportal: the Far East",
display = '&', color_r=255, color_g=0, color_b=220, back_color=colors.VIOLET, display = '&', color_r=255, color_g=0, color_b=220, back_color=colors.VIOLET, image = "terrain/lava_floor.png",
notice = true, notice = true,
always_remember = true, always_remember = true,
show_tooltip = true, show_tooltip = true,
...@@ -63,3 +63,14 @@ newEntity{ ...@@ -63,3 +63,14 @@ newEntity{
message = "#VIOLET#You enter the swirling portal and in the blink of an eye you are back to the far east.", message = "#VIOLET#You enter the swirling portal and in the blink of an eye you are back to the far east.",
}, },
} }
newEntity{ base = "FAR_EAST_PORTAL", define_as = "CFAR_EAST_PORTAL",
image = "terrain/lava_floor.png",
add_displays = {class.new{image="terrain/farportal-base.png", display_x=-1, display_y=-1, display_w=3, display_h=3}},
on_added = function(self, level, x, y)
level.map:particleEmitter(x, y, 3, "farportal_vortex")
level.map:particleEmitter(x, y, 3, "farportal_lightning")
level.map:particleEmitter(x, y, 3, "farportal_lightning")
level.map:particleEmitter(y, y, 3, "farportal_lightning")
end,
}
...@@ -27,7 +27,7 @@ load("/data/general/grids/mountain.lua") ...@@ -27,7 +27,7 @@ load("/data/general/grids/mountain.lua")
newEntity{ newEntity{
define_as = "CHARRED_SCAR_PORTAL", define_as = "CHARRED_SCAR_PORTAL",
name = "Farportal: Charred Scar", name = "Farportal: Charred Scar",
display = '&', color_r=255, color_g=0, color_b=220, back_color=colors.VIOLET, display = '&', color_r=255, color_g=0, color_b=220, back_color=colors.VIOLET, image = "terrain/ocean_water_grass_5_1.png",
notice = true, notice = true,
always_remember = true, always_remember = true,
show_tooltip = true, show_tooltip = true,
...@@ -50,3 +50,14 @@ This one seems to go to the west, to Charred Scar. A fiery volcano that can only ...@@ -50,3 +50,14 @@ This one seems to go to the west, to Charred Scar. A fiery volcano that can only
end, end,
}, },
} }
newEntity{ base = "CHARRED_SCAR_PORTAL", define_as = "CCHARRED_SCAR_PORTAL",
image = "terrain/ocean_water_grass_5_1.png",
add_displays = {class.new{image="terrain/farportal-base.png", display_x=-1, display_y=-1, display_w=3, display_h=3}},
on_added = function(self, level, x, y)
level.map:particleEmitter(x, y, 3, "farportal_vortex")
level.map:particleEmitter(x, y, 3, "farportal_lightning")
level.map:particleEmitter(x, y, 3, "farportal_lightning")
level.map:particleEmitter(y, y, 3, "farportal_lightning")
end,
}
...@@ -25,7 +25,7 @@ load("/data/general/grids/lava.lua") ...@@ -25,7 +25,7 @@ load("/data/general/grids/lava.lua")
newEntity{ newEntity{
define_as = "FAR_EAST_PORTAL", define_as = "FAR_EAST_PORTAL",
name = "Farportal: the Far East", name = "Farportal: the Far East",
display = '&', color_r=255, color_g=0, color_b=220, back_color=colors.VIOLET, display = '&', color_r=255, color_g=0, color_b=220, back_color=colors.VIOLET, image = "terrain/marble_floor.png",
notice = true, notice = true,
always_remember = true, always_remember = true,
show_tooltip = true, show_tooltip = true,
...@@ -43,11 +43,21 @@ This one seems to go to the Far East.]], ...@@ -43,11 +43,21 @@ This one seems to go to the Far East.]],
end, end,
}, },
} }
newEntity{ base = "FAR_EAST_PORTAL", define_as = "CFAR_EAST_PORTAL",
image = "terrain/marble_floor.png",
add_displays = {class.new{image="terrain/farportal-base.png", display_x=-1, display_y=-1, display_w=3, display_h=3}},
on_added = function(self, level, x, y)
level.map:particleEmitter(x, y, 3, "farportal_vortex")
level.map:particleEmitter(x, y, 3, "farportal_lightning")
level.map:particleEmitter(x, y, 3, "farportal_lightning")
level.map:particleEmitter(y, y, 3, "farportal_lightning")
end,
}
newEntity{ newEntity{
define_as = "WEST_PORTAL", define_as = "WEST_PORTAL",
name = "Farportal: Iron Throne", name = "Farportal: Iron Throne",
display = '&', color_r=255, color_g=0, color_b=220, back_color=colors.VIOLET, display = '&', color_r=255, color_g=0, color_b=220, back_color=colors.VIOLET, image = "terrain/marble_floor.png",
notice = true, notice = true,
always_remember = true, always_remember = true,
show_tooltip = true, show_tooltip = true,
...@@ -65,17 +75,37 @@ This one seems to go to the Iron Throne in the West.]], ...@@ -65,17 +75,37 @@ This one seems to go to the Iron Throne in the West.]],
end, end,
}, },
} }
newEntity{ base = "WEST_PORTAL", define_as = "CWEST_PORTAL",
image = "terrain/marble_floor.png",
add_displays = {class.new{image="terrain/farportal-base.png", display_x=-1, display_y=-1, display_w=3, display_h=3}},
on_added = function(self, level, x, y)
level.map:particleEmitter(x, y, 3, "farportal_vortex")
level.map:particleEmitter(x, y, 3, "farportal_lightning")
level.map:particleEmitter(x, y, 3, "farportal_lightning")
level.map:particleEmitter(y, y, 3, "farportal_lightning")
end,
}
newEntity{ newEntity{
define_as = "VOID_PORTAL", define_as = "VOID_PORTAL",
name = "Farportal: the Void", name = "Farportal: the Void",
display = '&', color=colors.DARK_GREY, back_color=colors.VIOLET, display = '&', color=colors.DARK_GREY, back_color=colors.VIOLET, image = "terrain/marble_floor.png",
notice = true, notice = true,
always_remember = true, always_remember = true,
show_tooltip = true, show_tooltip = true,
desc = [[A farportal is a way to travel incredible distances in the blink of an eye. They usually require an external item to use. You have no idea if it is even two-way. desc = [[A farportal is a way to travel incredible distances in the blink of an eye. They usually require an external item to use. You have no idea if it is even two-way.
This one seems to go to an unknown place, seemingly out of this world. You dare not use it.]], This one seems to go to an unknown place, seemingly out of this world. You dare not use it.]],
} }
newEntity{ base = "VOID_PORTAL", define_as = "CVOID_PORTAL",
image = "terrain/marble_floor.png",
add_displays = {class.new{image="terrain/farportal-base.png", display_x=-1, display_y=-1, display_w=3, display_h=3}},
on_added = function(self, level, x, y)
level.map:particleEmitter(x, y, 3, "farportal_vortex", {vortex="shockbolt/terrain/farportal-void-vortex"})
level.map:particleEmitter(x, y, 3, "farportal_lightning")
level.map:particleEmitter(x, y, 3, "farportal_lightning")
level.map:particleEmitter(y, y, 3, "farportal_lightning")
end,
}
local invocation_close = function(self, who) local invocation_close = function(self, who)
if not who:hasQuest("high-peak") or who:hasQuest("high-peak"):isEnded() then return end if not who:hasQuest("high-peak") or who:hasQuest("high-peak"):isEnded() then return end
......
...@@ -22,7 +22,7 @@ load("/data/general/grids/basic.lua") ...@@ -22,7 +22,7 @@ load("/data/general/grids/basic.lua")
newEntity{ newEntity{
define_as = "FAR_EAST_PORTAL", define_as = "FAR_EAST_PORTAL",
name = "Farportal: the Far East", name = "Farportal: the Far East",
display = '&', color_r=255, color_g=0, color_b=220, back_color=colors.VIOLET, display = '&', color_r=255, color_g=0, color_b=220, back_color=colors.VIOLET, image = "terrain/marble_floor.png",
notice = true, notice = true,
always_remember = true, always_remember = true,
show_tooltip = true, show_tooltip = true,
...@@ -47,6 +47,21 @@ This one seems to go to the Far East, a continent of which only rumours are know ...@@ -47,6 +47,21 @@ This one seems to go to the Far East, a continent of which only rumours are know
}, },
} }
newEntity{ base = "FAR_EAST_PORTAL", define_as = "CFAR_EAST_PORTAL",
name = "Farportal: the Far East",
image = "terrain/marble_floor.png",
add_displays = {
class.new{image="terrain/farportal-base.png", display_x=-1, display_y=-1, display_w=3, display_h=3},
-- class.new{image="terrain/farportal-void-vortex.png", z=18, display_x=-1, display_y=-1, display_w=3, display_h=3},
},
on_added = function(self, level, x, y)
level.map:particleEmitter(x, y, 3, "farportal_vortex")
level.map:particleEmitter(x, y, 3, "farportal_lightning")
level.map:particleEmitter(x, y, 3, "farportal_lightning")
level.map:particleEmitter(y, y, 3, "farportal_lightning")
end,
}
newEntity{ newEntity{
define_as = "IRON_THRONE_EDICT", define_as = "IRON_THRONE_EDICT",
name = "Iron Throne Edict", lore="iron-throne-reknor-edict", name = "Iron Throne Edict", lore="iron-throne-reknor-edict",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment