Fixed and adjusted Lost Soul spawning in Across the Harsh Sands

(plus some small adjustments).
This commit is contained in:
Jan Rietema 2007-09-17 14:11:00 +00:00
parent ba97eddf72
commit e47babe337

View file

@ -15,7 +15,6 @@
snapshot="no"
#max turns in scenario varies depending on difficulty
#!***Use {turns} macro***
{TURNS 62 60 58}
victory_when_enemies_defeated=no
@ -79,20 +78,16 @@
fog=yes
[/side]
#!***Remove sides 2 leader, will place via an event***
#Outlaw side
[side]
side=2
no_leader=yes
#!***change income settings -> obsoletes resetting gold at every turn start***
income=-2
gold=0
controller=ai
shroud=no
fog=no
#!***Change team name ->no reason to have bandits cooperate with monsters***
shroud=yes
fog=yes
team_name=bandits
#!***remove from declaration -> to be called via event
[ai]
aggression=0.8
caution=0.2
@ -105,6 +100,11 @@
side=1
value=3
[/target]
[protect_location]
x=1-39
y=1-35
value=10
[/protect_location]
[/ai]
[/side]
@ -113,11 +113,9 @@
[side]
no_leader=yes
side=3
#!***delete canrecruit -> unit key|no leader defined***
controller=ai
shroud=no
fog=no
#!***Change team name -> need more distinguishing than simple good vs evil
team_name=monsters
#monsters are aggressive
@ -145,7 +143,6 @@
[side]
no_leader=yes
side=4
#!***Remove canrecruit -> unit key|no leader defined
gold=0
income=0
controller=ai
@ -183,17 +180,10 @@
[/ai]
[/side]
#!***Incorporated side 5 into side 4 -> no reason to split undead***
#!***Remaining keys will be set on event firing***
#side for vengeful wraith lord and his minions
# prestart events:
# Set starting scenario objectives
# Recall Nym, Zhul and Garak
# Prestart variable initiation
#!***Scraped all variables -> most are unneeded, will be declared in events if deemed necessary***
# capture starting villages for elf player
#!***Scraped villages -> raised income by 4 instead
[event]
name=prestart
@ -224,15 +214,6 @@
description=Garak
[/recall]
#!***Scraped $immortal_hero -> unused in deaths.cfg, obsoleted by fire_event=no***
#!***Scraped $time_of_day -> clok function redundant, all checks can by made by div/modulo***
#!***Scraped $daytime -> see above, with or without it it's still one if check***
#!***Scraped $desert_damage -> dehydration won't deal damage anymore and text won't give precise values***
#!***Rewriten to use macros -> {VARIABLE} and {ADD}
# add more undead at higher difficulty levels
#!***Scraped $nightly_limit -> can div $ghosts by two***
# dehydration loss - a variable for the dialogue
{VARIABLE dehydration_loss 2}
[/event]
@ -282,14 +263,14 @@
message= _ "Unfortunately, because of our hasty flight from our village, we are short on waterskins and rations. We'll have enough if we move quickly and eat as little as possible, but we won't last long in the wastes if we can't find more sources of water. As it is, between the heat of the day and the cold of the night, this journey will be hard on our people."
[/message]
#!***Rewriten message -> explains new dehydration rules***
# Rewriten message -> explains new dehydration rules
[message]
speaker=narrator
message= _ "During the daytime (Dawn, Morning, Mid-day, Afternoon, and Dusk) at the beginning of each your turns, every unit in a sand, road, rubble or sand dune hex will suffer from thirst, losing $dehydration_loss hitpoints and weaking attack damage. Your shamans cannot heal this damage. Only by refreshing at an oasis (any shallow water hex) at the start of your turn, your units will regain full attack strength and some of the lost hitpoints."
image=wesnoth-icon.png
[/message]
#!***Deleted message -> druids no longer prevent dehydration effects***
# Deleted message -> druids no longer prevent dehydration effects
[message]
description=Nym
@ -304,15 +285,15 @@
# setup ghost difficulty
#ifdef EASY
{VARIABLE max_ghosts 6}
{VARIABLE max_per_turn 2}
{VARIABLE max_per_turn 1}
#endif
#ifdef NORMAL
{VARIABLE max_ghosts 7}
{VARIABLE max_per_turn 3}
{VARIABLE max_per_turn 2}
#endif
#ifdef HARD
{VARIABLE max_ghosts 8}
{VARIABLE max_per_turn 4}
{VARIABLE max_per_turn 3}
#endif
[/event]
@ -958,6 +939,9 @@
[/have_unit]
[then]
[scroll_to_unit]
type=Thug
[/scroll_to_unit]
[message]
type=Thug
message= _ "And I thought it was going to be another boring patrol. You there! Elf! This is our oasis, and we will water it with your blood!"
@ -989,6 +973,9 @@
equals=0
[/variable]
[then]
[scroll_to_unit]
role=Black Lieutenant
[/scroll_to_unit]
[message]
role=Black Lieutenant
@ -1033,6 +1020,10 @@
[/variable]
[then]
[scroll_to_unit]
role=Black Lieutenant
[/scroll_to_unit]
[message]
role=Black Lieutenant
message= _ "We don't know who you are, and we don't much care. Tremble before the might of the Black Hand!"
@ -2334,6 +2325,14 @@
name=ghosts_already_spawned
less_than=$max_ghosts
[/variable]
[variable]
name=turn_temp
not_equals=1
[/variable]
[variable]
name=turn_temp
not_equals=7
[/variable]
[then]
# store "exposed" units - those surrounded by a lot of desert
@ -2362,38 +2361,35 @@
[/variable]
[then]
# spawn more rapidly as time goes by
{VARIABLE added_ghosts $turn_number}
{VARIABLE_OP added_ghosts add 15}
{VARIABLE_OP added_ghosts divide 30}
{VARIABLE ghosts_per_turn $turn_number}
{VARIABLE_OP ghosts_per_turn add 15}
{VARIABLE_OP ghosts_per_turn divide 30}
{VARIABLE_OP ghosts_per_turn add $max_per_turn}
#ifdef EASY
# 1 ghost per 4 exposed units (roughly) per turn
{VARIABLE_OP ghosts add $added_ghosts}
{VARIABLE_OP ghosts add 2}
{VARIABLE_OP ghosts divide 4}
#endif
#ifdef NORMAL
# 1 ghost per 2 exposed units (roughly) per turn
{VARIABLE_OP ghosts add $added_ghosts}
{VARIABLE_OP ghosts divide 2}
# 1 ghost per 3 exposed units per turn
{VARIABLE_OP ghosts divide 3}
#endif
#ifdef HARD
# 1 ghost per 1.5 exposed units (roughly) per turn
{VARIABLE_OP ghosts multiply 2}
{VARIABLE_OP ghosts add $added_ghosts}
{VARIABLE_OP ghosts divide 3}
# 1 ghost per 2 exposed units per turn
{VARIABLE_OP ghosts divide 2}
#endif
{CLEAR_VARIABLE added_ghosts}
# limit ghost appearance rate
[if]
[variable]
name=ghosts
greater_than=$max_per_turn
greater_than=$ghosts_per_turn
[/variable]
[then]
{VARIABLE ghosts $max_per_turn}
{VARIABLE ghosts $ghosts_per_turn}
[/then]
[/if]
{CLEAR_VARIABLE max_per_turn}
{CLEAR_VARIABLE ghosts_per_turn}
# deduct already spawned ghosts - whether still alive or not
{VARIABLE_OP max_ghosts add -$ghosts_already_spawned}
[if]