This script lets you have more terrains for each map making that each map or
tileset use a unique palette of terrain tags.
It also add support for using codes and not numbers for scripters.
#=============================================================================
# More terrain tags
# By gerkrt/gerrtunk
# Version: 1
# Date: 09/09/2011
# IMPORTANT NOTE: to acces the more actualitzed or corrected version of this
# script check here: http://usuarios.multimania.es/kisap/english_list.html
# License: GPL, credits
#==============================================================================
=begin
------INTRODUCTION------
This script lets you have more terrains for each map making that each map or
tileset use a unique palette of terrain tags.
It also add support for using codes and not numbers for scripters.
------MAP OR TILESET MODE------
This script can work in two ways: based on maps or in tilesets. If there
are a palette for all maps using a tileset and for that tileset, or if
exist a palette for each map.
The sense of the config number => changues with the mode you are using.
To use the tileset mode active this line:
Terrain_tileset_mode = true
You have to add new lines for each map or tileset
Maps_indexs = {
4 => [99,1,2,3,4,5,6,7],
2 => [8,9,10,11,12,13,14,15],
9 => [8,9,10,11,12,13,14,15]
}
id de terr/map => [terr1, terr2, terr...]
Note that if you dont put a map or tileset here, it will use default ones(0-7)
------CODES------
You can use :codes for improving visual use of the tags. For this you need
set default codes, descoment the line and comnt the other set to false.
=end
module Wep
Maps_indexs = {
4 => [99,1,2,3,4,5,6,7],
2 => [8,9,10,11,12,13,14,15]
}
#Default_codes = [:op, :wep, :nor, :ir, :lar, :set, :rat, :iku]
Terrain_tileset_mode = false
Default_codes = false
end
class Game_Map
#--------------------------------------------------------------------------
# * Get Terrain Tag
# x : x-coordinate
# y : y-coordinate
#--------------------------------------------------------------------------
def terrain_tag(x, y)
if @map_id != 0
for i in [2, 1, 0]
tile_id = data[x, y, i]
if tile_id == nil
return 0
else
# If by terrain
if Wep::Terrain_tileset_mode
if Wep::Maps_indexs[@map.tileset_id] != nil
return Wep::Maps_indexs[@map.tileset_id][@terrain_tags[tile_id]]
else
if Wep::Default_codes
return Wep::Default_codes[@terrain_tags[tile_id]]
else
return @terrain_tags[tile_id]
end
end
# By map
else
if Wep::Maps_indexs[@map_id] != nil
return Wep::Maps_indexs[@map_id][@terrain_tags[tile_id]]
else
if Wep::Default_codes
return Wep::Default_codes[@terrain_tags[tile_id]]
else
return @terrain_tags[tile_id]
end
end
end
end
end
end
end
end