Мозговой Червь (#17)

* - add: Added Cortic Borer.

* - fix: Removed unnecessary imports, unused fields, variables, methods.

* - fix: Изменён принцип вселения: теперь не создаётся новый энтити с переходом разума, вместо этого хост хранит в себе контейнер для червя, в который последний и погружается

* - fix: Убрано использование устаревших методов и полей, исправлена ошибка, из-за которой при вселении в носителя уровень сахара не проверялся

* - fix: Изменено тестировочное значение добавления очков химикатов

* - fix: Borer can't speak now

* - fix: Some bug and shitcode fixes

* - fix: Some bug and shitcode fixes

* - fix: Added cooldown after releasing the humanoid's body

* - fix: fix

* - add: Added russian localization

* - add: Убрал использование метода _chatManager.ChatMessageToOne в некоторых местах, т.к. popup включает в себя вывод сообщения в чат.

* - fix: fix

* - fix: fix
This commit is contained in:
Ogunefu
2024-02-03 20:31:56 +03:00
committed by GitHub
parent 1594dff648
commit ff26505b11
39 changed files with 1630 additions and 3 deletions

View File

@@ -0,0 +1,52 @@
ghost-role-information-borer-name = Cortical Borer
ghost-role-information-borer-description = We are Borer!
borer-entity-name = Cortical Borer
borer-entity-description = It looks like it's making you lose your mind.
borer-abilities-infest-name = Infest
borer-abilities-infest-description = Allows you to [color=red]bury[/color] yourself into a host
borer-abilities-paralyze-name = Paralyze Victim
borer-abilities-paralyze-description = Sending a [color=red]psychic lance[/color] straight to an unsuspecting victim.
borer-abilities-release-host-name = Release Host
borer-abilities-release-host-description = Starts to [color=red]leave[/color] the host
borer-abilities-converse-name = Converse with Host
borer-abilities-converse-description = [color=red]Talks[/color] to the host. Nobody can intercept this. Only the host.
borer-abilities-secrete-name = Secrete Chemicals
borer-abilities-secrete-description = [color=red]Injects[/color] different kinda of chemicals into the host, from meth to bicardine.
borer-abilities-scan-name = Chemical Scanning
borer-abilities-scan-description = [color=red]Scan the host's blood[/color] for the presence of reagents in it.
borer-abilities-control-name = Assume Control
borer-abilities-control-description = Allows you to [color=red]assume direct control[/color] of your host.
borer-abilities-reproduce-name = Reproduce
borer-abilities-reproduce-description = Create one of your own kind.
borer-abilities-restore-name = Restore Control
borer-abilities-restore-description = [color=red]Restores[/color] control over the host's body.
borer-abilities-resist-name = Resist
borer-abilities-resist-description = [color=red]Resisting the control[/color] of your body.
borer-ui-scan-title = Scanning results
borer-ui-scan-label = Reagents in the host's blood:
borer-ui-secrete-title = Secrete chemicals
borer-ui-secrete-inject-label = Inject {$reagent}(10u) - {$cost}c
borer-ui-converse-title = Converse
borer-ui-converse-message = Message
borer-popup-infest-occupied = This creature's brain is already occupied
borer-popup-infest-sugar = The creature has too much sugar in it's blood
borer-popup-infest-failed = You can't infest into this creature
borer-popup-braintake-alert = Your brain has been taken over!
borer-popup-braintake-success = You've taken control of the host's brain!
borer-popup-braintake-critical = You cannot control the brain of a creature in critical condition
borer-popup-toomuchsugar = Your host's blood sugar prevents you from doing that
borer-popup-lowchem = Not enough chemicals!
borer-popup-injected = {$reagent}(10u) successfully injected!
borer-popup-sugarleave = The host has too much sugar in his blood, you can't be in his body anymore
borer-message-braintake-success = You've taken control of the host's brain! The host may resist this and try to regain control. Have fun while you still have time!
borer-message-braintake-alert = Your brain has been taken over! You can resist or just let it happen
borer-event-announcement = Detected unidentified life forms on the board. Secure all exterior entrances and exits, including ventilation and hoods.

View File

@@ -0,0 +1,52 @@
ghost-role-information-borer-name = Аскарида космическая
ghost-role-information-borer-description = Мы - червь!
borer-entity-name = Аскарида космическая
borer-entity-description = Выглядит так, будто от неё можно сойти с ума
borer-abilities-infest-name = Вселение
borer-abilities-infest-description = [color=red]Поселиться в мозгу[/color] носителя.
borer-abilities-paralyze-name = Паралич
borer-abilities-paralyze-description = [color=red]Парализовать[/color] ничего не подозревающую жертву .
borer-abilities-release-host-name = Покинуть носителя
borer-abilities-release-host-description = [color=red]Покинуть[/color] тело носителя.
borer-abilities-converse-name = Связь с носителем
borer-abilities-converse-description = [color=red]Пообщаться[/color] с носителем, посылая сообщения прямо в его мозг.
borer-abilities-secrete-name = Впрыск реагентов
borer-abilities-secrete-description = [color=red]Вводит[/color] разлиные химикаты в кровь носителя.
borer-abilities-scan-name = Анализ крови
borer-abilities-scan-description = [color=red]Сканирует кровь[/color] носителя на наличие реагентов.
borer-abilities-control-name = Захватить контроль
borer-abilities-control-description = Отобрать [color=red]контроль над телом[/color] у носителя.
borer-abilities-reproduce-name = Репродукция
borer-abilities-reproduce-description = Создать себе подобного.
borer-abilities-restore-name = Вернуть контроль
borer-abilities-restore-description = [color=red]Возвращает[/color] контроль над телом разуму носителя.
borer-abilities-resist-name = Сопротивляться
borer-abilities-resist-description = Попытаться [color=red]вернуть[/color] себе контроль над телом.
borer-ui-scan-title = Scanning result
borer-ui-scan-label = Реагенты в крови носителя:
borer-ui-secrete-title = Ввод реагентов
borer-ui-secrete-inject-label = Ввести {$reagent}(10u) - {$cost}c
borer-ui-converse-title = Связь
borer-ui-converse-message = Сообщение
borer-popup-infest-occupied = Мозг этого существа уже кем-то занят
borer-popup-infest-sugar = В крови существа слишком много сахара
borer-popup-infest-failed = Вы не можете вселиться в это существо
borer-popup-braintake-alert = Вы не управляете своим телом!
borer-popup-braintake-success = Вы забрали контроль над телом!
borer-popup-braintake-critical = Вы не можете забрать контроль над телом у существа в критическом состоянии!
borer-popup-toomuchsugar = Сахар в крови носителя не позволяет Вам сделать это
borer-popup-lowchem = Недостаточно химикатов!
borer-popup-injected = {$reagent}(10u) успешно введено!
borer-popup-sugarleave = В крови носителя слишком много сахара, Вы не можете больше находиться в его теле
borer-message-braintake-success = Вы захватили контроль над мозгом носителя! Носитель может воспротивиться этому и попытаться вернуть контроль. Веселитесь, пока есть время!
borer-message-braintake-alert = Ваш мозг захвачен! Вы можете сопротивляться или просто позволить этому случиться
borer-event-announcement = Обнаружены неопознанные формы жизни на борту. Перекройте все внешние входы и выходы, включая вентиляцию и вытяжки.

View File

@@ -0,0 +1,133 @@
- type: entity
id: ActionInfest
name: borer-abilities-infest-name
description: borer-abilities-infest-description
noSpawn: true
components:
- type: EntityTargetAction
icon:
sprite: Mobs/Animals/borer.rsi
state: action_infest
event: !type:BorerInfestActionEvent
itemIconStyle: BigAction
canTargetSelf: false
useDelay: 15
- type: entity
id: ActionBorerStunVictim
name: borer-abilities-paralyze-name
description: borer-abilities-paralyze-description
noSpawn: true
components:
- type: EntityTargetAction
icon:
sprite: Mobs/Animals/borer.rsi
state: action_stun
event: !type:BorerStunActionEvent
itemIconStyle: BigAction
canTargetSelf: false
useDelay: 40
- type: entity
id: ActionBorerOut
name: borer-abilities-release-host-name
description: borer-abilities-release-host-description
noSpawn: true
components:
- type: InstantAction
icon:
sprite: Mobs/Animals/borer.rsi
state: action_out
event: !type:BorerOutActionEvent
useDelay: 4
- type: entity
id: ActionBorerBrainSpeech
name: borer-abilities-converse-name
description: borer-abilities-converse-description
noSpawn: true
components:
- type: InstantAction
icon:
sprite: Mobs/Animals/borer.rsi
state: action_brainspeech
event: !type:BorerBrainSpeechActionEvent
useDelay: 4
- type: entity
id: ActionBorerInjectWindowOpen
name: borer-abilities-secrete-name
description: borer-abilities-secrete-description
noSpawn: true
components:
- type: InstantAction
icon:
sprite: Mobs/Animals/borer.rsi
state: action_inject
event: !type:BorerInjectWindowOpenEvent
useDelay: 4
- type: entity
id: ActionBorerScan
name: borer-abilities-scan-name
description: borer-abilities-scan-description
noSpawn: true
components:
- type: InstantAction
icon:
sprite: Mobs/Animals/borer.rsi
state: action_scanreagents
event: !type:BorerScanInstantActionEvent
useDelay: 5
- type: entity
id: ActionBorerBrainTake
name: borer-abilities-control-name
description: borer-abilities-control-description
noSpawn: true
components:
- type: InstantAction
icon:
sprite: Mobs/Animals/borer.rsi
state: action_braintake
event: !type:BorerBrainTakeEvent
useDelay: 4
- type: entity
id: ActionBorerReproduce
name: borer-abilities-reproduce-name
description: borer-abilities-reproduce-description
noSpawn: true
components:
- type: InstantAction
icon:
sprite: Mobs/Animals/borer.rsi
state: action_reproduce
event: !type:BorerReproduceEvent
useDelay: 30
- type: entity
id: ActionBorerBrainRelease
name: borer-abilities-restore-name
description: borer-abilities-restore-description
noSpawn: true
components:
- type: InstantAction
icon:
sprite: Mobs/Animals/borer.rsi
state: action_brainrelease
event: !type:BorerBrainReleaseEvent
useDelay: 4
- type: entity
id: ActionBorerBrainResist
name: borer-abilities-resist-name
description: borer-abilities-resist-description
noSpawn: true
components:
- type: InstantAction
icon:
sprite: Mobs/Animals/borer.rsi
state: action_brainrelease
event: !type:BorerBrainResistEvent
useDelay: 4

View File

@@ -0,0 +1,72 @@
- type: entity
name: basic borer
id: MobBorerBase
parent: SimpleSpaceMobBase
abstract: true
description: It looks like it's making you lose your mind.
components:
- type: Sprite
drawdepth: SmallMobs
sprite: Mobs/Animals/borer.rsi
layers:
- map: [ "enum.DamageStateVisualLayers.Base" ]
state: borer
- type: DamageStateVisuals
states:
Alive:
Base: borer
Dead:
Base: dead
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.2
density: 100
mask:
- SmallMobMask
layer:
- SmallMobLayer
- type: MobThresholds
thresholds:
0: Alive
20: Dead
- type: MovementSpeedModifier
baseWalkSpeed: 2
baseSprintSpeed: 4
- type: Tag
tags:
- CannotSuicide
maxSaturation: 15
- type: Bloodstream
bloodReagent: Slime
bloodlossDamage:
types:
Bloodloss:
1
bloodlossHealDamage:
types:
Bloodloss:
-0.25
- type: NoSlip
- type: GhostTakeoverAvailable
- type: GhostRole
makeSentient: true
name: ghost-role-information-borer-name
description: ghost-role-information-borer-description
- type: CombatMode
combatToggleAction: ActionCombatModeToggleOff
- type: Actions
- type: ActionsContainer
- type: Speech
enabled: false
- type: entity
name: Cortical Borer
parent: MobBorerBase
id: MobSimpleBorer
components:
- type: Borer
reproduceCost: 100
assumeControlCost: 250

View File

@@ -373,6 +373,25 @@
entries:
- id: MobGiantSpiderAngry
prob: 0.05
- type: entity
id: BorerSpawn
parent: BaseGameRule
noSpawn: true
components:
- type: StationEvent
earliestStart: 20
minimumPlayers: 15
weight: 5
duration: 60
startDelay: 30
startAnnouncement: borer-event-announcement
startAudio:
path: /Audio/Announcements/attention.ogg
- type: VentCrittersRule
entries:
- id: MobSimpleBorer
prob: 0.04
- type: entity
id: SpiderClownSpawn

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 524 B

View File

@@ -0,0 +1,55 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "CC-BY-SA-3.0",
"copyright": "Created by Ogunefu",
"states": [
{
"name": "borer",
"directions": 4
},
{
"name": "dead",
"directions": 1
},
{
"name": "action_out",
"directions": 1
},
{
"name": "action_infest",
"directions": 1
},
{
"name": "action_stun",
"directions": 1
},
{
"name": "action_brainspeech",
"directions": 1
},
{
"name": "action_inject",
"directions": 1
},
{
"name": "action_scanreagents",
"directions": 1
},
{
"name": "action_braintake",
"directions": 1
},
{
"name": "action_reproduce",
"directions": 1
},
{
"name": "action_brainrelease",
"directions": 1
}
]
}