Revolutionary-Games / Thrive

The main repository for the development of the evolution game Thrive.
https://revolutionarygamesstudio.com/
Other
2.71k stars 490 forks source link

Add pilus damage cooldown on ejecting something #5139

Open hhyyrylainen opened 2 months ago

hhyyrylainen commented 2 months ago

to make sure ejected cell cannot kill you immediately

MalyshevArtem commented 3 weeks ago

Can someone direct to the class/classes in which the cell ejection process is coded?

CI09 commented 3 weeks ago

We use Entity Component System, meaning there are entities with components, managed by systems. In this case, EngulfingSystem has method EjectEngulfable(). Note that components sometimes also have helper methods but it's mostly systems that manage stuff in bigger picture.

CI09 commented 3 weeks ago

Are you willing to help out with this issue @MalyshevArtem?

MalyshevArtem commented 3 weeks ago

Actually yes. But I don't know how much time it will take for me to do this. I want to spend some time after work when I'm free trying to solve it.

MalyshevArtem commented 3 weeks ago

@CI09 Is there a way to start the game at a specific point or maybe a way to set to my microbe specific parameters before the game starts, for example, add pili for damaging and ability to eject a cell so that I can test what I've coded, in other words, declare initial parameters for the game?

CI09 commented 3 weeks ago

Probably there is (I'm not expert at developing here) by changing how base species is made but that's kinda hacky, would make auto evo evolve things off of it and maybe some other side issues. For starting the game, for example in microbe stage, you can open godot and press the 🎬 looking button in top right corner while having microbestage.tscn opened, but I personally just run the game normally since it doesn't take long to get to freebuild.

Edit: under f6 there is cheat menu which you can use to spawn enemy cells. You can also make normal game once, until you find conditions you need and then you can save the game and load it each time you want to test it.

MalyshevArtem commented 2 weeks ago

@CI09 Thanks for your help

MalyshevArtem commented 2 days ago

@hhyyrylainen Is it only related to pilus damage or other ways of damaging as well like toxins when a cell is ejected?

CI09 commented 2 days ago

Toxins are already blocked from being exhausted when being in state other than normal so you don't have to do anything about it I think. Also he's on vacation until 22th so he might not answer.