Commit Graph

6128 Commits (e3017ba4ac67cc004271b74af5ceab9af83bb5aa)

Author SHA1 Message Date
Mark 4db6300789 Test #1974: Improved test
The test can now actually reproduce the bug before it was fixed, and proves that it does not appear anymore now that it is fixed.
2018-01-15 22:19:05 +01:00
Maikel de Vries 601ca111c9 AI: pass effect to ExecuteJump() to prevent script error 2018-01-15 18:42:31 +01:00
Maikel de Vries 4aa0801762 speed up ladder search by clonks using Find_Property 2018-01-15 17:32:48 +01:00
Lukas Werling 417d10ed97 HotIce: Fix EciToh lava with Sky background 2018-01-14 21:27:28 +01:00
Maikel de Vries 42dfc79359 ranged AI: aim at bottom of structures to trigger explosions on basements or solid ground 2018-01-14 15:27:11 +01:00
Maikel de Vries 3c9dc104b3 defense boom attack: fix destruction tracking 2018-01-14 15:26:27 +01:00
Clonkonaut 16adcfff73 Detach any visible objects upon Death (#1974). 2018-01-14 14:48:03 +01:00
Maikel de Vries 07ea7f2791 (#1969): improve situation for structures that want to accept vehicles to be entered 2018-01-14 14:45:48 +01:00
Maikel de Vries 705ab86078 defense: improve goal info and script, king of the hill scenario 2018-01-14 14:42:16 +01:00
Maikel de Vries b5152e1215 do not show trajectory for script players to prevent lag 2018-01-14 14:42:16 +01:00
Mark 7b13b3455c Fix #1969: Prevent pushing vehicles into buildings where they are irretrievable 2018-01-14 14:34:27 +01:00
Mark 88aac09064 Test for #1974
The test cannot reproduce the bug at the moment, so consider it a prototype.
2018-01-14 13:34:27 +01:00
Maikel de Vries d2a8f2503c GILD: replace dynamite box with lantern (#1808) 2018-01-13 18:35:15 +01:00
Maikel de Vries 05268d140b GIDL: do not make stone doors static back 2018-01-13 18:26:20 +01:00
Maikel de Vries 187b887cdf ensure license abidance for liquid tank placeholder image 2018-01-13 18:11:14 +01:00
David Dormagen 825ad64afd AimManager: fixed incorrect use of PauseUse leading to aiming without holding CON_Use (#1691)
PauseUse can be called between ControlUseStart and ControlUseStop/Cancel. In this case ControlUseStop set aim_stop=1 but didn't actually stop reloading (which is somewhat fine). However, this led to PauseUse being called when e.g. tumbling or climbing.
And this again would lead to CON_Use being reissued even though the mouse button was not held down, leading to the Clonk being in aim mode.

The functional change here is that you will not continue reloading after tumbling/climbing when you are not holding down CON_Use anymore, which is consistent with other stuff.
2018-01-13 16:05:46 +01:00
Maikel de Vries c3dfdc5894 fix connecting multiple pipes to the refinery drain 2018-01-13 15:28:41 +01:00
David Dormagen 6b797e300e inventory bar: stack count always falls back to contained object count
Related to #1970 and 5fc07df757
This replaces the very hacky implementation just for the dynamite with a more general solution (and e.g. also works with the grenade launcher).
2018-01-13 15:24:08 +01:00
David Dormagen 12da14d603 structures: made very low damage repairable
When the damage times the total component value was much lower compared to the total HitPoints (e.g. with basements), the damage could sometimes not be repaired.
This is fixed now.
2018-01-13 15:04:15 +01:00
Maikel de Vries 4a3173da36 move liquid tank to Experimental.ocd
This should not appear anywhere in the release (also not editor), unless explicitly included.
2018-01-13 12:14:41 +01:00
Maikel de Vries eb24079b2f pump: add interaction menu entries for air pipes 2018-01-13 12:09:59 +01:00
Maikel de Vries dc541620b5 add new liquid tank structure (graphics needed) 2018-01-13 11:06:35 +01:00
Maikel de Vries 3255b02728 pipes: fix attaching, cutting, swapping, messaging, and interface 2018-01-13 11:06:35 +01:00
Maikel de Vries 84ad52251f liquid library: fixes and typos 2018-01-13 11:06:35 +01:00
Mark 78060d59e2 Fix #1976: Prevent GIDL from moving
The GIDL is now C4D_Living and C4D_StaticBack, preventing it from moving. At first I thought that adding an underground vertex would be sufficient, but that still made the idol move/shake when hit.
2018-01-13 09:50:17 +01:00
Lukas Werling 09458901bb Improve Acid Drilling map a bit (#1766)
- Some gem material for the teleglove
 - Some mushrooms in the cave
 - Some animals
 - Chests!
2018-01-11 22:24:41 +01:00
Maikel de Vries cb8eb3a4d5 fulfill defense goal if last active player is removed 2018-01-11 20:24:16 +01:00
Sven Eberhardt b15a8234b1 TreasureHunt: Improve game end check and some map simplifications 2018-01-10 21:30:15 -08:00
Sven Eberhardt 5fc07df757 Fix dynamite stick display count within dynamite box in interaction menu. 2018-01-09 18:00:35 -08:00
Sven Eberhardt ebd2eeae4b Don't burn objects inside the Clonk when submerged in Lava 2018-01-09 18:00:35 -08:00
Julius Michaelis 2931886438 Limit the number of times Cloud->Place retries.
Initialization did not terminate in planet/System.ocg/Template.ocg/DefaultWorld.ocs/.
2018-01-08 23:12:52 +01:00
Lukas Werling 6e52963828 Fix tools attached to Clonks after their deaths (#1974) 2018-01-08 19:42:59 +01:00
Lukas Werling e200aa58b3 Add CrushedIceCocktail by K-Pone for Miami Ice 2018-01-08 17:04:29 +01:00
Lukas Werling 9cbf1947ad HotIce: Change default spawn type back to island spawn
The HotIce games in #openclonk pretty much never use balloon spawn.
2018-01-08 17:04:29 +01:00
Lukas Werling c01cae990e HotIce: Add Eci Toh and Miami Ice themes
Thanks to K-Pone and KKenny!
2018-01-08 17:04:29 +01:00
Maikel de Vries 5e69a753ad improve tutorial 08 end sequence checks and dialogue 2018-01-08 11:12:21 +01:00
David Dormagen 1d93216f33 powder keg: drop icon overlay in favor of custom menu overlay (#1972)
The old icon overlay was behind the numbers in the inventory menu anyway. Now the object uses a bar similar to loam. And it also updates its description.
When turning empty, the (new) barrel is also no longer play-colored inside.

The powder barrel could of course just use actual gunpowder and be an extra-slot item (like the bow / dynamite box / etc.).
2018-01-07 18:23:14 +01:00
David Dormagen 0f049800c5 Revert "Object Interation Menu: Request displayed amount from objects" (#1970)
This reverts commit 8698aa25cf.

Tackling #1970. The implementation in the reverted commit was incorrect (i.e. only one out of two "GetStackCount" were replaced with GetInteractionMenuAmount, leading to weird behaviour). If you want to replace it, please do it in a way that no call to IsInfiniteStack will be required. And this hack would probably require so much more bloat code that nothing would be gained (i.e. what happens when you put two infinite arrow stacks in one container?).
The bug report complains about the "display stopping at 999" *in some situations*, which was due to Stackable_Max_Display_Count. It's gone now. And that it was not limited to 999 in all situations (like the code would have suggested) is probably due to the things I described above.

# Conflicts:
#	planet/Objects.ocd/Libraries.ocd/LiquidControl.ocd/Liquid.ocd/Script.c
#	planet/Objects.ocd/Libraries.ocd/Stackable.ocd/Script.c
2018-01-07 17:42:27 +01:00
Mark 0d38a3fb33 Fix #1973: Gems do not grow on wooden bridges anymore
Gems should not be near material vehicle now. This does still not prevent them from growing on things that the player built with concrete.
2018-01-07 16:14:54 +01:00
Mark 8bf90871e1 Fix error when AI equips a shield and has a ranged weapon
The shield and bow both use fx.aim_weapon, but the ranged weapons AI thinks that a shield works the same way as a bow and tries to fire it - in order to prevent this, the AI now also checks whether the equipped item is a IsRangedWeapon. This _could_ have an impact on the vehicle AI, but the unit test worked fine.
2018-01-07 14:39:07 +01:00
Lukas Werling dd86c05b9f Fix some � U+FFFD REPLACEMENT CHARACTER instead of umlauts 2018-01-07 00:50:43 +01:00
Lukas Werling 058e9addb4 Skylands: Don't use half solid mask on vertical scaffold wall 2018-01-05 22:11:16 +01:00
Lukas Werling da63092ee1 Skylands: Fix "free wood" appearing in front of Sawmill 2018-01-05 22:11:16 +01:00
Mark 66adf0f72c Fix #1969: Lorry does not eject contents by default
Instead, the lorry asks a container whether it should eject its contents. This is done via the callback LorryEjectionOnEntrance(object lorry) in the object that is being entered.
The old callback NoLorryEjection(object lorry) is obsolete.
2017-12-31 16:14:04 +01:00
Mark ee0917d7e8 Fix #1951: Disabled putting water in airplane and lorry
Removing liquid collection from the lorry is a side effect, but it is not bad. The lorry behavior was weird anyway, because you could for example put lava and wood in it, without the wood burning etc.
2017-12-29 12:59:36 +01:00
Mark 5aea227504 Improved unit test
The unit test does not really pass for now (it never did before, because it is not finished yet and used for testing the different transfer function behavior only)
2017-12-29 12:34:00 +01:00
Mark 67ee58d4d7 Fix unit test: Forgot adding materials for TeleGlove 2017-12-29 12:09:01 +01:00
David Dormagen 9214257424 fixed non-moving, high-velocity coconuts (#1627)
Coconuts were C4D_Object AND C4D_StaticBack. That meant that they would save speed (e.g. by explosions?) and could hit Clonks that passed by them.
2017-12-29 09:55:11 +01:00
Lukas Werling 2b3863a12c Show warning when attempting to load an old savegame (#1941) 2017-12-28 21:45:20 +01:00
Mark c3122b4890 Fix unit test
The test was not broken, but I added ending conditions to tests 4 and 5
2017-12-27 21:56:56 +01:00
Mark fc6c48078f Fix unit test: Liquid container
Adjusted some return values - it turned out that the test was actually wrong in these cases
2017-12-27 20:32:45 +01:00
David Dormagen ca16ffdd20 LaunchLightning: fixed GetType check
The comparison with C4D_Object was taken from the original PR (github #61). C4D_Object is the category, though.
2017-12-27 16:10:56 +01:00
David Dormagen d108cdd6aa inventory menu: be more lenient when it comes to finding matches between updates (#1964)
The matching had a few issues:
Items with the same symbol were supposed to be stacked, but the "symbol" changed from ID to object at some point. So same-type objects were no longer correctly matched.
Items with different text (e.g. amount) but everything else the same should be stacked. But simple proplist equality is obviously not sufficient to determine whether the contents of the proplist changed.

The order of the items is generally more stable now. I hope this doesn't introduce other issues.
2017-12-27 15:42:38 +01:00
David Dormagen 11ec98a195 removed "RaindropSmall" particle
It was no longer used. It's also just a stretched dot. Consider using an actual stretched dot instead (i.e. round GFX and Stretch = XYZ).
The sprite was also a little unclean.
2017-12-27 14:51:07 +01:00
David Dormagen f10b0854e8 fixed slow-mo rain (#1958)
Yes, someone just had the "slow-mo" switch on. I also replaced the usage of the "RaindropSmall" particle (which was a stretched dot) with an actual stretched dot.
2017-12-27 14:41:38 +01:00
David Dormagen de2b44c126 LaunchLightning: don't set launcher when called from effect/proplist to prevent syntax error (related to PR #61)
Setting the launcher to a non-object would throw an error later when being passed to Find_Exclude.
2017-12-27 14:00:43 +01:00
Mark 993d8c4565 #1249 Fix barrel fuse effect
Improved the barrel fuse effect in two ways:
1) The fuse is not at the center of the poweder keg anymore, making it more prominent
2) When carried by a clonk the effect is at the keg instead of the clonk center
2017-12-27 13:51:33 +01:00
Lukas Werling ea009cad76 Skylands: Enable half solid masks for scaffolds
We found these scaffolds to be rather infuriating to use, maybe this
will make it a bit better.
2017-12-27 13:17:24 +01:00
Lukas Werling 4b0ab0b8b1 Skylands: Fix script error
OnPlaneFinished deletes the calling object.

ERROR: can't access local variables without this
 by: SetProgress(5) (Missions.ocf/Skylands.ocs/Plane.ocd/Script.c:37)
 by: AddPart() (Missions.ocf/Skylands.ocs/Plane.ocd/Script.c:57)
 by: Timer() (Missions.ocf/Skylands.ocs/Plane.ocd/Script.c:47)
 by: FxIntScheduleCallTimer(0,effect {Function = "Timer", Name = "IntScheduleCall", NoStop = true, Pars = [], Repeats = -10794}) (System.ocg/Schedule.c:95)
2017-12-27 12:59:11 +01:00
Lukas Werling 3583bfcbb6 Prevent script error in buy menu
ERROR: '->': invalid target type nil, expected proplist
 by: Object(9419)->GetBuyValue() (Objects.ocd/Libraries.ocd/Structures.ocd/Vendor.ocd/Script.c:23)
 by: Object(9419)->DoBuy(0,0,0,Object(270),0,true) (Objects.ocd/Libraries.ocd/Structures.ocd/Vendor.ocd/Script.c:77)
 by: Object(9419)->OnBuyMenuSelection(0,0,Object(270)) (Objects.ocd/Libraries.ocd/Structures.ocd/Vendor.ocd/Script.c:269)
 by: Object(60927)->OnMenuEntrySelected({index = 2, slot = 1},10) (Objects.ocd/HUD.ocd/ObjectInteractionMenu.ocd/Script.c:880)
 by: Object(60940)->DoCall(10,0,Object(60927)) (Objects.ocd/HUD.ocd/MenuStyles.ocd/List.ocd/Script.c:166)
 by: Object(60940)->OnClick(0,0,6090,10,Object(60940)) (Objects.ocd/HUD.ocd/MenuStyles.ocd/List.ocd/Script.c:175)
2017-12-27 12:54:50 +01:00
Lukas Werling d43051b180 Prevent script error in ObjectInteractionMenu
ERROR: proplist access: proplist expected, got nil
 by: Object(18501)->OnContentsSelection() (Objects.ocd/HUD.ocd/ObjectInteractionMenu.ocd/Script.c:887)
 by: Object(18501)->OnMenuEntrySelected({index = 0, slot = 0},2,1) (Objects.ocd/HUD.ocd/ObjectInteractionMenu.ocd/Script.c:880)
 by: Object(18911)->DoCall(2,0,Object(18501),0,1) (Objects.ocd/HUD.ocd/MenuStyles.ocd/List.ocd/Script.c:166)
 by: Object(18911)->OnClick(0,1,948,2,Object(18911)) (Objects.ocd/HUD.ocd/MenuStyles.ocd/List.ocd/Script.c:175)
2017-12-27 12:50:56 +01:00
Lukas Werling 0c848be4df Prevent script error in ladder
ERROR: '->': invalid target type nil, expected proplist
 by: Object(11586)->IsBlockedLadder(Object(13439)) (Objects.ocd/Libraries.ocd/LadderClimb.ocd/Script.c:123)
 by: Object(11586)->FxIntSearchLadderTimer() (Objects.ocd/Libraries.ocd/LadderClimb.ocd/Script.c:90)
 by: Object(11586)->AddSearchLadderEffect() (Objects.ocd/Libraries.ocd/LadderClimb.ocd/Script.c:67)
 by: Object(11586)->FxIntScheduleCallTimer(Object(11586),effect {Function = Clonk.AddSearchLadderEffect, Name = "IntScheduleCall", Pars = [nil, nil, nil, nil, nil], Repeats = 0}) (System.ocg/Schedule.c:95)
2017-12-27 12:47:08 +01:00
Lukas Werling a4f25ecd4c Don't accidentally reattach coconuts (#1858)
I'm not sure how exactly that issue happens, but in the attached video
it looks like C4D_StaticBack was accidentally set again. As the XOR
operation can do that, I'm changing it to always set the C4D_StaticBack
bit to 0.
2017-12-26 20:00:32 +01:00
Lukas Werling 31fee7a46d Pickaxe: Check material in a cone (#1606)
This makes digging away single pixels easier.
2017-12-26 19:37:09 +01:00
Lukas Werling 6fc5c76a2c Rewrite Cloud positioning
The old code did some obviously wrong things like calling functions
expecting relative coordinates with GetX()/GetY(). It also sometimes ran
into an infinite loop in Cloud->Place(). I fixed those issues and
cleaned up the rest to be nicer, hopefully without changing
functionality.
2017-12-26 14:14:17 +01:00
Lukas Werling 2ab1408e41 Fix Boomshire spawn position (#1943) 2017-12-26 14:14:17 +01:00
Lukas Werling c964fa1c84 /screenshot: Add error message when in editor (#1137) 2017-12-23 12:11:28 +01:00
Lukas Werling ec77fe8744 Rock Bottom: Always start with a sword (#1556) 2017-12-23 11:46:08 +01:00
Lukas Werling 2c4f1a0b6d DeepSeaMining: Fix grammar in goal 2017-12-22 21:59:41 +01:00
Lukas Werling 8e2327326b FloodedVeins: Use AutoScanSideOpen
It does exactly what's needed here now!
2017-12-22 20:53:11 +01:00
Lukas Werling 8838d8c6ce AcidGoldMine: Draw acid lake with tunnel background (#1652)
The new AutoScanSideOpen won't close the border otherwise.
Additionally, this makes clear where to pump acid.
2017-12-22 20:50:28 +01:00
Lukas Werling e83ca471c0 Render (updated) credits with C4GUI 2017-12-21 22:57:37 +01:00
Lukas Werling 0ae6383937 Fix German translation of Goal_Expansion (#1967)
Not sure why the US format string worked before, but not the DE one.
2017-12-19 21:15:09 +01:00
Maikel de Vries 956108b415 fix scoreboard kills, deaths, etc.
This is better done through the clonk death callback such that all deaths and not just last clonk deaths are registered.
2017-12-03 20:56:51 +01:00
Maikel de Vries 752f086a0c fix dark mine relaunching for deathmatch mode (#1962) 2017-12-03 20:01:09 +01:00
Maikel de Vries 4abac1c6d6 interactions: do not show cycle message for interactions with a single object 2017-12-03 19:17:41 +01:00
Maikel de Vries 72093ffa7f fix switch target in horrid highway goal (#1960) 2017-11-30 18:54:46 +01:00
Maikel de Vries 7f0743a7b9 remove vehicle rotation alignment library
This did not do anything and the functionality does not seem to be needed.
2017-11-29 21:49:36 +01:00
Maikel de Vries 477bde5c88 airplane and airship use destructible library 2017-11-28 22:09:52 +01:00
Maikel de Vries 4b4e4a5522 structure library: fix for invincible objects and make health bar symmetric 2017-11-28 19:34:56 +01:00
Maikel de Vries 332016e6cc fix entry callback target for destructible library 2017-11-28 16:21:25 +01:00
Maikel de Vries 723a7767f6 add damage indication in interaction menu for destructible library 2017-11-28 15:20:39 +01:00
Mark 58b8a97734 For testing: Initial digging boost
The shovel initially has a little more speed, making the overhead dig less fiddly
2017-11-27 22:28:55 +01:00
Mark c7bb0785b6 For testing: Dive Jump 2017-11-27 21:57:17 +01:00
Clonkonaut 799bf97304 Forget this in my cable lorries work safe. 2017-11-27 00:46:30 +01:00
Clonkonaut e144bfd91f Clonk walk animations: smoother blending.
This was a very old script todo. I don't really know if I made it better (but I think so).
2017-11-26 14:28:04 +01:00
Mark f9cd3aa77e SwitchTarget: Single callback 2017-11-25 23:31:05 +01:00
Mark 43636c4941 Replace windows line endings 2017-11-25 22:55:53 +01:00
Mark 41d45db9c2 Library: Switch, SwitchTarget
Standardized behavior for switches
2017-11-25 22:16:47 +01:00
Maikel de Vries c50d3b84a2 fix missing construction site material info after loading game (#1740) 2017-11-25 16:52:15 +01:00
Lukas Werling 3d1caffcf6 Convert CRLF line endings to LF
Now all files are LF again.
2017-11-24 14:23:33 +01:00
Mark 06cd643d15 Clonk: Adjust mesh position while diving
This matches the vertex position better
2017-11-23 21:16:12 +01:00
Mark f8f9a38ee3 Clonk: Constants for SetMeshTransformation layers 2017-11-23 20:38:11 +01:00
Maikel de Vries e228d84670 make airship IsProjectileTarget failsafe as well 2017-11-22 17:18:41 +01:00
Maikel de Vries 5c11b703a9 Horrid Highway: add diamonds and remove debug log 2017-11-22 17:18:41 +01:00
Maikel de Vries 5bf83b7d3f IsProjectileTarget: make failsafe if projectile is nil and clean up 2017-11-22 17:18:41 +01:00
Mark 3e5de9eea9 For testing: More fluid hangling motion
Removed the dead stop between hangling strokes/swings. Instead, the
Clonk keeps moving with half speed.
2017-11-21 20:56:35 +01:00
Mark fd7eeecf2c For testing: Hangling with immediate stop
Instead of continuing to swing forward the Clonk stops immediately while
hangling. Additionally the hangle animation keeps on playing with a
short delay before it changes to the hanging animation, so that the
motion looks nice if you move a short distance only.
2017-11-21 20:49:41 +01:00
Clonkonaut 8cb3c6f6b3 New property, set for all buildings: FireproofContainer.
A fireproof container shields all contents from incendiary material (lava mainly). Structures can now be submerged in lava and the contents will not burn up.
2017-11-21 18:16:45 +01:00
Mark 5794e1bfb4 Removed ancient comments from the weapon code 2017-11-21 18:01:25 +01:00