many many things

fixed cyber turning
added legs for pasqually and jasper
optimized stage loading code
fixed ui bugs
This commit is contained in:
Persephone Bubblegum-Holiday 2025-07-12 12:58:24 -07:00
parent 00183ca308
commit 01caec7e55
25 changed files with 1224 additions and 989 deletions

View file

@ -0,0 +1,660 @@
extends Node
var CyberChuck = {
"Chuck E. Hat":
{
"Derby":
{
"Chuck/Chuck/Skeleton3D/Avenger Hat": false,
"Chuck/Chuck/Skeleton3D/Cool Chuck Hat": false,
"Chuck/Chuck/Skeleton3D/Derby": true,
"Chuck/Chuck/Skeleton3D/Tux Derby": false,
"Chuck/Chuck/Skeleton3D/Blue Cool Chuck Hat": false,
},
"Tux Derby":
{
"Chuck/Chuck/Skeleton3D/Avenger Hat": false,
"Chuck/Chuck/Skeleton3D/Cool Chuck Hat": false,
"Chuck/Chuck/Skeleton3D/Derby": false,
"Chuck/Chuck/Skeleton3D/Tux Derby": true,
"Chuck/Chuck/Skeleton3D/Blue Cool Chuck Hat": false,
},
"Cool Chuck":
{
"Chuck/Chuck/Skeleton3D/Avenger Hat": false,
"Chuck/Chuck/Skeleton3D/Cool Chuck Hat": true,
"Chuck/Chuck/Skeleton3D/Derby": false,
"Chuck/Chuck/Skeleton3D/Tux Derby": false,
"Chuck/Chuck/Skeleton3D/Blue Cool Chuck Hat": false,
},
"Cool Chuck (Blue)":
{
"Chuck/Chuck/Skeleton3D/Avenger Hat": false,
"Chuck/Chuck/Skeleton3D/Cool Chuck Hat": false,
"Chuck/Chuck/Skeleton3D/Derby": false,
"Chuck/Chuck/Skeleton3D/Tux Derby": false,
"Chuck/Chuck/Skeleton3D/Blue Cool Chuck Hat": true,
},
"Avenger":
{
"Chuck/Chuck/Skeleton3D/Avenger Hat": true,
"Chuck/Chuck/Skeleton3D/Cool Chuck Hat": false,
"Chuck/Chuck/Skeleton3D/Derby": false,
"Chuck/Chuck/Skeleton3D/Tux Derby": false,
"Chuck/Chuck/Skeleton3D/Blue Cool Chuck Hat": false,
},
"None":
{
"Chuck/Chuck/Skeleton3D/Avenger Hat": false,
"Chuck/Chuck/Skeleton3D/Cool Chuck Hat": false,
"Chuck/Chuck/Skeleton3D/Derby": false,
"Chuck/Chuck/Skeleton3D/Tux Derby": false,
"Chuck/Chuck/Skeleton3D/Blue Cool Chuck Hat": false,
}
},
"Chuck E. Shirt":
{
"Yellow Checker Vest":
{
"Chuck/Chuck/Skeleton3D/Rockstar Shirt": false,
"Chuck/Chuck/Skeleton3D/Avenger Shirt": false,
"Chuck/Chuck/Skeleton3D/Cool Chuck Shirt": false,
"Chuck/Chuck/Skeleton3D/Black Bowtie": true,
"Chuck/Chuck/Skeleton3D/Buttons": true,
"Chuck/Chuck/Skeleton3D/Vest Trim": true,
"Chuck/Chuck/Skeleton3D/Yellow Checker Vest": true,
"Chuck/Chuck/Skeleton3D/Rocker Vest": false,
"Chuck/Chuck/Skeleton3D/Red Bowtie": false,
"Chuck/Chuck/Skeleton3D/Tux Button": false,
"Chuck/Chuck/Skeleton3D/Lapel": false,
"Chuck/Chuck/Skeleton3D/Tux Base": false,
},
"Red Vest":
{
"Chuck/Chuck/Skeleton3D/Rockstar Shirt": false,
"Chuck/Chuck/Skeleton3D/Avenger Shirt": false,
"Chuck/Chuck/Skeleton3D/Cool Chuck Shirt": false,
"Chuck/Chuck/Skeleton3D/Black Bowtie": true,
"Chuck/Chuck/Skeleton3D/Buttons": true,
"Chuck/Chuck/Skeleton3D/Vest Trim": true,
"Chuck/Chuck/Skeleton3D/Yellow Checker Vest": false,
"Chuck/Chuck/Skeleton3D/Rocker Vest": true,
"Chuck/Chuck/Skeleton3D/Red Bowtie": false,
"Chuck/Chuck/Skeleton3D/Tux Button": false,
"Chuck/Chuck/Skeleton3D/Lapel": false,
"Chuck/Chuck/Skeleton3D/Tux Base": false,
},
"Tux":
{
"Chuck/Chuck/Skeleton3D/Rockstar Shirt": false,
"Chuck/Chuck/Skeleton3D/Avenger Shirt": false,
"Chuck/Chuck/Skeleton3D/Cool Chuck Shirt": false,
"Chuck/Chuck/Skeleton3D/Black Bowtie": false,
"Chuck/Chuck/Skeleton3D/Buttons": false,
"Chuck/Chuck/Skeleton3D/Vest Trim": false,
"Chuck/Chuck/Skeleton3D/Yellow Checker Vest": false,
"Chuck/Chuck/Skeleton3D/Rocker Vest": false,
"Chuck/Chuck/Skeleton3D/Red Bowtie": true,
"Chuck/Chuck/Skeleton3D/Tux Button": true,
"Chuck/Chuck/Skeleton3D/Lapel": true,
"Chuck/Chuck/Skeleton3D/Tux Base": true,
},
"Cool Chuck Shirt":
{
"Chuck/Chuck/Skeleton3D/Rockstar Shirt": false,
"Chuck/Chuck/Skeleton3D/Avenger Shirt": false,
"Chuck/Chuck/Skeleton3D/Cool Chuck Shirt": true,
"Chuck/Chuck/Skeleton3D/Black Bowtie": false,
"Chuck/Chuck/Skeleton3D/Buttons": false,
"Chuck/Chuck/Skeleton3D/Vest Trim": false,
"Chuck/Chuck/Skeleton3D/Yellow Checker Vest": false,
"Chuck/Chuck/Skeleton3D/Rocker Vest": false,
"Chuck/Chuck/Skeleton3D/Red Bowtie": false,
"Chuck/Chuck/Skeleton3D/Tux Button": false,
"Chuck/Chuck/Skeleton3D/Lapel": false,
"Chuck/Chuck/Skeleton3D/Tux Base": false,
},
"Avenger Shirt":
{
"Chuck/Chuck/Skeleton3D/Rockstar Shirt": false,
"Chuck/Chuck/Skeleton3D/Avenger Shirt": true,
"Chuck/Chuck/Skeleton3D/Cool Chuck Shirt": false,
"Chuck/Chuck/Skeleton3D/Black Bowtie": false,
"Chuck/Chuck/Skeleton3D/Buttons": false,
"Chuck/Chuck/Skeleton3D/Vest Trim": false,
"Chuck/Chuck/Skeleton3D/Yellow Checker Vest": false,
"Chuck/Chuck/Skeleton3D/Rocker Vest": false,
"Chuck/Chuck/Skeleton3D/Red Bowtie": false,
"Chuck/Chuck/Skeleton3D/Tux Button": false,
"Chuck/Chuck/Skeleton3D/Lapel": false,
"Chuck/Chuck/Skeleton3D/Tux Base": false,
},
"Rockstar Shirt":
{
"Chuck/Chuck/Skeleton3D/Rockstar Shirt": true,
"Chuck/Chuck/Skeleton3D/Avenger Shirt": false,
"Chuck/Chuck/Skeleton3D/Cool Chuck Shirt": false,
"Chuck/Chuck/Skeleton3D/Black Bowtie": false,
"Chuck/Chuck/Skeleton3D/Buttons": false,
"Chuck/Chuck/Skeleton3D/Vest Trim": false,
"Chuck/Chuck/Skeleton3D/Yellow Checker Vest": false,
"Chuck/Chuck/Skeleton3D/Rocker Vest": false,
"Chuck/Chuck/Skeleton3D/Red Bowtie": false,
"Chuck/Chuck/Skeleton3D/Tux Button": false,
"Chuck/Chuck/Skeleton3D/Lapel": false,
"Chuck/Chuck/Skeleton3D/Tux Base": false,
}
},
"Chuck E. Mask":
{
"PTT":
{
"Chuck/Chuck/Skeleton3D/PTT Ears": true,
"Chuck/Chuck/Skeleton3D/PTT Jaw": true,
"Chuck/Chuck/Skeleton3D/PTT Muzzle": true,
"Chuck/Chuck/Skeleton3D/Modern Ears": false,
"Chuck/Chuck/Skeleton3D/Modern Jaw": false,
"Chuck/Chuck/Skeleton3D/Modern Muzzle": false,
"Chuck/Chuck/Skeleton3D/Northridge Ears": false,
},
"Modern":
{
"Chuck/Chuck/Skeleton3D/PTT Ears": false,
"Chuck/Chuck/Skeleton3D/PTT Jaw": false,
"Chuck/Chuck/Skeleton3D/PTT Muzzle": false,
"Chuck/Chuck/Skeleton3D/Modern Ears": true,
"Chuck/Chuck/Skeleton3D/Modern Jaw": true,
"Chuck/Chuck/Skeleton3D/Modern Muzzle": true,
"Chuck/Chuck/Skeleton3D/Northridge Ears": false,
},
"Northridge":
{
"Chuck/Chuck/Skeleton3D/PTT Ears": false,
"Chuck/Chuck/Skeleton3D/PTT Jaw": false,
"Chuck/Chuck/Skeleton3D/PTT Muzzle": false,
"Chuck/Chuck/Skeleton3D/Modern Ears": false,
"Chuck/Chuck/Skeleton3D/Modern Jaw": true,
"Chuck/Chuck/Skeleton3D/Modern Muzzle": true,
"Chuck/Chuck/Skeleton3D/Northridge Ears": true,
},
},
"Chuck E. Eyelids":
{
"Blue":
{
"Chuck/Chuck/Skeleton3D/Blue Eyelids": true,
"Chuck/Chuck/Skeleton3D/Grey Eyelids": false,
},
"Grey":
{
"Chuck/Chuck/Skeleton3D/Blue Eyelids": false,
"Chuck/Chuck/Skeleton3D/Grey Eyelids": true,
},
},
"Chuck E. Legs":
{
"None":
{
"Chuck/Chuck/Skeleton3D/Stand": true,
"Chuck/Chuck/Skeleton3D/Legs": false,
"Chuck/Chuck/Skeleton3D/Feet": false,
},
"Normal":
{
"Chuck/Chuck/Skeleton3D/Stand": false,
"Chuck/Chuck/Skeleton3D/Legs": true,
"Chuck/Chuck/Skeleton3D/Feet": true,
}
},
"Chuck E. Pants":
{
"None":
{
"Chuck/Chuck/Skeleton3D/Avenger Shorts": false,
"Chuck/Chuck/Skeleton3D/Cool Chuck Shorts": false,
"Chuck/Chuck/Skeleton3D/Rockstar Jeans": false,
},
"Cool Chuck Shorts":
{
"Chuck/Chuck/Skeleton3D/Avenger Shorts": false,
"Chuck/Chuck/Skeleton3D/Cool Chuck Shorts": true,
"Chuck/Chuck/Skeleton3D/Rockstar Jeans": false,
},
"Avenger Shorts":
{
"Chuck/Chuck/Skeleton3D/Avenger Shorts": true,
"Chuck/Chuck/Skeleton3D/Cool Chuck Shorts": false,
"Chuck/Chuck/Skeleton3D/Rockstar Jeans": false,
},
"Rockstar Jeans":
{
"Chuck/Chuck/Skeleton3D/Avenger Shorts": false,
"Chuck/Chuck/Skeleton3D/Cool Chuck Shorts": false,
"Chuck/Chuck/Skeleton3D/Rockstar Jeans": true,
}
},
}
var CyberHelen = {
"Helen Eyelids":
{
"Blue":
{
"Helen/Helen/Skeleton3D/Blue Eyelids": true,
"Helen/Helen/Skeleton3D/Pink Eyelids": false,
},
"Pink":
{
"Helen/Helen/Skeleton3D/Blue Eyelids": false,
"Helen/Helen/Skeleton3D/Pink Eyelids": true,
},
},
"Helen Dress":
{
"PTT":
{
"Helen/Helen/Skeleton3D/PTT Shirt": true,
"Helen/Helen/Skeleton3D/Half Body Skirt": false,
"Helen/Helen/Skeleton3D/Skirt": false,
"Helen/Helen/Skeleton3D/Black Shirt": false,
"Helen/Helen/Skeleton3D/Collar": false,
},
"Road Stage":
{
"Helen/Helen/Skeleton3D/PTT Shirt": false,
"Helen/Helen/Skeleton3D/Half Body Skirt": true,
"Helen/Helen/Skeleton3D/Skirt": false,
"Helen/Helen/Skeleton3D/Black Shirt": true,
"Helen/Helen/Skeleton3D/Collar": true,
},
"Modern":
{
"Helen/Helen/Skeleton3D/PTT Shirt": false,
"Helen/Helen/Skeleton3D/Half Body Skirt": false,
"Helen/Helen/Skeleton3D/Skirt": true,
"Helen/Helen/Skeleton3D/Black Shirt": true,
"Helen/Helen/Skeleton3D/Collar": true,
},
},
"Helen Hair":
{
"PTT":
{
"Helen/Helen/Skeleton3D/Modern Hair": false,
"Helen/Helen/Skeleton3D/Modern Hair Yellow": false,
"Helen/Helen/Skeleton3D/Road Stage Hair": false,
"Helen/Helen/Skeleton3D/PTT Hair": true,
},
"Road Stage":
{
"Helen/Helen/Skeleton3D/Modern Hair": false,
"Helen/Helen/Skeleton3D/Modern Hair Yellow": false,
"Helen/Helen/Skeleton3D/Road Stage Hair": true,
"Helen/Helen/Skeleton3D/PTT Hair": false,
},
"Modern":
{
"Helen/Helen/Skeleton3D/Modern Hair": true,
"Helen/Helen/Skeleton3D/Modern Hair Yellow": false,
"Helen/Helen/Skeleton3D/Road Stage Hair": false,
"Helen/Helen/Skeleton3D/PTT Hair": false,
},
"Modern Yellow":
{
"Helen/Helen/Skeleton3D/Modern Hair": false,
"Helen/Helen/Skeleton3D/Modern Hair Yellow": true,
"Helen/Helen/Skeleton3D/Road Stage Hair": false,
"Helen/Helen/Skeleton3D/PTT Hair": false,
},
},
"Helen Mask":
{
"PTT":
{
"Helen/Helen/Skeleton3D/PTT Mask": true,
"Helen/Helen/Skeleton3D/PTT Jaw": true,
"Helen/Helen/Skeleton3D/PTT Beak": true,
"Helen/Helen/Skeleton3D/PTT Mask Crest": true,
"Helen/Helen/Skeleton3D/PTT Red Mouth Parts": true,
"Helen/Helen/Skeleton3D/PTT Eyeshadow": true,
"Helen/Helen/Skeleton3D/Modern Head": false,
"Helen/Helen/Skeleton3D/Modern Mask": false,
"Helen/Helen/Skeleton3D/Road Stage Jaw": false,
"Helen/Helen/Skeleton3D/Road Stage Beak": false,
"Helen/Helen/Skeleton3D/Modern Jaw": false,
"Helen/Helen/Skeleton3D/Modern Beak": false,
},
"Road Stage":
{
"Helen/Helen/Skeleton3D/PTT Mask": false,
"Helen/Helen/Skeleton3D/PTT Jaw": false,
"Helen/Helen/Skeleton3D/PTT Beak": false,
"Helen/Helen/Skeleton3D/PTT Mask Crest": false,
"Helen/Helen/Skeleton3D/PTT Red Mouth Parts": false,
"Helen/Helen/Skeleton3D/PTT Eyeshadow": false,
"Helen/Helen/Skeleton3D/Modern Head": true,
"Helen/Helen/Skeleton3D/Modern Mask": true,
"Helen/Helen/Skeleton3D/Road Stage Jaw": true,
"Helen/Helen/Skeleton3D/Road Stage Beak": true,
"Helen/Helen/Skeleton3D/Modern Jaw": false,
"Helen/Helen/Skeleton3D/Modern Beak": false,
},
"Modern":
{
"Helen/Helen/Skeleton3D/PTT Mask": false,
"Helen/Helen/Skeleton3D/PTT Jaw": false,
"Helen/Helen/Skeleton3D/PTT Beak": false,
"Helen/Helen/Skeleton3D/PTT Mask Crest": false,
"Helen/Helen/Skeleton3D/PTT Red Mouth Parts": false,
"Helen/Helen/Skeleton3D/PTT Eyeshadow": false,
"Helen/Helen/Skeleton3D/Modern Head": true,
"Helen/Helen/Skeleton3D/Modern Mask": true,
"Helen/Helen/Skeleton3D/Road Stage Jaw": false,
"Helen/Helen/Skeleton3D/Road Stage Beak": false,
"Helen/Helen/Skeleton3D/Modern Jaw": true,
"Helen/Helen/Skeleton3D/Modern Beak": true,
},
},
"Helen Legs":
{
"None":
{
"Helen/Helen/Skeleton3D/Stand": true,
"Helen/Helen/Skeleton3D/Legs": false,
"Helen/Helen/Skeleton3D/Shoes": false,
},
"Modern Standing":
{
"Helen/Helen/Skeleton3D/Stand": false,
"Helen/Helen/Skeleton3D/Legs": true,
"Helen/Helen/Skeleton3D/Shoes": true,
}
},
}
var CyberMunch = {
"Munch Hat":
{
"None":
{
"Munch/Munch/Skeleton3D/Road Stage Hat": false,
"Munch/Munch/Skeleton3D/Modern Hat": false,
},
"Road Stage":
{
"Munch/Munch/Skeleton3D/Road Stage Hat": true,
"Munch/Munch/Skeleton3D/Modern Hat": false,
},
"Modern":
{
"Munch/Munch/Skeleton3D/Road Stage Hat": false,
"Munch/Munch/Skeleton3D/Modern Hat": true,
},
},
"Munch Mask":
{
"PTT":
{
"Munch/Munch/Skeleton3D/PTT Nostrils": true,
"Munch/Munch/Skeleton3D/Modern Nostrils": false,
},
"Modern":
{
"Munch/Munch/Skeleton3D/PTT Nostrils": false,
"Munch/Munch/Skeleton3D/Modern Nostrils": true,
},
},
"Munch Body":
{
"PTT":
{
"Munch/Munch/Skeleton3D/PTT Torso": true,
"Munch/Munch/Skeleton3D/PTT Arms": true,
"Munch/Munch/Skeleton3D/PTT Left Hand": true,
"Munch/Munch/Skeleton3D/PTT Right Hand": true,
"Munch/Munch/Skeleton3D/Modern Torso": false,
"Munch/Munch/Skeleton3D/Modern Arms": false,
"Munch/Munch/Skeleton3D/Modern Left Hand": false,
"Munch/Munch/Skeleton3D/Modern Right Hand": false,
},
"Modern":
{
"Munch/Munch/Skeleton3D/PTT Torso": false,
"Munch/Munch/Skeleton3D/PTT Arms": false,
"Munch/Munch/Skeleton3D/PTT Left Hand": false,
"Munch/Munch/Skeleton3D/PTT Right Hand": false,
"Munch/Munch/Skeleton3D/Modern Torso": true,
"Munch/Munch/Skeleton3D/Modern Arms": true,
"Munch/Munch/Skeleton3D/Modern Left Hand": true,
"Munch/Munch/Skeleton3D/Modern Right Hand": true,
},
},
"Munch Legs":
{
"None":
{
"Munch/Munch/Skeleton3D/Legs": false,
"Munch/Munch/Skeleton3D/Shoes": false,
},
"Modern":
{
"Munch/Munch/Skeleton3D/Legs": true,
"Munch/Munch/Skeleton3D/Shoes": true,
},
},
}
var CyberJasper = {
"Jasper Hat":
{
"PTT":
{
"Jasper/Jasper/Skeleton3D/Straw Hat Small": true,
"Jasper/Jasper/Skeleton3D/Straw Hat Large": false,
"Jasper/Jasper/Skeleton3D/Cowboy Hat": false,
},
"Rocker":
{
"Jasper/Jasper/Skeleton3D/Straw Hat Small": false,
"Jasper/Jasper/Skeleton3D/Straw Hat Large": true,
"Jasper/Jasper/Skeleton3D/Cowboy Hat": false,
},
"Modern":
{
"Jasper/Jasper/Skeleton3D/Straw Hat Small": false,
"Jasper/Jasper/Skeleton3D/Straw Hat Large": false,
"Jasper/Jasper/Skeleton3D/Cowboy Hat": true,
},
},
"Jasper Shirt":
{
"PTT":
{
"Jasper/Jasper/Skeleton3D/Red Shirt": true,
"Jasper/Jasper/Skeleton3D/Rocker Shirt": false,
"Jasper/Jasper/Skeleton3D/Cow Print Shirt": false,
},
"Rocker":
{
"Jasper/Jasper/Skeleton3D/Red Shirt": false,
"Jasper/Jasper/Skeleton3D/Rocker Shirt": true,
"Jasper/Jasper/Skeleton3D/Cow Print Shirt": false,
},
"Modern":
{
"Jasper/Jasper/Skeleton3D/Red Shirt": false,
"Jasper/Jasper/Skeleton3D/Rocker Shirt": false,
"Jasper/Jasper/Skeleton3D/Cow Print Shirt": true,
},
},
"Jasper Guitar":
{
"Banjo":
{
"Jasper/Jasper/Skeleton3D/Banjo": true,
"Jasper/Jasper/Skeleton3D/Cheese Guitar": false,
},
"Cheese Guitar":
{
"Jasper/Jasper/Skeleton3D/Banjo": false,
"Jasper/Jasper/Skeleton3D/Cheese Guitar": true,
},
},
"Jasper Bandana":
{
"Blue":
{
"Jasper/Jasper/Skeleton3D/Blue Bandana": true,
"Jasper/Jasper/Skeleton3D/Red Bandana": false,
},
"Red":
{
"Jasper/Jasper/Skeleton3D/Blue Bandana": false,
"Jasper/Jasper/Skeleton3D/Red Bandana": true,
},
},
"Jasper Overalls":
{
"Normal":
{
"Jasper/Jasper/Skeleton3D/Overalls": true,
},
"None":
{
"Jasper/Jasper/Skeleton3D/Overalls": false,
},
},
"Jasper Legs":
{
"None":
{
"Jasper/Jasper/Skeleton3D/Pants": false,
"Jasper/Jasper/Skeleton3D/Shoes": false,
},
"Normal":
{
"Jasper/Jasper/Skeleton3D/Pants": true,
"Jasper/Jasper/Skeleton3D/Shoes": true,
},
},
}
var CyberPasqually = {
"Pasqually Body":
{
"PTT":
{
"Pasqually/Pasqually/Skeleton3D/PTT Torso": true,
"Pasqually/Pasqually/Skeleton3D/PTT Arms": true,
"Pasqually/Pasqually/Skeleton3D/PTT Left Hand": true,
"Pasqually/Pasqually/Skeleton3D/PTT Right Hand": true,
"Pasqually/Pasqually/Skeleton3D/Modern Torso": false,
"Pasqually/Pasqually/Skeleton3D/Modern Arms": false,
"Pasqually/Pasqually/Skeleton3D/Modern Left Hand": false,
"Pasqually/Pasqually/Skeleton3D/Modern Right Hand": false,
},
"Modern":
{
"Pasqually/Pasqually/Skeleton3D/PTT Torso": false,
"Pasqually/Pasqually/Skeleton3D/PTT Arms": false,
"Pasqually/Pasqually/Skeleton3D/PTT Left Hand": false,
"Pasqually/Pasqually/Skeleton3D/PTT Right Hand": false,
"Pasqually/Pasqually/Skeleton3D/Modern Torso": true,
"Pasqually/Pasqually/Skeleton3D/Modern Arms": true,
"Pasqually/Pasqually/Skeleton3D/Modern Left Hand": true,
"Pasqually/Pasqually/Skeleton3D/Modern Right Hand": true,
},
},
"Pasqually Legs":
{
"None":
{
"Pasqually/Pasqually/Skeleton3D/Legs": false,
"Pasqually/Pasqually/Skeleton3D/Shoes": false,
},
"Normal":
{
"Pasqually/Pasqually/Skeleton3D/Legs": true,
"Pasqually/Pasqually/Skeleton3D/Shoes": true,
},
},
"Pasqually Held Item":
{
"Accordion":
{
"Pasqually/Pasqually/Skeleton3D/Spoons": false,
"Pasqually/Pasqually/Skeleton3D/Drumsticks": false,
"Pasqually/Pasqually/Skeleton3D/Accordion": true,
},
"None":
{
"Pasqually/Pasqually/Skeleton3D/Spoons": false,
"Pasqually/Pasqually/Skeleton3D/Drumsticks": false,
"Pasqually/Pasqually/Skeleton3D/Accordion": false,
},
"Spoons":
{
"Pasqually/Pasqually/Skeleton3D/Spoons": true,
"Pasqually/Pasqually/Skeleton3D/Drumsticks": false,
"Pasqually/Pasqually/Skeleton3D/Accordion": false,
},
"Drumsticks":
{
"Pasqually/Pasqually/Skeleton3D/Spoons": false,
"Pasqually/Pasqually/Skeleton3D/Drumsticks": true,
"Pasqually/Pasqually/Skeleton3D/Accordion": false,
},
},
}
var HelenHouseHelen = {
"Helen Hair":
{
"Black and White":
{
"Helen/Helen/Skeleton3D/BWHair": true,
"Helen/Helen/Skeleton3D/YellowHair": false,
},
"Yellow":
{
"Helen/Helen/Skeleton3D/BWHair": false,
"Helen/Helen/Skeleton3D/YellowHair": true,
},
},
"Helen Dress":
{
"Tux":
{
"Helen/Helen/Skeleton3D/Collar": true,
"Helen/Helen/Skeleton3D/Torso": true,
"Helen/Helen/Skeleton3D/Skirt": true,
"Helen/Helen/Skeleton3D/CheerDress": false,
},
"Cheerleader":
{
"Helen/Helen/Skeleton3D/Collar": false,
"Helen/Helen/Skeleton3D/Torso": false,
"Helen/Helen/Skeleton3D/Skirt": false,
"Helen/Helen/Skeleton3D/CheerDress": true,
}
}
}

View file

@ -0,0 +1 @@
uid://bnddq01t7dtqc

249
Scripts/Configs/Stages.gd Normal file
View file

@ -0,0 +1,249 @@
extends Node
var HelenHouse = {
"bits": 20,
"scene": "res://Scenes/Stages/HelenHouse.tscn",
"scene_ref_base": "SubViewport/HelenHouse/",
"camera_count": 2,
"ust_type": "Rockafire Explosion/3-Stage",
"bit_mapping":
{
23: { "bot": "Helen", "movement": "Mouth", "flow_in": 3.0, "flow_out": 2.0 },
24: { "bot": "Helen", "movement": "Left Ear", "flow_in": 3.5, "flow_out": 1.5 },
25: { "bot": "Helen", "movement": "Right Ear", "flow_in": 3.5, "flow_out": 1.5 },
26: { "bot": "Helen", "movement": "Left Eyelid", "flow_in": 1.5, "flow_out": 2.0 },
27: { "bot": "Helen", "movement": "Right Eyelid", "flow_in": 1.5, "flow_out": 2.0 },
28: { "bot": "Helen", "movement": "Eyes Left", "flow_in": 3.5, "flow_out": 1.5 },
29: { "bot": "Helen", "movement": "Eyes Right", "flow_in": 3.5, "flow_out": 1.5 },
30: { "bot": "Helen", "movement": "Head Left", "flow_in": 1.5, "flow_out": 1.5 },
31: { "bot": "Helen", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 },
32: { "bot": "Helen", "movement": "Head Up", "flow_in": 1.0, "flow_out": 1.0 },
33: { "bot": "Helen", "movement": "Left Arm Up", "flow_in": 0.8, "flow_out": 0.6 },
34: { "bot": "Helen", "movement": "Left Arm Twist", "flow_in": 0.8, "flow_out": 0.8 },
35: { "bot": "Helen", "movement": "Left Elbow", "flow_in": 1.0, "flow_out": 1.0 },
36: { "bot": "Helen", "movement": "Right Arm Up", "flow_in": 0.8, "flow_out": 0.6 },
37: { "bot": "Helen", "movement": "Right Arm Twist", "flow_in": 0.8, "flow_out": 0.8 },
38: { "bot": "Helen", "movement": "Right Elbow", "flow_in": 1.0, "flow_out": 1.0 },
39: { "bot": "Helen", "movement": "Body Left", "flow_in": 0.7, "flow_out": 0.7 },
40: { "bot": "Helen", "movement": "Body Right", "flow_in": 0.7, "flow_out": 0.7 },
41: { "bot": "Helen", "movement": "Body Lean", "flow_in": 1.0, "flow_out": 0.8 },
125: { "bot": "Spots", "movement": "Helen", "flow_in": "None", "flow_out": "None" },
},
"cosmetics": [ Cosmetics.HelenHouseHelen ],
"cosmetic_defaults": [ 0, 0 ]
}
var ChuckEsCorner = {
"bits": 16,
"scene": "res://Scenes/Stages/ChuckEsCorner.tscn",
"scene_ref_base": "SubViewport/ChuckEsCorner/",
"camera_count": 3,
"ust_type": "Cyberamics",
"bit_mapping":
{
1: { "bot": "Chuck", "movement": "Mouth", "flow_in": 7.5, "flow_out": 6.0 },
2: { "bot": "Chuck", "movement": "Head Left", "flow_in": 1.5, "flow_out": 1.5 },
3: { "bot": "Chuck", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 },
4: { "bot": "Chuck", "movement": "Head Up", "flow_in": 2.0, "flow_out": 1.0 },
5: { "bot": "Chuck", "movement": "Eyes Left", "flow_in": 4.0, "flow_out": 3.0 },
6: { "bot": "Chuck", "movement": "Eyes Right", "flow_in": 4.0, "flow_out": 3.0 },
7: { "bot": "Chuck", "movement": "Eyelids", "flow_in": 7.5, "flow_out": 5.0 },
8: { "bot": "Chuck", "movement": "Right Arm", "flow_in": 2.0, "flow_out": 1.0 },
41: { "bot": "Warblettes", "movement": "Mouth", "flow_in": 4.0, "flow_out": 3.0 },
44: { "bot": "Warblettes", "movement": "Body Rock", "flow_in": 1.0, "flow_out": 1.0 },
50: { "bot": "Spots", "movement": "Chuck", "flow_in": "None", "flow_out": "None" },
55: { "bot": "Floods", "movement": "Blue", "flow_in": "None", "flow_out": "None" },
78: { "bot": "Spots", "movement": "Warblettes", "flow_in": "None", "flow_out": "None" },
79: { "bot": "Color Spots", "movement": "Chuck", "flow_in": "None", "flow_out": "None" },
82: { "bot": "Floods", "movement": "Red", "flow_in": "None", "flow_out": "None" },
86: { "bot": "Floods", "movement": "Green", "flow_in": "None", "flow_out": "None" },
},
"cosmetics": [ Cosmetics.CyberChuck ],
"cosmetic_defaults": [ 0, 1, 0, 0, 0, 0 ]
}
var BalconyStage = {
"bits": 69,
"scene": "res://Scenes/Stages/Balcony.tscn",
"scene_ref_base": "SubViewport/Balcony/",
"camera_count": 6,
"ust_type": "Cyberamics",
"bit_mapping":
{
1: { "bot": "Chuck", "movement": "Mouth", "flow_in": 7.5, "flow_out": 6.0 },
2: { "bot": "Chuck", "movement": "Head Left", "flow_in": 1.5, "flow_out": 1.5 },
3: { "bot": "Chuck", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 },
4: { "bot": "Chuck", "movement": "Head Up", "flow_in": 2.0, "flow_out": 1.0 },
5: { "bot": "Chuck", "movement": "Eyes Left", "flow_in": 4.0, "flow_out": 3.0 },
6: { "bot": "Chuck", "movement": "Eyes Right", "flow_in": 4.0, "flow_out": 3.0 },
7: { "bot": "Chuck", "movement": "Eyelids", "flow_in": 7.5, "flow_out": 5.0 },
8: { "bot": "Chuck", "movement": "Right Arm", "flow_in": 2.0, "flow_out": 1.0 },
9: { "bot": "Helen", "movement": "Mouth", "flow_in": 7.5, "flow_out": 6.0 },
10: { "bot": "Helen", "movement": "Head Left", "flow_in": 1.5, "flow_out": 1.5 },
11: { "bot": "Helen", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 },
12: { "bot": "Helen", "movement": "Head Up", "flow_in": 2.0, "flow_out": 1.0 },
13: { "bot": "Helen", "movement": "Eyes Left", "flow_in": 4.0, "flow_out": 3.0 },
14: { "bot": "Helen", "movement": "Eyes Right", "flow_in": 4.0, "flow_out": 3.0 },
15: { "bot": "Helen", "movement": "Eyelids", "flow_in": 7.5, "flow_out": 5.0 },
16: { "bot": "Helen", "movement": "Right Arm", "flow_in": 2.0, "flow_out": 1.0 },
17: { "bot": "Munch", "movement": "Mouth", "flow_in": 7.5, "flow_out": 6.0 },
18: { "bot": "Munch", "movement": "Head Left", "flow_in": 1.5, "flow_out": 1.5 },
19: { "bot": "Munch", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 },
20: { "bot": "Munch", "movement": "Eyes Left", "flow_in": 4.0, "flow_out": 3.0 },
21: { "bot": "Munch", "movement": "Eyes Right", "flow_in": 4.0, "flow_out": 3.0 },
22: { "bot": "Munch", "movement": "Eyelids", "flow_in": 7.5, "flow_out": 5.0 },
23: { "bot": "Munch", "movement": "Right Arm", "flow_in": 2.0, "flow_out": 1.0 },
24: { "bot": "Munch", "movement": "Left Arm", "flow_in": 2.0, "flow_out": 1.0 },
25: { "bot": "Jasper", "movement": "Mouth", "flow_in": 7.5, "flow_out": 6.0 },
26: { "bot": "Jasper", "movement": "Head Left", "flow_in": 1.5, "flow_out": 1.5 },
27: { "bot": "Jasper", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 },
28: { "bot": "Jasper", "movement": "Head Up", "flow_in": 2.0, "flow_out": 1.0 },
29: { "bot": "Jasper", "movement": "Eyes Left", "flow_in": 4.0, "flow_out": 3.0 },
30: { "bot": "Jasper", "movement": "Eyes Right", "flow_in": 4.0, "flow_out": 3.0 },
31: { "bot": "Jasper", "movement": "Eyelids", "flow_in": 7.5, "flow_out": 5.0 },
32: { "bot": "Jasper", "movement": "Strum", "flow_in": 2.0, "flow_out": 1.0 },
33: { "bot": "Pasqually", "movement": "Mouth", "flow_in": 7.5, "flow_out": 6.0 },
34: { "bot": "Pasqually", "movement": "Head Left", "flow_in": 1.5, "flow_out": 1.5 },
35: { "bot": "Pasqually", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 },
36: { "bot": "Pasqually", "movement": "Eyes Left", "flow_in": 4.0, "flow_out": 3.0 },
37: { "bot": "Pasqually", "movement": "Eyes Right", "flow_in": 4.0, "flow_out": 3.0 },
38: { "bot": "Pasqually", "movement": "Eyelids", "flow_in": 7.5, "flow_out": 5.0 },
39: { "bot": "Pasqually", "movement": "Right Arm", "flow_in": 2.0, "flow_out": 1.0 },
40: { "bot": "Pasqually", "movement": "Left Arm", "flow_in": 2.0, "flow_out": 1.0 },
41: { "bot": "Warblettes", "movement": "Mouth", "flow_in": 4.0, "flow_out": 3.0 },
44: { "bot": "Warblettes", "movement": "Body Rock", "flow_in": 1.0, "flow_out": 1.0 },
50: { "bot": "Spots", "movement": "Chuck", "flow_in": "None", "flow_out": "None" },
51: { "bot": "Spots", "movement": "Helen", "flow_in": "None", "flow_out": "None" },
52: { "bot": "Spots", "movement": "Munch", "flow_in": "None", "flow_out": "None" },
53: { "bot": "Spots", "movement": "Jasper", "flow_in": "None", "flow_out": "None" },
54: { "bot": "Spots", "movement": "Pasqually", "flow_in": "None", "flow_out": "None" },
55: { "bot": "Backdrop", "movement": "C Blue", "flow_in": "None", "flow_out": "None" },
65: { "bot": "Backdrop", "movement": "L Blue", "flow_in": "None", "flow_out": "None" },
66: { "bot": "Valence", "movement": "R Center", "flow_in": "None", "flow_out": "None" },
68: { "bot": "Backdrop", "movement": "L Red", "flow_in": "None", "flow_out": "None" },
69: { "bot": "Valence", "movement": "R", "flow_in": "None", "flow_out": "None" },
70: { "bot": "Backdrop", "movement": "L Amber", "flow_in": "None", "flow_out": "None" },
71: { "bot": "Valence", "movement": "L Center", "flow_in": "None", "flow_out": "None" },
72: { "bot": "Valence", "movement": "L", "flow_in": "None", "flow_out": "None" },
73: { "bot": "Valence", "movement": "Center", "flow_in": "None", "flow_out": "None" },
74: { "bot": "Color Spots", "movement": "Warblettes", "flow_in": "None", "flow_out": "None" },
75: { "bot": "Color Spots", "movement": "Munch", "flow_in": "None", "flow_out": "None" },
76: { "bot": "Color Spots", "movement": "Helen", "flow_in": "None", "flow_out": "None" },
77: { "bot": "Color Spots", "movement": "Jasper", "flow_in": "None", "flow_out": "None" },
78: { "bot": "Spots", "movement": "Warblettes", "flow_in": "None", "flow_out": "None" },
79: { "bot": "Color Spots", "movement": "Chuck", "flow_in": "None", "flow_out": "None" },
80: { "bot": "Color Spots", "movement": "Chuck 2", "flow_in": "None", "flow_out": "None" },
81: { "bot": "Backdrop", "movement": "R Amber", "flow_in": "None", "flow_out": "None" },
82: { "bot": "Backdrop", "movement": "C Red", "flow_in": "None", "flow_out": "None" },
83: { "bot": "Backdrop", "movement": "R Blue", "flow_in": "None", "flow_out": "None" },
84: { "bot": "Color Spots", "movement": "Pasqually", "flow_in": "None", "flow_out": "None" },
85: { "bot": "Backdrop", "movement": "R Red", "flow_in": "None", "flow_out": "None" },
86: { "bot": "Backdrop", "movement": "C Amber", "flow_in": "None", "flow_out": "None" },
},
"cosmetics":
[
Cosmetics.CyberChuck,
Cosmetics.CyberHelen,
Cosmetics.CyberMunch,
Cosmetics.CyberJasper,
Cosmetics.CyberPasqually
],
"cosmetic_defaults": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
}
var CStage = {
"bits": 65,
"scene": "res://Scenes/Stages/CStage.tscn",
"scene_ref_base": "SubViewport/CStage/",
"camera_count": 5,
"ust_type": "Cyberamics",
"bit_mapping":
{
1: { "bot": "Chuck", "movement": "Mouth", "flow_in": 7.5, "flow_out": 6.0 },
2: { "bot": "Chuck", "movement": "Head Left", "flow_in": 1.5, "flow_out": 1.5 },
3: { "bot": "Chuck", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 },
4: { "bot": "Chuck", "movement": "Head Up", "flow_in": 2.0, "flow_out": 1.0 },
5: { "bot": "Chuck", "movement": "Eyes Left", "flow_in": 4.0, "flow_out": 3.0 },
6: { "bot": "Chuck", "movement": "Eyes Right", "flow_in": 4.0, "flow_out": 3.0 },
7: { "bot": "Chuck", "movement": "Eyelids", "flow_in": 7.5, "flow_out": 5.0 },
8: { "bot": "Chuck", "movement": "Right Arm", "flow_in": 2.0, "flow_out": 1.0 },
9: { "bot": "Helen", "movement": "Mouth", "flow_in": 7.5, "flow_out": 6.0 },
10: { "bot": "Helen", "movement": "Head Left", "flow_in": 1.5, "flow_out": 1.5 },
11: { "bot": "Helen", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 },
12: { "bot": "Helen", "movement": "Head Up", "flow_in": 2.0, "flow_out": 1.0 },
13: { "bot": "Helen", "movement": "Eyes Left", "flow_in": 4.0, "flow_out": 3.0 },
14: { "bot": "Helen", "movement": "Eyes Right", "flow_in": 4.0, "flow_out": 3.0 },
15: { "bot": "Helen", "movement": "Eyelids", "flow_in": 7.5, "flow_out": 5.0 },
16: { "bot": "Helen", "movement": "Right Arm", "flow_in": 2.0, "flow_out": 1.0 },
17: { "bot": "Munch", "movement": "Mouth", "flow_in": 7.5, "flow_out": 6.0 },
18: { "bot": "Munch", "movement": "Head Left", "flow_in": 1.5, "flow_out": 1.5 },
19: { "bot": "Munch", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 },
20: { "bot": "Munch", "movement": "Eyes Left", "flow_in": 4.0, "flow_out": 3.0 },
21: { "bot": "Munch", "movement": "Eyes Right", "flow_in": 4.0, "flow_out": 3.0 },
22: { "bot": "Munch", "movement": "Eyelids", "flow_in": 7.5, "flow_out": 5.0 },
23: { "bot": "Munch", "movement": "Right Arm", "flow_in": 2.0, "flow_out": 1.0 },
24: { "bot": "Munch", "movement": "Left Arm", "flow_in": 2.0, "flow_out": 1.0 },
25: { "bot": "Jasper", "movement": "Mouth", "flow_in": 7.5, "flow_out": 6.0 },
26: { "bot": "Jasper", "movement": "Head Left", "flow_in": 1.5, "flow_out": 1.5 },
27: { "bot": "Jasper", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 },
28: { "bot": "Jasper", "movement": "Head Up", "flow_in": 2.0, "flow_out": 1.0 },
29: { "bot": "Jasper", "movement": "Eyes Left", "flow_in": 4.0, "flow_out": 3.0 },
30: { "bot": "Jasper", "movement": "Eyes Right", "flow_in": 4.0, "flow_out": 3.0 },
31: { "bot": "Jasper", "movement": "Eyelids", "flow_in": 7.5, "flow_out": 5.0 },
32: { "bot": "Jasper", "movement": "Strum", "flow_in": 2.0, "flow_out": 1.0 },
33: { "bot": "Pasqually", "movement": "Mouth", "flow_in": 7.5, "flow_out": 6.0 },
34: { "bot": "Pasqually", "movement": "Head Left", "flow_in": 1.5, "flow_out": 1.5 },
35: { "bot": "Pasqually", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 },
36: { "bot": "Pasqually", "movement": "Eyes Left", "flow_in": 4.0, "flow_out": 3.0 },
37: { "bot": "Pasqually", "movement": "Eyes Right", "flow_in": 4.0, "flow_out": 3.0 },
38: { "bot": "Pasqually", "movement": "Eyelids", "flow_in": 7.5, "flow_out": 5.0 },
39: { "bot": "Pasqually", "movement": "Right Arm", "flow_in": 2.0, "flow_out": 1.0 },
40: { "bot": "Pasqually", "movement": "Left Arm", "flow_in": 2.0, "flow_out": 1.0 },
50: { "bot": "Spots", "movement": "Chuck", "flow_in": "None", "flow_out": "None" },
51: { "bot": "Spots", "movement": "Helen", "flow_in": "None", "flow_out": "None" },
52: { "bot": "Spots", "movement": "Munch", "flow_in": "None", "flow_out": "None" },
53: { "bot": "Spots", "movement": "Jasper", "flow_in": "None", "flow_out": "None" },
54: { "bot": "Spots", "movement": "Pasqually", "flow_in": "None", "flow_out": "None" },
55: { "bot": "Backdrop", "movement": "C Blue", "flow_in": "None", "flow_out": "None" },
65: { "bot": "Backdrop", "movement": "L Blue", "flow_in": "None", "flow_out": "None" },
66: { "bot": "Valence", "movement": "R Center", "flow_in": "None", "flow_out": "None" },
68: { "bot": "Backdrop", "movement": "L Red", "flow_in": "None", "flow_out": "None" },
69: { "bot": "Valence", "movement": "R", "flow_in": "None", "flow_out": "None" },
70: { "bot": "Backdrop", "movement": "L Amber", "flow_in": "None", "flow_out": "None" },
71: { "bot": "Valence", "movement": "L Center", "flow_in": "None", "flow_out": "None" },
72: { "bot": "Valence", "movement": "L", "flow_in": "None", "flow_out": "None" },
73: { "bot": "Valence", "movement": "Center", "flow_in": "None", "flow_out": "None" },
75: { "bot": "Color Spots", "movement": "Munch", "flow_in": "None", "flow_out": "None" },
76: { "bot": "Color Spots", "movement": "Helen", "flow_in": "None", "flow_out": "None" },
77: { "bot": "Color Spots", "movement": "Jasper", "flow_in": "None", "flow_out": "None" },
79: { "bot": "Color Spots", "movement": "Chuck", "flow_in": "None", "flow_out": "None" },
80: { "bot": "Color Spots", "movement": "Chuck 2", "flow_in": "None", "flow_out": "None" },
81: { "bot": "Backdrop", "movement": "R Amber", "flow_in": "None", "flow_out": "None" },
82: { "bot": "Backdrop", "movement": "C Red", "flow_in": "None", "flow_out": "None" },
83: { "bot": "Backdrop", "movement": "R Blue", "flow_in": "None", "flow_out": "None" },
84: { "bot": "Color Spots", "movement": "Pasqually", "flow_in": "None", "flow_out": "None" },
85: { "bot": "Backdrop", "movement": "R Red", "flow_in": "None", "flow_out": "None" },
86: { "bot": "Backdrop", "movement": "C Amber", "flow_in": "None", "flow_out": "None" },
},
"cosmetics":
[
Cosmetics.CyberChuck,
Cosmetics.CyberHelen,
Cosmetics.CyberMunch,
Cosmetics.CyberJasper,
Cosmetics.CyberPasqually
],
"cosmetic_defaults": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
}

View file

@ -0,0 +1 @@
uid://cyrgqg7cf187y

View file

@ -3,14 +3,15 @@ extends Control
@export var vis_name: String
@export var scene_handle: String
@export var options: Dictionary
@export var drop_index: int = 0
func _ready() -> void:
$Panel/Label.text = vis_name
for option in options:
$Panel/OptionButton.add_item(option)
$Panel/OptionButton.select(0)
for adjusted in options[$Panel/OptionButton.get_item_text(0)]:
get_node(scene_handle+adjusted).visible = options[$Panel/OptionButton.get_item_text(0)][adjusted]
$Panel/OptionButton.select(drop_index)
for adjusted in options[$Panel/OptionButton.get_item_text(drop_index)]:
get_node(scene_handle+adjusted).visible = options[$Panel/OptionButton.get_item_text(drop_index)][adjusted]
func _on_option_button_item_selected(index: int) -> void:

View file

@ -0,0 +1,117 @@
extends Node3D
var animation_player : AnimationPlayer
var animation_tree : AnimationTree
var blend_tree : AnimationNodeBlendTree
var movement_states : Dictionary
func _ready():
animation_player = $AnimationPlayer
animation_tree = AnimationTree.new()
animation_tree.anim_player = animation_player.get_path()
add_child(animation_tree)
animation_tree.tree_root = AnimationNodeBlendTree.new()
animation_tree.active = true
blend_tree = animation_tree.tree_root as AnimationNodeBlendTree
animation_player.speed_scale = 0
var animations = animation_player.get_animation_list()
for animation in animations:
movement_states[animation] = [false, 0.0, 0.0, 0.0]
var prev_name = "Anim_" + animations[0]
var old_time_name = "Time_" + animations[0]
var old_seek_name = "Seek_" + animations[0]
var prev_anim_node := AnimationNodeAnimation.new()
prev_anim_node.animation = animations[0]
blend_tree.add_node(prev_name, prev_anim_node)
var old_time_node := AnimationNodeTimeScale.new()
blend_tree.add_node(old_time_name,old_time_node)
var _old_seek_node := AnimationNodeTimeSeek.new()
blend_tree.add_node(old_seek_name,_old_seek_node)
blend_tree.connect_node(old_time_name,0,prev_name)
blend_tree.connect_node(old_seek_name,0,old_time_name)
prev_name = old_seek_name
for i in range(1, animations.size()):
var anim_name = "Anim_" + animations[i]
var add_name = "Add_" + animations[i]
var time_name = "Time_" + animations[i]
var seek_name = "Seek_" + animations[i]
var new_anim_node := AnimationNodeAnimation.new()
new_anim_node.animation = animations[i]
blend_tree.add_node(anim_name, new_anim_node)
var time_node := AnimationNodeTimeScale.new()
blend_tree.add_node(time_name,time_node)
var seek_node := AnimationNodeTimeSeek.new()
blend_tree.add_node(seek_name,seek_node)
var add_node := AnimationNodeAdd2.new()
blend_tree.add_node(add_name, add_node)
blend_tree.connect_node(time_name, 0, anim_name)
blend_tree.connect_node(seek_name, 0, time_name)
blend_tree.connect_node(add_name, 0, prev_name)
blend_tree.connect_node(add_name, 1, seek_name)
prev_name = add_name
blend_tree.connect_node("output", 0, prev_name)
for i in range(0, animations.size()):
animation_tree.set("parameters/Add_" + str(animations[i]) + "/add_amount", 1.0)
animation_tree.set("parameters/Seek_" + str(animations[i]) + "/seek_request", 0)
animation_tree.set("parameters/Time_" + str(animations[i]) + "/scale", 0)
func _physics_process(delta: float) -> void:
for key in movement_states:
var anim_path = "parameters/Seek_" + key + "/seek_request"
var state = movement_states[key]
if (state[0]):
state[1] = clamp(float(state[1]) + (delta * state[2]), 0, 1)
else:
state[1] = clamp(float(state[1]) - (delta * state[3]), 0, 1)
animation_tree.set(anim_path, state[1])
func _movement_in(movement, rate):
var adjusted_rate = rate
if (movement == "Head Left"):
if (movement_states["Head Right"][0]): adjusted_rate = rate*0.5
movement_states["Head Right"][0] = false
movement_states["Head Right"][3] = rate
movement_states["Body Left"][0] = true
movement_states["Body Left"][2] = rate*0.4
movement_states["Body Right"][0] = false
movement_states["Body Right"][3] = rate*0.4
elif (movement == "Head Right"):
if (movement_states["Head Left"][0]): adjusted_rate = rate*0.5
movement_states["Head Left"][0] = false
movement_states["Head Left"][3] = rate
movement_states["Body Right"][0] = true
movement_states["Body Right"][2] = rate*0.4
movement_states["Body Left"][0] = false
movement_states["Body Left"][3] = rate*0.4
movement_states[movement][0] = true
movement_states[movement][2] = adjusted_rate
func _movement_out(movement, rate):
if (movement == "Head Left"):
movement_states["Body Right"][0] = false
movement_states["Body Right"][3] = 0
elif (movement == "Head Right"):
movement_states["Body Left"][0] = false
movement_states["Body Left"][3] = 0
else:
movement_states[movement][0] = false
movement_states[movement][3] = rate

View file

@ -0,0 +1 @@
uid://du3pqtf3jixvl

File diff suppressed because it is too large Load diff