diff --git a/Resources/Audio/Animals/license.txt b/Resources/Audio/Animals/license.txt index 76ba446b8a..792f0bfe01 100644 --- a/Resources/Audio/Animals/license.txt +++ b/Resources/Audio/Animals/license.txt @@ -30,6 +30,8 @@ The following sounds were used from freesound: snake_hiss.ogg: modified from "hissing snake sound effect" by freesound user "Garuda1982" (https://freesound.org/people/Garuda1982/sounds/541656/) licensed under CC BY 4.0. The original audio was convertred from WAV to OGG format. + pig_oink.ogg: modified from "Pig Oink.wav" by freesound user "qubodup" (https://freesound.org/people/qubodup/sounds/442906/) licensed under CC0 1.0 (public domain). The original audio was converted from WAV to OGG format. + The following sounds are taken from TGstation github (licensed under CC by 3.0): space_dragon_roar.ogg: taken at https://github.com/tgstation/tgstation/commit/d4f678a1772007ff8d7eddd21cf7218c8e07bfc0 diff --git a/Resources/Audio/Animals/pig_oink.ogg b/Resources/Audio/Animals/pig_oink.ogg new file mode 100644 index 0000000000..71e50aa6f8 Binary files /dev/null and b/Resources/Audio/Animals/pig_oink.ogg differ diff --git a/Resources/Locale/en-US/accent/accents.ftl b/Resources/Locale/en-US/accent/accents.ftl index 8ffadc33fd..393311e567 100644 --- a/Resources/Locale/en-US/accent/accents.ftl +++ b/Resources/Locale/en-US/accent/accents.ftl @@ -1,4 +1,4 @@ -# Cat accent +# Cat accent accent-words-cat-1 = Meow! accent-words-cat-2 = Mow. accent-words-cat-3 = Mrrrow! @@ -61,3 +61,9 @@ accent-words-chicken-1 = Cluck! accent-words-chicken-2 = Cluck. accent-words-chicken-3 = Cluck? accent-words-chicken-4 = Cluck cluck! + +# Pig +accent-words-pig-1 = Oink. +accent-words-pig-2 = Oink? +accent-words-pig-3 = Oink! +accent-words-pig-4 = Oink oink! diff --git a/Resources/Locale/en-US/interaction/interaction-popup-component.ftl b/Resources/Locale/en-US/interaction/interaction-popup-component.ftl index 0e007569f1..27adc359e8 100644 --- a/Resources/Locale/en-US/interaction/interaction-popup-component.ftl +++ b/Resources/Locale/en-US/interaction/interaction-popup-component.ftl @@ -14,6 +14,7 @@ petting-success-frog = You pet {THE($target)} on {POSS-ADJ($target)} slippery li petting-success-goat = You pet {THE($target)} on {POSS-ADJ($target)} horned floofy head. petting-success-goose = Against all odds, you manage to pet {THE($target)} on {POSS-ADJ($target)} horrible little head. petting-success-possum = You pet {THE($target)} on {POSS-ADJ($target)} horrible little head. +petting-success-pig = You pet {THE($target)} on {POSS-ADJ($target)} hairy head. petting-success-reptile = You pet {THE($target)} on {POSS-ADJ($target)} scaly little head. petting-success-sloth = You pet {THE($target)} on {POSS-ADJ($target)} slow moving head. petting-success-space-cat = You pet {THE($target)} on {POSS-ADJ($target)} glass domed head. diff --git a/Resources/Locale/en-US/prototypes/catalog/fills/crates/livestock-crates.ftl b/Resources/Locale/en-US/prototypes/catalog/fills/crates/livestock-crates.ftl index c4146e52b6..b9e5fe3114 100644 --- a/Resources/Locale/en-US/prototypes/catalog/fills/crates/livestock-crates.ftl +++ b/Resources/Locale/en-US/prototypes/catalog/fills/crates/livestock-crates.ftl @@ -40,5 +40,8 @@ ent-CrateNPCParrot = Parrot crate ent-CrateNPCPenguin = Penguin crate .desc = A crate containing two penguins. +ent-CrateNPCPig = Pig crate + .desc = A crate containing a single pig. + ent-CrateNPCSnake = Snake crate .desc = A crate containing three snakes. diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_livestock.yml b/Resources/Prototypes/Catalog/Cargo/cargo_livestock.yml index 797429a0c2..5dc8c46901 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_livestock.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_livestock.yml @@ -138,6 +138,16 @@ category: Livestock group: market +- type: cargoProduct + id: LivestockPig + icon: + sprite: Mobs/Animals/pig.rsi + state: pig + product: CrateNPCPig + cost: 1000 + category: Livestock + group: market + - type: cargoProduct id: LivestockSnake icon: diff --git a/Resources/Prototypes/Catalog/Fills/Crates/npc.yml b/Resources/Prototypes/Catalog/Fills/Crates/npc.yml index 0f126a86ce..d0546bdfdd 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/npc.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/npc.yml @@ -7,7 +7,6 @@ - id: MobBee amount: 8 - - type: entity id: CrateNPCButterflies parent: CrateLivestock @@ -17,7 +16,6 @@ - id: MobButterfly amount: 5 - - type: entity id: CrateNPCCat parent: CrateLivestock @@ -27,7 +25,6 @@ - id: MobCat amount: 1 - - type: entity id: CrateNPCChicken parent: CrateLivestock @@ -37,7 +34,6 @@ - id: MobChicken amount: 4 - - type: entity id: CrateNPCDuck parent: CrateLivestock @@ -51,7 +47,6 @@ - id: MobDuckBrown amount: 2 - - type: entity id: CrateNPCCorgi parent: CrateLivestock @@ -70,7 +65,6 @@ - id: MobCow amount: 1 - - type: entity id: CrateNPCGoat parent: CrateLivestock @@ -80,7 +74,6 @@ - id: MobGoat amount: 1 - - type: entity id: CrateNPCGoose parent: CrateLivestock @@ -90,7 +83,6 @@ - id: MobGoose amount: 2 - - type: entity id: CrateNPCGorilla parent: CrateLivestock @@ -100,7 +92,6 @@ - id: MobGorilla amount: 1 - - type: entity id: CrateNPCMonkeyCube parent: CrateGenericSteel @@ -128,7 +119,6 @@ - id: MobParrot amount: 3 - - type: entity id: CrateNPCPenguin parent: CrateLivestock @@ -138,6 +128,14 @@ - id: MobPenguin amount: 2 +- type: entity + id: CrateNPCPig + parent: CrateLivestock + components: + - type: StorageFill + contents: + - id: MobPig + amount: 1 - type: entity id: CrateNPCSnake diff --git a/Resources/Prototypes/Entities/Markers/Spawners/mobs.yml b/Resources/Prototypes/Entities/Markers/Spawners/mobs.yml index 98c40357cd..208efe59f9 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/mobs.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/mobs.yml @@ -232,3 +232,16 @@ - type: ConditionalSpawner prototypes: - CrateNPCHamlet + +- type: entity + name: Alexander Spawner + id: SpawnMobAlexander + parent: MarkerBase + components: + - type: Sprite + layers: + - state: green + - state: ai + - type: ConditionalSpawner + prototypes: + - MobAlexander diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml index bf02f311c0..14b7df4233 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml @@ -2005,3 +2005,60 @@ - type: CanEscapeInventory - type: MobPrice price: 60 + +- type: entity + name: pig + parent: SimpleMobBase + id: MobPig + description: Oink. + components: + - type: Sprite + drawdepth: Mobs + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: pig + sprite: Mobs/Animals/pig.rsi + - type: Fixtures + fixtures: + - shape: + !type:PhysShapeCircle + radius: 0.35 + density: 250 + mask: + - MobMask + layer: + - MobLayer + - type: Appearance + - type: Inventory + speciesId: pig + templateId: pet + - type: Strippable + - type: UserInterface + interfaces: + - key: enum.StrippingUiKey.Key + type: StrippableBoundUserInterface + - type: DamageStateVisuals + states: + Alive: + Base: pig + Critical: + Base: dead + Dead: + Base: dead + - type: Butcherable + spawned: + - id: FoodMeat + amount: 6 + - type: Grammar + attributes: + gender: epicene + - type: InteractionPopup + successChance: 0.7 + interactSuccessString: petting-success-pig + interactFailureString: petting-failure-generic + interactSuccessSound: + path: /Audio/Animals/pig_oink.ogg + - type: ReplacementAccent + accent: pig + - type: SentienceTarget + flavorKind: station-event-random-sentience-flavor-organic diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml b/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml index f1455bb848..e61f0e0576 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml @@ -361,6 +361,16 @@ proper: true gender: female +- type: entity + name: Alexander + parent: MobPig + id: MobAlexander + description: Chef's finest colleague. + components: + - type: Grammar + attributes: + gender: male + - type: entity name: Renault parent: MobFox diff --git a/Resources/Prototypes/accents.yml b/Resources/Prototypes/accents.yml index b02dc30790..b731559c89 100644 --- a/Resources/Prototypes/accents.yml +++ b/Resources/Prototypes/accents.yml @@ -81,3 +81,11 @@ - accent-words-chicken-2 - accent-words-chicken-3 - accent-words-chicken-4 + +- type: accent + id: pig + words: + - accent-words-pig-1 + - accent-words-pig-2 + - accent-words-pig-3 + - accent-words-pig-4 diff --git a/Resources/Textures/Clothing/Mask/breath.rsi/equipped-MASK-pig.png b/Resources/Textures/Clothing/Mask/breath.rsi/equipped-MASK-pig.png new file mode 100644 index 0000000000..a25048d42f Binary files /dev/null and b/Resources/Textures/Clothing/Mask/breath.rsi/equipped-MASK-pig.png differ diff --git a/Resources/Textures/Clothing/Mask/breath.rsi/meta.json b/Resources/Textures/Clothing/Mask/breath.rsi/meta.json index 707ed06d35..ce59e8bdae 100644 --- a/Resources/Textures/Clothing/Mask/breath.rsi/meta.json +++ b/Resources/Textures/Clothing/Mask/breath.rsi/meta.json @@ -1 +1 @@ -{"version":1,"license":"CC-BY-SA-3.0","copyright":"Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/4f6190e2895e09116663ef282d3ce1d8b35c032e","size":{"x":32,"y":32},"states":[{"name":"icon"},{"name":"equipped-MASK","directions":4},{"name":"inhand-left","directions":4},{"name":"inhand-right","directions":4},{"name":"equipped-MASK-dog","directions":4,"delays":[[1.0],[1.0],[1.0],[1.0]]},{"name":"equipped-MASK-puppy","directions":4,"delays":[[1.0],[1.0],[1.0],[1.0]]},{"name":"equipped-MASK-fox","directions":4,"delays":[[1.0],[1.0],[1.0],[1.0]]},{"name":"equipped-MASK-cat","directions":4,"delays":[[1.0],[1.0],[1.0],[1.0]]},{"name":"equipped-MASK-sloth","directions":4,"delays":[[1.0],[1.0],[1.0],[1.0]]},{"name":"equipped-MASK-possum","directions":4,"delays":[[1.0],[1.0],[1.0],[1.0]]},{"name":"equipped-MASK-vox","directions":4,"delays":[[1.0],[1.0],[1.0],[1.0]]},{"name":"up-equipped-MASK","directions":4}]} +{"version":1,"license":"CC-BY-SA-3.0","copyright":"Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/4f6190e2895e09116663ef282d3ce1d8b35c032e","size":{"x":32,"y":32},"states":[{"name":"icon"},{"name":"equipped-MASK","directions":4},{"name":"inhand-left","directions":4},{"name":"inhand-right","directions":4},{"name":"equipped-MASK-dog","directions":4,"delays":[[1.0],[1.0],[1.0],[1.0]]},{"name":"equipped-MASK-puppy","directions":4,"delays":[[1.0],[1.0],[1.0],[1.0]]},{"name":"equipped-MASK-fox","directions":4,"delays":[[1.0],[1.0],[1.0],[1.0]]},{"name":"equipped-MASK-cat","directions":4,"delays":[[1.0],[1.0],[1.0],[1.0]]},{"name":"equipped-MASK-sloth","directions":4,"delays":[[1.0],[1.0],[1.0],[1.0]]},{"name":"equipped-MASK-possum","directions":4,"delays":[[1.0],[1.0],[1.0],[1.0]]},{"name":"equipped-MASK-vox","directions":4,"delays":[[1.0],[1.0],[1.0],[1.0]]},{"name":"equipped-MASK-pig","directions":4,"delays":[[1.0],[1.0],[1.0],[1.0]]},{"name":"up-equipped-MASK","directions":4}]} diff --git a/Resources/Textures/Clothing/Mask/medical.rsi/equipped-MASK-pig.png b/Resources/Textures/Clothing/Mask/medical.rsi/equipped-MASK-pig.png new file mode 100644 index 0000000000..a25048d42f Binary files /dev/null and b/Resources/Textures/Clothing/Mask/medical.rsi/equipped-MASK-pig.png differ diff --git a/Resources/Textures/Clothing/Mask/medical.rsi/meta.json b/Resources/Textures/Clothing/Mask/medical.rsi/meta.json index 0092de682f..d7e5b6afe7 100644 --- a/Resources/Textures/Clothing/Mask/medical.rsi/meta.json +++ b/Resources/Textures/Clothing/Mask/medical.rsi/meta.json @@ -44,6 +44,11 @@ "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]] }, + { + "name": "equipped-MASK-pig", + "directions": 4, + "delays": [[1.0], [1.0], [1.0], [1.0]] + }, { "name": "up-equipped-MASK", "directions": 4 diff --git a/Resources/Textures/Mobs/Animals/pig.rsi/dead.png b/Resources/Textures/Mobs/Animals/pig.rsi/dead.png new file mode 100644 index 0000000000..c9b20c17c5 Binary files /dev/null and b/Resources/Textures/Mobs/Animals/pig.rsi/dead.png differ diff --git a/Resources/Textures/Mobs/Animals/pig.rsi/meta.json b/Resources/Textures/Mobs/Animals/pig.rsi/meta.json new file mode 100644 index 0000000000..d52cb1be9d --- /dev/null +++ b/Resources/Textures/Mobs/Animals/pig.rsi/meta.json @@ -0,0 +1,37 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/ParadiseSS13/Paradise/commit/4d15f109da833a44d05c402da63178d36fc199e6", + "states": [ + { + "name": "dead", + "delays": [ + [ + 1 + ] + ] + }, + { + "name": "pig", + "directions": 4, + "delays": [ + [ + 1 + ], + [ + 1 + ], + [ + 1 + ], + [ + 1 + ] + ] + } + ] +} diff --git a/Resources/Textures/Mobs/Animals/pig.rsi/pig.png b/Resources/Textures/Mobs/Animals/pig.rsi/pig.png new file mode 100644 index 0000000000..694a0db212 Binary files /dev/null and b/Resources/Textures/Mobs/Animals/pig.rsi/pig.png differ diff --git a/Resources/Textures/Objects/Tanks/anesthetic.rsi/equipped-SUITSTORAGE-pig.png b/Resources/Textures/Objects/Tanks/anesthetic.rsi/equipped-SUITSTORAGE-pig.png new file mode 100644 index 0000000000..6fbe41baef Binary files /dev/null and b/Resources/Textures/Objects/Tanks/anesthetic.rsi/equipped-SUITSTORAGE-pig.png differ diff --git a/Resources/Textures/Objects/Tanks/anesthetic.rsi/meta.json b/Resources/Textures/Objects/Tanks/anesthetic.rsi/meta.json index 40340fcc5c..819d0b14d7 100644 --- a/Resources/Textures/Objects/Tanks/anesthetic.rsi/meta.json +++ b/Resources/Textures/Objects/Tanks/anesthetic.rsi/meta.json @@ -44,6 +44,11 @@ "directions": 4, "delays": [[1],[1],[1],[1]] }, + { + "name": "equipped-SUITSTORAGE-pig", + "directions": 4, + "delays": [[1],[1],[1],[1]] + }, { "name": "inhand-left", "directions": 4 diff --git a/Resources/Textures/Objects/Tanks/emergency.rsi/equipped-SUITSTORAGE-pig.png b/Resources/Textures/Objects/Tanks/emergency.rsi/equipped-SUITSTORAGE-pig.png new file mode 100644 index 0000000000..59ed19ab59 Binary files /dev/null and b/Resources/Textures/Objects/Tanks/emergency.rsi/equipped-SUITSTORAGE-pig.png differ diff --git a/Resources/Textures/Objects/Tanks/emergency.rsi/meta.json b/Resources/Textures/Objects/Tanks/emergency.rsi/meta.json index 2699b67ef2..72d63e7737 100644 --- a/Resources/Textures/Objects/Tanks/emergency.rsi/meta.json +++ b/Resources/Textures/Objects/Tanks/emergency.rsi/meta.json @@ -44,6 +44,11 @@ "directions": 4, "delays": [[1],[1],[1],[1]] }, + { + "name": "equipped-SUITSTORAGE-pig", + "directions": 4, + "delays": [[1],[1],[1],[1]] + }, { "name": "inhand-left", "directions": 4 diff --git a/Resources/Textures/Objects/Tanks/emergency_double.rsi/equipped-SUITSTORAGE-pig.png b/Resources/Textures/Objects/Tanks/emergency_double.rsi/equipped-SUITSTORAGE-pig.png new file mode 100644 index 0000000000..dfe35d0579 Binary files /dev/null and b/Resources/Textures/Objects/Tanks/emergency_double.rsi/equipped-SUITSTORAGE-pig.png differ diff --git a/Resources/Textures/Objects/Tanks/emergency_double.rsi/meta.json b/Resources/Textures/Objects/Tanks/emergency_double.rsi/meta.json index 2699b67ef2..72d63e7737 100644 --- a/Resources/Textures/Objects/Tanks/emergency_double.rsi/meta.json +++ b/Resources/Textures/Objects/Tanks/emergency_double.rsi/meta.json @@ -44,6 +44,11 @@ "directions": 4, "delays": [[1],[1],[1],[1]] }, + { + "name": "equipped-SUITSTORAGE-pig", + "directions": 4, + "delays": [[1],[1],[1],[1]] + }, { "name": "inhand-left", "directions": 4 diff --git a/Resources/Textures/Objects/Tanks/emergency_yellow.rsi/equipped-SUITSTORAGE-pig.png b/Resources/Textures/Objects/Tanks/emergency_yellow.rsi/equipped-SUITSTORAGE-pig.png new file mode 100644 index 0000000000..dfe35d0579 Binary files /dev/null and b/Resources/Textures/Objects/Tanks/emergency_yellow.rsi/equipped-SUITSTORAGE-pig.png differ diff --git a/Resources/Textures/Objects/Tanks/emergency_yellow.rsi/meta.json b/Resources/Textures/Objects/Tanks/emergency_yellow.rsi/meta.json index 2699b67ef2..72d63e7737 100644 --- a/Resources/Textures/Objects/Tanks/emergency_yellow.rsi/meta.json +++ b/Resources/Textures/Objects/Tanks/emergency_yellow.rsi/meta.json @@ -44,6 +44,11 @@ "directions": 4, "delays": [[1],[1],[1],[1]] }, + { + "name": "equipped-SUITSTORAGE-pig", + "directions": 4, + "delays": [[1],[1],[1],[1]] + }, { "name": "inhand-left", "directions": 4 diff --git a/Resources/Textures/Objects/Tanks/generic.rsi/equipped-SUITSTORAGE-pig.png b/Resources/Textures/Objects/Tanks/generic.rsi/equipped-SUITSTORAGE-pig.png new file mode 100644 index 0000000000..b3b16f8226 Binary files /dev/null and b/Resources/Textures/Objects/Tanks/generic.rsi/equipped-SUITSTORAGE-pig.png differ diff --git a/Resources/Textures/Objects/Tanks/generic.rsi/meta.json b/Resources/Textures/Objects/Tanks/generic.rsi/meta.json index 40340fcc5c..819d0b14d7 100644 --- a/Resources/Textures/Objects/Tanks/generic.rsi/meta.json +++ b/Resources/Textures/Objects/Tanks/generic.rsi/meta.json @@ -44,6 +44,11 @@ "directions": 4, "delays": [[1],[1],[1],[1]] }, + { + "name": "equipped-SUITSTORAGE-pig", + "directions": 4, + "delays": [[1],[1],[1],[1]] + }, { "name": "inhand-left", "directions": 4 diff --git a/Resources/Textures/Objects/Tanks/oxygen.rsi/equipped-SUITSTORAGE-pig.png b/Resources/Textures/Objects/Tanks/oxygen.rsi/equipped-SUITSTORAGE-pig.png new file mode 100644 index 0000000000..59ed19ab59 Binary files /dev/null and b/Resources/Textures/Objects/Tanks/oxygen.rsi/equipped-SUITSTORAGE-pig.png differ diff --git a/Resources/Textures/Objects/Tanks/oxygen.rsi/meta.json b/Resources/Textures/Objects/Tanks/oxygen.rsi/meta.json index 40340fcc5c..819d0b14d7 100644 --- a/Resources/Textures/Objects/Tanks/oxygen.rsi/meta.json +++ b/Resources/Textures/Objects/Tanks/oxygen.rsi/meta.json @@ -44,6 +44,11 @@ "directions": 4, "delays": [[1],[1],[1],[1]] }, + { + "name": "equipped-SUITSTORAGE-pig", + "directions": 4, + "delays": [[1],[1],[1],[1]] + }, { "name": "inhand-left", "directions": 4 diff --git a/Resources/Textures/Objects/Tanks/red.rsi/equipped-SUITSTORAGE-pig.png b/Resources/Textures/Objects/Tanks/red.rsi/equipped-SUITSTORAGE-pig.png new file mode 100644 index 0000000000..2608a1f8de Binary files /dev/null and b/Resources/Textures/Objects/Tanks/red.rsi/equipped-SUITSTORAGE-pig.png differ diff --git a/Resources/Textures/Objects/Tanks/red.rsi/meta.json b/Resources/Textures/Objects/Tanks/red.rsi/meta.json index 40340fcc5c..819d0b14d7 100644 --- a/Resources/Textures/Objects/Tanks/red.rsi/meta.json +++ b/Resources/Textures/Objects/Tanks/red.rsi/meta.json @@ -44,6 +44,11 @@ "directions": 4, "delays": [[1],[1],[1],[1]] }, + { + "name": "equipped-SUITSTORAGE-pig", + "directions": 4, + "delays": [[1],[1],[1],[1]] + }, { "name": "inhand-left", "directions": 4 diff --git a/Resources/Textures/Objects/Tanks/yellow.rsi/equipped-SUITSTORAGE-pig.png b/Resources/Textures/Objects/Tanks/yellow.rsi/equipped-SUITSTORAGE-pig.png new file mode 100644 index 0000000000..dfe35d0579 Binary files /dev/null and b/Resources/Textures/Objects/Tanks/yellow.rsi/equipped-SUITSTORAGE-pig.png differ diff --git a/Resources/Textures/Objects/Tanks/yellow.rsi/meta.json b/Resources/Textures/Objects/Tanks/yellow.rsi/meta.json index 40340fcc5c..819d0b14d7 100644 --- a/Resources/Textures/Objects/Tanks/yellow.rsi/meta.json +++ b/Resources/Textures/Objects/Tanks/yellow.rsi/meta.json @@ -44,6 +44,11 @@ "directions": 4, "delays": [[1],[1],[1],[1]] }, + { + "name": "equipped-SUITSTORAGE-pig", + "directions": 4, + "delays": [[1],[1],[1],[1]] + }, { "name": "inhand-left", "directions": 4