The king size weapons overloaded entire functions from their original objects. This was replaced by adding interfaces that allow for the manipulation of the desired values.
The musket was not a very popular and useful weapon, being inferior to the bow. It now shoots 5 weaker bullets in one shot with less damage per bullet, this might require some further testing and fine-tuning. Also the weaker bullets mean that they can be used in a gatling-gun (WIP) and in the airplane as well.
Search less often. Search for less. And use the proper inventory interface.
Before (first number is relative to MovingBrick.FxMoveVerticalTimer, because that's relatively constant (I guess?)).
59x 00826ms Global.FxBlessTheKingTimer
38x 00537ms Global.FxDeathByFireTimer
1x 00014ms MovingBrick.FxMoveVerticalTimer
After
41x 00328ms Global.FxBlessTheKingTimer
27x 00213ms Global.FxDeathByFireTimer
1x 00008ms MovingBrick.FxMoveVerticalTimer
The only use of C4RTF in its final moments was parsing out plain text
from RTF files anyway, so why even go to all the trouble instead of just
storing plain text in the beginning?
Removed granite at the lower right spawn point so clonk won't get stuck.
Because there was no background map, the moving platforms removed the material if earth pixels landed on them.
This better reflects what the function does. "ProjectileHit" was never used solely for projectiles. Neither was everything of that callback ever needed in all places, which resulted in weird flag-parameter hacking and OnStrike-callbacks. Splitting this up also allows customizing different parts of the behavior further (i.e. tumbling) without adding a hundred parameters or flags to the original function.
Renamed CreateObject() to CreateObjectAbove() and replaced all occurrences in script files.
Added CreateObject(), the function may need a rewrite though, see comment in code.
Updated documentation