I appreciate any help, thanks!
If I understood you well, you are trying to say that in this code above, player projectile's behavior is not as it should be (compared to same projectiles from specified enemy - fakehitler) and that in the code the specific projectile's behavior(needle, spark, rocket, fire...) is not specified.
Btw, I saw some more code holes
yesterday, and I edited that and tried the code for different projectiles from the game (needle, fire, (h)rocket, spark - including different speed, sound, enemy damage value etc. depending on specific projectile) and everything works fine.
There was also a glitch with doors which can't be closed when their adjacent walls are hitted by player's projectiles, because in T_Projectile "ob->state = NULL;" was missed. I think that this is the cause of that glitch.
I edited the code from the previous post today. If there is something more strange in the code, let me know.
I was wrong about that doors glitch
It is not about adjacent walls, that glitch appears when projectile
hits the doors which are in opening/closing process
was thrown/created on the door gates.
And the doors can be closed again when player throws another projectile
. Probably, there are projectile remains
in doors - similar case is with guards corpses in the doors gate where doors can't be closed. Maybe something needs to be changed in WL_ACT2.cpp T_Projectile function, I thought that "ob->state = NULL;" will solve this but that is not the solution.
Or is there a way to destroy that invisible
projectile object or remove his references.
Last edited by Josip_2P2 on Fri Sep 18, 2020 9:16 am; edited 2 times in total