mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-07 13:15:01 +00:00
Added class GameData::BodyColor
This commit is contained in:
@@ -96,7 +96,7 @@ module GameData
|
|||||||
"StepsToHatch" => [0, "v"],
|
"StepsToHatch" => [0, "v"],
|
||||||
"Height" => [0, "f"],
|
"Height" => [0, "f"],
|
||||||
"Weight" => [0, "f"],
|
"Weight" => [0, "f"],
|
||||||
"Color" => [0, "e", :PBColors],
|
"Color" => [0, "e", :BodyColor],
|
||||||
"Shape" => [0, "u"],
|
"Shape" => [0, "u"],
|
||||||
"Habitat" => [0, "e", :Habitat],
|
"Habitat" => [0, "e", :Habitat],
|
||||||
"Generation" => [0, "i"],
|
"Generation" => [0, "i"],
|
||||||
@@ -159,7 +159,7 @@ module GameData
|
|||||||
@evolutions = hash[:evolutions] || []
|
@evolutions = hash[:evolutions] || []
|
||||||
@height = hash[:height] || 1
|
@height = hash[:height] || 1
|
||||||
@weight = hash[:weight] || 1
|
@weight = hash[:weight] || 1
|
||||||
@color = hash[:color] || PBColors::Red
|
@color = hash[:color] || :Red
|
||||||
@shape = hash[:shape] || 1
|
@shape = hash[:shape] || 1
|
||||||
@habitat = hash[:habitat] || :None
|
@habitat = hash[:habitat] || :None
|
||||||
@generation = hash[:generation] || 0
|
@generation = hash[:generation] || 0
|
||||||
|
|||||||
88
Data/Scripts/011_Data/002_Hardcoded data/006_BodyColor.rb
Normal file
88
Data/Scripts/011_Data/002_Hardcoded data/006_BodyColor.rb
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
# NOTE: The id_number is only used to determine the order that body colors are
|
||||||
|
# listed in the Pokédex search screen.
|
||||||
|
module GameData
|
||||||
|
class BodyColor
|
||||||
|
attr_reader :id
|
||||||
|
attr_reader :id_number
|
||||||
|
attr_reader :real_name
|
||||||
|
|
||||||
|
DATA = {}
|
||||||
|
|
||||||
|
extend ClassMethods
|
||||||
|
include InstanceMethods
|
||||||
|
|
||||||
|
def self.load; end
|
||||||
|
def self.save; end
|
||||||
|
|
||||||
|
def initialize(hash)
|
||||||
|
@id = hash[:id]
|
||||||
|
@id_number = hash[:id_number] || -1
|
||||||
|
@real_name = hash[:name] || "Unnamed"
|
||||||
|
end
|
||||||
|
|
||||||
|
# @return [String] the translated name of this body color
|
||||||
|
def name
|
||||||
|
return _INTL(@real_name)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
GameData::BodyColor.register({
|
||||||
|
:id => :Red,
|
||||||
|
:id_number => 0,
|
||||||
|
:name => _INTL("Red")
|
||||||
|
})
|
||||||
|
|
||||||
|
GameData::BodyColor.register({
|
||||||
|
:id => :Blue,
|
||||||
|
:id_number => 1,
|
||||||
|
:name => _INTL("Blue")
|
||||||
|
})
|
||||||
|
|
||||||
|
GameData::BodyColor.register({
|
||||||
|
:id => :Yellow,
|
||||||
|
:id_number => 2,
|
||||||
|
:name => _INTL("Yellow")
|
||||||
|
})
|
||||||
|
|
||||||
|
GameData::BodyColor.register({
|
||||||
|
:id => :Green,
|
||||||
|
:id_number => 3,
|
||||||
|
:name => _INTL("Green")
|
||||||
|
})
|
||||||
|
|
||||||
|
GameData::BodyColor.register({
|
||||||
|
:id => :Black,
|
||||||
|
:id_number => 4,
|
||||||
|
:name => _INTL("Black")
|
||||||
|
})
|
||||||
|
|
||||||
|
GameData::BodyColor.register({
|
||||||
|
:id => :Brown,
|
||||||
|
:id_number => 5,
|
||||||
|
:name => _INTL("Brown")
|
||||||
|
})
|
||||||
|
|
||||||
|
GameData::BodyColor.register({
|
||||||
|
:id => :Purple,
|
||||||
|
:id_number => 6,
|
||||||
|
:name => _INTL("Purple")
|
||||||
|
})
|
||||||
|
|
||||||
|
GameData::BodyColor.register({
|
||||||
|
:id => :Gray,
|
||||||
|
:id_number => 7,
|
||||||
|
:name => _INTL("Gray")
|
||||||
|
})
|
||||||
|
|
||||||
|
GameData::BodyColor.register({
|
||||||
|
:id => :White,
|
||||||
|
:id_number => 8,
|
||||||
|
:name => _INTL("White")
|
||||||
|
})
|
||||||
|
|
||||||
|
GameData::BodyColor.register({
|
||||||
|
:id => :Pink,
|
||||||
|
:id_number => 9,
|
||||||
|
:name => _INTL("Pink")
|
||||||
|
})
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
# Colors must begin at 0 and have no missing numbers
|
|
||||||
module PBColors
|
|
||||||
Red = 0
|
|
||||||
Blue = 1
|
|
||||||
Yellow = 2
|
|
||||||
Green = 3
|
|
||||||
Black = 4
|
|
||||||
Brown = 5
|
|
||||||
Purple = 6
|
|
||||||
Gray = 7
|
|
||||||
White = 8
|
|
||||||
Pink = 9
|
|
||||||
|
|
||||||
def self.maxValue; 9; end
|
|
||||||
|
|
||||||
def self.getName(id)
|
|
||||||
id = getID(PBColors,id)
|
|
||||||
names = [
|
|
||||||
_INTL("Red"),
|
|
||||||
_INTL("Blue"),
|
|
||||||
_INTL("Yellow"),
|
|
||||||
_INTL("Green"),
|
|
||||||
_INTL("Black"),
|
|
||||||
_INTL("Brown"),
|
|
||||||
_INTL("Purple"),
|
|
||||||
_INTL("Gray"),
|
|
||||||
_INTL("White"),
|
|
||||||
_INTL("Pink")
|
|
||||||
]
|
|
||||||
return names[id]
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@@ -16,7 +16,7 @@ module GameData
|
|||||||
@real_name = hash[:name] || "Unnamed"
|
@real_name = hash[:name] || "Unnamed"
|
||||||
end
|
end
|
||||||
|
|
||||||
# @return [String] the translated name of this egg group
|
# @return [String] the translated name of this habitat
|
||||||
def name
|
def name
|
||||||
return _INTL(@real_name)
|
return _INTL(@real_name)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -460,7 +460,7 @@ class PokemonPokedex_Scene
|
|||||||
# Write order, name and color parameters
|
# Write order, name and color parameters
|
||||||
textpos.push([@orderCommands[params[0]],344,60,2,base,shadow,1])
|
textpos.push([@orderCommands[params[0]],344,60,2,base,shadow,1])
|
||||||
textpos.push([(params[1]<0) ? "----" : @nameCommands[params[1]],176,118,2,base,shadow,1])
|
textpos.push([(params[1]<0) ? "----" : @nameCommands[params[1]],176,118,2,base,shadow,1])
|
||||||
textpos.push([(params[8]<0) ? "----" : @colorCommands[params[8]],444,118,2,base,shadow,1])
|
textpos.push([(params[8]<0) ? "----" : @colorCommands[params[8]].name,444,118,2,base,shadow,1])
|
||||||
# Draw type icons
|
# Draw type icons
|
||||||
if params[2]>=0
|
if params[2]>=0
|
||||||
type_number = @typeCommands[params[2]].id_number
|
type_number = @typeCommands[params[2]].id_number
|
||||||
@@ -600,6 +600,12 @@ class PokemonPokedex_Scene
|
|||||||
textpos.push([txt1,286,58,2,base,shadow,1])
|
textpos.push([txt1,286,58,2,base,shadow,1])
|
||||||
textpos.push([txt2,414,58,2,base,shadow,1])
|
textpos.push([txt2,414,58,2,base,shadow,1])
|
||||||
overlay.blt(462,52,@hwbitmap.bitmap,Rect.new(32,(hwoffset) ? 44 : 0,32,44))
|
overlay.blt(462,52,@hwbitmap.bitmap,Rect.new(32,(hwoffset) ? 44 : 0,32,44))
|
||||||
|
when 5 # Color
|
||||||
|
if sel[0]<0
|
||||||
|
textpos.push(["----",362,58,2,base,shadow,1])
|
||||||
|
else
|
||||||
|
textpos.push([cmds[sel[0]].name,362,58,2,base,shadow,1])
|
||||||
|
end
|
||||||
when 6 # Shape icon
|
when 6 # Shape icon
|
||||||
if sel[0]>=0
|
if sel[0]>=0
|
||||||
shaperect = Rect.new(0,@shapeCommands[sel[0]]*60,60,60)
|
shaperect = Rect.new(0,@shapeCommands[sel[0]]*60,60,60)
|
||||||
@@ -614,7 +620,7 @@ class PokemonPokedex_Scene
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
# Draw selected option(s) button graphic
|
# Draw selected option(s) button graphic
|
||||||
if mode==3 || mode==4 # Height, weight
|
if mode==3 || mode==4 # Height, weight
|
||||||
xpos1 = xstart+(sel[0]+1)*xgap
|
xpos1 = xstart+(sel[0]+1)*xgap
|
||||||
xpos1 = xstart if sel[0]<-1
|
xpos1 = xstart if sel[0]<-1
|
||||||
xpos2 = xstart+(sel[1]+1)*xgap
|
xpos2 = xstart+(sel[1]+1)*xgap
|
||||||
@@ -645,7 +651,7 @@ class PokemonPokedex_Scene
|
|||||||
end
|
end
|
||||||
# Draw options
|
# Draw options
|
||||||
case mode
|
case mode
|
||||||
when 0,1,5 # Order, name, color
|
when 0,1 # Order, name
|
||||||
for i in 0...cmds.length
|
for i in 0...cmds.length
|
||||||
x = xstart+halfwidth+(i%cols)*xgap
|
x = xstart+halfwidth+(i%cols)*xgap
|
||||||
y = ystart+6+(i/cols).floor*ygap
|
y = ystart+6+(i/cols).floor*ygap
|
||||||
@@ -655,7 +661,7 @@ class PokemonPokedex_Scene
|
|||||||
textpos.push([(mode==1) ? "-" : "----",
|
textpos.push([(mode==1) ? "-" : "----",
|
||||||
xstart+halfwidth+(cols-1)*xgap,ystart+6+(cmds.length/cols).floor*ygap,2,base,shadow,1])
|
xstart+halfwidth+(cols-1)*xgap,ystart+6+(cmds.length/cols).floor*ygap,2,base,shadow,1])
|
||||||
end
|
end
|
||||||
when 2 # Type
|
when 2 # Type
|
||||||
typerect = Rect.new(0,0,96,32)
|
typerect = Rect.new(0,0,96,32)
|
||||||
for i in 0...cmds.length
|
for i in 0...cmds.length
|
||||||
typerect.y = @typeCommands[i].id_number*32
|
typerect.y = @typeCommands[i].id_number*32
|
||||||
@@ -663,7 +669,15 @@ class PokemonPokedex_Scene
|
|||||||
end
|
end
|
||||||
textpos.push(["----",
|
textpos.push(["----",
|
||||||
xstart+halfwidth+(cols-1)*xgap,ystart+6+(cmds.length/cols).floor*ygap,2,base,shadow,1])
|
xstart+halfwidth+(cols-1)*xgap,ystart+6+(cmds.length/cols).floor*ygap,2,base,shadow,1])
|
||||||
when 6 # Shape
|
when 5 # Color
|
||||||
|
for i in 0...cmds.length
|
||||||
|
x = xstart+halfwidth+(i%cols)*xgap
|
||||||
|
y = ystart+6+(i/cols).floor*ygap
|
||||||
|
textpos.push([cmds[i].name,x,y,2,base,shadow,1])
|
||||||
|
end
|
||||||
|
textpos.push(["----",
|
||||||
|
xstart+halfwidth+(cols-1)*xgap,ystart+6+(cmds.length/cols).floor*ygap,2,base,shadow,1])
|
||||||
|
when 6 # Shape
|
||||||
shaperect = Rect.new(0,0,60,60)
|
shaperect = Rect.new(0,0,60,60)
|
||||||
for i in 0...cmds.length
|
for i in 0...cmds.length
|
||||||
shaperect.y = i*60
|
shaperect.y = i*60
|
||||||
@@ -738,16 +752,10 @@ class PokemonPokedex_Scene
|
|||||||
end
|
end
|
||||||
# Filter by color
|
# Filter by color
|
||||||
if params[8]>=0
|
if params[8]>=0
|
||||||
colorCommands = []
|
scolor = @colorCommands[params[8]].id
|
||||||
for i in 0..PBColors.maxValue
|
|
||||||
j = PBColors.getName(i)
|
|
||||||
colorCommands.push(i) if j
|
|
||||||
end
|
|
||||||
scolor = colorCommands[params[8]]
|
|
||||||
dexlist = dexlist.find_all { |item|
|
dexlist = dexlist.find_all { |item|
|
||||||
next false if !$Trainer.seen?(item[0])
|
next false if !$Trainer.seen?(item[0])
|
||||||
color = item[8]
|
next item[8] == scolor
|
||||||
next color==scolor
|
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
# Filter by shape
|
# Filter by shape
|
||||||
@@ -841,7 +849,9 @@ class PokemonPokedex_Scene
|
|||||||
oldindex = index
|
oldindex = index
|
||||||
minmax = 1
|
minmax = 1
|
||||||
oldminmax = minmax
|
oldminmax = minmax
|
||||||
if mode==3 || mode==4; index = oldindex = selindex[minmax]; end
|
if mode==3 || mode==4
|
||||||
|
index = oldindex = selindex[minmax]
|
||||||
|
end
|
||||||
@sprites["searchcursor"].mode = mode
|
@sprites["searchcursor"].mode = mode
|
||||||
@sprites["searchcursor"].cmds = cmds.length
|
@sprites["searchcursor"].cmds = cmds.length
|
||||||
@sprites["searchcursor"].minmax = minmax
|
@sprites["searchcursor"].minmax = minmax
|
||||||
@@ -1013,10 +1023,7 @@ class PokemonPokedex_Scene
|
|||||||
180,200,250,300,350,400,500,600,700,800,
|
180,200,250,300,350,400,500,600,700,800,
|
||||||
900,1000,1250,1500,2000,3000,5000]
|
900,1000,1250,1500,2000,3000,5000]
|
||||||
@colorCommands = []
|
@colorCommands = []
|
||||||
for i in 0..PBColors.maxValue
|
GameData::BodyColor.each { |c| @colorCommands.push(c) }
|
||||||
j = PBColors.getName(i)
|
|
||||||
@colorCommands.push(j) if j
|
|
||||||
end
|
|
||||||
@shapeCommands = []
|
@shapeCommands = []
|
||||||
for i in 0...14; @shapeCommands.push(i); end
|
for i in 0...14; @shapeCommands.push(i); end
|
||||||
@sprites["searchbg"].visible = true
|
@sprites["searchbg"].visible = true
|
||||||
|
|||||||
@@ -981,7 +981,7 @@ def pbPokemonEditor
|
|||||||
[_INTL("Evolutions"), EvolutionsProperty.new, _INTL("Evolution paths of this species.")],
|
[_INTL("Evolutions"), EvolutionsProperty.new, _INTL("Evolution paths of this species.")],
|
||||||
[_INTL("Height"), NonzeroLimitProperty.new(999), _INTL("Height of the Pokémon in 0.1 metres (e.g. 42 = 4.2m).")],
|
[_INTL("Height"), NonzeroLimitProperty.new(999), _INTL("Height of the Pokémon in 0.1 metres (e.g. 42 = 4.2m).")],
|
||||||
[_INTL("Weight"), NonzeroLimitProperty.new(9999), _INTL("Weight of the Pokémon in 0.1 kilograms (e.g. 42 = 4.2kg).")],
|
[_INTL("Weight"), NonzeroLimitProperty.new(9999), _INTL("Weight of the Pokémon in 0.1 kilograms (e.g. 42 = 4.2kg).")],
|
||||||
[_INTL("Color"), EnumProperty2.new(PBColors), _INTL("Pokémon's body color.")],
|
[_INTL("Color"), GameDataProperty.new(:BodyColor), _INTL("Pokémon's body color.")],
|
||||||
[_INTL("Shape"), LimitProperty.new(14), _INTL("Body shape of this species (0-14).")],
|
[_INTL("Shape"), LimitProperty.new(14), _INTL("Body shape of this species (0-14).")],
|
||||||
[_INTL("Habitat"), GameDataProperty.new(:Habitat), _INTL("The habitat of this species.")],
|
[_INTL("Habitat"), GameDataProperty.new(:Habitat), _INTL("The habitat of this species.")],
|
||||||
[_INTL("Generation"), LimitProperty.new(99999), _INTL("The number of the generation the Pokémon debuted in.")],
|
[_INTL("Generation"), LimitProperty.new(99999), _INTL("The number of the generation the Pokémon debuted in.")],
|
||||||
|
|||||||
@@ -300,7 +300,7 @@ module Compiler
|
|||||||
f.write(sprintf("StepsToHatch = %d\r\n", species.hatch_steps))
|
f.write(sprintf("StepsToHatch = %d\r\n", species.hatch_steps))
|
||||||
f.write(sprintf("Height = %.1f\r\n", species.height / 10.0))
|
f.write(sprintf("Height = %.1f\r\n", species.height / 10.0))
|
||||||
f.write(sprintf("Weight = %.1f\r\n", species.weight / 10.0))
|
f.write(sprintf("Weight = %.1f\r\n", species.weight / 10.0))
|
||||||
f.write(sprintf("Color = %s\r\n", getConstantName(PBColors, species.color)))
|
f.write(sprintf("Color = %s\r\n", species.color))
|
||||||
f.write(sprintf("Shape = %d\r\n", species.shape))
|
f.write(sprintf("Shape = %d\r\n", species.shape))
|
||||||
f.write(sprintf("Habitat = %s\r\n", species.habitat)) if species.habitat != :None
|
f.write(sprintf("Habitat = %s\r\n", species.habitat)) if species.habitat != :None
|
||||||
f.write(sprintf("Kind = %s\r\n", species.real_category))
|
f.write(sprintf("Kind = %s\r\n", species.real_category))
|
||||||
@@ -395,7 +395,7 @@ module Compiler
|
|||||||
f.write(sprintf("StepsToHatch = %d\r\n", species.hatch_steps)) if species.hatch_steps != base_species.hatch_steps
|
f.write(sprintf("StepsToHatch = %d\r\n", species.hatch_steps)) if species.hatch_steps != base_species.hatch_steps
|
||||||
f.write(sprintf("Height = %.1f\r\n", species.height / 10.0)) if species.height != base_species.height
|
f.write(sprintf("Height = %.1f\r\n", species.height / 10.0)) if species.height != base_species.height
|
||||||
f.write(sprintf("Weight = %.1f\r\n", species.weight / 10.0)) if species.weight != base_species.weight
|
f.write(sprintf("Weight = %.1f\r\n", species.weight / 10.0)) if species.weight != base_species.weight
|
||||||
f.write(sprintf("Color = %s\r\n", getConstantName(PBColors, species.color))) if species.color != base_species.color
|
f.write(sprintf("Color = %s\r\n", species.color)) if species.color != base_species.color
|
||||||
f.write(sprintf("Shape = %d\r\n", species.shape)) if species.shape != base_species.shape
|
f.write(sprintf("Shape = %d\r\n", species.shape)) if species.shape != base_species.shape
|
||||||
if species.habitat != :None && species.habitat != base_species.habitat
|
if species.habitat != :None && species.habitat != base_species.habitat
|
||||||
f.write(sprintf("Habitat = %s\r\n", species.habitat))
|
f.write(sprintf("Habitat = %s\r\n", species.habitat))
|
||||||
|
|||||||
Reference in New Issue
Block a user