Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Ror2Meeeee
Itens x10, inimigos mais fortes, 5 artefatos, 16 itens, 1 equipamento e 5 elites novos, Bazar Maior e otimizações de FPS. Todos os jogadores precisam do mod.
| Date uploaded | a day ago |
| Version | 0.10.4 |
| Download link | SawCunhaOS-Ror2Meeeee-0.10.4.zip |
| Downloads | 17 |
| Dependency string | SawCunhaOS-Ror2Meeeee-0.10.4 |
This mod requires the following mods to function
bbepis-BepInExPack
Unified BepInEx all-in-one modding pack - plugin framework, detour library
Preferred version: 5.4.2122RiskofThunder-RoR2BepInExPack
Simplify the modding ecosystem of Risk of Rain 2, making it easier for modders to create and maintain their mods while preventing harmful bugs.
Preferred version: 1.45.0RiskofThunder-R2API_Language
API for modifying the language localisation of the game
Preferred version: 1.1.0RiskofThunder-R2API_Networking
Networking API around the Unity UNet Low Level API (LLAPI)
Preferred version: 1.0.4README
Ror2Meeeee
Mod para Risk of Rain 2 (1.5.0) que deixa a run mais caótica: cada item vale por dez, os inimigos ficam mais fortes e numerosos, e entram artefatos, itens, um equipamento e elites novos. Também traz ferramentas para o FPS aguentar quando o inventário explode.
Multiplayer: todos os jogadores precisam do mod, na mesma versão. Quem manda é o host: as regras de jogo
rodam na máquina dele e valem as opções do .cfg dele.
Código-fonte, bugs e sugestões: https://github.com/SawCunha/ror2_meeeeeeee
Instalação
- Instale pelo r2modman ou Thunderstore Mod Manager (botão Install with Mod Manager nesta página). As dependências (BepInEx, R2API, HookGenPatcher) vêm junto.
- Abra o jogo pelo gerenciador. Os padrões já vêm prontos para jogar; nada precisa ser configurado.
- Opcional: instale o Risk of Options para mudar as opções na tela de mods, dentro do jogo.
Resumo
| Tipo | Conteúdo |
|---|---|
| Artefatos | Comunismo, Dízimo, Taxade, Ressurreição, Vazio |
| Itens brancos | Chamado da Horda, Capitalismo (branco), Pilha de Pregos Enferrujados |
| Itens verdes | Capitalismo (verde), Fungo Egoísta, Égide Vampírica, Bateria do Portal |
| Itens vermelhos | Capitalismo (vermelho), Cano Extra, Contrato da I.M.P., Bastião |
| Itens do Vazio | zzz cervo <3, Fungo Egoísta do Vazio, Égide do Devorador, Pilha de Espinhos do Vazio |
| Item lunar | Coração Pesado |
| Equipamento lunar | Grimório do Stolas |
| Elites | Volátil, Frenético, Fortalecedor, Arruinado, Eco |
| Sistemas | Multiplicador de itens, Dificuldade, Progressão entre runs, Bazar Maior, Cálculo limitado |
| Telas | Soltar itens (F7), Status da run (F8) |
| Desempenho | Teto de partículas, de projéteis e de Lâminas Fantasmas, limpeza de cadáveres, correções do jogo |
Os nomes entre colchetes, como [Multiplier], são as seções do arquivo de configuração (veja Configuração no fim).
Artefatos
Artefatos são ligados no lobby, na tela de seleção de artefatos, antes de começar a run. Desligados, não mudam nada.
Artefato do Comunismo
O que faz: todo item que alguém pega também vai para os outros jogadores vivos. Vale para itens de todos os tipos e expansões, inclusive sucata, temporários e alugados. Equipamentos e os itens únicos do mod (Capitalismo, Cano Extra e Chamado da Horda) não são compartilhados.
Como usar: ligue o artefato no lobby. Não tem opções.
Exemplo: você abre um baú e pega um Soldier's Syringe. Cada aliado vivo também recebe o Syringe, sem precisar dividir o baú.
Artefato do Dízimo ([Gold])
O que faz: parte de todo ouro que os jogadores ganham vira crédito para o diretor criar mais inimigos. De tempos em tempos o diretor agradece no chat o quanto recebeu.
Como usar: ligue o artefato no lobby. Opções:
Ratio: quanto do ouro vira crédito (padrão0.1, ou seja, 10%).ThankIntervalSeconds: intervalo das mensagens no chat (padrão 60 s;0= sem mensagens).MaxCreditPerSecond(150) eMaxMonsters(80): travas para a partida não virar lag;0desliga cada uma.
Exemplo: um inimigo dá 50 de ouro. Com Ratio = 0.1, o diretor ganha 5 de crédito e gasta em mais inimigos. Com
80 monstros vivos ou mais, o Dízimo para de dar crédito até o número cair.
Artefato Taxade ([Tax])
O que faz: toda compra paga com ouro (baú, santuário, drone, impressora...) custa vida. Compras com moedas lunares ou com itens não são taxadas. Os itens Capitalismo reduzem essa taxa.
Como usar: ligue o artefato no lobby. Opções:
Percent: vida perdida por compra, em % da vida máxima (padrão 30).Lethal: desligado (padrão), a taxa nunca mata e deixa você com 1 de vida; ligado, comprar com pouca vida pode matar.
Exemplo: com 500 de vida máxima, abrir um baú tira 150 de vida. Com o Capitalismo branco, a taxa cai 20% e o mesmo baú tira 120.
Artefato da Ressurreição ([Revive])
O que faz: quem morre deixa uma lápide no chão. Um aliado que fique perto dela por alguns segundos revive o jogador com metade da vida e paga com metade da própria vida. A lápide aparece na tela com marcador e aviso. Só faz sentido em multiplayer.
Como usar: ligue o artefato no lobby. Opções:
Radius: distância da lápide, em metros (padrão 4).RequiredSeconds: tempo seguido perto dela (padrão 3 s). Sair de perto zera a contagem.
Exemplo: seu amigo morre no meio da luta. Você corre até a lápide, fica 3 s a menos de 4 m dela e ele volta com
metade da vida, enquanto você perde metade da sua. O comando ror2meeeee_demo mostra como a lápide aparece.
Artefato do Vazio ([VoidBounty])
O que faz: cada estágio ganha baús do Vazio a mais, e todos eles sorteiam entre todos os itens do Vazio. Em troca, os inimigos têm +50% de vida.
Como usar: ligue o artefato no lobby. Opção ExtraChests: quantos baús a mais por estágio (padrão 5).
Exemplo: no primeiro estágio aparecem 5 baús do Vazio além dos normais. Um deles pode dar um Lysate Cell, outro um Plasma Shrimp, e assim por diante.
Itens
Os itens aparecem nos baús e drops como os do jogo. Cada um tem uma chave Enabled na sua seção do .cfg: desligada,
o item continua existindo mas não faz nada. Os comandos give_item / give_equipment dos exemplos precisam do mod
DebugToolkit e servem só para testar.
Chamado da Horda (branco)
O que faz: cada cópia que o time tiver aumenta a quantidade de inimigos. Precisa da Dificuldade ligada. Não é multiplicado nem compartilhado.
Como usar: pegue o item. Opções em [Horde]: QuantityPerStack (padrão 0.5, +50% por cópia) e
MaxMultiplier (teto, padrão 20×).
Exemplo: o time tem 4 cópias somadas: 1 + 4 × 0,5 = 3× mais inimigos.
Teste: give_item Ror2MeeeeeHorde 1.
Capitalismo (branco, verde e vermelho)
O que faz: cada um reduz a taxa do Taxade e aumenta todo ouro que você ganha, mesmo sem o artefato:
| Item | Reduz a taxa em | Ouro extra |
|---|---|---|
| Branco | 20% | +10% |
| Verde | 30% | +20% |
| Vermelho | 50% | +30% |
No máximo 1 de cada por jogador: não multiplicam e não saem mais nos baús de quem já tem.
Como usar: pegue o item. Precisa de [Tax] Enabled ligado.
Exemplo: com os três, a taxa some (20 + 30 + 50 = 100%) e você ganha +60% de ouro: um inimigo que dava 100 de ouro
passa a dar 160.
Teste: give_item Ror2MeeeeeTaxReliefWhite 1 (ou ...Green, ...Red).
Pilha de Pregos Enferrujados (branco)
O que faz: cada golpe tem chance de disparar um prego que causa sangramento.
Como usar: pegue o item. Chance de 2% com 1 cópia (+0,1% por cópia extra). O prego causa 10% de dano base (+0,1% por cópia extra).
Exemplo: com 11 cópias, a chance é de 3% por golpe. Uma arma que acerta muito rápido, como a do Commando, dispara
pregos com frequência.
Teste: give_item Ror2MeeeeeRustyNailStack 1.
Pilha de Espinhos do Vazio (Vazio, branco)
O que faz: versão do Vazio dos Pregos. Cada golpe tem chance de disparar um espinho que marca o alvo. Depois de 3 s, o alvo marcado sofre uma detonação e solta espinhos em volta (raio de 12 m), que marcam os inimigos próximos. Corrompe todas as Pilhas de Pregos Enferrujados.
Como usar: pegue o item. Chance de 2% (+0,5% por cópia extra); espinho de 10% de dano base (+0,5% por cópia
extra); detonação de 250%; chuva de espinhos de 150% (+50% por cópia extra). Opção [RustyNail] MaxChain: quantas
vezes a chuva pode marcar de novo em cadeia (padrão 2; 0 = a chuva causa dano, mas não marca).
Exemplo: um espinho marca um inimigo no meio de um grupo; 3 s depois ele explode e os espinhos marcam outros 5
inimigos, que também explodem em seguida.
Teste: give_item Ror2MeeeeeVoidSpikeStack 1.
Fungo Egoísta (verde)
O que faz: regenera 5 de vida por segundo, sempre (parado ou não), só em você e nos seus drones, torretas e ajudantes. A cura sobe com o nível, como a regeneração do jogo.
Como usar: pegue o item. Cada cópia extra soma +0,01% da vida máxima por segundo.
Exemplo: diferente do Bustling Fungus, você não precisa ficar parado: a cura continua enquanto você corre.
Teste: give_item Ror2MeeeeeSelfishFungus 1.
Fungo Egoísta do Vazio (Vazio, verde)
O que faz: como o Fungo Egoísta, mas com 15 de vida por segundo e +0,5% da vida máxima por segundo por cópia extra. Corrompe todos os Fungos Egoístas.
Exemplo: com 10 cópias e 1.000 de vida máxima: 15 + 9 × 0,5% × 1.000 = 60 de vida por segundo, no nível 1.
Teste: give_item Ror2MeeeeeSelfishFungusVoid 1.
Égide Vampírica (verde)
O que faz: 5% de chance de bloquear um golpe. Ao bloquear, rouba 8% da vida atual do agressor por cópia (até 50%) e cura você com isso.
Como usar: pegue o item. A chance de bloqueio é fixa; as cópias aumentam o roubo.
Exemplo: com 3 cópias, um bloqueio contra um golem com 2.000 de vida tira 24% dela (480) e cura você em 480.
Teste: give_item Ror2MeeeeeVampiricAegis 1.
Égide do Devorador (Vazio, verde)
O que faz: 5% de chance de bloquear. Ao bloquear, solta uma onda do Vazio que rouba 3% da vida atual de cada inimigo num raio de 13 m (+3% e +2 m por cópia extra, até 20% e 30 m) e cura você pela soma. Corrompe todas as Égides Vampíricas.
Exemplo: cercado por 10 inimigos, um bloqueio drena um pouco de cada um e devolve a soma como vida.
Teste: give_item Ror2MeeeeeDevourerAegis 1.
Bateria do Portal (verde)
O que faz: o teleportador e as outras zonas de carga carregam 10% mais rápido por cópia. As cópias de todo o time somam.
Exemplo: o time tem 5 cópias no total: o teleportador carrega 50% mais rápido para todos.
Teste: give_item Ror2MeeeeePortalBattery 1.
Cano Extra (vermelho)
O que faz: cada cópia faz a arma principal disparar +1 tiro em leque. Vale para balas, projéteis e flechas; ataques corpo a corpo não mudam. Não é multiplicado.
Como usar: pegue o item. Opções em [CanoExtra]: MaxExtraShots (teto de tiros extras, padrão 5, protege o FPS)
e FanDegrees (abertura do leque, padrão 5°).
Exemplo: com 3 cópias, cada tiro do Huntress vira 4 flechas: a original e outras a ±5° e ±10°.
Teste: give_item Ror2MeeeeeCanoExtra 1.
Contrato da I.M.P. (vermelho)
O que faz: no início de cada estágio, o primeiro elite ou chefe vira o alvo do contrato e fica marcado. Matá-lo paga ouro em dobro (+100% por cópia) e solta um item verde.
Como usar: pegue o item e procure o alvo marcado. Opção [ImpContract] MaxGold: teto do ouro extra (padrão
20.000; 0 = sem teto).
Exemplo: o alvo valeria 300 de ouro. Com 1 cópia, você recebe 600 e um item verde cai no chão.
Teste: give_item Ror2MeeeeeImpContract 1.
Bastião (vermelho)
O que faz: dá escudo igual a 40% da vida máxima por cópia, e o escudo começa a recarregar 2 s depois do último golpe (no jogo são 7 s).
Exemplo: com 1.000 de vida e 2 cópias, você ganha 800 de escudo, que volta logo depois de sair do fogo cruzado.
Teste: give_item Ror2MeeeeeBastion 1.
zzz cervo <3 (Vazio, verde)
O que faz: A pressa é inimiga da perfeição. Toda velocidade de movimento extra vira dano: +1% de velocidade vira +1% de dano. Você fica na velocidade normal; lentidões continuam valendo. Cada cópia extra soma +50% de conversão.
Exemplo: com +40% de velocidade de outros itens e 1 cópia, você anda na velocidade normal e ganha +40% de dano. Com
2 cópias, ganha +60%.
Teste: give_item Ror2MeeeeeCervo 1.
Coração Pesado (lunar)
O que faz: cada cópia multiplica a vida máxima por 1,5 e o dano recebido de inimigos por 1,3. As cópias se multiplicam entre si.
Exemplo: com 2 cópias, a vida fica 2,25× maior e o dano recebido 1,69× maior.
Teste: give_item Ror2MeeeeeHeavyHeart 1.
Equipamento
Grimório do Stolas (lunar)
O que faz: teleporta você para perto do primeiro aliado vivo. Sozinho, leva até o teleportador do estágio. Em troca, cada uso dá crédito ao diretor, que manda uma onda de inimigos. Recarga de 60 s.
Como usar: ative o equipamento. Opções em [Grimoire]:
WaveCredit: crédito por uso, multiplicado pela dificuldade (padrão 150, uma onda média).MaxCreditPerUse: teto por uso (padrão 600).MaxMonsters: com tantos monstros vivos, o teleporte funciona mas não chama onda (padrão 80).
Exemplo: você ficou para trás no mapa. Usa o Grimório, aparece ao lado do amigo que está no teleportador, e uma
onda de inimigos chega logo depois.
Teste: give_equipment Ror2MeeeeeStolasGrimoire.
Elites ([Elites])
O diretor passa a sortear cinco elites novos. Os de nível 1 aparecem desde o começo; os de nível 2, a partir do loop
(depois do estágio 5). Cada um tem a sua chave no .cfg (Volatile, Frenzied, Empowering, Blighted, Echo).
Matar um elite pode soltar o aspecto dele, como no jogo.
| Elite | Nível | O que faz |
|---|---|---|
| Volátil | 1 | Todo golpe explode em 4 m (60% do dano) e dispara um míssil a cada 1-5 s. |
| Frenético | 1 | Mais velocidade de movimento e de ataque; se teleporta para perto do alvo a cada 10 s. |
| Fortalecedor | 1 | Aura de Warbanner de 25 m: +30% de velocidade de ataque e de movimento para os aliados dele. |
| Arruinado | 2 | Recebe dois afixos de elite aleatórios ao mesmo tempo. |
| Eco | 2 | Invoca 2 ecos com 10% da vida, que atiram projéteis teleguiados e somem quando ele morre. |
Exemplo: um Lemuriano Fortalecedor no meio de um grupo deixa todos em volta mais rápidos. Mate ele primeiro.
Sistemas de jogo
Multiplicador de itens ([Multiplier])
O que faz: cada item que um jogador pega rende várias cópias. Não multiplica itens iniciais, itens de monstros, sucata, temporários, conversões do Vazio nem os itens únicos do mod.
Como usar: já vem ligado. Opções:
Value: total de cópias por item coletado (padrão 10).IncludeLunar/IncludeVoid: também multiplicar lunares e do Vazio (padrão: sim).StackCap: teto de cópias de um mesmo item por jogador (padrão 150;0= sem teto). Item pego com o stack no teto some, com aviso no chat.
Exemplo: você pega 1 Lens-Maker's Glasses e fica com 10. Mais 15 pegas e chega a 150: a próxima some.
Dificuldade ([Difficulty])
O que faz: inimigos mais fortes, mais numerosos e uma escalada de dificuldade mais rápida. Também é o que faz o Chamado da Horda funcionar. Só o host precisa.
Como usar: já vem ligada. Opções:
Factor: multiplicador geral (1 = sem mudança; 2 = o dobro, repartido pelos ganhos abaixo).HealthGain,DamageGain,QuantityGain,PaceGain: quanto doFactorvai para vida, dano, quantidade e ritmo.MonsterHealthBonus(padrão 75) eMonsterDamageBonus(padrão 50): vida e dano extras fixos, em %.
Exemplo: com os padrões, todo inimigo tem +75% de vida e +50% de dano. Com Factor = 2, além disso: +100% de vida,
+50% de dano, 3× mais inimigos e dificuldade subindo 50% mais rápido.
Progressão entre runs ([Progression])
O que faz: no fim de cada run, o grupo recebe uma nota (velocidade, mortes, dano sofrido e abates) e o resumo aparece no chat. Vitória com nota boa sobe um nível, e cada nível dá mais inimigos na próxima run. Derrota desce um nível.
Como usar: já vem ligada. Opções:
Step: inimigos a mais por nível (padrão0.15, +15%).MaxMultiplier: teto (padrão 3×).RaiseAt: nota mínima para subir (padrão0.5).Par...: as referências da nota (tempo para carregar o teleportador, mortes, dano e abates).
Comandos: ror2meeeee_progress mostra o nível; ror2meeeee_progress_reset zera.
Exemplo: vocês vencem rápido e sem morrer: nível 1 → 2, e a próxima run começa com +30% de inimigos. Run abandonada no meio não conta.
Bazar Maior ([Bazaar])
O que faz: o Bazar entre Tempos ganha até 6 baús com o item à mostra, comprados com o ouro que sobrou do estágio. Ao lado do Newt aparece um casulo que troca moeda lunar por ouro. O item comprado cai no chão e passa pelo Multiplicador e pelo Comunismo. Com o Artefato do Comando, cai o cubo de escolha do mesmo tier, como num baú do jogo. O item que flutua sobre o baú é só vitrine: não dá para pegar.
Como usar: entre no portal azul do bazar. Com KeepMoney (padrão ligado), seu ouro não vira XP ao entrar:
fica para gastar, e o que sobrar vira XP ao sair. Opções:
Chests: número de baús (1 a 6).PayWithLunarCoins: baús custam moedas lunares em vez de ouro.LunarCoinGoldeMaxExchangesPerPlayer: ouro por moeda no casulo e trocas por jogador.- Para cada tier: peso, preço, preço lunar e estoque (
WhiteWeight,WhiteCost,WhiteStock...).
Exemplo: você chega no bazar com 400 de ouro. Os baús mostram dois verdes e um vermelho; um verde custa o preço de 2 baús pequenos do estágio anterior. Sem ouro, você troca 1 moeda lunar no casulo pelo valor de um baú médio.
Cálculo limitado ([LimitedCalc])
O que faz: itens que pesam no FPS com muitas cópias passam a contar até um limite, sem perder o efeito. Vale para
Bustling Fungus, Bundle of Fireworks e Ghor's Tome, cada um com sua seção ([LimitedCalc.BundleOfFireworks]...).
Como usar: escolha o modo de cada item:
Off: como no jogo.Clamp: funciona como se tivesse no máximoLimitcópias.Aggregate: menos efeitos, cada um mais forte, com o mesmo resultado total. Fireworks solta menos mísseis com mais dano cada; Ghor's Tome solta menos pacotes de ouro, cada um valendo mais.
Padrões: Fireworks Aggregate, até 20; Ghor's Tome Aggregate, até 5; Fungus Off.
Exemplo: com 200 Fireworks, abrir um baú soltaria 804 mísseis. Em Aggregate com limite 20, saem 84 mísseis, cada
um com quase 10× o dano. O total é o mesmo e o FPS não cai.
Telas
Soltar itens (F7, [Drop])
O que faz: solta itens do seu inventário no chão, para dar a um aliado.
Como usar: aperte F7, clique no ícone do item, ajuste a quantidade e clique em SOLTAR (ou use as setas,
+/- e Enter). Também pelo console:
ror2meeeee_drop: lista o que dá para soltar.ror2meeeee_drop <nome> <quantidade>: solta direto.ror2meeeee_drop_menu <nome>: abre a tela com o item já escolhido.
Opções: MenuKey (tecla, padrão F7) e MaxPerCommand (máximo por vez, padrão 10).
Exemplo: você tem 30 Syringes e seu amigo nenhum: ror2meeeee_drop Syringe 10 solta 10 no chão para ele pegar.
Status da run (F8, [Stats])
O que faz: mostra seus atributos atuais e, para todos os jogadores, o total da run de dano causado, cura e dano recebido.
Como usar: aperte F8 para abrir e fechar. A tecla muda em MenuKey.
Exemplo: no fim do estágio, abra o F8 para ver quem causou mais dano e quem tomou mais.
Desempenho
Ligados por padrão, para a partida aguentar inventários enormes. Nenhum muda o dano total.
| Seção | O que faz | Opções principais |
|---|---|---|
[Particles] |
Limita quantas vezes por segundo cada tipo de efeito visual aparece e é enviado aos outros. | MaxPerSecond (10), Raised/RaisedMaxPerSecond (explosões, 60), Exempt (nunca limitados; padrão golpes do Mercenary) |
[ProjectileBudget] |
Itens que disparam em massa (Sticky Bomb, Molten Perforator, estacas, Fireworks, mísseis...) soltam menos projéteis, cada um mais forte. Só projéteis de jogadores. | Prefabs, PerTypeMaxPerSecond (15), GlobalMaxPerSecond (40) |
[GhostBlades] |
Limita as Lâminas Fantasmas do item Curse (DLC4), que chegavam a ~700 por segundo. | MaxPerSecond (10) |
[Cleanup] |
Cadáveres somem rápido, mesmo à vista, e corrige um erro do jogo no Totem dos Lynx. | MaxCorpses (10), CorpseLifetime (2 s) |
[GameFixes] |
Corrige erros do jogo que se repetem centenas de vezes por partida (Runic Lens, Unstable Transmitter, War Bonds), os erros de spawn da Craca do Vazio e de morte da Defective Unit e do Dunestrider, do Baú Mímico, o artefato do Enxame e drones/monstros Dourados que travavam com pepitas. | só Enabled |
Exemplo: com 100 Sticky Bombs, em vez de 100 bombas por segundo saem 15, cada uma com o dano somado das outras.
Configuração
- Arquivo:
BepInEx/config/com.sawcunha.ror2meeeee.cfg. No r2modman: Config editor →com.sawcunha.ror2meeeee. - Na tela de mods: com o Risk of Options instalado, as opções aparecem dentro do jogo.
- Quem precisa configurar: só o host.
- Quando vale:
Enabledliga e desliga na hora (entre partidas). Os outros valores são relidos comror2meeeee_reload.
Comandos de console
Abra o console com Ctrl + Alt + ` (ou F2, conforme o seu teclado).
| Comando | Para que serve |
|---|---|
ror2meeeee_status |
Lista as features, falhas e hooks do mod. |
ror2meeeee_reload |
Relê o .cfg. |
ror2meeeee_drop [nome] [qtd] |
Solta itens (veja Soltar itens). |
ror2meeeee_drop_menu [nome] |
Abre a tela de soltar itens. |
ror2meeeee_progress / ror2meeeee_progress_reset |
Nível da progressão entre runs / zerar. |
ror2meeeee_spend |
Compras e ouro gasto por jogador na run. |
ror2meeeee_effects [top] |
Efeitos visuais mais frequentes (com [Particles] CountSpawns ligado). |
ror2meeeee_demo |
Mostra a lápide e o marcador de alvo à sua frente por 15 s. |
Perguntas frequentes
Meu amigo não consegue entrar. Todos precisam da mesma versão do mod. Atualize todos pelo gerenciador.
Peguei um item e ele sumiu. Você chegou ao teto [Multiplier] StackCap (150 cópias). O chat avisa.
Algo deu errado. O BepInEx/LogOutput.log tem linhas [Ror2Meeeee], e ror2meeeee_status mostra se alguma parte
se desligou sozinha depois de erros. Mande o log junto com o relato.
O jogo travou e tive que fechar. Abra o jogo de novo e mande o LogOutput.log dessa nova abertura: a linha
[Vigia] a sessão anterior não fechou normalmente mostra como a partida estava nos últimos segundos antes de travar.
Créditos
Desenvolvido e testado por:
- SawCunha
- Sleeping_tv_
- Póker.the.wolf
- Artie_saito
Projeto no GitHub: https://github.com/SawCunha/ror2_meeeeeeee
CHANGELOG
Changelog
0.10.4
- Desempenho: mísseis (
MissileProjectile: ATG, Disposable Missile Launcher, aspecto Volátil...) entram na lista padrão do[ProjectileBudget](15 por segundo, dano dos que não saem somado ao próximo). Numa run de 4 jogadores, o Bazar, sem nenhum inimigo, tinha 675 mísseis a cada 30 s. Em uma config existente, acrescenteMissileProjectileaPrefabsà mão. - Desempenho: teto global de projéteis de jogadores (
[ProjectileBudget] GlobalMaxPerSecond) de 80 para 40 por segundo. Na mesma run, mesmo com os tetos por tipo, a soma passava de 50/s com 1 a 3 monstros vivos e o frame médio chegava a 34 ms (p95 54 ms). O dano dos projéteis que não saem é somado aos seguintes do mesmo tipo. Em uma config existente, mudeGlobalMaxPerSecondà mão. - Diagnóstico: o
NullReferenceExceptiondoInventorySafekeepControllerao fim da run (o jogo tenta devolver os inventários guardados de cada jogador depois que a run já foi desmontada; não há perda de itens numa run em andamento) passa a ser contado como ruído conhecido, assim como o doSetStateOnHurt.GetModifiedDuration(inimigo atingido no mesmo frame em que nasce, antes de o jogo preencher os controladores de atordoamento; corrigir exigiria um hook em todo golpe, caro demais para um caso raro) e o doParticleSystemColorFromEffectData(efeito do jogo criado sem passar peloEffectManager; a partícula só não recebe a cor) e oUnable to SpawnEffect from prefab named 'GenericHugeFootstepDust'(efeito de pisada do jogo que não está no catálogo de efeitos; só esse nome) e oBaseAchievement: localUser is null!(conquista verificada sem usuário local num desbloqueio em multiplayer) e o doMasterSuicideOnTimer.OnDestroy(ajudante temporário destruído antes de o jogo terminar de montá-lo) e o doBrotherUltUtils.EvaluatePattern(fase 2 do Mithrix: o ataque mira quem matou o inimigo, e uma torreta ou drone sem direção estoura o cálculo; o ataque só não sai) e o da conquista do Captain na zona de choque (CaptainSupplyDropFinaleAchievement), que também aparece comoFailed at InvokeHandler, probably malformed packet!. - README: seção de créditos com quem desenvolve e testa o mod (SawCunha, Sleeping_tv_, Póker.the.wolf e Artie_saito) e link do projeto no GitHub (topo da página e créditos).
0.10.3
- Desempenho: Fireworks (
FireworkProjectile) entra na lista padrão do[ProjectileBudget]: no máximo 15 por segundo, somando todos os jogadores, com o dano dos que não saem somado ao próximo (mesmo dano total). Numa run de 4 jogadores chegaram a 902 mísseis a cada 30 s antes de o jogo travar; o[LimitedCalc]limita cada lançador, mas com o Multiplicador são muitos lançadores. Em uma config existente, acrescenteFireworkProjectileaPrefabsà mão. - Diagnóstico: o aviso de enxurrada de ouro (
[Diag] enxurrada de eventos de ouro) passa a usar 40 eventos por segundo por jogador; com 3 jogadores, cada abate gera 3 eventos e um pico normal de abates já disparava o aviso. - Correções do jogo (
[GameFixes]): o Dunestrider que morria sem o ponto "Center" no modelo estouravaNullReferenceExceptionno efeito de morte antes de destruir o modelo e o corpo, e o jogo não tentava de novo: o corpo morto ficava no servidor até o fim do estágio. Agora o efeito usa a posição do corpo e a limpeza do jogo roda inteira (uma checagem por morte de Dunestrider). O Baú Mímico sem o ponto "Muzzle" no modelo estourava ao abrir e ao se enterrar; ao abrir, o estouro pulava a linha que marca o mímico como "ator falso", mas a saída do estado desmarcava mesmo assim: o contador ficava negativo e a camada de colisão do mímico, errada. Agora o mod trata só esse estouro esperado e completa a linha pulada. - Diagnóstico: passam a ser contados como ruído conhecido do jogo o
CombatSquad has no living members. Triggering defeat...(registrado como erro quando um grupo de chefe/evento é derrotado) e oUnable to set gate state for ...(mapa que referencia uma passagem ausente do grafo de navegação, ao carregar o estágio) e oPickupDisplay bounds are zero!(modelo de pickup do jogo com tamanho zero, como o do HelpWake), além dos erros de rede e da prévia de personagem quando alguém sai do lobby (host id {0} invoked wrong io operation,host id {0} out of bound...,SurvivorMannequinSlotController.ApplyLoadoutToMannequinInstance) e oNullReferenceExceptiondo Extractor Unit sem animator (ExtractLunge.OnEnter; sem animator ele não ativa a hitbox e não rouba itens, então não há o que corrigir) e o do Solus Amalgamator (DetatchState.OnEnter: o jogo dispara as separações no corpo já morto, sem modelo).
0.10.2
- Diagnóstico de travamento: a vigia grava a cada 5 s um "último sinal de vida" em
BepInEx/ror2meeeee-heartbeat.txt(estágio, frame, monstros, abates, ouro, lâminas cortadas, exceções, RAM). Fechar o jogo normalmente apaga o arquivo; se ele existir na abertura seguinte, o log ganha[Vigia] a sessão anterior não fechou normalmente...com o estado da partida no fim. Motivo: numa run de 3 jogadores o processo inteiro congelou (log, Unity e a própria vigia pararam no mesmo segundo) e não sobrou nada para saber o que acontecia. - Dificuldade: as almas do Artefato da Alma (uma por monstro morto, milhares por run) não recebem mais os itens de Boost de vida e dano; morrem num golpe e o Boost só custava um recálculo de atributos a cada uma.
- Lâminas Fantasmas (
[GhostBlades]): teto padrão de 15 para 10 por segundo (a run que travou ficou no teto, ~400 lâminas a cada 30 s). Vale para configs novas; em uma existente, mudeMaxPerSecondà mão. - README reescrito para o Thunderstore: cada artefato, item, equipamento, elite e sistema em uma seção própria, com o que faz, como usar e um exemplo; tabela de resumo, comandos e perguntas frequentes. Descrição e site do pacote atualizados.
- Elite Eco: se o projétil dos ecos vier sem ghost (endereço e referência vazios), o mod usa o
EchoHunterGhostdo jogo para os tiros não ficarem invisíveis. - Bazar Maior: o item que flutua sobre o baú podia ser pego (o
Start()do jogo zerava a marcaconsumedque o mod colocava logo depois de criá-lo). Agora a vitrine usa um tempo de espera infinito, que o jogo não reinicia, e nunca é concedida. Com o Artefato do Comando, o baú volta a soltar o cubo de escolha do mesmo tier em vez do item direto; só a vitrine ignora o artefato. - Correções do jogo (
[GameFixes]): a Craca do Vazio chamava um efeito de spawn vazio a cada vez que nascia (o 1.5.0 deixou o endereço do efeito em branco), gerando um erro com pilha no log por craca. O mod descarta o efeito vazio antes; sem custo por tick, uma checagem por spawn. A Defective Unit estouravaNullReferenceExceptionao morrer já sem modelo (o jogo lia o modelo sem checar); nesse caso o mod pula só o trecho do efeito de morte, que não teria onde aparecer. ror2meeeee_reload: o texto de ajuda dizia queEnabledexigia reiniciar; ele já vale na hora, entre partidas.- Desempenho: o crédito do Dízimo (
[Gold]) não monta mais uma string de diagnóstico a cada ouro ganho (só quando a enxurrada é detectada, uma vez por estágio); o Grimório guarda o efeito de teleporte em vez de recarregá-lo a cada uso. - Métrica de carga: a linha
[Carga]agora lista as etapas do Awake que levaram 5 ms ou mais (registro de cada item/artefato/elite, interface, config,Enablede cada feature e tela de mods), para achar o que pesa na abertura. - Diagnóstico: passam a ser contados como ruído conhecido do jogo (não do mod) o
IndexOutOfRangeExceptiondo Facepunch na lista do lobby quando alguém entra, oAddPlayerduplicado ao um jogador entrar (already a player at that playerControllerId/connection has already been set as ready), oNullReferenceExceptiondoSteamworksLobbyDataGeneratorno lobby, o doViewableTag.OnDisableao fechar o jogo e oGenericPool: ReleasePools called on non-empty poolda troca de cena e oAssignClientAuthorityde ajudantes do jogo. O aviso de "erro novo" mostra a primeira linha da pilha e ignora números (IDs de conexão) ao decidir se o erro já foi visto.
0.10.1
- Elite Eco volta a funcionar no jogo 1.5.0: o patch moveu os assets do Eco de
RoR2/InDev/paraRoR2/Junk/(edEcho.asseteEchoHunterProjectile.prefab); na 0.10.0 o elite não era registrado e o log mostravaInvalidKeyException ... Key=RoR2/InDev/edEcho.asset.
0.10.0
- Bazar Maior (
[Bazaar], novo, ligado; reescrita do BiggerBazaar 1.14.5): o Bazar entre Tempos ganha até 6 baús com o item à mostra, comprados com o ouro que sobrou do estágio (o ouro não vira XP ao entrar no portal do bazar) ou com moedas lunares (PayWithLunarCoins), e um casulo ao lado do Newt que troca moeda lunar por ouro. Peso, preço, preço lunar e estoque por tier (10 compras por baú), sem limite de compras por jogador; limite de trocas no casulo; 10% de chance de baú de itens temporários. Em relação ao original: preço = baú pequeno do estágio anterior × multiplicador (o original escalava duas vezes), sorteio próprio (não mexe no RNG da run), item comprado cai no chão e passa pelo Multiplicador/Comunismo, a Sale Star não é gasta à toa, o casulo não dispara Fogos, o Reciclador não troca o item à mostra, o Comando não troca o item comprado, itens únicos do mod ficam fora da loja e o hack do Captain não abre os baús. Sem ShareSuite, sem preço dos terminais originais do bazar e sem compra direto no inventário. - Elites novos (
[Elites], novo, ligado; reescrita do MoreElites 0.9.5 e do BlightedElites 1.2.2): Volátil, Frenético e Fortalecedor (T1, com versão de Honra), Arruinado e Eco (T2). Só assets do jogo: o Frenético é o elite amarelo do jogo e o Eco é o edEcho do jogo, que o diretor nunca sorteava. Em relação aos originais: mísseis e teleporte só no host (não duplicam nos clientes), o aspecto Frenético usado por jogador não teleporta para (0,0,0), o elite de Honra tem os stats de Honra do jogo, o Volátil não dá um Brilliant Behemoth que nunca sai, o Fortalecedor não apaga um Warbanner de verdade, o projétil do Eco é registrado (chegava aos clientes sem catálogo) e os tiers vêm do R2API.Elites, não de índices fixos. Nova dependência: R2API_Elites 1.1.3. - Elite Dourado em IA (
[GameFixes]): drones, aliados e monstros Dourados soltavam pepitas de ouro a cada golpe em quem não é jogador, sem o cooldown nem a chance que o jogador tem, até travar a partida. Agora seguem a regra do jogador (mesma correção do GildedChunkSpamFix; não instale os dois). - Artefato do Enxame (
[GameFixes]): as cópias do Enxame nasciam em cima do jogador ou não nasciam, porque o jogo deixava zeradas as distâncias de spawn delas nos spawns normais do diretor. Agora recebem as distâncias do spawn original (mesmo bug que o SwarmsFix corrige; não instale os dois). - Tela de soltar itens (F7): parou de criar estilos de texto novos a cada desenho (vários por frame, um por item) e só procura ícones no HUD quando falta algum, em vez de a cada 0,5 s. Menos lixo de memória com a tela aberta.
- Chamado da Horda: a descrição dizia +25% por cópia; o padrão é +50% (
Horde.QuantityPerStack = 0.5). - Progressão: fechar o jogo logo depois do fim da run não perde mais o nível nem a linha do CSV (a gravação roda na hora quando o jogo está fechando).
- Teto de projéteis (
[ProjectileBudget]): projéteis fora da listaPrefabscortados pelo teto global perdiam o dano; agora ele vai para o próximo disparo do mesmo tipo, como já acontecia com os da lista (dano total mantido).
0.9.6
- Teto de projéteis (
[ProjectileBudget]), novos padrões medidos numa run de 3 jogadores (~8 mil itens, FPS caindo para ~11 nas lutas):DaggerProjectile,EngiGrenadeProjectileeShurikenProjectileentram na listaPrefabs;PerTypeMaxPerSecond15 (antes 30) eGlobalMaxPerSecond80 (antes 300, que nunca era atingido). O dano total continua o mesmo: menos projéteis, cada um mais forte. - Lâminas Fantasmas (
[GhostBlades]):MaxPerSecond15 (antes 30, que ficava sempre no teto). - Partículas (
[Particles]): explosões (OmniExplosionVFXQuick) saem da isenção total e ganham teto próprio maior: nova listaRaised(padrãoOmniExplosionVFXQuick) comRaisedMaxPerSecond60. Sem teto, eram o efeito mais frequente da run (190 mil+).Exemptpassa a ter só os golpes do Mercenary. - Correções de bugs do jogo (
[GameFixes], novo, ligado): erros que se repetiam centenas de vezes por partida (com pilha no log, custando FPS) deixam de acontecer:- Runic Lens: se quem acertou morre antes do meteoro cair, o jogo repetia o erro a cada tick; o meteoro desse golpe é cancelado.
- Unstable Transmitter: corpo com o item e sem inventário dava erro a cada frame; orbe cujo dono já morreu dava erro ao tocar inimigos; inimigo sem modelo não era teleportado e perdia também sangramento, atordoamento e debuff (agora fica onde está e recebe o resto do efeito).
- War Bonds: torreta do Engi com o item dava erro ao morrer.
- Equipamento: corpo sem inventário com pedido de uso de equipamento dava erro a cada tick.
- Log: as linhas por uso do Ghor's Tome e do Bundle of Fireworks (
[LimitedCalc], centenas por run) só aparecem comGeneral.VerboseLogging. - Configs existentes mantêm os valores salvos: para pegar os novos padrões, apague as chaves (ou o
.cfg) ou ajuste na tela de mods.
0.9.5
- Partículas: teto padrão reduzido para 10/s por tipo de efeito (antes 20/s), com exceções padrão para os
golpes do Mercenary (
BladeComboSwingEffect) e explosões (OmniExplosionVFXQuick), que seguem completos. Configs existentes mantêm os valores salvos deMaxPerSecondeExempt.
0.9.4
- Atualizado para o Risk of Rain 2 1.5.0#1224 (Steam build 25921972): sem o aviso de versão divergente no log.
- Égide Vampírica e Égide do Devorador ganharam modelo 3D próprio (escudo redondo com umbo: vermelho e dourado / roxo com brilho do Vazio), no chão e no logbook, no lugar do Rose Buckler e do Safer Spaces.
- Pregos Enferrujados / Espinhos do Vazio: corrigidas 6 chaves de assets do jogo que nunca carregavam (ícone da
marca do Estilhaço, rastro dos pregos, efeito da detonação e modelo reserva). Some o
InvalidKeyExceptionno início. - Métrica de carga: o log ganha
[Carga] Awake em X ms(registro de itens/artefatos e features/hooks separados). - Partículas: o corte local (
Disable) virou teto por segundo para todos os efeitos (MaxPerSecond, padrão 20/s por tipo de efeito), menos os listados emExempt. Vale também para o que cada jogador envia aos outros, host incluído: quem tem o mod gera e transmite menos efeitos. Na troca de fase o log diz quantos efeitos o teto segurou. A chaveDisableantiga deixa de ser usada. - Multiplicador:
Multiplier.StackCappassa a ter padrão 150 e vale para qualquer item multiplicado ou compartilhado (antes os itens do Cálculo limitado eram isentos). Teto rígido: item pego com o stack já no teto some, sem entrar no inventário, com aviso no chat; o compartilhamento não dá nada a quem já está no teto. Impressora, caldeirão egive_itemnão passam por esse teto. Configs existentes mantêm o valor salvo. - zzz cervo <3 ganhou modelo 3D próprio (cervo marrom de olhos esbugalhados, boca aberta e patas finas), no lugar do Paul's Goat Hoof.
- Bateria do Portal ganhou modelo 3D próprio (bateria deitada de metal gasto, anéis escuros e faixa/terminal ciano), no lugar da Fuel Cell do jogo.
0.9.3
- Partículas: com
Particles.CountSpawnsligado, a lista dos 20 efeitos mais frequentes da run (a mesma doror2meeeee_effects) sai sozinha no console e noLogOutput.loga cada fase nova ([Particles] efeitos mais frequentes após N fase(s)). Roda em cada jogador, não só no host.
0.9.2
- Ghor's Tome no cálculo limitado (
[LimitedCalc.GhorsTome], padrãoAggregate,Limit = 5): a chance de soltar pacote de ouro fica em até 4% ×Limit(20%) e cada pacote vale proporcionalmente mais (até 5×), mantendo o ouro esperado por kill com menos pacotes no mapa.Clampsó corta a chance;Off= como no jogo. Vale para todos os jogadores, pela config do host. Log:[LimitedCalc] GhorsTome Aggregate: pacote X -> Y.
0.9.1
- Pilha de Pregos Enferrujados e Pilha de Espinhos do Vazio ganharam modelo 3D próprio (pilha de pregos enferrujados / roxos), no chão e no logbook, no lugar da Tri-Tip do jogo.
- Com
General.VerboseLoggingligado, oLogOutput.logregistra cada prego, espinho do Vazio e detonação (RustyNail: ...). - Ícones próprios do Artefato do Comunismo no lobby.
0.9.0
- Novo item Pilha de Pregos Enferrujados (branco): 2% de chance por golpe (+0,1% por cópia extra) de disparar um
prego de 10% do dano base (+0,1% por cópia extra) que aplica sangramento. Console:
give_item Ror2MeeeeeRustyNailStack 1. - Novo item Pilha de Espinhos do Vazio (void; corrompe a anterior): 2% de chance (+0,5% por cópia extra) de disparar
um espinho de 10% do dano base (+0,5% por cópia extra) que marca o alvo com Estilhaço do Vazio por 3 s. Ao fim, detonação
de 250% e chuva de espinhos num raio de 12 m (150%, +50% por cópia extra) que marca os atingidos. A cadeia é limitada
por
RustyNail.MaxChain(padrão 2). Console:give_item Ror2MeeeeeVoidSpikeStack 1. - Tela de soltar itens (F7): a quantidade agora respeita
Drop.MaxPerCommand(antes a tela deixava escolher 50, o servidor soltava 10 e o valor não batia) e a contagem cai na hora. Novo campo para digitar a quantidade e botões −1, +1, +5 e +10. - Compartilhamento virou o Artefato do Comunismo: só funciona com o artefato ativo no lobby (a opção
Sharing.Enabledfoi removida) e agora compartilha todo tipo de item (lunar e void mesmo sem multiplicar, sucata, tiers das expansões, temporários e alugados no mesmo modo).
0.8.6
- Probe: três colunas novas por janela de 30 s, para achar o que pesa em runs longas:
heal_events(quantos eventos de cura, não só quanto),minions(drones, torretas e outros ajudantes dos jogadores) eplayer_items(total de cópias de itens dos jogadores). Também no log[Probe] Fase ...e notools/probe-report.py. O CSV antigo é arquivado sozinho. - Grimório: quando não há diretor de combate ativo (Bazar, fim de estágio), o chat diz "Sem diretor ativo: nenhuma onda desta vez" em vez de dizer que o contrato foi cobrado. Nomes no chat e no log sem os títulos de elite.
- Novo
[ProjectileBudget]: teto de projéteis dos jogadores e ajudantes, no host. Por tipo (Prefabs, padrão StickyBomb, FireMeatBall (Molten Perforator) e LightningStake;PerTypeMaxPerSecond30) e global (GlobalMaxPerSecond300). Acima do teto o projétil não sai e o dano dele vai para o próximo: menos projéteis, cada um mais forte, mesmo dano total. Em runs longas esses itens passavam de 11 mil projéteis em 30 s (~1 FPS) e o lixo gerado causava travadas de vários segundos. Projéteis de monstros não mudam. - Chamado da Horda não é mais multiplicado nem compartilhado (1 pickup = 1 cópia, como o Cano Extra). Com 3-4 jogadores ele chegava a 60 cópias e x43 inimigos, com ciclos de morte e quedas de FPS.
- Lâminas Fantasmas: teto padrão de 100 para 30 por segundo (com 100 ficava sempre no teto, ~2,8 mil projéteis por 30 s).
Configs existentes mantêm o valor gravado; ajuste
GhostBlades.MaxPerSecondse quiser.
0.8.5
- Lápide: quem morre com vida extra do jogo (Dio's Best Friend ou a versão do Vazio) não gera lápide; o jogo já o traz de
volta. Antes a lápide aparecia e sumia 2 s depois. Log:
[Revive] X morreu com vida extra ... sem lápide.
0.8.4
- Tela de status (F8): falhava ao abrir ("Expected data type ULong, got data type Double"). As estatísticas da run são inteiras no jogo; agora são lidas com a leitura que aceita qualquer tipo.
0.8.3
- Lápide sem visual e marcador do I.M.P. invisível (desde a 0.7.0): os prefabs dos efeitos do mod (modelo da lápide,
pulso silencioso, marcador do contrato) eram criados no menu sem
DontDestroyOnLoad; a primeira troca de cena os destruía e o envio era pulado em silêncio. Agora sobrevivem às trocas de cena. - Coração Pesado/Bastião: vida máxima + escudo agora param em 1 bilhão. Acima de ~2,1 bilhões a barra de vida do jogo (que usa int) estourava e lançava OverflowException a cada frame (centenas por minuto no log, custo de desempenho).
- Nova tela de status (
Stats.MenuKey, padrão F8): atributos atuais do seu personagem (vida, escudo, regeneração, dano, velocidade de ataque, crítico, armadura, velocidade, nível) e totais da run (dano causado, dano dos ajudantes, maior golpe, cura, dano recebido, abates, mortes, itens). Os totais vêm das estatísticas do próprio jogo (as da tela de fim de run). Mostra todos os jogadores: vida, dano e totais da run de cada um. O jogo só manda ao cliente os próprios totais; o host envia os de todos a cada 2 s (só com cliente conectado). Nova dependência: R2API Networking. - Telas F7 (soltar itens) e F8 (status): fecham só pela própria tecla (Esc não fecha mais) e não abrem uma sobre a outra.
0.8.2
- Ordem de aplicação fixa para os itens que mexem em vida, escudo, velocidade e dano (antes, cada item tinha o seu hook e
a ordem dependia de quem registrou primeiro). Um hook só por ponto do jogo (
BodyHooks), ligado só com portador:- Status: Coração Pesado (vida) -> Bastião (escudo sobre a vida já multiplicada) -> Cervo (velocidade em dano) -> vida e escudo atuais reajustados uma vez, no host.
- Dano recebido: Égide sorteia o bloqueio -> Coração Pesado aumenta o dano de inimigo (só se não bloqueou) -> jogo ->
Égide rouba vida se bloqueou.
Log:
[BodyHooks] hook de stats/dano ligado/desligado.
- Taxa do Taxade é sempre o último passo: calculada sobre a vida máxima final e aplicada direto, sem bloqueio da Égide nem aumento do Coração Pesado. A Égide também passa a respeitar BypassBlock (como o Tougher Times do jogo).
- Compras com ordem fixa (
PurchaseHub, um assinante só): Spend registra o gasto e o Taxade vem por último (antes, a ordem dependia de qual feature ligou primeiro, inclusive ao religar pela tela de mods). O custo de vida do revive também passa direto, como a taxa. - Bateria do Portal: como os outros itens, os hooks das zonas de carga só existem enquanto alguém tem o item. Log:
[PortalBattery] hooks de carga ligados/desligados.
0.8.1
- Coração Pesado: o aumento de dano recebido só vale para dano vindo de outro personagem. Antes ele também multiplicava cobranças em vida (Void Cradle, Santuário de Sangue): abrir um baú do Vazio deixava o jogador com 1 de vida, e o golpe seguinte matava. Queda e dano sem atacante também não aumentam mais.
- Artefato Taxade: abrir um baú normal podia matar (com Tax.Lethal desligado). O limite "deixa 1 de vida" era calculado antes de outros efeitos multiplicarem o dano (Coração Pesado, Death Mark). Agora o dano da taxa é NonLethal: o próprio jogo garante 1 de vida, seja qual for o multiplicador.
0.8.0
- Novo item lunar Coração Pesado (
[HeavyHeart]): cada cópia multiplica a vida máxima por 1,5 e o dano recebido por 1,3 (composto, sem teto: 10 cópias = vida x57,7 e dano x13,8). Ao pegar o item a vida extra já vem cheia (como os itens de vida do jogo); ao perder, a vida é cortada no novo máximo. Modelo: Pearl. Console:give_item Ror2MeeeeeHeavyHeart 1. - Novo Artefato do Vazio (
[VoidBounty]): com ele ativado no lobby, cada estágio ganha +5 baús do Vazio (Void Cradle;VoidBounty.ExtraChests) e todo baú do Vazio sorteia entre todos os itens do Vazio (branco 60%, verde 30%, vermelho 8%, boss 2%). Preço: todos os inimigos nascem com +50% de vida. Precisa do DLC Survivors of the Void na run. - Novo item verde Bateria do Portal (
[PortalBattery]): o teleportador e as outras zonas de carga carregam +10% mais rápido por cópia, somando as cópias de todo o time (sem teto). Modelo: Fuel Cell. Console:give_item Ror2MeeeeePortalBattery 1. - Novo item vermelho Bastião (
[Bastion]): escudo de 40% da vida máxima por cópia (sem teto) e o escudo começa a recarregar 2 s depois do último golpe (o jogo espera 7 s), na mesma velocidade de recarga do jogo. Modelo: Personal Shield Generator. Console:give_item Ror2MeeeeeBastion 1. - Grimório do Stolas: em mapas com poucos nós (Bazar) o teleporte "até o aliado" caía num ponto aleatório do mapa (o jogo usa um ponto aleatório quando não acha nó livre perto). Agora só aceita nó a até 10 m do aliado; senão, 2 m atrás dele, no chão. O log mostra a distância final.
0.7.1
- Lápide sem visual na 0.7.0: o Overlay volta a ficar sempre ligado (a otimização que o desligava quando ocioso foi
desfeita) e o modelo do Dio's Best Friend é medido e ajustado para ~2,5 m de altura (a escala nativa do modelo de
pickup não é confiável). Log
[Revive] lápide visível nesta máquina: ...na 1ª vez de cada sessão. - Todos os jogadores precisam desta mesma versão (0.7.0 teve vários pacotes com conteúdo diferente).
0.7.0
- zzz cervo <3: o hook em
CharacterBody.RecalculateStats(todo corpo, monstros inclusive) só fica registrado enquanto alguém tem o item, como já era no Cano Extra, nos Fungos e nas Égides. Log:[Cervo] hook de stats ligado/desligado. - Novos itens Égide Vampírica (verde) e Égide do Devorador (void verde, corrompe a primeira),
[Aegis]. Ambas dão 5% de chance de bloquear (não acumula) e reagem a qualquer bloqueio do jogo (Tougher Times, Safer Spaces, parry, armadura do Captain); imunidade/invencibilidade não conta. Vampírica: rouba 8% da vida atual do agressor por cópia (até 50%) e cura você. Devorador: onda do Vazio que rouba 3% da vida atual de cada inimigo num raio de 13 m (+3% e +2 m por cópia, até 20% e 30 m) e cura pela soma. Modelos: Rose Buckler e Safer Spaces. Console:give_item Ror2MeeeeeVampiricAegis 1/give_item Ror2MeeeeeDevourerAegis 1. - Modelos 3D no chão para os itens do mod (antes todos eram a "caixa misteriosa"): Chamado da Horda = War Horn, zzz cervo <3 = Paul's Goat Hoof, Cano Extra = Brilliant Behemoth, Contrato da I.M.P. = Death Mark, Grimório do Stolas = Ghor's Tome, Capitalismo = Roll of Pennies. Se um modelo não carregar, volta para a caixa misteriosa.
- Novos itens Fungo Egoísta (verde) e Fungo Egoísta do Vazio (void verde, corrompe o primeiro),
[SelfishFungus]: curam sempre (andando ou parado) só você e seus drones/torretas/ajudantes, onde estiverem; não curam outros jogadores. Egoísta: 5 de vida por segundo (cresce 20% por nível) +0,01% da vida máxima por cópia extra, com o brilho do Medkit a cada 3 s. Vazio: 15/s +0,5% por cópia extra, com a aura roxa do Weeping Fungus. A base é fixa (não em %) para não escalar com a vida inflada pelo multiplicador. Ninguém com vida cheia é "curado" (sem eventos de cura à toa). Console:give_item Ror2MeeeeeSelfishFungus 1/give_item Ror2MeeeeeSelfishFungusVoid 1. - Grimório do Stolas: agora teleporta para perto do primeiro aliado vivo (na ordem da lista de jogadores). Sozinho, ou com todos os outros mortos, continua indo para o teleportador; sem aliado e sem teleportador (Bazar, Lua) o uso não é gasto.
- Contrato da I.M.P.: o aviso "novo contrato" e o marcador "ALVO DO CONTRATO" (maior, fonte 26) aparecem para todos os jogadores, não só para o host. O marcador some sozinho em ~1 s quando o alvo morre.
- Lápide (Artefato da Ressurreição): agora tem o modelo 3D do Dio's Best Friend (2,5x) no local, e o marcador
"LÁPIDE de <nome>" ficou maior (fonte 30) e aparece para todos os jogadores, não só para o host. O host reenvia o
modelo como efeito a cada 1 s; ao reviver, ele some em ~1 s. Nova dependência de compilação:
Unity.Addressables. - Overlay (avisos e marcadores) e tela de soltar itens ficam desligados quando não há nada na tela: o Unity deixa de
chamar o
OnGUI/Updatedeles a cada frame. A teclaDrop.MenuKeypassa a ser lida no update do jogo. - Cano Extra: os hooks de disparo (
BulletAttack.Fire,ProjectileManager.FireProjectile,OrbManager.AddOrb) só ficam registrados enquanto algum corpo tem o item. Sem portador, nenhum tiro do jogo (inclusive de monstros) passa pelo mod. O log mostra[CanoExtra] hooks de disparo ligados/desligadosa cada mudança. - Ícone do pacote (r2modman) agora é a mesma arte da tela de mods do jogo (
Assets/mod_icon.png). Até a 0.6.5 o zip levava umicon.pngantigo, copiado de versão em versão.
0.6.5
- Novo
[GhostBlades]: teto de gerações/renovações das Lâminas Fantasmas (item Curse do DLC4) por segundo (GhostBlades.MaxPerSecond, padrão 100; 0 = sem teto). Em runs longas o jogo chegava a ~700 por segundo (20 a 47 mil projéteis por 30 s), o que levava a memória nativa a mais de 3 GB e o frame a 100-300 ms. Só no host;GhostBlades.Enableddesliga.ror2meeeee_statusmostra quantas foram puladas.
0.6.4
- Tela de soltar itens: a imagem agora é lida dos ícones que o próprio HUD do jogo já desenhou (
ItemIcon), porquepickupIconTexture/pickupIconSpritechegavam nulos. Se ainda faltar imagem, o log lista os campos de ícone doItemDef([DropMenu] campos de ícone ...) e o quadrado mostra o nome.
0.6.3
- Tela de soltar itens: os ícones continuavam em branco na 0.6.2. Nesta versão do jogo
pickupIconSpriteestá obsoleto e vem nulo; a imagem agora vem deItemDef.pickupIconTexture(comPickupDef.iconTexturee os sprites antigos de reserva). Sem imagem, o quadrado ainda mostra o nome do item.
0.6.2
- Tela de soltar itens: os ícones estavam em branco. Agora usam
PickupDef.iconSprite(o mesmo da UI do jogo), comItemDef.pickupIconSpritede reserva; sem imagem, o quadrado mostra o nome do item na cor da tier. O log registra[DropMenu] ícones: N de M itens com imagemna primeira abertura.
0.6.1
- Soltar itens: item solto com o
Drope pego de volta não é mais multiplicado nem compartilhado de novo. Antes, soltar 4 e pegar de volta com multiplicador x10 virava 40 (duplicação); agora volta 4. O registro de itens soltos zera a cada estágio e a cada run. - Tela de soltar itens refeita: grade de ícones grandes (escalada pela resolução), clique no item mostra o painel dele já selecionado
(nome, quantidade, botões grandes), cursor liberado enquanto aberta; setas movem, +/- quantidade, Enter solta.
Novo comando
ror2meeeee_drop_menu [nome]abre a tela já com o item escolhido.
0.6.0
- Novo "Soltar itens" (
[Drop]): comandoror2meeeee_drop [nome] [quantidade]e menu na tela (teclaDrop.MenuKey, padrão F7; setas escolhem, Enter solta). Solta itens do próprio inventário no chão para dar a um aliado;Drop.MaxPerCommand(padrão 10). - Grimório do Stolas: teto de crédito por uso (
Grimoire.MaxCreditPerUse, 600) e trava por monstros vivos (Grimoire.MaxMonsters, 80); com a trava o uso ainda teleporta, só não dá crédito. - Contrato da I.M.P.: teto do ouro extra por contrato (
ImpContract.MaxGold, 20000); o log mostra quanto tempo o alvo viveu. - Diagnóstico sempre ligado:
[Identidade]e[Config]no início (versão, build da DLL e configs), resumo[Estágio]por estágio (duração, pior frame, abates, pico de monstros, ouro/crédito, exceções, erros novos do jogo),[Vigia]para travadas (jogo sem atualizar por 3 s ou mais), classificação dos erros do Unity (ruído conhecido contado, erro novo logado uma vez) e detector de enxurrada com pilha de chamadas (ouro e dano), uma vez por estágio. - Probe: monstros (média/pico), eventos de ouro, crédito dado/cortado, variação de memória Unity e pior frame por fase
(colunas novas no CSV; o antigo é guardado à parte) e
ALERTAquando a fase degrada (frame médio mais de 3x a melhor fase da run, +300 MB de memória nativa ou frame acima de 1 s), com os monstros vivos por tipo. ror2meeeee_statusmostra o diagnóstico (ouro, monstros, exceções, usos do Grimório e custo amostrado do hook de ouro).- Ressurreição: o log mostra quando a posição da lápide foi ajustada, o tempo de vida de cada lápide e o tempo até o revive.
0.5.0
- Ressurreição: a lápide agora aparece na tela de quem roda o mod (banner e marcador com nome e distância; seta na borda quando fora de vista).
- Ressurreição: pulsos repetidos usam um clone silencioso do efeito (o som toca só uma vez, na criação da lápide); coluna de luz visível de longe.
- Ressurreição: lápide criada em posição segura (chão abaixo da morte; sem chão, no aliado vivo mais próximo), evitando lápide inalcançável fora do mapa.
- Contrato da I.M.P.: o alvo ganha marcador vermelho na tela e banner de aviso.
- Dízimo: novo teto de crédito por segundo (
Gold.MaxCreditPerSecond, padrão 150) e trava por monstros vivos (Gold.MaxMonsters, padrão 80), contra a bola de neve ouro -> crédito -> inimigos -> lag. - Dízimo: o log registra a pilha de chamadas na primeira enxurrada de eventos de ouro (diagnóstico).
- Novo comando de console
ror2meeeee_demo: mostra por 15 s a lápide e o alvo de teste na tela.
0.4.0
- Desempenho do Cano Extra: orbs extras (flechas da Huntress) clonados sem reflexão por tiro e rotações do leque pré-calculadas.
- Ressurreição: jogador morto operando um drone (Operação Remota) agora conta como morto e a lápide revive; drone operado não revive ninguém.
- Ressurreição: logs de diagnóstico (artefato ativo por estágio, lápide criada/removida, morte sem artefato).
- Um único hook em CharacterMaster.GiveMoney para Taxade e Dízimo (antes eram dois).
- Logs de compra (Taxade) e de multiplicação (Multiplicador) amostrados: as primeiras da run e depois 1 a cada N.
0.3.0
- Novos itens (tema Helluva Boss):
- Equipamento lunar "Grimório do Stolas": teleporta para o teleportador; cada uso dá crédito ao diretor (onda de inimigos).
- Item vermelho "Contrato da I.M.P.": o primeiro elite ou chefe do estágio vira alvo marcado; matá-lo paga ouro extra (+100% por cópia) e solta um item verde.
- "Artefato da Ressurreição": quem morre deixa uma lápide; um aliado perto dela por 3 s revive o jogador com metade da vida, pagando metade da própria vida.
- Ícones provisórios (cor sólida).
- Novo item vermelho "Cano Extra": +1 tiro em leque na arma principal por cópia (até
MaxExtraShots, padrão 5; teto global por frame). Não é multiplicado; torretas não copiam. Custo zero por tiro quando ninguém tem o item. - Novo item void verde "zzz cervo <3": toda a velocidade de movimento extra vira dano (1:1, +50% de conversão por cópia extra). Sai em Void Cradles.
- Novo
[Cleanup]: cadáveres somem rápido (máximo 10, 2 s, mesmo à vista) usando o sistema do jogo; corrige o erro do jogo no Totem dos Lynx (NullReferenceException a cada tick quando os aliados já morreram). - Artefato do Dízimo: o diretor agradece no chat o ouro recebido (em R$), acumulado, no máximo 1 vez por
Gold.ThankIntervalSeconds(padrão 60 s) e no fim do estágio. - Artefato Taxade: a taxa vale para toda compra paga com ouro (baús, santuários, drones...) e nunca para outras moedas.
- Padrões novos: quase todas as features ligadas, multiplicador x10 com lunares/void, dificuldade +75% vida/+50% dano, Horda 0.5/20, Fireworks em Aggregate (20). Probe continua desligado.
- Descrições da tela de mods reescritas: cada
Enabledexplica o que a feature faz e do que depende. - Probe: coluna
ram_unity_alloc_mb(memória alocada, em vez de reservada); CSV antigo é guardado à parte. - Correção: ao fechar o jogo no meio da run, o CSV do Spend e a última janela do Probe se perdiam; agora são gravados na hora.
- Interno: acesso aos diretores de combate centralizado em
Common/Directors(nenhuma feature referencia outra).
0.2.0
- Novo: progressão de dificuldade entre runs (
[Progression]), com resumo da run no chat e CSV de histórico. Cálculo e gravação em disco fora da thread principal. - Novo: itens "Capitalismo" (branco/verde/vermelho): alívio da taxa do Taxade e bônus de ouro (+10/+20/+30%); 1 de cada por jogador, trocados no baú de quem já tem.
[Tax]passa a vir ligado por padrão.- Desempenho: hooks de
LimitedCalceParticlessó ficam registrados quando há algo a fazer; ícones sem cópia na RAM; menos alocação em Sharing, Spend e Probe; cache de reflexão no Difficulty. - Correção: memória que crescia por inimigo durante a run (Difficulty).
0.1.0
- Primeira versão: multiplicador, cálculo limitado, dificuldade, item Chamado da Horda, Probe.