RMRK is retiring.
Registration is disabled. The site will remain online, but eventually become a read-only archive. More information.

RMRK.net has nothing to do with Blockchains, Cryptocurrency or NFTs. We have been around since the early 2000s, but there is a new group using the RMRK name that deals with those things. We have nothing to do with them.
NFTs are a scam, and if somebody is trying to persuade you to buy or invest in crypto/blockchain/NFT content, please turn them down and save your money. See this video for more information.
More terrain tags

0 Members and 1 Guest are viewing this topic.

**
Rep: +0/-0Level 68
RMRK Junior
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.

Code: text [Select]
#=============================================================================
# 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