diff --git a/README.md b/README.md index aaa8db3..95c7108 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ ICollect-Alpha 是一个使用 [Carpet 脚本](https://github.com/gnembon/fabric 3. 每10分钟会有一个投票环节,投票为一人一票,不记名,投票后不可撤销。所有玩家都可以把票投给一个自己怀疑是狼人的玩家,票数最高者出局。可以投弃权票,如果票数最高者有多人得票数相同,或票数最高者得票数不严格多于弃权票数量,则该轮投票无人出局。 4. 如果好人阵营没能在规定时间内完成收集任务,则坏人阵营获胜。反之,如果好人阵营成功完成6个物品的收集,则好人阵营获胜。 5. 每个玩家只有一条生命,被杀死、票死或者因为环境而死的玩家将变成旁观者模式。在准备阶段内死亡不会变成旁观者,而是会正常复活。 -6. 游戏过程中,玩家获得持续的生命回复II和伤害吸收III(每20秒更新一次状态效果为30秒)。 +6. 游戏过程中,玩家获得持续的生命回复II和伤害吸收III(每10秒更新一次状态效果为20秒)。 【望远镜的特殊能力】 @@ -26,7 +26,7 @@ ICollect-Alpha 是一个使用 [Carpet 脚本](https://github.com/gnembon/fabric 3. 建筑烟花:发射在其下方生成道路的烟花火箭(道路建筑材料为 _石化橡木台阶_)。 【指令使用】 -1. `/ica`:列出物品收集目标和时限信息 +1. `/ica`:列出物品收集目标、时限和玩家信息 2. `/ica submit `:递交一个目标要求的物品 3. `/ica me`:查看自己的身份 4. `/ica seed`:查看地图种子 diff --git a/src/ica-admin.sc b/src/ica-admin.sc index 16ef755..9c39ca7 100644 --- a/src/ica-admin.sc +++ b/src/ica-admin.sc @@ -2,6 +2,7 @@ __config() -> { 'scope' -> 'global', 'command_permission' -> 'ops', 'commands' -> { + '' -> 'cmdList', 'list' -> 'cmdList', 'confirm' -> 'cmdStart', 'reset' -> 'cmdResetClear' @@ -9,9 +10,8 @@ __config() -> { }; import('ica-libs', 'shuffleList', 'countCareer', 'playerListNbt' - , 'findVoteMax', 'resetVotes', 'getFirstUnsetGoal', 'useIcaInstead' - , 'startedReject'); -import('ica-i18n', 'getLocaleKey'); + , 'findVoteMax', 'resetVotes', 'getFirstUnsetGoal'); +import('ica-i18n', 'getLocaleKey', 'useIcaInstead', 'startedReject'); __on_start() -> ( if(nbt_storage('ica:data'):'Goals' == null, ( @@ -303,5 +303,5 @@ cmdStart() -> ( cmdList() -> ( useIcaInstead(); - run('/ica'); + run('/ica list'); ); diff --git a/src/ica-effect-applier.sc b/src/ica-effect-applier.sc index 0cbf8c1..5989a45 100644 --- a/src/ica-effect-applier.sc +++ b/src/ica-effect-applier.sc @@ -10,11 +10,13 @@ __config() -> { }, }; +import('ica-i18n', 'getLocaleKey'); + getStatus() -> ( if(global_enabled, ( - print('effect-applier: on') + print(getLocaleKey('effect-applier.on')); ), ( - print('effect-applier: off') + print(getLocaleKey('effect-applier.off')); )) ); diff --git a/src/ica-i18n.sc b/src/ica-i18n.sc index 3e63e50..8ccffec 100644 --- a/src/ica-i18n.sc +++ b/src/ica-i18n.sc @@ -137,6 +137,9 @@ global_TranslateKeysEnUS = { 'misc.clipboard' -> 'Click To Copy', + 'effect-applier.on' -> 'effect-applier status: enabled.', + 'effect-applier.off' -> 'effect-applier status: disabled.', + 'license.header' -> 'ICollect-Alpha, Copyright (C) 2023 方而静\nICollect-Alpha comes with ABSOLUTELY NO WARRANTY;\nfor details type \'/ica-loader show w\'.\nThis is free software, and you are welcome to redistribute it\nunder certain conditions; type \'/ica-loader show c\' for details.' }; @@ -146,7 +149,7 @@ getLocaleKey(keyid) -> ( useIcaInstead() -> ( print(format('d ' + getLocaleKey('hint.instead.before') - , 'mb /ica', '?/ica' + , 'mb /ica list', '?/ica list' , 'd ' + getLocaleKey('hint.instead.after'))); ); diff --git a/src/ica-settings.sc b/src/ica-settings.sc index f254786..817e742 100644 --- a/src/ica-settings.sc +++ b/src/ica-settings.sc @@ -2,6 +2,7 @@ __config() -> { 'scope' -> 'global', 'command_permission' -> 'ops', 'commands' -> { + '' -> 'cmdList', 'list' -> 'cmdList', 'set ' -> 'cmdSet', 'add ' -> 'cmdSetAppend', @@ -23,7 +24,7 @@ import('ica-libs', 'countCareer', 'getFirstUnsetGoal'); cmdList() -> ( useIcaInstead(); - run('/ica'); + run('/ica list'); ); cmdSet(slot_id, goal_item_tuple) -> ( diff --git a/src/ica-vote.sc b/src/ica-vote.sc index 2f1e805..2b77818 100644 --- a/src/ica-vote.sc +++ b/src/ica-vote.sc @@ -17,11 +17,11 @@ __config() -> { }; import('ica-libs', 'listContain', 'countVotes', 'findVoteMax', 'countAbstainVotes'); -import('ica-i18n', 'getLocaleKey'); +import('ica-i18n', 'getLocaleKey', 'pendingReject'); cmdInfo() -> ( if(!nbt_storage('ica:data'):'Started', ( - print(format(getLocaleKey('reject.pending'))); + pendingReject(); return(false) )); cand_names = parse_nbt(nbt_storage('ica:voting'):'Candidates'); @@ -57,7 +57,7 @@ cmdInfo() -> ( beforeVoteChecks() -> ( if(!nbt_storage('ica:data'):'Started', ( - print(format(getLocaleKey('reject.pending'))); + pendingReject(); return(false) )); myself = player(); diff --git a/src/ica.sc b/src/ica.sc index a9e1c04..6097765 100644 --- a/src/ica.sc +++ b/src/ica.sc @@ -1,6 +1,6 @@ __config() -> { 'commands' -> { - '' -> 'cmdList', + '' -> 'cmdAllInfo', 'list' -> 'cmdList', 'submit ' -> 'cmdSubmit', 'refill' -> 'cmdRefill', @@ -273,7 +273,19 @@ cmdListPalyer() -> ( && query(p, 'has_scoreboard_tag', 'ica.wolf'), ( put(fcomp, null, ' ' + getLocaleKey('ps.wolf')); )); + if(me != p && query(me, 'has_scoreboard_tag', 'ica.coordinator') + && !query(p, 'has_scoreboard_tag', 'ica.deceased'), ( + put(fcomp, null, 'mb ' + getLocaleKey('ps.button.locate')); + put(fcomp, null, '!/ica locate ' + _); + )); )); print(format(fcomp)); )); ); + +cmdAllInfo() -> ( + if(nbt_storage('ica:data'):'Started', ( + cmdListPalyer(); + )); + cmdList(); +);