mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-07 13:15:01 +00:00
Moved item data constants into module ItemData
This commit is contained in:
@@ -41,7 +41,7 @@ class PokeBattle_Battle
|
||||
#=============================================================================
|
||||
def pbConsumeItemInBag(item,idxBattler)
|
||||
return if item==0
|
||||
useType = pbGetItemData(item,ITEM_BATTLE_USE)
|
||||
useType = pbGetItemData(item,ItemData::BATTLE_USE)
|
||||
return if !useType || useType==0 || (useType>=6 && useType<=10) # Not consumed upon use
|
||||
if pbOwnedByPlayer?(idxBattler)
|
||||
if !$PokemonBag.pbDeleteItem(item)
|
||||
@@ -60,7 +60,7 @@ class PokeBattle_Battle
|
||||
|
||||
def pbReturnUnusedItemToBag(item,idxBattler)
|
||||
return if item==0
|
||||
useType = pbGetItemData(item,ITEM_BATTLE_USE)
|
||||
useType = pbGetItemData(item,ItemData::BATTLE_USE)
|
||||
return if !useType || useType==0 || (useType>=6 && useType<=10) # Not consumed upon use
|
||||
if pbOwnedByPlayer?(idxBattler)
|
||||
if $PokemonBag && $PokemonBag.pbCanStore?(item)
|
||||
|
||||
@@ -70,7 +70,7 @@ class PokeBattle_Battle
|
||||
b.lastMoveFailed = false # Counts as a successful move for Stomping Tantrum
|
||||
item = @choices[b.index][1]
|
||||
next if !item || item<=0
|
||||
useType = pbGetItemData(item,ITEM_BATTLE_USE)
|
||||
useType = pbGetItemData(item,ItemData::BATTLE_USE)
|
||||
next if !useType
|
||||
case useType
|
||||
when 1, 2, 6, 7 # Use on Pokémon/Pokémon's move
|
||||
|
||||
@@ -7,7 +7,7 @@ class PokeBattle_AI
|
||||
item, idxTarget = pbEnemyItemToUse(idxBattler)
|
||||
return false if item==0
|
||||
# Determine target of item (always the Pokémon choosing the action)
|
||||
useType = pbGetItemData(item,ITEM_BATTLE_USE)
|
||||
useType = pbGetItemData(item,ItemData::BATTLE_USE)
|
||||
if useType && (useType==1 || useType==6) # Use on Pokémon
|
||||
idxTarget = @battle.battlers[idxTarget].pokemonIndex # Party Pokémon
|
||||
end
|
||||
|
||||
@@ -200,7 +200,7 @@ class PokeBattle_Scene
|
||||
# Start Bag screen
|
||||
itemScene = PokemonBag_Scene.new
|
||||
itemScene.pbStartScene($PokemonBag,true,Proc.new { |item|
|
||||
useType = pbGetItemData(item,ITEM_BATTLE_USE)
|
||||
useType = pbGetItemData(item,ItemData::BATTLE_USE)
|
||||
next useType && useType>0
|
||||
},false)
|
||||
# Loop while in Bag screen
|
||||
@@ -211,7 +211,7 @@ class PokeBattle_Scene
|
||||
break if item==0
|
||||
# Choose a command for the selected item
|
||||
itemName = PBItems.getName(item)
|
||||
useType = pbGetItemData(item,ITEM_BATTLE_USE)
|
||||
useType = pbGetItemData(item,ItemData::BATTLE_USE)
|
||||
cmdUse = -1
|
||||
commands = []
|
||||
commands[cmdUse = commands.length] = _INTL("Use") if useType && useType!=0
|
||||
|
||||
@@ -263,7 +263,7 @@ def pbDayCareGenerateEgg
|
||||
itemsData = pbLoadItemsData
|
||||
for i in 0...itemsData.length
|
||||
next if !itemsData[i]
|
||||
atk = itemsData[i][ITEM_MACHINE]
|
||||
atk = itemsData[i][ItemData::MOVE]
|
||||
next if !atk || atk==0
|
||||
next if !egg.compatibleWithMove?(atk)
|
||||
next if !movefather.hasMove?(atk)
|
||||
|
||||
@@ -1,16 +1,18 @@
|
||||
#===============================================================================
|
||||
# Item data
|
||||
#===============================================================================
|
||||
ITEM_ID = 0
|
||||
ITEM_NAME = 1
|
||||
ITEM_PLURAL = 2
|
||||
ITEM_POCKET = 3
|
||||
ITEM_PRICE = 4
|
||||
ITEM_DESCRIPTION = 5
|
||||
ITEM_FIELD_USE = 6
|
||||
ITEM_BATTLE_USE = 7
|
||||
ITEM_TYPE = 8
|
||||
ITEM_MACHINE = 9
|
||||
module ItemData
|
||||
ID = 0
|
||||
NAME = 1
|
||||
NAME_PLURAL = 2
|
||||
POCKET = 3
|
||||
PRICE = 4
|
||||
DESCRIPTION = 5
|
||||
FIELD_USE = 6
|
||||
BATTLE_USE = 7
|
||||
TYPE = 8
|
||||
MOVE = 9
|
||||
end
|
||||
|
||||
|
||||
|
||||
@@ -42,92 +44,92 @@ def pbClearData
|
||||
end
|
||||
|
||||
def pbGetPocket(item)
|
||||
ret = pbGetItemData(item,ITEM_POCKET)
|
||||
ret = pbGetItemData(item,ItemData::POCKET)
|
||||
return ret || 0
|
||||
end
|
||||
|
||||
def pbGetPrice(item)
|
||||
ret = pbGetItemData(item,ITEM_PRICE)
|
||||
ret = pbGetItemData(item,ItemData::PRICE)
|
||||
return ret || 0
|
||||
end
|
||||
|
||||
def pbGetMachine(item)
|
||||
ret = pbGetItemData(item,ITEM_MACHINE)
|
||||
ret = pbGetItemData(item,ItemData::MOVE)
|
||||
return ret || 0
|
||||
end
|
||||
|
||||
def pbIsTechnicalMachine?(item)
|
||||
ret = pbGetItemData(item,ITEM_FIELD_USE)
|
||||
ret = pbGetItemData(item,ItemData::FIELD_USE)
|
||||
return ret && ret==3
|
||||
end
|
||||
|
||||
def pbIsHiddenMachine?(item)
|
||||
ret = pbGetItemData(item,ITEM_FIELD_USE)
|
||||
ret = pbGetItemData(item,ItemData::FIELD_USE)
|
||||
return ret && ret==4
|
||||
end
|
||||
|
||||
def pbIsMachine?(item)
|
||||
ret = pbGetItemData(item,ITEM_FIELD_USE)
|
||||
ret = pbGetItemData(item,ItemData::FIELD_USE)
|
||||
return ret && (ret==3 || ret==4)
|
||||
end
|
||||
|
||||
def pbIsMail?(item)
|
||||
ret = pbGetItemData(item,ITEM_TYPE)
|
||||
ret = pbGetItemData(item,ItemData::TYPE)
|
||||
return ret && (ret==1 || ret==2)
|
||||
end
|
||||
|
||||
def pbIsMailWithPokemonIcons?(item)
|
||||
ret = pbGetItemData(item,ITEM_TYPE)
|
||||
ret = pbGetItemData(item,ItemData::TYPE)
|
||||
return ret && ret==2
|
||||
end
|
||||
|
||||
def pbIsPokeBall?(item)
|
||||
ret = pbGetItemData(item,ITEM_TYPE)
|
||||
ret = pbGetItemData(item,ItemData::TYPE)
|
||||
return ret && (ret==3 || ret==4)
|
||||
end
|
||||
|
||||
def pbIsSnagBall?(item)
|
||||
ret = pbGetItemData(item,ITEM_TYPE)
|
||||
ret = pbGetItemData(item,ItemData::TYPE)
|
||||
return ret && (ret==3 || (ret==4 && $PokemonGlobal.snagMachine))
|
||||
end
|
||||
|
||||
def pbIsBerry?(item)
|
||||
ret = pbGetItemData(item,ITEM_TYPE)
|
||||
ret = pbGetItemData(item,ItemData::TYPE)
|
||||
return ret && ret==5
|
||||
end
|
||||
|
||||
def pbIsKeyItem?(item)
|
||||
ret = pbGetItemData(item,ITEM_TYPE)
|
||||
ret = pbGetItemData(item,ItemData::TYPE)
|
||||
return ret && ret==6
|
||||
end
|
||||
|
||||
def pbIsEvolutionStone?(item)
|
||||
ret = pbGetItemData(item,ITEM_TYPE)
|
||||
ret = pbGetItemData(item,ItemData::TYPE)
|
||||
return ret && ret==7
|
||||
end
|
||||
|
||||
def pbIsFossil?(item)
|
||||
ret = pbGetItemData(item,ITEM_TYPE)
|
||||
ret = pbGetItemData(item,ItemData::TYPE)
|
||||
return ret && ret==8
|
||||
end
|
||||
|
||||
def pbIsApricorn?(item)
|
||||
ret = pbGetItemData(item,ITEM_TYPE)
|
||||
ret = pbGetItemData(item,ItemData::TYPE)
|
||||
return ret && ret==9
|
||||
end
|
||||
|
||||
def pbIsGem?(item)
|
||||
ret = pbGetItemData(item,ITEM_TYPE)
|
||||
ret = pbGetItemData(item,ItemData::TYPE)
|
||||
return ret && ret==10
|
||||
end
|
||||
|
||||
def pbIsMulch?(item)
|
||||
ret = pbGetItemData(item,ITEM_TYPE)
|
||||
ret = pbGetItemData(item,ItemData::TYPE)
|
||||
return ret && ret==11
|
||||
end
|
||||
|
||||
def pbIsMegaStone?(item) # Does NOT include Red Orb/Blue Orb
|
||||
ret = pbGetItemData(item,ITEM_TYPE)
|
||||
ret = pbGetItemData(item,ItemData::TYPE)
|
||||
return ret && ret==12
|
||||
end
|
||||
|
||||
@@ -135,9 +137,9 @@ end
|
||||
def pbIsImportantItem?(item)
|
||||
itemData = pbLoadItemsData[getID(PBItems,item)]
|
||||
return false if !itemData
|
||||
return true if itemData[ITEM_TYPE] && itemData[ITEM_TYPE]==6 # Key item
|
||||
return true if itemData[ITEM_FIELD_USE] && itemData[ITEM_FIELD_USE]==4 # HM
|
||||
return true if itemData[ITEM_FIELD_USE] && itemData[ITEM_FIELD_USE]==3 && INFINITE_TMS # TM
|
||||
return true if itemData[ItemData::TYPE] && itemData[ItemData::TYPE]==6 # Key item
|
||||
return true if itemData[ItemData::FIELD_USE] && itemData[ItemData::FIELD_USE]==4 # HM
|
||||
return true if itemData[ItemData::FIELD_USE] && itemData[ItemData::FIELD_USE]==3 && INFINITE_TMS # TM
|
||||
return false
|
||||
end
|
||||
|
||||
@@ -681,7 +683,7 @@ end
|
||||
# Use an item from the Bag and/or on a Pokémon
|
||||
#===============================================================================
|
||||
def pbUseItem(bag,item,bagscene=nil)
|
||||
useType = pbGetItemData(item,ITEM_FIELD_USE)
|
||||
useType = pbGetItemData(item,ItemData::FIELD_USE)
|
||||
if pbIsMachine?(item) # TM or HM
|
||||
if $Trainer.pokemonCount==0
|
||||
pbMessage(_INTL("There is no Pokémon."))
|
||||
@@ -782,7 +784,7 @@ def pbUseItemOnPokemon(item,pkmn,scene)
|
||||
ret = ItemHandlers.triggerUseOnPokemon(item,pkmn,scene)
|
||||
scene.pbClearAnnotations
|
||||
scene.pbHardRefresh
|
||||
useType = pbGetItemData(item,ITEM_FIELD_USE)
|
||||
useType = pbGetItemData(item,ItemData::FIELD_USE)
|
||||
if ret && useType && useType==1 # Usable on Pokémon, consumed
|
||||
$PokemonBag.pbDeleteItem(item)
|
||||
if !$PokemonBag.pbHasItem?(item)
|
||||
|
||||
@@ -635,26 +635,26 @@ def pbItemEditor
|
||||
else
|
||||
data = [getConstantName(PBItems,selection)]
|
||||
itemdata = pbLoadItemsData
|
||||
data.push(itemdata[selection][ITEM_NAME])
|
||||
data.push(itemdata[selection][ITEM_PLURAL])
|
||||
data.push(itemdata[selection][ITEM_POCKET])
|
||||
data.push(itemdata[selection][ITEM_PRICE])
|
||||
data.push(itemdata[selection][ITEM_DESCRIPTION])
|
||||
data.push(itemdata[selection][ITEM_FIELD_USE])
|
||||
data.push(itemdata[selection][ITEM_BATTLE_USE])
|
||||
data.push(itemdata[selection][ITEM_TYPE])
|
||||
data.push(itemdata[selection][ITEM_MACHINE])
|
||||
save = pbPropertyList(data[ITEM_NAME],data,items,true)
|
||||
data.push(itemdata[selection][ItemData::NAME])
|
||||
data.push(itemdata[selection][ItemData::NAME_PLURAL])
|
||||
data.push(itemdata[selection][ItemData::POCKET])
|
||||
data.push(itemdata[selection][ItemData::PRICE])
|
||||
data.push(itemdata[selection][ItemData::DESCRIPTION])
|
||||
data.push(itemdata[selection][ItemData::FIELD_USE])
|
||||
data.push(itemdata[selection][ItemData::BATTLE_USE])
|
||||
data.push(itemdata[selection][ItemData::TYPE])
|
||||
data.push(itemdata[selection][ItemData::MOVE])
|
||||
save = pbPropertyList(data[ItemData::NAME],data,items,true)
|
||||
if save
|
||||
itemdata[selection][ITEM_NAME] = data[ITEM_NAME]
|
||||
itemdata[selection][ITEM_PLURAL] = data[ITEM_PLURAL]
|
||||
itemdata[selection][ITEM_POCKET] = data[ITEM_POCKET]
|
||||
itemdata[selection][ITEM_PRICE] = data[ITEM_PRICE]
|
||||
itemdata[selection][ITEM_DESCRIPTION] = data[ITEM_DESCRIPTION]
|
||||
itemdata[selection][ITEM_FIELD_USE] = data[ITEM_FIELD_USE]
|
||||
itemdata[selection][ITEM_BATTLE_USE] = data[ITEM_BATTLE_USE]
|
||||
itemdata[selection][ITEM_TYPE] = data[ITEM_TYPE]
|
||||
itemdata[selection][ITEM_MACHINE] = data[ITEM_MACHINE]
|
||||
itemdata[selection][ItemData::NAME] = data[ItemData::NAME]
|
||||
itemdata[selection][ItemData::NAME_PLURAL] = data[ItemData::NAME_PLURAL]
|
||||
itemdata[selection][ItemData::POCKET] = data[ItemData::POCKET]
|
||||
itemdata[selection][ItemData::PRICE] = data[ItemData::PRICE]
|
||||
itemdata[selection][ItemData::DESCRIPTION] = data[ItemData::DESCRIPTION]
|
||||
itemdata[selection][ItemData::FIELD_USE] = data[ItemData::FIELD_USE]
|
||||
itemdata[selection][ItemData::BATTLE_USE] = data[ItemData::BATTLE_USE]
|
||||
itemdata[selection][ItemData::TYPE] = data[ItemData::TYPE]
|
||||
itemdata[selection][ItemData::MOVE] = data[ItemData::MOVE]
|
||||
save_data(itemdata,"Data/items.dat")
|
||||
$PokemonTemp.itemsData = nil
|
||||
pbSaveItems
|
||||
@@ -711,15 +711,15 @@ def pbItemEditorNew(defaultname)
|
||||
return -1 if price==-1
|
||||
desc = StringProperty.set(_INTL("Description"),"")
|
||||
# Item list will create record automatically
|
||||
itemdata[index][ITEM_ID] = index
|
||||
itemdata[index][ITEM_NAME] = itemname
|
||||
itemdata[index][ITEM_POCKET] = pocket
|
||||
itemdata[index][ITEM_PRICE] = price
|
||||
itemdata[index][ITEM_DESCRIPTION] = desc
|
||||
itemdata[index][ITEM_FIELD_USE] = 0
|
||||
itemdata[index][ITEM_BATTLE_USE] = 0
|
||||
itemdata[index][ITEM_TYPE] = 0
|
||||
itemdata[index][ITEM_MACHINE] = 0
|
||||
itemdata[index][ItemData::ID] = index
|
||||
itemdata[index][ItemData::NAME] = itemname
|
||||
itemdata[index][ItemData::POCKET] = pocket
|
||||
itemdata[index][ItemData::PRICE] = price
|
||||
itemdata[index][ItemData::DESCRIPTION] = desc
|
||||
itemdata[index][ItemData::FIELD_USE] = 0
|
||||
itemdata[index][ItemData::BATTLE_USE] = 0
|
||||
itemdata[index][ItemData::TYPE] = 0
|
||||
itemdata[index][ItemData::MOVE] = 0
|
||||
PBItems.const_set(cname,index)
|
||||
save_data(itemdata,"Data/items.dat")
|
||||
$PokemonTemp.itemsData = nil
|
||||
|
||||
@@ -242,19 +242,26 @@ def pbSaveItems
|
||||
data = itemData[i]
|
||||
cname = getConstantName(PBItems,i) rescue sprintf("ITEM%03d",i)
|
||||
next if !cname || cname=="" || data[0]==0
|
||||
if curpocket!=data[ITEM_POCKET]
|
||||
curpocket = data[ITEM_POCKET]
|
||||
if curpocket!=data[ItemData::POCKET]
|
||||
curpocket = data[ItemData::POCKET]
|
||||
f.write("\#-------------------------------\r\n")
|
||||
end
|
||||
machine = ""
|
||||
if data[ITEM_MACHINE]>0
|
||||
machine = getConstantName(PBMoves,data[ITEM_MACHINE]) rescue pbGetMoveConst(data[ITEM_MACHINE]) rescue ""
|
||||
if data[ItemData::MOVE]>0
|
||||
machine = getConstantName(PBMoves,data[ItemData::MOVE]) rescue pbGetMoveConst(data[ItemData::MOVE]) rescue ""
|
||||
end
|
||||
f.write(sprintf("%d,%s,%s,%s,%d,%d,%s,%d,%d,%d,%s",
|
||||
data[ITEM_ID],csvQuote(cname),csvQuote(data[ITEM_NAME]),
|
||||
csvQuote(data[ITEM_PLURAL]),data[ITEM_POCKET],data[ITEM_PRICE],
|
||||
csvQuoteAlways(data[ITEM_DESCRIPTION]),data[ITEM_FIELD_USE],
|
||||
data[ITEM_BATTLE_USE],data[ITEM_TYPE],csvQuote(machine)))
|
||||
data[ItemData::ID],
|
||||
csvQuote(cname),
|
||||
csvQuote(data[ItemData::NAME]),
|
||||
csvQuote(data[ItemData::NAME_PLURAL]),
|
||||
data[ItemData::POCKET],
|
||||
data[ItemData::PRICE],
|
||||
csvQuoteAlways(data[ItemData::DESCRIPTION]),
|
||||
data[ItemData::FIELD_USE],
|
||||
data[ItemData::BATTLE_USE],
|
||||
data[ItemData::TYPE],
|
||||
csvQuote(machine)))
|
||||
f.write("\r\n")
|
||||
end
|
||||
}
|
||||
|
||||
@@ -408,8 +408,8 @@ class ItemLister
|
||||
cmds = []
|
||||
for i in 1..PBItems.maxValue
|
||||
next if !@itemdata[i]
|
||||
name = @itemdata[i][ITEM_NAME]
|
||||
if name && name!="" && @itemdata[i][ITEM_POCKET]!=0
|
||||
name = @itemdata[i][ItemData::NAME]
|
||||
if name && name!="" && @itemdata[i][ItemData::POCKET]!=0
|
||||
cmds.push([i,name])
|
||||
end
|
||||
end
|
||||
|
||||
@@ -546,24 +546,24 @@ def pbCompileItems
|
||||
linerecord = pbGetCsvRecord(line,lineno,[0,"vnssuusuuUN"])
|
||||
id = linerecord[0]
|
||||
record = []
|
||||
record[ITEM_ID] = id
|
||||
constant = linerecord[1]
|
||||
constants += "#{constant}=#{id}\r\n"
|
||||
record[ITEM_NAME] = linerecord[2]
|
||||
itemnames[id] = linerecord[2]
|
||||
record[ITEM_PLURAL] = linerecord[3]
|
||||
itempluralnames[id] = linerecord[3]
|
||||
record[ITEM_POCKET] = linerecord[4]
|
||||
record[ITEM_PRICE] = linerecord[5]
|
||||
record[ITEM_DESCRIPTION] = linerecord[6]
|
||||
itemdescs[id] = linerecord[6]
|
||||
record[ITEM_FIELD_USE] = linerecord[7]
|
||||
record[ITEM_BATTLE_USE] = linerecord[8]
|
||||
record[ITEM_TYPE] = linerecord[9]
|
||||
if record[ITEM_TYPE]!="" && linerecord[10]
|
||||
record[ITEM_MACHINE] = parseMove(linerecord[10])
|
||||
record[ItemData::ID] = id
|
||||
constant = linerecord[1]
|
||||
constants += "#{constant}=#{id}\r\n"
|
||||
record[ItemData::NAME] = linerecord[2]
|
||||
itemnames[id] = linerecord[2]
|
||||
record[ItemData::NAME_PLURAL] = linerecord[3]
|
||||
itempluralnames[id] = linerecord[3]
|
||||
record[ItemData::POCKET] = linerecord[4]
|
||||
record[ItemData::PRICE] = linerecord[5]
|
||||
record[ItemData::DESCRIPTION] = linerecord[6]
|
||||
itemdescs[id] = linerecord[6]
|
||||
record[ItemData::FIELD_USE] = linerecord[7]
|
||||
record[ItemData::BATTLE_USE] = linerecord[8]
|
||||
record[ItemData::TYPE] = linerecord[9]
|
||||
if record[ItemData::TYPE]!="" && linerecord[10]
|
||||
record[ItemData::MOVE] = parseMove(linerecord[10])
|
||||
else
|
||||
record[ITEM_MACHINE] = 0
|
||||
record[ItemData::MOVE] = 0
|
||||
end
|
||||
maxValue = [maxValue,id].max
|
||||
records[id] = record
|
||||
|
||||
Reference in New Issue
Block a user