[gd_resource type="Resource" script_class="VenueScenario" load_steps=17 format=3] [ext_resource type="Script" path="res://src/core/access_policy.gd" id="1_xxhx3"] [ext_resource type="Script" path="res://src/core/npc_profile.gd" id="2_fiebn"] [ext_resource type="Script" path="res://src/core/venue_scenario.gd" id="3_2dvuq"] [sub_resource type="Resource" id="Resource_blmt0"] script = ExtResource("1_xxhx3") required_artifacts = { 1: true, 3: true, 4: true, 5: true } grant_if_any_required = true minimum_age = 0 require_id = false wand_screening_required = false policy_summary = "Entry requires a wristband, credential, ticket, or guest-list confirmation." [sub_resource type="Resource" id="Resource_oddac"] script = ExtResource("2_fiebn") id = "tourist" display_name = "Tourist" npc_type = 0 temperament = 0.1 base_compliance = 0.9 return_probability = 0.0 reactions_by_level = {} default_reactions = { 1: { 0: 80, 2: 8, 3: 12 }, 2: { 0: 70, 1: 10, 2: 12, 4: 8 }, 3: { 0: 55, 1: 15, 2: 20, 4: 10 }, 4: { 1: 65, 2: 15, 7: 20 }, 5: { 1: 30, 5: 40, 7: 30 } } reaction_delay = 0.6 dialogue_lines = Array[String](["Oh sure, sorry, just taking a picture.", "Is there a better spot to stand?", "Understood, moving."]) carried_items = Array[String]([]) [sub_resource type="Resource" id="Resource_byir2"] script = ExtResource("2_fiebn") id = "confused_visitor" display_name = "Confused Visitor" npc_type = 3 temperament = 0.2 base_compliance = 0.85 return_probability = 0.0 reactions_by_level = {} default_reactions = { 1: { 0: 80, 2: 8, 3: 12 }, 2: { 0: 70, 1: 10, 2: 12, 4: 8 }, 3: { 0: 55, 1: 15, 2: 20, 4: 10 }, 4: { 1: 65, 2: 15, 7: 20 }, 5: { 1: 30, 5: 40, 7: 30 } } reaction_delay = 0.6 dialogue_lines = Array[String](["Wait, this isn't the entrance?", "Sorry about that, I'm a bit lost."]) carried_items = Array[String]([]) [sub_resource type="Resource" id="Resource_3tt0b"] script = ExtResource("2_fiebn") id = "delivery" display_name = "Delivery Worker" npc_type = 10 temperament = 0.25 base_compliance = 0.8 return_probability = 0.0 reactions_by_level = {} default_reactions = { 1: { 0: 80, 2: 8, 3: 12 }, 2: { 0: 70, 1: 10, 2: 12, 4: 8 }, 3: { 0: 55, 1: 15, 2: 20, 4: 10 }, 4: { 1: 65, 2: 15, 7: 20 }, 5: { 1: 30, 5: 40, 7: 30 } } reaction_delay = 0.6 dialogue_lines = Array[String](["Where should I leave this?"]) carried_items = Array[String]([]) [sub_resource type="Resource" id="Resource_ihxib"] script = ExtResource("2_fiebn") id = "street_performer" display_name = "Street Performer" npc_type = 1 temperament = 0.45 base_compliance = 0.55 return_probability = 0.0 reactions_by_level = { 1: { 0: 55, 2: 15, 3: 30 } } default_reactions = { 1: { 0: 80, 2: 8, 3: 12 }, 2: { 0: 70, 1: 10, 2: 12, 4: 8 }, 3: { 0: 55, 1: 15, 2: 20, 4: 10 }, 4: { 1: 65, 2: 15, 7: 20 }, 5: { 1: 30, 5: 40, 7: 30 } } reaction_delay = 0.6 dialogue_lines = Array[String]([]) carried_items = Array[String]([]) [sub_resource type="Resource" id="Resource_c57iy"] script = ExtResource("2_fiebn") id = "influencer" display_name = "Influencer" npc_type = 2 temperament = 0.5 base_compliance = 0.5 return_probability = 0.0 reactions_by_level = { 1: { 0: 40, 2: 10, 3: 30, 4: 20 }, 2: { 0: 30, 2: 20, 4: 35, 8: 15 }, 3: { 0: 10, 1: 15, 2: 20, 4: 30, 8: 25 } } default_reactions = { 1: { 0: 80, 2: 8, 3: 12 }, 2: { 0: 70, 1: 10, 2: 12, 4: 8 }, 3: { 0: 55, 1: 15, 2: 20, 4: 10 }, 4: { 1: 65, 2: 15, 7: 20 }, 5: { 1: 30, 5: 40, 7: 30 } } reaction_delay = 0.6 dialogue_lines = Array[String](["This is public sidewalk, you can't stop me from filming."]) carried_items = Array[String]([]) [sub_resource type="Resource" id="Resource_bk410"] script = ExtResource("2_fiebn") id = "intoxicated" display_name = "Intoxicated Pedestrian" npc_type = 4 temperament = 0.6 base_compliance = 0.4 return_probability = 0.0 reactions_by_level = { 1: { 0: 30, 2: 20, 3: 50 }, 2: { 0: 40, 2: 35, 3: 15, 4: 10 } } default_reactions = { 1: { 0: 80, 2: 8, 3: 12 }, 2: { 0: 70, 1: 10, 2: 12, 4: 8 }, 3: { 0: 55, 1: 15, 2: 20, 4: 10 }, 4: { 1: 65, 2: 15, 7: 20 }, 5: { 1: 30, 5: 40, 7: 30 } } reaction_delay = 1.8 dialogue_lines = Array[String]([]) carried_items = Array[String]([]) [sub_resource type="Resource" id="Resource_jp52w"] script = ExtResource("2_fiebn") id = "trespasser" display_name = "Trespasser" npc_type = 5 temperament = 0.55 base_compliance = 0.35 return_probability = 0.6 reactions_by_level = { 1: { 0: 30, 2: 25, 3: 45 }, 2: { 0: 40, 2: 35, 6: 25 }, 3: { 1: 35, 2: 25, 6: 15, 7: 10, 8: 15 }, 4: { 1: 70, 7: 30 }, 5: { 1: 30, 5: 50, 7: 20 } } default_reactions = { 1: { 0: 80, 2: 8, 3: 12 }, 2: { 0: 70, 1: 10, 2: 12, 4: 8 }, 3: { 0: 55, 1: 15, 2: 20, 4: 10 }, 4: { 1: 65, 2: 15, 7: 20 }, 5: { 1: 30, 5: 40, 7: 30 } } reaction_delay = 0.6 dialogue_lines = Array[String](["I'm just here to see a friend, come on.", "I'll be inside for ten seconds."]) carried_items = Array[String]([]) [sub_resource type="Resource" id="Resource_5kplf"] script = ExtResource("2_fiebn") id = "mental_crisis" display_name = "Person in Crisis" npc_type = 7 temperament = 0.7 base_compliance = 0.3 return_probability = 0.4 reactions_by_level = { 1: { 0: 25, 2: 20, 3: 55 }, 2: { 0: 25, 2: 35, 3: 30, 5: 10 }, 3: { 0: 25, 1: 15, 2: 30, 5: 30 }, 4: { 1: 40, 5: 35, 7: 25 }, 5: { 1: 25, 5: 60, 7: 15 } } default_reactions = { 1: { 0: 80, 2: 8, 3: 12 }, 2: { 0: 70, 1: 10, 2: 12, 4: 8 }, 3: { 0: 55, 1: 15, 2: 20, 4: 10 }, 4: { 1: 65, 2: 15, 7: 20 }, 5: { 1: 30, 5: 40, 7: 30 } } reaction_delay = 2.4 dialogue_lines = Array[String]([]) carried_items = Array[String]([]) [sub_resource type="Resource" id="Resource_6bscs"] script = ExtResource("2_fiebn") id = "violent_threat" display_name = "Violent Threat" npc_type = 6 temperament = 0.95 base_compliance = 0.05 return_probability = 0.0 reactions_by_level = { 1: { 2: 25, 3: 45, 5: 30 }, 2: { 2: 30, 5: 45, 7: 25 }, 3: { 1: 20, 5: 45, 7: 35 }, 4: { 1: 15, 5: 30, 7: 55 }, 5: { 1: 30, 5: 40, 7: 30 } } default_reactions = { 1: { 0: 80, 2: 8, 3: 12 }, 2: { 0: 70, 1: 10, 2: 12, 4: 8 }, 3: { 0: 55, 1: 15, 2: 20, 4: 10 }, 4: { 1: 65, 2: 15, 7: 20 }, 5: { 1: 30, 5: 40, 7: 30 } } reaction_delay = 0.6 dialogue_lines = Array[String]([]) carried_items = Array[String]([]) [sub_resource type="Resource" id="Resource_n4lxh"] script = ExtResource("2_fiebn") id = "protester" display_name = "Protester" npc_type = 12 temperament = 0.5 base_compliance = 0.4 return_probability = 0.25 reactions_by_level = { 1: { 0: 25, 2: 35, 3: 25, 4: 15 }, 2: { 0: 15, 2: 40, 3: 15, 4: 25, 8: 5 }, 3: { 0: 10, 1: 25, 2: 25, 4: 25, 8: 15 }, 4: { 1: 60, 2: 20, 7: 20 } } default_reactions = { 1: { 0: 80, 2: 8, 3: 12 }, 2: { 0: 70, 1: 10, 2: 12, 4: 8 }, 3: { 0: 55, 1: 15, 2: 20, 4: 10 }, 4: { 1: 65, 2: 15, 7: 20 }, 5: { 1: 30, 5: 40, 7: 30 } } reaction_delay = 0.6 dialogue_lines = Array[String](["I have every right to be on public sidewalk.", "You can't touch me, this is a lawful protest."]) carried_items = Array[String]([]) [sub_resource type="Resource" id="Resource_6st6l"] script = ExtResource("2_fiebn") id = "authorized_staff" display_name = "Staff Member" npc_type = 8 temperament = 0.15 base_compliance = 1.0 return_probability = 0.0 reactions_by_level = {} default_reactions = { 1: { 0: 100 } } reaction_delay = 0.6 dialogue_lines = Array[String]([]) carried_items = Array[String]([]) [sub_resource type="Resource" id="Resource_nf2oq"] script = ExtResource("2_fiebn") id = "authorized_guest" display_name = "Authorized Guest" npc_type = 9 temperament = 0.2 base_compliance = 0.95 return_probability = 0.0 reactions_by_level = {} default_reactions = { 1: { 0: 92, 2: 8 }, 2: { 0: 88, 2: 12 } } reaction_delay = 0.6 dialogue_lines = Array[String]([]) carried_items = Array[String]([]) [resource] script = ExtResource("3_2dvuq") id = "tv_studio" display_name = "Hollywood Blvd Late Night TV Studio" description = "Crowd, celebrities, and staff around a late-night studio." access_policy = SubResource("Resource_blmt0") equipment = Array[String](["wristband_policy", "guest_list", "radio", "flashlight"]) locations = { "entrance": Vector3(0, 0, 1), "guard_post": Vector3(0, 0, -3), "queue_area": Vector3(0, 0, 9), "sidewalk": Vector3(0, 0, 9), "stage_door": Vector3(6, 0, -2), "steps_end": Vector3(0, 0, 3) } npc_profiles = Array[ExtResource("2_fiebn")]([SubResource("Resource_oddac"), SubResource("Resource_byir2"), SubResource("Resource_3tt0b"), SubResource("Resource_ihxib"), SubResource("Resource_c57iy"), SubResource("Resource_bk410"), SubResource("Resource_jp52w"), SubResource("Resource_5kplf"), SubResource("Resource_6bscs"), SubResource("Resource_n4lxh"), SubResource("Resource_6st6l"), SubResource("Resource_nf2oq")]) event_pool = Array[Dictionary]([{ "base_weight": 1.0, "id": "audience_ticket", "intent": "enter", "kind": "routine", "npc_type": 9, "override_access": { "has_ticket": true }, "phase": 0, "probability": 0.35, "time_range_s": Vector2(0, 900) }, { "base_weight": 1.0, "id": "protest_outside", "intent": "protest", "kind": "routine", "npc_type": 12, "phase": 0, "probability": 0.18, "time_range_s": Vector2(300, 900) }, { "base_weight": 1.0, "id": "celebrity_arrival", "intent": "arrive", "kind": "routine", "npc_type": 9, "override_access": { "has_guest_list": true }, "phase": 0, "probability": 0.2, "time_range_s": Vector2(300, 700) }, { "base_weight": 1.0, "id": "crew_shift", "intent": "enter", "kind": "routine", "npc_type": 8, "phase": 0, "probability": 0.3, "time_range_s": Vector2(0, 700) }, { "base_weight": 1.0, "id": "tourist_photo", "intent": "photo", "kind": "routine", "npc_type": 0, "phase": 0, "probability": 0.35, "time_range_s": Vector2(0, 900) }, { "base_weight": 1.0, "id": "confused_enter", "intent": "enter", "kind": "routine", "npc_type": 3, "phase": 0, "probability": 0.25, "time_range_s": Vector2(0, 900) }, { "base_weight": 1.0, "id": "influencer_film", "intent": "film", "kind": "routine", "npc_type": 2, "phase": 0, "probability": 0.28, "time_range_s": Vector2(0, 900) }, { "base_weight": 1.0, "id": "trespass_blend", "intent": "blend_in", "kind": "routine", "npc_type": 5, "phase": 0, "probability": 0.15, "time_range_s": Vector2(300, 900) }, { "base_weight": 1.0, "id": "studio_counterfeit", "intent": "counterfeit_credential", "kind": "scripted", "npc_type": 5, "override_access": { "credential_status": 2, "wristband_status": 2 }, "phase": 2, "probability": 0.55, "time_range_s": Vector2(620, 780) }, { "base_weight": 1.0, "hint": "hint.film_boundary", "id": "studio_film_boundary", "intent": "film_boundary", "kind": "scripted", "npc_type": 2, "phase": 1, "probability": 0.5, "time_range_s": Vector2(330, 560) }, { "base_weight": 1.0, "hint": "hint.film_boundary_repeat", "id": "studio_film_boundary_repeat", "intent": "film_boundary", "kind": "scripted", "npc_type": 2, "phase": 2, "probability": 0.45, "time_range_s": Vector2(640, 830) }, { "base_weight": 1.0, "extra_spawns": [{ "intent": "photo", "npc_type": 0 }, { "intent": "photo", "npc_type": 0 }, { "intent": "film", "npc_type": 2 }], "hint": "hint.celebrity_arrival", "id": "studio_celebrity_arrival", "intent": "arrive", "kind": "scripted", "npc_type": 9, "override_access": { "guest_list_status": 0, "has_guest_list": true }, "phase": 2, "probability": 0.5, "time_range_s": Vector2(620, 760) }, { "base_weight": 1.0, "id": "studio_follow_through", "intent": "follow_authorized", "kind": "scripted", "npc_type": 5, "override_access": { "has_credential": false, "has_guest_list": false, "has_ticket": false, "has_wristband": false }, "phase": 2, "probability": 0.45, "time_range_s": Vector2(700, 860) }]) shift_phases = { 0: { "start_s": 0.0 }, 1: { "start_s": 300.0 }, 2: { "start_s": 600.0 }, 3: { "start_s": 700.0 } } shift_duration_s = 900.0 policy_summary = "" door_staff_lines = {}