Mark
8a26454f3c
Library: Resource selection
...
The resource/material selection from the pump was practical, maybe even
applicable for cable cars and the like. Extracted a separate library for
that.
2018-12-25 11:11:44 +01:00
Mark
bab1b7ee90
Extracted actual producer logic||Certain external projects have different systems and want to just use the logic on their own, without copy & paste of the file contents.
2018-12-21 21:29:45 +01:00
Mark
cf7469043d
Simplified logic for substitutes
...
The production cost method returns an array of material cost arrays, but
their format has changed. Instead of
[<default resource>, <cost>, <substitute(s)>]
it now returns an array of proplists
[{Resource = optionA, Amount = costA}, {Resource = optionB, Amount =
costB}]
so that there are fewer cases to keep in mind: No "are there
substitutes?", but you can simply check all variants and pick the best.
This also allows different substitutions, for example "2 earth or 3
sand" is now possible.
2018-12-21 16:54:43 +01:00
Mark
6bdb4275f7
Formatted code, no change in functionality
...
Brackets, protected/private func => func, whitespaces
2018-12-21 11:25:19 +01:00
Mark
d9bc1d9142
Added callback for production progress
2018-12-21 11:08:10 +01:00
Nicolas Hake
4c5dfac952
Remove or use unused variables in Objects, System
2018-07-24 14:19:26 +02:00
Maikel de Vries
a4d20d79d5
cable cars: extend order interface and let producer order more components at a time
2018-04-16 11:13:32 +02:00
Maikel de Vries
1e060d6124
cable cars: improve deliveries and producer requests fuel
2018-04-12 09:21:00 +02:00
Maikel de Vries
618b4039b3
cable cars: fix finding crossing for power supply when previous fails
2018-04-12 09:21:00 +02:00
Maikel de Vries
c00a8cf3c3
fix a bunch of suspicious assignment warnings
2018-04-09 11:53:55 +02:00
Maikel de Vries
a70ab8b843
cable cars: let steam engine request coal when needed
2018-04-01 20:54:12 +02:00
Maikel de Vries
3085bfd264
power system: add functions to check if production and consumption is registered
2018-04-01 20:54:12 +02:00
Maikel de Vries
9e01a861ce
fix some more structure vertices, also for asymmetric ones when flipped ( #1979 )
2018-01-31 19:59:41 +01:00
Maikel de Vries
aa892171fb
update version to 8.0 in DefCore.txt, Scenario.txt and Version.txt
2018-01-28 13:18:46 +01:00
Maikel de Vries
ea72e2e542
clean up library vendor script
...
Also set up buy all available on shift + click for testing
2018-01-24 17:44:42 +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
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
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
Maikel de Vries
4b4e4a5522
structure library: fix for invincible objects and make health bar symmetric
2017-11-28 19:34:56 +01: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
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
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
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
12e8ee6636
fix lightning striking certain objects and loosing strength
2017-07-12 22:37:03 +02:00
Maikel de Vries
85ce25fb0f
add editor button to place basement under a structure
2017-01-15 15:38:33 +01:00
Mark
2168a6948a
Base Material: Remove more duplicate code
2017-01-06 15:38:16 +01:00
Mark
879f21acaf
Base Material: Add brackets.
2017-01-06 15:34:25 +01:00
Mark
65850d4015
Base Material: Extracted function for accessing the player's base material
...
Reduces duplicate code.
2017-01-06 15:27:11 +01:00
Mark
32245bfb20
Base Material: Rename 'def' to 'material'
2017-01-06 15:19:15 +01:00
Mark
2b5a2740b4
Base Material: Rename 'cnt' to 'amount'
2017-01-06 15:18:11 +01:00
Mark
548d2a7b13
Base Material: Rename 'plr' to 'player'
2017-01-06 15:16:02 +01:00
Maikel de Vries
59961f3a17
remove base library
...
* remove library itself
* remove GetBase()
* change flagpole, etc.
* move basematerial library to vendor
2016-12-28 18:19:10 +01:00
Sven Eberhardt
16988e76f0
Add "flip" EditorAction to structures
2016-12-28 08:50:19 -04:00
Maikel de Vries
2392f85358
fix another c4script error when updating power network
2016-12-26 17:55:45 +01:00
Maikel de Vries
a422c6d6ec
power storage: save stored power and make editor property
2016-12-26 17:55:45 +01:00
Maikel de Vries
84d621fc5a
fix script runtime error when updating power networks
2016-12-26 17:55:45 +01:00
Maikel de Vries
42c8dbc2c8
make producer continue directly after production finishes
2016-12-25 17:48:07 +01:00
Maikel de Vries
7715d961f5
add information about whether power storages are being filled to the power display
2016-12-18 12:20:36 +01:00
Maikel de Vries
95e520a941
initialize power library local vars in construction callback ( #1868 )
2016-12-18 11:08:51 +01:00
Clonkonaut
afc565a419
Re-enabled automatic bucket emptying ( #1867 ).
2016-12-18 00:50:35 +01:00
Maikel de Vries
7ef0fc5568
don't let producers empty extra slots ( #1864 )
2016-12-16 21:37:47 +01:00