Commit Graph

6253 Commits (3b0891ba89f7a75f832032036a6aefa2573e325d)

Author SHA1 Message Date
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
Mark 877d5fc62a For testing: Constant digging speed
As discussed on the forum.
2017-11-20 20:42:59 +01:00
Maikel de Vries 7ba158521f fix invisible dynamite box igniter (#1955) 2017-11-17 11:24:26 +01:00
Maikel de Vries 7184109808 detach dynamite igniter only if fused 2017-11-17 09:58:55 +01:00
Maikel de Vries f6b15a9051 cancel current use action if pilot is removed (#1954) 2017-11-17 09:22:48 +01:00
Maikel de Vries bc3d0bb29d make bats not attack prey in containers 2017-11-16 12:47:39 +01:00
Maikel de Vries 0e6f1599c6 fix airplane control use coordinate forwarding 2017-11-15 20:30:14 +01:00
Maikel de Vries 3a47802702 airplane: add afterburner mode
This reqruired some movement code clean up, replaced old effects with new effects.
2017-11-15 18:49:47 +01:00
Maikel de Vries 181cfdfd6b fix flammable library now that (#1950) is fixed 2017-11-11 09:57:22 +01:00
Maikel de Vries 963285eee5 NoBurnDecay is a boolean 2017-11-11 09:49:52 +01:00
Maikel de Vries 2429ee6722 fix switching dynamite igniter while switching inventory (#1913) 2017-11-10 17:10:31 +01:00
Maikel de Vries ed41426ef8 fix line endings of some files in planet 2017-11-10 10:21:09 +01:00
Lukas Werling c0047bdc53 Fix a desync during runtime join (GH-58)
This is a workaround for a more complex engine-side issue. See #1953
2017-11-05 13:56:21 +01:00
Lukas Werling fb87db1579 Fix umlauts in engine strings 2017-11-05 13:56:21 +01:00
Mark 9cea6ed03c Fix documentation comment. 2017-11-04 11:40:13 +01:00
Mark ac0cf07e31 New assertion: Not empty 2017-11-04 11:31:12 +01:00
Mark 26e72eb489 AStar: Clarify the "todo" error 2017-11-02 17:36:31 +01:00
Mark aaed0b4d54 Fix the typo again 2017-11-02 17:29:43 +01:00
Clonkonaut b1902355f9 Cannon, Catapult, Lorry: use Library_Destructible (cannons and catapults are now destructible!). 2017-11-01 01:27:48 +01:00
Clonkonaut 5193f99d6c Library_Destructible: for destructible objects, mainly vehicles.
Objects will be destroyed after local HitPoints has been reached in damage taken. Objects will explode into little burning bits, just like it is with lorries.
2017-11-01 01:20:41 +01:00
Clonkonaut f6af52711a Catapult texture: removed some dark pixels around the draw wheel which showed because of stretching. 2017-11-01 00:56:14 +01:00
Clonkonaut 6acea8930b Various objects: include library flammable
Increased burn time (140 frames) for: axe, bucket, grapple bow, hammer, pickaxe, shovel, sickle. So useful items will burn a little bit longer.
Coal will burn for 245 frames and then just burst into ashes and not change into a Burned Object.
2017-11-01 00:54:24 +01:00
Clonkonaut 41676186a1 Library_Flammable: Logic for flammable objects / items.
When ignited, the object will burn for a fixed time (BurnTime property, default is 70 frames) with no detriment to its function.
After that time, the object will change to a 'Burned Object', no longer useful for anything.
2017-11-01 00:46:38 +01:00
Clonkonaut 5c45d7a08e Fix a script comment that Luchs complained about. 2017-10-29 11:39:07 +01:00
Clonkonaut 3084edcab7 Boomshire: fix arg_count_mismatch warning. 2017-10-29 11:34:53 +01:00
Martin Strohmeier 4d1a000ed8 Fix #1906: Rule_Relaunch is saved properly in Objects.c by using GetRelaunchRule() instead of CreateObject() 2017-10-27 18:51:14 +02:00
Clonkonaut 2c4aba74f0 Teleglove production: needs any one gem (diamond, ruby, amethyst) to produce (as discussed in #1505). 2017-10-27 13:25:34 +02:00
Clonkonaut fceda32505 Loam production: substitute sand for earth (#1148). 2017-10-27 13:22:37 +02:00
Clonkonaut 808e7fa866 Producer: allow construction material substitution for products via script.
All item can now define substitute components like this:
public func GetSubstituteComponent(id component)
{
	if (component == Rock) // Rock is in the regular components
		return Metal; // Rock can be replaced by Metal, amount is the same

	if (component == Wood) // Wood is in the regular components
		return [Cloth, Wipf]; // Wood can be replaced by either Cloth or Wipf, amount is the same
}
2017-10-27 13:19:59 +02:00
Clonkonaut 9d3e61e483 Nugget: more reddish colour, to fit the material (#1588). 2017-10-26 16:36:12 +02:00
Clonkonaut a3b387dc30 Treasure Hunt: fix goal description (Dagobert -> Scrooge) (#1912). 2017-10-26 01:20:03 +02:00
Fulgen301 ab3b6cc682 Treasure Hunt: NPC fixes * Make all NPCs except the AI invincible * Modify Jane's dialogue (before, the player clonk was amused about Tarzan's death ;) * AI clonk have now got names 2017-10-26 01:15:50 +02:00
Clonkonaut ea301d7289 Double elevator: transfer MoveTo calls to master case (#1708). 2017-10-26 01:05:37 +02:00
Clonkonaut df861d2654 Give visual feedback that loam is used (#1889). 2017-10-26 00:44:25 +02:00
Fulgen301 05ad28c4f1 Hideout/PyreGem: Fix possible null pointer error The PyreGem calls thrower->GetOwner() in its Hit() function. However, if the gem hits something before setting a thrower (e.g. when falling), it throws a null pointer error. Note: This only concerns custom scenarios which include this gem. 2017-10-25 15:25:14 +02:00
Clonkonaut 232a7deb5b Deep Sea Mining: added Diving Helmet (#1939). 2017-10-25 15:21:30 +02:00
Clonkonaut 2ca557a09c inherited(...); to inherited(); in Initialize since Initialize doesn't have any parameters. 2017-10-25 15:01:19 +02:00
Clonkonaut cbe536711c Boomshire: making sure the airplane will always be upright when reset. 2017-10-25 15:00:38 +02:00
Lukas Werling afa348ab21 Add comment next to all documented functions in System.ocg
Many functions in System.ocg have proper documentation, but not next to
the code. When changing these functions, it is easy to forget updating
the docs. Nobody likes outdated documentation!
2017-10-21 00:10:42 +02:00
Martin Strohmeier a0b131cefd Fix scoreboard not updating relaunches #1947 2017-10-15 23:54:39 +02:00
Clonkonaut 3c87d0f135 Work save regarding cable cars/lorries.
Started to work on a few station configuration options and combining these with producers for requesting materials (which now kind of works).
2017-10-04 01:19:46 +02:00
Mark 77bb9c91a6 Fix yet another typo 2017-09-10 20:07:38 +02:00
Mark 380d6202c7 Fixed typo 2017-09-10 19:34:29 +02:00
Mark 7f5ca45097 PowerSystem: Streamlined behavior of neutral network
The check for several neutral networks is more strict now, however. Did
not report an error in the unit test, so it *should* be OK.
2017-09-10 19:33:56 +02:00
Mark 6149f7de8a PowerSystem: Streamline method behaviour
Linked flag changing now always updates all networks (which is not very
hard on the performance), special treatment for neutral network will be
removed with the next commit.
2017-09-10 19:18:52 +02:00
Mark 0c148530a6 PowerSystem: Network creation as a function 2017-09-10 18:11:05 +02:00
Mark 28b22c6c62 PowerSystem: Use getter and setter internally 2017-09-10 15:43:19 +02:00
Mark cc21da2315 PowerSystem: Move network merging from flag to power library.
This is not totally finished yet, but this far it is mere refactoring
without changing the system itself.
2017-09-10 14:34:18 +02:00
Mark 4fab0cf47e PowerSystem: Make system overloadable
Replaced hardcoded method calls with a wrapper function
2017-09-10 12:54:11 +02:00
Mark 366ba86abc Fix #1940 All coconuts must be eaten! 2017-09-02 21:16:04 +02:00
Mark 4838093aaf Seed: Extract function for planting manually
Makes it possible to plant manually if some object overloads ControlUse
2017-09-02 21:15:38 +02:00
Julius Michaelis c4cd9dda63 Set VIS_Editor in Library_Goal to avoid forgetting it in future goals
Fixes #1932
2017-09-01 15:59:51 +02:00
Mark 2db1ae5de2 ConstructionSite: Fix compiler warning 2017-08-27 21:05:07 +02:00
Mark 3917964bf2 ConstructionSite: Fix possible nil access
Code that works with that function expects an array to be returned.
2017-08-27 12:19:38 +02:00
Mark d1996e45df Structure: Improved SetBasement
The access to editor actions poses a problem sometime when deleting
basements.
2017-08-27 10:40:44 +02:00
Mark 3e26d4258a ConstructionSite: Overloadable function for construction site preview 2017-08-26 13:36:31 +02:00
Julius Michaelis 9c3c6d1079 Windmill: Syntax error fix 2017-08-26 12:16:32 +02:00
Mark 86154ddd40 ConstructionSite: Interface for custom implementation
Status update should be callable as such separately.
2017-08-24 22:24:03 +02:00
Mark d27223f960 ConstructionSite: Interface for custom implementation
Extracted some more functions to make overloading easier.
2017-08-24 21:49:40 +02:00
Mark 7067192c63 ConstructionSite: Interface for custom implementation 2017-08-24 21:08:27 +02:00
Mark 929b31c4a3 ConstructionSite: Cleaned script
I know that moving around functions is hell when merging, but I did it
anyway because the construction site is not being changed that often
anymore.
2017-08-24 20:58:29 +02:00
Mark 0a20608f60 ConstructionSite: Remove unused function
It did not really disallow taking stuff out, so I removed it.
2017-08-24 20:45:55 +02:00
Mark c25c63179f Gold idol: New graphics and script 2017-08-24 20:27:45 +02:00
Maikel de Vries fd42ddd823 add script option to block cutting of pipes
This allows scripters to place liquid containers with fixed pipes, so that players do not break scenarios.
2017-08-20 12:58:31 +02:00
Maikel de Vries cb1482d5a4 fix spamming balloons (#1709) 2017-08-19 16:11:04 +02:00
Maikel de Vries 2fa7aabcac prevent buildings from partially burning down (#1880) 2017-08-18 17:59:25 +02:00
Fulgen301 56d1c689d8 The Raid: Correct string table entry Clonko3 2017-08-14 14:49:45 +02:00
Fulgen301 f80e9dbd1a Display carry heavy objects on the clonk's back while swimming (#1764) 2017-08-14 14:49:45 +02:00
Mark eb1657c3e3 Wearable: Attachment flags
Wearable items can have attachment flags, such as matching the target
skeleton
2017-08-13 23:41:04 +02:00
Maikel de Vries bbdd38830e show keys to cycle between interaction objects 2017-08-12 22:14:54 +02:00
Armin Burgmeier 02fa5abc66 Fix material/texture selection in landscape shader (#1841) 2017-08-12 17:01:52 +02:00
Mark 5eaa5703a0 Golden statue: Getters for editor actions 2017-08-12 10:58:08 +02:00
Mark e4912b9fda Fight for Gidl: Statue uses a custom pose 2017-08-11 21:37:21 +02:00
Mark 22e05d7a8f Gold statue: Decorative items
Can place items in the gold statue hands. In the future, it might be
actual items that get displayed correctly in the hands by themselves
(maybe I have to tinker with the model here, unless we want to have
custom transformation callbacks for every item).
2017-08-11 21:29:52 +02:00
Mark daae41e61d Golden statue: Editor properties for pose 2017-08-11 15:34:36 +02:00
Mark 09eec4b53c MoltenMonarch: Moved materials to weapons
Weapon materials are now defined in the basic objects, so that other
scenarios can use the alternate skins, too.
2017-08-11 14:22:45 +02:00
Mark e0662bc206 Fight for Gidl: Adjust statue position
Made the statue not movable, so there is no need to make it stuck in the
ground.
Other scenarios do not need an adjustment, because they use
CreateObjectAbove(), so the positions will be OK (tested with 3
scenarios).
2017-08-10 22:43:09 +02:00
Mark be9f477a16 Gold statue: New graphics
Added a new mesh with 6 different poses for the gold statue.
2017-08-10 22:27:32 +02:00
Maikel de Vries 07a945ee8e playground: do not show plant library in spawn menu (#1911) 2017-08-05 16:17:28 +02:00
Maikel de Vries bb970f1d8c improve volcano escape atmosphere (#1566) 2017-08-05 10:49:54 +02:00
Mark e73c206bdd Constructor: Modular construction menu
Makes it easier to overload the individual parts
2017-07-28 23:01:19 +02:00
Mark f8e30e3a00 Animations: Parameter for rolling
Certain packs/objects may want to restrict your ability to roll. The
parameter that distinguishes between rolling from a fall and rolling
while running is helpful here.
2017-07-28 22:08:19 +02:00
Mark 349529fa02 ConstructionSite: Cleaned script
Made the script a little more readable in some places
2017-07-27 22:04:49 +02:00
Mark 3fcee70f60 Fix breathing sound 2017-07-27 21:51:07 +02:00
Mark 7f30f4d971 Fix #1930
Contained clonks can interact with their container now. Changed the
order of issued calls around a little, but it should not create unwanted
effects.
2017-07-23 20:37:53 +02:00
Maikel de Vries 81330d5b34 make lightning move to nearby lightning attractors 2017-07-23 10:47:16 +02:00
Fulgen301 d8579607ac Tutorial.ocf: Fix string tables 2017-07-23 10:00:22 +02:00
Fulgen301 69538d4962 Add rain drop effect and modify the stalactite in order to use this effect
Squashed three commits, see https://github.com/openclonk/openclonk/pull/47
2017-07-23 09:55:30 +02:00
Mark 62ff92aa97 Structure: Allow basement override
Structures created basements with ID Basement, now the basement type can
be defined with the callback GetBasementID (default value is Basement)
2017-07-22 23:47:16 +02:00
Mark ee4ac9e825 Structure: Callback for too much damage
Added callback OnNoHitPointsRemaining() that is called if whenever the
structure is about to be removed because it took too much damage. Should
the callback return true, then the damage counts as handled and the
structure will not be removed.
2017-07-22 23:47:15 +02:00
Maikel de Vries efe7dcf251 add Find_Cone to find objects in a cone
The reason for an engine function for this is speed, an implementation in script needs Find_Func and ensures slowness.
2017-07-19 22:04:43 +02:00
Maikel de Vries f5f8b18204 remove unused AttractLightning defcore entry
Not used in either the engine or in script, script implementation of lightning can use a script defined property.
2017-07-15 14:00:19 +02:00
Maikel de Vries 4a093b747e remove unused FireTop defcore entry
This has been obsolete since fire is implemented in C4Script.
2017-07-15 13:40:37 +02:00
Mark 2da7768a8e Remove if-block in Eat()
The check should be made in the object that call Eat()
2017-07-13 21:49:07 +02:00
Mark e20d5e87ae Library: Edible items
All the functionality for food is bundled in one library now
2017-07-13 21:48:36 +02:00
Maikel de Vries 12e8ee6636 fix lightning striking certain objects and loosing strength 2017-07-12 22:37:03 +02:00
Maikel de Vries 57c0aacbfa reduce lightning strength if an object is struck
This prevents lightning to be an infinite path of destruction.
2017-07-10 19:14:07 +02:00
Martin Strohmeier 2d0a178b87 HotIce: Fix Syntax error 2017-07-09 19:26:10 +02:00
Maikel de Vries 03b6024aca explode meteor when struck by projectile or lightning 2017-07-09 18:35:15 +02:00
Maikel de Vries cc92a58388 pass lightning object to OnLightningStrike for kill tracing 2017-07-09 18:35:15 +02:00
Maikel de Vries 906ccb6733 fix not playing thunder sound in lightning strikes when requested 2017-07-09 18:35:15 +02:00
David Dormagen c3fbdd538a coral: added comment
The intention of the underscore was not clear at a first glance. To avoid people thinking it's a bug and accidentally renaming it, it's commented now.
2017-07-09 17:56:12 +02:00
Maikel de Vries b1542a3338 horrid highway: resolve meteor spawn problem and adjust difficulty settings 2017-07-08 18:17:16 +02:00
Martin Strohmeier ea4aa3eae2 Hot Ice: Fix Clonks stuck in RelaunchContainer on classic spawn in first round 2017-07-08 15:06:47 +02:00
Clonkonaut c2f1d47f63 Added OnClonkEnteredRelaunch when the clonk enters the relaunch container (in accordance to OnClonkLeftRelaunch), request by the Knüppeln team.
I also use this commit to shamefully hide the bugfix of the bug I previously committed.
2017-07-07 00:52:23 +02:00
Clonkonaut 1144837e7e Make a positive return of the OnPlayerRelaunch game call suppress regular relaunch behavior.
I suspect this was intended all along (compare to line #223) but not implemented by mistake.
2017-07-07 00:27:08 +02:00
Maikel de Vries d34f0a689b add new world: horrid highway 2017-07-06 10:18:27 +02:00
Maikel de Vries d458b0a25a fix script error in relaunch rule when buying new clonk fails 2017-07-06 10:12:30 +02:00
Maikel de Vries f56e10c082 fix pump liquid selection menu entry for german language 2017-07-04 22:44:23 +02:00
Maikel de Vries b2a966150c pump: fix connecting already defined drain and source pipes 2017-07-04 15:19:31 +02:00
Maikel de Vries c20698060c airplane: allow changing direction while pushing, better landing, clean-up 2017-07-04 14:49:22 +02:00
Maikel de Vries 50221615b8 adapt clonkomotive scenario to new locomotive 2017-07-04 09:00:16 +02:00
Maikel de Vries 1775684038 locomotive: make liquid tank for easier use 2017-07-04 08:38:49 +02:00
Maikel de Vries 7d98d29b33 moved locomotive to main object folder
Now it can be used by other scenarios as well.
2017-07-03 16:05:58 +02:00
Martin Strohmeier a7c139bb68 Sandbox: Added object removing tool and feedback for invincibility tweak 2017-06-28 23:48:04 +02:00
Mark b7297c1358 Eat: Use existing function call instead of hardcoded comparison
Should the criteria for walking change then eating will still work
2017-06-28 19:36:39 +02:00
Mark 6208d99b98 Heal: Updated to new effect format, added variable interval
The healing interval defaults to the old fixed value.
2017-06-28 19:36:21 +02:00
David Dormagen 42b6e1f69c extra-slot display now shows object instead of definition (#1924)
Showing the definition means that objects can not modify their display in the extra-slot. E.g. the arrows would always show their "full" state. Now the arrow count is correctly displayed in the extra-slot.
2017-06-28 19:22:05 +02:00
Maikel de Vries 3a2c68dcc9 interaction menu: add callback target for menu entries
This allows to forward menus of one object to its parent properly. A specific usecase is cannons, which are soon to come (hopefully).
2017-06-26 17:28:40 +02:00
Maikel de Vries 0cd307a5f0 interaction menu: remove contents refresh effect if menu ordering has changed
This can happen if an objects updates the menus without any callback function [UpdateInteractionMenus(callbacks)].
2017-06-26 17:26:06 +02:00
Maikel de Vries a53bc7eb61 fix script error when fire arrow's incineration destroys an object 2017-06-26 17:20:22 +02:00
Maikel de Vries f98f12c863 defense boom attack: can be hit by more weapons 2017-06-26 17:19:13 +02:00
Mark 8720409fbf Colors: Breaking change - SplitRGBaValue
Changed the return value from array to proplist. The proplist contains the values R, G, B, Alpha.
2017-06-24 19:39:00 +02:00
Mark 56bf2eb06e Colors: Use constants where possible
Did not use constants for the HSL values, because it did not seem worth to introduce them.
2017-06-24 19:24:21 +02:00
Maikel de Vries ce0bb331f7 add function to set target to defense boom attack 2017-06-24 17:58:17 +02:00
Maikel de Vries 5d5cb709bc add functio to make cargo balloon floating 2017-06-24 17:58:17 +02:00
Mark 04b85e0719 More modular AI
The AI was split up into a basic controller object that contains just the AI control effect and basic logic. The other components should work individually, and the final implementation of the AI can import these components individually.

Fixed AI catapults, so that they now fire even if the clonk has no items in the inventory.

Merged from gitMarky/openclonk, branch ai_backport.
2017-06-24 12:00:22 +02:00
Mark fc4a1660da Debugging: Streamlined functions
Another possible option was a parameter for the log level, but I decided against it, because differently named functions feel better than a string constant as a parameter.. Removed some annoying log outputs that I added before.

 Any suggestions for the function names are welcome, because I am not quite happy with the names yet. The distinction between normal output and warning is maybe not even necessary.
2017-06-23 23:19:42 +02:00
Mark dddf5e223a Fix catapult not shooting
The problem was in AI_TargetFinding, line 18: The clonk that has a vehicle, but not any contents, will never find any attack targets. The vehicle is saved as fx.weapon, so if the clonk has a weapon it asks that weapon first whether it is suitable, and only if not it consults the inventory.
2017-06-23 22:32:17 +02:00
Mark fe9ef89cf4 Debugging: More log output
Will streamline the two different functions later on. The difference is, that one function issues a warning, while the other merely provides information. Logging calls in components have to be called failsafe, because the cannot rely on the actual AI implementation including AI_Debugging.

This helps me understand why the catapult in AI test #7 does not fire. The solution is very interesting: The AI executes the idle strategy as long as it has no contents. After giving contents to the AI it executes the catapult strategy.
2017-06-23 22:20:09 +02:00
Mark d9f7147dd3 Debugging: Use individual setting instead of definition setting
This helps when debugging a certain AI-controlled Clonk's behavior
2017-06-23 22:01:15 +02:00
Mark 6cb154fabd UseControl: Prevent possible call on null object
This usually happens in the following case from ClonkControl.ocd/Script.c:

// Release commands are always forwarded even if contents is 0, in case we
// need to cancel use of an object that left inventory
if (contents || (status == CONS_Up && GetUsedObject()))
{
	if (ControlUse2Script(ctrl, x, y, strength, repeat, status, contents))
		return true;
}

It could also be necessary that, instead of contents, either "this", or GetUsedObject() should be passed. Not sure which one was intended.
2017-06-21 00:06:12 +02:00
Mark 2553f5a388 Object: Variable placement for plants
RootSurface() does not yield good results for all objects, so I think the function should have a parameter for movement range. Re-declarated the variable "i" in the second if-block; I always thought we had scoped variables, it surprises me that the previous version worked.
2017-06-20 21:55:01 +02:00
Maikel de Vries 6b2cbf2ab2 add Place function to chippie 2017-06-20 18:25:27 +02:00
Maikel de Vries 30dd9c1d8f silence argument mismatch warning in rapid refining scenario 2017-06-20 18:24:41 +02:00
Maikel de Vries 968c5b9e68 clarify how to use hammer in tutorial 3 (#1888) 2017-06-17 21:16:38 +02:00
Maikel de Vries 48c17c1e54 clarify tutorial 2 loam message (#1887) 2017-06-17 21:08:45 +02:00
Maikel de Vries 6bfd967f40 add wealth display to tutorial 1 2017-06-17 20:56:03 +02:00
Fulgen301 73b52a15ce Remove StringToInteger function 2017-06-14 21:11:39 +02:00
Maikel de Vries bfe9449256 lava core: only have solid mask when frozen
This causes less lag.
2017-06-11 14:50:35 +02:00
Mark 16c2fd80d5 Animations: Rolling when hitting the landscape as a separate function
The logic for rolling can now be overloaded. Runtime overload is not intended yet.
2017-06-09 21:43:35 +02:00
Mark a4ad791969 Add help message to editor
Still no idea why it was added to the list twice.
2017-06-08 22:28:18 +02:00
Mark d252e839b5 Remove references to AI
the basic AI should not be referenced in its components, so that they are independent of each other
2017-06-08 21:58:37 +02:00
Mark df0a43a46b Stricter calls
This is completely optional, as the calls do now cause an error and not just log a warning
2017-06-08 21:44:32 +02:00
Mark c64670c7d5 Replace .control references
Same argument as renaming the control effect. Is optional, though
2017-06-08 21:35:04 +02:00
Mark 6440b16387 Minor script formatting 2017-06-08 21:25:11 +02:00
Mark a87eed5de1 Replace FxAI-references
The hardcoded references make renaming the effect later a huge problem.
2017-06-08 21:15:31 +02:00
Mark f204b959e7 Port from AI library project
It seems that the vehicle AI is broken.
2017-06-08 20:54:54 +02:00
Mark 8b149a5433 Preparation: Move files to a different folder 2017-06-08 20:32:36 +02:00
Maikel de Vries 7b4ba0245b fix script error on basement attachment to scaffold (#1917) 2017-06-03 15:41:03 +02:00
Maikel de Vries 2b88e77254 adapt System.ocg headers to style guidelines and small clean ups 2017-06-02 17:15:08 +02:00
Maikel de Vries f3cadedff1 add effects to block damage and fire 2017-06-02 17:15:08 +02:00
Mark b19e083495 Fixed a typo 2017-05-31 21:59:04 +02:00
Nicolas Hake 9d6d873156 Merge GH-43 from Fulgen301/OCMilestoneProject
Torch: Add new mesh
  Torch: Emits light when held, remove DoKneel() animation
2017-05-31 18:13:39 +02:00
Mark 3f9687c1a0 Assert: New assertion for definition context 2017-05-29 21:56:06 +02:00
Sven Eberhardt 04ec41b54c Hide Wearable and RangedWeapon libraries in object creator 2017-05-27 16:34:33 +09:00
Sven Eberhardt 9c2fa297ca Move LavaChunk from volcano to items/resources
This simplifies editor placement
2017-05-27 16:33:22 +09:00
Sven Eberhardt a2d6b65668 Add Title.txt for group folders in Objects.ocd and Decoration.ocd 2017-05-27 16:31:46 +09:00
Sven Eberhardt cb86124d78 Ladder: Add editor handles to drag length 2017-05-22 12:15:45 -04:00
Maikel de Vries 0ed4d484fc prevent kill logs rule from creating the relaunch rule 2017-05-15 12:17:17 +02:00
Maikel de Vries 9e9e664581 only show entering interaction if actually standing at the entrance of an object 2017-05-13 15:04:02 +02:00
Maikel de Vries 496c73a50f add a method to calculate the area to the shape library 2017-05-13 14:59:14 +02:00
Maikel de Vries fd734330d6 first try to enter pushed vehicle when entering objects
There was no possibility to enter vehicles into yet, so this would be my first attempt to solve this, we can evaluate this and improve if needed.
2017-05-12 14:38:36 +02:00
Mark 70a89ce4f8 GUI: More robust calculation 2017-05-11 21:52:20 +02:00
Mark 1362494790 Fixed accidental redeclaration existing constant 2017-05-11 21:19:47 +02:00
Sven Eberhardt 9abf0d156e Add editor drag handle to extend tunnel support decoration 2017-05-10 18:42:56 -04:00
Mark 739ddc2be3 Additional GUI layout
I found it a lot easier to create GUIs with these functions, so I decided to add them. If something can be simplified, please tell me so.
2017-05-10 22:33:38 +02:00
Mark 631c239717 Merge function for proplists 2017-05-10 22:03:57 +02:00
Mark 03dc2cb84f Some common assertions
An attempt in reducing duplicate code :)
2017-05-10 21:52:54 +02:00
Sven Eberhardt 1b4fd9abe3 Editor: Add translation overview table (Tools menu) 2017-05-09 22:43:56 -04:00
Sven Eberhardt 7d535ac6db Fix US name of Goal_RubyHunt 2017-05-07 15:29:42 -04:00
Sven Eberhardt fec7a7c084 Fix localized description display in script goal 2017-05-07 15:28:37 -04:00
Sven Eberhardt 94669cebe4 Merge branch 'master' of ssh://git.openclonk.org/openclonk
Conflicts:
	src/editor/C4ConsoleQtPropListViewer.cpp
2017-05-07 15:16:01 -04:00
Sven Eberhardt bc4425462c Add localization support for string evaluators, gravestone and signpost inscriptions and custom game goal texts 2017-05-07 15:03:11 -04:00
Sven Eberhardt 4fac960cf4 Editor: Add localized string support 2017-05-07 14:26:30 -04:00
Maikel de Vries 77dca569fe Switch: properly process and save editor actions 2017-05-06 18:55:27 +02:00