function QRTitle takes integer QNumber returns string
if QNumber == 1 then
return "Thanks To"
elseif QNumber == 2 then
return "Give Input!"
elseif QNumber == 3 then
return "Version Notes"
elseif QNumber == 4 then
return "Bugs?! Crashes?!"
elseif QNumber == 5 then
return "Chat System"
elseif QNumber == 6 then
return "Camera & Hero Functions"
elseif QNumber == 7 then
return "Modify your own GP!"
endif
return "No Title!"+"["+I2S(QNumber)+"]"
endfunction
function QOTitle takes integer QNumber returns string
if QNumber == 1 then
return "DMs: Tips"
elseif QNumber == 2 then
return "DMs: Items and Shops"
elseif QNumber == 3 then
return "DMs: Alliance settings"
elseif QNumber == 4 then
return "DMs: Terrain"
elseif QNumber == 5 then
return "DMs: Create"
elseif QNumber == 6 then
return "DMs: Unit Settings 1"
elseif QNumber == 7 then
return "DMs: Unit Settings 2"
elseif QNumber == 8 then
return "DMs: Expert"
elseif QNumber == 9 then
return "DMs: Globals"
elseif QNumber == 10 then
return "Inventory System"
elseif QNumber == 11 then
return "Attach List 1"
elseif QNumber == 12 then
return "List 2"
elseif QNumber == 13 then
return "List 3"
elseif QNumber == 14 then
return "List 4"
elseif QNumber == 15 then
return "List 5"
elseif QNumber == 16 then
return "List 6"
elseif QNumber == 17 then
return "List 7"
elseif QNumber == 18 then
return "List 8"
elseif QNumber == 19 then
return "Abilties"
elseif QNumber == 20 then
return "Human Abilities"
elseif QNumber == 21 then
return "Orc Abilities"
elseif QNumber == 22 then
return "Undead Abilities"
elseif QNumber == 23 then
return "Night Elf Abilities"
elseif QNumber == 24 then
return "Terrain List 1"
elseif QNumber == 25 then
return "Terrain List 2"
elseif QNumber == 26 then
return "Terrain List 3"
elseif QNumber == 27 then
return "Terrain List 4"
elseif QNumber == 28 then
return "Terrain List 5"
endif
return "No Title!"+"["+I2S(QNumber)+"]"
endfunction
function QuestsRequired takes integer QNumber returns string
//Thanks To
if QNumber == 1 then
return "A special thanks goes out to the following people for their
help with the Vuen's D&D Grand Project by giving a hand.
Orlandeau for doing the map terrain, supplying endless ideas
and getting GP where it needs to be.
Adikutz for his spell contributions." + "
IncubiProtocol for creating the camera system.
The friends of Titanhex in the Vuen's community include:
Zhou_Yu, Master Lich, Faris.Scharwitz, Okarioth," + "
Undead_Ravager. Please show them the same amount of
respect you'd show me.
Friends outside the community are: " + "
duke-zip, laqueus, and n1ghtwing"
//About the Author
elseif QNumber == 2 then
return "I'm making major modifications to VD&D on a regular basis. If
you'd like to be a part of that, like everyone else, then
head on over to Hiveworkshop.com, go to maps, and type in
Titanhex. If you'd like to give me your ideas, tell me " + "
what you think would be cool, things you'd like to see,
send me a message on USWest or pop into USEast's DnDE clan.
I'm friendly, I promise. Maybe you'll see me in a game or
two."
//Version Notes
elseif QNumber == 3 then
return "The SMW (Spiritman's Work) version of DnD is a modified
version of Vuen's D&D V2.5a Final. The Grand Project
addition of DnD is a furtherance of SMW's own version.
Further, the doodads of VYM were added. " + " Beyond that
I have modded Vuen's system to support more commands.
I am also working on fixing up his code to be faster.
July 23, '10"
//Bugs?!
elseif QNumber == 4 then
return "So you've found a bug? My apologies, the version hasn't
been tested extensively. Please report it to me at my
email, [email][email protected][/email] so that I can get " + "
it taken care of. Since 90% of the changes to VD&D GP
have been done by me, I should be able to pinpoint and
fix all bugs.
You may've spotted the big nasty itemdrop bug. I have
a workaround, the ItemGrab system on the Selector.
Unfortunately it's impossible for me to understand
why it exists, but the inventory system is too big
a part to be dropped."
//Chat System
elseif QNumber == 5 then
return "To set a name, enter set#name, for some number 0-9. Then
enter the number before your messages. Example:
set1Jack
1Hello!
will message 'Jack: Hello!' Once you've set up your
names, press F12 and choose Observers so that
players only see the chat once.
To set your ooc, type setoocname. A new feature for DMs
has been added. Select a unit and type set; to set the
name specifically for that unit. While selected, type
;words to make it talk, or :words to make it talk with
it's own colored name."
//Player Functions
elseif QNumber == 6 then
return "To unlock the camera, press |c00FFFF00ESC|r.
To look left or right, hold the left or right arrow key.
to swivel your camera up or down, hit the up or down
arrow key. Both birds eye view and first person are
available. " + "
If you die, press |c00FFFF00ESC|r to revive. You lose a
lot of experience by dying, so try to avoid it as much
as possible. To animate your hero, type play animation."
//Modify your own
elseif QNumber == 7 then
return "Ever dreamed of modifying your own version of Vuen's D&D?
To certain people, that may be possible! I don't mind sending
people who ask an unprotected version that they can build upon.
However, I can't just give it out to anyone. Speak to me for
a little while about it and it's more than likely you'll recieve
an unprotected version."
endif
return "No Data"
endfunction
function QuestsOptional takes integer QNumber returns string
//DM Tips
if QNumber == 1 then
return "Your first steps into DMing may be daunting.
Here are some tips to ease you along:
- Try typing out the names and commands instead of scrolling
to the pallete in the bottom right. This will speed up your
quest creation time tendfold.
- Hitting F1 will reselect the Pointer, which allow you to place
units and objects faster."
//DM Items and Shops
elseif QNumber == 2 then
return "DMs have item shops that they can buy from, which is pretty
much the only way to get items as their is no item creation system.
To access the Item Shops, try typing: itemshop(1,2,3..14)
To give an item that costs lumber directly to a player, have
them approach the shop alone, type control, them purchase the
item after selecting the hero who will be buying."
//DM Alliance settings
elseif QNumber == 3 then
return "There are two computer players called Ally (yellow) and
Enemy (red) with their respective allegiances to the players;
the DMs have shared control over them. When you create units,
you choose what side you want them to be on, and you can switch
unit sides using the Units->Side function.
Unlike previous versions, you can control your own colored
units. This allows dynamic stroylines with greater conflict
and opposition, even amongst players.
To ally and unally players, type (un)ally (color) and (color).
To vision and unvision colors, type unvision (un)vision (color) and (color)"
//DM Terrain
elseif QNumber == 4 then
return "You may have noticed that the terrain looks extremely
plain, and has way too many ramps. It's your job to fill
it in. Use the tree creation functions to create a path
for the players to follow, blocking many of the ramps.
Add gates and bridges at important quest points; use walls
to enclose kingdoms"+" and terrain raisers to modify
the land. Create paths and environments with the terrain
command. Please note though, there is a limit to how many
extra tilesets you get. Choose wisely." + "
terrain (terrainname) will allow you to paint the terrain with
you chosen tileset."
//DMs: Create
elseif QNumber == 5 then
return "You can use commands instead of the GUI to create units,
items and doodads. To create, say, a 'mudgolem' or
'icecrownobelisk' or 'grove', just type it in (without
single quotes).
The map will teach you the names of everything as you
choose them from the palettes; this also works for units
that have not been placed in the pallette."
//DM Commands: Unit Settings 1
elseif QNumber == 6 then
return "This is a list of DM commands for Units and Heroes.
level #
invuln
vuln
immune
mune
reset/rcool
xprate #
These can be toggled on/off by typing them:
isundead
issummon
iseancient
istauren
isstructure
istownhall
To change the owner of a unit, type either:
give color
give #
give ally
give enemy
To change stats:
life
lifeat
hurt
mana
manaat
rech
recov
regen
regen%
int
intset
agi
agiset
str
strset
armor
damage
aspeed
mspeed
size
tint
color"
//DM Commands: Unit Settings 2
elseif QNumber == 7 then
return "Some of these commands are new or advanced:
nc/ncoff - No collision. Allows a unit to move through obstacles.
fly # - Set the fly height of a unit.
anim # - Set the animation speed of a unit.
play - Play a unit's animation
bounty # - Set the bounty reward for a unit when it's killed
'skillname - gives a skill to a unit
@skillname - removes a skill from a unit
=skillname - sets and gives a skill to a unit
face # - Make a unit or building face an angle. Type twice for buildings
goldat # - Set the amount of gold in a gold mine
attach # (whatFX) (where) - Attaches an FX to a unit.
queston/questoff - Creates a ! above the units head or removes it.
ally player player - By filling in player with a color or number
you can (un)ally players. Use all to (un)ally everyone with
that player. This is toggled, so typing it again will unally.
Ally Attack will toggle ally attacking on/off."
//DM Commands: Expert
elseif QNumber == 8 then
return "The following commands are available to expert DMs. Use them wisely.
ka - Toggles KeepAlive healing on selected units.
brush 1-9, 200-2000: This will change the brush size for the terrain
tool [1-9] and the doodads [200-2000].
customaura - place add, remove, sfx, a #, b #, c #, s #, tail #, and
fx (fxname) at the end to modify it. SFX gives reoccuring animations
set with s, tail and fx.
'permanence and @permanence - Part of the pet system. Permanence
allows you to cast a spell and bind a unit to you. The pet unit is
then commandable via a spellbook by the master unit. @permanence
releases the units from that bond."
//DM Commands: Globals
elseif QNumber == 9 then
return "The following commands are used to change the environment.
weather # (weathertype) - Sets the weather for all players
watertint # # # # - Sets the water tint.
fog # # # # - Sets the fog tint.
timestart
timestop
timescale
time #.##
xprate #.#"
//Inventory System
elseif QNumber == 10 then
return "The inventory system supports 8 equipment slots and
12 inventory slots. Certain items can stack when put in your
backpack.
There is currently an unusual bug where you can't pick up items
on the ground. I'm trying to pinpoint and fix this bug.
Use the hinv command to give a hero the inventory. The
following are presets to type after is hero.
Paladin
Warrior
Barbarian
Ranger
Rogue
Spellsword
Mage
EquipAll
Here are the item and weapon types. Type these followed
by commas after hinv to create your own inventory specs.
Heavy Armors, Leather Armors, Cloth Armors, Shields
Mauls, Swords, Daggers, Offhands, Bows, Arrows, Axes, Wands, Staffs"
//Attachment List
elseif QNumber == 11 then
return "barkskin
fireballmissile
deathcoilmissile
ancientprotectormissile" + "
orbofdeathmissile
arrowmissile
banditmissile
spiritofvengeancemissile" + "
bansheemissile
harpymissile
reddragonmissile
bloodelfmissile " + "
cryptfiendmissile
cannontowermissile
guardtowermissile " + "
chimaeraacidmissile
chimaeralightningmissile
wingedserpentmissile
corrosivebreathmissile " + "
demolishermissile
demonhuntermissile
catapultmissile
dragonhawkmissile "+ "
druidofthetalonmissile
dryadmissile
voidwalkermissile
faeriedragonmissile " + "
farseermissile
lordofflamemissile
gyrocopterimpact
gyrocoptermissile " + "
frostwyrmmissile
gargoylemissile
glaivemissile "+ "
poisonarrowmissile
fragdriller
greendragonmissile
gryphonridermissile " + "
zigguratfrostmissile
boatmissile
sentinelmissile
hydraliskimpact " + "
illidanmissile
keepergrovemissile
axemissile " + "
lavaspawnmissile
lichmissile
locustmissile
makuramissile " + "
meatwagonmissile
mortarmissile
murgulmagicmissile
nagaarrowmissile "
//Missiles2
elseif QNumber == 12 then
return "necromancermissile
zigguratmissile
brewmastermissile
phoenixmissile " + "
priestmissile
moonpriestessmissile
bristlebackmissile
seaelementalmissile " + "
rexxarmissile
rifleimpact
blackkeepermissile
serpentwardmissile "+ "
shadowhuntermissile
rocketmissile
steamtankimpact
skeletalmagemissile "+ "
ancestralguardianmissile
sludgemissile
sorceressmissile
spellbreakermissile "+ "
vengeancemissile
snapmissile
battrollmissile
huntermissile "+ "
witchdoctormissile
tuskarspear
wardenmissile
waterelementalmissile "+ "
wyvernspearmissile
ucanceldeath
hcanceldeath
nagadeath "+ "
necanceldeath
humanlargedeathexplode
orclargedeathexplode
demonlargedeathexplode "+ "
undeadlargedeathexplode
nightelflargedeathexplode
glaivemissiletarget
gryphonridermissiletarget "+ "
orcsmalldeathexplode
demonsmalldeathexplode
wispexplode
battlestandard "+ "
bundleoflumber
penguin
treasurechest
glyph" + "
potofgold
humancaptureflag
barrelsunit
nightelfcaptureflag "+ "
orccaptureflag
runicobject
questionmark
crystalshard "
//Special FXs
elseif QNumber == 13 then
return "shimmerweed
thunderlizardegg
phoenixegg
tomegreen " + "
tomeblue
tome
tomebrown
tomered " + "
undeadcaptureflag
dispelmagic
absorbmana
bottlemissile "+ "
ancestralspirit
animatedead
obsidianregenaura
avatar "+ "
roar
trollbeserker
blackarrowmissile
undeadminecircle "+ "
blinktarget
blinkcaster
breathoffiredamage
breathoffire "+ "
breathoffrost
brilliance
demolisherfiremissile
carrionswarmmissile "+ "
carrionswarmdamage
lightningboltmissile
boltimpact
charm "+ "
resourceeffect
cleavedamage
tinkerrocketmissile
coldarrowmissile "+ "
drumscaster
controlmagic
spiritwalkerchange
gravemarker "+ "
crushingwavemissile
crushingwave
darkportal
darkritualcaster "+ "
darkritualtarget
darksummonmissile
darksummon
deathcoil "+ "
deathpactcaster
deathpacttarget
defend
devotionaura "+ "
devour
devourmagicmissile
plaguecloud
disenchant "
//Abilities 1
elseif QNumber == 14 then
return "brewmastermissile
eattree
commandaura
ensnaremissile "+ "
roots
fanofknives
fanofknivesmissile
arcanetowerattack "+ "
spellbreakerattack
feralspirit
demonboltimpact
flak " + "
flamestrike
flamestrike1
flare
flyingmachineimpact " + "
freezingbreathmissile
nagacoldarrowmissile
frostboltmissile
frostnova "+ "
gather
heal
healingsalve
healbottlemissile "+ "
healingwave
holybolt
howlcaster
rockboltmissile "+ "
impale
infernal
invisibility
agilitygain "+ "
orbdarkness
orbcorruptionmissile
orbcorruptionspecial
orbcorruption "+ "
fireorbspecial
fireorbtarget
frostorbspecial
frostorbtarget "+ "
venomorbmissile
venomorbspecial
venomorb
itemcommand "+ "
itemdispel
experiencegame
itemhealing
illusion
itemgain "+ "
intgain
reveal
soultheft
strgain
armorgain "
//Abilities 2
elseif QNumber == 15 then
return "areagain
iteminvis
lifesteal
magicsentry "+ "
manaburntarget
massteleport
massteleportcaster
massteleporttarget
mirrorimagemissile " + "
mirrorimage
levelup
annihilationmissile
lightningorbspecial " + "
lightningorbtarget
sloworbmissile
sloworb
parasitemissile
phaseshift " + "
markofchaos
phoenixfiremissile
pocketfactorymissile
poisonstringmissile "+ "
fallingsheep
polymorph
possessionmissile
purge
quillspraymissile "+ "
raiseskeleton
neutralizationmissile
reincarnation
reinforce
replenish "+ "
replenishoverhead
replenishmana
replenishmanaoverhead
moonwellcaster "+ "
moonwelltarget
ressurectcaster
ressurecttarget
revive "+ "
awaken
scoutmissile
shadowstrikemissile
shockwavemissile
arrow
shopsharing "+ "
blackarrow
silence
sleep
slow "+ "
spellshield
spellstealmissile
spellsteal
sphere "
//Abilities 3
elseif QNumber == 16 then
return "bloodelfball
snapmissile
battrollmissile
taunt "+ "
spikedbarricade
spiritlinkzap
spirittouch
stampedemissiledeath "+ "
stampedemissile
manadraincaster
manadraintarget
stormboltmissile
stormearthandfiremissile
polymorphground "+ "
feralspiritdone
summoningritualtarget
thornsaura
thunderclap " + "
tomeofretraining
goldbottlemissile
treeoflifeupgrade
trueshotaura
unholyaura
vampiricaura "+ "
vamppotion
warstomp
webmissile
bottleimpact
aerialshacklestarget "+ "
antimagicshell
banish
berserk
voodooaura "+ "
voodooaura
blizzard
bloodlust
breathoffrost "+ "
brillianceaura
largefire
mediumfire
smallfire
elflargefire "+ "
elfmediumfire
elfsmallfire
undeadlargefire
undeadmediumfire
undeadsmallfire "+ "
cloud
chimaeraacid
cripple
curse
cyclone "+ "
zombify
deathanddecay
deathanddecaydamage
plaguecloud "
//Abilities 4
elseif QNumber == 17 then
return "stun
doomdeath
doom
draincaster
draintarget "+ "
siphoncaster
siphontarget
drunkenhaze
earthquake
ensnareair "+ "
ensnare
entanglingroots
faeriefire
flamestrikeembers "+ "
flamestrikedamage
flare
freezingbreath
frostarmordamage "+ "
frostarmor
howl
immolationdamage
immolation
impalehit "+ "
stun2
incinerate
incineratebuff
innerfire
divineshield "+ "
lavaspawnmissile
lightningshieldbuff
lightningshield
liquidfire "+ "
manaflaremissile
manaflareimpact
manaflaretarget
manaflare
manaregen "+ "
manashield
mirrorimagedeath
monsoonrain
monsoon
parasite "+ "
immolationreddamage
immolationred
phaseshift
poisonsting
possession
possessiontarget "+ "
purge
rainoffire
rejuvenation
revealeffect "+ "
roartarget
sanctuary
scrollofprotection
owl "
//Buffs
elseif QNumber == 18 then
return "shadowstrike
silence
sleepspecial
sleeptarget "+ "
slow
slowed
soulburn
soulthefttarget "+ "
speedbonus
spellshield
cryptfiendmissile
thornyshield "+ "
spiritlink
starfall
starfalltarget
thornsauradamage "+ "
tornado
tranquility
tranquilitytarget
transmute "+ "
unholyfrenzy
unsummon
volcanomissile
volcano
webair
web "+ "
toonboom
dissipate
udeath
smallflamespawn "+ "
dust
footprint
enbirth"
//Ability Documentation 1
elseif QNumber == 19 then
return " It's been requested that I give a list of abilities you can give.
Well, I say look 'em up on their respective hero, but
I know, that's not easy. So I will document some abilities." + "
It's also important to note the abilities work like so:
ability# if there is multiple in the list. If removing or
adding a normal ability doesn't work, try putting 1,2,3
after it.
hability for hero abilties. This is because many have non
hero counterparts. You may want to remove those. Who knows.
The h prefix doesn't apply to custom abilities." + "
Here are some unique skills that come in handy:" + "
noattack
addtostock
wander1
wander2
heroglow
load
ethereal
permanentinvisibility
buildingdamageaura
inventory
meleeimmunity
rangedimmunity
dmteleport"
//Abilities Human
elseif QNumber == 20 then
return " |cffffcc00Dwarf Warrior Skills|r
warthreat
ancienthammer
crushingblow
shieldblock
|cffffcc00Dwarf Rifleman Skills|r
piercingmissile
burstshot
dwarvenmastery
|cffffcc00Human Mage Skills|r
fireball
doublecast
stormbolt
freezingblast
" + "
|cffffcc00Human Swordsman Skills|r
fierceslash
lionsgrace
swordmastery
|cffffcc00Human Crusader Skills|r
shieldofdivinity
|cffffcc00Human Assassin Skills|r
swiftasshadows
assassinate
" + "
|cffffcc00Elven Cleric Skills|r
wall
divinelight
callholyphoenix
|cffffcc00Elven Archer Skills|r
magiccurtain
psionicarrow
elementalvolley
mimic
|cffffcc00Lightning Lord Skills|r
summonlightningelemental"
//Abilities Orc
elseif QNumber == 21 then
return " |cffffcc00Dragoon Skills|r
grandblood
draconiclance
|cffffcc00Troll Witchdoctor Skills|r
trollherb
hydraward
benevoodoo
|cffffcc00Orc Shaman Skills|r
tidalhaven
blazeshield
" + "
|cffffcc00Orc Warlock Skills|r
firewall
apocalypse
magicalrupture
manadisplacement
|cffffcc00Orc Samurai Skills|r
whirringblade
swordtoss
pierce
|cffffcc00Orc Gruntie Skills|r
bloodlife
lacerate
flurry
" + "
|cffffcc00Troll Voodoo Hunter Skills|r
vodunspin
MORE SKILLS?
" + "'addtostock - Use on a marketplace or other shoptype to make
a shop sell a targeted item or unit. Useful for making custom shops.
'permanence - A system that works like slave/master. Helpful to create
pet, guard, or NPC systems. Use with 'addtostock to make the unit's
spells globally available.
"
//Undead Abilities
elseif QNumber == 22 then
return " |cffffcc00Undead Baron Skills|r
witheringrememberance
consumelife
presenceofabonelord
|cffffcc00Undead Knight Skills|r
unholyintervention
siphon
overwhelmingpresence
" + "
|cffffcc00Dark Waywalker Skills|r
souleater
shadestrike
|cffffcc00Vampire Skills|r
hbloodlust
drainbolt
soulpresence
|cffffcc00Undead Ranger Skills|r
drain
cursedsoul
carrionarrow
" + "
|cffffcc00Undead Summoner Skills|r
raisecorpse
feastinglocust
|cffffcc00Undead Banshee Skills|r
deafeningscream "
//NightElf Abilities
elseif QNumber == 23 then
return " |cffffcc00Nightelf Giant Skills|r
smashdown
giantquake
mossarmor
tauntpassive
" + "
|cffffcc00Nightelf Ranger Skills|r
arrowvolley
poisonarrows
summonowl
|cffffcc00Nightelf Slayer Skills|r
lifeandmanacombustion
dryadstrike
|cffffcc00Spell Sword Skills|r
matram
bolt
phase
elementalshift
" + "
|cffffcc00Geomancer Skills|r
earthbreaker
moltenlava
|cffffcc00Druid Skills|r
growtreants
petalward
callplant
|cffffcc00Random Skills|r
icewall
doublecastactive
comet
meteorstorm
megaflare
summonthunderelemental"
//Terrain List 1
elseif QNumber == 24 then
return "summerdirt
summerroughdirt
summergrassydirt
summergrass
summerdarkgrass
" + "
fallgrass
fallroughdirt
fallgrassdirt
fallrock
fallgrass
falldarkgrass
" + "
winterdirt
winterroughdirt
wintergrassysnow
winterrock
wintersnow
" + "
ashenvaleroughdirt
ashenvalegrass
ashenvalerock
ashenvalelumpygrass
ashenvalevines
ashenvalegrassydirt
ashenvaleleaves
ashenvaledirt"
//Terrain List 2
elseif QNumber == 25 then
return "cityscapedirt
cityscaperoughdirt
cityscapeblackmarble
cityscapebrick
cityscapesquaretiles
cityscaperoundtiles
cityscapegrass
cityscapegrasstrim
cityscapewhitemarble
" + "
villagedirt
villageroughdirt
villagecrops
villagecobblepath
villagestonepath
villageshortgrass
villagerock
villagethickgrass
villagefalldirt
villagefallroughdirt
villagefallcrops
villagefallcobblepath
villagefallstonepath
villagefallshortgrass
villagefallrock
villagefallthickgrass
" + "
dalarandirt
dalaranblackmarble
dalaranbricktiles
dalaransquaretiles
dalaranroundtiles
dalarangrass
dalarantrimgrass
dalaranwhitemarble
dalaranwhitemarble
dalaranruinsdirt
dalaranruinsroughdirt
dalaranruinsblackmarble
dalaranruinsbricktiles
dalaranruinssquaretiles
dalaranruinsroundtiles
dalaranruinsgrass
dalaranruinstrimgrass
dalaranruinswhitemarble"
//Terrain List 3
elseif QNumber == 26 then
return "ashenvaledirtcliff
ashenvalegrasscliff
" + "
barrensgrasscliff
barrensdirtcliff
" + "
blackcitadeldirtcliff
blackcitadeldarktilescliff
" + "
cityscapedirtcliff
cityscapesquaretilescliff
" + "
dalarandirtcliff
dalaransquaretilescliff
dalaranruinsdirtcliff
dalaransquaretilescliff
" + "
dungeondirtcliff
dungeonsquaretilescliff
" + "
felwooddirtcliff
felwoodgrasscliff
" + "
icecrownrunebrickscliff
icecrownsnowcliff
" + "
falldirtcliff
fallgrasscliff
" + "
summerdirtcliff
summergrasscliff
" + "
wintergrasscliff
wintersnowcliff
" + "
northrenddirtcliff
northrendsnowcliff
outlandabysscliff
outlandroughdirtcliff
" + "
sunkenruinsdirtcliff
sunkenruinslargebrickscliff
undergrounddirtcliff
undergroundsquaretilescliff
" + "
villagedirtcliff
villagegrassthickcliff
villagefalldirtcliff
villagefallgrassthickcliff"
//Terrain List 4
elseif QNumber == 27 then
return "outlanddirt
outlandlightdirt
outlandroughdirt
outlandcrackeddirt
outlandflatstones
outlandrock
outlandlightflatstones
outlandabyss
" + "
blackcitadeldirt
blackcitadellightdirt
blackcitadelroughdirt
blackcitadelflatstones
blackcitadelsmallbricks
blackcitadellargebricks
blackcitadelsquaretiles
blackcitadeldarktiles"
//Terrain List 5
elseif QNumber == 28 then
return "barrensdirt
barrensroughdirt
barrenspebbles
barrensgrassydirt
barrensdesert
barrensdarkdesert
barrensrocks
barrensgrass
" + "
felwooddirt
felwoodroughdirt
felwoodpoison
felwoodrock
felwoodvines
felwoodgrass
felwoodleaves
" + "
northrenddirt
northrenddarkdirt
northrendrock
northrendgrass
northrendice
northrendsnow
northrendrockysnow
" + "
dungeondirt
dungeonbrick
dungeonredstones
dungeonlavacracks
dungeonlava
dungeondarkrock
dungeongraystones
dungeonsquaretiles
" + "
undergrounddirt
undergroundbrick
undergroundroundstones
undergroundlavacracks
undergroundlava
undergrounddarkrocks
undergroundgraystones
undergroundsquaretiles
" + "
sunkenruinsdirt
sunkenruinsroughdirt
sunkenruinsgrassydirt
sunkenruinssmallbricks
sunkenruinssand
sunkenruinslargebricks
sunkenruinsroundtiles
sunkenruinsgrass
sunkenruinsdarkgrass
" + "
icecrowndirt
icecrownroughdirt
icecrowndarkice
icecrownblackbricks
icecrownrunebricks
icecrowntiledbricks
icecrownice
icecrownblacksquares
icecrownsnow"
endif
return "No data."
endfunction
function QRLoop takes nothing returns nothing
local integer i = 1
loop
set bj_lastCreatedQuest = CreateQuest()
call QuestSetTitle(bj_lastCreatedQuest, QRTitle(i))
call QuestSetDescription(bj_lastCreatedQuest, QuestsRequired(i))
call QuestSetIconPath(bj_lastCreatedQuest, "ReplaceableTextures\\CommandButtons\\BTNHydra.blp")
call QuestSetRequired(bj_lastCreatedQuest, true)
call QuestSetDiscovered(bj_lastCreatedQuest, true)
call QuestSetCompleted(bj_lastCreatedQuest, false)
exitwhen i == 7
set i = i + 1
endloop
set bj_lastCreatedQuest = null
endfunction
function QOLoop takes nothing returns nothing
local integer i = 1
loop
set bj_lastCreatedQuest = CreateQuest()
call QuestSetTitle(bj_lastCreatedQuest, QOTitle(i))
call QuestSetDescription(bj_lastCreatedQuest, QuestsOptional(i))
call QuestSetIconPath(bj_lastCreatedQuest, "ReplaceableTextures\\CommandButtons\\BTNHydra.blp")
call QuestSetRequired(bj_lastCreatedQuest, false)
call QuestSetDiscovered(bj_lastCreatedQuest, true)
call QuestSetCompleted(bj_lastCreatedQuest, false)
exitwhen i == 28
set i = i + 1
endloop
set bj_lastCreatedQuest = null
call QRLoop()
endfunction
//===========================================================================
function InitTrig_Quests takes nothing returns nothing
set gg_trg_Quests = CreateTrigger( )
call TriggerAddAction( gg_trg_Quests, function QOLoop )
endfunction