everestapi / celestecollabutils2 Goto Github PK
View Code? Open in Web Editor NEW"If CollabUtils is so good, why isn't there CollabUtils2?" -- no one, ever
License: MIT License
"If CollabUtils is so good, why isn't there CollabUtils2?" -- no one, ever
License: MIT License
Migrated from iamdadbod's wishlist.
... or heart or some cool collectible that only appears if you collect ALL silver berries
Migrated from iamdadbod's wishlist.
When the game language is set to French, the text displayed in the Mod Options menu takes up the whole screen, and for some monitors even extends out of the screen, due to some options being too long.
To fix this issue, here are a few modifications to the French.txt file that can be done to make the menu narrower:
Here are lines 34 to 46 taking these changes into account:
modoptions_collab_speedberrytimerposition= Position Chronomètre Contre-la-montre
modoptions_collab_speedberrytimerposition_topleft= En Haut à Gauche
modoptions_collab_speedberrytimerposition_topcenter= En Haut au Milieu
modoptions_collab_hidespeedberrytimerduringgameplay= Cacher le chronomètre en jeu
modoptions_collab_displayendscreenforallmaps= Afficher l'Écran de Fin pour les maps
modoptions_collab_displayendscreenforallmaps_description= Nécessaire pour la vérification des temps de speedrun.com
modoptions_collab_besttimetodisplayinjournal= Meilleur Temps à Afficher dans le Journal
modoptions_collab_besttimetodisplayinjournal_speedberry= Contre-la-montre
modoptions_collab_besttimetodisplayinjournal_chaptertimer= Temps du Chapitre
modoptions_collab_savebydefaultwhenreturningtolobby= Sauv. et Retourner au Lobby par Défaut
Would appreciate if this was fixed as this issue can make some text unreadable in some places :3
PS: I’m sorry this issue is kind of my fault, as I wrote the French.txt file for this mod, and didn’t consider different monitors when testing out the dialogue in-game oopsie !
Berries that should:
WIP on branch speed_berry
Description
Dying in the lobby (Spring Collab 2020) with the map journal open will crash the game.
How To Reproduce
Information:
Additional context
Celeste Error Log
==========================================
Ver 1.4.0.0 [Everest: 2742-azure-3e05c]
04/08/2021 14:18:07
System.InvalidOperationException: Nullable object must have a value.
at System.Nullable`1[T].get_Value () [0x00008] in <d1664be62cd44600bbd25f7afa292479>:0
at Celeste.Mod.CollabUtils2.UI.InGameOverworldHelper+<OnJournalEnter>d__24.MoveNext () [0x000e6] in <9e3dd390afcb445a8692e18bdb93b4ac>:0
at Celeste.Mod.Helpers.CoroutineDelayHackfixHelper+<Wrap>d__3.MoveNext () [0x00079] in <d7b2abb405ec4c97954549f0a02e4a41>:0
at Monocle.Coroutine.orig_Update () [0x00053] in <d7b2abb405ec4c97954549f0a02e4a41>:0
at Monocle.Coroutine.Update () [0x0001d] in <d7b2abb405ec4c97954549f0a02e4a41>:0
at Monocle.ComponentList.Update () [0x00025] in <d7b2abb405ec4c97954549f0a02e4a41>:0
at Monocle.Entity.Update () [0x00006] in <d7b2abb405ec4c97954549f0a02e4a41>:0
at Monocle.EntityList.Update () [0x0001e] in <d7b2abb405ec4c97954549f0a02e4a41>:0
at Monocle.Scene.Update () [0x0000e] in <d7b2abb405ec4c97954549f0a02e4a41>:0
at Celeste.Overworld.orig_Update () [0x00115] in <d7b2abb405ec4c97954549f0a02e4a41>:0
at Celeste.Overworld.Update () [0x00010] in <d7b2abb405ec4c97954549f0a02e4a41>:0
at Celeste.Mod.Entities.SceneRenderer.Update (Monocle.Scene scene) [0x0001d] in <d7b2abb405ec4c97954549f0a02e4a41>:0
at Monocle.RendererList.Update () [0x00015] in <d7b2abb405ec4c97954549f0a02e4a41>:0
at Monocle.Scene.Update () [0x00019] in <d7b2abb405ec4c97954549f0a02e4a41>:0
at (wrapper dynamic-method) Celeste.Level.DMD<Celeste.Level::Update>(Celeste.Level)
at (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Trampoline<Celeste.Level::Update>?-447163198(Celeste.Level)
at Celeste.Mod.DJMapHelper.DebugFeatures.LookoutBuilder.LevelOnUpdate (On.Celeste.Level+orig_Update orig, Celeste.Level level) [0x00000] in <5bdc61ad4d4f468a8487ae7118ae86fa>:0
at (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Hook<Celeste.Level::Update>?1120299835(Celeste.Level)
at (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Trampoline<Celeste.Level::Update>?-2017110121(Celeste.Level)
at Celeste.Mod.MaxHelpingHand.Triggers.ColorGradeFadeTrigger.onLevelUpdate (On.Celeste.Level+orig_Update orig, Celeste.Level self) [0x00006] in <e43e4f77792f47a3802981fbefa1055f>:0
at (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Hook<Celeste.Level::Update>?-939733179(Celeste.Level)
at (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Trampoline<Celeste.Level::Update>?1118429485(Celeste.Level)
at Celeste.Mod.MaxHelpingHand.Triggers.AmbienceVolumeTrigger.onLevelUpdate (On.Celeste.Level+orig_Update orig, Celeste.Level self) [0x00000] in <e43e4f77792f47a3802981fbefa1055f>:0
at (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Hook<Celeste.Level::Update>?-821181184(Celeste.Level)
at (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Trampoline<Celeste.Level::Update>?-1269247354(Celeste.Level)
at ExtendedVariants.Variants.AnxietyEffect.onLevelUpdate (On.Celeste.Level+orig_Update orig, Celeste.Level self) [0x00000] in <b7eef78c2b3a4164ae83d704e0a44c9c>:0
at (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Hook<Celeste.Level::Update>?117322398(Celeste.Level)
at (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Trampoline<Celeste.Level::Update>?1618616068(Celeste.Level)
at Celeste.Mod.SpringCollab2020.Triggers.RemoveLightSourcesTrigger.OnLevelUpdate (On.Celeste.Level+orig_Update orig, Celeste.Level self) [0x00001] in <63ef6c302f8f4059a877efb7cb81e89e>:0
at (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Hook<Celeste.Level::Update>?-138146867(Celeste.Level)
at (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Trampoline<Celeste.Level::Update>?-1760992675(Celeste.Level)
at Celeste.Mod.SpringCollab2020.Triggers.ColorGradeFadeTrigger.onLevelUpdate (On.Celeste.Level+orig_Update orig, Celeste.Level self) [0x00001] in <63ef6c302f8f4059a877efb7cb81e89e>:0
at (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Hook<Celeste.Level::Update>?-828398640(Celeste.Level)
at (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Trampoline<Celeste.Level::Update>?-500015895(Celeste.Level)
at GravityHelper.MiscHooks.Level_Update (On.Celeste.Level+orig_Update orig, Celeste.Level self) [0x00032] in <8dae4da6a33248c2b79f875f11636050>:0
at (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Hook<Celeste.Level::Update>?-1234632915(Celeste.Level)
at (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Trampoline<Celeste.Level::Update>?1637337575(Celeste.Level)
at ExtendedVariants.Variants.InvertHorizontalControls.onLevelUpdate (On.Celeste.Level+orig_Update orig, Celeste.Level self) [0x0004c] in <b7eef78c2b3a4164ae83d704e0a44c9c>:0
at (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Hook<Celeste.Level::Update>?1700810291(Celeste.Level)
at Monocle.Engine.Update (Microsoft.Xna.Framework.GameTime gameTime) [0x00139] in <d7b2abb405ec4c97954549f0a02e4a41>:0
at Celeste.Celeste.Update (Microsoft.Xna.Framework.GameTime gameTime) [0x00031] in <d7b2abb405ec4c97954549f0a02e4a41>:0
at Microsoft.Xna.Framework.Game.Tick () [0x000ef] in <4c19a1a736204d189ba94c3bc07cd4ac>:0
at Microsoft.Xna.Framework.Game.RunLoop () [0x0003c] in <4c19a1a736204d189ba94c3bc07cd4ac>:0
at Microsoft.Xna.Framework.Game.Run () [0x00032] in <4c19a1a736204d189ba94c3bc07cd4ac>:0
at Monocle.Engine.RunWithLogging () [0x00000] in <d7b2abb405ec4c97954549f0a02e4a41>:0
ok so currently tags use the chapter panel's banner colours. that's nice usually, but in some contexts (eg. contests where the "#x overall" tag should stand out) it would be helpful to be able to override this, and use a custom background and foreground for a specific tag only.
ideally a background image could be used as well, for example to give especially noteworthy tags a gold background.
here is an example of what that might look like:
i plan to implement this with approximately the following syntax, subject to change:
ExampleCollab_1_Lobby_map1_collabcreditstags=
{collabutils_tag background_texture="some_image_in_gui_atlas" accent="000000"}Tag 1{/collabutils_tag}
{collabutils_tag background="000000" accent="ffffff"}Tag 2{/collabutils_tag}
Tag 3
Already in Cruor's Collab Utils, might be able to just copy it out.
goldens, but for each part rather than for the entire map
Migrated from iamdadbod's wishlist.
When loading up a save, unsure the player can access all lobbies: even if they didn't finish the beginner maps, they should be able to access the intermediate lobby.
Title has all the info :) would mitigate confusion that some players unfamiliar with CU2 have experienced
(an alternative would be to add a map legend, but that'd be a bit more work)
When viewing a lobby in chapter select or in journal, or in file select:
And, with lower priority:
In short, each difficulty level has a set of "heart shards" obtained by completing each map in that difficulty. Collecting the full set spawns the lobby's Heart Gem.
Internally, the heart shards can be tracked as "heart gems" for the difficulty level's internal levelset. They don't have to be, but they can be. (Unless we can show a completion state on the Chapter Card somehow..?)
When collected, the heart shard will play its own custom cutscene, somewhat similar to a Summit Gem at the start. Summit Gem related sounds can be played during this cutscene.
A step by step progression of the cutscene:
Similarly, before the Heart Gem in the lobby has been spawned, provide a visual of the progression at the Heart Gem's spawning location, using orbiting small Heart Shards/their outline placeholders. (This is also the object that spawns the Heart Gem.)
Basically, all level sets starting with SpringCollab2020/
except SpringCollab2020/0-Lobbies
have to go from chapter select and from map search.
so Madeline doesn’t awkwardly fall asleep in between each section
Migrated from iamdadbod's wishlist.
Status: Celsius has got some code to reuse for this - see the Celsius source dump in the collabcord.
Description
A visual bug occurs if you retry while mounting a bench.
If the animation can't be fixed, then my suggestion would be to disable retrying during the mounting state.
Screenshots
Hiya! With the release of the Strawberry Jam's french localization having been released in its latest patch, we (the sj french localization team) have made a French.txt file for CollabUtils2.
If possible, we would like to have it included in the next CollabUtils2 patch, so that french players can enjoy a fully localized strawberry jam experience 😃
Here is the aforementioned French.txt, which includes all of the original dialogue translated (all of which has been tested and displays correctly in-game).
A useful feature I think would benefit users of this mod is being able to specify certain maps for the Heart Gate.
The way it currently works is you can only specify a Level Set to choose from.
Instead, I suggest adding a field to specify certain maps, akin to how you can for the Rainbow Berry entity.
This would be useful for certain projects as well as giving more freedom to people using this already incredibly useful mod.
Migrated from iamdadbod's wishlist.
Status: It was already marked as "finished" on the wishlist. The code is yet to be seen though...
Integrated in the menu once you’re inside a map. Choosing it teleports you back to the beginning of the lobby. Keep all strawberries collected. Gets rid of silver berry if previously held in map.
Migrated from iamdadbod's wishlist.
Display the player's best time for the speed berry on chapter panel, along with death count and berry count.
Might want to steal from Dash Count Mod for this one: what we want here is very similar to this.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.