Game -> Script (Tab) -> Start Script ->
Print [message] "What is your name?"
Get input, then -> run script
-> game.pov.alias = [expression] result
-> Print [expression] "-" + game.pov.alias
-> Print [message] "What is your age?"
-> Get input, then -> run script
->-> game.pov.age = [expression] result
->-> Show menu with caption [text] "What is your gender?"
->->-> Options from list/dictionary split ("male;female",";")
->->-> Allow player to cancel [no]
->->-> After choosing, run script
->->->-> game.pov.gender = [expression] result
->->->-> Show menu with caption [text] "What is your race?"
->->->->-> Options from list/dictionary split ("human;dwarf;elf;orc",";")
->->->->-> Allow player to cancel [no]
->->->->-> After choosing, run script
->->->->->-> game.pov.race = [expression] result
->->->->->-> Show menu with caption [text] "What is your class?"
->->->->->->-> Options from list/dictionary split ("warrior;cleric;mage;thief",";")
->->->->->->-> Allow player to cancel [no]
->->->->->->-> After choosing, run script
->->->->->->->-> game.pov.class = [expression] result
->->->->->->->-> Print [expression] game.pov.alias + " is a " " + game.pov.age + " year old " + game.pov.gender + " " + game.pov.race + " " + game.pov.class +"."
->->->->->->->-> Wait for key press, then run script
->->->->->->->->-> Clear the screenGame -> Script (Tab) -> Start Script ->
Print [message] "What is your name?"
Get input, then -> run script
-> game.pov.alias = [expression] result
-> Print [expression] "-" + game.pov.alias
-> Print [message] "What is your age?"
-> Get input, then -> run script
->-> game.pov.age = [expression] result
->-> Show menu with caption [text] "What is your gender?"
->->-> Options from list/dictionary split ("male;female",";")
->->-> Allow player to cancel [no]
->->-> After choosing, run script
->->->-> game.pov.gender = [expression] result
->->->-> Show menu with caption [text] "What is your race?"
->->->->-> Options from list/dictionary split ("human;dwarf;elf;orc",";")
->->->->-> Allow player to cancel [no]
->->->->-> After choosing, run script
->->->->->-> game.pov.race = [expression] result
->->->->->-> Show menu with caption [text] "What is your class?"
->->->->->->-> Options from list/dictionary split ("warrior;cleric;mage;thief",";")
->->->->->->-> Allow player to cancel [no]
->->->->->->-> After choosing, run script
->->->->->->->-> game.pov.class = [expression] result
->->->->->->->-> Print [expression] game.pov.alias + " is a " " + game.pov.age + " year old " + game.pov.gender + " " + game.pov.race + " " + game.pov.class +"."
->->->->->->->-> Wait for key press, then run script
->->->->->->->->-> Clear the screen
Switch: game.pov.class
-> Cases
->-> Key: "warrior"
->->-> Script: game.pov.current_hp = [expression] 999
->->-> Script: game.pov.maximum_hp = [expression] 999
->-> Key: "cleric"
->->-> Script: game.pov.current_hp = [expression] 500
->->-> Script: game.pov.maximum_hp = [expression] 500
->-> Key: "mage"
->->-> Script: game.pov.current_hp = [expression] 250
->->-> Script: game.pov.maximum_hp = [expression] 250
->-> Key: "thief"
->->-> Script: game.pov.current_hp = [expression] 750
->->-> Script: game.pov.maximum_hp = [expression] 750<!--Saved by Quest 5.2.4515.34846-->
<asl version="520">
<include ref="English.aslx" />
<include ref="Core.aslx" />
<game name="Testing Game Stuff">
<gameid>cd102f9d-370a-4bda-b6ea-ca42288f619c</gameid>
<version>1.0</version>
<start type="script">
msg ("What is your name?")
get input {
msg (" - " + result)
player.alias = result
show menu ("What is your gender?", split ("male;female" , ";"), false) {
player.gender = result
show menu ("What is your race?", split ("human;elf;dwarf" , ";"), false) {
player.race = result
show menu ("What is your class?", split ("warrior;cleric;mage;thief" , ";"), false) {
player.class = result
msg (player.alias + " is a " + " " + player.gender + " " + player.race + " " + player.class + ".")
}
}
}
}
</start>
</game>
<object name="room">
<inherit name="editor_room" />
<object name="player">
<inherit name="defaultplayer" />
<statusattributes type="stringdictionary">level = ;experience = ;turns = </statusattributes>
<level type="int">0</level>
<experience type="int">0</experience>
<turns type="int">0</turns>
</object>
<object name="potion100">
<inherit name="editor_object" />
<alias>100 exp potion</alias>
<take />
<alt type="list"></alt>
<displayverbs>Look at; Take; Drink</displayverbs>
<inventoryverbs>Look at; Use; Drop; Drink</inventoryverbs>
<drink type="script">
msg ("You drink the exp potion, receiving 100 experience.")
player.experience = player.experience + 100
</drink>
</object>
<object name="potion300">
<inherit name="editor_object" />
<alias>300 exp potion</alias>
<take />
<displayverbs>Look at; Take; Drink</displayverbs>
<inventoryverbs>Look at; Use; Drop; Drink</inventoryverbs>
<drink type="script">
msg ("You drink the exp potion, receiving 300 experience.")
player.experience = player.experience + 300
</drink>
</object>
</object>
<turnscript name="turns lvlup script">
<enabled />
<script>
lvlup
player.turns = player.turns + 1
</script>
</turnscript>
<function name="lvlup"><![CDATA[
if (player.experience >= player.level * 100 + 100) {
player.experience = player.experience - (player.level * 100 + 100)
player.level = player.level + 1
switch (player.gender) {
case ("male") {
player.strength = player.strength + 1
}
case ("female") {
player.agility = player.agility + 1
}
}
switch (player.race) {
case ("dwarf") {
player.strength = player.strength + 2
}
case ("elf") {
player.agility = player.intelligence + 2
}
case ("human") {
player.strength = player.strength + 1
player.agility = player.agility + 1
}
}
switch (player.class) {
case ("warrior") {
player.strength = player.strength + 2
}
case ("cleric") {
player.intelligence = player.intelligence + 1
player.agility = player.agility + 1
}
case ("mage") {
player.intelligence = player.intelligence + 2
}
case ("thief") {
player.strength = player.strength + 1
player.agility = player.agility + 1
}
}
lvlup
}
]]></function>
</asl><function name="lvlup"><![CDATA[
if (player.experience >= player.level * 100 + 100) {
player.experience = player.experience - (player.level * 100 + 100)
player.level = player.level + 1
lvlup
}
]]></function><asl version="530">
<include ref="English.aslx" />
<include ref="Core.aslx" />
<game name="Testing Game Stuff">
<gameid>d83ba5bb-2e3c-4f31-80c9-3e88a2dc082c</gameid>
<version>1.0</version>
<pov type="object">player</pov>
<start type="script">
cc
</start>
<turns type="int">0</turns>
<statusattributes type="stringdictionary">turns = </statusattributes>
</game>
<object name="room">
<inherit name="editor_room" />
<object name="player">
<inherit name="defaultplayer" />
<inherit name="pc" />
<cur_hp type="int">999</cur_hp>
<max_hp type="int">999</max_hp>
<str type="int">100</str>
<end type="int">100</end>
<dex type="int">100</dex>
<agi type="int">100</agi>
<spd type="int">100</spd>
<hc type="int">100</hc>
<pd type="int">100</pd>
<pr type="int">100</pr>
</object>
<object name="orc1">
<inherit name="editor_object" />
<inherit name="npc" />
<hostile type="boolean">true</hostile>
<dead type="boolean">false</dead>
<alias>orc</alias>
<cur_hp type="int">999</cur_hp>
<max_hp type="int">999</max_hp>
<str type="int">25</str>
<end type="int">25</end>
<dex type="int">25</dex>
<agi type="int">25</agi>
<spd type="int">25</spd>
<hc type="int">25</hc>
<pd type="int">25</pd>
<pr type="int">25</pr>
</object>
</object>
<turnscript name="game_turns">
<enabled />
<script>
sa
game.turns = game.turns + 1
</script>
</turnscript>
<command name="fight">
<pattern>fight #text#</pattern>
<script>
battle_system (game.pov,text)
</script>
</command>
<type name="char">
<cur_hp type="int">0</cur_hp>
<drop type="boolean">false</drop>
<defending type="boolean">false</defending>
<max_hp type="int">0</max_hp>
<str type="int">0</str>
<end type="int">0</end>
<dex type="int">0</dex>
<agi type="int">0</agi>
<spd type="int">0</spd>
<hp type="int">0</hp>
<hc type="int">0</hc>
<pd type="int">0</pd>
<pr type="int">0</pr>
</type>
<type name="pc">
<inherit name="char" />
<statusattributes type="stringdictionary">hp = ;str = ;end = ;dex = ;agi = ;spd = ;hc = ;pd = ;pr = </statusattributes>
</type>
<type name="npc">
<inherit name="char" />
<dead type="boolean">false</dead>
<hostile type="boolean">false</hostile>
<displayverbs type="list">Look at; Talk; Fight</displayverbs>
</type>
<function name="cc">
msg ("What is your name?")
get input {
game.pov.alias = result
msg (" - " + game.pov.alias)
show menu ("What is your gender?", split ("male;female" , ";"), false) {
game.pov.gender = result
show menu ("What is your race?", split ("human;dwarf;elf" , ";"), false) {
game.pov.race = result
show menu ("What is your class?", split ("warrior;cleric;mage;thief" , ";"), false) {
game.pov.class = result
msg (game.pov.alias + " is a " + game.pov.gender + " " + game.pov.race + " " + game.pov.class + ".")
wait {
ClearScreen
}
}
}
}
}
</function>
<function name="sa">
game.pov.hp = game.pov.cur_hp + " / " + game.pov.max_hp
</function>
<function name="battle_system" parameters="self,text" type="boolean">
first_value = false
enemy = GetObject (text)
if (enemy = null) {
foreach (obj,AllObjects()) {
if (obj.alias=text) {
enemy = obj
}
}
}
if (enemy = null) {
msg ("There is no " + text + " here.")
first_value = false
}
else if (not Doesinherit (enemy,"npc")) {
msg ("You can not battle that!")
first_value = false
}
else if (not npc_reachable (enemy)) {
msg ("There is no " + enemy.alias + " in your vicinity.")
first_value = false
}
else if (GetBoolean (enemy,"dead") = true) {
msg (enemy.alias + " is already dead.")
first_value = false
}
else if (GetBoolean (enemy,"hostile") = false) {
msg (enemy.alias + " is not hostile.")
first_value = false
}
else if (battle_sequence (self,enemy) = true) {
msg ("The battle is over.")
first_value = true
}
return (first_value)
</function>
<function name="battle_sequence" parameters="self,enemy" type="boolean"><![CDATA[
second_value = false
if (enemy.dead = false) {
if (GetInt (self,"spd") > GetInt (enemy,"spd")) {
on ready {
msg ("You get to go first for this round")
if (self_battle_turn (self,enemy) = true) {
battle_sequence (self,enemy)
}
}
on ready {
if (enemy.dead = false) {
if (enemy_battle_turn (self,enemy) = true) {
msg ("The round has ended.")
}
}
}
on ready {
battle_sequence (self,enemy)
}
}
else if (GetInt (self,"spd") < GetInt (enemy,"spd")) {
on ready {
msg (enemy.alias + " gets to go first for this round.")
if (enemy_battle_turn (self,enemy) = true) {
msg ("It is now your turn.")
}
}
on ready {
if (self_battle_turn (self,enemy) = true) {
battle_sequence (self,enemy)
}
else {
msg ("The round has ended.")
}
}
on ready {
battle_sequence (self,enemy)
}
}
else if (GetInt (self,"spd") = GetInt (enemy,"spd")) {
if (RandomChance (50) = true) {
on ready {
msg ("You get to go first for this round")
if (self_battle_turn (self,enemy) = true) {
battle_sequence (self,enemy)
}
}
on ready {
if (enemy_battle_turn (self,enemy) = true) {
msg ("The round has ended.")
}
}
on ready {
battle_sequence (self,enemy)
}
}
else {
on ready {
msg (enemy.alias + " gets to go first for this round.")
if (enemy_battle_turn (self,enemy) = true) {
msg ("It is now your turn.")
}
}
on ready {
if (self_battle_turn (self,enemy) = true) {
battle_sequence (self,enemy)
}
else {
msg ("The round has ended.")
}
}
on ready {
battle_sequence (self,enemy)
}
}
}
}
else {
second_value = true
}
return (second_value)
]]></function>
<function name="self_battle_turn" parameters="self,enemy" type="boolean"><![CDATA[
third_value = false
msg (self.alias + " has " + self.cur_hp + " HP left.")
msg (enemy.alias + " has " + enemy.cur_hp + " HP left.")
wait {
show menu ("What is your battle choice?", split ("Attack;Defend;Cast;Item;Run", ";"), false) {
switch (result) {
case ("Attack") {
fourth_value = false
if (RandomChance (GetInt (enemy,"agi") - GetInt (self,"spd")) = true) {
msg (enemy.alias + "evaded your attack!")
fourth_value = true
}
else if (RandomChance (GetInt (enemy,"Dex") - GetInt (self,"agi")) = true) {
msg (enemy.alias + "parried your attack!")
fourth_value = true
}
else if (RandomChance (GetInt (enemy,"agi") - GetInt (self,"dex")) = true) {
msg (enemy.alias + "blocked your attack!")
fourth_value = true
}
else if (RandomChance (GetInt (self,"dex") - GetInt (enemy,"spd")) = false) {
msg ("Your attack missed " + enemy.alias +"!")
fourth_value = true
}
else if (RandomChance (GetInt (enemy,"pr") - GetInt (self,"hc")) = true) {
msg ("Your attack got resisted by " + enemy.alias +"!")
fourth_value = true
}
else if (fourth_value = false) {
if (self.defending = true and enemy.defending = true) {
enemy.cur_hp = enemy.cur_hp - (crit_hit (self) * 2 * GetInt (self,"pd") / 2 + GetInt (self,"pd") * (GetInt (self,"str") - GetInt (enemy,"end")) / 100)
msg (enemy.alias + " has " + enemy.cur_hp + " HP left.")
self.defending = false
}
else if (self.defending = true and enemy.defending = false) {
enemy.cur_hp = enemy.cur_hp - (crit_hit (self) * 2 * GetInt (self,"pd") + GetInt (self,"pd") * (GetInt (self,"str") - GetInt (enemy,"end")) / 100)
msg (enemy.alias + " has " + enemy.cur_hp + " HP left.")
self.defending = false
}
else if (self.defending = false and enemy.defending = true) {
enemy.cur_hp = enemy.cur_hp - (crit_hit (self) * GetInt (self,"pd") / 2 + GetInt (self,"pd") * (GetInt (self,"str") - GetInt (enemy,"end")) / 100)
msg (enemy.alias + " has " + enemy.cur_hp + " HP left.")
}
else if (self.defending = false and enemy.defending = false) {
enemy.cur_hp = enemy.cur_hp - (crit_hit (self) * GetInt (self,"pd") + GetInt (self,"pd") * (GetInt (self,"str") - GetInt (enemy,"end")) / 100)
msg (enemy.alias + " has " + enemy.cur_hp + " HP left.")
}
}
}
case ("Defend") {
if (self.defending = false) {
self.defending = true
}
}
case ("Cast") {
self.defending = false
}
case ("Item") {
self.defending = false
}
case ("Run") {
self.defending = false
}
}
if (GetInt (enemy,"cur_hp") > 0) {
if (RandomChance (GetInt (self,"spd") - GetInt (enemy,"spd")) = true) {
msg ("You get an extra battle turn!")
self_battle_turn (self,enemy)
}
else {
msg ("Your battle turn is over.")
third_value = false
}
}
else if (GetInt (enemy,"cur_hp") <= 0) {
msg (enemy.alias + " is dead.")
msg ("You have won the battle!")
enemy.defending = false
enemy.dead = true
third_value = true
wait {
ClearScreen
}
}
}
}
return (third_value)
]]></function>
<function name="enemy_battle_turn" parameters="self,enemy" type="boolean"><![CDATA[
fifth_value = false
msg (self.alias + " has " + self.cur_hp + " HP left.")
msg (enemy.alias + " has " + enemy.cur_hp + " HP left.")
result = GetRandomInt (1,3)
switch (result) {
case (1) {
sixth_value = false
if (RandomChance (GetInt (self,"agi") - GetInt (enemy,"spd")) = true) {
msg ("You have evaded the attack!")
sixth_value = true
}
else if (RandomChance (GetInt (self,"dex") - GetInt (enemy,"agi")) = true) {
msg ("You have parried the attack!")
sixth_value = true
}
else if (RandomChance (GetInt (self,"agi") - GetInt (enemy,"dex")) = true) {
msg ("You have blocked the attack!")
sixth_value = true
}
else if (RandomChance (GetInt (enemy,"dex") - GetInt (self,"spd")) = false) {
msg (enemy.alias +"'s attack missed!")
sixth_value = true
}
else if (RandomChance (GetInt (self,"pr") - GetInt (enemy,"hc")) = true) {
msg ("You resisted the attack!")
sixth_value = true
}
else if (sixth_value = false) {
if (enemy.defending = true and self.defending = true) {
self.cur_hp = self.cur_hp - (crit_hit (enemy) * 2 * GetInt (enemy,"pd") / 2 + GetInt (enemy,"pd") * (GetInt (enemy,"str") - GetInt (self,"end")) / 100)
msg (self.alias + " has " + self.cur_hp + " HP left.")
enemy.defending = false
}
else if (enemy.defending = true and self.defending = false) {
self.cur_hp = self.cur_hp - (crit_hit (enemy) * 2 * GetInt (enemy,"pd") + GetInt (enemy,"pd") * (GetInt (enemy,"str") - GetInt (self,"end")) / 100)
msg (self.alias + " has " + self.cur_hp + " HP left.")
enemy.defending = false
}
else if (enemy.defending = false and self.defending = true) {
self.cur_hp = self.cur_hp - (crit_hit (enemy) * GetInt (enemy,"pd") / 2 + GetInt (enemy,"pd") * (GetInt (enemy,"str") - GetInt (self,"end")) / 100)
msg (self.alias + " has " + self.cur_hp + " HP left.")
}
else if (enemy.defending = false and self.defending = false) {
self.cur_hp = self.cur_hp - (crit_hit (enemy) * GetInt (enemy,"pd") + GetInt (enemy,"pd") * (GetInt (enemy,"str") - GetInt (self,"end")) / 100)
msg (self.alias + " has " + self.cur_hp + " HP left.")
}
}
}
case (2) {
if (enemy.defending = false) {
msg (enemy.alias + " has choosen to defend itself.")
enemy.defending = true
}
}
case (3) {
enemy.defending = false
msg ("Cast")
}
}
if (GetInt (self,"cur_hp") > 0) {
if (RandomChance (GetInt (enemy,"spd") - GetInt (self,"spd")) = true) {
msg (enemy.alias + " gets an extra battle turn!")
wait {
enemy_battle_turn (self,enemy)
}
}
else {
msg (enemy.alias + " 's battle turn is over.")
fifth_value = true
}
}
else if (GetInt (self,"cur_hp") <= 0) {
msg (self.alias + " has died.")
msg ("GAME OVER")
finish
}
return (fifth_value)
]]></function>
<function name="npc_reachable" parameters="object" type="boolean">
value = false
foreach (x,ScopeReachableNotHeld ()) {
if (x=object) {
value = true
}
}
return (value)
</function>
<function name="crit_hit" parameters="object" type="int">
if (RandomChance (GetInt (object,"luck")) = true) {
value = 2
}
else {
value = 1
}
return (value)
</function>
</asl>01. cc = character creation function
02. sa = status attributes (mainly for implementing/displaying of ' cur / max ' stats) function
03. char = character object type ("pcs", "npcs", "monsters", etc., so, not a room, item, equipment, spell, etc)
04. pc = playable character object type ("player" characters / game.povs)
05. npc = non-playable character ("people", "monsters", and etc, so not a "player" character / not a game.pov, I'm going to have a hostility system, so any npc can be friendly or hostile, instead of having an actual "monster/enemy" type set aside)
06. hp = hit points (life) stat attribute
07. mp = mana points (magic) stat attribute
08. str = strength (physical damage, carry weight / equipment requirement, etc) stat attribute
09. end = endurance (physical defense, and etc) stat attribute
10. dex = dexterity (weapon~attack skill, think of this as "if your attack connects or not, do you 'whiff' or not", so not to gete confused with hc, and etc) stat attribute
11. agi = agility (dodging/evading, and etc) stat attribute
12. spd = speed (who goes first in battle, extra battle turns, escaping from battle, and etc) stat attribute
13. hc = hit chance (think of this more as piercing their armor or not, so not to get confused with dex, and etc) stat attribute
14. pd = physical damage stat attribute
15. fp = fire damage stat attribute
16. wp = water damage stat attribute
17. ap = air damage stat attribute
18. ed = earth damage stat attribute
19. ld = light damage stat attribute
20. dd = dark damage stat attribute
21. pr = physical resistance stat attribute
22. fr = fire resistance stat attribute
23. wr = water resistance stat attribute
24. ar = air resistance stat attribute
25. er = earth resistance stat attribute
26. lr = light resistance stat attribute
27. dr = dark resistance stat attribute
28. defending = boolean (reduces damage done for that character and increases the damage done by that character, if they chosoe to attack on the next turn)
29. escaped = boolean, run from battle (not completed/implemented yet)
30. hostile = boolean, any npc can be friendly or a(n) "monster/enemy", based upon a hostility scale (0-100), but not completed
31. dead = boolean
32. crit_hit = critical hit (bonus damage based upon luck)
33. luck = luck stat attribute
34. lvl = level stat attribute
35. exp = experience stat attribute
36. cash = cash stat attribute (currency)
37. lvlup = level up function<turnscript name="goblin_attack">
<script><![CDATA[
if (ListContains(ScopeVisible(), goblin)) {
msg ("")
msg ("The goblin attacked you!")
goblin_dice_result = DiceRoll (goblin.attack_dice_number + "d" + goblin.attack_dice_sides)
goblin_damage = goblin_dice_result * goblin.atk - player.def_stat
msg ("The goblin did " + goblin_damage + " damage!")
if (goblin_damage < 0) {
goblin_damage = 0
}
msg ("Attack report: The goblin attacked with " + goblin.attack_dice_number + "D" + goblin.attack_dice_sides + " dice roll x " + goblin.atk + " bonus - enemy resistance (" + player.def_stat + ").")
if (goblin_damage > player.current_hp or goblin_damage = player.current_hp) {
player.current_hp = 0
msg ("")
msg ("You were killed by the goblin!")
finish
}
else {
player.current_hp = player.current_hp - goblin_damage
msg ("You survived the attack!")
}
}
]]></script>
<enabled />
</turnscript><command name="attack">
<pattern>attack #text#</pattern>
<script>
attack_function (text)
</script>
</command><command name="attack">
<pattern>attack #text#</pattern>
<script>
attack_function (text)
OR
attack_function (game.pov,text)
</script>
</command>
<function name="attack_function" parameters="text2">
OR
<function name="attack_function" parameters="self,text2">
enemy = GetObject (text)
if (enemy = null) {
foreach (obj, AllObjects ()) {
if (obj.alias=text) {
enemy = obj
} else {
msg ("There seemingly is no " + text + "here.")
}
}
}
do whatever you want here, whatever you got set up for your attack system.
</function><type name="snake_type">
<strength type="int">10</strength>
<endurance type="int">10</endurance>
<dexterity type="int">10</dexterity>
</type>
<object name="snake1">
<inherit name="editor_object" />
<inherit name="snake_type" />
<alias>cobra</alias>
</object>
<object name="snake2">
<inherit name="editor_object" />
<inherit name="snake_type" />
<alias>python</alias>
</object>
<object name="snake3">
<inherit name="editor_object" />
<inherit name="snake_type" />
<alias>anaconda</alias>
</object>
<object name="snake4">
<inherit name="editor_object" />
<inherit name="snake_type" />
<alias>black_mamba</alias>
</object>
<type name="dragon_type">
<strength type="int">100</strength>
<endurance type="int">100</endurance>
<dexterity type="int">100</dexterity>
</type>
<type name="fire_elemental_type">
<fire_damage type="int">100</fire_damage>
<fire_resistance type="int">100</fire_resistance>
<water_resistance type="int">0</water_resistance>
</type>
<type name="water_elemental_type">
<water_damage type="int">100</water_damage>
<water_resistance type="int">100</water_resistance>
<fire_resistance type="int">0</fire_resistance>
</type>
<object name="dragon1A">
<inherit name="editor_object" />
<inherit name="dragon_type" />
<inherit name="fire_elemental_type" />
<alias>fire dragon</alias>
</object>
<object name="dragon1B">
<inherit name="editor_object" />
<inherit name="dragon_type" />
<inherit name="fire_elemental_type" />
<alias>Salamander</alias>
<water_resistance type="int">50</water_resistance>
</object>
<object name="dragon2A">
<inherit name="editor_object" />
<inherit name="dragon_type" />
<inherit name="water_elemental_type" />
<alias>water dragon</alias>
</object>
<object name="dragon2A">
<inherit name="editor_object" />
<inherit name="dragon_type" />
<inherit name="water_elemental_type" />
<alias>ice drake</alias>
<fire_resistance type="int">50</fire_resistance>
</object><turnscript name="game_turns_turnscript">
game.turns = game turns + 1
</turnscript>
<game name="blah blah blah">
<etc blah blah>
<start type="script">
character_creation_function
</start>
<turns type="int">0</turns>
<etc blah blah>
</game><turnscript name="room_turns_turnscript">
room.turns = room turns + 1
</turnscript>
<object name="room">
<inherit name="editor_room" />
<turns type="int">0</turns>
<object name="player">
<inherit name="editor_object" />
<inherit name="editor_player" />
</object>
</object><turnscript name="hp_0_and_game_turns_and_death_and revival_spell_turnscript">
game.pov.cur_hp = 0
<game_pov_death_script type="script>
if (game.pov.cur_hp = 0) {
msg ("You've died!")
msg ("GAME OVER")
finish
}
</game>
game.turns = game turns + 1
<revival_spell type="script">
if (game.pov.cur_hp = 0) {
game.pov.cur_hp = 0 + game.pov.max_hp
}
</revival_spell type>
</turnscript><turnscript name="hp_0_and_game_turns_and_death_and revival_spell_turnscript">
game.pov.cur_hp = 0
<game_pov_death_script type="script>
if (game.pov.cur_hp = 0) {
msg ("You've died!")
msg ("GAME OVER")
finish
}
</game_pov_death_script>
<revival_spell_script type="script">
if (game.pov.cur_hp = 0) {
game.pov.cur_hp = 0 + game.pov.max_hp
}
</revival_spell_script>
game.turns = game turns + 1
</turnscript><turnscript name="hp_0_and_game_turns_and_death_and revival_spell_turnscript">
game.pov.cur_hp = 0
<revival_spell_script type="script">
if (game.pov.cur_hp = 0) {
game.pov.cur_hp = 0 + game.pov.max_hp
}
</revival_spell_script>
<game_pov_death_script type="script>
if (game.pov.cur_hp = 0) {
msg ("You've died!")
msg ("GAME OVER")
finish
}
</game_pov_death_script>
game.turns = game turns + 1
</turnscript>