Potato battery update + potato AI (#21142)

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
This commit is contained in:
Doru991
2023-10-25 16:52:49 +03:00
committed by GitHub
parent 94cda6a253
commit 6b04aaf964
23 changed files with 215 additions and 7 deletions

View File

@@ -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");

View File

@@ -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);

View File

@@ -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.

View File

@@ -556,6 +556,9 @@
reagents:
- ReagentId: JuicePotato
Quantity: 10
- type: Tag
tags:
- Potato
- type: entity
name: tomato

View File

@@ -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

View 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

View File

@@ -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

View File

@@ -116,4 +116,4 @@
base:
Off: { state: posibrain }
Searching: { state: posibrain-searching }
On: { state: posibrain-occupied }
On: { state: posibrain-occupied }

View File

@@ -85,6 +85,9 @@
whitelist:
components:
- PowerCell
blacklist:
tags:
- PotatoBattery
- type: entity
parent: BaseItemRecharger

View File

@@ -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

View 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

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 483 B

View File

@@ -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"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 476 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 B

View 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"
}
]
}

View File

@@ -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"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 946 B

After

Width:  |  Height:  |  Size: 463 B

View File

@@ -76,4 +76,4 @@
]
}
]
}
}