Commit Graph

505 Commits (e3017ba4ac67cc004271b74af5ceab9af83bb5aa)

Author SHA1 Message Date
Mark dd99b2c4c3 Fixed line break 2016-03-25 18:28:10 +01:00
Mark c0245be627 Merge: Changes from merge conflict 2016-03-25 17:20:54 +01:00
Mark dd7bf3e89e Merge remote-tracking branch 'origin/master' into liquid_container
Conflicts will be merged in the next commit:
	planet/Objects.ocd/Items.ocd/Tools.ocd/Pipe.ocd/PipeLine.ocd/Script.c
	planet/Objects.ocd/Items.ocd/Tools.ocd/Pipe.ocd/Script.c
2016-03-25 17:15:39 +01:00
Mark 02b8cf8422 Barrel: Fixed barrel getting filled with liquids
Barrels was not updating, and caused an error when getting filled with liquid.
2016-03-23 20:11:23 +01:00
Maikel de Vries 7693276a48 implement max length for pipe and show it in inventory HUD 2016-03-22 22:09:02 +01:00
Maikel de Vries fc008241cd rename LineBreak callback to OnLineBreak 2016-03-22 18:58:55 +01:00
Lukas Werling acc04b2398 Improve default Use/Throw angles when not aiming 2016-03-22 18:56:31 +01:00
Lukas Werling 0afa589286 Replace all usage of "bool released" with "int status" 2016-03-21 18:45:42 +01:00
Mark a2700890ce Refactoring: Unit test for liquid containers uses doTest()
This is more readable and failures can be identified more easily.
2016-03-17 18:13:40 +01:00
Mark 7febb8fd91 Refactoring: Stackable: The size of stacks can be limited by a container now.
The function RejectEntrance() has two more callbacks to the object it should enter:
- CollectFromStack(object stack): The object can grab items from the stack, before the stack tries to merge with stacks in the object. This is necessary for barrels, so that a large liquid stack can fill an empty barrel.
- RejectStack(object stack): This is called after the stack is merged. Currently, the stack merging counts as handled only if the stack is removed. This callback allows the object to still reject the stack, for example if it accepts only one item, such as the barrel does.
2016-03-16 22:43:44 +01:00
Mark ac8d40418c Refactoring: Stackable: Renamed TryPutInto() to MergeWithStacksIn()
The previous name suggested that the object actually gets put into another object. In fact it merges the stack count with other stacks, and it does not only try to (and reverts the state if it fails), but it actually changes other objects even if the function returns false.
2016-03-16 18:19:55 +01:00
Mark 96e59a0626 Failed attempt at unit test nr. 6 2016-03-03 22:10:10 +01:00
Mark 1786f5b3d9 Liquid objects: Fix unit test, Stackable
Addedv debugging logs, will remove them once all unit tests work. The stackable library function "TryPutInto" was changed slightly.
2016-03-03 17:10:43 +01:00
Mark a7ed516c39 Refactoring: Liquid container
The liquid container library was severely reduced by the changes that the liquid objects bring. The remaining unit tests nearly work.
2016-03-01 22:29:35 +01:00
Mark f78890142c Refactoring: Fuel
Added parameter to 'GetFuelAmount' that specified how much fuel is requested from this object. Oil is now fuel and only the needed amount is removed instead of removing the entire stack when a producer requests fuel.
2016-03-01 17:29:24 +01:00
Mark 072f599cdb Refactoring fuel: Removed the 'get_partial' parameter.
This was used inconsistently and without regard to correctness, so it is better removed altogether. In case of incomplete objects, the incomplete object always returns the reduced amount.
2016-03-01 17:19:39 +01:00
Nicolas Hake fe91cec2b7 Merge remote-tracking branch 'github/pull/14' 2016-02-29 14:05:45 +01:00
Mark af6a31c489 Merge remote-tracking branch 'master' into liquid_container 2016-02-20 21:17:59 +01:00
Mark d0cf26490e Removed unused function from erroneous merge 2016-02-20 17:31:26 +01:00
Mark 2dd09fc8bd Liquid Object: Dispersing contents is a function of the liquid object now, instead of the barrel
The object now also disperses if it exits a liquid container
2016-02-20 17:08:55 +01:00
Maikel de Vries a0a5d98700 teleglove: add callback to reject control 2016-02-19 22:13:09 +01:00
Mark 91adb6140a Fix/merge from rebase: BarrelIntake as property 2016-02-16 21:16:32 +01:00
Mark 651f5c806b Refactoring: Steam engine liquid extraction
The steam engine treats barrels the same as itself when it comes to extracting liquids. This removes the need for the callback OnFuelRemoved() in the barrel, as well as the stupid definition call from the barrel to the steam engine.
2016-02-16 21:07:46 +01:00
Mark fb397618df Failsafe barrel names 2016-02-16 21:07:36 +01:00
Mark 6f7152eba6 Fixed bug in barrel stacking and added a unit test for this use case 2016-02-16 21:07:31 +01:00
Mark 8e692a25c4 Use property instead of function for barrel intake 2016-02-16 21:07:17 +01:00
Mark 1f54927aee Unit test for line connections 2016-02-16 21:04:11 +01:00
Mark a0fb0473b3 Barrels function as fuel now.
The steam engine does not remove the barrels, it just empties them. Made power system unit test 19 end if both pumps are pumping, this seems to be the intention of the unit test. Added power system unit test 20: Steam engine fueled by oil barrels.
2016-02-16 21:04:01 +01:00
Mark 07b242d6b1 Barrels accept oil 2016-02-16 21:03:52 +01:00
Mark e985ffbd45 Changed pipe interface
- connect / disconnect callbacks do not include the line anymore
- the drain and source pipes are set to the pipe now, instead of the line
2016-02-16 21:03:43 +01:00
Mark 06f3e26ad5 Bugfix: Errors in UnitTest upon destruction of the pipe 2016-02-16 21:03:29 +01:00
Mark d6f600bbd2 Bugfix: Message displayed above clonk, instead of connected structure 2016-02-16 21:03:24 +01:00
Mark e99ab4471a Refactoring: Completely remodeled pipe interface
Pipes can connect to nearly anything now. The connecting object is responsible for rejecting the connection.
2016-02-16 21:03:20 +01:00
Mark 4d2a661763 Analysis: Pipe object
The pipe object is very convoluted at the moment. Worked out some requirements for the object and will implement many things in a clean way.
2016-02-16 21:03:15 +01:00
Mark 371fdaeaa6 Refactoring: Pump interface names
The pump uses the same function names as the liquid tank now. This is a preparation for the consolidation of the two.
2016-02-16 21:02:56 +01:00
Mark cc2b0aa15b Connection in Liquid Tank
The liquid tank can connect and deconnect lines properly now
2016-02-16 21:02:37 +01:00
Mark 97bdd342fc Refactoring: Pump, pipe, better menu handling
The pipe can be connected from the interaction menu now, too. Expanded the disconnection logic, because more problems arise when the pipe can still be connected to other structures - it would be sufficient to remove the line, but that could be annoying:
- if the pipe is connected to a container, then you can disconnect the pipe from that liquid tank and it will still be connected to the pump
- if you disconnect the pipe from the pump, then it will disconnect from the liquid tank as well

Maybe this is confusing to the user, we can still kick that out later again.
2016-02-16 21:02:32 +01:00
Mark fbdd5eeb09 Refactoring: Pimp, Pipe, SteamEngine
Now it is possible to connect lines from a pump to the steam engine. This is achieved by the steam engine being a liquid tank. It did not seem good to allow connection from pumps to all liquid containers (i.e. barrels). A liquid tank is also a liquid container, they share the same interface, but it is also a structure.

It is not yet possible to fill the steam engine with any liquid though, because it is not defined what kind of liquid it accepts. This will be oil in the future. Furthermore, the behaviour when the pump adds incompatible liquid is not defined yet.
2016-02-16 21:02:28 +01:00
Mark 6f557520e8 Refactoring: Renamed Set/GetLiquidName to Set/GetLiquidType 2016-02-16 21:02:09 +01:00
Mark 9a8c3f4fea Refactoring: Barrel fill with liquid
The function had some crazy checks and delegation, now everything is in one function
2016-02-16 21:02:04 +01:00
Mark 9d17cff91e Refactoring: Removed old barrel functions
Replaced old barrel functions with the liquid container library calls
2016-02-16 21:01:59 +01:00
Mark 2f5cc035b6 Library: Liquid Container
Added unit test.
2016-02-16 21:01:55 +01:00
Mark b64a0e852a Library: Liquid Container
Added a new library for liquid containers that is based on the original barrel script.

Library_LiquidContainer
- Extracted the interface from the barrel. The function names and argument types are not final yet.
- Fixed an inconsistency in the script: There were two ways of determining whether a barrel is suited
   for a material. Either by name, or material index.
- renamed argument names to "liquid_name" for liquids, "amount" for quantities, so that the code is more easily understandable
- replaced comparison 'fill level > 0' with 'is not empty?'
- moved storage variables to a local proplist, so that names do not clash
- Ordered the methods by application and documented each section

Barrel:
- The original barrel functions delegate to Library_LiquidContainer-functions now, so that the original functionality is not disturbed. Obsolete functions are marked with "TODO: deprecated".
- Moved barrel value change to the update function
- Moved hit sound effect to separate function
- Replaced uses of the magic number '3' with a runtime-overloadable call to GetBarrelIntakeY()
- Replaced comparison 'fill level > 0' with 'is not empty?'

MetalBarrel:
- Adjusted the hit function. The difference between this and the normal barrel is the hit sound and material position. These should be constants or functions, instead of magic numbers
- Moved hit sound effect to separate function
- Removed the Hit()-function, because the hit sound is played in a separate function now
- With this change the y-offset of the barrel checking for other liquids on a hit is now 3 instead of 7. This should be ok, because the barrels have the same dimensions, it seemed strange that they would have different offsets
2016-02-16 21:01:50 +01:00
Maikel de Vries b7766780c5 fix plane for several C4D_None objects which where C4D_Structure before 2016-02-10 22:40:44 +01:00
Lukas Werling 29491ec3b7 Replace lots of empty parameters with proplist for Sound() 2016-02-10 13:31:16 +01:00
Mark 7a3be2dd62 Refactoring: Steam engine liquid extraction
The steam engine treats barrels the same as itself when it comes to extracting liquids. This removes the need for the callback OnFuelRemoved() in the barrel, as well as the stupid definition call from the barrel to the steam engine.
2016-02-10 06:21:13 +01:00
Mark f0a1e41ac2 Failsafe barrel names 2016-02-09 18:30:50 +01:00
Mark 80fda5ae0d Fixed bug in barrel stacking and added a unit test for this use case 2016-02-09 06:43:38 +01:00
Mark c135c2da37 Use property instead of function for barrel intake 2016-02-09 06:27:42 +01:00
Maikel de Vries 159dbf071f make ContactCalls a property instead of DefCore entry
This allows for useful runtime changes, like disabling contact calls when an animal dies.
2016-02-08 21:25:43 +01:00
Mark b0153fbc51 Cleanup
Removed reference to ST-DDT in the tank library, since his code was completely removed. Moved functions in steam engine. Fixed typo in DefCore.txt
2016-02-08 20:54:26 +01:00
Mark cc113a560b Unit test for line connections 2016-02-08 17:45:32 +01:00
Sven Eberhardt 8273dcdf45 Fix cargo attachment vertex in balloon 2016-02-07 14:49:05 -05:00
Sven Eberhardt 3d3e848aeb Target balloon: Allow deployment of any items. 2016-02-07 14:27:51 -05:00
Mark b6476330d4 Barrels function as fuel now.
The steam engine does not remove the barrels, it just empties them. Made power system unit test 19 end if both pumps are pumping, this seems to be the intention of the unit test. Added power system unit test 20: Steam engine fueled by oil barrels.
2016-02-07 17:13:03 +01:00
Mark 46fceea0e0 Barrels accept oil 2016-02-07 16:03:51 +01:00
Maikel de Vries a44b759472 snap digging angle to straight lines with 5 degree margin 2016-02-07 10:24:36 +01:00
Maikel de Vries 978b236596 clean up shovel script 2016-02-07 10:24:36 +01:00
Sven Eberhardt 1e5b04e2d1 WallKit preview: Add function to update independent of position. 2016-02-06 23:53:45 -05:00
Mark ecff731d96 Changed pipe interface
- connect / disconnect callbacks do not include the line anymore
- the drain and source pipes are set to the pipe now, instead of the line
2016-02-06 23:12:26 +01:00
Sven Eberhardt 623f838799 Add sounds: Hits::BucketHit*, Structures::DoorOpen*, Structures::DoorClose* by ala 2016-02-06 14:37:18 -05:00
Mark 58650c5b6e Bugfix: Errors in UnitTest upon destruction of the pipe 2016-02-06 09:06:50 +01:00
Mark aa61a14d3d Bugfix: Message displayed above clonk, instead of connected structure 2016-02-06 08:28:02 +01:00
Mark ec6f26ddd0 Refactoring: Completely remodeled pipe interface
Pipes can connect to nearly anything now. The connecting object is responsible for rejecting the connection.
2016-02-05 23:17:31 +01:00
David Dormagen a13a9036a5 shovel: changed GetModifiedDigSpeed to GetDigSpeed
Half of the callback's work was done outside (fetching the target speed) for no good reason. It's now all done in the callback, making it less weird.
2016-02-05 21:06:30 +01:00
Mark 1603f23514 Analysis: Pipe object
The pipe object is very convoluted at the moment. Worked out some requirements for the object and will implement many things in a clean way.
2016-02-05 06:58:00 +01:00
Mark f5681434dc Refactoring: Pump interface names
The pump uses the same function names as the liquid tank now. This is a preparation for the consolidation of the two.
2016-02-05 06:22:26 +01:00
Mark 788324c077 Connection in Liquid Tank
The liquid tank can connect and deconnect lines properly now
2016-02-04 22:18:40 +01:00
Mark affb034b86 Refactoring: Pump, pipe, better menu handling
The pipe can be connected from the interaction menu now, too. Expanded the disconnection logic, because more problems arise when the pipe can still be connected to other structures - it would be sufficient to remove the line, but that could be annoying:
- if the pipe is connected to a container, then you can disconnect the pipe from that liquid tank and it will still be connected to the pump
- if you disconnect the pipe from the pump, then it will disconnect from the liquid tank as well

Maybe this is confusing to the user, we can still kick that out later again.
2016-02-04 21:37:33 +01:00
Mark 016922fa2c Refactoring: Pimp, Pipe, SteamEngine
Now it is possible to connect lines from a pump to the steam engine. This is achieved by the steam engine being a liquid tank. It did not seem good to allow connection from pumps to all liquid containers (i.e. barrels). A liquid tank is also a liquid container, they share the same interface, but it is also a structure.

It is not yet possible to fill the steam engine with any liquid though, because it is not defined what kind of liquid it accepts. This will be oil in the future. Furthermore, the behaviour when the pump adds incompatible liquid is not defined yet.
2016-02-04 18:25:19 +01:00
David Dormagen 76ac759533 shovel: fix the Destruction functionality
Previously, it was checked incorrectly whether the action was "Dig". Then the check was thrown out completely in https://git.openclonk.org/openclonk.git/commit/39e86474fccbd54eb357175d2b8fbec5c60639ab - which did remove the warning but not solve the defect.
This should be a proper fix. The shovel only does stuff when the user is digging AND actually using this very shovel for it.
2016-02-01 20:15:01 +01:00
Mark 8c883937d4 Refactoring: Renamed Set/GetLiquidName to Set/GetLiquidType 2016-02-01 06:39:21 +01:00
Mark dbf1f0326f Refactoring: Barrel fill with liquid
The function had some crazy checks and delegation, now everything is in one function
2016-02-01 06:28:17 +01:00
Mark 9ee44b39ed Refactoring: Removed old barrel functions
Replaced old barrel functions with the liquid container library calls
2016-02-01 06:28:09 +01:00
Mark 64f7b4152e Library: Liquid Container
Added unit test.
2016-02-01 06:27:35 +01:00
Mark f810f210be Library: Liquid Container
Added a new library for liquid containers that is based on the original barrel script.

Library_LiquidContainer
- Extracted the interface from the barrel. The function names and argument types are not final yet.
- Fixed an inconsistency in the script: There were two ways of determining whether a barrel is suited
   for a material. Either by name, or material index.
- renamed argument names to "liquid_name" for liquids, "amount" for quantities, so that the code is more easily understandable
- replaced comparison 'fill level > 0' with 'is not empty?'
- moved storage variables to a local proplist, so that names do not clash
- Ordered the methods by application and documented each section

Barrel:
- The original barrel functions delegate to Library_LiquidContainer-functions now, so that the original functionality is not disturbed. Obsolete functions are marked with "TODO: deprecated".
- Moved barrel value change to the update function
- Moved hit sound effect to separate function
- Replaced uses of the magic number '3' with a runtime-overloadable call to GetBarrelIntakeY()
- Replaced comparison 'fill level > 0' with 'is not empty?'

MetalBarrel:
- Adjusted the hit function. The difference between this and the normal barrel is the hit sound and material position. These should be constants or functions, instead of magic numbers
- Moved hit sound effect to separate function
- Removed the Hit()-function, because the hit sound is played in a separate function now
- With this change the y-offset of the barrel checking for other liquids on a hit is now 3 instead of 7. This should be ok, because the barrels have the same dimensions, it seemed strange that they would have different offsets
2016-02-01 06:23:44 +01:00
Maikel de Vries a390f8f248 fuse and activate iron bomb on cannon shot, fuse dynamite as well 2016-02-01 00:10:23 +01:00
Maikel de Vries 39e86474fc fix wrong use of GetAction in shovel 2016-01-31 22:40:40 +01:00
Maikel de Vries 273c574dc0 shovel: symmetrize dig angle limits 2016-01-31 09:59:41 +01:00
Sven Eberhardt 1bb78ecd4f Remove some unnecessery animation weights.
These overwrite the animations in their slots while there are no other references to existing animations in the slot.
2016-01-28 23:47:53 -05:00
Sven Eberhardt 920ae9673f Fix animation leaks in bat, chest, grapple bow and tele glove #1647 2016-01-28 23:46:22 -05:00
Sven Eberhardt 380b6df2ac Make GetModifiedDigSpeed runtime-overloadable 2016-01-28 00:37:25 -05:00
Mark 41f00c6c17 Dig speed refactoring
Extracted the dig speed modification part to a separate function, so that other scenarios can easily overload this. Setting the value to 75% of the input speed provided a good handling in my tests. This is not included in this commit, feel free to experiment with it first.
2016-01-28 06:28:04 +01:00
Maikel de Vries ef1d7227f6 release rider from balloon earlier when deflating
This allows for a smoother transition into walking and scaling and leads to less annoying and unexpected deaths.
2016-01-26 23:02:32 +01:00
Maikel de Vries 488201181b improve collision detection of deployed balloon with the landscape 2016-01-24 20:36:17 +01:00
Maikel de Vries d1d019ab09 improve the hitbox of the balloon for projectile targets
This prevents the one hanging on the balloon from shooting himself down with e.g. a bow.
2016-01-24 20:36:17 +01:00
Maikel de Vries 84218d1cbc merge UsageHelp into Description
This is better for the new interaction menu, since only the description is shown for items, but it can be longer now.
2016-01-23 16:28:02 +01:00
Maikel de Vries 686b37660d fix script errors for wrong parameter types in tele glove 2016-01-22 00:14:59 +01:00
Sven Eberhardt 2ce3daf84a Add missing sound for snapping line #1644
Sound original from CosmicEmbers (http://freesound.org/people/CosmicEmbers/sounds/161650/); cropped and pitch adjusted.
2016-01-20 21:24:05 -05:00
Sven Eberhardt 729712fa2f Allow use of bucket, pickaxe, bow, club, grenade launcher, javelin and musket during scale/hangle.
Temporarily disables scale/hangle during usage of these items.
2016-01-17 14:31:51 -05:00
David Dormagen 368eb698ec pickaxe: removed debug message
introduced in https://git.openclonk.org/openclonk.git/commitdiff/796aa7d7c62c5348417d584c9637da61297736d4
2016-01-17 08:11:17 +01:00
Sven Eberhardt 0b6e2015cf Fix shovel shoveling in the wrong direction sometimes #1626 2016-01-16 22:02:32 -05:00
Sven Eberhardt 796aa7d7c6 Fix pickaxe picking in the wrong direction sometimes #1626 2016-01-16 22:02:08 -05:00
Maikel de Vries 4357004dbf prevent picking up heavy objects when on grapple rope and draw in rope when picking up heavy object (#1521)
Maybe there are other places where the controls libraries should make callbacks to control effects. But that is for the future.
2016-01-13 23:13:44 +01:00
Sven Eberhardt a34912d9c2 Individual stacking and name/desc of source and drain pipes. 2016-01-10 21:34:41 -05:00
Sven Eberhardt 3dad1c6d81 Turn MaxContentsCount and HandObjects into properties instead of callbacks (Possibly fixes #1553) 2016-01-10 10:41:34 -05:00
Sven Eberhardt d56670c7ce Fix pickaxe killing scaling ability permanently if it is used before any local ActMap modifications #1563 2016-01-10 08:46:20 -05:00
Sven Eberhardt dcefa516f6 GrappleBow: Pull back in if hook did not stick successfully #1546 2016-01-09 16:33:13 -04:00
Maikel de Vries 96344dfc00 disable climbing when swinging pickaxe 2016-01-08 22:43:46 +01:00
Maikel de Vries ee9c44ac75 boompacks are not projectile targets of boompacks
This would be very annoying if you fuse multiple of them at the same time
2016-01-04 21:17:25 +01:00
Maikel de Vries f1c9b042ff killtracing: boompack gets correct controller when hit or incinerated
also add a hitcheck when launched by a projectile hit
2016-01-04 20:43:56 +01:00
Maikel de Vries 7aaa5a6e32 killtracing: pass controller of igniter when fusing dynamite 2016-01-03 20:18:06 +01:00
Maikel de Vries 22d5036e9e killtracing: set killer of balloon rider if balloon is shot 2016-01-03 20:18:06 +01:00
Maikel de Vries 3392921bfe killtracing: windbag set controller for moved objects 2016-01-03 14:31:20 +01:00
Maikel de Vries 64af909a49 killtracing: set controller of keg when incinerated 2016-01-03 12:30:47 +01:00
David Dormagen af576e7468 shovel: improved dust particles slightly
A bit more but smaller particles. Now you can't make out a single sprite easily anymore.
The particles also do not spawn in solid material now.
2016-01-02 17:27:49 +01:00
Günther Brammer 00a4c6c428 Replace BorderBound DefCore value with BorderBound object property 2016-01-01 22:18:41 +01:00
Clonkonaut 1416887a22 Fix possible null pointer when shooting the balloon.
I suspect that when the clonk gets send tumbling, OnUnmount might get called and nil rider.
2015-12-30 03:21:35 +01:00
David Dormagen 9d947c7fb2 make IsProjectileTarget default to true for living beings
..which eliminates the || GetOCF() & OCF_Alive everywhere. It also allows living things to explicitely disable being projectile targets.
This is a lot cleaner imo.
2015-12-28 11:20:11 +01:00
Maikel de Vries 509bdac5bc remove unused Rebuy property from objects 2015-12-28 10:21:49 +01:00
Maikel de Vries 8e8a66df76 category for non-structures to C4D_None
These objects are not intended to be constructed as structures (the hammer menu) and should therefore not be structures.
2015-12-28 00:31:15 +01:00
Maikel de Vries 2a4b92fbab igniter not producible in chemical lab 2015-12-27 23:24:27 +01:00
Maikel de Vries d4a6c50d4d rope bridge can now be placed by a clonk
There are still some things to fix/implement: breaking of bridge ropes when the posts move to far apart, animations for placement and retraction.
2015-12-27 00:18:17 +01:00
David Dormagen 124337a5b5 boompack: fix PictureTransformation
..too not leak out of bounding box.
2015-12-26 18:21:51 +01:00
Maikel de Vries 42cf57afb6 improve drawing speed of ropebridge (and further clean up) 2015-12-26 15:57:30 +01:00
David Dormagen 802c85c8f8 grenade launcher, crate: fix PictureTransformation
For the first, loading and shooting would reset it..
2015-12-25 20:19:48 +01:00
Maikel de Vries 5ffc97f2f0 rope bridge clean up and cleaner way to create a bridge
Now use Ropebridge->Create(x1, y1, x2, y2) to make a bridge, this allows for some more clean up in a commit to follow.
2015-12-25 19:27:00 +01:00
David Dormagen 9f2c60c94e adjusted some more PictureTransformation properties
To either increase the size of the item, center it, or prevent it from going out of the bounding box.
2015-12-25 19:14:52 +01:00
Maikel de Vries e4b1fe94ca clean up grapple bow scripts 2015-12-25 16:11:17 +01:00
Clonkonaut 9f645e3a83 Removed the 2 diamond components for now (see discussion at #1505). 2015-12-22 13:48:35 +01:00
Clonkonaut 7f2f0f2749 Teleglove needs 2 diamonds for production (#1505). 2015-12-22 11:54:38 +01:00
Maikel de Vries 32bc68fdab fix letting go of wall when pulling in grappler rope (1219) 2015-12-21 22:21:32 +01:00
David Dormagen df5a9ebb26 axe: increase damage (against livings)
The axe could always be used as a weapon. It dealt such a low amount of damage that it was basically useless, though. Hits required to kill a Clonk are now 9 (down from 17). The axe is still a lot weaker and slower than the sword.
It's just not ridiculously stupid anymore to try to use the axe as a weapon now.

We are now not trying to deceive the players anymore (who might have actually THOUGHT that the axe was usable as a weapon, because it is used just like the sword).
The alternative would be to disable the weapon-use completely.
2015-12-20 19:17:35 +01:00
David Dormagen abf578ec71 axe: fixed striking time and added "swing" sound
The usage of the wrong constant for the striking time was fixed in https://git.openclonk.org/openclonk.git/commit/65b5c4bef683f6cb1ff4b5732946a803a7c69d94 .
This broke striking with the axe completely, though, because it was just soo annoyingly slow - slow-mo. axe, anyone? And it doesn't even deal damage, wow.
2015-12-20 19:17:35 +01:00
David Dormagen 11927659a0 added new sound when pickaxe hits hard material (by K-Pone, originally "SwordHit1") 2015-12-19 10:17:55 +01:00
Clonkonaut 65b5c4bef6 Fixed axe striking length using the correct const (now Axe_Standard_StrikingLength, was Sword_Standard_StrikingLength). 2015-12-17 19:43:14 +01:00
Maikel de Vries dea3b7f1c3 fix invertion of clonk on top ladder elements (#775) 2015-12-17 19:40:15 +01:00
Maikel de Vries 7e193e1345 make teleglove reach overloadable 2015-12-17 15:55:21 +01:00
David Dormagen 87a03b75e2 added swing (and hit) sounds for sickle and club 2015-12-17 10:58:54 +01:00
Clonkonaut 0e19014740 Renamed the please-don't-windbag-me callback from NoWindbagForce to RejectWindbagForce. 2015-12-16 23:13:08 +01:00
Maikel de Vries b98ab3e699 lantern and torch have call back to indicate them as light sources 2015-12-16 21:06:33 +01:00
David Dormagen dcfb986e34 moved sounds into subfolders
This completes http://forum.openclonk.org/topic_show.pl?tid=3215
2015-12-13 22:14:55 +01:00
Sven Eberhardt 40f46403ba Move sound author attribution from Objects.ocd into main Sound.ocg (where the sounds now reside). 2015-12-13 01:09:48 -05:00
Clonkonaut 309aa5416b Melee weapons: reset clonk's running speed if thrown (#1487). 2015-12-12 20:37:42 +01:00
Maikel de Vries 6065571742 fix rope particles on ladder and clean up rope related scripts
The ladder only had one of the ropes drawn and the clean up resulted in some small speed up for the rope related objects. See also (#1143).
2015-12-11 23:32:33 +01:00
Maikel de Vries 8d8ecb688c add function to dynamite box to set stick count 2015-12-10 00:11:47 +01:00
Maikel de Vries 64a4d12683 clean up and small speed gain for rope library
Also clean up for related objects, this is still work in progress to fix some bugs and get more speed up.
2015-12-08 16:43:52 +01:00
Maikel de Vries 69de4e72fd grab ladder while in wall jump 2015-12-08 16:26:20 +01:00
Sven Eberhardt 7f6c13084a Register definition-local sounds into definition namespace (id::Soundname) #1185.
Also move all object sounds to global Sound.ocg so they are still played.

This is to prevent naming collisions. All sounds are moved because otherwise all scripts would have to be adjusted. Also, the distinction between sounds in definitions and sounds in Sound.ocg was rather arbitrary.

It will also ensure most sounds are reloaded when sound is turned off temporarily, although that should better be fixed properly.
2015-12-07 00:08:24 -05:00
David Dormagen 4f4120b22b pickaxe: made blue sparks when hitting hard material stronger
To satisfy Matthi.
2015-12-05 00:23:54 +01:00
David Dormagen aec1988722 removed category "vehicle" of several helper objects
Otherwise you can spawn them in the "Playground" scenario.
2015-11-29 18:28:40 +01:00
David Dormagen 4f78bf80c6 boompack: hit objects mid-air after rider jumped off (#1449)
This increases the military power and doesn't look as weird: after jumping off, the boompack will explode on IsProjectileTarget or OCF_Alive (like a normal arrow).
OnProjectileHit is called so that e.g. balloons still pop even if the explosion might not damage them.
2015-11-27 20:21:34 +01:00
David Dormagen 7d6c57c1d2 dynamite box: replace numeric stick count with custom overlay
The box actually does have different images for different stick counts. It's just not very visible there. And the old numbers were obstructed by the stack count anyway.
2015-11-22 11:04:54 +01:00
Maikel de Vries d63015065c fix script runtime errors in pipe 2015-11-21 19:32:15 +01:00
David Dormagen d8ec703f82 dynamite: update description to hint at special use
I just saw a let's play where the player had no clue that the real benefit of the dynamite was accurate mining by sticking it into the ground.
This should make it easier for new players to figure out this specialty. Also, we need to get rid of the notion that "Description" means "Funny Flavour Text". We also need to get rid of having TWO descriptions (aka "UsageHelp").
2015-11-19 18:24:58 +01:00
David Dormagen 0f42015a24 pickaxe: prevent dug-out objects from hitting the Clonk for 30 frames
This should make pickaxing less frustrating as you are not interrupted EVERY TIME you dig out something.
2015-11-07 11:19:57 +01:00
David Dormagen 4b3db94e0b sickle: search with AtRect instead of InRect to not miss wide plants
Even when standing directly over a plant, you would sometimes not harvest it because its midpoint would be out of the Clonk's rectangle. Now the Clonk only has to touch plants.
2015-10-30 08:27:44 +01:00
Clonkonaut b17535de4b Break rope when being shot (#1339). 2015-10-24 13:12:41 +02:00
David Dormagen 1bd3354086 contents menu: changed stacking logic (#1424)
Objects now stack iff CanBeStackedWith returns true. The displayed symbol is now the first object of the stack (instead of the definition).
Also fixed barrel to not overwrite the custom name just after setting it.
2015-10-17 12:09:35 +02:00
Clonkonaut f5076cedf3 Do not change picture transformation, not necessary anymore because contents are shown in extra slot (#1147). 2015-10-13 17:32:36 +02:00