terasology / potions Goto Github PK
View Code? Open in Web Editor NEWA small collection of potions
A small collection of potions
If at present you give emptyVial
with Potions running you get a broken icon image in the toolbar (as there is no texture - I suspect emptyvial.prefab
is obsolete and should be deleted) followed by massive log spam as seemingly a tooltip preparation piece fails to find a display name for the broken vial, causing NPEs over and over.
Can fix by simply adding a DisplayName
block to that prefab, but instead we should really null harden PotionClientSystem.setItemTooltip()
so this can't happen, then maybe delete emptyvial.prefab
17:14:20.877 [main] ERROR o.t.e.event.internal.EventSystemImpl - Failed to invoke event
java.lang.NullPointerException: null
at org.terasology.potions.system.PotionClientSystem.setItemTooltip(PotionClientSystem.java:44)
at org.terasology.potions.system.PotionClientSystemMethodAccess.invoke(Unknown Source)
at org.terasology.entitySystem.event.internal.EventSystemImpl$ByteCodeEventHandlerInfo.invoke(EventSystemImpl.java:506)
at org.terasology.entitySystem.event.internal.EventSystemImpl.sendStandardEvent(EventSystemImpl.java:269)
at org.terasology.entitySystem.event.internal.EventSystemImpl.send(EventSystemImpl.java:260)
at org.terasology.entitySystem.entity.internal.BaseEntityRef.send(BaseEntityRef.java:145)
at org.terasology.rendering.nui.layers.ingame.inventory.ItemCell$1.get(ItemCell.java:58)
at org.terasology.rendering.nui.layers.ingame.inventory.ItemCell$1.get(ItemCell.java:47)
at org.terasology.rendering.nui.widgets.UIList.getList(UIList.java:132)
at org.terasology.rendering.nui.layers.ingame.inventory.ItemIcon.getTooltip(ItemIcon.java:158)
at org.terasology.rendering.nui.internal.CanvasImpl.drawStyledWidget(CanvasImpl.java:401)
at org.terasology.rendering.nui.internal.CanvasImpl.drawWidget(CanvasImpl.java:392)
at org.terasology.rendering.nui.internal.CanvasImpl.drawWidget(CanvasImpl.java:368)
at org.terasology.rendering.nui.layers.ingame.inventory.ItemCell.onDraw(ItemCell.java:111)
at org.terasology.rendering.nui.layers.ingame.inventory.InventoryCell.onDraw(InventoryCell.java:97)
at org.terasology.rendering.nui.internal.CanvasImpl.drawStyledWidget(CanvasImpl.java:406)
at org.terasology.rendering.nui.internal.CanvasImpl.drawWidget(CanvasImpl.java:392)
at org.terasology.rendering.nui.layouts.FlowLayout.onDraw(FlowLayout.java:57)
at org.terasology.rendering.nui.internal.CanvasImpl.drawStyledWidget(CanvasImpl.java:406)
at org.terasology.rendering.nui.internal.CanvasImpl.drawWidget(CanvasImpl.java:392)
at org.terasology.rendering.nui.layouts.relative.RelativeLayout.onDraw(RelativeLayout.java:78)
at org.terasology.rendering.nui.internal.CanvasImpl.drawStyledWidget(CanvasImpl.java:406)
at org.terasology.rendering.nui.internal.CanvasImpl.drawWidget(CanvasImpl.java:392)
at org.terasology.rendering.nui.layers.hud.CoreHudWidget.onDraw(CoreHudWidget.java:60)
at org.terasology.rendering.nui.internal.CanvasImpl.drawStyledWidget(CanvasImpl.java:406)
at org.terasology.rendering.nui.internal.CanvasImpl.drawWidget(CanvasImpl.java:392)
at org.terasology.rendering.nui.layers.hud.HUDScreenLayer.onDraw(HUDScreenLayer.java:162)
at org.terasology.rendering.nui.internal.CanvasImpl.drawStyledWidget(CanvasImpl.java:406)
at org.terasology.rendering.nui.internal.CanvasImpl.drawWidget(CanvasImpl.java:392)
at org.terasology.rendering.nui.internal.NUIManagerInternal.render(NUIManagerInternal.java:476)
at org.terasology.engine.modes.StateIngame.renderUserInterface(StateIngame.java:235)
at org.terasology.engine.modes.StateIngame.render(StateIngame.java:219)
at org.terasology.engine.subsystem.lwjgl.LwjglGraphics.postUpdate(LwjglGraphics.java:189)
at org.terasology.engine.TerasologyEngine.tick(TerasologyEngine.java:441)
at org.terasology.engine.TerasologyEngine.mainLoop(TerasologyEngine.java:397)
at org.terasology.engine.TerasologyEngine.run(TerasologyEngine.java:373)
at org.terasology.engine.Terasology.main(Terasology.java:153)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
When the jump speed potions (such as JumpSpeed Potion, MegaJump Potion, Rage Potion, Ninja Potion) are activated, the player unmistakably gains an ability to jump higher.
However, this ends up dealing a huge amount of fall damage to the player with every jump. This fall damage is too high for a player to enjoy the newly gained abilities via the said potions, thus the player may choose to opt out of using them even after spending some amount of trouble obtaining them.
What can be done is to either completely eliminate the fall damage(not advisable) or reduce it to a great extent i.e. have a fractional multiplier to reduce the damage proportionately for all cases. It is advisable to look at other games which have a similar potion or tool which gives the players such an ability to jump higher and devise a solution to the issue accordingly.
To try the potions: Enable the Potions module and start the game in the JS or Core Gameplay game modes and then use 'give' command in the console to obtain the potions.
Following from last GCI a lot of potions have missing effects.
Simply pulling the info off the wiki it seems that the following potions are not working.
They will need the appropriate effects implemented before they work. It's also probably wise to update the test plan if needed when they are implemented.
When a potion effect is not found e.g.: it has a typo in it I would expect to see a warning about it in the console when the potion is used.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Currently, when a potion is drunk, the original bottle is destroyed. A nice extension to the potion drinking system would be to allow for a bottle to be used multiple times before discarded. In other words, if a health potion were to be drunk, an empty potion bottle would be returned as long as the remaining durability was high enough.
We likely need one or two new components for this, and tweaking of a few systems. Probably also need add defaults and modify the potion crafting system in Alchemy.
So we need at least the following:
Currently, many of the classes in this module are lacking documentation. So, the goal of this would be to add Javadoc comments to all of the classes.
Not that we're really doing releases yet, but I figured this would be a good habit to start: document changes that will result in needed adjustments in the test plan. Usually we'd probably do something like this later in a release cycle while reviewing the pending milestone for changes needed (unless of cause authors themselves update the test plan as they go along, which is naturally preferred)
(pinging @xrtariq2594 for reference, @nihal111 too if he ends up merging a potion or two)
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/40083022-update-test-plan-for-next-release?utm_campaign=plugin&utm_content=tracker%2F6706249&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F6706249&utm_medium=issues&utm_source=github).The Health Boost Potion is supposed to increase the user's base max health by 50% for 30 seconds. But right now what it ends up doing is reducing health. See:
A good place to start could be trying to understand how the various Potion Authority Systems work and how the effect: "TEMP_MAX_HEALTH_BOOST" fits in there.
To try the potions: Enable the Potions module and start the game in the JS or Core Gameplay game modes and then use 'give' command in the console to obtain the potions.
The Juggernaut potion is supposed to restrict the Player's movements in exchange for damage resistance for 10 seconds.
Currently the potion does restrict jumping but the player is still free to walk around.
To fix: Either render the player completely immobile or reduce the walking speed to a very minimal amount (see Immobility potion).
To try the potions: Enable the Potions module and start the game in the JS or Core Gameplay game modes and then use 'give' command in the console to obtain the potions.
Currently, when the Poison and Hemlock Potions are used, what happens is that the health of the player starts decreasing at the specified rate without any issues.
However, what we want is to notify the player in the form of a visual indicator that the poison is still active and is reducing the heath of the player.
One Way to do this is by adding particle effects to the player model. Implementation of such an effect can be found in LightAndShadow.
To try the potions: Enable the Potions module and start the game in the JS or Core Gameplay game modes and then use 'give' command in the console to obtain the potions.
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.