diff --git a/Resources/Maps/Adventure/Adventureamber.yml b/Resources/Maps/Adventure/Adventureamber.yml index c8a52af285..44ac5562c0 100644 --- a/Resources/Maps/Adventure/Adventureamber.yml +++ b/Resources/Maps/Adventure/Adventureamber.yml @@ -53,7 +53,7 @@ entities: name: grid - type: Transform pos: 0.53697205,0.547603 - parent: invalid + parent: 20475 - type: BecomesStation id: AdvAmber - type: MapGrid @@ -55314,6 +55314,13 @@ entities: - type: Transform pos: -17.5,-57.5 parent: 2 +- proto: HatChefNPCMouseRemy + entities: + - uid: 20476 + components: + - type: Transform + pos: -8.760822,-30.469727 + parent: 2 - proto: CrateSecurityTrackingMindshieldImplants entities: - uid: 4184 @@ -65616,7 +65623,7 @@ entities: pos: -16.5,-17.5 parent: 2 - type: Door - secondsUntilStateChange: -33671.855 + secondsUntilStateChange: -33846.67 state: Closing - type: DeviceNetwork deviceLists: diff --git a/Resources/Maps/Adventure/Adventureaspid.yml b/Resources/Maps/Adventure/Adventureaspid.yml index b2b6fd0c47..0c3b83749f 100644 --- a/Resources/Maps/Adventure/Adventureaspid.yml +++ b/Resources/Maps/Adventure/Adventureaspid.yml @@ -11234,7 +11234,7 @@ entities: pos: 12.5,-19.5 parent: 1 - type: Door - secondsUntilStateChange: -100025.51 + secondsUntilStateChange: -100145.5 state: Opening - type: DeviceLinkSource lastSignals: @@ -12168,7 +12168,7 @@ entities: pos: 28.5,10.5 parent: 1 - type: Door - secondsUntilStateChange: -1185.4613 + secondsUntilStateChange: -1305.4606 state: Opening - type: DeviceLinkSource lastSignals: @@ -12743,7 +12743,7 @@ entities: pos: -29.5,48.5 parent: 1 - type: Door - secondsUntilStateChange: -49759.195 + secondsUntilStateChange: -49879.195 state: Opening - type: DeviceLinkSource lastSignals: @@ -59292,7 +59292,7 @@ entities: pos: 2.5,16.5 parent: 1 - type: Door - secondsUntilStateChange: -96985.64 + secondsUntilStateChange: -97105.63 state: Closing - type: Firelock emergencyCloseCooldown: 184.2664844 @@ -59302,7 +59302,7 @@ entities: pos: 3.5,16.5 parent: 1 - type: Door - secondsUntilStateChange: -80314.25 + secondsUntilStateChange: -80434.24 state: Closing - type: Firelock emergencyCloseCooldown: 184.6998173 @@ -59372,7 +59372,7 @@ entities: pos: -31.5,16.5 parent: 1 - type: Door - secondsUntilStateChange: -24989.945 + secondsUntilStateChange: -25109.945 state: Closing - uid: 5679 components: @@ -59816,7 +59816,7 @@ entities: pos: -30.5,-6.5 parent: 1 - type: Door - secondsUntilStateChange: -54289.59 + secondsUntilStateChange: -54409.59 state: Closing - uid: 5809 components: @@ -60465,7 +60465,7 @@ entities: pos: -11.5,37.5 parent: 1 - type: Door - secondsUntilStateChange: -93658.41 + secondsUntilStateChange: -93778.4 state: Closing - uid: 9591 components: @@ -86549,6 +86549,13 @@ entities: - type: Transform pos: -13.497177,-24.441525 parent: 1 +- proto: HatChefNPCMouseRemy + entities: + - uid: 18711 + components: + - type: Transform + pos: 9.556043,-2.8593013 + parent: 1 - proto: Hemostat entities: - uid: 2628 diff --git a/Resources/Maps/Adventure/Adventurebagel.yml b/Resources/Maps/Adventure/Adventurebagel.yml index 3ba59911ac..b4f7fa25f6 100644 --- a/Resources/Maps/Adventure/Adventurebagel.yml +++ b/Resources/Maps/Adventure/Adventurebagel.yml @@ -109010,6 +109010,13 @@ entities: - type: Transform pos: 22.5,-0.5 parent: 2 +- proto: HatChefNPCMouseRemy + entities: + - uid: 25297 + components: + - type: Transform + pos: 24.561152,-30.371037 + parent: 2 - proto: HeatExchanger entities: - uid: 16501 diff --git a/Resources/Maps/Adventure/Adventurecluster.yml b/Resources/Maps/Adventure/Adventurecluster.yml index 117e6eed14..689b1921ca 100644 --- a/Resources/Maps/Adventure/Adventurecluster.yml +++ b/Resources/Maps/Adventure/Adventurecluster.yml @@ -50,7 +50,7 @@ entities: - type: MetaData - type: Transform pos: -0.484375,-0.5 - parent: invalid + parent: 12679 - type: MapGrid chunks: 0,0: @@ -55143,6 +55143,13 @@ entities: - type: Transform pos: -18.5,-50.5 parent: 1 +- proto: HatChefNPCMouseRemy + entities: + - uid: 12680 + components: + - type: Transform + pos: 2.5185199,2.5625 + parent: 1 - proto: HeadSkeleton entities: - uid: 8257 diff --git a/Resources/Maps/Adventure/Adventuredelta.yml b/Resources/Maps/Adventure/Adventuredelta.yml index 45677de1db..543d37538f 100644 --- a/Resources/Maps/Adventure/Adventuredelta.yml +++ b/Resources/Maps/Adventure/Adventuredelta.yml @@ -191602,6 +191602,13 @@ entities: - type: Transform pos: 10.5,66.5 parent: 2 +- proto: HatChefNPCMouseRemy + entities: + - uid: 40915 + components: + - type: Transform + pos: -31.134789,36.573284 + parent: 2 - proto: HeatExchanger entities: - uid: 24641 diff --git a/Resources/Maps/Adventure/Adventureloop.yml b/Resources/Maps/Adventure/Adventureloop.yml index 497a3affa9..579f0e9279 100644 --- a/Resources/Maps/Adventure/Adventureloop.yml +++ b/Resources/Maps/Adventure/Adventureloop.yml @@ -41,7 +41,7 @@ entities: name: grid - type: Transform pos: 5.375742,-1.5783513 - parent: invalid + parent: 13915 - type: MapGrid chunks: 0,0: @@ -40645,7 +40645,7 @@ entities: pos: -9.5,51.5 parent: 2 - type: Door - secondsUntilStateChange: -234886.7 + secondsUntilStateChange: -234998.8 state: Opening - uid: 6747 components: @@ -40653,7 +40653,7 @@ entities: pos: -8.5,51.5 parent: 2 - type: Door - secondsUntilStateChange: -234887.4 + secondsUntilStateChange: -234999.5 state: Opening - uid: 6749 components: @@ -40661,7 +40661,7 @@ entities: pos: -6.5,51.5 parent: 2 - type: Door - secondsUntilStateChange: -234885.97 + secondsUntilStateChange: -234998.06 state: Opening - uid: 6750 components: @@ -40669,7 +40669,7 @@ entities: pos: -5.5,51.5 parent: 2 - type: Door - secondsUntilStateChange: -234885.34 + secondsUntilStateChange: -234997.44 state: Opening - proto: CyberPen entities: @@ -71408,6 +71408,13 @@ entities: rot: 3.141592653589793 rad pos: -1.4779639,50.30927 parent: 2 +- proto: HatChefNPCMouseRemy + entities: + - uid: 13916 + components: + - type: Transform + pos: -49.472656,47.221836 + parent: 2 - proto: HighSecArmoryLocked entities: - uid: 13965 diff --git a/Resources/Maps/Adventure/Adventuremarathon.yml b/Resources/Maps/Adventure/Adventuremarathon.yml index 99e2a67f24..596b507941 100644 --- a/Resources/Maps/Adventure/Adventuremarathon.yml +++ b/Resources/Maps/Adventure/Adventuremarathon.yml @@ -70,7 +70,7 @@ entities: - type: MetaData - type: Transform pos: 2.2710133,-2.4148211 - parent: invalid + parent: 22632 - type: MapGrid chunks: -1,0: @@ -10836,7 +10836,7 @@ entities: pos: -14.5,24.5 parent: 30 - type: Door - secondsUntilStateChange: -2201.6243 + secondsUntilStateChange: -2290.9458 state: Opening - type: DeviceLinkSource lastSignals: @@ -96644,6 +96644,13 @@ entities: - type: Transform pos: -43.530403,66.65333 parent: 30 +- proto: HatChefNPCMouseRemy + entities: + - uid: 22633 + components: + - type: Transform + pos: -14.433979,9.226749 + parent: 30 - proto: HeatExchanger entities: - uid: 9159 diff --git a/Resources/Prototypes/Adventure/Roles/Animals/remy.yml b/Resources/Prototypes/Adventure/Roles/Animals/remy.yml new file mode 100644 index 0000000000..64f45309ff --- /dev/null +++ b/Resources/Prototypes/Adventure/Roles/Animals/remy.yml @@ -0,0 +1,63 @@ +- type: entity + name: Реми + description: Питомец шеф-повара, маленький серый поварёнок, который мастерски балансирует между готовкой и уничтожением запасов кухни. + parent: MobMouse + suffix: Adventure + id: MobMouseRemy + components: + - type: Sprite + drawdepth: SmallMobs + sprite: Adventure\Roles\remy.rsi + layers: + - map: ["enum.DamageStateVisualLayers.Base", "movement"] + state: mouse + - type: SpriteMovement + movementLayers: + movement: + state: mouse-moving + noMovementLayers: + movement: + state: mouse + - type: GhostRole + makeSentient: true + allowSpeech: true + allowMovement: true + name: Реми, питомец шеф-повара + description: Слушайтесь шеф-повара и вдохновляйте его на шедевры. Боритесь с желанием слопать всё, что лежит на кухне, доказывая, что вы — крыса с высокой кулинарной дисциплиной. + rules: ghost-role-information-familiar-rules + mindRoles: + - MindRoleGhostRoleFamiliar + - type: GhostTakeoverAvailable + - type: Clothing + clothingVisuals: + head: + - state: equipped-HELMET + offset: "0, 0.03" + sprite: Adventure\Roles\remy.rsi + equippedPrefix: 0 + quickEquip: false + - type: NpcFactionMember + factions: + - PetsNT + - type: MobThresholds + thresholds: + 0: Alive + 40: Critical + 60: Dead + - type: DamageStateVisuals + states: + Alive: + Base: mouse + Critical: + Base: dead + Dead: + Base: splat + +- type: entity + id: HatChefNPCMouseRemy + parent: ClothingHeadHatChef + suffix: Remy + components: + - type: StorageFill + contents: + - id: MobMouseRemy diff --git a/Resources/Textures/Adventure/Roles/remy.rsi/dead.png b/Resources/Textures/Adventure/Roles/remy.rsi/dead.png new file mode 100644 index 0000000000..21e026e2a1 Binary files /dev/null and b/Resources/Textures/Adventure/Roles/remy.rsi/dead.png differ diff --git a/Resources/Textures/Adventure/Roles/remy.rsi/equipped-HELMET.png b/Resources/Textures/Adventure/Roles/remy.rsi/equipped-HELMET.png new file mode 100644 index 0000000000..50b2136f50 Binary files /dev/null and b/Resources/Textures/Adventure/Roles/remy.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/Adventure/Roles/remy.rsi/icon.png b/Resources/Textures/Adventure/Roles/remy.rsi/icon.png new file mode 100644 index 0000000000..b6e13c7a1a Binary files /dev/null and b/Resources/Textures/Adventure/Roles/remy.rsi/icon.png differ diff --git a/Resources/Textures/Adventure/Roles/remy.rsi/inhand-left.png b/Resources/Textures/Adventure/Roles/remy.rsi/inhand-left.png new file mode 100644 index 0000000000..70d90041a0 Binary files /dev/null and b/Resources/Textures/Adventure/Roles/remy.rsi/inhand-left.png differ diff --git a/Resources/Textures/Adventure/Roles/remy.rsi/inhand-right.png b/Resources/Textures/Adventure/Roles/remy.rsi/inhand-right.png new file mode 100644 index 0000000000..56cee43445 Binary files /dev/null and b/Resources/Textures/Adventure/Roles/remy.rsi/inhand-right.png differ diff --git a/Resources/Textures/Adventure/Roles/remy.rsi/meta.json b/Resources/Textures/Adventure/Roles/remy.rsi/meta.json new file mode 100644 index 0000000000..7ab95bfdb0 --- /dev/null +++ b/Resources/Textures/Adventure/Roles/remy.rsi/meta.json @@ -0,0 +1,62 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from the original mouse sprite and modified by RumiTiger.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "mouse", + "directions": 4 + }, + { + "name": "mouse-moving", + "directions": 4, + "delays": [ + [ + 0.2, + 0.2, + 0.2 + ], + [ + 0.2, + 0.2, + 0.2 + ], + [ + 0.2, + 0.2, + 0.2 + ], + [ + 0.2, + 0.2, + 0.2 + ] + ] + }, + { + "name": "dead" + }, + { + "name": "splat" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Adventure/Roles/remy.rsi/mouse-moving.png b/Resources/Textures/Adventure/Roles/remy.rsi/mouse-moving.png new file mode 100644 index 0000000000..7aa5d589e2 Binary files /dev/null and b/Resources/Textures/Adventure/Roles/remy.rsi/mouse-moving.png differ diff --git a/Resources/Textures/Adventure/Roles/remy.rsi/mouse.png b/Resources/Textures/Adventure/Roles/remy.rsi/mouse.png new file mode 100644 index 0000000000..51b52bbd78 Binary files /dev/null and b/Resources/Textures/Adventure/Roles/remy.rsi/mouse.png differ diff --git a/Resources/Textures/Adventure/Roles/remy.rsi/splat.png b/Resources/Textures/Adventure/Roles/remy.rsi/splat.png new file mode 100644 index 0000000000..c23241882e Binary files /dev/null and b/Resources/Textures/Adventure/Roles/remy.rsi/splat.png differ