Commit Graph

10692 Commits (e5b15a494c6377958baca028bb32c3ff8c1916a7)
 

Author SHA1 Message Date
Nicolas Hake e5b15a494c Drop C4AulParSet defaulted ctor
Having the ctor defaulted confuses MSVC 2015 and makes it not use the
templated ctor below even for calls with a parameter list,
thus skipping required initialization.
2017-07-18 02:24:04 +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
Sven Eberhardt 856dfc9aa9 Fix duplicate editor action buttons #1884 2017-07-11 21:25:08 -07:00
Sven Eberhardt 0c50e81413 Scenario list loader: Ignore .ocd and .ocg files when looking recursively for scenarios 2017-07-11 20:45:57 -07:00
Sven Eberhardt 17153c6fbe Show currently loaded item in gray while loading scenario list for scenario selection 2017-07-11 20:45:19 -07:00
Sven Eberhardt aa7c964fab Ignore main exe path for group loading when loading data from planet/ subfolder
This fixes a slowdown in scenario selection when some of the dependency folders (e.g. qt) are searched for scenarios.

Should also fix a bug where music is loaded from the exe path instead of planet/ if present
2017-07-11 20:43:21 -07:00
Sven Eberhardt 8dffeadc56 Fix slowdown during startup scenario list loading #1721
(the one that could be averted by wiggling the mouse)
2017-07-11 18:24:14 -07: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