Potato battery update + potato AI (#21142)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
@@ -71,6 +71,9 @@ namespace Content.Shared.Containers.ItemSlots
|
||||
[DataField("whitelist")]
|
||||
public EntityWhitelist? Whitelist;
|
||||
|
||||
[DataField("blacklist")]
|
||||
public EntityWhitelist? Blacklist;
|
||||
|
||||
[DataField("insertSound")]
|
||||
public SoundSpecifier InsertSound = new SoundPathSpecifier("/Audio/Weapons/Guns/MagIn/revolver_magin.ogg");
|
||||
|
||||
|
||||
@@ -255,7 +255,7 @@ namespace Content.Shared.Containers.ItemSlots
|
||||
if (!swap && slot.HasItem)
|
||||
return false;
|
||||
|
||||
if (slot.Whitelist != null && !slot.Whitelist.IsValid(usedUid))
|
||||
if ((slot.Whitelist != null && !slot.Whitelist.IsValid(usedUid)) || (slot.Blacklist != null && slot.Blacklist.IsValid(usedUid)))
|
||||
{
|
||||
if (_netManager.IsClient && _timing.IsFirstTimePredicted && popup.HasValue && !string.IsNullOrWhiteSpace(slot.WhitelistFailPopup))
|
||||
_popupSystem.PopupEntity(Loc.GetString(slot.WhitelistFailPopup), uid, popup.Value);
|
||||
|
||||
@@ -9,6 +9,8 @@ pai-system-role-description = Be someone's electronic pal!
|
||||
pai-system-role-name-syndicate = Syndicate personal ai
|
||||
pai-system-role-description-syndicate = Be someone's Syndicate pal!
|
||||
(Memories *not* included.)
|
||||
pai-system-role-name-potato = potato artificial intelligence
|
||||
pai-system-role-description-potato = It's a toy for children. And now you live in it.
|
||||
|
||||
pai-system-wipe-device-verb-text = Remove pAI
|
||||
pai-system-wiped-device = The pAI was wiped from the device.
|
||||
|
||||
@@ -556,6 +556,9 @@
|
||||
reagents:
|
||||
- ReagentId: JuicePotato
|
||||
Quantity: 10
|
||||
- type: Tag
|
||||
tags:
|
||||
- Potato
|
||||
|
||||
- type: entity
|
||||
name: tomato
|
||||
|
||||
@@ -80,6 +80,7 @@
|
||||
- state: pai-base
|
||||
- state: syndicate-pai-off-overlay
|
||||
shader: unshaded
|
||||
map: ["screen"]
|
||||
- type: ToggleableGhostRole
|
||||
roleName: pai-system-role-name-syndicate
|
||||
roleDescription: pai-system-role-description-syndicate
|
||||
@@ -98,6 +99,34 @@
|
||||
Searching: { state: syndicate-pai-searching-overlay }
|
||||
On: { state: syndicate-pai-on-overlay }
|
||||
|
||||
- type: entity
|
||||
parent: PersonalAI
|
||||
id: PotatoAI
|
||||
name: potato artificial intelligence
|
||||
description: It's a potato. You forced it to be sentient, you monster.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Fun/pai.rsi
|
||||
layers:
|
||||
- state: potato-base
|
||||
- state: potato-off-overlay
|
||||
shader: unshaded
|
||||
map: ["screen"]
|
||||
- type: ToggleableGhostRole
|
||||
roleName: pai-system-role-name-potato
|
||||
roleDescription: pai-system-role-description-potato
|
||||
- type: Appearance
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.ToggleableGhostRoleVisuals.Status:
|
||||
screen:
|
||||
Off: { state: potato-off-overlay }
|
||||
Searching: { state: potato-searching-overlay }
|
||||
On: { state: potato-on-overlay }
|
||||
- type: Construction
|
||||
graph: PotatoAI
|
||||
node: potatoai
|
||||
|
||||
- type: entity
|
||||
id: ActionPAIPlayMidi
|
||||
name: Play MIDI
|
||||
|
||||
17
Resources/Prototypes/Entities/Objects/Misc/potatoai_chip.yml
Normal file
@@ -0,0 +1,17 @@
|
||||
- type: entity
|
||||
id: PotatoAIChip
|
||||
name: supercompact AI chip
|
||||
parent: BaseItem
|
||||
description: This high-tech AI chip requires a voltage of exactly 1.1V to function correctly.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Misc/potatoai_chip.rsi
|
||||
state: icon
|
||||
- type: Item
|
||||
size: 3
|
||||
- type: Tag
|
||||
tags:
|
||||
- SmallAIChip
|
||||
- type: Construction
|
||||
graph: PotatoAIChip
|
||||
node: potatoaichip
|
||||
@@ -42,8 +42,15 @@
|
||||
layers:
|
||||
- state: potato
|
||||
- type: Battery
|
||||
maxCharge: 200
|
||||
startingCharge: 200
|
||||
maxCharge: 70
|
||||
startingCharge: 70
|
||||
- type: Tag
|
||||
tags:
|
||||
- DroneUsable
|
||||
- PotatoBattery
|
||||
- type: Construction
|
||||
graph: PowerCellPotato
|
||||
node: potatobattery
|
||||
|
||||
- type: entity
|
||||
name: small-capacity power cell
|
||||
|
||||
@@ -116,4 +116,4 @@
|
||||
base:
|
||||
Off: { state: posibrain }
|
||||
Searching: { state: posibrain-searching }
|
||||
On: { state: posibrain-occupied }
|
||||
On: { state: posibrain-occupied }
|
||||
@@ -85,6 +85,9 @@
|
||||
whitelist:
|
||||
components:
|
||||
- PowerCell
|
||||
blacklist:
|
||||
tags:
|
||||
- PotatoBattery
|
||||
|
||||
- type: entity
|
||||
parent: BaseItemRecharger
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
- type: constructionGraph
|
||||
id: PowerCellPotato
|
||||
start: start
|
||||
graph:
|
||||
- node: start
|
||||
edges:
|
||||
- to: potatobattery
|
||||
steps:
|
||||
- tag: Potato
|
||||
name: a potato
|
||||
icon:
|
||||
sprite: Objects/Specific/Hydroponics/potato.rsi
|
||||
state: produce
|
||||
doAfter: 1
|
||||
- material: MetalRod
|
||||
amount: 2
|
||||
doAfter: 1
|
||||
- material: Cable
|
||||
amount: 1
|
||||
doAfter: 1
|
||||
- node: potatobattery
|
||||
entity: PowerCellPotato
|
||||
|
||||
- type: constructionGraph
|
||||
id: PotatoAI
|
||||
start: start
|
||||
graph:
|
||||
- node: start
|
||||
edges:
|
||||
- to: potatoai
|
||||
steps:
|
||||
- tag: PotatoBattery
|
||||
name: a potato battery
|
||||
icon:
|
||||
sprite: Objects/Power/power_cells.rsi
|
||||
state: potato
|
||||
doAfter: 1
|
||||
- tag: SmallAIChip
|
||||
name: a super-compact AI chip
|
||||
icon:
|
||||
sprite: Objects/Misc/potatoai_chip.rsi
|
||||
state: icon
|
||||
- node: potatoai
|
||||
entity: PotatoAI
|
||||
|
||||
- type: constructionGraph
|
||||
id: PotatoAIChip
|
||||
start: start
|
||||
graph:
|
||||
- node: start
|
||||
edges:
|
||||
- to: potatoaichip
|
||||
steps:
|
||||
- material: Steel
|
||||
amount: 1
|
||||
doAfter: 1
|
||||
- material: Glass
|
||||
amount: 1
|
||||
doAfter: 1
|
||||
- material: Cable
|
||||
amount: 2
|
||||
doAfter: 1
|
||||
- tag: CapacitorStockPart
|
||||
name: capacitor
|
||||
icon:
|
||||
sprite: Objects/Misc/stock_parts.rsi
|
||||
state: capacitor
|
||||
- tag: CapacitorStockPart
|
||||
name: capacitor
|
||||
icon:
|
||||
sprite: Objects/Misc/stock_parts.rsi
|
||||
state: capacitor
|
||||
- node: potatoaichip
|
||||
entity: PotatoAIChip
|
||||
32
Resources/Prototypes/Recipes/Crafting/potato.yml
Normal file
@@ -0,0 +1,32 @@
|
||||
- type: construction
|
||||
name: potato battery
|
||||
id: PowerCellPotato
|
||||
graph: PowerCellPotato
|
||||
startNode: start
|
||||
targetNode: potatobattery
|
||||
category: construction-category-misc
|
||||
description: A truly ingenious source of power.
|
||||
icon: { sprite: Objects/Power/power_cells.rsi, state: potato }
|
||||
objectType: Item
|
||||
|
||||
- type: construction
|
||||
name: potato artificial intelligence
|
||||
id: PotatoAI
|
||||
graph: PotatoAI
|
||||
startNode: start
|
||||
targetNode: potatoai
|
||||
category: construction-category-misc
|
||||
description: The potato happens to be the perfect power source for this chip.
|
||||
icon: { sprite: Objects/Fun/pai.rsi, state: icon-potato-off }
|
||||
objectType: Item
|
||||
|
||||
- type: construction
|
||||
name: supercompact AI chip
|
||||
id: PotatoAIChip
|
||||
graph: PotatoAIChip
|
||||
startNode: start
|
||||
targetNode: potatoaichip
|
||||
category: construction-category-misc
|
||||
description: A masterfully(?) crafted AI chip, requiring a similarly improvised power source.
|
||||
icon: { sprite: Objects/Misc/potatoai_chip.rsi, state: icon }
|
||||
objectType: Item
|
||||
@@ -839,6 +839,12 @@
|
||||
- type: Tag
|
||||
id: PlushieSharkGrey
|
||||
|
||||
- type: Tag
|
||||
id: Potato
|
||||
|
||||
- type: Tag
|
||||
id: PotatoBattery
|
||||
|
||||
- type: Tag
|
||||
id: PowerCellSmall
|
||||
|
||||
@@ -924,6 +930,9 @@
|
||||
- type: Tag
|
||||
id: SkeletonMotorcycleKeys
|
||||
|
||||
- type: Tag
|
||||
id: SmallAIChip
|
||||
|
||||
- type: Tag
|
||||
id: SmallMech
|
||||
|
||||
|
||||
BIN
Resources/Textures/Objects/Fun/pai.rsi/icon-potato-off.png
Normal file
|
After Width: | Height: | Size: 483 B |
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/9ddb8cf084e292571d4e9c79745db25befbd82fe. pai-searching-overlay heavily modified. Syndicate variants by fedKotikeD",
|
||||
"copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/9ddb8cf084e292571d4e9c79745db25befbd82fe. pai-searching-overlay heavily modified. Syndicate variants by fedKotikeD, and potato by Doru991",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
@@ -13,6 +13,9 @@
|
||||
{
|
||||
"name": "pai-base"
|
||||
},
|
||||
{
|
||||
"name": "potato-base"
|
||||
},
|
||||
{
|
||||
"name": "pai-off-overlay"
|
||||
},
|
||||
@@ -57,6 +60,18 @@
|
||||
0.8
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "icon-potato-off"
|
||||
},
|
||||
{
|
||||
"name": "potato-off-overlay"
|
||||
},
|
||||
{
|
||||
"name": "potato-on-overlay"
|
||||
},
|
||||
{
|
||||
"name": "potato-searching-overlay"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
BIN
Resources/Textures/Objects/Fun/pai.rsi/potato-base.png
Normal file
|
After Width: | Height: | Size: 476 B |
BIN
Resources/Textures/Objects/Fun/pai.rsi/potato-off-overlay.png
Normal file
|
After Width: | Height: | Size: 162 B |
BIN
Resources/Textures/Objects/Fun/pai.rsi/potato-on-overlay.png
Normal file
|
After Width: | Height: | Size: 159 B |
|
After Width: | Height: | Size: 186 B |
BIN
Resources/Textures/Objects/Misc/potatoai_chip.rsi/icon.png
Normal file
|
After Width: | Height: | Size: 235 B |
14
Resources/Textures/Objects/Misc/potatoai_chip.rsi/meta.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Drawn by @Doru991 for SS14",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "icon"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "https://github.com/tgstation/tgstation/commit/7dcdbc1468ffdc8689b984cb6b181d48ae41dbf2",
|
||||
"copyright": "https://github.com/tgstation/tgstation/commit/7dcdbc1468ffdc8689b984cb6b181d48ae41dbf2, potato based on https://github.com/vgstation-coders/vgstation13/commit/1dbcf389b0ec6b2c51b002df5fef8dd1519f8068 edited by @Doru991",
|
||||
"states": [
|
||||
{
|
||||
"name": "potato"
|
||||
|
||||
|
Before Width: | Height: | Size: 946 B After Width: | Height: | Size: 463 B |
@@ -76,4 +76,4 @@
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||