From 3370ba5d0fed5a48856b0b0e8e72319366c64167 Mon Sep 17 00:00:00 2001 From: wxhn1225 <45218021+wxhn1225@users.noreply.github.com> Date: Sun, 12 Oct 2025 09:01:22 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E8=8A=82=E7=82=B9=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E7=AD=89=E7=BA=A7=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Scripts/RegionNameMapping.pluto | 686 ++++++++++++++++++++++++++ Scripts/敌人生成.pluto | 3 + Scripts/自定义节点等级.pluto | 73 +++ Tools/generate_region_name_mapping.py | 120 +++++ 4 files changed, 882 insertions(+) create mode 100644 Scripts/RegionNameMapping.pluto create mode 100644 Scripts/自定义节点等级.pluto create mode 100644 Tools/generate_region_name_mapping.py diff --git a/Scripts/RegionNameMapping.pluto b/Scripts/RegionNameMapping.pluto new file mode 100644 index 0000000..591f1f3 --- /dev/null +++ b/Scripts/RegionNameMapping.pluto @@ -0,0 +1,686 @@ +-- 星图节点中文名称映射 +-- 自动生成,请勿手动编辑 +-- 生成工具: Tools/generate_region_name_mapping.py + +return { + ["Abaddon"] = "SolNode203", + ["Acheron"] = "SolNode4", + ["Adaro"] = "SolNode181", + ["Adrastea"] = "SolNode88", + ["Akkad"] = "ClanNode18", + ["Alator"] = "SolNode106", + ["Amalthea"] = "SolNode97", + ["Amarna"] = "ClanNode14", + ["Ananke"] = "SolNode73", + ["Anthe"] = "SolNode31", + ["Aphrodite"] = "SolNode2", + ["Apollo"] = "SolNode308", + ["Apollodorus"] = "SolNode94", + ["Ara"] = "SolNode45", + ["Ares"] = "SolNode113", + ["Ariel"] = "SolNode33", + ["Armaros"] = "SolNode204", + ["Arval"] = "SolNode41", + ["Assur"] = "ClanNode17", + ["Augustus"] = "SolNode16", + ["Baal"] = "SolNode205", + ["Berehynia"] = "SolNode185", + ["Bode"] = "SolNode132", + ["Boethius"] = "SolNode223", + ["Brugia"] = "SolNode153", + ["Caelus"] = "SolNode907", + ["Caliban"] = "SolNode60", + ["Callisto"] = "SolNode25", + ["Caloris"] = "SolNode119", + ["Calypso"] = "SolNode82", + ["Cambria"] = "SolNode79", + ["Cameria"] = "ClanNode5", + ["Caracol"] = "ClanNode12", + ["Carme"] = "SolNode74", + ["Carpo"] = "SolNode121", + ["Cassini"] = "SolNode70", + ["Casta"] = "SolNode149", + ["Cerberus"] = "SolNode43", + ["Cervantes"] = "SolNode75", + ["Charybdis"] = "SolNode196", + ["Cholistan"] = "ClanNode7", + ["Cinxia"] = "SolNode147", + ["Circulus"] = "SolNode310", + ["Coba"] = "ClanNode2", + ["Copernicus"] = "SolNode304", + ["Cressida"] = "SolNode83", + ["Cypress"] = "SolNode56", + ["Cytherean"] = "SolNode23", + ["Dakata"] = "SolNode746", + ["Desdemona"] = "SolNode98", + ["Despina"] = "SolNode6", + ["Dione"] = "SolNode67", + ["Dirus"] = "SolNode709", + ["Draco"] = "SolNode146", + ["E Gate"] = "SolNode128", + ["E Prime"] = "SolNode27", + ["Elara"] = "SolNode100", + ["Elion"] = "SolNode12", + ["Enceladus"] = "SolNode19", + ["Erpo"] = "SolNode903", + ["Eurasia"] = "SolNode59", + ["Everest"] = "SolNode39", + ["Exequias"] = "SolNode713", + ["Exta"] = "SolNode144", + ["Formido"] = "SolNode710", + ["Fossa"] = "SolNode104", + ["Gabii"] = "ClanNode23", + ["Gaia"] = "SolNode85", + ["Galatea"] = "SolNode1", + ["Galilea"] = "SolNode905", + ["Ganymede"] = "SolNode87", + ["Garus"] = "SolNode748", + ["Gradivus"] = "SolNode65", + ["Grimaldi"] = "SolNode301", + ["Gulliver"] = "SettlementNode11", + ["H-2 星云"] = "CrewBattleNode554", + ["Hades"] = "SolNode51", + ["Helene"] = "SolNode42", + ["Hellas"] = "SolNode58", + ["Hieracon"] = "ClanNode25", + ["Horend"] = "SolNode706", + ["Hydra"] = "SolNode76", + ["Hydron"] = "SolNode195", + ["Hyf"] = "SolNode707", + ["Iliad"] = "SettlementNode20", + ["Io"] = "SolNode125", + ["Ishtar"] = "SolNode61", + ["Isos"] = "SolNode162", + ["Jordas 魔像 刺杀"] = "SolNode701", + ["Kadesh"] = "ClanNode8", + ["Kala-azar"] = "SolNode164", + ["Kappa"] = "SolNode177", + ["Keeler"] = "SolNode93", + ["Kelashin"] = "ClanNode21", + ["Kelpie"] = "SolNode188", + ["Kepler"] = "SettlementNode10", + ["Ker"] = "SolNode141", + ["Kiliken"] = "SolNode101", + ["Kiste"] = "SolNode140", + ["Kokabiel"] = "SolNode220", + ["Koro"] = "SolNode741", + ["Kronia 中继站"] = "SaturnHUB", + ["Laomedeia"] = "SolNode118", + ["Lares"] = "SolNode130", + ["Larissa"] = "SolNode49", + ["Larunda 中继站"] = "MercuryHUB", + ["Larzac"] = "ClanNode6", + ["Lex"] = "SolNode139", + ["Linea"] = "SolNode109", + ["Lith"] = "SolNode26", + ["Ludi"] = "SolNode138", + ["M Prime"] = "SolNode103", + ["Magnacidium"] = "SolNode712", + ["Malva"] = "ClanNode1", + ["Mantle"] = "SolNode63", + ["Mariana"] = "SolNode89", + ["Marid"] = "SolNode191", + ["Maroo 的市集"] = "TradeHUB1", + ["Martialis"] = "SolNode36", + ["Memphis"] = "ClanNode10", + ["Merrow"] = "SolNode193", + ["Metis"] = "SolNode126", + ["Minthe"] = "SolNode38", + ["Monolith"] = "SettlementNode12", + ["Montes"] = "SolNode902", + ["Morax"] = "SolNode209", + ["Naamah"] = "SolNode210", + ["Nabuk"] = "SolNode742", + ["Naeglar"] = "SolNode175", + ["Naga"] = "SolNode189", + ["Nakki"] = "SolNode190", + ["Narcissus"] = "SolNode21", + ["Nereid"] = "SolNode84", + ["Neso"] = "SolNode62", + ["Nimus"] = "SolNode166", + ["Numa"] = "SolNode50", + ["Nuovo"] = "SolNode137", + ["Oceanum"] = "SolNode102", + ["Odin"] = "SolNode224", + ["Oestrus"] = "SolNode167", + ["Olympus"] = "SolNode30", + ["Ophelia"] = "SolNode69", + ["Orcus 中继站"] = "PlutoHUB", + ["Orias"] = "SolNode217", + ["Oro"] = "SolNode24", + ["Ose"] = "SolNode211", + ["Outer Terminus"] = "SolNode72", + ["Pacific"] = "SolNode15", + ["Pago"] = "SolNode747", + ["Paimon"] = "SolNode212", + ["Pallas"] = "SolNode131", + ["Palus"] = "SolNode81", + ["Pandora"] = "SolNode906", + ["Pantheon"] = "SolNode226", + ["Pavlov"] = "SolNode306", + ["Phlegyas"] = "SolNode708", + ["Piscinas"] = "ClanNode13", + ["Plato"] = "SolNode300", + ["Proteus"] = "SolNode17", + ["Psamathe"] = "SolNode127", + ["Puck"] = "SolNode114", + ["R-9 星云"] = "CrewBattleNode555", + ["Regna"] = "SolNode48", + ["Rhea"] = "SolNode18", + ["Roche"] = "SettlementNode1", + ["Romula"] = "ClanNode0", + ["Rosalind"] = "SolNode9", + ["Rotuma"] = "SolNode743", + ["Rusalka"] = "SolNode184", + ["Salacia"] = "SolNode908", + ["Sangeru"] = "ClanNode15", + ["Sao"] = "SolNode57", + ["Saxis"] = "SolNode171", + ["Sechura"] = "ClanNode24", + ["Seimeni"] = "ClanNode22", + ["Selkie"] = "SolNode187", + ["Sharpless"] = "SettlementNode15", + ["Shklovsky"] = "SettlementNode14", + ["Sinai"] = "ClanNode4", + ["Skyresh"] = "SettlementNode2", + ["Solium"] = "SolNode173", + ["Sorath"] = "SolNode214", + ["Spear"] = "SolNode46", + ["Stephano"] = "SolNode122", + ["Stickney"] = "SettlementNode3", + ["Strata 中继站"] = "EarthHUB", + ["Stöfler"] = "SolNode305", + ["Suisei"] = "SolNode225", + ["Sycorax"] = "SolNode34", + ["Syrtis"] = "SolNode904", + ["Tamu"] = "SolNode745", + ["Taveuni"] = "SolNode744", + ["Telesto"] = "SolNode20", + ["Terminus"] = "SolNode28", + ["Terrorem"] = "SolNode711", + ["Tessera"] = "SolNode22", + ["Tethys"] = "SolNode32", + ["Tharsis"] = "SolNode11", + ["Thebe"] = "SolNode10", + ["Themisto"] = "SolNode53", + ["Thon"] = "SolNode135", + ["Tikal"] = "ClanNode3", + ["Titan"] = "SolNode96", + ["Titania"] = "SolNode105", + ["Tolstoj"] = "SolNode108", + ["Triton"] = "SolNode78", + ["Tyana Pass"] = "SolNode450", + ["Tycho"] = "SolNode302", + ["Ultor"] = "SolNode14", + ["Umbriel"] = "SolNode64", + ["Unda"] = "SolNode66", + ["Ur"] = "ClanNode16", + ["V Prime"] = "SolNode123", + ["Valac"] = "SolNode215", + ["Valefor"] = "SolNode216", + ["Vallis"] = "SolNode68", + ["Venera"] = "SolNode107", + ["Vodyanoi"] = "SolNode183", + ["Wahiba"] = "ClanNode9", + ["War"] = "SolNode99", + ["Xini"] = "SolNode172", + ["Yam"] = "SolNode199", + ["Yursa"] = "ClanNode20", + ["Yuvarium"] = "SolNode309", + ["Zabala"] = "ClanNode19", + ["Zeipel"] = "SolNode307", + ["Zeugma"] = "ClanNode11", + ["《指数之场》:挑战"] = "EventNode763", + ["七魅之息"] = "CrewBattleNode527", + ["不灭之地"] = "SolNode717", + ["中枢争夺"] = "PvpNode0", + ["乌戈塔"] = "SolNode406", + ["传承种收割"] = "SolNode850", + ["光理塔"] = "SolNode412", + ["光神塔"] = "SolNode408", + ["克姆地带"] = "CrewBattleNode519", + ["冥渡"] = "CrewBattleNode528", + ["冥王星-Acheron"] = "SolNode4", + ["冥王星-Cerberus"] = "SolNode43", + ["冥王星-Cypress"] = "SolNode56", + ["冥王星-Hades"] = "SolNode51", + ["冥王星-Hieracon"] = "ClanNode25", + ["冥王星-Hydra"] = "SolNode76", + ["冥王星-Minthe"] = "SolNode38", + ["冥王星-Narcissus"] = "SolNode21", + ["冥王星-Oceanum"] = "SolNode102", + ["冥王星-Orcus 中继站"] = "PlutoHUB", + ["冥王星-Outer Terminus"] = "SolNode72", + ["冥王星-Palus"] = "SolNode81", + ["冥王星-Regna"] = "SolNode48", + ["冥王星-Sechura"] = "ClanNode24", + ["冥王星-赛德娜接合点"] = "ErisToSednaJunction", + ["冥王星-阋神星接合点"] = "PlutoToErisJunction", + ["冥王星接合点"] = "NeptuneToPlutoJunction", + ["冥王星比邻星域-七魅之息"] = "CrewBattleNode527", + ["冥王星比邻星域-冥渡"] = "CrewBattleNode528", + ["冥王星比邻星域-利益外缘"] = "CrewBattleNode529", + ["冥王星比邻星域-外域星轴"] = "CrewBattleNode536", + ["冥王星比邻星域-胡夫之遣"] = "CrewBattleNode526", + ["冥王星比邻星域-芬顿之地"] = "CrewBattleNode531", + ["初裔冰渍区"] = "CrewBattleNode521", + ["利益外缘"] = "CrewBattleNode529", + ["刺杀:H-09 坦克"] = "SolNode856", + ["努秘"] = "CrewBattleNode539", + ["卡希欧安息处"] = "CrewBattleNode530", + ["卢帕星道"] = "CrewBattleNode534", + ["卫城区"] = "SolNode721", + ["卫标星环"] = "CrewBattleNode511", + ["双衍历程"] = "SolNode236", + ["双衍王境-双衍历程"] = "SolNode236", + ["双衍王境-孤独纪事"] = "SolNode237", + ["双衍王境-无尽回廊"] = "SolNode238", + ["哈拉科防线"] = "SolNode231", + ["团队歼夺"] = "PvpNode9", + ["土星-Anthe"] = "SolNode31", + ["土星-Calypso"] = "SolNode82", + ["土星-Caracol"] = "ClanNode12", + ["土星-Cassini"] = "SolNode70", + ["土星-Dione"] = "SolNode67", + ["土星-Enceladus"] = "SolNode19", + ["土星-Helene"] = "SolNode42", + ["土星-Keeler"] = "SolNode93", + ["土星-Kronia 中继站"] = "SaturnHUB", + ["土星-Numa"] = "SolNode50", + ["土星-Pandora"] = "SolNode906", + ["土星-Piscinas"] = "ClanNode13", + ["土星-Rhea"] = "SolNode18", + ["土星-Telesto"] = "SolNode20", + ["土星-Tethys"] = "SolNode32", + ["土星-Titan"] = "SolNode96", + ["土星-中枢争夺"] = "PvpNode0", + ["土星-团队歼夺"] = "PvpNode9", + ["土星-天王星接合点"] = "SaturnToUranusJunction", + ["土星-歼夺"] = "PvpNode10", + ["土星接合点"] = "JupiterToSaturnJunction", + ["土星比邻星域-卡希欧安息处"] = "CrewBattleNode530", + ["土星比邻星域-卢帕星道"] = "CrewBattleNode534", + ["土星比邻星域-水域星团"] = "CrewBattleNode535", + ["土星比邻星域-诺朵星峡"] = "CrewBattleNode533", + ["土星比邻星域-赤毒玄骸对决"] = "CrewBattleNode557", + ["土星比邻星域-魔多星团"] = "CrewBattleNode501", + ["圣殿-圣殿突袭"] = "SolNode801", + ["圣殿-精英级圣殿突袭"] = "SolNode802", + ["圣殿突袭"] = "SolNode801", + ["地狱净化:炽蛇军"] = "SolNode851", + ["地狱净化:科腐者"] = "SolNode852", + ["地球-Cambria"] = "SolNode79", + ["地球-Cervantes"] = "SolNode75", + ["地球-Coba"] = "ClanNode2", + ["地球-E Prime"] = "SolNode27", + ["地球-Erpo"] = "SolNode903", + ["地球-Eurasia"] = "SolNode59", + ["地球-Everest"] = "SolNode39", + ["地球-Gaia"] = "SolNode85", + ["地球-Lith"] = "SolNode26", + ["地球-Mantle"] = "SolNode63", + ["地球-Mariana"] = "SolNode89", + ["地球-Oro"] = "SolNode24", + ["地球-Pacific"] = "SolNode15", + ["地球-Strata 中继站"] = "EarthHUB", + ["地球-Tikal"] = "ClanNode3", + ["地球-夜灵平野"] = "SolNode228", + ["地球-希图斯"] = "CetusHub4", + ["地球-火星接合点"] = "EarthToMarsJunction", + ["地球-萨娅的异象"] = "SolNode451", + ["地球-金星接合点"] = "EarthToVenusJunction", + ["地球比邻星域-克姆地带"] = "CrewBattleNode519", + ["地球比邻星域-奥加尔星团"] = "CrewBattleNode518", + ["地球比邻星域-本达尔星团"] = "CrewBattleNode522", + ["地球比邻星域-深眠峡道"] = "CrewBattleNode502", + ["地球比邻星域-科技细胞终幕者演唱会"] = "CrewBattleNode559", + ["地球比邻星域-自由航行"] = "CrewBattleNode556", + ["地球比邻星域-虚无神殿"] = "CrewBattleNode509", + ["墓垒"] = "SolNode719", + ["外域星轴"] = "CrewBattleNode536", + ["夜灵平野"] = "SolNode228", + ["天王星-Ariel"] = "SolNode33", + ["天王星-Assur"] = "ClanNode17", + ["天王星-Caelus"] = "SolNode907", + ["天王星-Caliban"] = "SolNode60", + ["天王星-Cressida"] = "SolNode83", + ["天王星-Desdemona"] = "SolNode98", + ["天王星-Ophelia"] = "SolNode69", + ["天王星-Puck"] = "SolNode114", + ["天王星-Rosalind"] = "SolNode9", + ["天王星-Stephano"] = "SolNode122", + ["天王星-Sycorax"] = "SolNode34", + ["天王星-Titania"] = "SolNode105", + ["天王星-Umbriel"] = "SolNode64", + ["天王星-Ur"] = "ClanNode16", + ["天王星-布鲁图斯"] = "SolNode723", + ["天王星-海王星接合点"] = "UranusToNeptuneJunction", + ["天王星接合点"] = "SaturnToUranusJunction", + ["太阳塔"] = "SolNode410", + ["奥加尔星团"] = "CrewBattleNode518", + ["奥布山谷"] = "SolNode129", + ["奥金工场"] = "SolNode233", + ["女娲之矿"] = "CrewBattleNode516", + ["孤独纪事"] = "SolNode237", + ["孽杀"] = "SolNode716", + ["守护神塔"] = "SolNode411", + ["对战:小队 VS 小队"] = "SolNode855", + ["对战:小队独战"] = "SolNode857", + ["对抗帕尔沃斯的姐妹"] = "CrewBattleNode558", + ["居住舱"] = "SolNode234", + ["布鲁图斯"] = "SolNode723", + ["希图斯"] = "CetusHub4", + ["异化区"] = "SolNode718", + ["异融 Alad V 刺杀"] = "SolNode705", + ["弗雷沙"] = "CrewBattleNode553", + ["弧冢"] = "SolNode720", + ["恩斯尤区格"] = "CrewBattleNode550", + ["恶涌"] = "SolNode715", + ["扎里曼号-哈拉科防线"] = "SolNode231", + ["扎里曼号-奥金工场"] = "SolNode233", + ["扎里曼号-居住舱"] = "SolNode234", + ["扎里曼号-永视弧域"] = "SolNode230", + ["扎里曼号-涂沃主厅"] = "SolNode232", + ["扎里曼号-羽化之穹"] = "ZarimanHub", + ["扎里曼号-翠径"] = "SolNode235", + ["指数之场:挑战(中风险)"] = "SolNode762", + ["指数之场:挑战(低风险)"] = "SolNode761", + ["指数之场:挑战(高风险)"] = "SolNode763", + ["无垠华盖"] = "CrewBattleNode515", + ["无尽回廊"] = "SolNode238", + ["时空坐标"] = "CrewBattleNode504", + ["星主之握"] = "CrewBattleNode524", + ["曲银之地"] = "CrewBattleNode540", + ["月球-Apollo"] = "SolNode308", + ["月球-Circulus"] = "SolNode310", + ["月球-Copernicus"] = "SolNode304", + ["月球-Grimaldi"] = "SolNode301", + ["月球-Pavlov"] = "SolNode306", + ["月球-Plato"] = "SolNode300", + ["月球-Stöfler"] = "SolNode305", + ["月球-Tycho"] = "SolNode302", + ["月球-Yuvarium"] = "SolNode309", + ["月球-Zeipel"] = "SolNode307", + ["木星-Adrastea"] = "SolNode88", + ["木星-Amalthea"] = "SolNode97", + ["木星-Ananke"] = "SolNode73", + ["木星-Callisto"] = "SolNode25", + ["木星-Cameria"] = "ClanNode5", + ["木星-Carme"] = "SolNode74", + ["木星-Carpo"] = "SolNode121", + ["木星-Elara"] = "SolNode100", + ["木星-Galilea"] = "SolNode905", + ["木星-Ganymede"] = "SolNode87", + ["木星-Io"] = "SolNode125", + ["木星-Metis"] = "SolNode126", + ["木星-Sinai"] = "ClanNode4", + ["木星-Thebe"] = "SolNode10", + ["木星-Themisto"] = "SolNode53", + ["木星-土星接合点"] = "JupiterToSaturnJunction", + ["木星-欧罗巴接合点"] = "JupiterToEuropaJunction", + ["木星-蝠力使"] = "SolNode740", + ["木星接合点"] = "CeresToJupiterJunction", + ["本达尔星团"] = "CrewBattleNode522", + ["欧文-哈克"] = "CrewBattleNode512", + ["欧罗巴-Abaddon"] = "SolNode203", + ["欧罗巴-Armaros"] = "SolNode204", + ["欧罗巴-Baal"] = "SolNode205", + ["欧罗巴-Cholistan"] = "ClanNode7", + ["欧罗巴-Kokabiel"] = "SolNode220", + ["欧罗巴-Larzac"] = "ClanNode6", + ["欧罗巴-Morax"] = "SolNode209", + ["欧罗巴-Naamah"] = "SolNode210", + ["欧罗巴-Orias"] = "SolNode217", + ["欧罗巴-Ose"] = "SolNode211", + ["欧罗巴-Paimon"] = "SolNode212", + ["欧罗巴-Sorath"] = "SolNode214", + ["欧罗巴-Valac"] = "SolNode215", + ["欧罗巴-Valefor"] = "SolNode216", + ["欧罗巴接合点"] = "JupiterToEuropaJunction", + ["死灵塔"] = "SolNode409", + ["歼夺"] = "PvpNode10", + ["歼灭:炽蛇军"] = "SolNode853", + ["歼灭:科腐者"] = "SolNode854", + ["殁世幽都"] = "DeimosHub", + ["母神塔"] = "SolNode407", + ["水域星团"] = "CrewBattleNode535", + ["水星-Apollodorus"] = "SolNode94", + ["水星-Boethius"] = "SolNode223", + ["水星-Caloris"] = "SolNode119", + ["水星-Elion"] = "SolNode12", + ["水星-Lares"] = "SolNode130", + ["水星-Larunda 中继站"] = "MercuryHUB", + ["水星-M Prime"] = "SolNode103", + ["水星-Odin"] = "SolNode224", + ["水星-Pantheon"] = "SolNode226", + ["水星-Suisei"] = "SolNode225", + ["水星-Terminus"] = "SolNode28", + ["水星-Tolstoj"] = "SolNode108", + ["水星接合点"] = "VenusToMercuryJunction", + ["永视弧域"] = "SolNode230", + ["法神塔"] = "SolNode403", + ["海王星-Despina"] = "SolNode6", + ["海王星-Galatea"] = "SolNode1", + ["海王星-Kelashin"] = "ClanNode21", + ["海王星-Laomedeia"] = "SolNode118", + ["海王星-Larissa"] = "SolNode49", + ["海王星-Nereid"] = "SolNode84", + ["海王星-Neso"] = "SolNode62", + ["海王星-Proteus"] = "SolNode17", + ["海王星-Psamathe"] = "SolNode127", + ["海王星-Salacia"] = "SolNode908", + ["海王星-Sao"] = "SolNode57", + ["海王星-Triton"] = "SolNode78", + ["海王星-Yursa"] = "ClanNode20", + ["海王星-《指数之场》:挑战"] = "EventNode763", + ["海王星-冥王星接合点"] = "NeptuneToPlutoJunction", + ["海王星-指数之场:挑战(中风险)"] = "SolNode762", + ["海王星-指数之场:挑战(低风险)"] = "SolNode761", + ["海王星-指数之场:挑战(高风险)"] = "SolNode763", + ["海王星接合点"] = "UranusToNeptuneJunction", + ["海王星比邻星域-初裔冰渍区"] = "CrewBattleNode521", + ["海王星比邻星域-女娲之矿"] = "CrewBattleNode516", + ["海王星比邻星域-对抗帕尔沃斯的姐妹"] = "CrewBattleNode558", + ["海王星比邻星域-时空坐标"] = "CrewBattleNode504", + ["海王星比邻星域-星主之握"] = "CrewBattleNode524", + ["海王星比邻星域-薄暮星团"] = "CrewBattleNode525", + ["海王星比邻星域-诱惑之景"] = "CrewBattleNode523", + ["涂沃主厅"] = "SolNode232", + ["深情之域"] = "CrewBattleNode541", + ["深眠峡道"] = "CrewBattleNode502", + ["火卫一-Gulliver"] = "SettlementNode11", + ["火卫一-Iliad"] = "SettlementNode20", + ["火卫一-Kepler"] = "SettlementNode10", + ["火卫一-Memphis"] = "ClanNode10", + ["火卫一-Monolith"] = "SettlementNode12", + ["火卫一-Roche"] = "SettlementNode1", + ["火卫一-Sharpless"] = "SettlementNode15", + ["火卫一-Shklovsky"] = "SettlementNode14", + ["火卫一-Skyresh"] = "SettlementNode2", + ["火卫一-Stickney"] = "SettlementNode3", + ["火卫一-Zeugma"] = "ClanNode11", + ["火卫一接合点"] = "MarsToPhobosJunction", + ["火卫二-Dirus"] = "SolNode709", + ["火卫二-Exequias"] = "SolNode713", + ["火卫二-Formido"] = "SolNode710", + ["火卫二-Horend"] = "SolNode706", + ["火卫二-Hyf"] = "SolNode707", + ["火卫二-Magnacidium"] = "SolNode712", + ["火卫二-Phlegyas"] = "SolNode708", + ["火卫二-Terrorem"] = "SolNode711", + ["火卫二-不灭之地"] = "SolNode717", + ["火卫二-卫城区"] = "SolNode721", + ["火卫二-墓垒"] = "SolNode719", + ["火卫二-孽杀"] = "SolNode716", + ["火卫二-异化区"] = "SolNode718", + ["火卫二-弧冢"] = "SolNode720", + ["火卫二-恶涌"] = "SolNode715", + ["火卫二-木星接合点"] = "CeresToJupiterJunction", + ["火卫二-殁世幽都"] = "DeimosHub", + ["火卫二-解剖圣所"] = "EntratiLabHub", + ["火卫二-魔胎之境"] = "SolNode229", + ["火星-Alator"] = "SolNode106", + ["火星-Ara"] = "SolNode45", + ["火星-Ares"] = "SolNode113", + ["火星-Arval"] = "SolNode41", + ["火星-Augustus"] = "SolNode16", + ["火星-Gradivus"] = "SolNode65", + ["火星-Hellas"] = "SolNode58", + ["火星-Kadesh"] = "ClanNode8", + ["火星-Maroo 的市集"] = "TradeHUB1", + ["火星-Martialis"] = "SolNode36", + ["火星-Olympus"] = "SolNode30", + ["火星-Spear"] = "SolNode46", + ["火星-Syrtis"] = "SolNode904", + ["火星-Tharsis"] = "SolNode11", + ["火星-Tyana Pass"] = "SolNode450", + ["火星-Ultor"] = "SolNode14", + ["火星-Vallis"] = "SolNode68", + ["火星-Wahiba"] = "ClanNode9", + ["火星-War"] = "SolNode99", + ["火星-火卫一接合点"] = "MarsToPhobosJunction", + ["火星-谷神星接合点"] = "MarsToCeresJunction", + ["火星接合点"] = "EarthToMarsJunction", + ["神后塔"] = "SolNode401", + ["神王塔"] = "SolNode400", + ["福尔图娜"] = "SolarisUnitedHub1", + ["科技细胞终幕者演唱会"] = "CrewBattleNode559", + ["精英级圣殿突袭"] = "SolNode802", + ["维斯珀峡道"] = "CrewBattleNode513", + ["羽化之穹"] = "ZarimanHub", + ["翠径"] = "SolNode235", + ["胡夫之遣"] = "CrewBattleNode526", + ["自由航行"] = "CrewBattleNode556", + ["至日广场"] = "SolNode858", + ["芬顿之地"] = "CrewBattleNode531", + ["萨娅的异象"] = "SolNode451", + ["萨米尔星云"] = "CrewBattleNode543", + ["落没之耀"] = "CrewBattleNode514", + ["蒲芦"] = "CrewBattleNode538", + ["薄暮星团"] = "CrewBattleNode525", + ["虚无神殿"] = "CrewBattleNode509", + ["虚空-乌戈塔"] = "SolNode406", + ["虚空-光理塔"] = "SolNode412", + ["虚空-光神塔"] = "SolNode408", + ["虚空-太阳塔"] = "SolNode410", + ["虚空-守护神塔"] = "SolNode411", + ["虚空-死灵塔"] = "SolNode409", + ["虚空-母神塔"] = "SolNode407", + ["虚空-法神塔"] = "SolNode403", + ["虚空-神后塔"] = "SolNode401", + ["虚空-神王塔"] = "SolNode400", + ["虚空-阿尼塔"] = "SolNode405", + ["虚空-雷争塔"] = "SolNode402", + ["虚空-风王塔"] = "SolNode404", + ["虹桥回声"] = "CrewBattleNode503", + ["蝠力使"] = "SolNode740", + ["解剖圣所"] = "EntratiLabHub", + ["诱惑之景"] = "CrewBattleNode523", + ["诺朵星峡"] = "CrewBattleNode533", + ["谷神星-Bode"] = "SolNode132", + ["谷神星-Casta"] = "SolNode149", + ["谷神星-Cinxia"] = "SolNode147", + ["谷神星-Draco"] = "SolNode146", + ["谷神星-Exta"] = "SolNode144", + ["谷神星-Gabii"] = "ClanNode23", + ["谷神星-Ker"] = "SolNode141", + ["谷神星-Kiste"] = "SolNode140", + ["谷神星-Lex"] = "SolNode139", + ["谷神星-Ludi"] = "SolNode138", + ["谷神星-Nuovo"] = "SolNode137", + ["谷神星-Pallas"] = "SolNode131", + ["谷神星-Seimeni"] = "ClanNode22", + ["谷神星-Thon"] = "SolNode135", + ["谷神星接合点"] = "MarsToCeresJunction", + ["赛德娜-Adaro"] = "SolNode181", + ["赛德娜-Amarna"] = "ClanNode14", + ["赛德娜-Berehynia"] = "SolNode185", + ["赛德娜-Charybdis"] = "SolNode196", + ["赛德娜-Hydron"] = "SolNode195", + ["赛德娜-Kappa"] = "SolNode177", + ["赛德娜-Kelpie"] = "SolNode188", + ["赛德娜-Marid"] = "SolNode191", + ["赛德娜-Merrow"] = "SolNode193", + ["赛德娜-Naga"] = "SolNode189", + ["赛德娜-Nakki"] = "SolNode190", + ["赛德娜-Rusalka"] = "SolNode184", + ["赛德娜-Sangeru"] = "ClanNode15", + ["赛德娜-Selkie"] = "SolNode187", + ["赛德娜-Vodyanoi"] = "SolNode183", + ["赛德娜-Yam"] = "SolNode199", + ["赛德娜接合点"] = "ErisToSednaJunction", + ["赤毒玄骸对决"] = "CrewBattleNode557", + ["赤毒要塞-Dakata"] = "SolNode746", + ["赤毒要塞-Garus"] = "SolNode748", + ["赤毒要塞-Koro"] = "SolNode741", + ["赤毒要塞-Nabuk"] = "SolNode742", + ["赤毒要塞-Pago"] = "SolNode747", + ["赤毒要塞-Rotuma"] = "SolNode743", + ["赤毒要塞-Tamu"] = "SolNode745", + ["赤毒要塞-Taveuni"] = "SolNode744", + ["金星-Aphrodite"] = "SolNode2", + ["金星-Cytherean"] = "SolNode23", + ["金星-E Gate"] = "SolNode128", + ["金星-Fossa"] = "SolNode104", + ["金星-Ishtar"] = "SolNode61", + ["金星-Kiliken"] = "SolNode101", + ["金星-Linea"] = "SolNode109", + ["金星-Malva"] = "ClanNode1", + ["金星-Montes"] = "SolNode902", + ["金星-Romula"] = "ClanNode0", + ["金星-Tessera"] = "SolNode22", + ["金星-Unda"] = "SolNode66", + ["金星-V Prime"] = "SolNode123", + ["金星-Venera"] = "SolNode107", + ["金星-奥布山谷"] = "SolNode129", + ["金星-水星接合点"] = "VenusToMercuryJunction", + ["金星-福尔图娜"] = "SolarisUnitedHub1", + ["金星接合点"] = "EarthToVenusJunction", + ["金星比邻星域-卫标星环"] = "CrewBattleNode511", + ["金星比邻星域-无垠华盖"] = "CrewBattleNode515", + ["金星比邻星域-欧文-哈克"] = "CrewBattleNode512", + ["金星比邻星域-维斯珀峡道"] = "CrewBattleNode513", + ["金星比邻星域-落没之耀"] = "CrewBattleNode514", + ["金星比邻星域-虹桥回声"] = "CrewBattleNode503", + ["阋神星-Akkad"] = "ClanNode18", + ["阋神星-Brugia"] = "SolNode153", + ["阋神星-Isos"] = "SolNode162", + ["阋神星-Jordas 魔像 刺杀"] = "SolNode701", + ["阋神星-Kala-azar"] = "SolNode164", + ["阋神星-Naeglar"] = "SolNode175", + ["阋神星-Nimus"] = "SolNode166", + ["阋神星-Oestrus"] = "SolNode167", + ["阋神星-Saxis"] = "SolNode171", + ["阋神星-Solium"] = "SolNode173", + ["阋神星-Xini"] = "SolNode172", + ["阋神星-Zabala"] = "ClanNode19", + ["阋神星-异融 Alad V 刺杀"] = "SolNode705", + ["阋神星接合点"] = "PlutoToErisJunction", + ["阿尼塔"] = "SolNode405", + ["雷争塔"] = "SolNode402", + ["霍瓦尼亚-传承种收割"] = "SolNode850", + ["霍瓦尼亚-刺杀:H-09 坦克"] = "SolNode856", + ["霍瓦尼亚-地狱净化:炽蛇军"] = "SolNode851", + ["霍瓦尼亚-地狱净化:科腐者"] = "SolNode852", + ["霍瓦尼亚-对战:小队 VS 小队"] = "SolNode855", + ["霍瓦尼亚-对战:小队独战"] = "SolNode857", + ["霍瓦尼亚-歼灭:炽蛇军"] = "SolNode853", + ["霍瓦尼亚-歼灭:科腐者"] = "SolNode854", + ["霍瓦尼亚-至日广场"] = "SolNode858", + ["霍瓦尼亚-霍瓦尼亚中央商场"] = "1999Hub", + ["霍瓦尼亚中央商场"] = "1999Hub", + ["面纱比邻星域-H-2 星云"] = "CrewBattleNode554", + ["面纱比邻星域-R-9 星云"] = "CrewBattleNode555", + ["面纱比邻星域-努秘"] = "CrewBattleNode539", + ["面纱比邻星域-弗雷沙"] = "CrewBattleNode553", + ["面纱比邻星域-恩斯尤区格"] = "CrewBattleNode550", + ["面纱比邻星域-曲银之地"] = "CrewBattleNode540", + ["面纱比邻星域-深情之域"] = "CrewBattleNode541", + ["面纱比邻星域-萨米尔星云"] = "CrewBattleNode543", + ["面纱比邻星域-蒲芦"] = "CrewBattleNode538", + ["面纱比邻星域-鹿岩"] = "CrewBattleNode542", + ["风王塔"] = "SolNode404", + ["魔多星团"] = "CrewBattleNode501", + ["魔胎之境"] = "SolNode229", + ["鹿岩"] = "CrewBattleNode542" +} diff --git a/Scripts/敌人生成.pluto b/Scripts/敌人生成.pluto index 84b6240..fe783cb 100644 --- a/Scripts/敌人生成.pluto +++ b/Scripts/敌人生成.pluto @@ -261,3 +261,6 @@ repeat end end until yield() + + +-- 示例:/生成 苦难 5 100 \ No newline at end of file diff --git a/Scripts/自定义节点等级.pluto b/Scripts/自定义节点等级.pluto new file mode 100644 index 0000000..365003c --- /dev/null +++ b/Scripts/自定义节点等级.pluto @@ -0,0 +1,73 @@ +-- 自定义节点等级 + +local regionNames = loadfile("OpenWF/Scripts/RegionNameMapping.pluto")() + +local function launchNode(nodeId, minLevel, maxLevel, hardMode) + local args = Engine.OpenLevelArgs() + local info = gStarChart:BuildMissionForLocation(Symbol(nodeId)) + local infoStr = info:EncodeAsString() + + if hardMode then + infoStr = infoStr:gsub("levelAuras={[^}]+}", [[levelAuras={ + /Lotus/Upgrades/Mods/DirectorMods/HardModeEnemyLevelAura, + /Lotus/Upgrades/Mods/DirectorMods/HardModeLevelAura + }]]) + end + + if not infoStr:find("tier=") then + infoStr = infoStr:gsub("}", " tier=1\r\n}") + end + + if minLevel then + infoStr = infoStr:gsub("minEnemyLevel=%d+", $"minEnemyLevel={minLevel}") + end + + if maxLevel then + infoStr = infoStr:gsub("maxEnemyLevel=%d+", $"maxEnemyLevel={maxLevel}") + end + + args:SetLevel(info.levelOverride:GetFullName()) + args:AddContextTag(infoStr) + + for info:GetEnemies() as enemy do + args:AddContextObject(enemy.agent) + end + + for info:GetAdvancedAiDirectorSpawns() as spawner do + args:AddContextObject(spawner) + end + + Engine.OpenLevel(args) +end + +local commands = {} +commands["节点"] = function(text) + local parts = text:split(" ") + local nodeId = regionNames[parts[2]] or parts[2] + launchNode(nodeId, tonumber(parts[3]), tonumber(parts[4]), false) +end + +commands["钢铁"] = function(text) + local parts = text:split(" ") + local nodeId = regionNames[parts[2]] or parts[2] + launchNode(nodeId, tonumber(parts[3]), tonumber(parts[4]), true) +end + +for prefix in commands do + chat_subscribe_prefix("/" .. prefix, true) +end + +repeat + while evt := owf_next_event() do + if evt.type == OWF_EVT_SUBMIT_CHAT_MESSAGE and evt.text and evt.text:sub(1,1) == "/" then + for prefix, handler in commands do + if evt.text:sub(2, #prefix + 1) == prefix then + handler(evt.text) + break + end + end + end + end +until yield() + +-- 示例:/钢铁 赛德娜-Kappa 9999 diff --git a/Tools/generate_region_name_mapping.py b/Tools/generate_region_name_mapping.py new file mode 100644 index 0000000..db8371c --- /dev/null +++ b/Tools/generate_region_name_mapping.py @@ -0,0 +1,120 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +生成星图节点中文名称映射 +从 ExportRegions.json 提取节点名称,在 dict.zh.json 中查找对应的中文翻译 +""" + +import json +import sys +from pathlib import Path + +def main(): + # 设置路径 + script_dir = Path(__file__).parent + project_root = script_dir.parent + export_dir = project_root / "warframe-public-export-plus" + + regions_file = export_dir / "ExportRegions.json" + dict_file = export_dir / "dict.zh.json" + output_file = project_root / "Scripts" / "RegionNameMapping.pluto" + + # 检查文件是否存在 + if not regions_file.exists(): + print(f"❌ 错误:找不到 {regions_file}") + sys.exit(1) + if not dict_file.exists(): + print(f"❌ 错误:找不到 {dict_file}") + sys.exit(1) + + print("📖 正在读取 ExportRegions.json...") + try: + with open(regions_file, 'r', encoding='utf-8') as f: + regions = json.load(f) + except Exception as e: + print(f"❌ 读取 ExportRegions.json 失败: {e}") + sys.exit(1) + + print("📖 正在读取 dict.zh.json...") + try: + with open(dict_file, 'r', encoding='utf-8') as f: + zh_dict = json.load(f) + except Exception as e: + print(f"❌ 读取 dict.zh.json 失败: {e}") + sys.exit(1) + + # 构建映射 + print("🔄 正在构建节点名称映射...") + node_mapping = {} + missing_translations = [] + + for node_id, node_data in regions.items(): + if isinstance(node_data, dict) and 'name' in node_data: + name_path = node_data['name'] + + # 在中文字典中查找 + if name_path in zh_dict: + cn_name = zh_dict[name_path] + node_mapping[cn_name] = node_id + + # 同时记录节点的系统名称 + if 'systemName' in node_data and node_data['systemName'] in zh_dict: + system_cn = zh_dict[node_data['systemName']] + # 创建 "星系-节点" 格式的键 + full_name = f"{system_cn}-{cn_name}" + node_mapping[full_name] = node_id + else: + missing_translations.append((node_id, name_path)) + + # 输出统计 + print(f"\n✅ 成功映射 {len(node_mapping)} 个节点名称") + if missing_translations: + print(f"⚠️ {len(missing_translations)} 个节点缺少中文翻译") + + # 生成 Pluto 文件 + print(f"\n📝 正在生成 {output_file.name}...") + + lines = [ + "-- 星图节点中文名称映射\n", + "-- 自动生成,请勿手动编辑\n", + "-- 生成工具: Tools/generate_region_name_mapping.py\n", + "\n", + "return {\n" + ] + + # 排序并写入 + sorted_names = sorted(node_mapping.keys()) + for i, name in enumerate(sorted_names): + node_id = node_mapping[name] + # 转义特殊字符 + k = str(name).replace('\\', '\\\\').replace('"', '\\"').replace('\n', ' ').replace('\r', '') + v = str(node_id).replace('\\', '\\\\').replace('"', '\\"') + # 最后一项不加逗号 + comma = "," if i < len(sorted_names) - 1 else "" + lines.append(f' ["{k}"] = "{v}"{comma}\n') + + lines.append("}\n") + + # 写入文件 + try: + with open(output_file, 'w', encoding='utf-8') as f: + f.writelines(lines) + print(f"✅ 已生成: {output_file}") + print(f"📊 总计 {len(node_mapping)} 个节点映射") + except Exception as e: + print(f"❌ 写入文件失败: {e}") + sys.exit(1) + + # 显示缺失翻译(可选) + if missing_translations and len(missing_translations) <= 20: + print("\n⚠️ 缺少中文翻译的节点:") + for node_id, path in missing_translations[:10]: + print(f" {node_id}: {path}") + if len(missing_translations) > 10: + print(f" ... 还有 {len(missing_translations) - 10} 个") + + print("\n✨ 完成!") + +if __name__ == '__main__': + main() +