Skip to content

워크 능력 추가#10

Open
FlyingRagdoll wants to merge 11 commits into
RandomGameMode:masterfrom
FlyingRagdoll:master
Open

워크 능력 추가#10
FlyingRagdoll wants to merge 11 commits into
RandomGameMode:masterfrom
FlyingRagdoll:master

Conversation

@FlyingRagdoll

Copy link
Copy Markdown

@GoldenPig1205

Copy link
Copy Markdown
Contributor

발리스타 MP3의 이름을 굳이 변경하고 벽 통과 능력을 삭제한 이유가 무엇입니까?

@FlyingRagdoll

Copy link
Copy Markdown
Author

일단 이름은, 능력 제거 능력을 추가했을 때 그 능력에 초점을 맞추기 위해 바꿨습니다. 애초에 발리스타 mp3의 의미가 뭔지 이해를 잘 못했고, 이름은 별로면 복구하거나 바꿀 생각은 있습니다. 그리고 벽 통과 능력 삭제는 의도하지 않았습니다. Trygetlookplayer로 다 되는 것 같던데. 원래 발리스타를 좀 바꾼 거라서 아마 작동할 텐데 혹시 안되나요?

@babycatoffical

Copy link
Copy Markdown
Contributor

저는 워크스테이션 업그레이드가 아닌 다른 기능을 수정하지만 해당 코드에 대하여 메시지를 남길 수 있습니다.

// (...생략)
if (ABattle.Instance.PlayerAbilities[player].Count <= 0 || !ABattle.Instance.PlayerAbilities.ContainsKey(player))
   player.Hit(ev.Player, player.MaxHealth * 5);

해당 코드의 경우, player.Hit(); 메서드가 있어 데미지가 들어갑니다.

문제의 코드

 else
 {
    if (Random.Range(1, 11) <= 9)
    {
       player.DisableAllEffects();
       player.RemoveAllAbilities();

       ABattle.Instance.PlayerWorkstations[player].Clear();
       ABattle.Instance.PlayerAbilities[player].Clear();
    }
}
// (...생략)

해당 코드의 경우, player.Hit(); 메서드가 있지 않아 데미지가 들어가지 않습니다.
이로 인하여 대상 플레이어가 능력이 있을 경우, 데미지가 들어가지 않을 수 있음을 짐작할 수 있습니다.

if (HitboxIdentity.IsEnemy(ev.Player.ReferenceHub, player.ReferenceHub))
{
if (ABattle.Instance.PlayerAbilities[player].Count <= 0 || !ABattle.Instance.PlayerAbilities.ContainsKey(player))
player.Hit(ev.Player, player.MaxHealth * 5);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Player의 최대체력의 5배만큼 데미지를 준다는 점으로 인해, SCP일 시 즉사 가능성이 있습니다.
따라서 밑의 로직인 player.Hit(ev.Player, 500f);이 더 나을 듯 합니다

@babycatoffical babycatoffical Jun 7, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

인간 개체를 염두하여 설계한 것 같아 얼핏 보기에는 문제가 없지만...
player.MaxHealth는 플레이어의 최대체력(Custom 허용)을 가져오므로, SCP의 즉사(가능성) 를 시켜버릴 수 있습니다.

@GoldenPig1205

Copy link
Copy Markdown
Contributor

파일과 능력 이름을 바꾸지 마십시오. "발리스타 MP3"의 이름과 파일명만 유지하되 기능만 수정하는 것을 추천드립니다.
"파괴 탄환"이라는 이름은 신화 능력에 걸맞은 느낌을 주지 않습니다.

요약하자면 제 마음에 안 드니 제 요청이 마음에 안 드신다면 무시하거나 설득하십시오.

@FlyingRagdoll

FlyingRagdoll commented Jun 8, 2026

Copy link
Copy Markdown
Author

알겠습니다. 솔직히 저도 이름이 좀 구리다고 생각하긴 했어요. 능력 삭제도 이미 충분히 강력하니 데미지 1200으로 다시 바꿀게요.
그리고 즉사는 의도했습니다. 너무 사기여서 1200으로 바꾸는게 맞을지도 몰라요.

@FlyingRagdoll

Copy link
Copy Markdown
Author

했는데 깃헙에서 직접 수정한 것도 있고 VS에서 수정한 것도 있어서 뭔가 꼬여 있을 수 있습니다. 깃헙에서 파일 이름 바꾸는 법은 몰라서 그냥 삭제 후 다시 추가했고, 그래서 지금 대조를 못 합니다. 제 눈에는 정상적인 것 같은데 이상한 부분 있으면 말씀해주시길 바랍니다.


namespace RGM.Modes.Abilities.Mythic;

[Ability("발리스타 MP3", "10초마다 탄약이 하나 추가되고, 능력을 삭제하며, 벽을 관통하고, 1200 데미지를 입히는 입자 분열기를 받습니다. 투시 능력을 얻습니다. (사거리 75)", AbilityCategory.Mythic, AbilityType.MYTHIC_BALLISTAEM3)]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

90%로 삭제하는 메시지가 존재하지 않아, 플레이어들이 처음 이 버전을 접했을 때 이해하기 힘들 수 있습니다.
따라서 90%로 상대 유저의 모든 능력을 삭제한다는 메시지를 추가하는 것이 나을 듯 합니다.

@FlyingRagdoll

FlyingRagdoll commented Jun 9, 2026

Copy link
Copy Markdown
Author

인벤토리 아이템도 삭제하는 것은 어떻습니까? OnDisabled()에서 아이템 능력(갈고리, 우유 등)이 삭제되는게 있고 안 되는 것도 있나요?
아 라운드 끝날 때 되는 거구나

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants