Skip to content
Supremekirb edited this page Jul 28, 2023 · 4 revisions

List of files used:

  • condiment_table.yml
  • consolation_item_table.yml
  • item_configuration_table.yml
  • timed_delivery_table.yml
  • timed_item_transformation_table.yml

Item Configuration

The standard properties for items are all set in item_configuration_table.yml. Let's look at the entry for the Super plush bear.

3:
  Action: 1
  Argument:
  - 17
  - 1
  - 1
  - 0
  Cost: 1198
  Help Text Pointer: $c53761
  Misc Flags:
  - jeff can use
  - ness can use
  - paula can use
  - poo can use
  Name: Super plush bear
  Type: 4

Again, a great deal of this should seem familiar.

  • Action - The ID of the action (from battle_action_table.yml) that this item should take.
  • Argument - A list of options, the meaning of which varies depending on the type of item. We'll come back to this.
  • Cost - The monetary cost of this item in shops. If you are able to sell the item in a shop, it will sell for half of this amount.
  • Help Text Pointer - Accepts either a pointer or a CCScript label for the text to be displayed as an in-game description for the item.
  • Misc Flags - Accepts zero, one, or more flags which have self-explanatory properties. The possible options are:
    • ness can use
    • paula can use
    • jeff can use
    • poo can use
    • item can change
    • cannot be given away - Used when moving an item from one character's inventory to another.
    • cannot be stored with Escargo Express
    • item disappears when used
  • Name - The display name of this item.
  • Type - Indicates what kind of item it is. This option also dictates what the "Argument" option does.

Because Type and Argument depend on each other, let's deal with them together.

Item Type ID Item Type Argument 1 Argument 2 Argument 3 Argument 4
0 Franklin Badge - - - -
4 Teddy Bears What character follows when holding the bear. Subtracts one before looking it up in playable_char_gfx_table. Normally 16 and 17 for normal and Super Plush, so characters 15 and 16. - - -
8 Things which Jeff can fix - IQ needed What it becomes after fixing -
16 "Bash" weapons Offense increase for Ness, Paula, and Jeff. Values between 1-127 are an increase, 128-255 are a decrease. Same, but for Poo Guts increase Miss rate in 16ths. 1 = 1/16 miss chance, 2 = 2/16, etc
17 "Shoot" weapons Offense increase for Ness, Paula, and Jeff. Same rules as above Same, but for Poo Guts increase Miss rate in 16ths
20 Body equipment Defense increase for Ness, Paula, and Jeff. Same rules as types 16 and 17. Same, but for Poo Speed increase Resistance to Paralysis, Flash, Freeze, Fire, and Paralysis Each level of resistance has a separate number, and it adds those together. Fire resistance uses 1, 2 or 3 for level 1-3 of protection, Freeze resistance uses 4, 8, or 12, Flash uses 16, 32, 48, and Paralysis uses 64, 128, 192. e.g. If you want a level 3 protection item for fire and freeze, the value should be 15 (Fire 3 + Freeze 12). In bit/byte terms, the resistance is represented by a byte long bitfield. Bits 0-1 are fire resistance, 2-3 are freeze resistance, 4-5 are flash resistance and 6-7 are paralysis resistance. These can be combined together
24 Arms equipment Defense increase for Ness, Paula, and Jeff Same, but for Poo Luck increase Hypnosis and Brainshock resistance. 0, 1, and 2 are increasing levels of Hypnosis resistance and decreasing levels of Brainshock resistance. Numbers above 2 are 0% resistance to both
28 Other equipment Defense increase for Ness, Paula, and Jeff Same, but for Poo Luck increase Resistance to Paralysis, Flash, Freeze, Fire, and Paralysis. Works the same as Body equipment
32 "Eat" foods SEE BOTTOM Increase for Ness, Paula, and Jeff Increase for Poo Skip Sandwich timer increase
36 "Drink" foods SEE BOTTOM Increase for Ness, Paula, and Jeff Increase for Poo Skip Sandwich timer increase
40 Condiments (Eaten by themselves) SEE BOTTOM Increase for Ness, Paula, and Jeff Increase for Poo Skip Sandwich timer increase
44 Large pizza (Applies the effect to everybody) SEE BOTTOM Increase for Ness, Paula, and Jeff Increase for Poo Skip Sandwich timer increase
48 Misc - - - -
52 Misc - - - -
53 Misc - - - -
56 Misc - - - -
58 Requires a sector property to be set. Each map sector has an item attribute, and items of this type must match that attribute to be used. When flag 73 is set, it acts like the item attribute is the Bicycle. - - - -
59 Unusable items. Their only functions are Help! text, or an NPC checking for them. - - - -

Item types 32, 36, 40, and 44 act differently. Their first argument determines their function:

Argument Effect
0 Restore HP
1 Restore PP
2 Restore HP+PP
3 Increase random stat
4 Increase IQ
5 Increase Guts
6 Increase Speed
7 Increase Vitality
8 Increase Luck
9 Healing α
10 Cure poison

The subsequent arguments determine how much. Also, the Skip Sandwich timer increase is measured in 10ths of a second, or 6 frames.

Condiments

Condiments get a special treatment, since they allow for "upgrading" of food items. The food items which can get upgraded are defined in condiment_table.yml. Each block corresponds to one item in item_configuration_table.yml; let's look at the one applied to Luxury jerky:

40:
  bad recover: 2
  condiment 1: 126
  condiment 2: 118
  effect: restore hp
  food: 245
  good recover: 100
  run time: 0

It might not be immediately obvious what all of these do, so let's take a look at them.

  • food - The ID of the food item defined in item_configuration_table.yml.
  • condiment 1 and condiment 2 - Indicates the two condiments' IDs from item_configuration_table.yml which can be applied to this item.
  • effect - The type of effect the condiment will have on the food item. This can either be restore hp, restore pp, restore hp/pp, increase random stat, increase iq, increase guts, increase speed, increase vitality, increase luck, or no visible effect.
  • good recover - The statistical gain any character but Poo will receive.
  • bad recover - The statistical gain Poo will receive.
  • run time - The duration for which the item will have an effect on the player (for Skip Sandwiches for example).

Special Items

There are two other files used in conjunction with items. The first is timed_item_transformation_table.yml, which is used for items like chicks, which eventually grow into chickens.

0:
  Delay: 50
  Item ID: 92
  New Item: 168
  Sound Effect: 0
  Sound Frequency: 0
  • Delay - The time it takes for the item to transform into the next item.
  • Item ID - The ID of the current item as defined in item_configuration_table.yml.
  • New Item - The ID of the item to transform into.
  • Sound Effect - The sound effect, if any, to play if the item is in any playable character's inventory. It shall repeated with the frequency set by Sound Frequency.

Additionally, the Li'l UFO and the Cute Li'l UFO have a special property whereby they might drop a random "consolation item". The consolation_item_table.yml file lists all the possible items they can drop. The file is completely self-explanatory: Enemy ID points to the appropriate UFO in enemy_configuration_table.yml, and the Item IDs are the ones defined in item_configuration_table.yml.

Timed Deliveries

Escargo Express and Mach Pizza can both deliver items to you when you require it, but they do take a certain time to arrive; these times are defined in timed_delivery_table.yml as follows:

0:
  Delivery Failure Text Pointer: $c64cf8
  Delivery Success Text Pointer: $c64bbf
  Event Flag: 0xb4
  Sprite Group: 151
  Timer: 180
  Unknown:
  - 6
  - 0
  - 15
  - 0
  Unknown2:
  - 0
  - 2
  - 0
  - 2

This is the definition for a delivery by Mach Pizza.

  • Delivery Failure Text Pointer - Indicates the text to be displayed when the delivery couldn't be made (because the area is unreachable).
  • Delivery Success Text Pointer - Indicates the text displayed upon a successful delivery of the requested item.
  • Event Flag - The flag which, once set, schedules the delivery, and is unset once the delivery is completed.
  • Sprite Group - The ID of the sprite group of the delivery person.
  • Timer - The time it takes for an item to be delivered.
  • Unknown and Unknown2 - (Obviously) unknown properties. Can you figure them out?
Clone this wiki locally