2025-11-04 14:16:48 +00:00
|
|
|
{
|
|
|
|
|
"scenario_brief": "Test scenario for NPC sprite functionality",
|
2025-11-08 15:44:24 +00:00
|
|
|
"globalVariables": {
|
|
|
|
|
"player_joined_organization": false
|
|
|
|
|
},
|
2025-11-04 14:16:48 +00:00
|
|
|
"startRoom": "test_room",
|
|
|
|
|
|
2025-11-08 22:35:31 +00:00
|
|
|
"startItemsInInventory": [
|
|
|
|
|
{
|
|
|
|
|
"type": "phone",
|
|
|
|
|
"name": "Your Phone 0",
|
|
|
|
|
"takeable": true,
|
|
|
|
|
"phoneId": "player_phone",
|
|
|
|
|
"npcIds": ["gossip_girl"],
|
|
|
|
|
"observations": "Your personal phone with some interesting contacts"
|
|
|
|
|
}
|
|
|
|
|
],
|
2025-11-04 14:16:48 +00:00
|
|
|
|
|
|
|
|
"player": {
|
|
|
|
|
"id": "player",
|
|
|
|
|
"displayName": "Agent 0x00",
|
|
|
|
|
"spriteSheet": "hacker",
|
|
|
|
|
"spriteTalk": "assets/characters/hacker-talk.png",
|
|
|
|
|
"spriteConfig": {
|
|
|
|
|
"idleFrameStart": 20,
|
|
|
|
|
"idleFrameEnd": 23
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
"rooms": {
|
|
|
|
|
"test_room": {
|
|
|
|
|
"type": "room_office",
|
2025-11-07 00:33:22 +00:00
|
|
|
"connections": {},
|
|
|
|
|
"npcs": [
|
2025-11-08 22:23:55 +00:00
|
|
|
{
|
|
|
|
|
"id": "neye_eve",
|
|
|
|
|
"displayName": "Neye Eve",
|
|
|
|
|
"storyPath": "scenarios/ink/neye-eve.json",
|
|
|
|
|
"avatar": "assets/npc/avatars/npc_adversary.png",
|
|
|
|
|
"phoneId": "player_phone",
|
|
|
|
|
"currentKnot": "start",
|
|
|
|
|
"npcType": "phone"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "gossip_girl",
|
|
|
|
|
"displayName": "Gossip Girl",
|
|
|
|
|
"storyPath": "scenarios/ink/gossip-girl.json",
|
|
|
|
|
"avatar": "assets/npc/avatars/npc_neutral.png",
|
|
|
|
|
"phoneId": "player_phone",
|
|
|
|
|
"currentKnot": "start",
|
|
|
|
|
"npcType": "phone",
|
|
|
|
|
"timedMessages": [
|
|
|
|
|
{
|
|
|
|
|
"delay": 5000,
|
|
|
|
|
"message": "Hey! 👋 Got any juicy gossip for me today?",
|
|
|
|
|
"type": "text"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
2025-11-07 00:33:22 +00:00
|
|
|
{
|
|
|
|
|
"id": "test_npc_front",
|
2025-11-08 10:26:50 +00:00
|
|
|
"displayName": "Helper NPC",
|
2025-11-07 00:33:22 +00:00
|
|
|
"npcType": "person",
|
|
|
|
|
"position": { "x": 5, "y": 3 },
|
|
|
|
|
"spriteSheet": "hacker-red",
|
|
|
|
|
"spriteTalk": "assets/characters/hacker-red-talk.png",
|
|
|
|
|
"spriteConfig": {
|
|
|
|
|
"idleFrameStart": 20,
|
|
|
|
|
"idleFrameEnd": 23
|
|
|
|
|
},
|
|
|
|
|
"storyPath": "scenarios/ink/helper-npc.json",
|
2025-11-08 10:26:50 +00:00
|
|
|
"currentKnot": "start",
|
|
|
|
|
"itemsHeld": [
|
|
|
|
|
{
|
|
|
|
|
"type": "workstation",
|
|
|
|
|
"name": "Crypto Analysis Station",
|
|
|
|
|
"takeable": true,
|
|
|
|
|
"observations": "A powerful workstation for cryptographic analysis"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "lockpick",
|
|
|
|
|
"name": "Lock Pick Kit",
|
|
|
|
|
"takeable": true,
|
|
|
|
|
"observations": "A professional lock picking kit with various picks and tension wrenches"
|
|
|
|
|
}
|
|
|
|
|
]
|
2025-11-07 00:33:22 +00:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "test_npc_back",
|
|
|
|
|
"displayName": "Back NPC",
|
|
|
|
|
"npcType": "person",
|
|
|
|
|
"position": { "x": 6, "y": 8 },
|
|
|
|
|
"spriteSheet": "hacker",
|
|
|
|
|
"spriteConfig": {
|
|
|
|
|
"idleFrameStart": 20,
|
|
|
|
|
"idleFrameEnd": 23
|
|
|
|
|
},
|
|
|
|
|
"storyPath": "scenarios/ink/test2.json",
|
2025-11-07 16:15:52 +00:00
|
|
|
"currentKnot": "hub",
|
|
|
|
|
"timedConversation": {
|
2025-11-14 10:15:44 +00:00
|
|
|
"delay": 0,
|
2025-11-07 19:51:13 +00:00
|
|
|
"targetKnot": "group_meeting",
|
2025-11-08 10:26:50 +00:00
|
|
|
"background": "assets/backgrounds/hq1.png"
|
2025-11-07 16:15:52 +00:00
|
|
|
}
|
2025-11-08 10:44:34 +00:00
|
|
|
},
|
2025-11-08 20:47:10 +00:00
|
|
|
{
|
|
|
|
|
"id": "test_npc_influence",
|
|
|
|
|
"displayName": "Influence NPC",
|
|
|
|
|
"npcType": "person",
|
|
|
|
|
"position": { "x": 2, "y": 2 },
|
|
|
|
|
"spriteSheet": "hacker",
|
|
|
|
|
"spriteConfig": {
|
|
|
|
|
"idleFrameStart": 20,
|
|
|
|
|
"idleFrameEnd": 23
|
|
|
|
|
},
|
|
|
|
|
"storyPath": "scenarios/ink/influence-demo.json",
|
|
|
|
|
"currentKnot": "start"
|
|
|
|
|
},
|
2025-11-08 10:44:34 +00:00
|
|
|
{
|
|
|
|
|
"id": "container_test_npc",
|
|
|
|
|
"displayName": "Equipment Officer",
|
|
|
|
|
"npcType": "person",
|
|
|
|
|
"position": { "x": 8, "y": 5 },
|
|
|
|
|
"spriteSheet": "hacker-red",
|
|
|
|
|
"spriteTalk": "assets/characters/hacker-red-talk.png",
|
|
|
|
|
"spriteConfig": {
|
|
|
|
|
"idleFrameStart": 20,
|
|
|
|
|
"idleFrameEnd": 23
|
|
|
|
|
},
|
|
|
|
|
"storyPath": "scenarios/ink/equipment-officer.json",
|
|
|
|
|
"currentKnot": "start",
|
|
|
|
|
"itemsHeld": [
|
2025-11-08 22:23:55 +00:00
|
|
|
{
|
|
|
|
|
"type": "phone",
|
|
|
|
|
"name": "Your Phone 1",
|
|
|
|
|
"takeable": true,
|
|
|
|
|
"phoneId": "player_phone",
|
|
|
|
|
"npcIds": ["gossip_girl"],
|
|
|
|
|
"observations": "Your personal phone with some interesting contacts"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "phone",
|
|
|
|
|
"name": "Your Phone 2",
|
|
|
|
|
"takeable": true,
|
|
|
|
|
"phoneId": "player_phone",
|
|
|
|
|
"npcIds": ["neye_eve"],
|
|
|
|
|
"observations": "Your personal phone with some interesting contacts"
|
|
|
|
|
},
|
2025-11-08 10:44:34 +00:00
|
|
|
{
|
|
|
|
|
"type": "lockpick",
|
|
|
|
|
"name": "Basic Lock Pick Kit",
|
|
|
|
|
"takeable": true,
|
|
|
|
|
"observations": "A basic set of lock picking tools"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "lockpick",
|
|
|
|
|
"name": "Advanced Lock Pick Kit",
|
|
|
|
|
"takeable": true,
|
|
|
|
|
"observations": "An advanced set with precision tools"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "workstation",
|
|
|
|
|
"name": "Analysis Workstation",
|
|
|
|
|
"takeable": true,
|
|
|
|
|
"observations": "Portable analysis workstation"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "keycard",
|
|
|
|
|
"name": "Security Keycard",
|
|
|
|
|
"takeable": true,
|
|
|
|
|
"observations": "Electronic access keycard"
|
2025-11-08 16:01:19 +00:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "notes",
|
|
|
|
|
"name": "Security Log",
|
|
|
|
|
"takeable": true,
|
|
|
|
|
"readable": true,
|
|
|
|
|
"text": "Unusual after-hours access detected:\n- CEO office: 11:30 PM\n- Server room: 2:15 AM\n- CEO office again: 3:45 AM",
|
|
|
|
|
"observations": "A concerning security log from last night"
|
2025-11-08 10:44:34 +00:00
|
|
|
}
|
|
|
|
|
]
|
2025-11-07 00:33:22 +00:00
|
|
|
}
|
|
|
|
|
]
|
2025-11-04 14:16:48 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|