From e339337ae89afcdeaa379154c4cf4605833d4935 Mon Sep 17 00:00:00 2001 From: LuciferEOS Date: Wed, 13 Aug 2025 18:02:39 +0200 Subject: [PATCH 1/9] fucking UPSTREAM BROKE SHIT --- .../_Slon/Spider/WebPassageActionSystem.cs | 42 ++++++ .../Spider/SharedWebPassageActionSystem.cs | 20 +++ .../_Slon/Spider/WebPassageActionComponent.cs | 26 ++++ .../_Slon/Spider/WebPassageDoAfterEvent.cs | 7 + .../en-US/_Slon/ghost/roles/maintspider.ftl | 3 + .../Prototypes/Entities/Mobs/NPCs/animals.yml | 5 + .../CollectiveMind/collective_minds.yml | 6 + .../_Slon/Entities/Mobs/NPCs/eggspider.yml | 10 ++ .../_Slon/Entities/Mobs/NPCs/maintspider.yml | 126 ++++++++++++++++++ .../_Slon/Entities/Mobs/NPCs/specialweb.yml | 55 ++++++++ .../_Slon/Entities/Mobs/NPCs/webaction.yml | 11 ++ 11 files changed, 311 insertions(+) create mode 100644 Content.Goobstation.Server/_Slon/Spider/WebPassageActionSystem.cs create mode 100644 Content.Goobstation.Shared/_Slon/Spider/SharedWebPassageActionSystem.cs create mode 100644 Content.Goobstation.Shared/_Slon/Spider/WebPassageActionComponent.cs create mode 100644 Content.Goobstation.Shared/_Slon/Spider/WebPassageDoAfterEvent.cs create mode 100644 Resources/Locale/en-US/_Slon/ghost/roles/maintspider.ftl create mode 100644 Resources/Prototypes/_Slon/Entities/Mobs/NPCs/eggspider.yml create mode 100644 Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml create mode 100644 Resources/Prototypes/_Slon/Entities/Mobs/NPCs/specialweb.yml create mode 100644 Resources/Prototypes/_Slon/Entities/Mobs/NPCs/webaction.yml diff --git a/Content.Goobstation.Server/_Slon/Spider/WebPassageActionSystem.cs b/Content.Goobstation.Server/_Slon/Spider/WebPassageActionSystem.cs new file mode 100644 index 00000000000..b19e1af2f77 --- /dev/null +++ b/Content.Goobstation.Server/_Slon/Spider/WebPassageActionSystem.cs @@ -0,0 +1,42 @@ +using Content.Goobstation.Shared._Slon.Spider; +using Content.Server.DoAfter; +using Content.Shared.DoAfter; +using Robust.Shared.Serialization; + +namespace Content.Goobstation.Server._Slon.Spider; + +public sealed class WebPassageActionSystem : SharedWebPassageActionSystem +{ + [Dependency] private readonly DoAfterSystem _doAfter = default!; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(OnAction); + SubscribeLocalEvent(OnDoAfter); + } + + private void OnAction(EntityUid uid, WebPassageActionComponent comp, WebPassageActionEvent args) + { + var ev = new WebPassageDoAfterEvent(); + var doAfterArgs = new DoAfterArgs(EntityManager, uid, TimeSpan.FromSeconds(3), ev, uid) + { + BreakOnMove = true, + BreakOnDamage = true + }; + + _doAfter.TryStartDoAfter(doAfterArgs); + } + + private void OnDoAfter(EntityUid uid, WebPassageActionComponent comp, WebPassageDoAfterEvent ev) + { + if (ev.Cancelled + || ev.Handled) + return; + + var coords = Transform(uid).Coordinates; + EntityManager.SpawnEntity(comp.SpawnId, coords); + ev.Handled = true; + } + +} diff --git a/Content.Goobstation.Shared/_Slon/Spider/SharedWebPassageActionSystem.cs b/Content.Goobstation.Shared/_Slon/Spider/SharedWebPassageActionSystem.cs new file mode 100644 index 00000000000..851565a86d4 --- /dev/null +++ b/Content.Goobstation.Shared/_Slon/Spider/SharedWebPassageActionSystem.cs @@ -0,0 +1,20 @@ +using Content.Shared.Actions; + +namespace Content.Goobstation.Shared._Slon.Spider; + +public abstract class SharedWebPassageActionSystem : EntitySystem +{ + [Dependency] private readonly SharedActionsSystem _action = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnInit); + } + + private void OnInit(EntityUid uid, WebPassageActionComponent component, MapInitEvent args) + { + _action.AddAction(uid, ref component.Action, component.WebAction, uid); + } +} diff --git a/Content.Goobstation.Shared/_Slon/Spider/WebPassageActionComponent.cs b/Content.Goobstation.Shared/_Slon/Spider/WebPassageActionComponent.cs new file mode 100644 index 00000000000..3f3c1878664 --- /dev/null +++ b/Content.Goobstation.Shared/_Slon/Spider/WebPassageActionComponent.cs @@ -0,0 +1,26 @@ +using Content.Shared.Actions; +using Robust.Shared.GameStates; +using Robust.Shared.Prototypes; +using Robust.Shared.Serialization; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; + + +namespace Content.Goobstation.Shared._Slon.Spider +{ + [RegisterComponent] + public sealed partial class WebPassageActionComponent : Component + { + [DataField(customTypeSerializer: typeof(PrototypeIdSerializer))] + public string SpawnId = "SpiderWebPassage"; + + [DataField(customTypeSerializer: typeof(PrototypeIdSerializer))] + public string WebAction = "ActionWebPassage"; + + [DataField] public EntityUid? Action; + } + + [Serializable] + public sealed partial class WebPassageActionEvent : InstantActionEvent + { + } +} diff --git a/Content.Goobstation.Shared/_Slon/Spider/WebPassageDoAfterEvent.cs b/Content.Goobstation.Shared/_Slon/Spider/WebPassageDoAfterEvent.cs new file mode 100644 index 00000000000..bdd5beb80ba --- /dev/null +++ b/Content.Goobstation.Shared/_Slon/Spider/WebPassageDoAfterEvent.cs @@ -0,0 +1,7 @@ +using Content.Shared.DoAfter; +using Robust.Shared.Serialization; + +namespace Content.Goobstation.Shared._Slon.Spider; + +[Serializable, NetSerializable] +public sealed partial class WebPassageDoAfterEvent : SimpleDoAfterEvent; diff --git a/Resources/Locale/en-US/_Slon/ghost/roles/maintspider.ftl b/Resources/Locale/en-US/_Slon/ghost/roles/maintspider.ftl new file mode 100644 index 00000000000..5b7cc57aa10 --- /dev/null +++ b/Resources/Locale/en-US/_Slon/ghost/roles/maintspider.ftl @@ -0,0 +1,3 @@ +ghost-role-information-maint-spider-name = grown maintanance spider +ghost-role-information-maint-spider-desc = Eat, grow, create and destroy. You are the true death machine, lay eggs and make more spiders. Use +i to speak with other spiders. +ghost-role-information-maint-spider-rules = You are a [color={role-type-team-antagonist-color}][bold]{roles-antag-generic-free-agent-name}[/bold][/color], cooperate with all other maintenance spiders to multiply. diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml index e6bda5e0529..fc99435cce7 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml @@ -2857,6 +2857,11 @@ color: "#808080" activateSound: null deactivateSound: null + - type: CollectiveMind # Slon - collective mind + defaultChannel: Spidermind + respectAccents: true + channels: + - Spidermind - type: entity parent: MobSpiderBase diff --git a/Resources/Prototypes/_Goobstation/CollectiveMind/collective_minds.yml b/Resources/Prototypes/_Goobstation/CollectiveMind/collective_minds.yml index 972a65294e6..e9420e0b6e9 100644 --- a/Resources/Prototypes/_Goobstation/CollectiveMind/collective_minds.yml +++ b/Resources/Prototypes/_Goobstation/CollectiveMind/collective_minds.yml @@ -75,3 +75,9 @@ name: collective-mind-bingle keycode: 'w' color: "#386a9b" + +- type: collectiveMind # slon + id: Spidermind + name: collective-mind-spider + keycode: 'i' + color: "#8C8C8C" diff --git a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/eggspider.yml b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/eggspider.yml new file mode 100644 index 00000000000..1ba12f63a82 --- /dev/null +++ b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/eggspider.yml @@ -0,0 +1,10 @@ +- type: entity + id: EggMaintSpiderFertilized + parent: EggSpiderFertilized + components: + - type: TimedSpawner + prototypes: + - MobMaintSpiderling + intervalSeconds: 60 + minimumEntitiesSpawned: 1 + maximumEntitiesSpawned: 1 diff --git a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml new file mode 100644 index 00000000000..1de495c0932 --- /dev/null +++ b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml @@ -0,0 +1,126 @@ +- type: entity + id: MobMaintSpider + name: maintenance spider + description: Widely recognized to be the literal worst thing in existence, but not quite. + suffix: AI, Grown + parent: MobSpiderBase + components: + - type: GhostRole + makeSentient: true + name: ghost-role-information-maint-spider-name + description: ghost-role-information-maint-spider-desc + rules: ghost-role-information-maint-spider-rules + mindRoles: + - MindRoleGhostRoleTeamAntagonist + raffle: + settings: short + - type: GhostTakeoverAvailable + - type: Sprite + sprite: _Slon/Objects/Fun/SpecialSpiders/maintspider.rsi + state: maint_spider + - type: DamageStateVisuals + rotate: true + states: + Alive: + Base: maint_spider + Dead: + Base: maint_spider_dead + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.2 + density: 100 + mask: + - SmallMobMask + layer: + - SmallMobLayer + - type: Tag + tags: # removed bumdoor opener + - FootstepSound + - type: MeleeWeapon + altDisarm: false + angle: 0 + animation: WeaponArcBite + soundHit: + path: /Audio/Effects/bite.ogg + damage: + types: + Piercing: 6 + - type: SolutionContainerManager + solutions: + melee: + reagents: + - ReagentId: ChloralHydrate # to compensate for the low damage + Quantity: 20 + - type: LanguageKnowledge # Einstein Engines - Language + speaks: + - Xeno + understands: + - TauCetiBasic # "Hos ive got you a new shiva!" also they are not evil by default so they could be pets + - Xeno + - type: EggLayer + eggSpawn: + - id: EggMaintSpiderFertilized + hungerUsage: 51 + eggLayAction: MouseMultiply + hungerRequired: true + - type: Hunger + startingHunger: 50 + thresholds: + Overfed: 110 + Okay: 80 + Peckish: 50 + Starving: 19 + Dead: 0 + baseDecayRate: -0.1 # i dont want it to be like a ratking, the only purpose of these spiders is to make maints more unsafe + - type: WebPassageAction + +- type: entity + id: MobMaintSpiderling + parent: MobSpiderBase + name: spiderling + description: Look at this cutie! + components: + - type: MobThresholds + thresholds: + 0: Alive + 45: Dead + - type: DamageStateVisuals + rotate: true + states: + Alive: + Base: spiderling + Dead: + Base: spiderling_dead + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.2 + density: 100 + mask: + - SmallMobMask + layer: + - SmallMobLayer + - type: Sprite + sprite: _Slon/Objects/Fun/SpecialSpiders/maintspiderling.rsi + state: spiderling + - type: Tag + tags: # removed bumdoor opener + - FootstepSound + - type: MeleeWeapon + altDisarm: false + angle: 0 + animation: WeaponArcBite + soundHit: + path: /Audio/Effects/bite.ogg + damage: + types: + Piercing: 3 + - type: TimedDespawn # it wouldve been peak to make a normal logic for this, but me lazy + lifetime: 150 + - type: SpawnOnDespawn # also one of the reasons why it isnt a ghostrole, it wipes mind + prototype: MobMaintSpider diff --git a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/specialweb.yml b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/specialweb.yml new file mode 100644 index 00000000000..d8496cba6f4 --- /dev/null +++ b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/specialweb.yml @@ -0,0 +1,55 @@ +- type: entity + id: SpiderWebPassage + name: dense web + description: It's stringy, sticky and dense. + placement: + mode: SnapgridCenter + components: + - type: MeleeSound + soundGroups: + Brute: + path: + "/Audio/Weapons/slash.ogg" + - type: Sprite + sprite: _Slon/Objects/Fun/SpecialSpiders/specialweb.rsi + state: webpassage + - type: Clickable + - type: Transform + anchored: true + - type: Damageable + damageModifierSet: Wood + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 40 # its dense bruh + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:SpawnEntitiesBehavior + spawn: + MaterialWebSilk: + min: 0 + max: 1 + - type: SpiderWebObject + - type: SpeedModifierContacts + walkSpeedModifier: 0.4 + sprintSpeedModifier: 0.4 + ignoreWhitelist: + components: + - IgnoreSpiderWeb + - type: Physics + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.40,-0.30,0.40,0.45" + density: 80 + mask: + - TableMask + layer: + - TableLayer + - type: SpriteFade + - type: RequireProjectileTarget # Goobstation - Crawling + ignoreThrow: true diff --git a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/webaction.yml b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/webaction.yml new file mode 100644 index 00000000000..1d0a0e12441 --- /dev/null +++ b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/webaction.yml @@ -0,0 +1,11 @@ +- type: entity + parent: BaseAction + id: ActionWebPassage + name: Web passage + description: Spawns a web-passable tile only spiders can cross. + components: + - type: Action + icon: Interface/Actions/web.png + useDelay: 25 + - type: InstantAction + event: !type:WebPassageActionEvent From d0574bd89b76d224aa7f3b2a169f1b306b381b8f Mon Sep 17 00:00:00 2001 From: LuciferEOS Date: Wed, 13 Aug 2025 18:04:38 +0200 Subject: [PATCH 2/9] oops --- .../maintspider.rsi/maint_spider.png | Bin 0 -> 2110 bytes .../maintspider.rsi/maint_spider_dead.png | Bin 0 -> 401 bytes .../SpecialSpiders/maintspider.rsi/meta.json | 40 ++++++++++++++++++ .../maintspiderling.rsi/meta.json | 36 ++++++++++++++++ .../maintspiderling.rsi/spiderling.png | Bin 0 -> 1036 bytes .../maintspiderling.rsi/spiderling_dead.png | Bin 0 -> 310 bytes .../SpecialSpiders/specialweb.rsi/meta.json | 14 ++++++ .../specialweb.rsi/webpassage.png | Bin 0 -> 729 bytes 8 files changed, 90 insertions(+) create mode 100644 Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspider.rsi/maint_spider.png create mode 100644 Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspider.rsi/maint_spider_dead.png create mode 100644 Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspider.rsi/meta.json create mode 100644 Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspiderling.rsi/meta.json create mode 100644 Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspiderling.rsi/spiderling.png create mode 100644 Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspiderling.rsi/spiderling_dead.png create mode 100644 Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/specialweb.rsi/meta.json create mode 100644 Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/specialweb.rsi/webpassage.png diff --git a/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspider.rsi/maint_spider.png b/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspider.rsi/maint_spider.png new file mode 100644 index 0000000000000000000000000000000000000000..834ab292c35e5361ea821c07810c03bc38ef3918 GIT binary patch literal 2110 zcmb7GX-t!e7X3=Gg<`1;$__0{Srl0YQOYPE0>i3+$QzZSP!@p^5Ge-PT0l_{BB(5* zf>lv)Lj-YT8Cz5=1*8>0pg<`oi&|)Fmnnr(9+SLel9#-f%#U-=k9%{IyPe#k;6NWF z!T7VoeV!6({aP(0B zgGMeoos)BqU_Y!#lF$7-OXFSQ^jif;)5syoKhiQ5>^k_09vM(Q2dMFfw;(rk_5po! zs+W2$I)AU-mp}p>cW1X`HJ=*eax7)W>BUy8!P+z8oed*;iy+z z7@KWwT{mF~?R2FY*S;I%Kw&OR-i+ux_~0_DUSb%vzE<-+FR8PkQEfUWz9AoYh>nR z(e1>1SP>!QqFkI{oc^Q)jJO&>FM9@+w8PKs7Jld;8^re>u!hi}z=CQxe-Pq23-@io znw1OZ1Ck>W$(#gXU*P*H5C;MzA8>E}qz}_vt+Hp4C6hAqbs8sYbhxI}gdk&s|EB zKG16hDFSi8F=pvynll(#scKr7a-sVmL?DSG@n1oEkZ_m%Ww!M6?5d75i%)YSUSa=z)6TCYO85_jXCUic{k2fuxY2CG6DFXn$W|b~# zZynTeH>7ReLDw3i=fsG-S$fqo>4Q7fzxVAT@SXa#3e9kPYf&L8zSASUC}HVGoq%6) z>MOXge|XRT8IAY0&WhssdFAxl;4?7L8N}$4PeNJ@Fgx>Cwxm-7MOE4WbrPuX$A!?hsj^9qFO)HbsV>MyoZ@1)BX+2QBSf7=wj ze2A-D!s}?=U3zR=pJrjN0$vz^Cv&sHlZ=d!EL7Q_9$e{9&m&lsK`LjQ>()F8T%Jac z{hnLZy>$DxtjsG_wf6%^B~yIVgSDxikkit)Okp106Db&P^n@gi@Sd3PTW@0`;(Hxe z14K|G{hQJ`(ZUUt8;#_HQ}hAx@aLTfcPSwd+m;3i=uWZCHGSZ5h4Q5rRCOdJ9I>*T z<0PcgRb8A+o)ax6E}o}HQiesN4aO8h;*>LxsrggqIq#)@%b%n zL8+Qv%0t#`do>A^>xKi?xq^OF!&Rh_o+lTX$HE$#OTNP>G-}L75&|)6#7H73^K2=v zxtXvow_o1hQ*7FSjRKVV!`-!9t4cjGJ_B95>MYrx_kSe&@9X<7kzd#HNI9euT~@#q zLCfXaLHBDkA_+)jw;W%=sT{VeK~IV0eOTfKf1#DSa5fGd`Z^uN2chdE%wj_Jv!eH1 z_WkXTvy+wceSIHmPB?Mbx-x2tK^w4B#&H5NXQOe@I48L{T9N9K0j6Vg*Ul2F9^!9w z6MvT#X>=U3lE*TE%KGDz)6CYzS){IpyV*<)%kf;cHn_2Ue;X9HL^#DIH9N*-#c{CU z`})ZSbV}*?At($(&` literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspider.rsi/maint_spider_dead.png b/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspider.rsi/maint_spider_dead.png new file mode 100644 index 0000000000000000000000000000000000000000..249b796ce1df17a83de3c1648e2e42264ae3b8cd GIT binary patch literal 401 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv(mfq~K4 z)5S5QV$RzshS`S=1X}e2I1YA8UkaLIIHBzHg!l=0e~;ds6@Ou2wD60J;8~L@3>Qvb zmHwwkDyn!@yUzCm9(Jdz?t7}oo|u`+z?OhOS`9Z#U){4i#dzD`Tljw?$(_!nGGEvZ zw1mI(_;z)A^c~+A<=}KyH`4n#jrYX$Y{?nZ&f{79cnM~SRldl zSysb+pG~u$95+8?;vQzZT#8}(DYfapYUa-p<`9^@N8~K42(N(CgE$U<<`!G`XNJ!% qGPHc)-=)`+{e6$QL;T_3TIPkbkDgR8UUm~0#tfdWelF{r5}E)a!KZlu literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspider.rsi/meta.json b/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspider.rsi/meta.json new file mode 100644 index 00000000000..d368764cca3 --- /dev/null +++ b/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspider.rsi/meta.json @@ -0,0 +1,40 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "taken from /tg/ at icon/mob/simple/arachnoid.dmi", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "maint_spider", + "directions": 4, + "delays": [ + [ + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "maint_spider_dead" + } + ] +} diff --git a/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspiderling.rsi/meta.json b/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspiderling.rsi/meta.json new file mode 100644 index 00000000000..0331f72c769 --- /dev/null +++ b/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspiderling.rsi/meta.json @@ -0,0 +1,36 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "taken from /tg/ at icon/mob/simple/arachnoid.dmi", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "spiderling", + "directions": 4, + "delays": [ + [ + 0.1, + 0.1 + ], + [ + 0.1, + 0.1 + ], + [ + 0.1, + 0.1 + ], + [ + 0.1, + 0.1 + ] + ] + }, + { + "name": "spiderling_dead" + } + ] +} diff --git a/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspiderling.rsi/spiderling.png b/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspiderling.rsi/spiderling.png new file mode 100644 index 0000000000000000000000000000000000000000..0651578e12db71bed61442eb8b536dd835d4eb87 GIT binary patch literal 1036 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGooCO|{#S9F5M?jcysy3fA0|WCu zPZ!6KiaBrRp3f2v6gigf$nw9zaZQFmOvsVBvlU`@eh|F#!g0_O;YA;>Cv^TCKb@d*}1bpZ+d5Q^HjIY~KAlGkNA1@0`FQ%Bi5tn4;3q z!!ltagOQMf8`B9721$hAO0f;q|G(u_ygrrm_r(ttU%Q&SUX6eBKX$V!7)-mr+&=vF zhP>O#LX8ozAC;4%KQUe_U)Fr{+k>EwKe}1o+>y~?>s-ppW})z>_K#U?O6Y+$o;+7_cgtIU90MWq-P(WdvaPcez0Hncislc28YMTzo%`hwUJtO z^54U-D?Ak+|6I&@bI$IF{Mq!wtFPxDN^3aFlra6sGvfn~-~TBK+jdN-`op)+^5)jo zZPUKX*UJdJ-OrIAotE%&Ul;3*1GP-MwryRa?N^dBIpOuz;|tg~^1evk=7}6SSc43= z;4-gVbVouc||fyOEE6OSZ<6l#yIf5rddBzr{vgalu~eI|FfQgjv9`ZM*E z#{QY*wDy(cgzLw*uj4n}nbGp$cKFgy-iB-Y75g7PKCd|~;O>Hpq4M`PIUb&WQ(}Xv z(tF{I*hT-g|Me!W}}uwveQ-0?7Q~y_p%DMC-2{W-!Cl?sJM5n~(C#FBGhp8Ug9GWUVm?C*=@fZ3bD M)78&qol`;+0Q1AkF8}}l literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspiderling.rsi/spiderling_dead.png b/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspiderling.rsi/spiderling_dead.png new file mode 100644 index 0000000000000000000000000000000000000000..fde294f8bdc4719bde9bbfef0fcd4f3cf1679cfd GIT binary patch literal 310 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DEPwD z#WAE}&fCiyxegf!usz`3(cvvPb=Fm-yu3$GoJ&3_)|km3I(gN1$-2;xCEXUs{xvr1 zG>LP^zFV-wv;F^R)wcnsmol(wI52W`F!{K3N~^`*ny;yvN;{VBJ$Lw$GX6(7KMtq&l{3F)s z0e>xC?iFCZ5Z80<+g}+D5rG>!m;6m)xYb|${O_N&D3IOLYMo(!MqY;jJ$ zF~in%+7BTkrsN;DJ)`AWf3P_nZTZieu}EYA*m?5vU8>C6b8I&P{mkI$>gTe~DWM4f Dxy^a0 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/specialweb.rsi/meta.json b/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/specialweb.rsi/meta.json new file mode 100644 index 00000000000..461511f5073 --- /dev/null +++ b/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/specialweb.rsi/meta.json @@ -0,0 +1,14 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "taken from /tg/ at icon/effects/web.dmi", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "webpassage" + } + ] +} diff --git a/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/specialweb.rsi/webpassage.png b/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/specialweb.rsi/webpassage.png new file mode 100644 index 0000000000000000000000000000000000000000..d2749427ff7ef9612b52988ebcfdd7b36d52d6db GIT binary patch literal 729 zcmV;~0w(>5P)*=AvwQXRdadSSx7#)M`@MR<-;3&>sOJt?E|-m-+wHb$ zMRf1~5i(nVa6X@_!{Jap9*^$t&1UmwA+rQ1dPu?Z`TV>i1PlpM8an~J+-|qDGnNY? z7vXxnE{bqOK}s8ti=6;oT1!7dB55Sz*%EX=m&;{Ph|=Yx8Y8S$t3|C}ePg2r9HDb* zV(kJ&q<;JTzWaud5^?6aqtju2_aZ5k)#bMNPQ#luSM8@{Bl4-j>qE{ zp@=jIL{6ao8VgY=Ex#P_Xne3HJDpCQ2qN@07YKO?2q*efKn7VU5kiST?P`-Sh{mE% z1$Y{SI043hPr#R_soS~4v^=#ucHX1 z!^?BbwJ%ydnX~ACqSqv2k5_12Adu zkR22Vdc9sv)<#qg-=a?L^D8K>eRURfCPIUPr=i#Vsg7ZD>2MQfUr5Hty&q{A8Z%44RPxZj8S3)`A2e014-P|e00000 LNkvXXu0mjfS^z&; literal 0 HcmV?d00001 From 94f0b560169c2da413852ef9fa8ae872a4e5387e Mon Sep 17 00:00:00 2001 From: LuciferEOS Date: Wed, 13 Aug 2025 18:59:19 +0200 Subject: [PATCH 3/9] balancing --- .../_Slon/Spider/WebPassageActionSystem.cs | 2 +- .../_Slon/Spider/WebPassageActionComponent.cs | 1 + .../_Slon/Entities/Mobs/NPCs/maintspider.yml | 20 +++++++++---------- .../_Slon/Entities/Mobs/NPCs/webaction.yml | 3 +-- 4 files changed, 12 insertions(+), 14 deletions(-) diff --git a/Content.Goobstation.Server/_Slon/Spider/WebPassageActionSystem.cs b/Content.Goobstation.Server/_Slon/Spider/WebPassageActionSystem.cs index b19e1af2f77..e654314ffcf 100644 --- a/Content.Goobstation.Server/_Slon/Spider/WebPassageActionSystem.cs +++ b/Content.Goobstation.Server/_Slon/Spider/WebPassageActionSystem.cs @@ -19,7 +19,7 @@ public override void Initialize() private void OnAction(EntityUid uid, WebPassageActionComponent comp, WebPassageActionEvent args) { var ev = new WebPassageDoAfterEvent(); - var doAfterArgs = new DoAfterArgs(EntityManager, uid, TimeSpan.FromSeconds(3), ev, uid) + var doAfterArgs = new DoAfterArgs(EntityManager, uid, TimeSpan.FromSeconds(comp.DoAfter), ev, uid) { BreakOnMove = true, BreakOnDamage = true diff --git a/Content.Goobstation.Shared/_Slon/Spider/WebPassageActionComponent.cs b/Content.Goobstation.Shared/_Slon/Spider/WebPassageActionComponent.cs index 3f3c1878664..7f4acefdc30 100644 --- a/Content.Goobstation.Shared/_Slon/Spider/WebPassageActionComponent.cs +++ b/Content.Goobstation.Shared/_Slon/Spider/WebPassageActionComponent.cs @@ -17,6 +17,7 @@ public sealed partial class WebPassageActionComponent : Component public string WebAction = "ActionWebPassage"; [DataField] public EntityUid? Action; + [DataField] public float DoAfter { get; set; } = 10f; } [Serializable] diff --git a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml index 1de495c0932..26079c40bdd 100644 --- a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml +++ b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml @@ -53,7 +53,7 @@ melee: reagents: - ReagentId: ChloralHydrate # to compensate for the low damage - Quantity: 20 + Quantity: 50 # 5u, the space spider value halved - type: LanguageKnowledge # Einstein Engines - Language speaks: - Xeno @@ -63,16 +63,16 @@ - type: EggLayer eggSpawn: - id: EggMaintSpiderFertilized - hungerUsage: 51 + hungerUsage: 20 eggLayAction: MouseMultiply hungerRequired: true - type: Hunger - startingHunger: 50 + startingHunger: 19 thresholds: - Overfed: 110 - Okay: 80 - Peckish: 50 - Starving: 19 + Overfed: 80 + Okay: 60 + Peckish: 30 + Starving: 1 Dead: 0 baseDecayRate: -0.1 # i dont want it to be like a ratking, the only purpose of these spiders is to make maints more unsafe - type: WebPassageAction @@ -100,11 +100,9 @@ shape: !type:PhysShapeCircle radius: 0.2 - density: 100 + density: 100 # cant walk under the tables or airlocks because ingame they would run away constantly mask: - - SmallMobMask - layer: - - SmallMobLayer + - MidImpassable - type: Sprite sprite: _Slon/Objects/Fun/SpecialSpiders/maintspiderling.rsi state: spiderling diff --git a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/webaction.yml b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/webaction.yml index 1d0a0e12441..863c4ca40c8 100644 --- a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/webaction.yml +++ b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/webaction.yml @@ -5,7 +5,6 @@ description: Spawns a web-passable tile only spiders can cross. components: - type: Action - icon: Interface/Actions/web.png - useDelay: 25 + icon: { sprite: _Slon/Objects/Fun/SpecialSpiders/specialweb.rsi, state: webpassage } - type: InstantAction event: !type:WebPassageActionEvent From ccd6340f15ed8be4e3934f7802e73f92c6e7c8af Mon Sep 17 00:00:00 2001 From: LuciferEOS Date: Wed, 13 Aug 2025 19:58:46 +0200 Subject: [PATCH 4/9] end --- .../collective-mind/collective-mind.ftl | 1 + .../_Goobstation/GameRules/events.yml | 22 +++++++++++++++ .../_Slon/Entities/Mobs/NPCs/maintspider.yml | 26 +++++++++++++----- .../_Slon/Entities/Mobs/NPCs/webaction.yml | 2 +- .../{maint_spider_dead.png => dead.png} | Bin .../SpecialSpiders/maintspider.rsi/meta.json | 4 +-- .../{maint_spider.png => spider.png} | Bin .../{spiderling_dead.png => dead.png} | Bin .../maintspiderling.rsi/meta.json | 2 +- 9 files changed, 46 insertions(+), 11 deletions(-) rename Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspider.rsi/{maint_spider_dead.png => dead.png} (100%) rename Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspider.rsi/{maint_spider.png => spider.png} (100%) rename Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspiderling.rsi/{spiderling_dead.png => dead.png} (100%) diff --git a/Resources/Locale/en-US/_Goobstation/collective-mind/collective-mind.ftl b/Resources/Locale/en-US/_Goobstation/collective-mind/collective-mind.ftl index 8444a817850..8781f2009d7 100644 --- a/Resources/Locale/en-US/_Goobstation/collective-mind/collective-mind.ftl +++ b/Resources/Locale/en-US/_Goobstation/collective-mind/collective-mind.ftl @@ -14,3 +14,4 @@ collective-mind-mousemind = Piepmind collective-mind-dronemind = Dronemind collective-mind-empathy = Empathy collective-mind-bingle = Binglemind +collective-mind-spider = Spidermind diff --git a/Resources/Prototypes/_Goobstation/GameRules/events.yml b/Resources/Prototypes/_Goobstation/GameRules/events.yml index ceedcfe4572..3b859b39270 100644 --- a/Resources/Prototypes/_Goobstation/GameRules/events.yml +++ b/Resources/Prototypes/_Goobstation/GameRules/events.yml @@ -47,3 +47,25 @@ min: 1 max: 1 pickPlayer: false + +- type: entity + parent: BaseGameRule + id: MaintenanceSpiderSpawn + components: + - type: GameRule + chaosScore: 75 # less than the tarantula spawn because they are friendly BY DEFAULT + - type: StationEvent + weight: 2 + startAnnouncement: station-event-vent-creatures-start-announcement + startAudio: + path: /Audio/Announcements/aliens.ogg + earliestStart: 10 + minimumPlayers: 15 + duration: 30 + chaos: + Hostile: 10 # 1 not hostile spider... + Medical: 20 + eventType: HostilesSpawn + - type: VentCrittersRule + table: + id: MobMaintSpider diff --git a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml index 26079c40bdd..eb64f055d8e 100644 --- a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml +++ b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml @@ -16,15 +16,20 @@ settings: short - type: GhostTakeoverAvailable - type: Sprite - sprite: _Slon/Objects/Fun/SpecialSpiders/maintspider.rsi - state: maint_spider + drawdepth: SmallMobs + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: spider + sprite: _Slon/Objects/Fun/SpecialSpiders/maintspider.rsi - type: DamageStateVisuals rotate: true states: Alive: - Base: maint_spider + Base: spider + Critical: + Base: dead Dead: - Base: maint_spider_dead + Base: dead - type: Fixtures fixtures: fix1: @@ -76,6 +81,7 @@ Dead: 0 baseDecayRate: -0.1 # i dont want it to be like a ratking, the only purpose of these spiders is to make maints more unsafe - type: WebPassageAction + - type: Appearance - type: entity id: MobMaintSpiderling @@ -92,8 +98,11 @@ states: Alive: Base: spiderling + Critical: + Base: dead Dead: - Base: spiderling_dead + Base: dead + - type: Appearance - type: Fixtures fixtures: fix1: @@ -104,8 +113,11 @@ mask: - MidImpassable - type: Sprite - sprite: _Slon/Objects/Fun/SpecialSpiders/maintspiderling.rsi - state: spiderling + drawdepth: SmallMobs + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: spiderling + sprite: _Slon/Objects/Fun/SpecialSpiders/maintspiderling.rsi - type: Tag tags: # removed bumdoor opener - FootstepSound diff --git a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/webaction.yml b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/webaction.yml index 863c4ca40c8..cda63b537d2 100644 --- a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/webaction.yml +++ b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/webaction.yml @@ -2,7 +2,7 @@ parent: BaseAction id: ActionWebPassage name: Web passage - description: Spawns a web-passable tile only spiders can cross. + description: Make a web-passable tile only spiders can cross. components: - type: Action icon: { sprite: _Slon/Objects/Fun/SpecialSpiders/specialweb.rsi, state: webpassage } diff --git a/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspider.rsi/maint_spider_dead.png b/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspider.rsi/dead.png similarity index 100% rename from Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspider.rsi/maint_spider_dead.png rename to Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspider.rsi/dead.png diff --git a/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspider.rsi/meta.json b/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspider.rsi/meta.json index d368764cca3..d098433902e 100644 --- a/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspider.rsi/meta.json +++ b/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspider.rsi/meta.json @@ -8,7 +8,7 @@ }, "states": [ { - "name": "maint_spider", + "name": "spider", "directions": 4, "delays": [ [ @@ -34,7 +34,7 @@ ] }, { - "name": "maint_spider_dead" + "name": "dead" } ] } diff --git a/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspider.rsi/maint_spider.png b/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspider.rsi/spider.png similarity index 100% rename from Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspider.rsi/maint_spider.png rename to Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspider.rsi/spider.png diff --git a/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspiderling.rsi/spiderling_dead.png b/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspiderling.rsi/dead.png similarity index 100% rename from Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspiderling.rsi/spiderling_dead.png rename to Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspiderling.rsi/dead.png diff --git a/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspiderling.rsi/meta.json b/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspiderling.rsi/meta.json index 0331f72c769..bf7ba9466c2 100644 --- a/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspiderling.rsi/meta.json +++ b/Resources/Textures/_Slon/Objects/Fun/SpecialSpiders/maintspiderling.rsi/meta.json @@ -30,7 +30,7 @@ ] }, { - "name": "spiderling_dead" + "name": "dead" } ] } From d1eec2b35cd9064e38407a27e24c8b21ae494f39 Mon Sep 17 00:00:00 2001 From: LuciferEOS Date: Thu, 14 Aug 2025 09:20:47 +0200 Subject: [PATCH 5/9] merge --- Resources/Locale/en-US/_Slon/ghost/roles/maintspider.ftl | 2 +- Resources/Prototypes/Entities/Mobs/NPCs/animals.yml | 9 +++++++-- Resources/Prototypes/GameRules/events.yml | 1 + Resources/Prototypes/_Goobstation/GameRules/events.yml | 2 +- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Resources/Locale/en-US/_Slon/ghost/roles/maintspider.ftl b/Resources/Locale/en-US/_Slon/ghost/roles/maintspider.ftl index 5b7cc57aa10..ecec8b31e2d 100644 --- a/Resources/Locale/en-US/_Slon/ghost/roles/maintspider.ftl +++ b/Resources/Locale/en-US/_Slon/ghost/roles/maintspider.ftl @@ -1,3 +1,3 @@ ghost-role-information-maint-spider-name = grown maintanance spider ghost-role-information-maint-spider-desc = Eat, grow, create and destroy. You are the true death machine, lay eggs and make more spiders. Use +i to speak with other spiders. -ghost-role-information-maint-spider-rules = You are a [color={role-type-team-antagonist-color}][bold]{roles-antag-generic-free-agent-name}[/bold][/color], cooperate with all other maintenance spiders to multiply. +ghost-role-information-maint-spider-rules = You are a [color={role-type-team-antagonist-color}][bold]{role-type-team-antagonist-name}[/bold][/color], cooperate with all other maintenance spiders to multiply. diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml index fc99435cce7..9304630db3d 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml @@ -2805,7 +2805,12 @@ - type: MeleeChemicalInjector transferAmount: 0.75 solution: melee - - type: ReplacementAccent + - type: LanguageKnowledge # Einstein Engines - Language + # once upstream hits (the one that has languages) - uncomment. + # speaks: + # - Xeno + # understands: + #- Xeno accent: xeno - type: InteractionPopup successChance: 0.5 @@ -2857,7 +2862,7 @@ color: "#808080" activateSound: null deactivateSound: null - - type: CollectiveMind # Slon - collective mind + - type: CollectiveMind # Slon defaultChannel: Spidermind respectAccents: true channels: diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml index 315f8f0b5c6..1b91f1a821c 100644 --- a/Resources/Prototypes/GameRules/events.yml +++ b/Resources/Prototypes/GameRules/events.yml @@ -174,6 +174,7 @@ - id: MothroachSpawn # DeltaV - id: XenoVents # DeltaV - id: DerelictCyborgSyndicateSpawn # Goobstation - usually calm + - id: MaintenanceSpiderSpawn # Slon - type: entityTable id: BasicAntagEventsTable diff --git a/Resources/Prototypes/_Goobstation/GameRules/events.yml b/Resources/Prototypes/_Goobstation/GameRules/events.yml index 3b859b39270..5073639b114 100644 --- a/Resources/Prototypes/_Goobstation/GameRules/events.yml +++ b/Resources/Prototypes/_Goobstation/GameRules/events.yml @@ -53,7 +53,7 @@ id: MaintenanceSpiderSpawn components: - type: GameRule - chaosScore: 75 # less than the tarantula spawn because they are friendly BY DEFAULT + chaosScore: 75 # less than the tarantula spawn because it spawns only 1 spider instead of a ton of tarantulas. - type: StationEvent weight: 2 startAnnouncement: station-event-vent-creatures-start-announcement From bc907ca0f3f61d6f7c066c1a4c1a6d0372da945f Mon Sep 17 00:00:00 2001 From: LuciferEOS Date: Thu, 14 Aug 2025 10:16:14 +0200 Subject: [PATCH 6/9] end x2 --- Resources/Prototypes/_Goobstation/GameRules/events.yml | 2 +- Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/_Goobstation/GameRules/events.yml b/Resources/Prototypes/_Goobstation/GameRules/events.yml index 5073639b114..16e48726322 100644 --- a/Resources/Prototypes/_Goobstation/GameRules/events.yml +++ b/Resources/Prototypes/_Goobstation/GameRules/events.yml @@ -48,7 +48,7 @@ max: 1 pickPlayer: false -- type: entity +- type: entity # slon parent: BaseGameRule id: MaintenanceSpiderSpawn components: diff --git a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml index eb64f055d8e..26505969c23 100644 --- a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml +++ b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml @@ -130,7 +130,7 @@ damage: types: Piercing: 3 - - type: TimedDespawn # it wouldve been peak to make a normal logic for this, but me lazy + - type: TimedDespawn # it wouldve been peak to make a normal logic for this, but there is no "TriggerOnTime" or something lifetime: 150 - type: SpawnOnDespawn # also one of the reasons why it isnt a ghostrole, it wipes mind prototype: MobMaintSpider From 7ef3ea2797fdcf1546c9a6a272e353b80c2cb2c5 Mon Sep 17 00:00:00 2001 From: LuciferEOS Date: Fri, 5 Sep 2025 22:02:39 +0200 Subject: [PATCH 7/9] ru --- .../en-US/_Slon/ghost/roles/maintspider.ftl | 6 +++--- .../Prototypes/Entities/Mobs/NPCs/animals.yml | 3 +-- .../_Slon/Entities/Mobs/NPCs/maintspider.yml | 20 +++++++++---------- .../_Slon/Entities/Mobs/NPCs/specialweb.yml | 4 ++-- .../_Slon/Entities/Mobs/NPCs/webaction.yml | 4 ++-- 5 files changed, 18 insertions(+), 19 deletions(-) diff --git a/Resources/Locale/en-US/_Slon/ghost/roles/maintspider.ftl b/Resources/Locale/en-US/_Slon/ghost/roles/maintspider.ftl index ecec8b31e2d..7a3a0bb5790 100644 --- a/Resources/Locale/en-US/_Slon/ghost/roles/maintspider.ftl +++ b/Resources/Locale/en-US/_Slon/ghost/roles/maintspider.ftl @@ -1,3 +1,3 @@ -ghost-role-information-maint-spider-name = grown maintanance spider -ghost-role-information-maint-spider-desc = Eat, grow, create and destroy. You are the true death machine, lay eggs and make more spiders. Use +i to speak with other spiders. -ghost-role-information-maint-spider-rules = You are a [color={role-type-team-antagonist-color}][bold]{role-type-team-antagonist-name}[/bold][/color], cooperate with all other maintenance spiders to multiply. +ghost-role-information-maint-spider-name = выращенный паук-подсобник +ghost-role-information-maint-spider-desc = Ешь, расти, твори и разрушай. Ты — настоящая машина смерти, откладывай яйца и производи ещё больше пауков. Используйте +i, чтобы общаться с другими пауками. +ghost-role-information-maint-spider-rules = Вы — [color={role-type-team-antagonist-color}][bold]{role-type-team-antagonist-name}[/bold][/color], сотрудничаете со всеми остальными пауками-обслуживателями, чтобы размножаться. diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml index 9304630db3d..3aea4b94508 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml @@ -2805,13 +2805,12 @@ - type: MeleeChemicalInjector transferAmount: 0.75 solution: melee - - type: LanguageKnowledge # Einstein Engines - Language + #- type: LanguageKnowledge # Einstein Engines - Language # once upstream hits (the one that has languages) - uncomment. # speaks: # - Xeno # understands: #- Xeno - accent: xeno - type: InteractionPopup successChance: 0.5 interactSuccessString: petting-success-tarantula diff --git a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml index 26505969c23..cd3c452e7d7 100644 --- a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml +++ b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml @@ -1,7 +1,7 @@ - type: entity id: MobMaintSpider - name: maintenance spider - description: Widely recognized to be the literal worst thing in existence, but not quite. + name: паук техтунелей + description: Широко признано, что это буквально худшее, что может быть на свете, но это не совсем так. suffix: AI, Grown parent: MobSpiderBase components: @@ -59,12 +59,12 @@ reagents: - ReagentId: ChloralHydrate # to compensate for the low damage Quantity: 50 # 5u, the space spider value halved - - type: LanguageKnowledge # Einstein Engines - Language - speaks: - - Xeno - understands: - - TauCetiBasic # "Hos ive got you a new shiva!" also they are not evil by default so they could be pets - - Xeno + #- type: LanguageKnowledge # Einstein Engines - Language + # speaks: + # - Xeno + # understands: + # - TauCetiBasic # "Hos ive got you a new shiva!" also they are not evil by default so they could be pets + # - Xeno - type: EggLayer eggSpawn: - id: EggMaintSpiderFertilized @@ -86,8 +86,8 @@ - type: entity id: MobMaintSpiderling parent: MobSpiderBase - name: spiderling - description: Look at this cutie! + name: паучок + description: Посмотрите на эту милашку! components: - type: MobThresholds thresholds: diff --git a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/specialweb.yml b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/specialweb.yml index d8496cba6f4..4418f2b4636 100644 --- a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/specialweb.yml +++ b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/specialweb.yml @@ -1,7 +1,7 @@ - type: entity id: SpiderWebPassage - name: dense web - description: It's stringy, sticky and dense. + name: плотная паутина + description: Он тягучий, липкий и плотный. placement: mode: SnapgridCenter components: diff --git a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/webaction.yml b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/webaction.yml index cda63b537d2..65832076c5c 100644 --- a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/webaction.yml +++ b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/webaction.yml @@ -1,8 +1,8 @@ - type: entity parent: BaseAction id: ActionWebPassage - name: Web passage - description: Make a web-passable tile only spiders can cross. + name: Веб-проход + description: Создайте плитку, через которую смогут пролезть только пауки. components: - type: Action icon: { sprite: _Slon/Objects/Fun/SpecialSpiders/specialweb.rsi, state: webpassage } From 5768ed79995016f250c359a13f46145910afada6 Mon Sep 17 00:00:00 2001 From: ReserveBot <211949879+ReserveBot@users.noreply.github.com> Date: Fri, 5 Sep 2025 20:05:34 +0000 Subject: [PATCH 8/9] chore: Automatically update REUSE headers --- .../_Slon/Spider/WebPassageActionSystem.cs | 4 ++++ .../_Slon/Spider/SharedWebPassageActionSystem.cs | 4 ++++ .../_Slon/Spider/WebPassageActionComponent.cs | 4 ++++ .../_Slon/Spider/WebPassageDoAfterEvent.cs | 4 ++++ Resources/Prototypes/Entities/Mobs/NPCs/animals.yml | 13 +++++++++++-- Resources/Prototypes/GameRules/events.yml | 7 +++++++ .../CollectiveMind/collective_minds.yml | 4 ++++ .../Prototypes/_Goobstation/GameRules/events.yml | 3 +++ .../_Slon/Entities/Mobs/NPCs/eggspider.yml | 4 ++++ .../_Slon/Entities/Mobs/NPCs/maintspider.yml | 4 ++++ .../_Slon/Entities/Mobs/NPCs/specialweb.yml | 4 ++++ .../_Slon/Entities/Mobs/NPCs/webaction.yml | 4 ++++ 12 files changed, 57 insertions(+), 2 deletions(-) diff --git a/Content.Goobstation.Server/_Slon/Spider/WebPassageActionSystem.cs b/Content.Goobstation.Server/_Slon/Spider/WebPassageActionSystem.cs index e654314ffcf..2de54b96bd9 100644 --- a/Content.Goobstation.Server/_Slon/Spider/WebPassageActionSystem.cs +++ b/Content.Goobstation.Server/_Slon/Spider/WebPassageActionSystem.cs @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025 LuciferEOS +// +// SPDX-License-Identifier: AGPL-3.0-or-later + using Content.Goobstation.Shared._Slon.Spider; using Content.Server.DoAfter; using Content.Shared.DoAfter; diff --git a/Content.Goobstation.Shared/_Slon/Spider/SharedWebPassageActionSystem.cs b/Content.Goobstation.Shared/_Slon/Spider/SharedWebPassageActionSystem.cs index 851565a86d4..3b57abbb43f 100644 --- a/Content.Goobstation.Shared/_Slon/Spider/SharedWebPassageActionSystem.cs +++ b/Content.Goobstation.Shared/_Slon/Spider/SharedWebPassageActionSystem.cs @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025 LuciferEOS +// +// SPDX-License-Identifier: AGPL-3.0-or-later + using Content.Shared.Actions; namespace Content.Goobstation.Shared._Slon.Spider; diff --git a/Content.Goobstation.Shared/_Slon/Spider/WebPassageActionComponent.cs b/Content.Goobstation.Shared/_Slon/Spider/WebPassageActionComponent.cs index 7f4acefdc30..4d0d5ce87d8 100644 --- a/Content.Goobstation.Shared/_Slon/Spider/WebPassageActionComponent.cs +++ b/Content.Goobstation.Shared/_Slon/Spider/WebPassageActionComponent.cs @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025 LuciferEOS +// +// SPDX-License-Identifier: AGPL-3.0-or-later + using Content.Shared.Actions; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; diff --git a/Content.Goobstation.Shared/_Slon/Spider/WebPassageDoAfterEvent.cs b/Content.Goobstation.Shared/_Slon/Spider/WebPassageDoAfterEvent.cs index bdd5beb80ba..eab6e45fecd 100644 --- a/Content.Goobstation.Shared/_Slon/Spider/WebPassageDoAfterEvent.cs +++ b/Content.Goobstation.Shared/_Slon/Spider/WebPassageDoAfterEvent.cs @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025 LuciferEOS +// +// SPDX-License-Identifier: AGPL-3.0-or-later + using Content.Shared.DoAfter; using Robust.Shared.Serialization; diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml index 3aea4b94508..669d502f089 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml @@ -149,7 +149,6 @@ # SPDX-FileCopyrightText: 2024 Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com> # SPDX-FileCopyrightText: 2024 MureixloI <132683811+MureixloI@users.noreply.github.com> # SPDX-FileCopyrightText: 2024 NakataRin <45946146+NakataRin@users.noreply.github.com> -# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com> # SPDX-FileCopyrightText: 2024 OrangeMoronage9622 # SPDX-FileCopyrightText: 2024 PJBot # SPDX-FileCopyrightText: 2024 Partmedia @@ -201,7 +200,6 @@ # SPDX-FileCopyrightText: 2024 nicho # SPDX-FileCopyrightText: 2024 nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com> # SPDX-FileCopyrightText: 2024 no <165581243+pissdemon@users.noreply.github.com> -# SPDX-FileCopyrightText: 2024 osjarw <62134478+osjarw@users.noreply.github.com> # SPDX-FileCopyrightText: 2024 pigeonpeas <147350443+pigeonpeas@users.noreply.github.com> # SPDX-FileCopyrightText: 2024 plykiya # SPDX-FileCopyrightText: 2024 pocl v <24708225+Pinkbat5@users.noreply.github.com> @@ -236,17 +234,23 @@ # SPDX-FileCopyrightText: 2025 GoobBot # SPDX-FileCopyrightText: 2025 Ilya246 <57039557+Ilya246@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Ilya246 +# SPDX-FileCopyrightText: 2025 LuciferEOS # SPDX-FileCopyrightText: 2025 McBosserson <148172569+McBosserson@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 MilenVolf <63782763+MilenVolf@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Milon +# SPDX-FileCopyrightText: 2025 NazrinNya <137837419+NazrinNya@users.noreply.github.com> +# SPDX-FileCopyrightText: 2025 Nemanja <98561806+EmoGarbage404@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Piras314 +# SPDX-FileCopyrightText: 2025 Princess Cheeseballs <66055347+Pronana@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Rinary <72972221+Rinary1@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Rouden <149893554+Roudenn@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 SX-7 <92227810+SX-7@users.noreply.github.com> +# SPDX-FileCopyrightText: 2025 SX-7 # SPDX-FileCopyrightText: 2025 Solstice # SPDX-FileCopyrightText: 2025 SolsticeOfTheWinter # SPDX-FileCopyrightText: 2025 Sparlight # SPDX-FileCopyrightText: 2025 Spatison <137375981+Spatison@users.noreply.github.com> +# SPDX-FileCopyrightText: 2025 Svarshik <96281939+lexaSvarshik@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Tayrtahn # SPDX-FileCopyrightText: 2025 TheBorzoiMustConsume <197824988+TheBorzoiMustConsume@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Tim @@ -254,6 +258,7 @@ # SPDX-FileCopyrightText: 2025 Unlumination <144041835+Unlumy@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Winkarst <74284083+Winkarst-cpu@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Zokkie <6126135+Zokkie@users.noreply.github.com> +# SPDX-FileCopyrightText: 2025 archee1 # SPDX-FileCopyrightText: 2025 cheetah1984 <152602630+cheetah1984@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 cheetah1984 # SPDX-FileCopyrightText: 2025 coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> @@ -265,6 +270,10 @@ # SPDX-FileCopyrightText: 2025 gluesniffler # SPDX-FileCopyrightText: 2025 grub # SPDX-FileCopyrightText: 2025 hyperDelegate +# SPDX-FileCopyrightText: 2025 kosticia +# SPDX-FileCopyrightText: 2025 mubururu_ <139181059+muburu@users.noreply.github.com> +# SPDX-FileCopyrightText: 2025 nazrin +# SPDX-FileCopyrightText: 2025 osjarw <62134478+osjarw@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 shityaml # SPDX-FileCopyrightText: 2025 slarticodefast <161409025+slarticodefast@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 ss14-Starlight diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml index 1b91f1a821c..3fe88da4558 100644 --- a/Resources/Prototypes/GameRules/events.yml +++ b/Resources/Prototypes/GameRules/events.yml @@ -122,23 +122,30 @@ # SPDX-FileCopyrightText: 2025 GoobBot # SPDX-FileCopyrightText: 2025 Ilya246 <57039557+Ilya246@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Ilya246 +# SPDX-FileCopyrightText: 2025 Khundo <141230574+korguzenok@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com> +# SPDX-FileCopyrightText: 2025 LuciferEOS # SPDX-FileCopyrightText: 2025 MilenVolf <63782763+MilenVolf@users.noreply.github.com> +# SPDX-FileCopyrightText: 2025 NazrinNya <137837419+NazrinNya@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Piras314 # SPDX-FileCopyrightText: 2025 PunishedJoe # SPDX-FileCopyrightText: 2025 Rouden <149893554+Roudenn@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Roudenn # SPDX-FileCopyrightText: 2025 SX-7 <92227810+SX-7@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 SX-7 +# SPDX-FileCopyrightText: 2025 Svarshik <96281939+lexaSvarshik@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Tayrtahn # SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 TheBorzoiMustConsume <197824988+TheBorzoiMustConsume@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Velcroboy <107660393+IamVelcroboy@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 deltanedas <39013340+deltanedas@users.noreply.github.com> +# SPDX-FileCopyrightText: 2025 echotry <48294642+echotry-ss14@users.noreply.github.com> +# SPDX-FileCopyrightText: 2025 echotry # SPDX-FileCopyrightText: 2025 fishbait # SPDX-FileCopyrightText: 2025 gluesniffler <159397573+gluesniffler@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 gus # SPDX-FileCopyrightText: 2025 keronshb <54602815+keronshb@users.noreply.github.com> +# SPDX-FileCopyrightText: 2025 nazrin # SPDX-FileCopyrightText: 2025 slarticodefast <161409025+slarticodefast@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 unknown # diff --git a/Resources/Prototypes/_Goobstation/CollectiveMind/collective_minds.yml b/Resources/Prototypes/_Goobstation/CollectiveMind/collective_minds.yml index e9420e0b6e9..9bbca12b83f 100644 --- a/Resources/Prototypes/_Goobstation/CollectiveMind/collective_minds.yml +++ b/Resources/Prototypes/_Goobstation/CollectiveMind/collective_minds.yml @@ -3,8 +3,12 @@ # SPDX-FileCopyrightText: 2025 Ilya246 <57039557+Ilya246@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Ilya246 # SPDX-FileCopyrightText: 2025 IrisTheAmped +# SPDX-FileCopyrightText: 2025 LuciferEOS +# SPDX-FileCopyrightText: 2025 NazrinNya <137837419+NazrinNya@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Rinary <72972221+Rinary1@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Rouden <149893554+Roudenn@users.noreply.github.com> +# SPDX-FileCopyrightText: 2025 Svarshik <96281939+lexaSvarshik@users.noreply.github.com> +# SPDX-FileCopyrightText: 2025 nazrin # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/Resources/Prototypes/_Goobstation/GameRules/events.yml b/Resources/Prototypes/_Goobstation/GameRules/events.yml index 16e48726322..032e082c91a 100644 --- a/Resources/Prototypes/_Goobstation/GameRules/events.yml +++ b/Resources/Prototypes/_Goobstation/GameRules/events.yml @@ -4,8 +4,11 @@ # SPDX-FileCopyrightText: 2025 GoobBot # SPDX-FileCopyrightText: 2025 Ilya246 <57039557+Ilya246@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Ilya246 +# SPDX-FileCopyrightText: 2025 LuciferEOS # SPDX-FileCopyrightText: 2025 Rinary <72972221+Rinary1@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Solstice +# SPDX-FileCopyrightText: 2025 Svarshik <96281939+lexaSvarshik@users.noreply.github.com> +# SPDX-FileCopyrightText: 2025 nazrin # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/eggspider.yml b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/eggspider.yml index 1ba12f63a82..7c6c69608fb 100644 --- a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/eggspider.yml +++ b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/eggspider.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2025 LuciferEOS +# +# SPDX-License-Identifier: AGPL-3.0-or-later + - type: entity id: EggMaintSpiderFertilized parent: EggSpiderFertilized diff --git a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml index cd3c452e7d7..6e11dd399a6 100644 --- a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml +++ b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2025 LuciferEOS +# +# SPDX-License-Identifier: AGPL-3.0-or-later + - type: entity id: MobMaintSpider name: паук техтунелей diff --git a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/specialweb.yml b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/specialweb.yml index 4418f2b4636..10c07c30153 100644 --- a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/specialweb.yml +++ b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/specialweb.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2025 LuciferEOS +# +# SPDX-License-Identifier: AGPL-3.0-or-later + - type: entity id: SpiderWebPassage name: плотная паутина diff --git a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/webaction.yml b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/webaction.yml index 65832076c5c..441b00ce4d9 100644 --- a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/webaction.yml +++ b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/webaction.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2025 LuciferEOS +# +# SPDX-License-Identifier: AGPL-3.0-or-later + - type: entity parent: BaseAction id: ActionWebPassage From b2842a5555571b55a318fd619db6e8668f040c1a Mon Sep 17 00:00:00 2001 From: ReserveBot <211949879+ReserveBot@users.noreply.github.com> Date: Fri, 5 Sep 2025 20:07:04 +0000 Subject: [PATCH 9/9] chore: Automatically update REUSE headers --- .../_Slon/Spider/WebPassageActionSystem.cs | 1 + .../_Slon/Spider/SharedWebPassageActionSystem.cs | 1 + .../_Slon/Spider/WebPassageActionComponent.cs | 1 + .../_Slon/Spider/WebPassageDoAfterEvent.cs | 1 + Resources/Prototypes/Entities/Mobs/NPCs/animals.yml | 1 + Resources/Prototypes/GameRules/events.yml | 1 + .../Prototypes/_Goobstation/CollectiveMind/collective_minds.yml | 1 + Resources/Prototypes/_Goobstation/GameRules/events.yml | 1 + Resources/Prototypes/_Slon/Entities/Mobs/NPCs/eggspider.yml | 1 + Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml | 1 + Resources/Prototypes/_Slon/Entities/Mobs/NPCs/specialweb.yml | 1 + Resources/Prototypes/_Slon/Entities/Mobs/NPCs/webaction.yml | 1 + 12 files changed, 12 insertions(+) diff --git a/Content.Goobstation.Server/_Slon/Spider/WebPassageActionSystem.cs b/Content.Goobstation.Server/_Slon/Spider/WebPassageActionSystem.cs index 2de54b96bd9..6d6ecde1e05 100644 --- a/Content.Goobstation.Server/_Slon/Spider/WebPassageActionSystem.cs +++ b/Content.Goobstation.Server/_Slon/Spider/WebPassageActionSystem.cs @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2025 LuciferEOS +// SPDX-FileCopyrightText: 2025 ReserveBot <211949879+ReserveBot@users.noreply.github.com> // // SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/Content.Goobstation.Shared/_Slon/Spider/SharedWebPassageActionSystem.cs b/Content.Goobstation.Shared/_Slon/Spider/SharedWebPassageActionSystem.cs index 3b57abbb43f..dbaa808b222 100644 --- a/Content.Goobstation.Shared/_Slon/Spider/SharedWebPassageActionSystem.cs +++ b/Content.Goobstation.Shared/_Slon/Spider/SharedWebPassageActionSystem.cs @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2025 LuciferEOS +// SPDX-FileCopyrightText: 2025 ReserveBot <211949879+ReserveBot@users.noreply.github.com> // // SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/Content.Goobstation.Shared/_Slon/Spider/WebPassageActionComponent.cs b/Content.Goobstation.Shared/_Slon/Spider/WebPassageActionComponent.cs index 4d0d5ce87d8..3c52ccd22eb 100644 --- a/Content.Goobstation.Shared/_Slon/Spider/WebPassageActionComponent.cs +++ b/Content.Goobstation.Shared/_Slon/Spider/WebPassageActionComponent.cs @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2025 LuciferEOS +// SPDX-FileCopyrightText: 2025 ReserveBot <211949879+ReserveBot@users.noreply.github.com> // // SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/Content.Goobstation.Shared/_Slon/Spider/WebPassageDoAfterEvent.cs b/Content.Goobstation.Shared/_Slon/Spider/WebPassageDoAfterEvent.cs index eab6e45fecd..0e5286c6adc 100644 --- a/Content.Goobstation.Shared/_Slon/Spider/WebPassageDoAfterEvent.cs +++ b/Content.Goobstation.Shared/_Slon/Spider/WebPassageDoAfterEvent.cs @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2025 LuciferEOS +// SPDX-FileCopyrightText: 2025 ReserveBot <211949879+ReserveBot@users.noreply.github.com> // // SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml index 669d502f089..b80d00eb0d2 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml @@ -242,6 +242,7 @@ # SPDX-FileCopyrightText: 2025 Nemanja <98561806+EmoGarbage404@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Piras314 # SPDX-FileCopyrightText: 2025 Princess Cheeseballs <66055347+Pronana@users.noreply.github.com> +# SPDX-FileCopyrightText: 2025 ReserveBot <211949879+ReserveBot@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Rinary <72972221+Rinary1@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Rouden <149893554+Roudenn@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 SX-7 <92227810+SX-7@users.noreply.github.com> diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml index 3fe88da4558..d807b157bc2 100644 --- a/Resources/Prototypes/GameRules/events.yml +++ b/Resources/Prototypes/GameRules/events.yml @@ -129,6 +129,7 @@ # SPDX-FileCopyrightText: 2025 NazrinNya <137837419+NazrinNya@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Piras314 # SPDX-FileCopyrightText: 2025 PunishedJoe +# SPDX-FileCopyrightText: 2025 ReserveBot <211949879+ReserveBot@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Rouden <149893554+Roudenn@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Roudenn # SPDX-FileCopyrightText: 2025 SX-7 <92227810+SX-7@users.noreply.github.com> diff --git a/Resources/Prototypes/_Goobstation/CollectiveMind/collective_minds.yml b/Resources/Prototypes/_Goobstation/CollectiveMind/collective_minds.yml index 9bbca12b83f..282ab0d54c8 100644 --- a/Resources/Prototypes/_Goobstation/CollectiveMind/collective_minds.yml +++ b/Resources/Prototypes/_Goobstation/CollectiveMind/collective_minds.yml @@ -5,6 +5,7 @@ # SPDX-FileCopyrightText: 2025 IrisTheAmped # SPDX-FileCopyrightText: 2025 LuciferEOS # SPDX-FileCopyrightText: 2025 NazrinNya <137837419+NazrinNya@users.noreply.github.com> +# SPDX-FileCopyrightText: 2025 ReserveBot <211949879+ReserveBot@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Rinary <72972221+Rinary1@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Rouden <149893554+Roudenn@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Svarshik <96281939+lexaSvarshik@users.noreply.github.com> diff --git a/Resources/Prototypes/_Goobstation/GameRules/events.yml b/Resources/Prototypes/_Goobstation/GameRules/events.yml index 032e082c91a..c7bb73d8735 100644 --- a/Resources/Prototypes/_Goobstation/GameRules/events.yml +++ b/Resources/Prototypes/_Goobstation/GameRules/events.yml @@ -5,6 +5,7 @@ # SPDX-FileCopyrightText: 2025 Ilya246 <57039557+Ilya246@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Ilya246 # SPDX-FileCopyrightText: 2025 LuciferEOS +# SPDX-FileCopyrightText: 2025 ReserveBot <211949879+ReserveBot@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Rinary <72972221+Rinary1@users.noreply.github.com> # SPDX-FileCopyrightText: 2025 Solstice # SPDX-FileCopyrightText: 2025 Svarshik <96281939+lexaSvarshik@users.noreply.github.com> diff --git a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/eggspider.yml b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/eggspider.yml index 7c6c69608fb..3ece5ad62ca 100644 --- a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/eggspider.yml +++ b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/eggspider.yml @@ -1,4 +1,5 @@ # SPDX-FileCopyrightText: 2025 LuciferEOS +# SPDX-FileCopyrightText: 2025 ReserveBot <211949879+ReserveBot@users.noreply.github.com> # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml index 6e11dd399a6..92e61ab6881 100644 --- a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml +++ b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/maintspider.yml @@ -1,4 +1,5 @@ # SPDX-FileCopyrightText: 2025 LuciferEOS +# SPDX-FileCopyrightText: 2025 ReserveBot <211949879+ReserveBot@users.noreply.github.com> # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/specialweb.yml b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/specialweb.yml index 10c07c30153..37e573855ae 100644 --- a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/specialweb.yml +++ b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/specialweb.yml @@ -1,4 +1,5 @@ # SPDX-FileCopyrightText: 2025 LuciferEOS +# SPDX-FileCopyrightText: 2025 ReserveBot <211949879+ReserveBot@users.noreply.github.com> # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/webaction.yml b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/webaction.yml index 441b00ce4d9..ce0baea6ce7 100644 --- a/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/webaction.yml +++ b/Resources/Prototypes/_Slon/Entities/Mobs/NPCs/webaction.yml @@ -1,4 +1,5 @@ # SPDX-FileCopyrightText: 2025 LuciferEOS +# SPDX-FileCopyrightText: 2025 ReserveBot <211949879+ReserveBot@users.noreply.github.com> # # SPDX-License-Identifier: AGPL-3.0-or-later