silksong-coop-mod 0.4.43 → 0.4.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/INSTALL.txt CHANGED
@@ -554,7 +554,7 @@ exe 旁边放一个 dll,让游戏启动时连带加载它。这是所有同类
554
554
  - 怪对整个房间「喊一声」,房间里的机关跟着动:
555
555
  很多怪会向整个房间广播一个消息,比如镜头换个取景、boss 被打晕时碎掉的地板马上长回来、
556
556
  空中的石头炸掉、灯亮起来、音乐和人群跟着变。以前只有房间主机那边的房间听得到,客机那边这些都不会发生。
557
- 现在客机那边的房间也会跟着动。和角色本人有关的那几种(被打中、被抓住、弹反、跳蚤小游戏的得分之类)不传,
557
+ 现在客机那边的房间也会跟着动。和角色本人有关的那几种(被打中、被抓住、弹反之类)不传,
558
558
  因为那是房间主机自己的角色身上发生的事,传过去会变成客机的角色也「被打中」「被抓住」。
559
559
  - 有时打不到:
560
560
  很多怪藏起来、钻地、无敌的时候,会换到一个「打不到」的碰撞层,出来再换回来。
@@ -643,7 +643,147 @@ exe 旁边放一个 dll,让游戏启动时连带加载它。这是所有同类
643
643
  或者进游戏时一边加载得比另一边慢,先准备好的一边说了,另一边还没准备好,就把它扔了。
644
644
  漏掉以后结尾就一直等着。现在两种情况都会补上。
645
645
 
646
- ※ 以上四十四条【没有实机验证过】。
646
+ * 【boss 的吼叫:以前只吼得住房间主机,现在两个人都会被吼住】
647
+ boss 吼叫时会把玩家定住(摆出迎敌的姿势),还会放出一圈吼叫的波纹。
648
+ 这个动作只在房间主机的游戏里执行,所以以前只有房间主机会被吼住,
649
+ 另一个人照样能动,也看不到波纹。
650
+ 现在另一个人的游戏里也会吼一次,吼住的是那边自己的角色,吼叫结束时两边一起松开。
651
+ 吼叫结束后才进房间的人不会被补吼。
652
+ 吼到一半房间主机离开、由另一个人接管 boss 时,也会照常松开,不会一直被定住。
653
+
654
+ * 【有的 boss 的头在房间客机那边一直抖:修了】
655
+ 有的 boss 身体和头是分开的两部分(头是挨打的那部分)。
656
+ 以前房间客机那边把头单独复制了一份,放在身体外面,只按网络传来的位置走:
657
+ 位置每秒来几次,中间靠猜;而身体是本地动画一帧一帧带着动的,
658
+ 所以头一直在抖,和身体也对不齐。
659
+ 现在头就是身体复制品里原本那颗头,跟着身体的动画一起动,不再单独同步位置。
660
+
661
+ * 【掉进岩浆后,两边的地块对不上:修了】
662
+ 有的 boss 房间里,玩家掉进岩浆、复活的那一刻,碎掉的地块会全部立刻升回来,好让人有地方落脚。
663
+ 以前这只发生在掉下去那个人的游戏里,另一个人那边的地块还碎着,
664
+ 会看到队友站在「还没升上来」的地方,两边的地块也就一直对不上。
665
+ 现在谁掉岩浆复活了,队友那边的地块也一起升回来。
666
+ 岩浆会上涨的房间不算在内,那里有自己的双人规则。
667
+ 这一条改了同步的数据格式,两个人都要装这一版。
668
+
669
+ * 【队友的名字盖住自己的名字:修了】
670
+ 两个人站在一起时,队友头上的名字以前总是画在你自己的名字上面。
671
+ 之前已经把队友的人物挪到了你自己人物的稍后面一点,名字当时漏了,现在名字也挪到同一个深度。
672
+
673
+ * 【队友的人物颜色比自己的浅:修了】
674
+ 有的房间在某些区域会给角色统一染上一层色调(比如偏暗)。
675
+ 游戏靠角色走进这些区域来发现要染谁,而队友的人物为了不触发机关,放在区域发现不了的层上,
676
+ 所以一直是原色,看起来比你自己的人物浅。
677
+ 现在你自己的人物染色变化时,队友的人物跟着一起变(渐变也一样),站在一起时颜色相同。
678
+ 两个人在同一房间的不同区域时,队友的人物用的是你所在区域的色调。
679
+
680
+ * 【有一场 boss 战的落石两边对不上:先修这一处】
681
+ boss 下令落石以后,落哪块石头、落在哪、隔多久、下落多快,以前是两边游戏各掷各的骰子,
682
+ 所以两个人看到的落石不一样:你这边砸空的石头,队友那边可能正砸在身上。
683
+ 现在落石的随机部分只在房间主机的游戏里掷:落哪块、落在哪、什么角度、多快、转多快,
684
+ 这些都在石头出发的那一刻定下。出发那一刻的结果传给另一个人,之后两边各自让石头往下落,
685
+ 下落本身没有任何随机,所以两边落的一样;网络卡住时石头也照样往下落,不会停在半空。
686
+ 下落途中主机也不再每帧发石头的位置:一块石头只发「出发」和「停下」两条小消息,网络更轻。
687
+ 另一个人看到的落石和 boss 本身一样,有一点网络延迟。
688
+ 石头砸中另一个人时,那一边先扣血、石头当场炸开,再告诉房间主机,主机那边的石头也炸开消失。
689
+ 同类的东西也改成了一样的做法:随机数归房间主机,飞行归各自的游戏按原本的规则去跑。
690
+ 包括另外两种直线落下的机关、越落越快的滚石、落地会弹起来的钟铃。
691
+ 它们的加速和重力在两边每个物理步都一模一样地算,所以落点一致;落地、弹起这种「转折」仍由主机决定:
692
+ 每碰到一次东西,主机补发一条小消息,告诉另一边碰完之后怎么走。
693
+ 其他房间里类似的随机机关还没有改,之后一类一类地改。
694
+ 这一条改了同步的名单和数据格式,两个人都要装这一版。
695
+
696
+ * 【有一场 boss 战的飞针两边对不上:修了】
697
+ 以前这些飞针从哪里、以什么角度、按什么先后射出,都是两边游戏各掷各的骰子,
698
+ 而且各自只瞄准自己游戏里的人物,所以两个人看到的飞针完全不一样。
699
+ 现在和落石一样:随机的部分只在房间主机的游戏里掷,针一出发就把位置、角度和速度传给另一个人,
700
+ 之后两边各自让针飞,飞行途中不发位置。
701
+ 瞄准的是 boss 当时正盯着的那个人(以前房间主机那边永远瞄准房间主机自己)。
702
+ 跟这些飞针配套、散在场地里的针也改成了同一个做法,两边看到的是同一根针在做同一件事。
703
+ 以后凡是 boss 发动、要瞄准玩家的机关,都按这个规则瞄 boss 正盯着的人;玩家自己的动作不受影响。
704
+
705
+ * 【有的怪判断「玩家在哪一边」时只看房间主机:修了】
706
+ 不少怪(包括几个 boss)会看玩家在某条线的左边还是右边,来决定下一招往哪边打。
707
+ 以前这一步看的永远是房间主机自己的人物,现在看的是这只怪正盯着的那个人。
708
+
709
+ * 【有一种从屏幕顶上落下的滚石,只按房间主机的屏幕落:修了】
710
+ 有一场 boss 战里,有一种滚石是从屏幕顶上落下来的。以前这个「屏幕」永远是房间主机自己的屏幕,
711
+ boss 盯着另一个人、两个人又一高一低时,石头会从主机的屏幕上方落下,在另一个人那边可能凭空出现在半空。
712
+ 现在按 boss 正盯着的那个人来估算:以那个人的位置为镜头中心,再像游戏自己那样把镜头限制在房间边界之内。
713
+ 那个人抬头、低头看的时候,真实的镜头还会再偏一点,这一点没有算进去。
714
+
715
+ * 【房间主机中途离开时,接手的一方有的怪和机关会卡住:修了】
716
+ 房间主机离开后,另一个人的游戏会接手房间里正在进行的一切,每只怪从它当时所处的状态接着跑。
717
+ 以前接手时,状态里只保留少数几种「持续进行」的动作,碰撞检测、逐步加速和减速都会被丢掉,
718
+ 于是正在冲撞的怪撞墙后可能不停,正在下落或飞行的东西可能停在半空。现在这几种动作也会保留(两百多种怪用到)。
719
+ 自己会飞的东西(落石、飞针这类)接手时还会带上当时的速度、重力和角度,从半空接着飞。
720
+
721
+ * 【房间客机那边,很多怪的复制品会被错误地加上重力:修了】
722
+ 很多怪会在自己的状态机里把自己从所在的分组里拿出来。
723
+ 以前为了让怪放下的东西能落地,加过一条「被放出来的东西恢复自己的物理」,但它把怪自己也算了进去:
724
+ 房间客机那边这些怪的复制品变成了受重力、带碰撞的物体,而复制品的位置本来只该由网络决定。
725
+ 重力攒下的速度从不清零,可能表现为这些怪在房间客机那边偶尔往下抖一下,或贴着地形时被推开一点。
726
+ 现在只有真正被放出来的东西才恢复物理,怪自己的复制品保持只听网络的。
727
+
728
+ * 【有的任务线索,房间客机那边可能查看不了:修了】
729
+ 有一类要蹲下查看、再顺着痕迹去找的线索,名字里带着某种怪的名字,
730
+ 模组就把它们当成了那种怪,交给房间主机的游戏去跑。房间客机那边看到的只是复制品,查看了也没反应。
731
+ 现在这些线索不再被当成怪,两个人各自在自己的游戏里查看。
732
+
733
+ * 【打中由房间主机运行的东西时,「叮」的那一下只算在自己这边:修了】
734
+ 有的东西被打中时只是「叮」一声、不掉血,却会因此改变动作:会落下来的钟被打偏,带盾的怪挡住以后反击。
735
+ 这些东西里,有的只在房间主机的游戏里运行,另一个人那边看到的是复制品。以前另一个人打中复制品,
736
+ 只有自己这边「叮」一声、自己被弹开,房间主机那边的钟照样往下落,怪也不知道自己挡过一下。
737
+ 现在这一下会转给房间主机,两边的钟一起被打偏,怪一起反应。
738
+ 钟这种自己会飞的东西,打的人这边当场就被打飞,不用等消息。房间主机那边以打的人打中的位置为准,
739
+ 再补上消息路上耽误的那一小段,所以那边会看到钟跳一下,跳到它在打的人那边正飞到的地方,再接着飞。
740
+ 带盾的怪这类要改动作的,打的人那边还是要等消息走一个来回(大约零点二到零点三秒)才看到反应。
741
+
742
+ * 【房间里「叮」一下就会动的东西,以前只在打的那个人那边动:修了】
743
+ 房间里有上千个东西被「叮」到时会改变状态:挂着的钟被往上打飞、地雷被打坏、机关被敲响、平台晃动等。
744
+ 以前「叮」只算打的人自己的(火花和把人弹开本来就是各自的),另一个人那边的东西完全没反应。
745
+ 现在打的人那边的东西动了,这一下就发给另一个人,那边的同一个东西做同样的反应。
746
+ 只有火花、把人弹开这类的「叮」,仍然各自算各自的。
747
+
748
+ * 【机关和被打中的东西,随机的部分两边不一样:改成谁触发谁掷骰子】
749
+ 地雷弹出时的翻转、角度和落点,钟被往上打飞时的角度,以及其他机关在触发那一刻掷的骰子,以前两边各掷各的,
750
+ 所以同一个地雷在两个人那边落在不同的地方。
751
+ 现在机关被谁走近、东西被谁打中,就在谁的游戏里掷骰子,骰子跟着「触发了」「打中了」的消息一起发给另一个人,
752
+ 那边用同一副骰子,所以结果一样。每一个掷骰子的动作开始前都记一次,中间音效之类多掷少掷也不会错开。
753
+ 只管触发那一刻当场掷的;过一会儿才掷的(比如钟落地几秒后复位时换的样子)仍然各掷各的。
754
+ 两个人几乎同时(零点一秒以内)触发同一个机关时,两边会各用自己的骰子。
755
+ 另一个人那边收到消息时,正在落的钟已经多落了一点,所以被打飞的起点会略低一些。
756
+
757
+ * 【跳蚤小游戏:都要两个人一起开;下劈/飞针那个改成各玩各的;另外两个,不是房间主机的一方打跳蚤、得分、被撞都接上了】
758
+ - 三个游戏都不能一个人开了,和开始比赛一样:两个人都要各自去跟主持游戏的跳蚤说话、在同一个游戏选「是」,
759
+ 才会一起开始。先选的人会停在选项上等对方,最多 20 秒;选「否」就可以收回。下劈/飞针那个也一样,
760
+ 一起开始以后各玩各的。
761
+ - 下劈/飞针那个:以前两个人用的是同一批跳蚤,一个人踩掉一只,另一个人就少一只能落脚的,很快就掉下去。
762
+ 现在两边各出各的跳蚤:各自的游戏给自己放跳蚤,对方看不见;得分、难度、存分都和一个人玩时一样,
763
+ 对方的攻击也碰不到你的跳蚤。所以你会看到对方在踩一些你看不见的跳蚤。
764
+ - 另外两个还是两个人用同一批跳蚤,由房间主机的游戏放出来。以前不是房间主机的一方打中跳蚤,
765
+ 只有自己这边「叮」一声,主机那边的跳蚤没反应;分也是按自己「叮」的次数记的,有一个游戏根本记不对。
766
+ 现在这一下和打怪、打钟一样转给房间主机,两边的跳蚤一起反应。得分和跳蚤掉地算的失败,
767
+ 都由主机那边的跳蚤说了算,再照样传给另一个人:分是两个人一起的,谁打中的、谁躲过去的,两个人各加一分。
768
+ 不是房间主机的一方,分要等消息去主机再回来才跳。
769
+ - 要把跳蚤一直打在空中、不让它落地的那个游戏:以前不是房间主机的一方打中跳蚤,要等消息去主机再回来
770
+ 它才弹起,这段时间它还在往下掉,看起来像穿过了你的攻击。现在它在你自己的游戏里当场弹起来:
771
+ 往哪儿飞、飞多高由你这边掷的骰子定,主机那边照着同样的骰子让它飞同一条路,中途出现的东西也一样。
772
+ 分还是等主机那边算过才跳。要是对方几乎同时也打中了同一只,或者你打得太晚、主机那边它其实已经落地了,
773
+ 都以主机那边为准,你这边的跳蚤会回到主机那边的样子。
774
+ - 这两个游戏的跳蚤是房间主机的游戏放的,所以主机一起玩过、这一局结束以后,另一个人的这一局也跟着结束,
775
+ 分照常存下。
776
+ - 会撞人的那个游戏:以前不是房间主机的一方根本不会被撞到。现在被撞在各自的游戏里当场算:
777
+ 你看到的东西碰到你,你就被撞开,不等消息来回;往哪边撞跟着它飞的方向,越撞越累、撞得越远也按你自己的算。
778
+ 对方被撞不影响你。
779
+ - 同一个游戏里,以前两边的平台各升各降,两个人站的平台高低对不上;中途出现的其他东西也是两边各出各的。
780
+ 现在这些都听房间主机那边的:另一个人那边的平台还在自己游戏里照常动,只是按主机的指令动,会晚一点点;
781
+ 中途出现的东西由主机的游戏放出来,两边看到的是同一个,它要瞄人时,每次在你们两个里随机挑一个;
782
+ 另一个人这一局已经结束了,就只瞄还在玩的人。
783
+ - 另一个共享的游戏中途出现的东西,以前也是两边各出各的;现在和跳蚤一样由房间主机的游戏放出来,
784
+ 谁打中都转给主机。
785
+
786
+ ※ 以上六十条【没有实机验证过】。
647
787
 
648
788
  * 聊天框默认按 Y 打开,打 /help 可以看到所有指令。
649
789
 
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # silksong-coop-mod 0.4.43
1
+ # silksong-coop-mod 0.4.44
2
2
 
3
3
  The files a player needs to install a two-player co-op build of **SSMP**, packaged so they can be fetched from
4
4
  a mirror that is reachable inside mainland China. This is not a Node library: nothing here is imported or run
@@ -14,4 +14,4 @@ The BepInEx loader is included, so the install needs no network access at all.
14
14
 
15
15
  The multiplayer mod is the work of [Extremelyd1](https://github.com/Extremelyd1/SSMP). This is a modified copy
16
16
  that adds a shared two-player save; please do not take questions about it to the original author. Distributed
17
- under the GNU LGPL 2.1 - see `LICENSE`. Built from https://github.com/Candy-649/SSMP at `ef5a69d`.
17
+ under the GNU LGPL 2.1 - see `LICENSE`. Built from https://github.com/Candy-649/SSMP at `42e8da7`.
package/SSMP/SSMP.dll CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "silksong-coop-mod",
3
- "version": "0.4.43",
3
+ "version": "0.4.44",
4
4
  "description": "Offline installer payload for a two-player co-op build of the SSMP Silksong multiplayer mod. Not a Node library.",
5
5
  "license": "LGPL-2.1-or-later",
6
6
  "author": "Candy-649 (https://github.com/Candy-649)",