mirror of
https://github.com/wesnoth/wesnoth
synced 2025-05-03 00:17:44 +00:00
Merge an [if] into a [while] conditional...
...so we don't loop more often than is useful.
This commit is contained in:
parent
4adfa2a576
commit
82b26cf7fe
@ -475,93 +475,101 @@ Note: You need to use the default map settings for the scenario to work right."
|
||||
#enddef
|
||||
|
||||
#define REGULAR_RANDOM_SPAWNS SIDE INTERVAL_NUMBER SPAWN_NUMBER BASE_GOLD_AMOUNT GOLD_INCREMENT UNITS_AMOUNT GOLD_PER_UNIT_AMOUNT
|
||||
# Calculate how many timed_spawn[] entries to define.
|
||||
[if]
|
||||
[variable]
|
||||
name=main_group
|
||||
less_then={SPAWN_NUMBER} # Really: less or equal to SPAWN_NUMBER-1.
|
||||
[/variable]
|
||||
[then]
|
||||
{VARIABLE spawn_limit $main_group}
|
||||
[/then]
|
||||
[else]
|
||||
{VARIABLE spawn_limit "$({SPAWN_NUMBER}-1)"}
|
||||
[/else]
|
||||
[/if]
|
||||
{VARIABLE spawn_id 0}
|
||||
[while]
|
||||
[variable]
|
||||
name=spawn_id
|
||||
less_than=$main_group
|
||||
less_than=$spawn_limit
|
||||
[/variable]
|
||||
[do]
|
||||
{VARIABLE turns $spawn_id}
|
||||
{VARIABLE_OP turns multiply {INTERVAL_NUMBER}}
|
||||
{VARIABLE_OP turns add 3}
|
||||
{VARIABLE_OP spawn_id add 1}
|
||||
{VARIABLE_OP spawn_id add 1} # Loop control variable increment.
|
||||
{VARIABLE gold {BASE_GOLD_AMOUNT}}
|
||||
{VARIABLE gold_turns $turns}
|
||||
{VARIABLE_OP gold_turns sub 3}
|
||||
{VARIABLE_OP gold_turns multiply {GOLD_INCREMENT}}
|
||||
{VARIABLE_OP gold add $gold_turns}
|
||||
|
||||
# regular spawns
|
||||
[if]
|
||||
[variable]
|
||||
name=spawn_id
|
||||
less_than={SPAWN_NUMBER}
|
||||
greater_than=1
|
||||
[/variable]
|
||||
[then]
|
||||
# regular spawns
|
||||
{VARIABLE units $gold_turns}
|
||||
# add a random amount of the basic gold
|
||||
{RANDOMIZE {BASE_GOLD_AMOUNT}}
|
||||
{VARIABLE gold1 $random}
|
||||
{RANDOMIZE {BASE_GOLD_AMOUNT}}
|
||||
[if]
|
||||
[variable]
|
||||
name=spawn_id
|
||||
greater_than=1
|
||||
name=gold1
|
||||
less_than=random
|
||||
[/variable]
|
||||
[then]
|
||||
{VARIABLE units $gold_turns}
|
||||
# add a random amount of the basic gold
|
||||
{RANDOMIZE {BASE_GOLD_AMOUNT}}
|
||||
{VARIABLE gold1 $random}
|
||||
{RANDOMIZE {BASE_GOLD_AMOUNT}}
|
||||
[if]
|
||||
[variable]
|
||||
name=gold1
|
||||
less_than=random
|
||||
[/variable]
|
||||
[then]
|
||||
{VARIABLE random $gold1}
|
||||
[/then]
|
||||
[/if]
|
||||
{CLEAR_VARIABLE gold1}
|
||||
{VARIABLE_OP units add $random}
|
||||
{VARIABLE unit_increment {GOLD_PER_UNIT_AMOUNT}}
|
||||
{VARIABLE unit_turns $turns}
|
||||
{VARIABLE_OP unit_turns divide 1.5}
|
||||
{VARIABLE_OP unit_increment add $unit_turns}
|
||||
{VARIABLE_OP units divide $unit_increment}
|
||||
### DEBUG
|
||||
{VARIABLE unit_increment $units}
|
||||
### END DEBUG
|
||||
{VARIABLE_OP units add {UNITS_AMOUNT}}
|
||||
{VARIABLE_OP random rand -1..2}
|
||||
{VARIABLE_OP units add $random}
|
||||
{RANDOMIZE 5}
|
||||
[if]
|
||||
[variable]
|
||||
name=random
|
||||
numerical_equals=1
|
||||
[/variable]
|
||||
[then]
|
||||
{VARIABLE_OP units sub 1}
|
||||
[/then]
|
||||
[/if]
|
||||
{VARIABLE_OP random rand -1..1}
|
||||
{VARIABLE_OP turns add $random}
|
||||
{VARIABLE random $gold1}
|
||||
[/then]
|
||||
[else]
|
||||
{VARIABLE units {UNITS_AMOUNT}}
|
||||
{VARIABLE_OP units add 1}
|
||||
### DEBUG
|
||||
{VARIABLE unit_increment 0}
|
||||
### END DEBUG
|
||||
[/else]
|
||||
[/if]
|
||||
{VARIABLE timed_spawn[$spawn_id].units $units}
|
||||
{VARIABLE timed_spawn[$spawn_id].turn $turns}
|
||||
{VARIABLE timed_spawn[$spawn_id].gold $gold}
|
||||
{CLEAR_VARIABLE gold1}
|
||||
{VARIABLE_OP units add $random}
|
||||
{VARIABLE unit_increment {GOLD_PER_UNIT_AMOUNT}}
|
||||
{VARIABLE unit_turns $turns}
|
||||
{VARIABLE_OP unit_turns divide 1.5}
|
||||
{VARIABLE_OP unit_increment add $unit_turns}
|
||||
{VARIABLE_OP units divide $unit_increment}
|
||||
### DEBUG
|
||||
{VARIABLE timed_spawn[$spawn_id].units_added $unit_increment}
|
||||
{VARIABLE unit_increment $units}
|
||||
### END DEBUG
|
||||
{VARIABLE_OP units add {UNITS_AMOUNT}}
|
||||
{VARIABLE_OP random rand -1..2}
|
||||
{VARIABLE_OP units add $random}
|
||||
{RANDOMIZE 5}
|
||||
[if]
|
||||
[variable]
|
||||
name=random
|
||||
numerical_equals=1
|
||||
[/variable]
|
||||
[then]
|
||||
{VARIABLE_OP units sub 1}
|
||||
[/then]
|
||||
[/if]
|
||||
{VARIABLE_OP random rand -1..1}
|
||||
{VARIABLE_OP turns add $random}
|
||||
[/then]
|
||||
[else]
|
||||
{VARIABLE units {UNITS_AMOUNT}}
|
||||
{VARIABLE_OP units add 1}
|
||||
### DEBUG
|
||||
{VARIABLE unit_increment 0}
|
||||
### END DEBUG
|
||||
[/else]
|
||||
[/if]
|
||||
{VARIABLE timed_spawn[$spawn_id].units $units}
|
||||
{VARIABLE timed_spawn[$spawn_id].turn $turns}
|
||||
{VARIABLE timed_spawn[$spawn_id].gold $gold}
|
||||
### DEBUG
|
||||
{VARIABLE timed_spawn[$spawn_id].units_added $unit_increment}
|
||||
### END DEBUG
|
||||
[/do]
|
||||
[/while]
|
||||
{CLEAR_VARIABLE spawn_limit}
|
||||
|
||||
{VARIABLE final_turns "$timed_spawn[$({SPAWN_NUMBER}-1)].turn"}
|
||||
{VARIABLE_OP final_turns add 40}
|
||||
{VARIABLE_OP final_turns divide 2}
|
||||
|
Loading…
x
Reference in New Issue
Block a user