From a77c0e2360b72ca405a7d4c4bc0b7810926f11a4 Mon Sep 17 00:00:00 2001 From: shangfengh <3495281661@qq.com> Date: Sun, 21 May 2023 00:59:26 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20:memo:=20edit=20=E6=B8=B8=E6=88=8F?= =?UTF-8?q?=E6=9C=BA=E5=88=B6=E4=B8=8E=E5=B9=B3=E8=A1=A1=E6=80=A7=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E6=9B=B4=E6=96=B0(=E5=9F=BA=E6=9C=AC=E4=B8=8D?= =?UTF-8?q?=E5=8F=98=E7=89=88).md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...与平衡性调整更新(基本不变版).md | 6 +++--- docs/版本更新说明.md | 7 ++++++- logic/GameClass/GameObj/Bullet/Bullet.Ghost.cs | 3 ++- logic/GameClass/GameObj/Character/Character.cs | 1 - logic/Gaming/AttackManager.cs | 15 ++++++--------- 5 files changed, 17 insertions(+), 15 deletions(-) diff --git a/docs/游戏机制与平衡性调整更新(基本不变版).md b/docs/游戏机制与平衡性调整更新(基本不变版).md index 52ee821..5deb47e 100644 --- a/docs/游戏机制与平衡性调整更新(基本不变版).md +++ b/docs/游戏机制与平衡性调整更新(基本不变版).md @@ -20,7 +20,7 @@ - 增强为“可以攻击未写完的作业” - 增强为“可以攻击使门被打开(可以重新被锁上)” - 小炸弹JumpyDumpty - - 攻击距离改为1600 + - 攻击距离改为1800 - 小炸弹不受道具增益影响 - 修改为“小炸弹与自己无碰撞体积” - strike(新增) @@ -30,7 +30,7 @@ | 攻击(子弹)类型 |搞蛋鬼的一般攻击CommonAttackOfTricker|飞刀FlyingKnife | 蹦蹦炸弹BombBomb | 小炸弹JumpyDumpty | strike | | :--------------------- | :---------------------| :--------------------- | :--------------------- | :--------------------- | :--------------------- | | 子弹爆炸范围 | 0 | 0 | 2000 | 1000 | 0 | -| 子弹攻击距离 | 2200 | 78000 | 2200 | 1600 | 2000 | +| 子弹攻击距离 | 2200 | 78000 | 2200 | 1800 | 2000 | | 攻击力 | 1500000 | 1200000 | 1800000 | 900000 | 1600000 | | 移动速度/s | 7400 | 18500 | 6000 | 8600 | 6250 | | 前摇(ms) | 297 | 600 | 366 | - | 320 | @@ -109,7 +109,7 @@ - CD:45s, 持续时间:10s - 技能使用瞬间,对于输入的额外参数PlayerID代表的角色,距离最近的本已停止运动的小炸弹开始追踪该角色(每100ms向该角色直线移动)(该角色无血量则失败) - 主动技能 蹦蹦炸弹 JumpyBomb - - 当蹦蹦炸弹因为碰撞而爆炸,向子弹方向上加上0°,45°,90°,135°,180°,225°,270°,315° 发出8个小炸弹 + - 当蹦蹦炸弹因为碰撞而爆炸,向子弹方向上加上90°,120°,150°,180°,210°,240°,270° 发出7个小炸弹 - Idol 主动技能ShowTime改为 "持续时间内 diff --git a/docs/版本更新说明.md b/docs/版本更新说明.md index ea76265..5a030d7 100644 --- a/docs/版本更新说明.md +++ b/docs/版本更新说明.md @@ -59,5 +59,10 @@ # 5月20日23:30更新 - fix:修复了学习已经完成的作业会卡死的问题 +# 5月21日0:30更新 +- fix:修复了游戏结束判定的bug +- fix:修复了死亡状态设置的bug + # 5月21日更新 -- fix:修复了游戏结束判定的bug \ No newline at end of file +- docs:更新了 游戏机制与平衡性调整更新(基本不变版).pdf + - Klee小炸弹的攻击范围与放射方向调整 \ No newline at end of file diff --git a/logic/GameClass/GameObj/Bullet/Bullet.Ghost.cs b/logic/GameClass/GameObj/Bullet/Bullet.Ghost.cs index 9aa78ce..590c8d5 100644 --- a/logic/GameClass/GameObj/Bullet/Bullet.Ghost.cs +++ b/logic/GameClass/GameObj/Bullet/Bullet.Ghost.cs @@ -158,6 +158,7 @@ namespace GameClass.GameObj public override BulletType TypeOfBullet => BulletType.BombBomb; } + internal sealed class JumpyDumpty : Bullet { public JumpyDumpty(Character player, XY pos, int radius = GameData.bulletRadius) : base(player, radius, pos) @@ -165,7 +166,7 @@ namespace GameClass.GameObj ap = (int)(GameData.basicApOfGhost * 0.6); } public override double BulletBombRange => GameData.basicBulletBombRange / 2; - public override double AttackDistance => GameData.basicAttackShortRange * 16 / 22; + public override double AttackDistance => GameData.basicAttackShortRange * 18 / 22; public override int Speed => (int)(GameData.basicBulletMoveSpeed * 43 / 37); public override bool IsRemoteAttack => false; diff --git a/logic/GameClass/GameObj/Character/Character.cs b/logic/GameClass/GameObj/Character/Character.cs index fc7058c..88940f2 100644 --- a/logic/GameClass/GameObj/Character/Character.cs +++ b/logic/GameClass/GameObj/Character/Character.cs @@ -595,7 +595,6 @@ namespace GameClass.GameObj lock (actionLock) { if (!TryToRemove()) return false; - Debugger.Output(this, "TryToRemove"); ReSetCanMove(false); SetPlayerState(playerStateType); position = GameData.PosWhoDie; diff --git a/logic/Gaming/AttackManager.cs b/logic/Gaming/AttackManager.cs index a8ade02..3f7787b 100644 --- a/logic/Gaming/AttackManager.cs +++ b/logic/Gaming/AttackManager.cs @@ -52,9 +52,8 @@ namespace Gaming private void BombObj(Bullet bullet, GameObj objBeingShot) { -#if DEBUG Debugger.Output(bullet, "bombed " + objBeingShot.ToString()); -#endif + switch (objBeingShot.Type) { case GameObjType.Character: @@ -122,12 +121,11 @@ namespace Gaming private void BulletBomb(Bullet bullet, GameObj? objBeingShot) { -#if DEBUG if (objBeingShot != null) Debugger.Output(bullet, "bombed with" + objBeingShot.ToString()); else Debugger.Output(bullet, "bombed without objBeingShot"); -#endif + if (!TryRemoveBullet(bullet)) return; if (bullet.BulletBombRange == 0) @@ -155,14 +153,13 @@ namespace Gaming if (bullet.TypeOfBullet == BulletType.BombBomb && objBeingShot != null) { - ProduceBombBomb(bullet, 0); - ProduceBombBomb(bullet, Math.PI / 4); ProduceBombBomb(bullet, Math.PI / 2); - ProduceBombBomb(bullet, Math.PI * 3 / 4); + ProduceBombBomb(bullet, Math.PI * 2 / 3); + ProduceBombBomb(bullet, Math.PI * 5 / 6); ProduceBombBomb(bullet, Math.PI); - ProduceBombBomb(bullet, Math.PI * 5 / 4); + ProduceBombBomb(bullet, Math.PI * 7 / 6); + ProduceBombBomb(bullet, Math.PI * 4 / 3); ProduceBombBomb(bullet, Math.PI * 3 / 2); - ProduceBombBomb(bullet, Math.PI * 7 / 4); } var beAttackedList = new List();