DiD S11: Fix & improve wose implementation

Bug was that a troll on 4,21 could move through the avoid area to attack
player at 11,22 which is a likely occurrence. Expanding the avoid area
further seems inappropriate as troll avoidance is more likely to be noticed.

New implementation ensures only player will trigger the wose, maintains
proper look to the player, no longer interferes with trolls attacking, and
simplifies code.
This commit is contained in:
sigurdfdragon 2017-12-25 18:21:11 -05:00 committed by Jeffrey 'Sigurd' Westcoat
parent 8db9ec2777
commit b0fc2708ae

View File

@ -110,10 +110,10 @@
value=10 value=10
[/goal] [/goal]
# Avoid the spiders, the wose, and the beginning area # Avoid the spiders and the beginning area
[avoid] [avoid]
x=2-9,2-27,5-9 x=2-9,2-27
y=11-15,30-35,19-23 y=11-15,30-35
[/avoid] [/avoid]
[/ai] [/ai]
[/side] [/side]
@ -143,10 +143,10 @@
#endif #endif
[ai] [ai]
# Avoid the spiders, the wose, and the beginning area # Avoid the spiders and the beginning area
[avoid] [avoid]
x=2-9,2-27,5-9 x=2-9,2-27
y=11-15,30-35,19-23 y=11-15,30-35
[/avoid] [/avoid]
[/ai] [/ai]
[/side] [/side]
@ -175,10 +175,10 @@
#endif #endif
[ai] [ai]
# Avoid the spiders, the wose, and the beginning area # Avoid the spiders and the beginning area
[avoid] [avoid]
x=2-9,2-27,5-9 x=2-9,2-27
y=11-15,30-35,19-23 y=11-15,30-35
[/avoid] [/avoid]
[/ai] [/ai]
[/side] [/side]
@ -186,6 +186,7 @@
# Monsters # Monsters
[side] [side]
side=5 side=5
team_name=monsters
gold=0 gold=0
controller=ai controller=ai
no_leader=yes no_leader=yes
@ -195,15 +196,6 @@
fog=yes fog=yes
shroud=yes shroud=yes
# The wose
[unit]
type=Ancient Wose
x,y=7,21
id=Dumdumbadoom
name= _ "Dumdumbadoom"
ai_special=guardian
[/unit]
# Generic Monsters # Generic Monsters
{GENERIC_UNIT () (Giant Rat) 14 29} {GUARDIAN} {GENERIC_UNIT () (Giant Rat) 14 29} {GUARDIAN}
{GENERIC_UNIT () (Giant Rat) 21 28} {GUARDIAN} {GENERIC_UNIT () (Giant Rat) 21 28} {GUARDIAN}
@ -219,9 +211,30 @@
{GENERIC_UNIT () (Giant Spider) 7 12} {GUARDIAN} {GENERIC_UNIT () (Giant Spider) 7 12} {GUARDIAN}
{GENERIC_UNIT () (Giant Spider) 8 13} {GUARDIAN} {GENERIC_UNIT () (Giant Spider) 8 13} {GUARDIAN}
{GENERIC_UNIT () (Giant Spider) 6 15} {GUARDIAN} {GENERIC_UNIT () (Giant Spider) 6 15} {GUARDIAN}
[/side]
# The Wose
[side]
side=6
color=black
team_name=monsters,trolls #so the trolls don't trigger the wose
gold=0
controller=null #so the wose doesn't move until discovered
no_leader=yes
hidden=yes
income=-2
fog=yes
shroud=yes
[unit]
type=Ancient Wose
x,y=7,21
id=Dumdumbadoom
name= _ "Dumdumbadoom"
[/unit]
[ai] [ai]
# This is mostly for the Wose -- the others are guardians
[goal] [goal]
name=target name=target
[criteria] [criteria]
@ -705,26 +718,9 @@
[/modify_side] [/modify_side]
[/event] [/event]
[event]
name=turn refresh
first_time_only=no
[filter_condition]
[variable]
name=side_number
equals=5
[/variable]
[variable]
name=wose_awakened
not_equals=yes
[/variable]
[/filter_condition]
{MODIFY_UNIT id=Dumdumbadoom moves 0}
[/event]
# Fun with the wose # Fun with the wose
[event] [event]
name=moveto name=enter_hex # handles transition from great tree to wose better than moveto
[filter] [filter]
side=1 side=1
[filter_adjacent] [filter_adjacent]
@ -742,7 +738,11 @@
message= _ "Who has awoken me from my slumber? Undead? I shall not suffer the existence of such foul creatures!" message= _ "Who has awoken me from my slumber? Undead? I shall not suffer the existence of such foul creatures!"
[/message] [/message]
{VARIABLE wose_awakened yes} [modify_side]
side=6
controller=ai
team_name=monsters
[/modify_side]
[/event] [/event]
#ifdef __UNUSED__ #ifdef __UNUSED__