mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
Made more use of nil_or_empty?, fixed incorrect default species body shape, fixed Illusion, fixed potential foreign Pokémon with blank names
This commit is contained in:
@@ -77,7 +77,7 @@ module Compiler
|
||||
end
|
||||
|
||||
def csvQuote(str,always=false)
|
||||
return "" if !str || str==""
|
||||
return "" if nil_or_empty?(str)
|
||||
if always || str[/[,\"]/] # || str[/^\s/] || str[/\s$/] || str[/^#/]
|
||||
str = str.gsub(/[\"]/,"\\\"")
|
||||
str = "\"#{str}\""
|
||||
@@ -316,7 +316,7 @@ module Compiler
|
||||
def checkEnumField(ret,enumer)
|
||||
if enumer.is_a?(Module)
|
||||
begin
|
||||
if ret=="" || !enumer.const_defined?(ret)
|
||||
if nil_or_empty?(ret) || !enumer.const_defined?(ret)
|
||||
raise _INTL("Undefined value {1} in {2}\r\n{3}",ret,enumer.name,FileLineData.linereport)
|
||||
end
|
||||
rescue NameError
|
||||
@@ -327,7 +327,7 @@ module Compiler
|
||||
if !Kernel.const_defined?(enumer.to_sym) && GameData.const_defined?(enumer.to_sym)
|
||||
enumer = GameData.const_get(enumer.to_sym)
|
||||
begin
|
||||
if ret == "" || !enumer.exists?(ret.to_sym)
|
||||
if nil_or_empty?(ret) || !enumer.exists?(ret.to_sym)
|
||||
raise _INTL("Undefined value {1} in {2}\r\n{3}", ret, enumer.name, FileLineData.linereport)
|
||||
end
|
||||
rescue NameError
|
||||
@@ -337,7 +337,7 @@ module Compiler
|
||||
end
|
||||
enumer = Object.const_get(enumer.to_sym)
|
||||
begin
|
||||
if ret=="" || !enumer.const_defined?(ret)
|
||||
if nil_or_empty?(ret) || !enumer.const_defined?(ret)
|
||||
raise _INTL("Undefined value {1} in {2}\r\n{3}",ret,enumer.name,FileLineData.linereport)
|
||||
end
|
||||
rescue NameError
|
||||
@@ -362,16 +362,16 @@ module Compiler
|
||||
|
||||
def checkEnumFieldOrNil(ret,enumer)
|
||||
if enumer.is_a?(Module)
|
||||
return nil if ret=="" || !(enumer.const_defined?(ret) rescue false)
|
||||
return nil if nil_or_empty?(ret) || !(enumer.const_defined?(ret) rescue false)
|
||||
return enumer.const_get(ret.to_sym)
|
||||
elsif enumer.is_a?(Symbol) || enumer.is_a?(String)
|
||||
if GameData.const_defined?(enumer.to_sym)
|
||||
enumer = GameData.const_get(enumer.to_sym)
|
||||
return nil if ret == "" || !enumer.exists?(ret.to_sym)
|
||||
return nil if nil_or_empty?(re) || !enumer.exists?(ret.to_sym)
|
||||
return ret.to_sym
|
||||
end
|
||||
enumer = Object.const_get(enumer.to_sym)
|
||||
return nil if ret=="" || !(enumer.const_defined?(ret) rescue false)
|
||||
return nil if nil_or_empty?(ret) || !(enumer.const_defined?(ret) rescue false)
|
||||
return enumer.const_get(ret.to_sym)
|
||||
elsif enumer.is_a?(Array)
|
||||
idx = findIndex(enumer) { |item| ret==item }
|
||||
@@ -402,7 +402,7 @@ module Compiler
|
||||
record.push(csvInt!(rec,lineno))
|
||||
when "I" # Optional integer
|
||||
field = csvfield!(rec)
|
||||
if field==""
|
||||
if nil_or_empty?(field)
|
||||
record.push(nil)
|
||||
elsif !field[/^\-?\d+$/]
|
||||
raise _INTL("Field {1} is not an integer\r\n{2}",field,FileLineData.linereport)
|
||||
@@ -413,7 +413,7 @@ module Compiler
|
||||
record.push(csvPosInt!(rec,lineno))
|
||||
when "U" # Optional positive integer or zero
|
||||
field = csvfield!(rec)
|
||||
if field==""
|
||||
if nil_or_empty?(field)
|
||||
record.push(nil)
|
||||
elsif !field[/^\d+$/]
|
||||
raise _INTL("Field '{1}' must be 0 or greater\r\n{2}",field,FileLineData.linereport)
|
||||
@@ -426,7 +426,7 @@ module Compiler
|
||||
record.push(field)
|
||||
when "V" # Optional positive integer
|
||||
field = csvfield!(rec)
|
||||
if field==""
|
||||
if nil_or_empty?(field)
|
||||
record.push(nil)
|
||||
elsif !field[/^\d+$/]
|
||||
raise _INTL("Field '{1}' must be greater than 0\r\n{2}",field,FileLineData.linereport)
|
||||
@@ -443,7 +443,7 @@ module Compiler
|
||||
record.push(field.hex)
|
||||
when "X" # Optional hexadecimal number
|
||||
field = csvfield!(rec)
|
||||
if field==""
|
||||
if nil_or_empty?(field)
|
||||
record.push(nil)
|
||||
elsif !field[/^[A-Fa-f0-9]+$/]
|
||||
raise _INTL("Field '{1}' is not a hexadecimal number\r\n{2}",field,FileLineData.linereport)
|
||||
@@ -454,7 +454,7 @@ module Compiler
|
||||
record.push(csvFloat!(rec,lineno))
|
||||
when "F" # Optional floating point number
|
||||
field = csvfield!(rec)
|
||||
if field==""
|
||||
if nil_or_empty?(field)
|
||||
record.push(nil)
|
||||
elsif !field[/^\-?^\d*\.?\d*$/]
|
||||
raise _INTL("Field {1} is not a floating point number\r\n{2}",field,FileLineData.linereport)
|
||||
@@ -465,7 +465,7 @@ module Compiler
|
||||
record.push(csvBoolean!(rec,lineno))
|
||||
when "B" # Optional Boolean
|
||||
field = csvfield!(rec)
|
||||
if field==""
|
||||
if nil_or_empty?(field)
|
||||
record.push(nil)
|
||||
elsif field[/^1|[Tt][Rr][Uu][Ee]|[Yy][Ee][Ss]|[Tt]|[Yy]$/]
|
||||
record.push(true)
|
||||
@@ -480,7 +480,7 @@ module Compiler
|
||||
record.push(field)
|
||||
when "N" # Optional name
|
||||
field = csvfield!(rec)
|
||||
if field==""
|
||||
if nil_or_empty?(field)
|
||||
record.push(nil)
|
||||
elsif !field[/^(?![0-9])\w+$/]
|
||||
raise _INTL("Field '{1}' must contain only letters, digits, and\r\nunderscores and can't begin with a number.\r\n{2}",field,FileLineData.linereport)
|
||||
@@ -491,12 +491,12 @@ module Compiler
|
||||
record.push(csvfield!(rec))
|
||||
when "S" # Optional string
|
||||
field = csvfield!(rec)
|
||||
record.push((field=="") ? nil : field)
|
||||
record.push((nil_or_empty?(field)) ? nil : field)
|
||||
when "q" # Unformatted text
|
||||
record.push(rec)
|
||||
rec = ""
|
||||
when "Q" # Optional unformatted text
|
||||
if !rec || rec==""
|
||||
if nil_or_empty?(rec)
|
||||
record.push(nil)
|
||||
else
|
||||
record.push(rec)
|
||||
@@ -512,7 +512,7 @@ module Compiler
|
||||
record.push(csvEnumFieldOrInt!(field,schema[2+i-start],"",FileLineData.linereport))
|
||||
when "Y" # Optional enumerable or integer
|
||||
field = csvfield!(rec)
|
||||
if field==""
|
||||
if nil_or_empty?(field)
|
||||
record.push(nil)
|
||||
elsif field[/^\-?\d+$/]
|
||||
record.push(field.to_i)
|
||||
@@ -521,7 +521,7 @@ module Compiler
|
||||
end
|
||||
end
|
||||
end
|
||||
break if repeat && rec==""
|
||||
break if repeat && nil_or_empty?(rec)
|
||||
end while repeat
|
||||
return (schema[1].length==1) ? record[0] : record
|
||||
end
|
||||
|
||||
@@ -398,7 +398,7 @@ module Compiler
|
||||
for key in schema.keys
|
||||
# Skip empty properties, or raise an error if a required property is
|
||||
# empty
|
||||
if contents[key].nil? || contents[key] == ""
|
||||
if nil_or_empty?(contents[key])
|
||||
if ["Name", "InternalName"].include?(key)
|
||||
raise _INTL("The entry {1} is required in PBS/pokemon.txt section {2}.", key, species_number)
|
||||
end
|
||||
@@ -583,7 +583,7 @@ module Compiler
|
||||
# Go through schema hash of compilable data and compile this section
|
||||
for key in schema.keys
|
||||
# Skip empty properties (none are required)
|
||||
if contents[key].nil? || contents[key] == ""
|
||||
if nil_or_empty?(contents[key])
|
||||
contents[key] = nil
|
||||
next
|
||||
end
|
||||
@@ -922,7 +922,7 @@ module Compiler
|
||||
end
|
||||
new_format = true
|
||||
values = $~[1].split(',').collect! { |v| v.strip.to_i }
|
||||
values[1] = 0 if !values[1] || values[1] == ""
|
||||
values[1] = 0 if nil_or_empty?(values[1])
|
||||
map_number = values[0]
|
||||
map_version = values[1]
|
||||
# Add map encounter's data to records
|
||||
|
||||
Reference in New Issue
Block a user