diff --git a/AndorsTrail/gen/com/gpl/rpg/AndorsTrail/R.java b/AndorsTrail/gen/com/gpl/rpg/AndorsTrail/R.java index 9f9e363bc..eb6e43f56 100644 --- a/AndorsTrail/gen/com/gpl/rpg/AndorsTrail/R.java +++ b/AndorsTrail/gen/com/gpl/rpg/AndorsTrail/R.java @@ -293,70 +293,70 @@ public final class R { public static final int inventoryitem=0x7f090000; } public static final class string { - public static final int about_button1=0x7f0500f1; - public static final int about_button2=0x7f0500f2; - public static final int about_button3=0x7f0500f3; - public static final int about_contents1=0x7f0500f4; - public static final int about_contents2=0x7f0500f5; - public static final int about_contents3=0x7f0500f6; + public static final int about_button1=0x7f0500e9; + public static final int about_button2=0x7f0500ea; + public static final int about_button3=0x7f0500eb; + public static final int about_contents1=0x7f0500ec; + public static final int about_contents2=0x7f0500ed; + public static final int about_contents3=0x7f0500ee; /** Translated as: affliction / statuseffect / temporary effect */ - public static final int actorcondition_info_removes_all=0x7f05010f; + public static final int actorcondition_info_removes_all=0x7f050107; public static final int actorconditions_v069=0x7f050000; - public static final int actorinfo_attack=0x7f0500af; - public static final int actorinfo_attacksperturn=0x7f0500ad; - public static final int actorinfo_basetraits=0x7f0500b3; - public static final int actorinfo_class=0x7f0500aa; - public static final int actorinfo_criticalhit=0x7f0500b0; + public static final int actorinfo_attack=0x7f0500a7; + public static final int actorinfo_attacksperturn=0x7f0500a5; + public static final int actorinfo_basetraits=0x7f0500ab; + public static final int actorinfo_class=0x7f0500a2; + public static final int actorinfo_criticalhit=0x7f0500a8; /** =========================================== Added in v0.6.9 */ - public static final int actorinfo_currentconditions=0x7f05010e; - public static final int actorinfo_currenttraits=0x7f0500b4; - public static final int actorinfo_defense=0x7f0500b1; - public static final int actorinfo_difficulty=0x7f0500ab; - public static final int actorinfo_health=0x7f0500ac; - public static final int actorinfo_movecost=0x7f0500b2; - public static final int actorinfo_movesperturn=0x7f0500ae; - public static final int app_name=0x7f050054; - public static final int combat_attack=0x7f050080; - public static final int combat_begin_flee=0x7f050086; - public static final int combat_endturn=0x7f050084; + public static final int actorinfo_currentconditions=0x7f050106; + public static final int actorinfo_currenttraits=0x7f0500ac; + public static final int actorinfo_defense=0x7f0500a9; + public static final int actorinfo_difficulty=0x7f0500a3; + public static final int actorinfo_health=0x7f0500a4; + public static final int actorinfo_movecost=0x7f0500aa; + public static final int actorinfo_movesperturn=0x7f0500a6; + public static final int app_name=0x7f05004c; + public static final int combat_attack=0x7f050078; + public static final int combat_begin_flee=0x7f05007e; + public static final int combat_endturn=0x7f05007c; /** End combat End combat End combat */ - public static final int combat_flee=0x7f050085; - public static final int combat_flee_failed=0x7f050087; - public static final int combat_hero_dies=0x7f050093; - public static final int combat_monsteraction=0x7f05008a; - public static final int combat_monsterhealth=0x7f050089; - public static final int combat_move=0x7f050081; - public static final int combat_not_enough_ap=0x7f050092; - public static final int combat_result_herohit=0x7f05008f; - public static final int combat_result_herohitcritical=0x7f050090; - public static final int combat_result_herokillsmonster=0x7f050091; - public static final int combat_result_heromiss=0x7f05008e; - public static final int combat_result_monsterhit=0x7f05008c; - public static final int combat_result_monsterhitcritical=0x7f05008d; + public static final int combat_flee=0x7f05007d; + public static final int combat_flee_failed=0x7f05007f; + public static final int combat_hero_dies=0x7f05008b; + public static final int combat_monsteraction=0x7f050082; + public static final int combat_monsterhealth=0x7f050081; + public static final int combat_move=0x7f050079; + public static final int combat_not_enough_ap=0x7f05008a; + public static final int combat_result_herohit=0x7f050087; + public static final int combat_result_herohitcritical=0x7f050088; + public static final int combat_result_herokillsmonster=0x7f050089; + public static final int combat_result_heromiss=0x7f050086; + public static final int combat_result_monsterhit=0x7f050084; + public static final int combat_result_monsterhitcritical=0x7f050085; /** You cannot exit combat since there are adjacent monsters. You first have to move by longclicking a place with no adjacent monster, before you may end the combat. You cannot exit combat since there are adjacent monsters. You first have to move by longclicking a place with no adjacent monster, before you may end the combat. You cannot exit combat since there are adjacent monsters. You first have to move by longclicking a place with no adjacent monster, before you may end the combat. */ - public static final int combat_result_monstermiss=0x7f05008b; - public static final int combat_spell=0x7f050083; - public static final int combat_status_ap=0x7f050088; - public static final int combat_use=0x7f050082; - public static final int conversation_leave=0x7f0500da; - public static final int conversation_lostgold=0x7f0500d6; - public static final int conversation_next=0x7f0500d9; + public static final int combat_result_monstermiss=0x7f050083; + public static final int combat_spell=0x7f05007b; + public static final int combat_status_ap=0x7f050080; + public static final int combat_use=0x7f05007a; + public static final int conversation_leave=0x7f0500d2; + public static final int conversation_lostgold=0x7f0500ce; + public static final int conversation_next=0x7f0500d1; /** %1$s says */ - public static final int conversation_rewardexp=0x7f0500d4; - public static final int conversation_rewardgold=0x7f0500d5; - public static final int conversation_rewarditem=0x7f0500d7; - public static final int conversation_rewarditems=0x7f0500d8; - public static final int conversation_title=0x7f050125; + public static final int conversation_rewardexp=0x7f0500cc; + public static final int conversation_rewardgold=0x7f0500cd; + public static final int conversation_rewarditem=0x7f0500cf; + public static final int conversation_rewarditems=0x7f0500d0; + public static final int conversation_title=0x7f05011d; public static final int conversationlist_alynndir=0x7f050025; public static final int conversationlist_ambelie=0x7f050029; public static final int conversationlist_crossglen=0x7f050004; @@ -404,99 +404,99 @@ public final class R { public static final int conversationlist_vilegard_villagers=0x7f050021; public static final int conversationlist_wilderness=0x7f050018; public static final int conversationlist_wrye=0x7f05002c; - public static final int dialog_close=0x7f050066; - public static final int dialog_confirmexit_message=0x7f050068; - public static final int dialog_confirmexit_title=0x7f050067; - public static final int dialog_groundloot_message=0x7f0500a0; - public static final int dialog_groundloot_title=0x7f05009f; - public static final int dialog_loading_failed_incorrectversion=0x7f050065; - public static final int dialog_loading_failed_message=0x7f050064; - public static final int dialog_loading_failed_title=0x7f050063; - public static final int dialog_loading_message=0x7f050062; - public static final int dialog_loot_foundgold=0x7f05009d; - public static final int dialog_loot_pickall=0x7f05009c; - public static final int dialog_loot_pickedupitems=0x7f05009e; - public static final int dialog_monsterencounter_info=0x7f05006e; - public static final int dialog_monsterencounter_message=0x7f05006d; - public static final int dialog_monsterencounter_title=0x7f05006c; - public static final int dialog_monsterloot_gainedexp=0x7f0500a3; - public static final int dialog_monsterloot_message=0x7f0500a2; - public static final int dialog_monsterloot_title=0x7f0500a1; - public static final int dialog_newversion_message=0x7f0500f8; - public static final int dialog_newversion_title=0x7f0500f7; - public static final int dialog_paused_message=0x7f05006a; - public static final int dialog_paused_resume=0x7f05006b; - public static final int dialog_paused_title=0x7f050069; - public static final int dialog_rest_confirm_message=0x7f0500ef; - public static final int dialog_rest_message=0x7f0500f0; - public static final int dialog_rest_title=0x7f0500ee; + public static final int dialog_close=0x7f05005e; + public static final int dialog_confirmexit_message=0x7f050060; + public static final int dialog_confirmexit_title=0x7f05005f; + public static final int dialog_groundloot_message=0x7f050098; + public static final int dialog_groundloot_title=0x7f050097; + public static final int dialog_loading_failed_incorrectversion=0x7f05005d; + public static final int dialog_loading_failed_message=0x7f05005c; + public static final int dialog_loading_failed_title=0x7f05005b; + public static final int dialog_loading_message=0x7f05005a; + public static final int dialog_loot_foundgold=0x7f050095; + public static final int dialog_loot_pickall=0x7f050094; + public static final int dialog_loot_pickedupitems=0x7f050096; + public static final int dialog_monsterencounter_info=0x7f050066; + public static final int dialog_monsterencounter_message=0x7f050065; + public static final int dialog_monsterencounter_title=0x7f050064; + public static final int dialog_monsterloot_gainedexp=0x7f05009b; + public static final int dialog_monsterloot_message=0x7f05009a; + public static final int dialog_monsterloot_title=0x7f050099; + public static final int dialog_newversion_message=0x7f0500f0; + public static final int dialog_newversion_title=0x7f0500ef; + public static final int dialog_paused_message=0x7f050062; + public static final int dialog_paused_resume=0x7f050063; + public static final int dialog_paused_title=0x7f050061; + public static final int dialog_rest_confirm_message=0x7f0500e7; + public static final int dialog_rest_message=0x7f0500e8; + public static final int dialog_rest_title=0x7f0500e6; public static final int droplists_crossglen=0x7f050031; public static final int droplists_crossglen_outside=0x7f050032; public static final int droplists_debug=0x7f050030; public static final int droplists_fallhaven=0x7f050033; public static final int droplists_v068=0x7f050035; public static final int droplists_wilderness=0x7f050034; - public static final int exit=0x7f050055; - public static final int exit_to_menu=0x7f050056; - public static final int heroinfo_actionpoints=0x7f05007e; - public static final int heroinfo_char=0x7f050073; - public static final int heroinfo_gold=0x7f05007d; - public static final int heroinfo_inv=0x7f050074; - public static final int heroinfo_inventory=0x7f05007c; - public static final int heroinfo_level=0x7f050079; - public static final int heroinfo_levelup=0x7f050078; - public static final int heroinfo_quests=0x7f05007f; - public static final int heroinfo_skill=0x7f050076; - public static final int heroinfo_spell=0x7f050077; - public static final int heroinfo_totalexperience=0x7f05007a; - public static final int heroinfo_wear=0x7f050075; - public static final int heroinfo_wornequipment=0x7f05007b; - public static final int inventory_drop=0x7f050098; - public static final int inventory_equip=0x7f050095; - public static final int inventory_info=0x7f050094; - public static final int inventory_item_dropped=0x7f05009a; - public static final int inventory_item_equipped=0x7f05009b; - public static final int inventory_item_used=0x7f050099; - public static final int inventory_unequip=0x7f050096; - public static final int inventory_use=0x7f050097; - public static final int itemcategory_money=0x7f0500c3; - public static final int itemcategory_other=0x7f0500cd; - public static final int itemcategory_potion=0x7f0500cc; - public static final int itemcategory_shield=0x7f0500c5; - public static final int itemcategory_weapon=0x7f0500c4; - public static final int itemcategory_wearable_body=0x7f0500c7; - public static final int itemcategory_wearable_feet=0x7f0500c9; - public static final int itemcategory_wearable_hand=0x7f0500c8; - public static final int itemcategory_wearable_head=0x7f0500c6; - public static final int itemcategory_wearable_neck=0x7f0500ca; - public static final int itemcategory_wearable_ring=0x7f0500cb; - public static final int iteminfo_action_equip=0x7f0500be; - public static final int iteminfo_action_equip_ap=0x7f0500c1; - public static final int iteminfo_action_unequip=0x7f0500bf; - public static final int iteminfo_action_unequip_ap=0x7f0500c2; - public static final int iteminfo_action_use=0x7f0500bd; - public static final int iteminfo_action_use_ap=0x7f0500c0; + public static final int exit=0x7f05004d; + public static final int exit_to_menu=0x7f05004e; + public static final int heroinfo_actionpoints=0x7f050076; + public static final int heroinfo_char=0x7f05006b; + public static final int heroinfo_gold=0x7f050075; + public static final int heroinfo_inv=0x7f05006c; + public static final int heroinfo_inventory=0x7f050074; + public static final int heroinfo_level=0x7f050071; + public static final int heroinfo_levelup=0x7f050070; + public static final int heroinfo_quests=0x7f050077; + public static final int heroinfo_skill=0x7f05006e; + public static final int heroinfo_spell=0x7f05006f; + public static final int heroinfo_totalexperience=0x7f050072; + public static final int heroinfo_wear=0x7f05006d; + public static final int heroinfo_wornequipment=0x7f050073; + public static final int inventory_drop=0x7f050090; + public static final int inventory_equip=0x7f05008d; + public static final int inventory_info=0x7f05008c; + public static final int inventory_item_dropped=0x7f050092; + public static final int inventory_item_equipped=0x7f050093; + public static final int inventory_item_used=0x7f050091; + public static final int inventory_unequip=0x7f05008e; + public static final int inventory_use=0x7f05008f; + public static final int itemcategory_money=0x7f0500bb; + public static final int itemcategory_other=0x7f0500c5; + public static final int itemcategory_potion=0x7f0500c4; + public static final int itemcategory_shield=0x7f0500bd; + public static final int itemcategory_weapon=0x7f0500bc; + public static final int itemcategory_wearable_body=0x7f0500bf; + public static final int itemcategory_wearable_feet=0x7f0500c1; + public static final int itemcategory_wearable_hand=0x7f0500c0; + public static final int itemcategory_wearable_head=0x7f0500be; + public static final int itemcategory_wearable_neck=0x7f0500c2; + public static final int itemcategory_wearable_ring=0x7f0500c3; + public static final int iteminfo_action_equip=0x7f0500b6; + public static final int iteminfo_action_equip_ap=0x7f0500b9; + public static final int iteminfo_action_unequip=0x7f0500b7; + public static final int iteminfo_action_unequip_ap=0x7f0500ba; + public static final int iteminfo_action_use=0x7f0500b5; + public static final int iteminfo_action_use_ap=0x7f0500b8; /** A specific key is required to pass. */ - public static final int iteminfo_category=0x7f0500bc; - public static final int iteminfo_effect_chance_of=0x7f050110; - public static final int iteminfo_effect_decrease_current_ap=0x7f05011a; - public static final int iteminfo_effect_decrease_current_hp=0x7f050118; - public static final int iteminfo_effect_decrease_max_ap=0x7f05011f; - public static final int iteminfo_effect_decrease_max_hp=0x7f05011d; - public static final int iteminfo_effect_decrease_movecost=0x7f050121; - public static final int iteminfo_effect_duration=0x7f050111; - public static final int iteminfo_effect_increase_current_ap=0x7f05011b; - public static final int iteminfo_effect_increase_current_hp=0x7f050119; - public static final int iteminfo_effect_increase_max_ap=0x7f05011e; - public static final int iteminfo_effect_increase_max_hp=0x7f05011c; - public static final int iteminfo_effect_increase_movecost=0x7f050120; - public static final int iteminfo_effect_works_on_source=0x7f050112; - public static final int iteminfo_effect_works_on_target=0x7f050113; - public static final int iteminfo_effect_works_when_equipped=0x7f050117; - public static final int iteminfo_effect_works_when_hitting_target=0x7f050114; - public static final int iteminfo_effect_works_when_killing_target=0x7f050115; - public static final int iteminfo_effect_works_when_used=0x7f050116; + public static final int iteminfo_category=0x7f0500b4; + public static final int iteminfo_effect_chance_of=0x7f050108; + public static final int iteminfo_effect_decrease_current_ap=0x7f050112; + public static final int iteminfo_effect_decrease_current_hp=0x7f050110; + public static final int iteminfo_effect_decrease_max_ap=0x7f050117; + public static final int iteminfo_effect_decrease_max_hp=0x7f050115; + public static final int iteminfo_effect_decrease_movecost=0x7f050119; + public static final int iteminfo_effect_duration=0x7f050109; + public static final int iteminfo_effect_increase_current_ap=0x7f050113; + public static final int iteminfo_effect_increase_current_hp=0x7f050111; + public static final int iteminfo_effect_increase_max_ap=0x7f050116; + public static final int iteminfo_effect_increase_max_hp=0x7f050114; + public static final int iteminfo_effect_increase_movecost=0x7f050118; + public static final int iteminfo_effect_works_on_source=0x7f05010a; + public static final int iteminfo_effect_works_on_target=0x7f05010b; + public static final int iteminfo_effect_works_when_equipped=0x7f05010f; + public static final int iteminfo_effect_works_when_hitting_target=0x7f05010c; + public static final int iteminfo_effect_works_when_killing_target=0x7f05010d; + public static final int iteminfo_effect_works_when_used=0x7f05010e; public static final int itemlist_animal=0x7f05003e; public static final int itemlist_armour=0x7f05003b; public static final int itemlist_debug=0x7f050037; @@ -509,34 +509,34 @@ public final class R { public static final int itemlist_rings=0x7f050039; public static final int itemlist_v068=0x7f050041; public static final int itemlist_weapons=0x7f050038; - public static final int key_required=0x7f050124; - public static final int levelup_add_attackchance=0x7f0500e8; - public static final int levelup_add_attackchance_description=0x7f0500e9; - public static final int levelup_add_attackdamage=0x7f0500ea; - public static final int levelup_add_attackdamage_description=0x7f0500eb; - public static final int levelup_add_blockchance=0x7f0500ec; - public static final int levelup_add_blockchance_description=0x7f0500ed; - public static final int levelup_add_health=0x7f0500e6; - public static final int levelup_add_health_description=0x7f0500e7; - public static final int levelup_buttontext=0x7f0500e5; - public static final int levelup_description=0x7f0500e4; - public static final int levelup_title=0x7f0500e3; - public static final int loadsave_selectslot=0x7f05005f; - public static final int loadsave_slot_empty=0x7f050060; - public static final int loadsave_title_load=0x7f05005e; - public static final int loadsave_title_save=0x7f05005d; - public static final int menu_load=0x7f05005a; - public static final int menu_pause=0x7f050057; - public static final int menu_save=0x7f050059; - public static final int menu_save_failed=0x7f05005c; - public static final int menu_save_gamesaved=0x7f05005b; - public static final int menu_settings=0x7f050058; - public static final int monster_difficulty_easy=0x7f0500a5; - public static final int monster_difficulty_hard=0x7f0500a7; - public static final int monster_difficulty_impossible=0x7f0500a9; - public static final int monster_difficulty_normal=0x7f0500a6; - public static final int monster_difficulty_veryeasy=0x7f0500a4; - public static final int monster_difficulty_veryhard=0x7f0500a8; + public static final int key_required=0x7f05011c; + public static final int levelup_add_attackchance=0x7f0500e0; + public static final int levelup_add_attackchance_description=0x7f0500e1; + public static final int levelup_add_attackdamage=0x7f0500e2; + public static final int levelup_add_attackdamage_description=0x7f0500e3; + public static final int levelup_add_blockchance=0x7f0500e4; + public static final int levelup_add_blockchance_description=0x7f0500e5; + public static final int levelup_add_health=0x7f0500de; + public static final int levelup_add_health_description=0x7f0500df; + public static final int levelup_buttontext=0x7f0500dd; + public static final int levelup_description=0x7f0500dc; + public static final int levelup_title=0x7f0500db; + public static final int loadsave_selectslot=0x7f050057; + public static final int loadsave_slot_empty=0x7f050058; + public static final int loadsave_title_load=0x7f050056; + public static final int loadsave_title_save=0x7f050055; + public static final int menu_load=0x7f050052; + public static final int menu_pause=0x7f05004f; + public static final int menu_save=0x7f050051; + public static final int menu_save_failed=0x7f050054; + public static final int menu_save_gamesaved=0x7f050053; + public static final int menu_settings=0x7f050050; + public static final int monster_difficulty_easy=0x7f05009d; + public static final int monster_difficulty_hard=0x7f05009f; + public static final int monster_difficulty_impossible=0x7f0500a1; + public static final int monster_difficulty_normal=0x7f05009e; + public static final int monster_difficulty_veryeasy=0x7f05009c; + public static final int monster_difficulty_veryhard=0x7f0500a0; public static final int monsterlist_crossglen_animals=0x7f050043; public static final int monsterlist_crossglen_npcs=0x7f050045; public static final int monsterlist_debug=0x7f050042; @@ -544,66 +544,58 @@ public final class R { public static final int monsterlist_fallhaven_npcs=0x7f050046; public static final int monsterlist_v068_npcs=0x7f050048; public static final int monsterlist_wilderness=0x7f050047; - public static final int preferences_combat_category=0x7f050108; - public static final int preferences_combat_speed=0x7f05010a; - public static final int preferences_combat_speed_title=0x7f050109; - public static final int preferences_dialog_category=0x7f050101; - public static final int preferences_dialog_confirmattack=0x7f050105; - public static final int preferences_dialog_confirmattack_title=0x7f050104; - public static final int preferences_dialog_confirmrest=0x7f050103; - public static final int preferences_dialog_confirmrest_title=0x7f050102; - public static final int preferences_dialog_monsterloot=0x7f050107; - public static final int preferences_dialog_monsterloot_title=0x7f050106; - public static final int preferences_display_category=0x7f0500fe; - public static final int preferences_display_fullscreen=0x7f050100; - public static final int preferences_display_fullscreen_title=0x7f0500ff; - public static final int preferences_display_scaling_factor=0x7f050123; - public static final int preferences_display_scaling_factor_title=0x7f050122; - public static final int preferences_movement_category=0x7f05010b; - public static final int preferences_movementmethod=0x7f05010d; - public static final int preferences_movementmethod_title=0x7f05010c; + public static final int preferences_combat_category=0x7f050100; + public static final int preferences_combat_speed=0x7f050102; + public static final int preferences_combat_speed_title=0x7f050101; + public static final int preferences_dialog_category=0x7f0500f9; + public static final int preferences_dialog_confirmattack=0x7f0500fd; + public static final int preferences_dialog_confirmattack_title=0x7f0500fc; + public static final int preferences_dialog_confirmrest=0x7f0500fb; + public static final int preferences_dialog_confirmrest_title=0x7f0500fa; + public static final int preferences_dialog_monsterloot=0x7f0500ff; + public static final int preferences_dialog_monsterloot_title=0x7f0500fe; + public static final int preferences_display_category=0x7f0500f6; + public static final int preferences_display_fullscreen=0x7f0500f8; + public static final int preferences_display_fullscreen_title=0x7f0500f7; + public static final int preferences_display_scaling_factor=0x7f05011b; + public static final int preferences_display_scaling_factor_title=0x7f05011a; + public static final int preferences_movement_category=0x7f050103; + public static final int preferences_movementmethod=0x7f050105; + public static final int preferences_movementmethod_title=0x7f050104; public static final int questlist=0x7f05004a; public static final int questlist_debug=0x7f050049; public static final int questlist_v068=0x7f05004b; - public static final int questlog_andor_v068=0x7f050052; - public static final int questlog_crossglen=0x7f05004d; - public static final int questlog_debug=0x7f05004c; - public static final int questlog_fallhaven=0x7f05004e; - public static final int questlog_farrik=0x7f050051; - public static final int questlog_flagstone=0x7f050050; - public static final int questlog_includecompleted_prompt=0x7f0500fa; - public static final int questlog_queststatus=0x7f0500fb; - public static final int questlog_queststatus_completed=0x7f0500fd; - public static final int questlog_queststatus_inprogress=0x7f0500fc; - public static final int questlog_title=0x7f0500f9; - public static final int questlog_vacor=0x7f05004f; - public static final int questlog_vilegard=0x7f050053; - public static final int savegame_currenthero_displayinfo=0x7f050061; - public static final int shop_buy=0x7f0500db; - public static final int shop_buyitem=0x7f0500de; - public static final int shop_infoitem=0x7f0500dd; - public static final int shop_item_bought=0x7f0500e1; - public static final int shop_item_sold=0x7f0500e2; - public static final int shop_sell=0x7f0500dc; - public static final int shop_sellitem=0x7f0500df; - public static final int shop_yourgold=0x7f0500e0; - public static final int startscreen_about=0x7f0500d1; - public static final int startscreen_continue=0x7f0500ce; - public static final int startscreen_enterheroname=0x7f0500d2; - public static final int startscreen_load=0x7f0500d3; - public static final int startscreen_newgame=0x7f0500cf; - public static final int startscreen_newgame_confirm=0x7f0500d0; - public static final int status_ap=0x7f050071; - public static final int status_exp=0x7f050072; - public static final int status_hp=0x7f05006f; - public static final int status_mp=0x7f050070; - public static final int traitsinfo_attack_chance=0x7f0500b6; - public static final int traitsinfo_attack_cost=0x7f0500b5; - public static final int traitsinfo_attack_damage=0x7f0500b7; - public static final int traitsinfo_criticalhit_chance=0x7f0500b8; - public static final int traitsinfo_criticalhit_multiplier=0x7f0500b9; - public static final int traitsinfo_defense_chance=0x7f0500ba; - public static final int traitsinfo_defense_damageresist=0x7f0500bb; + public static final int questlog_includecompleted_prompt=0x7f0500f2; + public static final int questlog_queststatus=0x7f0500f3; + public static final int questlog_queststatus_completed=0x7f0500f5; + public static final int questlog_queststatus_inprogress=0x7f0500f4; + public static final int questlog_title=0x7f0500f1; + public static final int savegame_currenthero_displayinfo=0x7f050059; + public static final int shop_buy=0x7f0500d3; + public static final int shop_buyitem=0x7f0500d6; + public static final int shop_infoitem=0x7f0500d5; + public static final int shop_item_bought=0x7f0500d9; + public static final int shop_item_sold=0x7f0500da; + public static final int shop_sell=0x7f0500d4; + public static final int shop_sellitem=0x7f0500d7; + public static final int shop_yourgold=0x7f0500d8; + public static final int startscreen_about=0x7f0500c9; + public static final int startscreen_continue=0x7f0500c6; + public static final int startscreen_enterheroname=0x7f0500ca; + public static final int startscreen_load=0x7f0500cb; + public static final int startscreen_newgame=0x7f0500c7; + public static final int startscreen_newgame_confirm=0x7f0500c8; + public static final int status_ap=0x7f050069; + public static final int status_exp=0x7f05006a; + public static final int status_hp=0x7f050067; + public static final int status_mp=0x7f050068; + public static final int traitsinfo_attack_chance=0x7f0500ae; + public static final int traitsinfo_attack_cost=0x7f0500ad; + public static final int traitsinfo_attack_damage=0x7f0500af; + public static final int traitsinfo_criticalhit_chance=0x7f0500b0; + public static final int traitsinfo_criticalhit_multiplier=0x7f0500b1; + public static final int traitsinfo_defense_chance=0x7f0500b2; + public static final int traitsinfo_defense_damageresist=0x7f0500b3; } public static final class style { public static final int Theme_NoBackground=0x7f080000; diff --git a/AndorsTrail/res/values-it/questlist.xml b/AndorsTrail/res/values-it/questlist.xml index 99e6cb244..84aeb10e3 100644 --- a/AndorsTrail/res/values-it/questlist.xml +++ b/AndorsTrail/res/values-it/questlist.xml @@ -2,23 +2,23 @@ -[ID|Name|DisplayText|ShowInLog|]; -{andor|Cerca Andor|Scopri dove è andato Andor.|1|}; -{mikhail_bread|Pane per la colazione||1|}; -{mikhail_rats|Topi!||1|}; -{leta|Marito scomparso||1|}; -{odair|Infestazione di topi||1|}; -{bonemeal|Sostanze vietate||1|}; -{crossglen|TODO|Non ancora completo.|0|}; -{jan|Amici di Fallen||1|}; -{bucus|Chiave di Luthor||1|}; -{fallhavendrunk|Racconto dell\'ubriaco||1|}; -{calomyran|Calomyran secrets||1|}; -{fallhaventavern|Stanza in affitto|Accesso alla sala in taverna a Fallhaven.|0|}; -{nocmar|Tesori perduti||1|}; -{arcir|Elythara|Non ancora completo.|0|}; -{flagstone|Antichi segreti|Investigare sui segreti di Flagstone.|1|}; -{vacor|Pezzi mancanti|Aiuta Vacor a trovare i documenti mancanti dell\'incantesimo.|1|}; +[id|name|showInLog|stages[progress|logText|rewardExperience|finishesQuest|]|]; +{andor|Cerca Andor|1|{{1|Mio padre Mikhail dice che Andor non è a casa da ieri. Dovrei andare a cercarlo nel villaggio.||0|}{10|Leonid dice di aver visto Andor parlare con Gruil. Dovrei chiedere informazioni a Gruil.||0|}{20|Gruil vuole una ghiandola di veleno per darmi qualche informazione. Dice che alcuni serpenti velenosi la posseggono.||0|}{30|Gruil dice che Andor era alla ricerca di uno che si chiama Umar. Dovrei andare a chiedere al suo amico Gaela a est di Fallhaven .||0|}{40|Ho parlato con Gaela in Fallhaven. Lui mi dice di andare a trovare Bucus e chiedergli informazioni circa la gilda dei ladri.||0|}{50|Bucus mi ha permesso di entrare nella botola nella casa abbandonata in Fallhaven. Dovrei andare a parlare con Umar.||0|}}|}; +{mikhail_bread|Pane per la colazione|1|{{100|Ho portato il pane a Mikhail.||1|}{10|Mikhail vuole che vada a comprargli del pane da Mara al municipio.||0|}}|}; +{mikhail_rats|Topi!|1|{{100|Ho ucciso i due ratti nel nostro giardino.|20|1|}{10|Mikhail vuole che vada a controllare il nostro giardino per alcuni ratti. Devo uccidere i ratti e tornare a Mikhail. Se mi faccio male, posso tornare a letto e riposare per ripristinare la salute.||0|}}|}; +{leta|Marito scomparso|1|{{10|Leta del villaggio di Crossglen vuole che cerchi suo marito Oromir.||0|}{20|Ho trovato Oromir nel villaggio di Crossglen, che si nascondeva da Leta.||0|}{100|Ho detto a Leta che Oromir si nasconde nel villaggio di Crossglen.|30|1|}}|}; +{odair|Infestazione di topi|1|{{10|Odair mi chiede di pulire la grotta dall\'invasione dei ratti. In particolare di uccidere il topo più grosso e poi tornare da Odair.||0|}{100|Ho aiutato Odair a eliminare i ratti nella grotta-magazzino al villaggio di Crossglen.|30|1|}}|}; +{bonemeal|Sostanze vietate|1|{{10|Leonid del municipio di Crossglen mi dice che c\'era un problema in paese qualche settimana fa. A quanto pare, Lord Geomyr ha vietato qualsiasi uso di farine animali come sostanza di guarigione.\n\nTharal, il sacerdote della città dovrebbe saperne di più.||0|}{20|Tharal non vuole parlare di farina d\'ossa. Potrei convincerlo portandogli 5 ali d\' insetto.||0|}{30|Tharal dice che la farina d\'ossa è molto potente come sostanza guaritrice, ed è abbastanza sconvolto dal fatto che è diventato illegale. Dovrei andare a vedere Thoronir in Fallhaven se voglio saperne di più. Dovrei dirgli la password \'Bagliore dell\'Ombra\'.||0|}{40|Ho parlato con Thoronir in Fallhaven. Egli potrebbe creare una pozione di farina d\'ossa se gli porto 5 ossa. Dovrebbero esserci alcuni scheletri in una casa abbandonata a nord di Fallhaven.||0|}{100|Ho portato le ossa a Thoronir. Ora è in grado di preparare la pozione.\nPerò devo fare attenzione ad usarla, Lord Geomyr ne ha vietato l\'uso.|90|1|}}|}; +{crossglen|TODO|0|{{1|||0|}}|}; +{jan|Amici di Fallen|1|{{10|Jan mi racconta la sua storia, di Gandir e Irogotu. I tre amici che scavarono una miniera per cercare un tesoro, ma hanno litigato. Irogotu in preda alla rabbia ha ucciso Gandir, rubandogli un anello.\nDovrei prendere l\'anello a Irogotu e riportarlo a Jan.||0|}{100|Ho portato l\'anello di Gandir a Jan, e vendicato il suo amico. Irogotu è morto.|150|1|}}|}; +{bucus|Chiave di Luthor|1|{{10|Bucus in Fallhaven potrebbe sapere qualcosa di Andor. Ma vuole la chiave di Luthor che è nelle catacombe sotto la chiesa di Fallhaven.||0|}{20|Le catacombe sotto la chiesa di Fallhaven sono chiuse. Athamyr è l\'unico che ha sia il permesso che il coraggio di entrarvi. Dovrei andare a trovarlo nella sua casa a sud-ovest della chiesa.||0|}{30|Athamyr vuole un pò di carne cotta, e poi forse mi dirà qualcosa di più.||0|}{40|Ho portato la carne cotta ad Athamyr.|70|0|}{50|Athamyr mi ha dato il permesso di entrare nelle catacombe sotto la chiesa Fallhaven.||0|}{100|Ho portato a Bucus la chiave di Luthor.|215|1|}}|}; +{fallhavendrunk|Racconto dell\'ubriaco|1|{{10|Un ubriaco fuori dalla taverna di Fallhaven cominciò a raccontarmi la sua storia, ma vuole che io gli porti dell\'idromele. Non so se la sua storia porterà a nulla.||0|}{100|L\'ubriaco mi ha detto che aveva l\'abitudine di viaggiare con Unnmir. Dovrei andare a parlare con Unnmir.||1|}}|}; +{calomyran|I segreti di Calomyran|1|{{10|Un vecchio di Fallhaven ha perso il suo libro \'Calomyran Secrets\'. Dovrei andare a cercarlo. Forse nella casa di Arcir a sud?||0|}{20|Ho trovato una pagina strappata da un libro intitolato \'Calomyran Secrets\' con il nome di \'Larcal\' scritto sopra.||0|}{100|Ho dato il libro al vecchio.|60|1|}}|}; +{fallhaventavern|Stanza in affitto|0|{{10|||1|}}|}; +{nocmar|Tesori perduti|1|{{10|Unnmir mi ha detto che era un avventuriero, e mi ha dato il suggerimento di andare a trovare Nocmar. La sua casa è a sud-ovest della taverna in Fallhaven.||0|}{20|Nocmar mi dice che era un fabbro. Ma Lord Geomyr ha vietato l\'uso di Acciaio puro, così non può forgiare più le sue armi.\nSe riesco a trovare un Pietra pura e portarglielo, dovrebbe essere in grado di forgiare il nuovo Acciaio puro!.||0|}{200|Ho trovato un Pietra pura per Nocmar. Ora avrà degli oggetti di Acciaio puro da vendere|120|1|}}|}; +{arcir|Elythara|0|{{10|||0|}}|}; +{flagstone|Antichi segreti|1|{{10|Ho incontrato una guardia all\'esterno di una fortezza chiamata Flagstone. La guardia mi ha parlato di Flagstone, che era un campo di prigionia per i lavoratori in fuga dal Monte Galmore. Recentemente, c\'è stato un aumento di mostri non-morti che fuoriusciva da Flagstone. Dovrei studiare l\'origine dei mostri non-morti. La guardia mi dice di tornare a lui se ho bisogno di aiuto.||0|}{20|Ho trovato un tunnel scavato sotto Flagstone, che sembra portare a una grotta più grande. La grotta è sorvegliata da un demone a cui non sono nemmeno in grado di avvicinarmi. Forse la guardia fuori Flagstone ne sà di più?||0|}{30|La guardia mi dice che l\'ex guardiano di Flagstone portava sempre una collana con se!. La collana probabilmente contiene le informazioni per avvicinarsi al demone. Dovrei tornare dalla guardia per le informazioni della collana, una volta che l\'avrò trovata.||0|}{31|Ho trovato l\'ex guardiano di Flagstone, era al piano superiore.||0|}{40|Ho imparato la formula per avvicinarmi la demone. \'Daylight Shadow\'.|160|0|}{50|Nei sotterranei di Flagstone, ho trovato la fonte di creazione dei non morti. Una creatura nata dal dolore degli ex prigionieri.||0|}{60|Ho trovato un prigioniero vivo, Narael, nei sotterranei di Flagstone. Narael una volta era un cittadino di Nor City. E\' troppo debole per camminare, ma se riesco a trovare la moglie, in città, verrei ricompensato.|210|1|}}|}; +{vacor|Pezzi mancanti|1|{{10|Un mago chiamato Vacor nel sud-ovest di Fallhaven ha cercato di lanciare un incantesimo di fenditura.\nC\'è qualcosa che non va in lui, sembrava molto ossessionato dal suo incantesimo. Sta cercando di ottenere un qualche tipo di forza da esso.||0|}{20|Vacor vuole che io gli porti i quattro pezzi dell\'incantesimo che gli è stato rubato. I banditi dovrebbero essere da qualche parte a sud di Fallhaven.||0|}{30|Ho portato i quattro pezzi dell\'incantesimo a Vacor.|120|0|}{40|Vacor mi racconta del suo ex apprendista Unzel, che aveva iniziato a mettere in discussione Vacor. Vacor ora vuole uccidere Unzel. Dovrei essere in grado di trovarlo a sud-ovest, fuori di Fallhaven. Dovrei portare il suo anello con sigillo a Vacor una volta che l\'ho ucciso.||0|}{50|Unzel mi dà la scelta di schierarmi con lui o con Vacor.||0|}{51|Ho scelto di schierarmi con Unzel. Dovrei andare a sud-ovest di Fallhaven a parlare con Vacor circa Unzel e l\'Ombra.||0|}{53|Ho iniziato a lottare con Unzel. Vorrei portare il suo anello a Vacor una volta ucciso.||0|}{54|Ho iniziato a lottare con Vacor. Vorrei portare il suo anello a Unzel una volta ucciso.||0|}{60|Ho ucciso Unzel e ho informato Vacor.|160|1|}{61|Ho ucciso Vacor e ho informato Unzel.|160|1|}}|}; diff --git a/AndorsTrail/res/values-it/questlog.xml b/AndorsTrail/res/values-it/questlog.xml deleted file mode 100644 index 6dab07c1e..000000000 --- a/AndorsTrail/res/values-it/questlog.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - -[QuestID|Progress|LogText|RewardExp|ResolvesQuest|]; -{andor|1|Mio padre Mikhail dice che Andor è a casa da ieri. Dovrei andare a cercarlo nel villaggio.||0|}; -{mikhail_bread|100|Ho portato iul pane a Mikhail.||1|}; -{mikhail_bread|10|Mikhail vuole che vada a comprargli del pane da Mara al municipio.||0|}; -{mikhail_rats|100|Ho ucciso i due ratti nel nostro giardino.|20|1|}; -{mikhail_rats|10|Mikhail vuole che vada a controllare il nostro giardino per alcuni ratti. Devo uccidere i ratti e tornare a Mikhail. Se mi faccio male, posso tornare a letto e riposare per ripristinare la salute.||0|}; -{leta|10|Leta del villaggio di Crossglen vuole che cerchi suo marito Oromir.||0|}; -{leta|20|Ho trovato Oromir nel villaggio di Crossglen , che si nascondeva da Leta.||0|}; -{leta|100|Ho detto a Leta che Oromir si nasconde nel villaggio di Crossglen.|30|1|}; -{odair|10|Odair mi chiede di pulire la grotta dall\'invasione dei ratti. In particolare di uccidere il topo più grosso e poi tornare da Odair.||0|}; -{odair|100|Ho aiutato Odair a eliminare i ratti nella grotta al villaggio di Crossglen.|30|1|}; -{bonemeal|10|Leonid del municipio di Crossglen mi dice che c\'era un problema in paese qualche settimana fa. A quanto pare, Lord Geomyr ha vietato qualsiasi uso di farine animali come sostanza di guarigione. \n\nTharal, il sacerdote della città dovrebbe saperne di più.||0|}; -{bonemeal|20|Tharal non vuole parlare di farina d\'ossa. Potrei convincerlo portandogli 5 ali d\' insetto.||0|}; -{bonemeal|30|Tharal dice che la farina d\'ossa è molto potente come guaritore, ed è abbastanza sconvolto dal fatto che è diventato illegale. Dovrei andare a vedere Thoronir in Fallhaven se voglio saperne di più. Dovrei dirgli la password \'Bagliore dell\'Ombra\'.||0|}; -{bonemeal|40|Ho parlato con Thoronir in Fallhaven. Egli potrebbe creare una pozione di farina d\'ossa se gli porto 5 ossa. Ci dovrebbero essere alcuni scheletri in una casa abbandonata a nord di Fallhaven.||0|}; -{bonemeal|100|Ho portato le ossa a Thoronir. Ora è in grado di preparare la pozione.\n però devo fare attenzione ad usarla , Lord Geomyr ne ha vietato l\'uso.|90|1|}; -{andor|10|Leonid dice di aver visto Andor parlare con Gruil. Dovrei chiedere informazioni a Gruil.||0|}; -{andor|20|Gruil vuole una ghiandola di veleno per darmi qualche informazione. Dice che alcuni serpenti velenosi la posseggono.||0|}; -{andor|30|Gruil dice che Andor era alla ricerca di uno che si chiama Umar. Dovrei andare a chiedere ial suo amico Gaela a est di Fallhaven .||0|}; -{crossglen|1|||0|}; -{jan|10|Jan mi racconta la sua storia, di Gandir e Irogotu. I tre amici che scavarono una miniera per cercare un tesoro, ma hanno litigato. Irogotu in preda alla rabbia ha ucciso Gandir, rubandogli l\'anello . \n dovrei prendere l\' anello a Irogotu e riportarlo a Jan ..||0|}; -{jan|100|Ho portato l\'anello di Gandir a Jan, e vendicato il suo amico. Irogotu è morto.|150|1|}; - - - -[QuestID|Progress|LogText|RewardExp|ResolvesQuest|]; -{bucus|10|Bucus in Fallhaven potrebbe sapere qualcosa di Andor. Ma vuole la chiave di Luthor che è nelle catacombe sotto la chiesa di Fallhaven.||0|}; -{bucus|20|Le catacombe sotto la chiesa di Fallhaven sono chiuse. Athamyr è l\'unico che ha sia il permesso che il coraggio di entrarvi. Dovrei andare a trovarlo nella sua casa a sud-ovest della chiesa.||0|}; -{bucus|30|Athamyr vuole un pò di carne cotta, e poi forse mi dirà qualcosa di più.||0|}; -{bucus|40|Ho portato la carne cotta ad Athamyr.|70|0|}; -{bucus|50|Athamyr mi ha dato il permesso di entrare nelle catacombe sotto la chiesa Fallhaven.||0|}; -{bucus|100|Ho portato a Bucus la chiave di Luthor.|215|1|}; -{andor|40|Ho parlato con Gaela in Fallhaven. Lui mi dice di andare a trovare Bucus e chiedergli informazioni circa la gilda dei ladri.||0|}; -{andor|50|Bucus mi ha permesso di entrare nella botola nella casa abbandonata in Fallhaven. Dovrei andare a parlare con Umar.||0|}; -{fallhavendrunk|10|Un ubriaco fuori dalla taverna di Fallhaven cominciò a raccontarmi la sua storia, ma vuole che io gli porti dell\'idromele. Non so se la sua storia porterà a nulla.||0|}; -{fallhavendrunk|100|L\'ubriaco mi ha detto che aveva l\'abitudine di viaggiare con Unnmir. Dovrei andare a parlare con Unnmir.||1|}; -{nocmar|10|Unnmir mi ha detto che era un avventuriero, e mi ha dato il suggerimento di andare a trovare Nocmar. La sua casa è a sud-ovest della taverna in Fallhaven.||0|}; -{nocmar|20|Nocmar mi dice che era un fabbro. Ma Lord Geomyr ha vietato l\'uso di Acciaio puro, così non può forgiare più le sue armi.\n Se riesco a trovare un Pietra pura e portarglielo, dovrebbe essere in grado di forgiare il nuovo Acciaio puro!.||0|}; -{nocmar|200|Ho trovato un Pietra pura per Nocmar. Ora avrà degli oggetti di Acciaio puro da vendere|120|1|}; -{fallhaventavern|10|||1|}; -{arcir|10|||0|}; -{calomyran|10|Un vecchio di Fallhaven ha perso il suo libro \'Calomyran Secrets\'. Dovrei andare a cercarlo. Forse in casa Arcir a sud?||0|}; -{calomyran|20|Ho trovato una pagina strappata da un libro intitolato \'Calomyran Secrets\' con il nome di \'Larcal\' scritto sopra.||0|}; -{calomyran|100|Ho dato il libro al vecchio.|60|1|}; - - - -[QuestID|Progress|LogText|RewardExp|ResolvesQuest|]; -{vacor|10|Un mago chiamato Vacor nel sud-ovest di Fallhaven ha cercato di lanciare un incantesimo . \nC\' è qualcosa che non va in lui, sembrava molto ossessionato dal suo incantesimo. Sta cercando di ottenere un qualche tipo di forza da esso..||0|}; -{vacor|20|Vacor vuole che io gli porti i quattro pezzi dell\' incantesimo che gli è stato rubato . I banditi dovrebbero essere da qualche parte a sud di Fallhaven.||0|}; -{vacor|30|Ho portato i quattro pezzi dell\' incantesimo a Vacor.|120|0|}; -{vacor|40|Vacor mi racconta del suo ex apprendista Unzel, che aveva iniziato a mettere in discussione Vacor. Vacor ora vuole uccidere Unzel. Dovrei essere in grado di trovarlo a sud-ovest , fuori di Fallhaven. Dovrei portare il suo anello con sigillo a Vacor una volta che l\'ho ucciso.||0|}; -{vacor|50|Unzel mi dà la scelta di schierarsi con lui o con Vacor.||0|}; -{vacor|51|Ho scelto di schierarmi con Unzel. Dovrei andare a sud-ovest di Fallhaven a parlare con Vacor circa Unzel e l\'Ombra.||0|}; -{vacor|53|Ho iniziato a lottare con Unzel. Vorrei portare il suo anello a Vacor.||0|}; -{vacor|54|Ho iniziato a lottare con Vacor. Vorrei portare il suo anello a Unzel.||0|}; -{vacor|60|Ho ucciso Unzel e ho informato Vacor.|160|1|}; -{vacor|61|Ho ucciso Vacor e ho informato Unzel.|160|1|}; - - - -[QuestID|Progress|LogText|RewardExp|ResolvesQuest|]; -{flagstone|10|Ho incontrato una guardia all\'esterno di una fortezza chiamata Flagstone . La guardia mi ha parlato di Flagstone , che era un campo di prigionia per i lavoratori in fuga dal Monte Galmore . Recentemente, c\'è stato un aumento di mostri non-morti che fuoriusciva da Flagstone. Dovrei studiare l\'origine dei mostri non-morti. La guardia mi dice di tornare a lui se ho bisogno di aiuto.||0|}; -{flagstone|20|Ho trovato un tunnel scavato sotto Flagstone, che sembra portare a una grotta più grande. La grotta è sorvegliata da un demone a cui non sono nemmeno in grado di avvicinarmi. Forse la guardia fuori Flagstone ne sà di più?||0|}; -{flagstone|30|La guardia mi dice che l\' ex guardiano di Flagstone portava sempre una collana con se!. La collana ha probabilmente contiene le informazioni per avvicinarsi al demone. Vorrei tornare alla guardia e decifrare qualsiasi messaggio della collana, una volta che l\'ho trovata.||0|}; -{flagstone|31|Ho trovato l\'ex guardiano di Flagstone, era al piano superiore.||0|}; -{flagstone|40|Ho imparato la password per avvicinarmi la demone. \'Daylight Shadow\'.|160|0|}; -{flagstone|50|Nei sotterranei di Flagstone, ho trovato la fonte di creazione dei non morti. Una creatura nata dal dolore degli ex prigionieri .||0|}; -{flagstone|60|Ho trovato un prigioniero, Narael,nei sotterranei di Flagstone. Narael una volta era un cittadino di Nor City. E\' troppo debole per camminare , ma se riesco trovate la moglie, in città, verrei ricompensato.|210|1|}; - - - diff --git a/AndorsTrail/res/values-it/strings.xml b/AndorsTrail/res/values-it/strings.xml index 0991ad3b0..331f3b4ce 100644 --- a/AndorsTrail/res/values-it/strings.xml +++ b/AndorsTrail/res/values-it/strings.xml @@ -10,13 +10,13 @@ Salva Carica Partita salvata sullo slot %1$d - Impossibile salvare! La sceda SD è caricata e scrivibile ? + Impossibile salvare! La sceda SD è caricata e scrivibile? Salva gioco Carica salvataggio Scegli Slot (Vuoto) - Livello %1$d, %2$d exp, %3$d oro + Livello %1$d, %2$d esp, %3$d oro Mostra la finestra bottino @@ -29,7 +29,7 @@ 2 - Istant (no animazione) + Istantaneo (no animazione) Veloce Normale Lenta @@ -43,20 +43,20 @@ Carica risorse... Caricamento fallito - Andor\'s Trail non ha caricato il salvataggio.\n\n:(\n\nIl file può essere incompleto o danneggiato. + Andor\'s Trail non ha caricato il salvataggio.\n\n:(\n\nIl file può essere incompleto o danneggiato) Andor\'s Trail non ha caricato il salvataggio. Il salvataggio è stato creato con una versione precedente di quella installata. Chiudi Esci - Sei sicuro di uscire ? + Sei sicuro di voler uscire? Pausa Il gioco è in pausa Riprendi Combattimento - Vuoi attaccare? Difficoltà : %1$s + Vuoi attaccare? Difficoltà: %1$s Info HP: @@ -69,27 +69,27 @@ Equipaggiamento Abilità Incantesimi - Level up + Nuovo Livello Livello - Esperienza Tot + Esperienza Totale Equipaggiamento indossato Inventario - GOro: %1$d - APunti azione (AP): + Oro: %1$d + Punti azione (AP): Missioni Attacco (%1$d AP) - Move (%1$d AP) + Movimento (%1$d AP) Usare oggetti Incantesimo Fine turno Fuggi - Ora puoi fuggire dal combattimento cliccando nella direzione in cui si vuole fuggire. + Ora puoi fuggire dal combattimento cliccando nella direzione in cui vuoi fuggire. Hai fallito la fuga! AP: %1$d HP: - %1$s stà attaccando. + %1$s sta attaccando. %1$s mancato! %1$s colpisce per %2$d hp! @@ -116,8 +116,8 @@ Oggetti Hai trovato alcuni oggetti. Vittoria - Sei sopravvissuto all\'incontro. - Hai aumentato %1$d di esperienza. + Sei sopravvissuto all\'incontro. + Hai aumentato %1$d di esperienza. Facilissimo Facile @@ -143,7 +143,7 @@ Possibilità danni: colpo critico: moltiplicatore critico: - possibilità difesa: + Possibilità difesa: Resistenza ai danni: E\' richiesta una chiave specifica per passare. @@ -191,21 +191,21 @@ %1$s Comprato. %1$s Venduo. - Level up + Nuovo Livello Benvenuto nel livello %1$d! - Level up + Nuovo Livello Aumenta salute (+%1$d HP) - aggiungi %1$d alla salute massima. + Aggiungi %1$d alla salute massima Aumenta possibilità attacco (+%1$d %%) - Aggiungi %1$d%% alla tua possibilità attacco. + Aggiungi %1$d%% alla tua possibilità attacco Aumenta danni attacco (+%1$d) - Aggiungi %1$d al tuo attacco base . + Aggiungi %1$d al tuo attacco base Aumenta possibilità difesa (+%1$d %%) - Aggiungi %1$d%% alla tua possibilità difesa base. + Aggiungi %1$d%% alla tua possibilità difesa base Riposa - Vuoi riposare quì?? - Hai riposate e la tua salute è tornata al massimo. + Vuoi riposare qui? + Hai riposato e la tua salute è tornata al massimo. Aiuto Autori @@ -219,7 +219,7 @@ <br /> Please visit the forums to discuss the game with other players.<br /> <br /> - In realtà dovrei aggiungere quì qualche info su come giocare la partita :)<br /> + In realtà dovrei aggiungere qualche info su come giocare la partita :)<br /> Copyright (C) 2010 Oskar Wiksten<br /> @@ -238,7 +238,7 @@ Grazie per aver scaricato Andor\'s Trail!\n\n Si prega di notare che questa versione di Andor\'s Trail è un WORK IN PROGRESS, il che significa che tutte le mappe non sono ancora complete.\n Siete comunque liberi di esplorare villaggio Crossglen quanto vi pare.\n - Poiché questo è un work in progress, essa può contenere bug e un gameplay che non è bilanciata bene. Il presente comunicato è da intendersi come una caccia al bug prima di iniziare ad aggiungere contenuto ancora di più.\n + Poiché questo è un work in progress, può contenere bug e un gameplay non correttamente bilanciato. Il presente comunicato è da intendersi come una caccia al bug prima di iniziare ad aggiungere altri contenuti.\n Si prega di visitare la pagina del progetto per ottenere maggiori informazioni o per contribuire al progetto (vedi "about").\n \n Grazie per tutti i Feedback! diff --git a/AndorsTrail/res/values-ru/itemlist.xml b/AndorsTrail/res/values-ru/itemlist.xml index b89665fea..ab1fa3847 100644 --- a/AndorsTrail/res/values-ru/itemlist.xml +++ b/AndorsTrail/res/values-ru/itemlist.xml @@ -2,91 +2,91 @@ -[Tag|Icon|Name|Category|Cost|HP|AtkCost|AtkPct|CritPct|CritMult|DMG|BlkPct|DMG_res|]; -{gold|items_tiles:220|Золото|30|1|||||||||}; +[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|hit_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; +{gold|items_tiles:220|Золото|30|1|||||||||||||||||||||||||||||||||}; -[Tag|Icon|Name|Category|Cost|HP|AtkCost|AtkPct|CritPct|CritMult|DMG|BlkPct|DMG_res|]; -{club1|items_tiles:126|Деревянная дубина|0|7||5|10|||0-1|||}; -{club3|items_tiles:128|Палица|0|253||6|5|||2-7|||}; -{ironsword0|items_tiles:70|Железный меч|0|12||5|10|||0-1|||}; -{hammer0|items_tiles:129|Железный молот|0|12||5|10|||0-1|||}; -{hammer1|items_tiles:129|Большой молот|0|121||10|5|||4-7|||}; -{dagger0|items_tiles:84|Железный кинжал|0|12||5|10|||0-1|||}; -{dagger1|items_tiles:84|Острый железный кинжал|0|53||4|20|||1-2|||}; -{dagger2|items_tiles:84|Превосходный железный кинжал|0|70||4|25|||1-2|||}; -{shortsword1|items_tiles:85|Железный короткий меч|0|78||4|15|||1-2|||}; -{ironsword1|items_tiles:70|Железный меч|0|78||5|10|||1-3|||}; -{ironsword2|items_tiles:71|Длинный меч (железо)|0|121||5|10|||1-4|||}; -{broadsword1|items_tiles:75|Железный палаш|0|251||7|2|||1-10|||}; -{broadsword2|items_tiles:76|Стальной палаш|0|582||6|15|||3-10|||}; -{steelsword1|items_tiles:77|Стальной меч|0|874||4|24|||3-7|||}; -{axe1|items_tiles:140|Топор дровосека|0|24||5|5|||1-3|||}; -{axe2|items_tiles:140|Железный топор|0|312||6|5|||2-5|||}; -{quickdagger1|items_tiles:84|Шустрый кинжал|0|512||3|20|||0|-20||}; +[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|hit_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; +{club1|items_tiles:126|Деревянная дубина|0|7|1||||5|10|||0|1|||||||||||||||||||||||}; +{club3|items_tiles:128|Палица|0|253|1||||6|5|||2|7|||||||||||||||||||||||}; +{ironsword0|items_tiles:70|Железный меч|0|12|1||||5|10|||0|1|||||||||||||||||||||||}; +{hammer0|items_tiles:129|Железный молот|0|12|1||||5|10|||0|1|||||||||||||||||||||||}; +{hammer1|items_tiles:129|Большой молот|0|121|1||||10|5|||4|7|||||||||||||||||||||||}; +{dagger0|items_tiles:84|Железный кинжал|0|12|1||||5|10|||0|1|||||||||||||||||||||||}; +{dagger1|items_tiles:84|Острый железный кинжал|0|53|1||||4|20|||1|2|||||||||||||||||||||||}; +{dagger2|items_tiles:84|Превосходный железный кинжал|0|70|1||||4|25|||1|2|||||||||||||||||||||||}; +{shortsword1|items_tiles:85|Железный короткий меч|0|78|1||||4|15|||1|2|||||||||||||||||||||||}; +{ironsword1|items_tiles:70|Железный меч|0|78|1||||5|10|||1|3|||||||||||||||||||||||}; +{ironsword2|items_tiles:71|Длинный меч (железо)|0|121|1||||5|10|||1|4|||||||||||||||||||||||}; +{broadsword1|items_tiles:75|Железный палаш|0|251|1||||7|2|||1|10|||||||||||||||||||||||}; +{broadsword2|items_tiles:76|Стальной палаш|0|582|1||||6|15|||3|10|||||||||||||||||||||||}; +{steelsword1|items_tiles:77|Стальной меч|0|874|1||||4|24|||3|7|||||||||||||||||||||||}; +{axe1|items_tiles:140|Топор дровосека|0|24|1||||5|5|||1|3|||||||||||||||||||||||}; +{axe2|items_tiles:140|Железный топор|0|312|1||||6|5|||2|5|||||||||||||||||||||||}; +{quickdagger1|items_tiles:84|Шустрый кинжал|0|512|1||||3|20|||0|0|-20||||||||||||||||||||||}; -[Tag|Icon|Name|Category|Cost|HP|AtkCost|AtkPct|CritPct|CritMult|DMG|BlkPct|DMG_res|]; -{ring_dmg1|items_tiles:266|Кольцо урона +1|7|215||||||1|||}; -{ring_dmg2|items_tiles:267|Кольцо урона +2|7|398||||||2|||}; -{ring_dmg5|items_tiles:268|Кольцо урона +5|7|2014||||||5|||}; -{ring_dmg6|items_tiles:269|Кольцо урона +6|7|3186||||||6|||}; -{ring_block1|items_tiles:266|Кольцо защиты +10|7|1239|||||||10||}; -{ring_block2|items_tiles:266|Кольцо защиты +15|7|3866|||||||15||}; -{ring_atkch1|items_tiles:266|Кольцо атаки|7|215|||15||||||}; -{ring1|items_tiles:266|Мировое кольцо|7|13|||||||||}; -{ring2|items_tiles:266|Блестящее кольцо|7|21|||||||||}; -{ring_jinxed1|items_tiles:268|Заговоренное кольцо сопротивления урону|7|229|||||||-9|1|}; +[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|hit_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; +{ring_dmg1|items_tiles:266|Кольцо урона +1|7|215|1||||||||1|1|||||||||||||||||||||||}; +{ring_dmg2|items_tiles:267|Кольцо урона +2|7|398|1||||||||2|2|||||||||||||||||||||||}; +{ring_dmg5|items_tiles:268|Кольцо урона +5|7|2014|1||||||||5|5|||||||||||||||||||||||}; +{ring_dmg6|items_tiles:269|Кольцо урона +6|7|3186|1||||||||6|6|||||||||||||||||||||||}; +{ring_block1|items_tiles:266|Кольцо защиты +10|7|1239|1||||||||||10||||||||||||||||||||||}; +{ring_block2|items_tiles:266|Кольцо защиты +15|7|3866|1||||||||||15||||||||||||||||||||||}; +{ring_atkch1|items_tiles:266|Кольцо атаки|7|215|1|||||15|||||||||||||||||||||||||||}; +{ring1|items_tiles:266|Мировое кольцо|7|13|||||||||||||||||||||||||||||||||}; +{ring2|items_tiles:266|Блестящее кольцо|7|21|||||||||||||||||||||||||||||||||}; +{ring_jinxed1|items_tiles:268|Заговоренное кольцо сопротивления урону|7|229|1||||||||||-9|1|||||||||||||||||||||}; -[Tag|Icon|Name|Category|Cost|HP|AtkCost|AtkPct|CritPct|CritMult|DMG|BlkPct|DMG_res|]; -{jewel_fallhaven|items_tiles:272|Жемчужина Фоллхейвена|6|3125||-1|||||||}; -{necklace_shield1|items_tiles:273|Защитное ожерелье|6|935|||||||9||}; -{necklace_shield2|items_tiles:273|Защитное ожерелье|6|1255|||||||12||}; +[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|hit_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; +{jewel_fallhaven|items_tiles:272|Жемчужина Фоллхейвена|6|3125|1||||-1||||||||||||||||||||||||||||}; +{necklace_shield1|items_tiles:273|Защитное ожерелье|6|935|1||||||||||9||||||||||||||||||||||}; +{necklace_shield2|items_tiles:273|Защитное ожерелье|6|1255|1||||||||||12||||||||||||||||||||||}; -[Tag|Icon|Name|Category|Cost|HP|AtkCost|AtkPct|CritPct|CritMult|DMG|BlkPct|DMG_res|]; -{shirt1|items_tiles:182|Рубаха|3|16|||||||2||}; -{shirt2|items_tiles:182|Красивая рубаха|3|72|||||||5||}; -{shirt_dmgresist|items_tiles:183|Кожаная рубаха|3|1633|||||||5|1|}; -{armor1|items_tiles:183|Кожаная броня|3|464|||||||8||}; -{armor2|items_tiles:183|Усиленная кожаная броня|3|624|||||||9||}; -{armor3|items_tiles:184|Крепкая кожаная броня|3|2407|||||||13||}; -{armor4|items_tiles:184|Улучшеная кожаная броня|3|3866|||||||15||}; -{hat1|items_tiles:189|Зеленая шляпа|2|13|||||||1||}; -{hat2|items_tiles:189|Красивая зеленая шляпа|2|25|||||||2||}; -{hat3|items_tiles:192|Кожаный шлем|2|72|||||||5||}; -{hat4|items_tiles:192|Улучшеный кожаный шлем|2|146|||||||6||}; -{gloves1|items_tiles:203|Кожаные перчатки|4|23|||||||3||}; -{gloves2|items_tiles:203|Улучшеные кожаные перчатки|4|38|||||||4||}; -{gloves3|items_tiles:204|Перчатки из змеиной кожи|4|72|||||||5||}; -{gloves4|items_tiles:204|Улучшеные перчатки из змеиной кожи|4|146|||||||6||}; -{shield1|items_tiles:168|Деревянный щит|1|72|||-5||||5||}; -{shield3|items_tiles:169|Усиленный деревянный щит|1|226|||-5||||7||}; -{shield4|items_tiles:170|Большой деревянный щит|1|464|||-5||||8||}; -{shield5|items_tiles:170|Большой деревянный щит усиленный|1|624|||-4||||9||}; -{boots1|items_tiles:196|Кожаные сапоги|5|23|||||||3||}; -{boots2|items_tiles:196|Отличные кожаные сапоги|5|38|||||||4||}; -{boots3|items_tiles:197|Сапоги из змеиной кожи|5|146|||||||6||}; -{boots5|items_tiles:198|Укрепленные сапоги|5|226|||||||7||}; -{gloves_attack1|items_tiles:203|Перчатки быстрой атаки|4|150|||15||||-9||}; -{gloves_attack2|items_tiles:203|Отличные перчатки быстрой атаки|4|221|||17||||-9||}; +[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|hit_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; +{shirt1|items_tiles:182|Рубаха|3|16|1||||||||||2||||||||||||||||||||||}; +{shirt2|items_tiles:182|Красивая рубаха|3|72|1||||||||||5||||||||||||||||||||||}; +{shirt_dmgresist|items_tiles:183|Кожаная рубаха|3|1633|1||||||||||5|1|||||||||||||||||||||}; +{armor1|items_tiles:183|Кожаная броня|3|464|1||||||||||8||||||||||||||||||||||}; +{armor2|items_tiles:183|Усиленная кожаная броня|3|624|1||||||||||9||||||||||||||||||||||}; +{armor3|items_tiles:184|Крепкая кожаная броня|3|2407|1||||||||||13||||||||||||||||||||||}; +{armor4|items_tiles:184|Улучшеная кожаная броня|3|3866|1||||||||||15||||||||||||||||||||||}; +{hat1|items_tiles:189|Зеленая шляпа|2|13|1||||||||||1||||||||||||||||||||||}; +{hat2|items_tiles:189|Красивая зеленая шляпа|2|25|1||||||||||2||||||||||||||||||||||}; +{hat3|items_tiles:192|Кожаный шлем|2|72|1||||||||||5||||||||||||||||||||||}; +{hat4|items_tiles:192|Улучшеный кожаный шлем|2|146|1||||||||||6||||||||||||||||||||||}; +{gloves1|items_tiles:203|Кожаные перчатки|4|23|1||||||||||3||||||||||||||||||||||}; +{gloves2|items_tiles:203|Улучшеные кожаные перчатки|4|38|1||||||||||4||||||||||||||||||||||}; +{gloves3|items_tiles:204|Перчатки из змеиной кожи|4|72|1||||||||||5||||||||||||||||||||||}; +{gloves4|items_tiles:204|Улучшеные перчатки из змеиной кожи|4|146|1||||||||||6||||||||||||||||||||||}; +{shield1|items_tiles:168|Деревянный щит|1|72|1|||||-5|||||5||||||||||||||||||||||}; +{shield3|items_tiles:169|Усиленный деревянный щит|1|226|1|||||-5|||||7||||||||||||||||||||||}; +{shield4|items_tiles:170|Большой деревянный щит|1|464|1|||||-5|||||8||||||||||||||||||||||}; +{shield5|items_tiles:170|Большой деревянный щит усиленный|1|624|1|||||-4|||||9||||||||||||||||||||||}; +{boots1|items_tiles:196|Кожаные сапоги|5|23|1||||||||||3||||||||||||||||||||||}; +{boots2|items_tiles:196|Отличные кожаные сапоги|5|38|1||||||||||4||||||||||||||||||||||}; +{boots3|items_tiles:197|Сапоги из змеиной кожи|5|146|1||||||||||6||||||||||||||||||||||}; +{boots5|items_tiles:198|Укрепленные сапоги|5|226|1||||||||||7||||||||||||||||||||||}; +{gloves_attack1|items_tiles:203|Перчатки быстрой атаки|4|150|1|||||15|||||-9||||||||||||||||||||||}; +{gloves_attack2|items_tiles:203|Отличные перчатки быстрой атаки|4|221|1|||||17|||||-9||||||||||||||||||||||}; -[Tag|Icon|Name|Category|Cost|HP|AtkCost|AtkPct|CritPct|CritMult|DMG|BlkPct|DMG_res|]; -{clay|items_tiles:289|Комок глины|31|1|||||||||}; -{rock|items_tiles:238|Камушек|31|1|||||||||}; -{gem1|items_tiles:210|Сваровски|31|2|||||||||}; -{gem2|items_tiles:211|Рубин|31|6|||||||||}; -{gem3|items_tiles:212|Отполированная драгоценность|31|8|||||||||}; -{gem4|items_tiles:213|Потертая драгоценность|31|13|||||||||}; -{gem5|items_tiles:215|Блестящая драгоценность|31|15|||||||||}; -{gem6|items_tiles:214|Мерцающая драгоценность|31|26|||||||||}; -{gem8|items_tiles:330|Бриллиант|31|68|||||||||}; +[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|hit_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; +{clay|items_tiles:289|Комок глины|31|1|||||||||||||||||||||||||||||||||}; +{rock|items_tiles:238|Камушек|31|1|||||||||||||||||||||||||||||||||}; +{gem1|items_tiles:210|Сваровски|31|2|||||||||||||||||||||||||||||||||}; +{gem2|items_tiles:211|Рубин|31|6|||||||||||||||||||||||||||||||||}; +{gem3|items_tiles:212|Отполированная драгоценность|31|8|||||||||||||||||||||||||||||||||}; +{gem4|items_tiles:213|Потертая драгоценность|31|13|||||||||||||||||||||||||||||||||}; +{gem5|items_tiles:215|Блестящая драгоценность|31|15|||||||||||||||||||||||||||||||||}; +{gem6|items_tiles:214|Мерцающая драгоценность|31|26|||||||||||||||||||||||||||||||||}; +{gem8|items_tiles:330|Бриллиант|31|68|||||||||||||||||||||||||||||||||}; diff --git a/AndorsTrail/res/values-ru/questlist.xml b/AndorsTrail/res/values-ru/questlist.xml index f7c084e73..6267bafca 100644 --- a/AndorsTrail/res/values-ru/questlist.xml +++ b/AndorsTrail/res/values-ru/questlist.xml @@ -2,22 +2,22 @@ -[ID|Name|DisplayText|ShowInLog|]; -{andor|Поиски Эндора|Узнать куда отправился Эндор.|1|}; -{mikhail_bread|Хлеб к завтраку||1|}; -{mikhail_rats|Крысы!||1|}; -{leta|Пропавший муж||1|}; -{odair|Крысиное заражение||1|}; -{bonemeal|Запрещенные вещества||1|}; -{crossglen|TODO|Не закончено.|0|}; -{jan|Погибшие друзья||1|}; -{bucus|Ключ для Лютора||1|}; -{fallhavendrunk|Рассказ пьяницы||1|}; -{calomyran|Секрет Каломирана||1|}; -{fallhaventavern|Аренда комнаты|Снять комнату в таверне Фаллхэвена.|0|}; -{nocmar|Утраченные сокровища||1|}; -{arcir|Элифара|Еще нет.|0|}; -{flagstone|Древние секреты|Расследовать тайны Флагстона.|1|}; -{vacor|Пропавшие части|Помоги Вакору найти недостающие фрагменты его разорванного заклинания.|1|}; +[id|name|showInLog|stages[progress|logText|rewardExperience|finishesQuest|]|]; +{andor|Поиски Эндора|1|{{1|Мой отец Михаил говорит, что Эндор не был дома со вчерашнего дня. Я должен поискать его в деревне||0|}{10|Леонид сказал мне, что он видел Эндора говорящего с Груилем. Я должен пойти спросить Груиля, может он знает больше.||0|}{20|Груиль хочет, чтобы я принес ему ядовитую железу. Тогда он может рассказать больше. Он сказал мне, что некоторые ядовитые змеи имеют такие железы.||0|}{30|Груиль сказал мне, что Эндор искал кого-то называемого Умар. Я должен пойти спросить его друга Гаела в Фоллхейвене, на востоке.||0|}{40|Я поговорил с Гаелом в Фоллхейвене. Он рассказал что видел Бикуса и спрашивал о гильдии воров.||0|}{50|Бикус позволил мне пройти в подвал заброшенного дома в Фоллхейвене. Я должен поговорить с Умаром.||0|}}|}; +{mikhail_bread|Хлеб к завтраку|1|{{100|Я должен принести хлеб Михаилу.||1|}{10|Михаил просил купить буханку хлеба у Мары в таверне.||0|}}|}; +{mikhail_rats|Крысы!|1|{{100|Нужно убить двух крыс в огороде.|20|1|}{10|Михаил хочет что бы я осмотрел наш огород на наличие крыс. Я должен убить крыс в нашем саду и вернуться к Михаилу. Если я буду ранен, я могу вернуться в постель и отдохнуть, чтобы восстановить свое здоровье.||0|}}|}; +{leta|Пропавший муж|1|{{10|Лета из деревни Долина креста хочет, чтобы я поискал ее мужа Оромира.||0|}{20|Я нашел Оромира в деревне Долина креста, он скрывался от своей жены Леты.||0|}{100|Я сказал Лете где прячется Оромир.|30|1|}}|}; +{odair|Крысиное заражение|1|{{10|Одаир хочет, чтобы я очистил пещеру поставки в деревне Долина креста от крыс. В частности, я должен убить большую крысу и вернуться к Одаиру.||0|}{100|Я помог Одаиру очистить пещеры поставки от крыс в деревне Долина креста.|30|1|}}|}; +{bonemeal|Запрещенные вещества|1|{{10|Леонид в мэрии Долины креста сказал мне, что было нарушение в деревне несколько недель назад. По-видимому, Лорд Геомир запретил любое использование костной муки, как исцеляющего вещества. \n\n Фарал, городской священник, должен знать больше.||0|}{20|Фарал не хочет говорить о костной муке. Я мог бы уговорить его принеся ему 5 крыльев насекомых.||0|}{30|Фарал сказал мне, что костная мука является очень мощным, исцеляющим веществом, и весьма расстроен тем, что оно теперь запрещено. Я должен найти Форонира в Фоллхейвене, если я хочу узнать больше. Нужно сказать ему пароль \"Сияние тени\".||0|}{40|Я поговорил с Форониром в Фоллхейвене. Он сможет смешать мне зелье из костной муки, если я принесу ему 5 костей скелета. В заброшенном доме к северу от Фоллхейвена должно быть несколько скелетов.||0|}{100|Я принес кости Форониру. Он теперь в состоянии снабдить меня зельем из костной муки.\nЯ должен быть осторожным при использовании, так как Лорд Геомир запретила его приминение.|90|1|}}|}; +{crossglen|TODO|0|{{1|||0|}}|}; +{jan|Погибшие друзья|1|{{10|Ян рассказал мне свою историю о нем, Гандиру и Ироготу. Три бывших друга пошли в дыру вырыть скрытые сокровища, но они поссорились и начали драться. Ирогот убил Гандира в своем гневе. \nЯ должен забрать кольцо Гандира у Ирогота, и отдать Яну, когда оно будет у меня.||0|}{100|Я принес Яну кольцо Гандира, и отомстил за его друга. Ирогот мертв.|150|1|}}|}; +{bucus|Ключ для Лютора|1|{{10|Бикус из Фоллхейвена что-то зает об Эндоре. Он хочет что-бы я принес ему ключ Лютера из катакомб под Фоллхейвенской церковью.||0|}{20|Катакомбы под Фоллхейвенской церковью заперты. Афамир только у него есть право и мужество спускаться в них. Я должен увидеться с ним на юго-западе от церкви.||0|}{30|Афамир просит принести ему немного мяса, может тогда он сможет поговорить со мной.||0|}{40|Я принес немного мяса Афамиру.|70|0|}{50|Афамир дал мне разрешение спуститься в катакомбы под Фоллхейвенской церковью.||0|}{100|Я принес Бикусу ключ Лютора.|215|1|}}|}; +{fallhavendrunk|Рассказ пьяницы|1|{{10|Пьяница возле тавены в Фоллхейвене начал рассказывать историю, но вдруг попросил принести ему эль. Я незнаю приведет ли его история к чему либо.||0|}{100|Пьяница рассказал что путешествовал с Унмиром. Я должен поговорить с Унмиром.||1|}}|}; +{calomyran|Секрет Каломирана|1|{{10|Пожилой мужчина на улице в Фоллхейвене потерял книгу \"Секреты Каломирана\". Я должен найти ее. Может она в доме Арсира на юге?||0|}{20|Я нашел вырванную страницу из книги \"Секреты Каломирана\" с именем \'Ларкал\', записанным на ней.||0|}{100|Я вернул старику книгу.|60|1|}}|}; +{fallhaventavern|Аренда комнаты|0|{{10|||1|}}|}; +{nocmar|Утраченные сокровища|1|{{10|Унмир сказал мне, что когда-то был авантюристом и дал мне намек идти поговорить с Нокмаром. Его дом на юго-западе от таверны в Фоллхейвене.||0|}{20|Нокмар сказал мне, что он когда-то был кузнецом. Но Лорд Геомир запретил использование сердечной стали, и теперь он не может ковать свое фирменное оружие.\nЕсли я смогу найти сердечную сталь и принести её Нокмару, он снова сможет ковать.||0|}{200|Я принес сердечную сталь Нокмару. Теперь у него появились изделия из неё.|120|1|}}|}; +{arcir|Элифара|0|{{10|||0|}}|}; +{flagstone|Древние секреты|1|{{10|Я встретил стражника у крепости называемой Флагстоун. Он рассказал мне о Флагстоуне, который раньше был лагерем для беглых рабов из Горы Галмор. В последнее время наблюдается большая активность нежити и монстров в Флагстоуне. Я решил исследовать источник нежити и монстров. Страж сказал мне, чтобы возвратился к нему, если мне понадобится помощь.||0|}{20|Я обнаружил туннель под Флагстоуном, который, кажется, ведет к большой пещере. Пещера охраняется демоном, так что я даже не могу подойти. Может быть, страж за пределами Флагстоуна знает больше?||0|}{30|Страж рассказал мне, что бывший надзиратель носил ожерелье, которым он дорожил. На ожерелье, вероятно, слова, необходимые для подхода мимо демона. Я должен вернуться к стражу, чтобы расшифровать сообщение на ожерелье, когда я найду его.||0|}{31|Я нашел бывшего надзирателя Флагстоуна на верхнем уровне.||0|}{40|Я узнал слова необходимые для подхода мимо демона под Флагстоуном. \"Дневная Тень\".|160|0|}{50|Глубоко под Флагстоуном, я нашел источник заражения нежити. Существа рождаются из горя бывших узников Флагстоуна.||0|}{60|Я нашел одного заключенного, Нараеля, жившего глубоко под Флагстоуном. Нараель был гражданином города Нор. Он слишком слаб, чтобы ходить, но если я смогу найти его жену в г.Нор, я буду щедро награжден.|210|1|}}|}; +{vacor|Пропавшие части|1|{{10|Маг, назвавшийся Вакором, на юго-западе Фаллхейвена пытался создать Заклинание разрыва.\nC ним что-то не так, он очень одержим своим заклинанием. Бормотал про какую-то силу.||0|}{20|Вакор хочет, чтобы я принес ему четыре части Заклинания разрыва, он утверждает, что они были украдены у него. Бандиты должны быть где-то к югу от Фоллхейвена.||0|}{30|Я принес четыре части Pаклинания разрыва Вакору.|120|0|}{40|Вакор рассказал мне о своем бывшем ученике Унзеле, что мешает ему. Он попросил меня убить Унзела и принести его перстень, как доказательство. Унзел может быть на юго-западе от Фоллхейвена||0|}{50|Унзел дал мне выбор, идти с ним, или с Вакором.||0|}{51|Я выбрал сторону Унзела. Я должен отправиться на юго-запад Фоллхейвена и поговорить с Вакором о Унзеле и Тени.||0|}{53|Я начал битву с Унзелем. Я должен принести его перстень Вакору.||0|}{54|Я начал битву с Вакором. Я должен принести его перстень Унзелу.||0|}{60|Я убил Унзела и сообщил об этом Вакору.|160|1|}{61|Я убил Вакора и сообщил об этом Унзелу.|160|1|}}|}; diff --git a/AndorsTrail/res/values-ru/questlog.xml b/AndorsTrail/res/values-ru/questlog.xml deleted file mode 100644 index 6bb99310e..000000000 --- a/AndorsTrail/res/values-ru/questlog.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - -[QuestID|Progress|LogText|RewardExp|ResolvesQuest|]; -{andor|1|Мой отец Михаил говорит, что Эндор не был дома со вчерашнего дня. Я должен поискать его в деревне||0|}; -{mikhail_bread|100|Я должен принести хлеб Михаилу.||1|}; -{mikhail_bread|10|Михаил просил купить буханку хлеба у Мары в таверне.||0|}; -{mikhail_rats|100|Нужно убить двух крыс в огороде.|20|1|}; -{mikhail_rats|10|Михаил хочет что бы я осмотрел наш огород на наличие крыс. Я должен убить крыс в нашем саду и вернуться к Михаилу. Если я буду ранен, я могу вернуться в постель и отдохнуть, чтобы восстановить свое здоровье.||0|}; -{leta|10|Лета из деревни Долина креста хочет, чтобы я поискал ее мужа Оромира.||0|}; -{leta|20|Я нашел Оромира в деревне Долина креста, он скрывался от своей жены Леты.||0|}; -{leta|100|Я сказал Лете где прячется Оромир.|30|1|}; -{odair|10|Одаир хочет, чтобы я очистил пещеру поставки в деревне Долина креста от крыс. В частности, я должен убить большую крысу и вернуться к Одаиру.||0|}; -{odair|100|Я помог Одаиру очистить пещеры поставки от крыс в деревне Долина креста.|30|1|}; -{bonemeal|10|Леонид в мэрии Долины креста сказал мне, что было нарушение в деревне несколько недель назад. По-видимому, Лорд Геомир запретил любое использование костной муки, как исцеляющего вещества. \n\n Фарал, городской священник, должен знать больше.||0|}; -{bonemeal|20|Фарал не хочет говорить о костной муке. Я мог бы уговорить его принеся ему 5 крыльев насекомых.||0|}; -{bonemeal|30|Фарал сказал мне, что костная мука является очень мощным, исцеляющим веществом, и весьма расстроен тем, что оно теперь запрещено. Я должен найти Форонира в Фоллхейвене, если я хочу узнать больше. Нужно сказать ему пароль \"Сияние тени\".||0|}; -{bonemeal|40|Я поговорил с Форониром в Фоллхейвене. Он сможет смешать мне зелье из костной муки, если я принесу ему 5 костей скелета. В заброшенном доме к северу от Фоллхейвена должно быть несколько скелетов.||0|}; -{bonemeal|100|Я принес кости Форониру. Он теперь в состоянии снабдить меня зельем из костной муки.\nЯ должен быть осторожным при использовании, так как Лорд Геомир запретила его приминение.|90|1|}; -{andor|10|Леонид сказал мне, что он видел Эндора говорящего с Груилем. Я должен пойти спросить Груиля, может он знает больше.||0|}; -{andor|20|Груиль хочет, чтобы я принес ему ядовитую железу. Тогда он может рассказать больше. Он сказал мне, что некоторые ядовитые змеи имеют такие железы.||0|}; -{andor|30|Груиль сказал мне, что Эндор искал кого-то называемого Умар. Я должен пойти спросить его друга Гаела в Фоллхейвене, на востоке.||0|}; -{crossglen|1|||0|}; -{jan|10|Ян рассказал мне свою историю о нем, Гандиру и Ироготу. Три бывших друга пошли в дыру вырыть скрытые сокровища, но они поссорились и начали драться. Ирогот убил Гандира в своем гневе. \nЯ должен забрать кольцо Гандира у Ирогота, и отдать Яну, когда оно будет у меня.||0|}; -{jan|100|Я принес Яну кольцо Гандира, и отомстил за его друга. Ирогот мертв.|150|1|}; - - - -[QuestID|Progress|LogText|RewardExp|ResolvesQuest|]; -{bucus|10|Бикус из Фоллхейвена что-то зает об Эндоре. Он хочет что-бы я принес ему ключ Лютера из катакомб под Фоллхейвенской церковью.||0|}; -{bucus|20|Катакомбы под Фоллхейвенской церковью заперты. Афамир только у него есть право и мужество спускаться в них. Я должен увидеться с ним на юго-западе от церкви.||0|}; -{bucus|30|Афамир просит принести ему немного мяса, может тогда он сможет поговорить со мной.||0|}; -{bucus|40|Я принес немного мяса Афамиру.|70|0|}; -{bucus|50|Афамир дал мне разрешение спуститься в катакомбы под Фоллхейвенской церковью.||0|}; -{bucus|100|Я принес Бикусу ключ Лютора.|215|1|}; -{andor|40|Я поговорил с Гаелом в Фоллхейвене. Он рассказал что видел Бикуса и спрашивал о гильдии воров.||0|}; -{andor|50|Бикус позволил мне пройти в подвал заброшенного дома в Фоллхейвене. Я должен поговорить с Умаром.||0|}; -{fallhavendrunk|10|Пьяница возле тавены в Фоллхейвене начал рассказывать историю, но вдруг попросил принести ему эль. Я незнаю приведет ли его история к чему либо.||0|}; -{fallhavendrunk|100|Пьяница рассказал что путешествовал с Унмиром. Я должен поговорить с Унмиром.||1|}; -{nocmar|10|Унмир сказал мне, что когда-то был авантюристом и дал мне намек идти поговорить с Нокмаром. Его дом на юго-западе от таверны в Фоллхейвене.||0|}; -{nocmar|20|Нокмар сказал мне, что он когда-то был кузнецом. Но Лорд Геомир запретил использование сердечной стали, и теперь он не может ковать свое фирменное оружие.\nЕсли я смогу найти сердечную сталь и принести её Нокмару, он снова сможет ковать.||0|}; -{nocmar|200|Я принес сердечную сталь Нокмару. Теперь у него появились изделия из неё.|120|1|}; -{fallhaventavern|10|||1|}; -{arcir|10|||0|}; -{calomyran|10|Пожилой мужчина на улице в Фоллхейвене потерял книгу \"Секреты Каломирана\". Я должен найти ее. Может она в доме Арсира на юге?||0|}; -{calomyran|20|Я нашел вырванную страницу из книги \"Секреты Каломирана\" с именем \'Ларкал\', записанным на ней.||0|}; -{calomyran|100|Я вернул старику книгу.|60|1|}; - - - -[QuestID|Progress|LogText|RewardExp|ResolvesQuest|]; -{vacor|10|Маг, назвавшийся Вакором, на юго-западе Фаллхейвена пытался создать Заклинание разрыва.\nC ним что-то не так, он очень одержим своим заклинанием. Бормотал про какую-то силу.||0|}; -{vacor|20|Вакор хочет, чтобы я принес ему четыре части Заклинания разрыва, он утверждает, что они были украдены у него. Бандиты должны быть где-то к югу от Фоллхейвена.||0|}; -{vacor|30|Я принес четыре части Pаклинания разрыва Вакору.|120|0|}; -{vacor|40|Вакор рассказал мне о своем бывшем ученике Унзеле, что мешает ему. Он попросил меня убить Унзела и принести его перстень, как доказательство. Унзел может быть на юго-западе от Фоллхейвена||0|}; -{vacor|50|Унзел дал мне выбор, идти с ним, или с Вакором.||0|}; -{vacor|51|Я выбрал сторону Унзела. Я должен отправиться на юго-запад Фоллхейвена и поговорить с Вакором о Унзеле и Тени.||0|}; -{vacor|53|Я начал битву с Унзелем. Я должен принести его перстень Вакору.||0|}; -{vacor|54|Я начал битву с Вакором. Я должен принести его перстень Унзелу.||0|}; -{vacor|60|Я убил Унзела и сообщил об этом Вакору.|160|1|}; -{vacor|61|Я убил Вакора и сообщил об этом Унзелу.|160|1|}; - - - -[QuestID|Progress|LogText|RewardExp|ResolvesQuest|]; -{flagstone|10|Я встретил стражника у крепости называемой Флагстоун. Он рассказал мне о Флагстоуне, который раньше был лагерем для беглых рабов из Горы Галмор. В последнее время наблюдается большая активность нежити и монстров в Флагстоуне. Я решил исследовать источник нежити и монстров. Страж сказал мне, чтобы возвратился к нему, если мне понадобится помощь.||0|}; -{flagstone|20|Я обнаружил туннель под Флагстоуном, который, кажется, ведет к большой пещере. Пещера охраняется демоном, так что я даже не могу подойти. Может быть, страж за пределами Флагстоуна знает больше?||0|}; -{flagstone|30|Страж рассказал мне, что бывший надзиратель носил ожерелье, которым он дорожил. На ожерелье, вероятно, слова, необходимые для подхода мимо демона. Я должен вернуться к стражу, чтобы расшифровать сообщение на ожерелье, когда я найду его.||0|}; -{flagstone|31|Я нашел бывшего надзирателя Флагстоуна на верхнем уровне.||0|}; -{flagstone|40|Я узнал слова необходимые для подхода мимо демона под Флагстоуном. \"Дневная Тень\".|160|0|}; -{flagstone|50|Глубоко под Флагстоуном, я нашел источник заражения нежити. Существа рождаются из горя бывших узников Флагстоуна.||0|}; -{flagstone|60|Я нашел одного заключенного, Нараеля, жившего глубоко под Флагстоуном. Нараель был гражданином города Нор. Он слишком слаб, чтобы ходить, но если я смогу найти его жену в г.Нор, я буду щедро награжден.|210|1|}; - - - diff --git a/AndorsTrail/res/values/droplist.xml b/AndorsTrail/res/values/droplist.xml index e1d487a55..f35f020f1 100644 --- a/AndorsTrail/res/values/droplist.xml +++ b/AndorsTrail/res/values/droplist.xml @@ -2,392 +2,109 @@ -[Droplist|ItemTag|Frequency|Quantity|]; -{debuglist1|gold|100|3|}; -{debuglist1|dagger0|100|1|}; -{debuglist1|shirt1|100|1|}; -{debuglist1|club3|100|1|}; -{debugshop1|club1|100|10|}; -{debugshop1|club3|100|5|}; -{debugshop1|hammer0|100|5|}; -{debugshop1|hammer1|100|5|}; -{debugshop1|shirt1|100|5|}; -{debugshop1|shirt2|100|5|}; -{debugshop1|dagger0|100|5|}; +[id|items[itemID|quantity_Min|quantity_Max|chance|]|]; +{debugshop1|{{club1|10|10|100|}{club3|5|5|100|}{hammer0|5|5|100|}{hammer1|5|5|100|}{shirt1|5|5|100|}{shirt2|5|5|100|}{dagger0|5|5|100|}}|}; +{debuglist1|{{gold|3|3|100|}{dagger0|1|1|100|}{shirt1|1|1|100|}{club3|1|1|100|}}|}; -{startitems|gold|100|12|}; -{startitems|club1|100|1|}; -{startitems|shirt1|100|1|}; -{startitems|dagger0|100|1|}; +{startitems|{{gold|12|12|100|}{club1|1|1|100|}{shirt1|1|1|100|}{dagger0|1|1|100|}}|}; -[Droplist|ItemTag|Frequency|Quantity|]; -{startitems|gold|100|12|}; -{startitems|club1|100|1|}; -{startitems|shirt1|100|1|}; -{startitems|ring_mikhail|100|1|}; -{startitems2|gold|100|3|}; +[id|items[itemID|quantity_Min|quantity_Max|chance|]|]; +{startitems|{{gold|12|12|100|}{club1|1|1|100|}{shirt1|1|1|100|}{ring_mikhail|1|1|100|}}|}; -{startitems2|debug_potion_1|100|10|}; -{startitems2|debug_potion_2|100|10|}; -{startitems2|debug_ring_1|100|1|}; -{startitems2|debug_ring_2|100|1|}; -{startitems2|debug_ring_3|100|1|}; -{startitems2|debug_ring_4|100|1|}; -{startitems2|debug_ring_5|100|1|}; -{startitems2|debug_ring_6|100|1|}; -{startitems2|debug_ring_7|100|1|}; -{startitems2|debug_ring_8|100|1|}; +{startitems2|{{gold|3|3|100|}{debug_potion_1|10|10|100|}{debug_potion_2|10|10|100|}{debug_ring_1|1|1|100|}{debug_ring_2|1|1|100|}{debug_ring_3|1|1|100|}{debug_ring_4|1|1|100|}{debug_ring_5|1|1|100|}{debug_ring_6|1|1|100|}{debug_ring_7|1|1|100|}{debug_ring_8|1|1|100|}}|}; -{gold20|gold|100|20|}; -{gold51|gold|100|51|}; -{gold-10|gold|100|-10|}; -{gold200|gold|100|200|}; -{shop_priest|health_minor|100|10|}; -{shop_priest|health|100|10|}; -{shop_priest|health_major|100|10|}; -{shop_priest|ring_dmg1|100|1|}; -{shop_priest|ring_dmg2|100|1|}; -{shop_priest|ring_block1|100|1|}; -{shop_priest|ring_atkch1|100|1|}; -{shop_food|apple_green|100|5|}; -{shop_food|meat|100|5|}; -{shop_food|meat_cooked|100|5|}; -{shop_food|Carrot|100|5|}; -{shop_food|Bread|100|5|}; -{shop_food|Mushroom|100|5|}; -{shop_food|Eggs|100|5|}; -{shop_food|Mead|100|5|}; -{shop_clothes|shirt1|100|1|}; -{shop_clothes|shirt2|100|1|}; -{shop_clothes|hat1|100|1|}; -{shop_clothes|hat2|100|1|}; -{shop_clothes|gloves1|100|1|}; -{shop_clothes|gloves2|100|1|}; -{shop_clothes|gloves3|100|1|}; -{shop_clothes|gloves4|100|1|}; -{shop_clothes|boots1|100|1|}; -{shop_clothes|boots2|100|1|}; -{shop_clothes|boots3|100|1|}; -{shop_smith|club1|100|1|}; -{shop_smith|club3|100|1|}; -{shop_smith|ironsword0|100|1|}; -{shop_smith|hammer0|100|1|}; -{shop_smith|hammer1|100|1|}; -{shop_smith|dagger0|100|1|}; -{shop_smith|dagger1|100|1|}; -{shop_smith|dagger2|100|1|}; -{shop_smith|shortsword1|100|1|}; -{shop_smith|ironsword1|100|1|}; -{shop_smith|ironsword2|100|1|}; -{shop_smith|broadsword1|100|1|}; -{shop_smith|broadsword2|100|1|}; -{shop_smith|steelsword1|100|1|}; -{shop_smith|axe1|100|1|}; -{shop_smith|axe2|100|1|}; -{shop_smith|armor1|100|1|}; -{shop_smith|armor2|100|1|}; -{shop_smith|armor3|100|1|}; -{shop_smith|shield1|100|1|}; -{shop_smith|shield3|100|1|}; -{shop_smith|shield4|100|1|}; -{shop_smith|shield5|100|1|}; -{shop_smith|boots1|100|1|}; -{shop_smith|boots5|100|1|}; -{shop_smith|hat3|100|1|}; -{shop_smith|hat4|100|1|}; -{shop_thief|shirt1|100|1|}; -{shop_thief|shirt2|100|1|}; -{shop_thief|gem1|100|5|}; -{shop_thief|gem2|100|5|}; -{shop_thief|gem3|100|5|}; -{shop_thief|ring_dmg5|100|1|}; -{shop_thief|ring_dmg6|100|1|}; -{trainingrat|gold|100|0-2|}; -{trainingrat|tail_trainingrat|100|1|}; -{rat|gold|100|2-4|}; -{rat|rat_tail|30|1|}; -{caveratboss|gold|100|10|}; -{caveratboss|tail_caverat|100|1|}; -{caveratboss|gem1|5|1|}; -{wasp|gold|70|2-4|}; -{wasp|insectwing|30|1|}; -{insect|gold|70|2-4|}; -{insect|shell|30|1|}; -{canine|gold|70|3-6|}; -{canine|gem1|5|1|}; -{canine|meat|30|1|}; +{shop_thief|{{shirt1|1|1|100|}{shirt2|1|1|100|}{gem1|5|5|100|}{gem2|5|5|100|}{gem3|5|5|100|}{ring_dmg5|1|1|100|}{ring_dmg6|1|1|100|}}|}; +{shop_priest|{{health_minor|10|10|100|}{health|10|10|100|}{health_major|10|10|100|}{ring_dmg1|1|1|100|}{ring_dmg2|1|1|100|}{ring_block1|1|1|100|}{ring_atkch1|1|1|100|}}|}; +{shop_smith|{{club1|1|1|100|}{club3|1|1|100|}{ironsword0|1|1|100|}{hammer0|1|1|100|}{hammer1|1|1|100|}{dagger0|1|1|100|}{dagger1|1|1|100|}{dagger2|1|1|100|}{shortsword1|1|1|100|}{ironsword1|1|1|100|}{ironsword2|1|1|100|}{broadsword1|1|1|100|}{broadsword2|1|1|100|}{steelsword1|1|1|100|}{axe1|1|1|100|}{axe2|1|1|100|}{armor1|1|1|100|}{armor2|1|1|100|}{armor3|1|1|100|}{shield1|1|1|100|}{shield3|1|1|100|}{shield4|1|1|100|}{shield5|1|1|100|}{boots1|1|1|100|}{boots5|1|1|100|}{hat3|1|1|100|}{hat4|1|1|100|}}|}; +{gold200|{{gold|200|200|100|}}|}; +{rat|{{gold|2|4|100|}{rat_tail|1|1|30|}}|}; +{trainingrat|{{gold|0|2|100|}{tail_trainingrat|1|1|100|}}|}; +{gold20|{{gold|20|20|100|}}|}; +{shop_clothes|{{shirt1|1|1|100|}{shirt2|1|1|100|}{hat1|1|1|100|}{hat2|1|1|100|}{gloves1|1|1|100|}{gloves2|1|1|100|}{gloves3|1|1|100|}{gloves4|1|1|100|}{boots1|1|1|100|}{boots2|1|1|100|}{boots3|1|1|100|}}|}; +{shop_food|{{apple_green|5|5|100|}{meat|5|5|100|}{meat_cooked|5|5|100|}{Carrot|5|5|100|}{Bread|5|5|100|}{Mushroom|5|5|100|}{Eggs|5|5|100|}{Mead|5|5|100|}}|}; +{canine|{{gold|3|6|70|}{gem1|1|1|5|}{meat|1|1|30|}}|}; +{gold-10|{{gold|-10|-10|100|}}|}; +{insect|{{gold|2|4|70|}{shell|1|1|30|}}|}; +{wasp|{{gold|2|4|70|}{insectwing|1|1|30|}}|}; +{gold51|{{gold|51|51|100|}}|}; +{caveratboss|{{gold|10|10|100|}{tail_caverat|1|1|100|}{gem1|1|1|5|}}|}; -{snake|gold|70|3-6|}; -{snake|meat|30|1|}; -{snake|gland|5|1|}; -{lich1|gold|70|5-15|}; -{lich1|gem2|25|1|}; -{lich1|health_minor|25|1|}; -{snakemaster|gold|70|9|}; -{snakemaster|dagger_venom|100|1|}; -{snakemaster|gem3|100|1|}; -{snakemaster|health|100|1|}; -{canineboss|gold|70|7-10|}; -{canineboss|hair|30|1|}; -{canineboss|gem1|25|1|}; -{canineboss|meat|30|1|}; -{canineboss|boots1|25|1|}; -{cavecritter|gold|70|4-8|}; -{cavecritter|gem1|25|1|}; -{cavecritter|claws|30|1|}; -{cavemonster|gold|70|4-12|}; -{cavemonster|gem2|25|1|}; -{cavemonster|hammer0|5|1|}; -{cavemonster|health_minor|25|1|}; -{irogotu|neck_irogotu|100|1|}; -{irogotu|ring_gandir|100|1|}; -{irogotu|health|100|1|}; -{haunt|vial_empty1|25|1|}; -{haunt|gem1|25|1|}; +{cavemonster|{{gold|4|12|70|}{gem2|1|1|25|}{hammer0|1|1|5|}{health_minor|1|1|25|}}|}; +{snake|{{gold|3|6|70|}{meat|1|1|30|}{gland|1|1|5|}}|}; +{haunt|{{vial_empty1|1|1|25|}{gem1|1|1|25|}}|}; +{cavecritter|{{gold|4|8|70|}{gem1|1|1|25|}{claws|1|1|30|}}|}; +{lich1|{{gold|5|15|70|}{gem2|1|1|25|}{health_minor|1|1|25|}}|}; +{irogotu|{{neck_irogotu|1|1|100|}{ring_gandir|1|1|100|}{health|1|1|100|}}|}; +{canineboss|{{gold|7|10|70|}{hair|1|1|30|}{gem1|1|1|25|}{meat|1|1|30|}{boots1|1|1|25|}}|}; +{snakemaster|{{gold|9|9|70|}{dagger_venom|1|1|100|}{gem3|1|1|100|}{health|1|1|100|}}|}; -{nocmar|gem1|25|1|}; -{ganos|ring1|100|1|}; -{ganos|ring2|100|1|}; -{ganos|shirt1|100|1|}; -{ganos|shirt2|100|1|}; -{ganos|gem1|100|5|}; -{ganos|gem2|100|5|}; -{ganos|gem3|100|5|}; -{ganos|quickdagger1|100|1|}; -{fallhaven_clothes|shirt1|100|1|}; -{fallhaven_clothes|shirt2|100|1|}; -{fallhaven_clothes|shirt_dmgresist|100|1|}; -{fallhaven_clothes|ring1|100|1|}; -{fallhaven_clothes|ring2|100|1|}; -{fallhaven_clothes|boots3|100|1|}; -{fallhaven_clothes|gloves_attack1|100|1|}; -{fallhaven_clothes|gloves_attack2|100|1|}; -{fallhaven_clothes|jewel_fallhaven|100|1|}; -{fallhaven_clothes|ring_dmg1|100|1|}; -{fallhaven_clothes|ring_dmg2|100|1|}; -{fallhaven_clothes|ring_block1|100|1|}; -{fallhaven_clothes|ring_atkch1|100|1|}; -{fallhaven_clothes|necklace_shield1|100|1|}; -{fallhaven_clothes|necklace_shield2|100|1|}; -{fallhaven_potions|vial_empty1|100|10|}; -{fallhaven_potions|vial_empty2|100|10|}; -{fallhaven_potions|vial_empty3|100|10|}; -{fallhaven_potions|vial_empty4|100|10|}; -{fallhaven_potions|health_minor|100|10|}; -{fallhaven_potions|health|100|10|}; -{fallhaven_potions|health_major|100|10|}; -{fallhaven_potions|milk|100|10|}; -{fallhaven_potions|rat_tail|100|5|}; -{fallhaven_potions|Radish|100|5|}; -{fallhaven_potions|Strawberry|100|5|}; -{thoronir|bonemeal_potion|100|10|}; -{larcal|gold|70|4-12|}; -{larcal|club1|100|1|}; -{larcal|calomyran_secrets|100|1|}; -{larcal|milk|100|1|}; -{catacombguard|gold|70|4-12|}; -{catacombguard|gem2|25|1|}; -{catacombguard|health|25|1|}; -{catacombguard|vial_empty2|25|1|}; -{catacombguard|gloves1|5|1|}; -{catacombrat|gold|70|1-5|}; -{catacombrat|gem1|25|1|}; -{catacombrat|vial_empty1|25|1|}; -{luthor|gold|70|1-5|}; -{luthor|gem1|100|1|}; -{luthor|key_luthor|100|1|}; -{luthor|health_major|100|1|}; -{skeleton|gold|70|16-23|}; -{skeleton|gem2|25|1|}; -{skeleton|health|25|1|}; -{skeleton|bone|30|1|}; -{skeletonmaster|gold|70|16-30|}; -{skeletonmaster|gem3|25|1|}; -{skeletonmaster|health|25|1|}; -{skeletonmaster|bone|100|1|}; -{skeletonmaster|shield1|25|1|}; +{catacombrat|{{gold|1|5|70|}{gem1|1|1|25|}{vial_empty1|1|1|25|}}|}; +{skeleton|{{gold|16|23|70|}{gem2|1|1|25|}{health|1|1|25|}{bone|1|1|30|}}|}; +{ganos|{{ring1|1|1|100|}{ring2|1|1|100|}{shirt1|1|1|100|}{shirt2|1|1|100|}{gem1|5|5|100|}{gem2|5|5|100|}{gem3|5|5|100|}{quickdagger1|1|1|100|}}|}; +{skeletonmaster|{{gold|16|30|70|}{gem3|1|1|25|}{health|1|1|25|}{bone|1|1|100|}{shield1|1|1|25|}}|}; +{luthor|{{gold|1|5|70|}{gem1|1|1|100|}{key_luthor|1|1|100|}{health_major|1|1|100|}}|}; +{thoronir|{{bonemeal_potion|10|10|100|}}|}; +{larcal|{{gold|4|12|70|}{club1|1|1|100|}{calomyran_secrets|1|1|100|}{milk|1|1|100|}}|}; +{catacombguard|{{gold|4|12|70|}{gem2|1|1|25|}{health|1|1|25|}{vial_empty2|1|1|25|}{gloves1|1|1|5|}}|}; +{fallhaven_clothes|{{shirt1|1|1|100|}{shirt2|1|1|100|}{shirt_dmgresist|1|1|100|}{ring1|1|1|100|}{ring2|1|1|100|}{boots3|1|1|100|}{gloves_attack1|1|1|100|}{gloves_attack2|1|1|100|}{jewel_fallhaven|1|1|100|}{ring_dmg1|1|1|100|}{ring_dmg2|1|1|100|}{ring_block1|1|1|100|}{ring_atkch1|1|1|100|}{necklace_shield1|1|1|100|}{necklace_shield2|1|1|100|}}|}; +{fallhaven_potions|{{vial_empty1|10|10|100|}{vial_empty2|10|10|100|}{vial_empty3|10|10|100|}{vial_empty4|10|10|100|}{health_minor|10|10|100|}{health|10|10|100|}{health_major|10|10|100|}{milk|10|10|100|}{rat_tail|5|5|100|}{Radish|5|5|100|}{Strawberry|5|5|100|}}|}; +{nocmar|{{gem1|1|1|25|}}|}; -[Droplist|ItemTag|Frequency|Quantity|]; -{unzel|gold|100|16-30|}; -{unzel|health|100|1|}; -{unzel|ring_unzel|100|1|}; -{unzel|boots_unzel|100|1|}; -{vacor|gold|100|16-30|}; -{vacor|health|100|1|}; -{vacor|ring_vacor|100|1|}; -{vacor|boots_vacor|100|1|}; -{bandit1|gold|70|4-41|}; -{fallhaven_bandit|gold|100|4-41|}; -{fallhaven_bandit|vacor_spell|100|1|}; -{snake2|gold|70|7-12|}; -{snake2|meat|30|1|}; -{snake2|gland|5|1|}; -{undead1|gold|70|16-23|}; -{undead1|gem2|25|1|}; -{undead1|health|25|1|}; -{undead1|ironsword1|25|1|}; -{prisoner|rock|100|1|}; -{skeleton2|gold|70|16-23|}; -{skeleton2|gem2|25|1|}; -{skeleton2|health|25|1|}; -{skeleton2|bone|30|1|}; -{skeleton2|ring_dmg1|1|1|}; -{skeleton3|gold|70|20-29|}; -{skeleton3|gem2|25|1|}; -{skeleton3|health|25|1|}; -{skeleton3|bone|30|1|}; -{skeleton3|ring_dmg2|1|1|}; -{canine2|gold|70|3-25|}; -{canine2|gem1|5|1|}; -{canine2|meat|30|1|}; -{canine2|hair|30|1|}; -{pack1|gold|70|3-15|}; -{pack1|gem2|5|1|}; -{pack1|meat|30|1|}; -{pack1|hair|30|1|}; -{pack2|gold|70|3-25|}; -{pack2|gem3|5|1|}; -{pack2|meat|30|1|}; -{pack2|hair|30|1|}; -{pack3|gold|70|3-35|}; -{pack3|gem4|5|1|}; -{pack3|meat|30|1|}; -{pack3|hair|30|1|}; -{pack_boss|gold|100|3-35|}; -{pack_boss|gem4|100|1|}; -{pack_boss|meat|30|1|}; -{pack_boss|packhide|100|1|}; -{pack_boss|hair|30|1|}; +[id|items[itemID|quantity_Min|quantity_Max|chance|]|]; +{prisoner|{{rock|1|1|100|}}|}; +{skeleton2|{{gold|16|23|70|}{gem2|1|1|25|}{health|1|1|25|}{bone|1|1|30|}{ring_dmg1|1|1|1|}}|}; +{pack_boss|{{gold|3|35|100|}{gem4|1|1|100|}{meat|1|1|30|}{packhide|1|1|100|}{hair|1|1|30|}}|}; +{snake2|{{gold|7|12|70|}{meat|1|1|30|}{gland|1|1|5|}}|}; +{bandit1|{{gold|4|41|70|}}|}; +{pack1|{{gold|3|15|70|}{gem2|1|1|5|}{meat|1|1|30|}{hair|1|1|30|}}|}; +{unzel|{{gold|16|30|100|}{health|1|1|100|}{ring_unzel|1|1|100|}{boots_unzel|1|1|100|}}|}; +{pack2|{{gold|3|25|70|}{gem3|1|1|5|}{meat|1|1|30|}{hair|1|1|30|}}|}; +{canine2|{{gold|3|25|70|}{gem1|1|1|5|}{meat|1|1|30|}{hair|1|1|30|}}|}; +{pack3|{{gold|3|35|70|}{gem4|1|1|5|}{meat|1|1|30|}{hair|1|1|30|}}|}; +{skeleton3|{{gold|20|29|70|}{gem2|1|1|25|}{health|1|1|25|}{bone|1|1|30|}{ring_dmg2|1|1|1|}}|}; +{vacor|{{gold|16|30|100|}{health|1|1|100|}{ring_vacor|1|1|100|}{boots_vacor|1|1|100|}}|}; +{fallhaven_bandit|{{gold|4|41|100|}{vacor_spell|1|1|100|}}|}; +{undead1|{{gold|16|23|70|}{gem2|1|1|25|}{health|1|1|25|}{ironsword1|1|1|25|}}|}; -{flagstone_guard0|gold|100|20-29|}; -{flagstone_guard0|gem4|100|1|}; -{flagstone_guard0|health|100|1|}; -{flagstone_guard0|necklace_flagstone|100|1|}; -{flagstone_guard1|gold|100|20-52|}; -{flagstone_guard1|gem4|100|1|}; -{flagstone_guard1|health|100|2|}; -{flagstone_guard1|ring_block1|100|1|}; -{flagstone_guard1|ironsword1|100|1|}; -{flagstone_guard2|gold|100|62|}; -{flagstone_guard2|gem4|100|1|}; -{flagstone_guard2|health|100|3|}; -{flagstone_guard2|sword_flagstone|100|1|}; -{flagstone_guard2|ring_jinxed1|100|1|}; +{flagstone_guard2|{{gold|62|62|100|}{gem4|1|1|100|}{health|3|3|100|}{sword_flagstone|1|1|100|}{ring_jinxed1|1|1|100|}}|}; +{flagstone_guard1|{{gold|20|52|100|}{gem4|1|1|100|}{health|2|2|100|}{ring_block1|1|1|100|}{ironsword1|1|1|100|}}|}; +{flagstone_guard0|{{gold|20|29|100|}{gem4|1|1|100|}{health|1|1|100|}{necklace_flagstone|1|1|100|}}|}; -{vg_armorer|boots1|100|1|}; -{vg_armorer|boots2|100|1|}; -{vg_armorer|boots3|100|1|}; -{vg_armorer|boots5|100|1|}; -{vg_armorer|armor1|100|1|}; -{vg_armorer|armor2|100|1|}; -{vg_armorer|armor3|100|1|}; -{vg_armorer|armor_chain1|100|1|}; -{vg_armorer|armor_chain2|100|1|}; -{vg_armorer|hat3|100|1|}; -{vg_armorer|hat4|100|1|}; -{vg_armorer|hat_leather1|100|1|}; -{vg_armorer|gloves1|100|1|}; -{vg_armorer|gloves2|100|1|}; -{vg_armorer|gloves3|100|1|}; -{vg_armorer|gloves4|100|1|}; -{vg_armorer|gloves_attack1|100|1|}; -{vg_armorer|gloves_attack2|100|1|}; +{vg_armorer|{{boots1|1|1|100|}{boots2|1|1|100|}{boots3|1|1|100|}{boots5|1|1|100|}{armor1|1|1|100|}{armor2|1|1|100|}{armor3|1|1|100|}{armor_chain1|1|1|100|}{armor_chain2|1|1|100|}{hat3|1|1|100|}{hat4|1|1|100|}{hat_leather1|1|1|100|}{gloves1|1|1|100|}{gloves2|1|1|100|}{gloves3|1|1|100|}{gloves4|1|1|100|}{gloves_attack1|1|1|100|}{gloves_attack2|1|1|100|}}|}; -{jolnor|health_minor|100|10|}; -{jolnor|health|100|10|}; -{jolnor|health_major|100|10|}; -{jolnor|ring_dmg1|100|1|}; -{jolnor|ring_dmg2|100|1|}; -{jolnor|ring_block1|100|1|}; -{jolnor|ring_atkch1|100|1|}; +{jolnor|{{health_minor|10|10|100|}{health|10|10|100|}{health_major|10|10|100|}{ring_dmg1|1|1|100|}{ring_dmg2|1|1|100|}{ring_block1|1|1|100|}{ring_atkch1|1|1|100|}}|}; -{sleepingmead|sleepingmead|100|1|}; +{sleepingmead|{{sleepingmead|1|1|100|}}|}; -{ff_outsideguard|ffguard_qitem|100|1|}; -{ff_outsideguard|vial_empty1|100|1|}; -{ff_outsideguard|shield1|100|1|}; -{ff_outsideguard|ironsword1|100|1|}; +{ff_outsideguard|{{ffguard_qitem|1|1|100|}{vial_empty1|1|1|100|}{shield1|1|1|100|}{ironsword1|1|1|100|}}|}; -{vg_smith|hammer0|100|1|}; -{vg_smith|hammer1|100|1|}; -{vg_smith|club_wood1|100|1|}; -{vg_smith|club_wood2|100|1|}; -{vg_smith|club1|100|1|}; -{vg_smith|club3|100|1|}; -{vg_smith|ironsword1|100|1|}; -{vg_smith|ironsword2|100|1|}; -{vg_smith|broadsword1|100|1|}; -{vg_smith|broadsword2|100|1|}; -{vg_smith|shield4|100|1|}; -{vg_smith|shield5|100|1|}; -{vg_smith|shield6|100|1|}; -{vg_smith|shield7|100|1|}; +{vg_smith|{{hammer0|1|1|100|}{hammer1|1|1|100|}{club_wood1|1|1|100|}{club_wood2|1|1|100|}{club1|1|1|100|}{club3|1|1|100|}{ironsword1|1|1|100|}{ironsword2|1|1|100|}{broadsword1|1|1|100|}{broadsword2|1|1|100|}{shield4|1|1|100|}{shield5|1|1|100|}{shield6|1|1|100|}{shield7|1|1|100|}}|}; -{troublemaker|dagger1|100|1|}; -{troublemaker|dagger2|100|1|}; -{troublemaker|shirt1|100|1|}; -{troublemaker|shirt2|100|1|}; -{troublemaker|ring1|100|1|}; -{troublemaker|ring2|100|1|}; -{troublemaker|ring_crit1|100|1|}; -{troublemaker|ring_crit2|100|1|}; -{troublemaker|gem1|100|5|}; -{troublemaker|gem2|100|5|}; -{troublemaker|gem3|100|5|}; +{troublemaker|{{dagger1|1|1|100|}{dagger2|1|1|100|}{shirt1|1|1|100|}{shirt2|1|1|100|}{ring1|1|1|100|}{ring2|1|1|100|}{ring_crit1|1|1|100|}{ring_crit2|1|1|100|}{gem1|5|5|100|}{gem2|5|5|100|}{gem3|5|5|100|}}|}; -{dunla|gem1|100|5|}; -{dunla|gem2|100|5|}; -{dunla|gem3|100|5|}; -{dunla|ring1|100|1|}; -{dunla|ring2|100|1|}; -{dunla|gloves1|100|1|}; -{dunla|gloves2|100|1|}; -{dunla|gloves_grip|100|1|}; -{dunla|gloves_fancy|100|1|}; -{dunla|dagger1|100|1|}; -{dunla|dagger2|100|1|}; +{dunla|{{gem1|5|5|100|}{gem2|5|5|100|}{gem3|5|5|100|}{ring1|1|1|100|}{ring2|1|1|100|}{gloves1|1|1|100|}{gloves2|1|1|100|}{gloves_grip|1|1|100|}{gloves_fancy|1|1|100|}{dagger1|1|1|100|}{dagger2|1|1|100|}}|}; -{alynndir|vial_empty1|100|10|}; -{alynndir|vial_empty2|100|10|}; -{alynndir|health|100|10|}; -{alynndir|milk|100|10|}; -{alynndir|rat_tail|100|5|}; -{alynndir|gem2|5|3|}; -{alynndir|meat|30|20|}; -{alynndir|hair|30|5|}; +{alynndir|{{vial_empty1|10|10|100|}{vial_empty2|10|10|100|}{health|10|10|100|}{milk|10|10|100|}{rat_tail|5|5|100|}{gem2|3|3|5|}{meat|20|20|30|}{hair|5|5|30|}}|}; -{beetle2|gold|70|0-12|}; -{beetle2|shell|30|1|}; +{beetle2|{{gold|0|12|70|}{shell|1|1|30|}}|}; -{shadowgarg1|gold|70|5-12|}; -{shadowgarg1|gem2|25|1|}; +{shadowgarg1|{{gold|5|12|70|}{gem2|1|1|25|}}|}; -{shadowgarg2|gold|70|3-19|}; -{shadowgarg2|gem2|25|1|}; -{shadowgarg2|health|25|1|}; -{shadowgarg2|rock|25|1|}; +{shadowgarg2|{{gold|3|19|70|}{gem2|1|1|25|}{health|1|1|25|}{rock|1|1|25|}}|}; -{shadowgarg3|gold|70|16-23|}; -{shadowgarg3|gem2|25|1|}; -{shadowgarg3|gem3|10|1|}; -{shadowgarg3|health|25|1|}; -{shadowgarg3|rock|25|1|}; -{shadowgarg3|ring_shadow0|1/10000|1|}; +{shadowgarg3|{{gold|16|23|70|}{gem2|1|1|25|}{gem3|1|1|10|}{health|1|1|25|}{rock|1|1|25|}{ring_shadow0|1|1|1/10000|}}|}; -{maelveon|gold|100|52|}; -{maelveon|gem3|100|1|}; -{maelveon|health|100|2|}; -{maelveon|armor_stone|100|1|}; +{maelveon|{{gold|52|52|100|}{gem3|1|1|100|}{health|2|2|100|}{armor_stone|1|1|100|}}|}; diff --git a/AndorsTrail/res/values/itemlist.xml b/AndorsTrail/res/values/itemlist.xml index 3d73d75b2..795bb400d 100644 --- a/AndorsTrail/res/values/itemlist.xml +++ b/AndorsTrail/res/values/itemlist.xml @@ -2,18 +2,18 @@ -[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|use_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; +[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|hit_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; {gold|items_tiles:220|Gold coins|30|1|||||||||||||||||||||||||||||||||}; -[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|use_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; +[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|hit_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; {debug_dagger1|items_tiles:90|Black heart dagger|0|6|1||||2|100|30|3|5|10|||||||||||||||||||||||}; {debug_ring1|items_tiles:270|Black heart ring|7|3|1|||||50|||10|10|||||||||||||||||||||||}; -[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|use_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; +[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|hit_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; {club1|items_tiles:126|Wooden club|0|7|1||||5|10|||0|1|||||||||||||||||||||||}; {club3|items_tiles:128|Iron club|0|253|1||||6|5|||2|7|||||||||||||||||||||||}; {ironsword0|items_tiles:70|Iron sword|0|12|1||||5|10|||0|1|||||||||||||||||||||||}; @@ -34,7 +34,7 @@ -[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|use_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; +[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|hit_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; {ring_dmg1|items_tiles:266|Ring of damage +1|7|215|1||||||||1|1|||||||||||||||||||||||}; {ring_dmg2|items_tiles:267|Ring of damage +2|7|398|1||||||||2|2|||||||||||||||||||||||}; {ring_dmg5|items_tiles:268|Ring of damage +5|7|2014|1||||||||5|5|||||||||||||||||||||||}; @@ -48,14 +48,14 @@ -[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|use_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; +[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|hit_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; {jewel_fallhaven|items_tiles:272|Jewel of Fallhaven|6|3125|1||||-1||||||||||||||||||||||||||||}; {necklace_shield1|items_tiles:273|Shielding necklace|6|935|1||||||||||9||||||||||||||||||||||}; {necklace_shield2|items_tiles:273|Shielding necklace|6|1255|1||||||||||12||||||||||||||||||||||}; - -[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|use_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; + +[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|hit_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; {shirt1|items_tiles:182|Cloth shirt|3|16|1||||||||||2||||||||||||||||||||||}; {shirt2|items_tiles:182|Fine shirt|3|72|1||||||||||5||||||||||||||||||||||}; {shirt_dmgresist|items_tiles:183|Hardened leather shirt|3|1633|1||||||||||5|1|||||||||||||||||||||}; @@ -83,37 +83,37 @@ {gloves_attack2|items_tiles:203|Fine gloves of swift attack|4|221|1|||||17|||||-9||||||||||||||||||||||}; - -[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|use_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; -{apple_green|items_tiles:2|Green apple|21|9||||||||||||||1|4|4||||||4|||||||||||}; -{apple_red|items_tiles:3|Red apple|21|15||||||||||||||1|6|6||||||6|||||||||||}; -{meat|items_tiles:25|Meat|21|29||||||||||||||1|12|12||||||12|||||||||||}; -{meat_cooked|items_tiles:27|Cooked meat|21|78||||||||||||||1|21|21||||||21|||||||||||}; -{strawberry|items_tiles:8|Strawberry|21|1||||||||||||||1|1|1||||||1|||||||||||}; -{carrot|items_tiles:15|Carrot|21|9||||||||||||||1|4|4||||||4|||||||||||}; -{bread|items_tiles:21|Bread|21|6||||||||||||||1|5|5||||||5|||||||||||}; -{mushroom|items_tiles:19|Mushroom|21|1||||||||||||||1|1|1||||||1|||||||||||}; -{pear|items_tiles:9|Pear|21|9||||||||||||||1|4|4||||||4|||||||||||}; -{eggs|items_tiles:20|Eggs|21|8||||||||||||||1|3|3||||||3|||||||||||}; -{radish|items_tiles:14|Radish|21|5||||||||||||||1|2|2||||||2|||||||||||}; + +[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|hit_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; +{apple_green|items_tiles:2|Green apple|21|9||||||||||||||1|4|4|||||||||||||||||}; +{apple_red|items_tiles:3|Red apple|21|15||||||||||||||1|6|6|||||||||||||||||}; +{meat|items_tiles:25|Meat|21|29||||||||||||||1|12|12|||||||||||||||||}; +{meat_cooked|items_tiles:27|Cooked meat|21|78||||||||||||||1|21|21|||||||||||||||||}; +{strawberry|items_tiles:8|Strawberry|21|1||||||||||||||1|1|1|||||||||||||||||}; +{carrot|items_tiles:15|Carrot|21|9||||||||||||||1|4|4|||||||||||||||||}; +{bread|items_tiles:21|Bread|21|6||||||||||||||1|5|5|||||||||||||||||}; +{mushroom|items_tiles:19|Mushroom|21|1||||||||||||||1|1|1|||||||||||||||||}; +{pear|items_tiles:9|Pear|21|9||||||||||||||1|4|4|||||||||||||||||}; +{eggs|items_tiles:20|Eggs|21|8||||||||||||||1|3|3|||||||||||||||||}; +{radish|items_tiles:14|Radish|21|5||||||||||||||1|2|2|||||||||||||||||}; -[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|use_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; +[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|hit_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; {vial_empty1|items_tiles:56|Small empty vial|31|2|||||||||||||||||||||||||||||||||}; {vial_empty2|items_tiles:57|Empty vial|31|4|||||||||||||||||||||||||||||||||}; {vial_empty3|items_tiles:59|Empty flask|31|6|||||||||||||||||||||||||||||||||}; {vial_empty4|items_tiles:58|Empty potion|31|11|||||||||||||||||||||||||||||||||}; -{health_minor|items_tiles:35|Minor potion of health|20|5||||||||||||||1|5|5||||||5|||||||||||}; -{health|items_tiles:49|Regular potion of health|20|40||||||||||||||1|10|10||||||10|||||||||||}; -{health_major|items_tiles:28|Major potion of health|20|210||||||||||||||1|40|40||||||40|||||||||||}; -{mead|items_tiles:51|Mead|20|15||||||||||||||1|1|1||||||1|||||||||||}; -{milk|items_tiles:55|Milk|20|21||||||||||||||1|2|2||||||2|||||||||||}; -{bonemeal_potion|items_tiles:34|Bonemeal potion|20|45||||||||||||||1|40|40||||||40|||||||||||}; +{health_minor|items_tiles:35|Minor potion of health|20|5||||||||||||||1|5|5|||||||||||||||||}; +{health|items_tiles:49|Regular potion of health|20|40||||||||||||||1|10|10|||||||||||||||||}; +{health_major|items_tiles:28|Major potion of health|20|210||||||||||||||1|40|40|||||||||||||||||}; +{mead|items_tiles:51|Mead|20|15||||||||||||||1|1|1|||||||||||||||||}; +{milk|items_tiles:55|Milk|20|21||||||||||||||1|2|2|||||||||||||||||}; +{bonemeal_potion|items_tiles:34|Bonemeal potion|20|45||||||||||||||1|40|40|||||||||||||||||}; -[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|use_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; +[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|hit_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; {hair|items_tiles:258|Animal hair|31|2|||||||||||||||||||||||||||||||||}; {insectwing|items_tiles:262|Insect wing|31|3|||||||||||||||||||||||||||||||||}; {bone|items_tiles:254|Bone|31|2|||||||||||||||||||||||||||||||||}; @@ -128,7 +128,7 @@ -[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|use_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; +[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|hit_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; {clay|items_tiles:289|Lump of clay|31|1|||||||||||||||||||||||||||||||||}; {rock|items_tiles:238|Small rock|31|1|||||||||||||||||||||||||||||||||}; {gem1|items_tiles:210|Glass gem|31|2|||||||||||||||||||||||||||||||||}; @@ -141,10 +141,10 @@ -[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|use_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; +[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|hit_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; {tail_caverat|items_tiles:103|Cave rat tail|31|0|||||||||||||||||||||||||||||||||}; {tail_trainingrat|items_tiles:103|Small rat tail|31|0|||||||||||||||||||||||||||||||||}; -{rest|items_tiles:33|Potion of restoration|20|0||||||||||||||1|99|99||||||99|||||||||||}; +{rest|items_tiles:33|Potion of restoration|20|0||||||||||||||1|99|99|||||||||||||||||}; {ring_mikhail|items_tiles:266|Mikhail\'s ring|7|15|1|||||10|||||||||||||||||||||||||||}; {neck_irogotu|items_tiles:273|Irogotu\'s necklace|6|30|1||||||||||5|1|||||||||||||||||||||}; {ring_gandir|items_tiles:266|Gandir\'s ring|31|0|||||||||||||||||||||||||||||||||}; @@ -163,7 +163,7 @@ -[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|use_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; +[searchTag|iconID|name|category|baseMarketCost|hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|hasHitEffect|hit_boostHP_Min|hit_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|]; {armor_chain1|items_tiles:185|Rusty chain mail|3|3629|1|||||-10|||||20||||||||||||||||||||||}; {armor_chain2|items_tiles:185|Ordinary chain mail|3|4191|1|||||-5|||||22||||||||||||||||||||||}; {hat_leather1|items_tiles:192|Hardened leather cap|2|261|1|||||-2|||||7||||||||||||||||||||||}; @@ -180,5 +180,21 @@ {armor_stone|items_tiles:185|Stone Cuirass|3|52|1||||2||||||22|1|||||||||||||||||||||}; {ring_shadow0|items_tiles:268|Ring of lesser shadows|7|612|1|||||15|5||3|3|||||||||||||||||||||||}; - + + + diff --git a/AndorsTrail/res/values/monsterlist.xml b/AndorsTrail/res/values/monsterlist.xml index 9726cbc9d..78b9bfaaf 100644 --- a/AndorsTrail/res/values/monsterlist.xml +++ b/AndorsTrail/res/values/monsterlist.xml @@ -2,198 +2,198 @@ -[Icon|Name|Tags|Size|Exp|HP_max|AP_max|AP_move|AtkCost|AtkPct|CritPct|CritMult|DMG|BlkPct|DMG_res|Drop|Phrase|]; -{monsters_man1:0|Traveller1|debugNPC1|||10|10|10|10|50|||1-2|||debugshop1|debugshop|}; -{monsters_man1:0|Traveller2|debugNPC2|||10|10|10|10|50|||1-2|||debugshop1|debugquest|}; -{monsters_insects:0|Black ant|Insect|||10|10|10|10|50|||1-2|||debuglist1||}; -{monsters_insects:1|Small wasp|Insect|||10|10|10|10|50|||1-2|||debuglist1||}; -{monsters_demon1:0|Winged demon|Demon|2x2||10|10|10|10|50|||10-20|||debuglist1||}; -{monsters_misc:5|Troll|Dwarf|||10|10|10|2|50|||1-2|||debuglist1||}; +[iconID|name|tags|size|maxHP|maxAP|moveCost|attackCost|attackChance|criticalChance|criticalMultiplier|attackDamage_Min|attackDamage_Max|blockChance|damageResistance|droplistID|phraseID|hasHitEffect|onHit_boostHP_Min|onHit_boostHP_Max|onHit_boostAP_Min|onHit_boostAP_Max|onHit_conditionsSource[condition|magnitude|duration|chance|]|onHit_conditionsTarget[condition|magnitude|duration|chance|]|]; +{monsters_man1:0|Traveller1|debugNPC1||10|10|10|10|50|||1|2|||debugshop1|debugshop||||||||}; +{monsters_man1:0|Traveller2|debugNPC2||10|10|10|10|50|||1|2|||debugshop1|debugquest||||||||}; +{monsters_insects:0|Black ant|Insect||10|10|10|10|50|||1|2|||debuglist1|||||||||}; +{monsters_insects:1|Small wasp|Insect||10|10|10|10|50|||1|2|||debuglist1|||||||||}; +{monsters_demon1:0|Winged demon|Demon|2x2|10|10|10|10|50|||10|20|||debuglist1|||||||||}; +{monsters_misc:5|Troll|Dwarf||10|10|10|2|50|||1|2|||debuglist1|||||||||}; -[Icon|Name|Tags|Size|Exp|HP_max|AP_max|AP_move|AtkCost|AtkPct|CritPct|CritMult|DMG|BlkPct|DMG_res|Drop|Phrase|]; -{monsters_rats:0|Tiny rat|trainingrat|||2|||10|50|||1|||trainingrat||}; -{monsters_rats:1|Cave rat|crossglen_caverat|||5|||10|90|||2|||rat||}; -{monsters_rats:1|Tough cave rat|crossglen_caverat2|||5|||5|90|||3|||rat||}; -{monsters_rats:3|Strong cave rat|crossglen_caveboss|||20|||5|100|||2-4|10||caveratboss||}; -{monsters_insects:0|Black ant|crossglen_ant|||3|||10|70|||1-2|||insect||}; -{monsters_insects:1|Small wasp|crossglen_wasp|||4|||10|70|||1-2|||wasp||}; -{monsters_insects:4|Beetle|crossglen_beetle|||4|||10|70|||3|||insect||}; -{monsters_insects:1|Forest wasp|forestwasp|||6|||10|70|||1-2|||wasp||}; -{monsters_insects:0|Forest ant|forestant|||4|||10|90|||1-2|10||insect||}; -{monsters_insects:2|Yellow forest ant|forestant|||5|||10|100|||2|15||insect||}; -{monsters_dogs:1|Small rabid dog|forestdog|||6|||10|90|||2|||canine||}; -{monsters_snakes:1|Forest Snake|forestsnake|||7|||10|110|||1-2|10||snake||}; -{monsters_snakes:3|Young Cave Snake|cavesnake1|||8|||5|110|10|2|2|10||snake||}; -{monsters_snakes:3|Cave Snake|cavesnake1|||12|||5|110|20|2|2|15||snake||}; -{monsters_snakes:3|Venomous Cave Snake|cavesnake2|||15|||5|110|40|2|2|10||snake||}; -{monsters_snakes:3|Tough Cave Snake|cavesnake2|||21|||5|110|20|2|2|15||snake||}; -{monsters_rats:4|Basilisk|cavesnake2_boss|||40|||7|40|||3-9|50|2|cavecritter||}; -{monsters_liches:0|Snake servant|cavesnake3|||35|||5|80|40|3|2-3|10|1|lich1||}; -{monsters_liches:1|Snake master|cavesnake3_boss|||55|||5|60|100|3|1-4|10|4|snakemaster|snakemaster|}; -{monsters_dogs:6|Rabid Boar|forestboar|||20|||5|110|||3|30||canineboss||}; -{monsters_dogs:3|Rabid Fox|fox1|||25|||5|100|||3|50||canine||}; -{monsters_insects:2|Yellow cave ant|pitcave1|||20|||3|30|||1|80||insect||}; -{monsters_misc:0|Young teeth critter|pitcave2|||15|||2|50|||1|70||cavecritter||}; -{monsters_misc:0|Teeth critter|pitcave2|||25|||2|60|10|3|1|70||cavecritter||}; -{monsters_misc:5|Young minotaur|pitcave2|||45|||6|20|40|3|4|50|2|cavemonster||}; -{monsters_misc:5|Strong minotaur|pitcave2_boss|||53|||6|40|50|3|5|50|2|cavemonster||}; -{monsters_liches:0|Irogotu|pitcave_boss|||61|||3|50|40|3|2-5|70|4|irogotu|irogotu|}; +[iconID|name|tags|size|maxHP|maxAP|moveCost|attackCost|attackChance|criticalChance|criticalMultiplier|attackDamage_Min|attackDamage_Max|blockChance|damageResistance|droplistID|phraseID|hasHitEffect|onHit_boostHP_Min|onHit_boostHP_Max|onHit_boostAP_Min|onHit_boostAP_Max|onHit_conditionsSource[condition|magnitude|duration|chance|]|onHit_conditionsTarget[condition|magnitude|duration|chance|]|]; +{monsters_rats:0|Tiny rat|trainingrat||2|||10|50|||1|1|||trainingrat|||||||||}; +{monsters_rats:1|Cave rat|crossglen_caverat||5|||10|90|||2|2|||rat|||||||||}; +{monsters_rats:1|Tough cave rat|crossglen_caverat2||5|||5|90|||3|3|||rat|||||||||}; +{monsters_rats:3|Strong cave rat|crossglen_caveboss||20|||5|100|||2|4|10||caveratboss|||||||||}; +{monsters_insects:0|Black ant|crossglen_ant||3|||10|70|||1|2|||insect|||||||||}; +{monsters_insects:1|Small wasp|crossglen_wasp||4|||10|70|||1|2|||wasp|||||||||}; +{monsters_insects:4|Beetle|crossglen_beetle||4|||10|70|||3|3|||insect|||||||||}; +{monsters_insects:1|Forest wasp|forestwasp||6|||10|70|||1|2|||wasp|||||||||}; +{monsters_insects:0|Forest ant|forestant||4|||10|90|||1|2|10||insect|||||||||}; +{monsters_insects:2|Yellow forest ant|forestant||5|||10|100|||2|2|15||insect|||||||||}; +{monsters_dogs:1|Small rabid dog|forestdog||6|||10|90|||2|2|||canine|||||||||}; +{monsters_snakes:1|Forest Snake|forestsnake||7|||10|110|||1|2|10||snake|||||||||}; +{monsters_snakes:3|Young Cave Snake|cavesnake1||8|||5|110|10|2|2|2|10||snake|||||||||}; +{monsters_snakes:3|Cave Snake|cavesnake1||12|||5|110|20|2|2|2|15||snake|||||||||}; +{monsters_snakes:3|Venomous Cave Snake|cavesnake2||15|||5|110|40|2|2|2|10||snake|||||||||}; +{monsters_snakes:3|Tough Cave Snake|cavesnake2||21|||5|110|20|2|2|2|15||snake|||||||||}; +{monsters_rats:4|Basilisk|cavesnake2_boss||40|||7|40|||3|9|50|2|cavecritter|||||||||}; +{monsters_liches:0|Snake servant|cavesnake3||35|||5|80|40|3|2|3|10|1|lich1|||||||||}; +{monsters_liches:1|Snake master|cavesnake3_boss||55|||5|60|100|3|1|4|10|4|snakemaster|snakemaster||||||||}; +{monsters_dogs:6|Rabid Boar|forestboar||20|||5|110|||3|3|30||canineboss|||||||||}; +{monsters_dogs:3|Rabid Fox|fox1||25|||5|100|||3|3|50||canine|||||||||}; +{monsters_insects:2|Yellow cave ant|pitcave1||20|||3|30|||1|1|80||insect|||||||||}; +{monsters_misc:0|Young teeth critter|pitcave2||15|||2|50|||1|1|70||cavecritter|||||||||}; +{monsters_misc:0|Teeth critter|pitcave2||25|||2|60|10|3|1|1|70||cavecritter|||||||||}; +{monsters_misc:5|Young minotaur|pitcave2||45|||6|20|40|3|4|4|50|2|cavemonster|||||||||}; +{monsters_misc:5|Strong minotaur|pitcave2_boss||53|||6|40|50|3|5|5|50|2|cavemonster|||||||||}; +{monsters_liches:0|Irogotu|pitcave_boss||61|||3|50|40|3|2|5|70|4|irogotu|irogotu||||||||}; -[Icon|Name|Tags|Size|Exp|HP_max|AP_max|AP_move|AtkCost|AtkPct|CritPct|CritMult|DMG|BlkPct|DMG_res|Drop|Phrase|]; -{monsters_ghost2:0|Lost spirit|minorhaunt1|||15|||10|50|||1-2|10|3|haunt|haunt|}; -{monsters_ghost2:0|Lost soul|minorhaunt2|||15|||10|50|||1-2|10|4|haunt||}; -{monsters_ghost1:0|Haunting|haunt3|||31|10|10|5|120|20|2|1-5|30|1|haunt||}; -{monsters_skeleton1:0|Skeletal warrior|skeleton1|||52|10|10|5|60|||1-3|40|1|skeleton||}; -{monsters_skeleton2:0|Skeletal master|skeletonmaster|||52|10|10|5|70|||1-3|30|2|skeleton||}; -{monsters_skeleton1:0|Skeleton|skeleton1|||35|10|10|10|60|||1-4|40||skeleton||}; +[iconID|name|tags|size|maxHP|maxAP|moveCost|attackCost|attackChance|criticalChance|criticalMultiplier|attackDamage_Min|attackDamage_Max|blockChance|damageResistance|droplistID|phraseID|hasHitEffect|onHit_boostHP_Min|onHit_boostHP_Max|onHit_boostAP_Min|onHit_boostAP_Max|onHit_conditionsSource[condition|magnitude|duration|chance|]|onHit_conditionsTarget[condition|magnitude|duration|chance|]|]; +{monsters_ghost2:0|Lost spirit|minorhaunt1||15|||10|50|||1|2|10|3|haunt|haunt||||||||}; +{monsters_ghost2:0|Lost soul|minorhaunt2||15|||10|50|||1|2|10|4|haunt|||||||||}; +{monsters_ghost1:0|Haunting|haunt3||31|10|10|5|120|20|2|1|5|30|1|haunt|||||||||}; +{monsters_skeleton1:0|Skeletal warrior|skeleton1||52|10|10|5|60|||1|3|40|1|skeleton|||||||||}; +{monsters_skeleton2:0|Skeletal master|skeletonmaster||52|10|10|5|70|||1|3|30|2|skeleton|||||||||}; +{monsters_skeleton1:0|Skeleton|skeleton1||35|10|10|10|60|||1|4|40||skeleton|||||||||}; -{monsters_ghost2:0|Guardian of the catacombs|catacombguard1|||6|10|10|10|10|||1-6|10|3|catacombguard|catacombguard|}; -{monsters_rats:0|Catacomb rat|catacombrat1|||15|10|10|3|60|||1|40||catacombrat||}; -{monsters_rats:3|Large catacomb rat|catacombrat1|||21|10|10|3|60|10|2|1-2|40||catacombrat||}; -{monsters_ghost1:0|Ghostly visage|catacombguard2|||16|10|10|5|20|||1-4|20|2|catacombguard||}; -{monsters_ghost2:0|Spectre|catacombguard2|||15|10|10|3|50|||1-5|60|2|catacombguard||}; -{monsters_ghost2:0|Apparition|catacombguard3|||17|10|10|3||||1-5|70|2|catacombguard||}; -{monsters_ghost1:0|Shade|catacombguard3|||16|10|10|5|20|||1-4|20|3|catacombguard||}; -{monsters_misc:2|Young gargoyle|catacombguard3|||35|10|10|10|110|10|2|2-5|70|1|catacombguard||}; -{monsters_liches:2|Ghost of Luthor|luthor|||86|10|10|5|120|15|2|2-5|50|3|luthor|luthor|}; +{monsters_ghost2:0|Guardian of the catacombs|catacombguard1||6|10|10|10|10|||1|6|10|3|catacombguard|catacombguard||||||||}; +{monsters_rats:0|Catacomb rat|catacombrat1||15|10|10|3|60|||1|1|40||catacombrat|||||||||}; +{monsters_rats:3|Large catacomb rat|catacombrat1||21|10|10|3|60|10|2|1|2|40||catacombrat|||||||||}; +{monsters_ghost1:0|Ghostly visage|catacombguard2||16|10|10|5|20|||1|4|20|2|catacombguard|||||||||}; +{monsters_ghost2:0|Spectre|catacombguard2||15|10|10|3|50|||1|5|60|2|catacombguard|||||||||}; +{monsters_ghost2:0|Apparition|catacombguard3||17|10|10|3||||1|5|70|2|catacombguard|||||||||}; +{monsters_ghost1:0|Shade|catacombguard3||16|10|10|5|20|||1|4|20|3|catacombguard|||||||||}; +{monsters_misc:2|Young gargoyle|catacombguard3||35|10|10|10|110|10|2|2|5|70|1|catacombguard|||||||||}; +{monsters_liches:2|Ghost of Luthor|luthor||86|10|10|5|120|15|2|2|5|50|3|luthor|luthor||||||||}; -[Icon|Name|Tags|Size|Exp|HP_max|AP_max|AP_move|AtkCost|AtkPct|CritPct|CritMult|DMG|BlkPct|DMG_res|Drop|Phrase|]; -{monsters_mage2:0|Mikhail|mikhail|1x1|0|1|1|1|1|0|||0||||mikhail_start_select|}; -{monsters_men:2|Leta|leta|1x1|0|1|1|1|1|0|||0||||leta1|}; -{monsters_men:0|Audir|audir|1x1|0|1|1|1|1|0|||0|||shop_smith|audir1|}; -{monsters_men:3|Arambold|arambold|1x1|0|1|1|1|1|0|||0|||shop_clothes|arambold1|}; -{monsters_men:4|Tharal|tharal|1x1|0|1|1|1|1|0|||0|||shop_priest|tharal1|}; -{monsters_warrior1:0|Drunk|drunk|1x1|0|1|1|1|1|0|||0||||drunk1|}; -{monsters_men:7|Mara|mara|1x1|0|1|1|1|1|0|||0|||shop_food|mara1|}; -{monsters_rogue1:0|Gruil|gruil|1x1|0|1|1|1|1|0|||0|||shop_thief|gruil1|}; -{monsters_men:3|Leonid|leonid|1x1|0|1|1|1|1|0|||0||||leonid1|}; -{monsters_man1:0|Farmer|crossglen_farmer1|1x1|0|1|1|1|1|0|||0||||farm1|}; -{monsters_man1:0|Tired farmer|crossglen_farmer2|1x1|0|1|1|1|1|0|||0||||farm2|}; -{monsters_man1:0|Oromir|oromir|1x1|0|1|1|1|1|0|||0||||oromir1|}; -{monsters_men:8|Odair|odair|1x1|0|1|1|1|1|0|||0||||odair1|}; -{monsters_warrior1:0|Jan|jan|1x1|0|1|1|1|1|0|||0||||jan_start_select|}; +[iconID|name|tags|size|maxHP|maxAP|moveCost|attackCost|attackChance|criticalChance|criticalMultiplier|attackDamage_Min|attackDamage_Max|blockChance|damageResistance|droplistID|phraseID|hasHitEffect|onHit_boostHP_Min|onHit_boostHP_Max|onHit_boostAP_Min|onHit_boostAP_Max|onHit_conditionsSource[condition|magnitude|duration|chance|]|onHit_conditionsTarget[condition|magnitude|duration|chance|]|]; +{monsters_mage2:0|Mikhail|mikhail|1x1|1|1|1|1|0|||0|0||||mikhail_start_select||||||||}; +{monsters_men:2|Leta|leta|1x1|1|1|1|1|0|||0|0||||leta1||||||||}; +{monsters_men:0|Audir|audir|1x1|1|1|1|1|0|||0|0|||shop_smith|audir1||||||||}; +{monsters_men:3|Arambold|arambold|1x1|1|1|1|1|0|||0|0|||shop_clothes|arambold1||||||||}; +{monsters_men:4|Tharal|tharal|1x1|1|1|1|1|0|||0|0|||shop_priest|tharal1||||||||}; +{monsters_warrior1:0|Drunk|drunk|1x1|1|1|1|1|0|||0|0||||drunk1||||||||}; +{monsters_men:7|Mara|mara|1x1|1|1|1|1|0|||0|0|||shop_food|mara1||||||||}; +{monsters_rogue1:0|Gruil|gruil|1x1|1|1|1|1|0|||0|0|||shop_thief|gruil1||||||||}; +{monsters_men:3|Leonid|leonid|1x1|1|1|1|1|0|||0|0||||leonid1||||||||}; +{monsters_man1:0|Farmer|crossglen_farmer1|1x1|1|1|1|1|0|||0|0||||farm1||||||||}; +{monsters_man1:0|Tired farmer|crossglen_farmer2|1x1|1|1|1|1|0|||0|0||||farm2||||||||}; +{monsters_man1:0|Oromir|oromir|1x1|1|1|1|1|0|||0|0||||oromir1||||||||}; +{monsters_men:8|Odair|odair|1x1|1|1|1|1|0|||0|0||||odair1||||||||}; +{monsters_warrior1:0|Jan|jan|1x1|1|1|1|1|0|||0|0||||jan_start_select||||||||}; -[Icon|Name|Tags|Size|Exp|HP_max|AP_max|AP_move|AtkCost|AtkPct|CritPct|CritMult|DMG|BlkPct|DMG_res|Drop|Phrase|]; -{monsters_men:3|Warden|fallhaven_warden|1x1|0|1|1|1|1|0|||0||||fallhaven_warden_select_1|}; -{monsters_warrior1:0|Guard|fallhaven_guard|1x1|0|1|1|1|1|0|||0||||fallhaven_guard|}; -{monsters_men:4|Acolyte|fallhaven_priest|1x1|0|1|1|1|1|0|||0||||fallhaven_priest|}; -{monsters_man1:0|Bearded Citizen|fallhaven_citizen1|1x1|0|1|1|1|1|0|||0||||fallhaven_citizen1|}; -{monsters_men:2|Old Citizen|fallhaven_citizen2|1x1|0|1|1|1|1|0|||0||||fallhaven_citizen2|}; -{monsters_men:7|Tired Citizen|fallhaven_citizen4|1x1|0|1|1|1|1|0|||0||||fallhaven_citizen4|}; -{monsters_man1:0|Citizen|fallhaven_citizen3|1x1|0|1|1|1|1|0|||0||||fallhaven_citizen3|}; -{monsters_men:2|Grumpy Citizen|fallhaven_citizen5|1x1|0|1|1|1|1|0|||0||||fallhaven_citizen5|}; -{monsters_men:7|Blond Citizen|fallhaven_citizen6|1x1|0|1|1|1|1|0|||0||||fallhaven_citizen6|}; -{monsters_rogue1:0|Bucus|bucus|1x1|0|1|1|1|1|0|||0||||bucus_welcome|}; -{monsters_men:0|Drunkard|fallhaven_drunk|1x1|0|1|1|1|1|0|||0||||fallhaven_drunk|}; -{monsters_men:5|Old man|fallhaven_oldman|1x1|0|1|1|1|1|0|||0||||fallhaven_oldman|}; -{monsters_men:8|Nocmar|nocmar|1x1|0|1|1|1|1|0|||0|||nocmar|nocmar|}; -{monsters_rogue1:0|Prisoner|fallhaven_prisoner|1x1|0|1|1|1|1|0|||0|||||}; -{monsters_rogue1:0|Ganos|ganos|1x1|0|1|1|1|1|0|||0|||ganos|ganos|}; -{monsters_mage2:0|Arcir|arcir|1x1|0|1|1|1|1|0|||0||||arcir_start|}; -{monsters_men:4|Athamyr|athamyr|1x1|0|1|1|1|1|0|||0||||athamyr|}; -{monsters_men2:8|Thoronir|thoronir|1x1|0|1|1|1|1|0|||0|||thoronir|thoronir_default|}; -{monsters_men:6|Chapelgoer|chapelgoer|1x1|0|1|1|1|1|0|||0||||chapelgoer|}; -{monsters_mage2:0|Potion merchant|fallhaven_potions|1x1|0|1|1|1|1|0|||0|||fallhaven_potions|fallhaven_potions|}; -{monsters_men2:0|Tailor|fallhaven_clothes|1x1|0|1|1|1|1|0|||0|||fallhaven_clothes|fallhaven_clothes|}; -{monsters_men:7|Bela|bela|1x1|0|1|1|1|1|0|||0|||shop_food|bela|}; -{monsters_men2:2|Larcal|larcal|1x1|1|51|10|10|10|25|||1-2|50||larcal|larcal|}; -{monsters_men2:9|Gaela|gaela|1x1|0|1|1|1|1|0|||0||||gaela|}; -{monsters_mage2:0|Unnmir|unnmir|1x1|0|1|1|1|1|0|||0||||unnmir|}; -{monsters_men:1|Rigmor|rigmor|1x1|0|1|1|1|1|0|||0||||rigmor|}; +[iconID|name|tags|size|maxHP|maxAP|moveCost|attackCost|attackChance|criticalChance|criticalMultiplier|attackDamage_Min|attackDamage_Max|blockChance|damageResistance|droplistID|phraseID|hasHitEffect|onHit_boostHP_Min|onHit_boostHP_Max|onHit_boostAP_Min|onHit_boostAP_Max|onHit_conditionsSource[condition|magnitude|duration|chance|]|onHit_conditionsTarget[condition|magnitude|duration|chance|]|]; +{monsters_men:3|Warden|fallhaven_warden|1x1|1|1|1|1|0|||0|0||||fallhaven_warden_select_1||||||||}; +{monsters_warrior1:0|Guard|fallhaven_guard|1x1|1|1|1|1|0|||0|0||||fallhaven_guard||||||||}; +{monsters_men:4|Acolyte|fallhaven_priest|1x1|1|1|1|1|0|||0|0||||fallhaven_priest||||||||}; +{monsters_man1:0|Bearded Citizen|fallhaven_citizen1|1x1|1|1|1|1|0|||0|0||||fallhaven_citizen1||||||||}; +{monsters_men:2|Old Citizen|fallhaven_citizen2|1x1|1|1|1|1|0|||0|0||||fallhaven_citizen2||||||||}; +{monsters_men:7|Tired Citizen|fallhaven_citizen4|1x1|1|1|1|1|0|||0|0||||fallhaven_citizen4||||||||}; +{monsters_man1:0|Citizen|fallhaven_citizen3|1x1|1|1|1|1|0|||0|0||||fallhaven_citizen3||||||||}; +{monsters_men:2|Grumpy Citizen|fallhaven_citizen5|1x1|1|1|1|1|0|||0|0||||fallhaven_citizen5||||||||}; +{monsters_men:7|Blond Citizen|fallhaven_citizen6|1x1|1|1|1|1|0|||0|0||||fallhaven_citizen6||||||||}; +{monsters_rogue1:0|Bucus|bucus|1x1|1|1|1|1|0|||0|0||||bucus_welcome||||||||}; +{monsters_men:0|Drunkard|fallhaven_drunk|1x1|1|1|1|1|0|||0|0||||fallhaven_drunk||||||||}; +{monsters_men:5|Old man|fallhaven_oldman|1x1|1|1|1|1|0|||0|0||||fallhaven_oldman||||||||}; +{monsters_men:8|Nocmar|nocmar|1x1|1|1|1|1|0|||0|0|||nocmar|nocmar||||||||}; +{monsters_rogue1:0|Prisoner|fallhaven_prisoner|1x1|1|1|1|1|0|||0|0||||||||||||}; +{monsters_rogue1:0|Ganos|ganos|1x1|1|1|1|1|0|||0|0|||ganos|ganos||||||||}; +{monsters_mage2:0|Arcir|arcir|1x1|1|1|1|1|0|||0|0||||arcir_start||||||||}; +{monsters_men:4|Athamyr|athamyr|1x1|1|1|1|1|0|||0|0||||athamyr||||||||}; +{monsters_men2:8|Thoronir|thoronir|1x1|1|1|1|1|0|||0|0|||thoronir|thoronir_default||||||||}; +{monsters_men:6|Chapelgoer|chapelgoer|1x1|1|1|1|1|0|||0|0||||chapelgoer||||||||}; +{monsters_mage2:0|Potion merchant|fallhaven_potions|1x1|1|1|1|1|0|||0|0|||fallhaven_potions|fallhaven_potions||||||||}; +{monsters_men2:0|Tailor|fallhaven_clothes|1x1|1|1|1|1|0|||0|0|||fallhaven_clothes|fallhaven_clothes||||||||}; +{monsters_men:7|Bela|bela|1x1|1|1|1|1|0|||0|0|||shop_food|bela||||||||}; +{monsters_men2:2|Larcal|larcal|1x1|51|10|10|10|25|||1|2|50||larcal|larcal||||||||}; +{monsters_men2:9|Gaela|gaela|1x1|1|1|1|1|0|||0|0||||gaela||||||||}; +{monsters_mage2:0|Unnmir|unnmir|1x1|1|1|1|1|0|||0|0||||unnmir||||||||}; +{monsters_men:1|Rigmor|rigmor|1x1|1|1|1|1|0|||0|0||||rigmor||||||||}; -{monsters_men2:2|Jakrar|fallhaven_lumberjack|||1|1|1|1|1|||1|1|||fallhaven_lumberjack|}; -{monsters_mage2:0|Alaun|alaun|||1|1|1|1|1|||1|1|||alaun|}; -{monsters_man1:0|Busy Farmer|fallhaven_farmer1|||1|1|1|1|1|||1|1|||fallhaven_farmer1|}; -{monsters_mage2:0|Old Farmer|fallhaven_farmer2|||1|1|1|1|1|||1|1|||fallhaven_farmer2|}; -{monsters_men:3|Khorand|khorand|||1|1|1|1|1|||1|1|||khorand|}; +{monsters_men2:2|Jakrar|fallhaven_lumberjack||1|1|1|1|1|||1|1|1|||fallhaven_lumberjack||||||||}; +{monsters_mage2:0|Alaun|alaun||1|1|1|1|1|||1|1|1|||alaun||||||||}; +{monsters_man1:0|Busy Farmer|fallhaven_farmer1||1|1|1|1|1|||1|1|1|||fallhaven_farmer1||||||||}; +{monsters_mage2:0|Old Farmer|fallhaven_farmer2||1|1|1|1|1|||1|1|1|||fallhaven_farmer2||||||||}; +{monsters_men:3|Khorand|khorand||1|1|1|1|1|||1|1|1|||khorand||||||||}; -{monsters_mage:0|Vacor|vacor|||72|||5|110|||4-8|40|2|vacor|vacor|}; -{monsters_men:8|Unzel|unzel|||59|||10|80|30|3|5-9|40|2|unzel|unzel|}; -{monsters_men2:9|Shady Bandit|fallhaven_bandit|||45|||5|70|30|3|3-9|50|2|fallhaven_bandit|fallhaven_bandit|}; +{monsters_mage:0|Vacor|vacor||72|||5|110|||4|8|40|2|vacor|vacor||||||||}; +{monsters_men:8|Unzel|unzel||59|||10|80|30|3|5|9|40|2|unzel|unzel||||||||}; +{monsters_men2:9|Shady Bandit|fallhaven_bandit||45|||5|70|30|3|3|9|50|2|fallhaven_bandit|fallhaven_bandit||||||||}; -[Icon|Name|Tags|Size|Exp|HP_max|AP_max|AP_move|AtkCost|AtkPct|CritPct|CritMult|DMG|BlkPct|DMG_res|Drop|Phrase|]; -{monsters_dogs:3|Wild Fox|fox2|||25|||5|100|||4-5|40||canine||}; -{monsters_insects:1|Stinging wasp|forestwasp2|||15|||10|150|||1-2|60||wasp||}; -{monsters_dogs:6|Wild Boar|forestboar2|||20|||5|110|||3|30||canineboss||}; -{monsters_insects:4|Forest Beetle|forestbeetle|||14|||10|150|||2-4|60|2|insect||}; -{monsters_dogs:4|Wolf|forestwolf1|||30|10|3|5|110|||3-6|30||canine||}; -{monsters_snakes:4|Forest serpent|forestserpent1|||20|10|5|3|150|30|2|2-3|60||snake2||}; -{monsters_snakes:4|Vicious forest serpent|forestserpent2|||27|10|5|3|150|30|2|3-4|50||snake2||}; -{monsters_dogs:6|Anklebiter|forestboar3|||31|||5|150|||3-9|60|3|canine2||}; -{monsters_men:3|Flagstone Sentry|flagstone_sentry|||1|1|1|1|1|||1|1|||flagstone_sentry|}; -{monsters_men:0|Escaped prisoner|prisoner1|||15|||10|50|||3-7|20||prisoner|prisoner1|}; -{monsters_misc:11|Starving prisoner|prisoner2|||10|||3|60|||3-5|60||prisoner|prisoner2|}; -{monsters_skeleton1:0|Bone warrior|skeleton2|||32|||5|120|||3-9|60|2|skeleton2||}; -{monsters_skeleton1:0|Bone champion|skeleton3|||49|||5|130|||4-9|60|2|skeleton3||}; -{monsters_liches:0|Undead warden|flagstone_guard0|||57|||5|120|20|2|4-8|60|1|flagstone_guard0|flagstone_guard0|}; -{monsters_demon2:0|Cave guardian|flagstone_guard1|||61|||5|150|10|3|4-10|90|2|flagstone_guard1|flagstone_guard1|}; -{monsters_demon1:0|Winged demon|flagstone_guard2|2x2||82|||5|90|10|2|4-12|70|5|flagstone_guard2|flagstone_guard2|}; -{monsters_man1:0|Narael|narael|||1|1|1|1|1|||1|1|||narael|}; -{monsters_zombie1:0|Rotting corpse|undead1|||71|||10|30|50|2|2-5|30|2|undead1|zombie1|}; -{monsters_zombie1:0|Walking corpse|undead1|||90|||10|30|40|2|2-4|30|2|undead1||}; -{monsters_misc:2|Gargoyle|undead1|||47|||10|110|10|2|3-7|70|2|undead1||}; -{monsters_misc:1|Fledgling Gargoyle|undead1|||35|||10|110|||3-6|60|2|undead1||}; -{monsters_rats:3|Large cave rat|undeadrat1|||21|10|10|3|60|10|2|3-4|40||catacombrat||}; -{monsters_dogs:5|Pack Leader|pack_boss|||65|||5|90|20|2|2-10|40|4|pack_boss||}; -{monsters_dogs:4|Pack hunter|pack3|||45|||5|90|10|2|2-7|40|3|pack3||}; -{monsters_dogs:4|Rabid Wolf|pack2|||42|||5|90|||2-6|50|3|pack2||}; -{monsters_dogs:3|Fledgling wolf|pack2|||42|||3|70|||2-5|50|3|pack2||}; -{monsters_dogs:4|Young wolf|pack1|||35|||3|60|||2-5|30|2|pack1||}; -{monsters_dogs:2|Hunting dog|pack1|||25|||5|60|||2-5|50||pack1||}; -{monsters_men:8|Highwayman|bandit1|||54|||5|90|50|2|2-4|30|2|bandit1|bandit1|}; +[iconID|name|tags|size|maxHP|maxAP|moveCost|attackCost|attackChance|criticalChance|criticalMultiplier|attackDamage_Min|attackDamage_Max|blockChance|damageResistance|droplistID|phraseID|hasHitEffect|onHit_boostHP_Min|onHit_boostHP_Max|onHit_boostAP_Min|onHit_boostAP_Max|onHit_conditionsSource[condition|magnitude|duration|chance|]|onHit_conditionsTarget[condition|magnitude|duration|chance|]|]; +{monsters_dogs:3|Wild Fox|fox2||25|||5|100|||4|5|40||canine|||||||||}; +{monsters_insects:1|Stinging wasp|forestwasp2||15|||10|150|||1|2|60||wasp|||||||||}; +{monsters_dogs:6|Wild Boar|forestboar2||20|||5|110|||3|3|30||canineboss|||||||||}; +{monsters_insects:4|Forest Beetle|forestbeetle||14|||10|150|||2|4|60|2|insect|||||||||}; +{monsters_dogs:4|Wolf|forestwolf1||30|10|3|5|110|||3|6|30||canine|||||||||}; +{monsters_snakes:4|Forest serpent|forestserpent1||20|10|5|3|150|30|2|2|3|60||snake2|||||||||}; +{monsters_snakes:4|Vicious forest serpent|forestserpent2||27|10|5|3|150|30|2|3|4|50||snake2|||||||||}; +{monsters_dogs:6|Anklebiter|forestboar3||31|||5|150|||3|9|60|3|canine2|||||||||}; +{monsters_men:3|Flagstone Sentry|flagstone_sentry||1|1|1|1|1|||1|1|1|||flagstone_sentry||||||||}; +{monsters_men:0|Escaped prisoner|prisoner1||15|||10|50|||3|7|20||prisoner|prisoner1||||||||}; +{monsters_misc:11|Starving prisoner|prisoner2||10|||3|60|||3|5|60||prisoner|prisoner2||||||||}; +{monsters_skeleton1:0|Bone warrior|skeleton2||32|||5|120|||3|9|60|2|skeleton2|||||||||}; +{monsters_skeleton1:0|Bone champion|skeleton3||49|||5|130|||4|9|60|2|skeleton3|||||||||}; +{monsters_liches:0|Undead warden|flagstone_guard0||57|||5|120|20|2|4|8|60|1|flagstone_guard0|flagstone_guard0||||||||}; +{monsters_demon2:0|Cave guardian|flagstone_guard1||61|||5|150|10|3|4|10|90|2|flagstone_guard1|flagstone_guard1||||||||}; +{monsters_demon1:0|Winged demon|flagstone_guard2|2x2|82|||5|90|10|2|4|12|70|5|flagstone_guard2|flagstone_guard2||||||||}; +{monsters_man1:0|Narael|narael||1|1|1|1|1|||1|1|1|||narael||||||||}; +{monsters_zombie1:0|Rotting corpse|undead1||71|||10|30|50|2|2|5|30|2|undead1|zombie1||||||||}; +{monsters_zombie1:0|Walking corpse|undead1||90|||10|30|40|2|2|4|30|2|undead1|||||||||}; +{monsters_misc:2|Gargoyle|undead1||47|||10|110|10|2|3|7|70|2|undead1|||||||||}; +{monsters_misc:1|Fledgling Gargoyle|undead1||35|||10|110|||3|6|60|2|undead1|||||||||}; +{monsters_rats:3|Large cave rat|undeadrat1||21|10|10|3|60|10|2|3|4|40||catacombrat|||||||||}; +{monsters_dogs:5|Pack Leader|pack_boss||65|||5|90|20|2|2|10|40|4|pack_boss|||||||||}; +{monsters_dogs:4|Pack hunter|pack3||45|||5|90|10|2|2|7|40|3|pack3|||||||||}; +{monsters_dogs:4|Rabid Wolf|pack2||42|||5|90|||2|6|50|3|pack2|||||||||}; +{monsters_dogs:3|Fledgling wolf|pack2||42|||3|70|||2|5|50|3|pack2|||||||||}; +{monsters_dogs:4|Young wolf|pack1||35|||3|60|||2|5|30|2|pack1|||||||||}; +{monsters_dogs:2|Hunting dog|pack1||25|||5|60|||2|5|50||pack1|||||||||}; +{monsters_men:8|Highwayman|bandit1||54|||5|90|50|2|2|4|30|2|bandit1|bandit1||||||||}; -[Icon|Name|Tags|Size|Exp|HP_max|AP_max|AP_move|AtkCost|AtkPct|CritPct|CritMult|DMG|BlkPct|DMG_res|Drop|Phrase|]; -{monsters_men2:9|Smug looking thief|tg_thief|1x1|0|1|1|1|1|0|||0||||thievesguild_thief_1|}; -{monsters_men:0|Thieves guild cook|tg_cook|1x1|0|1|1|1|1|0|||0|||shop_food|thievesguild_cook_1|}; -{monsters_men:7|Pickpocket|pickpocket|1x1|0|1|1|1|1|0|||0||||thievesguild_pickpocket_1|}; -{monsters_men:8|Troublemaker|troublemaker|1x1|0|1|1|1|1|0|||0|||troublemaker|thievesguild_troublemaker_1|}; -{monsters_rogue1:0|Farrik|farrik|1x1|0|1|1|1|1|0|||0||||farrik_select_1|}; -{monsters_man1:0|Umar|umar|1x1|0|1|1|1|1|0|||0||||umar_select_1|}; -{monsters_men:7|Kaori|kaori|1x1|0|1|1|1|1|0|||0||||kaori_start|}; -{monsters_men:0|Old Vilegard villager|vilegard_villager_1|1x1|0|1|1|1|1|0|||0||||vilegard_villager_1|}; -{monsters_men:5|Grumpy Vilegard villager|vilegard_villager_2|1x1|0|1|1|1|1|0|||0||||vilegard_villager_2|}; -{monsters_men:1|Vilegard citizen|vilegard_villager_3|1x1|0|1|1|1|1|0|||0||||vilegard_villager_3|}; -{monsters_men2:0|Vilegard resident|vilegard_villager_4|1x1|0|1|1|1|1|0|||0||||vilegard_villager_4|}; -{monsters_men:6|Vilegard woman|vilegard_villager_5|1x1|0|1|1|1|1|0|||0||||vilegard_villager_5|}; -{monsters_mage2:0|Erttu|erttu|1x1|0|1|1|1|1|0|||0||||erttu_1|}; -{monsters_rogue1:0|Dunla|dunla|1x1|0|1|1|1|1|0|||0|||dunla|dunla_default|}; -{monsters_men:7|Tharwyn|tharwyn|1x1|0|1|1|1|1|0|||0|||shop_food|tharwyn_select|}; -{monsters_men:0|Tavern guest|vg_tavern_drunk|1x1|0|1|1|1|1|0|||0||||vilegard_tavern_drunk_1|}; -{monsters_men2:8|Jolnor|jolnor|1x1|0|1|1|1|1|0|||0|||jolnor|jolnor_select_1|}; -{monsters_mage2:0|Alynndir|alynndir|1x1|0|1|1|1|1|0|||0|||alynndir|alynndir_1|}; -{monsters_mage2:0|Vilegard armorer|vg_armorer|1x1|0|1|1|1|1|0|||0|||vg_armorer|vilegard_armorer_select|}; -{monsters_mage2:0|Vilegard smith|vg_smith|1x1|0|1|1|1|1|0|||0|||vg_smith|vilegard_smith_select|}; -{monsters_men:0|Ogam|ogam|1x1|0|1|1|1|1|0|||0||||ogam_1|}; -{monsters_men:0|Foaming Flask cook|ff_cook|1x1|0|1|1|1|1|0|||0||||ff_cook_1|}; -{monsters_men2:9|Torilo|torilo|1x1|0|1|1|1|1|0|||0|||shop_food|torilo_1|}; -{monsters_men:6|Ambelie|ambelie|1x1|0|1|1|1|1|0|||0||||ambelie_1|}; -{monsters_warrior1:0|Feygard patrol|ff_guard|1x1|0|1|1|1|1|0|||0||||ff_guard_1|}; -{monsters_men:3|Feygard patrol captain|ff_captain|1x1|0|1|1|1|1|0|||0||||ff_captain_1|}; -{monsters_warrior1:0|Feygard patrol watch|ff_outsideguard|1x1|0|80|||5|70|||2-7|80|3|ff_outsideguard|ff_outsideguard_select|}; -{monsters_men:6|Wrye|wrye|1x1|0|1|1|1|1|0|||0||||wrye_select_1|}; -{monsters_men:8|Oluag|oluag|1x1|0|1|1|1|1|0|||0||||oluag_1|}; +[iconID|name|tags|size|maxHP|maxAP|moveCost|attackCost|attackChance|criticalChance|criticalMultiplier|attackDamage_Min|attackDamage_Max|blockChance|damageResistance|droplistID|phraseID|hasHitEffect|onHit_boostHP_Min|onHit_boostHP_Max|onHit_boostAP_Min|onHit_boostAP_Max|onHit_conditionsSource[condition|magnitude|duration|chance|]|onHit_conditionsTarget[condition|magnitude|duration|chance|]|]; +{monsters_men2:9|Smug looking thief|tg_thief|1x1|1|1|1|1|0|||0|0||||thievesguild_thief_1||||||||}; +{monsters_men:0|Thieves guild cook|tg_cook|1x1|1|1|1|1|0|||0|0|||shop_food|thievesguild_cook_1||||||||}; +{monsters_men:7|Pickpocket|pickpocket|1x1|1|1|1|1|0|||0|0||||thievesguild_pickpocket_1||||||||}; +{monsters_men:8|Troublemaker|troublemaker|1x1|1|1|1|1|0|||0|0|||troublemaker|thievesguild_troublemaker_1||||||||}; +{monsters_rogue1:0|Farrik|farrik|1x1|1|1|1|1|0|||0|0||||farrik_select_1||||||||}; +{monsters_man1:0|Umar|umar|1x1|1|1|1|1|0|||0|0||||umar_select_1||||||||}; +{monsters_men:7|Kaori|kaori|1x1|1|1|1|1|0|||0|0||||kaori_start||||||||}; +{monsters_men:0|Old Vilegard villager|vilegard_villager_1|1x1|1|1|1|1|0|||0|0||||vilegard_villager_1||||||||}; +{monsters_men:5|Grumpy Vilegard villager|vilegard_villager_2|1x1|1|1|1|1|0|||0|0||||vilegard_villager_2||||||||}; +{monsters_men:1|Vilegard citizen|vilegard_villager_3|1x1|1|1|1|1|0|||0|0||||vilegard_villager_3||||||||}; +{monsters_men2:0|Vilegard resident|vilegard_villager_4|1x1|1|1|1|1|0|||0|0||||vilegard_villager_4||||||||}; +{monsters_men:6|Vilegard woman|vilegard_villager_5|1x1|1|1|1|1|0|||0|0||||vilegard_villager_5||||||||}; +{monsters_mage2:0|Erttu|erttu|1x1|1|1|1|1|0|||0|0||||erttu_1||||||||}; +{monsters_rogue1:0|Dunla|dunla|1x1|1|1|1|1|0|||0|0|||dunla|dunla_default||||||||}; +{monsters_men:7|Tharwyn|tharwyn|1x1|1|1|1|1|0|||0|0|||shop_food|tharwyn_select||||||||}; +{monsters_men:0|Tavern guest|vg_tavern_drunk|1x1|1|1|1|1|0|||0|0||||vilegard_tavern_drunk_1||||||||}; +{monsters_men2:8|Jolnor|jolnor|1x1|1|1|1|1|0|||0|0|||jolnor|jolnor_select_1||||||||}; +{monsters_mage2:0|Alynndir|alynndir|1x1|1|1|1|1|0|||0|0|||alynndir|alynndir_1||||||||}; +{monsters_mage2:0|Vilegard armorer|vg_armorer|1x1|1|1|1|1|0|||0|0|||vg_armorer|vilegard_armorer_select||||||||}; +{monsters_mage2:0|Vilegard smith|vg_smith|1x1|1|1|1|1|0|||0|0|||vg_smith|vilegard_smith_select||||||||}; +{monsters_men:0|Ogam|ogam|1x1|1|1|1|1|0|||0|0||||ogam_1||||||||}; +{monsters_men:0|Foaming Flask cook|ff_cook|1x1|1|1|1|1|0|||0|0||||ff_cook_1||||||||}; +{monsters_men2:9|Torilo|torilo|1x1|1|1|1|1|0|||0|0|||shop_food|torilo_1||||||||}; +{monsters_men:6|Ambelie|ambelie|1x1|1|1|1|1|0|||0|0||||ambelie_1||||||||}; +{monsters_warrior1:0|Feygard patrol|ff_guard|1x1|1|1|1|1|0|||0|0||||ff_guard_1||||||||}; +{monsters_men:3|Feygard patrol captain|ff_captain|1x1|1|1|1|1|0|||0|0||||ff_captain_1||||||||}; +{monsters_warrior1:0|Feygard patrol watch|ff_outsideguard|1x1|80|||5|70|||2|7|80|3|ff_outsideguard|ff_outsideguard_select||||||||}; +{monsters_men:6|Wrye|wrye|1x1|1|1|1|1|0|||0|0||||wrye_select_1||||||||}; +{monsters_men:8|Oluag|oluag|1x1|1|1|1|1|0|||0|0||||oluag_1||||||||}; -{monsters_dogs:6|Cave dwelling boar|caveboar1|||35|||5|70|||3-8|60|3|canine2||}; -{monsters_insects:4|Hardshell beetle|beetle2|||25|||5|50|||0-5|40|9|beetle2||}; -{monsters_misc:1|Young shadow gargoyle|shadowgarg1|||35|||5|65|8|3|3-9|75|3|shadowgarg1||}; -{monsters_misc:1|Fledgling shadow gargoyle|shadowgarg1|||36|||5|65|8|3|3-9|75|3|shadowgarg1||}; -{monsters_misc:2|Shadow gargoyle|shadowgarg2|||37|||5|70|8|3|4-10|85|3|shadowgarg1||}; -{monsters_misc:2|Tough shadow gargoyle|shadowgarg2|||37|||5|70|8|3|4-10|85|4|shadowgarg2||}; -{monsters_liches:0|Shadow gargoyle trainer|shadowgarg3|||35|||5|90|12|3|3-6|90|5|shadowgarg3||}; -{monsters_liches:1|Shadow gargoyle master|shadowgarg4|||35|||5|125|12|3|3-6|90|5|shadowgarg3||}; -{monsters_liches:2|Maelveon|maelveon|||55|||3|80|15|3|0-12|90|5|maelveon|maelveon|}; +{monsters_dogs:6|Cave dwelling boar|caveboar1||35|||5|70|||3|8|60|3|canine2|||||||||}; +{monsters_insects:4|Hardshell beetle|beetle2||25|||5|50|||0|5|40|9|beetle2|||||||||}; +{monsters_misc:1|Young shadow gargoyle|shadowgarg1||35|||5|65|8|3|3|9|75|3|shadowgarg1|||||||||}; +{monsters_misc:1|Fledgling shadow gargoyle|shadowgarg1||36|||5|65|8|3|3|9|75|3|shadowgarg1|||||||||}; +{monsters_misc:2|Shadow gargoyle|shadowgarg2||37|||5|70|8|3|4|10|85|3|shadowgarg1|||||||||}; +{monsters_misc:2|Tough shadow gargoyle|shadowgarg2||37|||5|70|8|3|4|10|85|4|shadowgarg2|||||||||}; +{monsters_liches:0|Shadow gargoyle trainer|shadowgarg3||35|||5|90|12|3|3|6|90|5|shadowgarg3|||||||||}; +{monsters_liches:1|Shadow gargoyle master|shadowgarg4||35|||5|125|12|3|3|6|90|5|shadowgarg3|||||||||}; +{monsters_liches:2|Maelveon|maelveon||55|||3|80|15|3|0|12|90|5|maelveon|maelveon||||||||}; diff --git a/AndorsTrail/res/values/questlist.xml b/AndorsTrail/res/values/questlist.xml index f44b9e391..4153a5f4d 100644 --- a/AndorsTrail/res/values/questlist.xml +++ b/AndorsTrail/res/values/questlist.xml @@ -2,39 +2,39 @@ -[ID|Name|DisplayText|ShowInLog|]; -{debugquest|Debug Quest|You should give some items to the NPC. (Iron swords)\n\nTest.|1|}; +[id|name|showInLog|stages[progress|logText|rewardExperience|finishesQuest|]|]; +{debugquest|Debug Quest|1|{{10|I have talked to the NPC||0|}{20|I have asked the NPC for more info.|20|0|}{100|I have given the items to the NPC|40|1|}}|}; -[ID|Name|DisplayText|ShowInLog|]; -{andor|Search for Andor|Find out where Andor went.|1|}; -{mikhail_bread|Breakfast bread||1|}; -{mikhail_rats|Rats!||1|}; -{leta|Missing husband||1|}; -{odair|Rat infestation||1|}; -{bonemeal|Disallowed substance||1|}; -{crossglen|TODO|Not complete yet.|0|}; -{jan|Fallen friends||1|}; -{bucus|Key of Luthor||1|}; -{fallhavendrunk|Drunken tale||1|}; -{calomyran|Calomyran secrets||1|}; -{fallhaventavern|Room to rent|Access to the room in Fallhaven tavern.|0|}; -{nocmar|Lost treasures||1|}; -{arcir|Elythara|Not done yet.|0|}; -{flagstone|Ancient secrets|Investigate the secrets of Flagstone.|1|}; -{vacor|Missing pieces|Help Vacor find the missing pieces of his rift spell.|1|}; +[id|name|showInLog|stages[progress|logText|rewardExperience|finishesQuest|]|]; +{andor|Search for Andor|1|{{1|My father Mikhail says that Andor has not been home since yesterday. I should go look for him in the village.||0|}{10|Leonid tells me that he saw Andor talking to Gruil. I should go ask Gruil if he knows more.||0|}{20|Gruil wants me to bring him a poison gland. Then he might talk more. He tells me that some poisonous snakes have such a gland.||0|}{30|Gruil tells me that Andor was looking for someone called Umar. I should go ask his friend Gaela in Fallhaven to the east.||0|}{40|I talked to Gaela in Fallhaven. He tells me to go see Bucus and ask about the thieves guild.||0|}{50|Bucus has allowed me to enter the hatch in the derelict house in Fallhaven. I should go talk to Umar.||0|}{51|Umar in the Fallhaven thieves guild recognized me, but must have me mixed up with Andor. Apparently, Andor has been to see him.||0|}{55|Umar told me that Andor went to see a potioner called Lodar. I should search for his hideaway.||0|}}|}; +{mikhail_bread|Breakfast bread|1|{{100|I have brought the bread to Mikhail.||1|}{10|Mikhail wants me to go buy a loaf of bread from Mara at the town hall.||0|}}|}; +{mikhail_rats|Rats!|1|{{100|I have killed the two rats in our garden.|20|1|}{10|Mikhail wants me to go check our garden for some rats. I should kill the rats in our garden and return to Mikhail. If I get hurt, I can come back to the bed and rest to regain my health.||0|}}|}; +{leta|Missing husband|1|{{10|Leta in Crossglen village wants me to look for her husband Oromir.||0|}{20|I have found Oromir in Crossglen village, hiding from his wife Leta.||0|}{100|I have told Leta that Oromir is hiding in Crossglen village.|30|1|}}|}; +{odair|Rat infestation|1|{{10|Odair wants me to clear the supply cave in Crossglen village of rats. In particular, I should kill the large rat and return to Odair.||0|}{100|I have helped Odair clear out the rats in the supply cave in Crossglen village.|30|1|}}|}; +{bonemeal|Disallowed substance|1|{{10|Leonid in Crossglen town hall tells me that there was a disturbance in the village some weeks ago. Apparently, Lord Geomyr has banned all use of bonemeal as a healing substance.\n\nTharal, the town priest should know more.||0|}{20|Tharal does not want to talk about bonemeal. I might be able to persuade him by bringing him 5 insect wings.||0|}{30|Tharal tells me that bonemeal is a very potent healing substance, and is quite upset that it is not allowed anymore. I should go see Thoronir in Fallhaven if I want to learn more. I should tell him the password \'Glow of the Shadow\'.||0|}{40|I have talked to Thoronir in Fallhaven. He might be able to mix me a bonemeal potion if I bring him 5 skeletal bones. There should be some skeletons in an abandoned house north of Fallhaven.||0|}{100|I have brought the bones to Thoronir. He is now able to supply me with bonemeal potions.\nI should be careful when using them though, since Lord Geomyr has banned their use.|90|1|}}|}; +{crossglen|TODO|0|{{1|||0|}}|}; +{jan|Fallen friends|1|{{10|Jan tells me his story where, he and his two friends Gandir and Irogotu, went down the hole to dig for a hidden treasure, but they started fighting and Irogotu killed Gandir in his rage.\nI should bring back Gandir\'s ring from Irogotu, and see Jan when I have it.||0|}{100|Irogotu is dead. I have brought Jan the ring of Gandir, and avenged his friend.|150|1|}}|}; +{bucus|Key of Luthor|1|{{10|Bucus in Fallhaven might know something about Andor. He wants me to bring him the key of Luthor from the catacombs beneath Fallhaven church.||0|}{20|The catacombs beneath Fallhaven church are closed off. Athamyr is the only one with both permission and the bravery to enter them. I should go see him in his house southwest of the church.||0|}{30|Athamyr wants me to bring him some cooked meat, then maybe he will want to talk more.||0|}{40|I brought some cooked meat to Athamyr.|70|0|}{50|Athamyr has given me permission to enter the catacombs beneath Fallhaven church.||0|}{100|I brought Bucus the key of Luthor.|215|1|}}|}; +{fallhavendrunk|Drunken tale|1|{{10|A drunk outside Fallhaven tavern began telling me his story, but wants me to bring him some mead. I don\'t know if his story will lead anywhere though.||0|}{100|The drunk told me he used to travel with Unnmir. I should go talk to Unnmir.||1|}}|}; +{calomyran|Calomyran secrets|1|{{10|An old man standing outside in Fallhaven has lost his book \'Calomyran Secrets\'. I should go look for it. Maybe in Arcir\'s house to the south?||0|}{20|I found a torn page of a book called \'Calomyran Secrets\' with the name \'Larcal\' written on it.||0|}{100|I gave the book back to the old man.|60|1|}}|}; +{fallhaventavern|Room to rent|0|{{10|||1|}}|}; +{nocmar|Lost treasures|1|{{10|Unnmir told me he used to be an adventurer, and gave me a hint to go see Nocmar. His house is just southwest of the tavern in Fallhaven.||0|}{20|Nocmar tells me he used to be a smith. But Lord Geomyr has banned the use of heartsteel, so he cannot forge his weapons anymore.\nIf I can find a heartstone and bring it to Nocmar, he should be able to forge the heartsteel again.||0|}{200|I have brought a heartstone to Nocmar. He should have heartsteel items available now.|120|1|}}|}; +{arcir|Elythara|0|{{10|||0|}}|}; +{flagstone|Ancient secrets|1|{{10|I met a guard on sentry outside a fortress called Flagstone. The guard told me that Flagstone used to be a prison camp for runaway workers from Mount Galmore. Recently, there has been an increase in undead monsters pouring out from Flagstone. I should investigate the source of the undead monsters. The guard tells me to return to him if I need help.||0|}{20|I found a dug out tunnel beneath Flagstone, that seems to lead to a larger cave. The cave is guarded by a demon that I am not even able to approach. Maybe the guard outside Flagstone knows more?||0|}{30|The guard tells me that the former warden used to have a necklace that he always wore. The necklace probably has the words required to approach the demon. I should return to the guard to decipher any message on the necklace once I have found it.||0|}{31|I found the former warden of Flagstone on the upper level. I should return to the guard now.||0|}{40|I have learned the words required to approach the demon beneath Flagstone. \'Daylight Shadow\'.|160|0|}{50|Deep beneath Flagstone, I found the source of the undead infestation. A creature born from the grief of the former prisoners of Flagstone.||0|}{60|I found one prisoner, Narael, alive deep beneath Flagstone. Narael was once a citizen of Nor City. He is too weak to walk by himself, but if I can find his wife in Nor City, I would be handsomely rewarded.|210|1|}}|}; +{vacor|Missing pieces|1|{{10|A mage called Vacor in southwest Fallhaven has been trying to cast a rift spell.\nThere was something not right about him, he seemed very obsessed with his spell. Something about him gaining a power from it.||0|}{20|Vacor wants me to bring him the four pieces of the rift spell that he claims was stolen from him. The four bandits should be somewhere south of Fallhaven.||0|}{30|I have brought the four pieces of the rift spell to Vacor.|120|0|}{40|Vacor tells me about his former apprentice Unzel, who had started to question Vacor. Vacor now wants me to kill Unzel. I should be able to find him to the southwest outside of Fallhaven. I should bring his signet ring to Vacor once I have killed him.||0|}{50|Unzel gives me a choice to side with either Vacor or him.||0|}{51|I have chosen to side with Unzel. I should go to southwest Fallhaven to talk to Vacor about Unzel and the Shadow.||0|}{53|I started a fight with Unzel. I should bring his ring to Vacor once he is dead.||0|}{54|I started a fight with Vacor. I should bring his ring to Unzel once he is dead.||0|}{60|I have killed Unzel and told Vacor about the deed.|160|1|}{61|I have killed Vacor and told Unzel about the deed.|160|1|}}|}; -[ID|Name|DisplayText|ShowInLog|]; -{nondisplay|Placeholder for hidden quests|This quest is not shown anywhere, only used internally.|0|}; -{farrik|Night visit|The thieves in Fallhaven are planning an escape for their imprisoned friend.|1|}; -{lodar|A lost potion||1|}; -{vilegard|Trusting an outsider||1|}; -{kaori|Kaori\'s errands||1|}; -{wrye|Uncertain cause||1|}; -{jolnor|Spies in the foam||1|}; +[id|name|showInLog|stages[progress|logText|rewardExperience|finishesQuest|]|]; +{nondisplay|Placeholder for hidden quests|0|{{10|Tavern room in Foaming Flask (not displayed)||0|}}|}; +{farrik|Night visit|1|{{10|Farrik in the Fallhaven thieves guild told me of a plan to help a fellow thief escape from Fallhaven prison.||0|}{20|Farrik in the Fallhaven thieves guild told me the details of the plan, and I accepted to help him. The guard captain apparently has a drinking problem. The plan is that I get a prepared mead from the cook in the thieves guild that will knock out the guard captain in the prison. I might be required to bribe the guard captain.||0|}{25|I got the prepared mead from the cook in the thieves guild.||0|}{30|I told Farrik that I don\'t fully agree with their plan. I might tell the guard captain about their shady plan.||0|}{32|I have given the prepared mead to the guard captain.||0|}{40|I have told the guard captain of the plan that the thieves have to release their friend.||0|}{50|The guard captain wants me to tell the thieves that the security will be lowered for tonight. We might be able to catch some of the thieves.||0|}{60|I managed to bribe the guard captain into drinking the prepared mead. He should be out during the night allowing the thieves to break their friend free.||0|}{70|Farrik rewarded me for helping the thieves guild.|150|1|}{80|I have told Farrik that the security will be lowered tonight.||0|}{90|The guard captain thanked me for helping him plan to catch the thieves. He said he will also tell other guards that I helped him.|170|1|}}|}; +{lodar|A lost potion|1|{{10|I should find a potioner called Lodar. Umar in Fallhaven thieves guild told me I that I will need to know the right words to pass a guardian in order to reach Lodar\'s hideaway.||0|}{15|Umar told me I should go see someone galled Ogam in Vilegard. Ogam can supply me with the right words to reach Lodar\'s hideaway.||0|}{20|I have visited Ogam in southwest Vilegard. He was talking in what seemed like riddles. I could barely make out some details when I asked about Lodar\'s hideaway. \'Halfway between the Shadow and the light. Rocky formations.\' and the words \'Glow of the Shadow.\' were among the things he said. I am not sure what they mean.||0|}}|}; +{vilegard|Trusting an outsider|1|{{10|The people of Vilegard are very suspicious of outsiders. I was told to go see Jolnor in the Vilegard chapel if I want to gain their trust.||0|}{20|I have talked to Jolnor in the Vilegard chapel. He suggests I help three infuential people in order to gain the trust of the people in Vilegard. I should help Kaori, Wrye and Jolnor in Vilegard.||0|}{30|I have helped all three people in Vilegard that Jolnor suggested. Now the people of Vilegard should trust me more.|210|1|}}|}; +{kaori|Kaori\'s errands|1|{{5|Jolnor in Vilegard chapel wants me to talk to Kaori in northern Vilegard, to see if she wants any help.||0|}{10|Kaori in northern Vilegard wants me to bring her 10 bonemeal potions.||0|}{20|I have brought 10 bonemeal potions to Kaori.|52|1|}}|}; +{wrye|Uncertain cause|1|{{10|Jolnor in Vilegard chapel wants me to talk to Wrye in northern Vilegard. She has apprently lost her son recently.||0|}{20|Wrye in northern Vilegard tells me that her son Rincel has gone missing. She thinks that he has died or gotten critically hurt.||0|}{30|Wrye tells me that she thinks the royal guard from Feygard are involved in his disappearance, and that they have recruited him.||0|}{40|Wrye wants me to go search for clues as to what has happened to her son.||0|}{41|I should go look in the Vilegard tavern and the Foaming Flask tavern north of Vilegard.|20|0|}{42|I heard of a boy being in the Foaming Flask tavern a while ago. Apparently he left to the west of the tavern somewhere.||0|}{80|To the northwest of Vilegard I found a man that had found Rincel fighting some monsters. Rincel had apprently left Vilegard by his own will to go see the city of Feygard. I should go tell Wrye in northern Vilegard what happened to her son.||0|}{90|I have told Wrye the truth about her son\'s disappearance.|52|1|}}|}; +{jolnor|Spies in the foam|1|{{10|Jolnor in Vilegard chapel tells me of a guard outside of the Foaming Flask tavern, that he thinks is a spy for the Feygard royal guard. He wants me to make the guard disappear, in any way that I see fit. The tavern should be just north of Vilegard.||0|}{20|I have convinced the guard outside the Foaming Flask tavern to leave after his shift ends.||0|}{21|I have started a fight with the guard outside the Foaming Flask tavern. I should bring his Feygard royal guard ring to Jolnor once he is dead to show Jolnor that he has disappeared.||0|}{30|I have told Jolnor that the guard is now gone.|63|1|}}|}; diff --git a/AndorsTrail/res/values/questlog.xml b/AndorsTrail/res/values/questlog.xml deleted file mode 100644 index 25e8746ca..000000000 --- a/AndorsTrail/res/values/questlog.xml +++ /dev/null @@ -1,130 +0,0 @@ - - - - -[QuestID|Progress|LogText|RewardExp|ResolvesQuest|]; -{debugquest|10|I have talked to the NPC||0|}; -{debugquest|20|I have asked the NPC for more info.|20|0|}; -{debugquest|100|I have given the items to the NPC|40|1|}; - - - -[QuestID|Progress|LogText|RewardExp|ResolvesQuest|]; -{andor|1|My father Mikhail says that Andor has not been home since yesterday. I should go look for him in the village.||0|}; -{mikhail_bread|100|I have brought the bread to Mikhail.||1|}; -{mikhail_bread|10|Mikhail wants me to go buy a loaf of bread from Mara at the town hall.||0|}; -{mikhail_rats|100|I have killed the two rats in our garden.|20|1|}; -{mikhail_rats|10|Mikhail wants me to go check our garden for some rats. I should kill the rats in our garden and return to Mikhail. If I get hurt, I can come back to the bed and rest to regain my health.||0|}; -{leta|10|Leta in Crossglen village wants me to look for her husband Oromir.||0|}; -{leta|20|I have found Oromir in Crossglen village, hiding from his wife Leta.||0|}; -{leta|100|I have told Leta that Oromir is hiding in Crossglen village.|30|1|}; -{odair|10|Odair wants me to clear the supply cave in Crossglen village of rats. In particular, I should kill the large rat and return to Odair.||0|}; -{odair|100|I have helped Odair clear out the rats in the supply cave in Crossglen village.|30|1|}; -{bonemeal|10|Leonid in Crossglen town hall tells me that there was a disturbance in the village some weeks ago. Apparently, Lord Geomyr has banned all use of bonemeal as a healing substance.\n\nTharal, the town priest should know more.||0|}; -{bonemeal|20|Tharal does not want to talk about bonemeal. I might be able to persuade him by bringing him 5 insect wings.||0|}; -{bonemeal|30|Tharal tells me that bonemeal is a very potent healing substance, and is quite upset that it is not allowed anymore. I should go see Thoronir in Fallhaven if I want to learn more. I should tell him the password \'Glow of the Shadow\'.||0|}; -{bonemeal|40|I have talked to Thoronir in Fallhaven. He might be able to mix me a bonemeal potion if I bring him 5 skeletal bones. There should be some skeletons in an abandoned house north of Fallhaven.||0|}; -{bonemeal|100|I have brought the bones to Thoronir. He is now able to supply me with bonemeal potions.\nI should be careful when using them though, since Lord Geomyr has banned their use.|90|1|}; -{andor|10|Leonid tells me that he saw Andor talking to Gruil. I should go ask Gruil if he knows more.||0|}; -{andor|20|Gruil wants me to bring him a poison gland. Then he might talk more. He tells me that some poisonous snakes have such a gland.||0|}; -{andor|30|Gruil tells me that Andor was looking for someone called Umar. I should go ask his friend Gaela in Fallhaven to the east.||0|}; -{crossglen|1|||0|}; -{jan|10|Jan tells me his story where, he and his two friends Gandir and Irogotu, went down the hole to dig for a hidden treasure, but they started fighting and Irogotu killed Gandir in his rage.\nI should bring back Gandir\'s ring from Irogotu, and see Jan when I have it.||0|}; -{jan|100|Irogotu is dead. I have brought Jan the ring of Gandir, and avenged his friend.|150|1|}; - - - -[QuestID|Progress|LogText|RewardExp|ResolvesQuest|]; -{bucus|10|Bucus in Fallhaven might know something about Andor. He wants me to bring him the key of Luthor from the catacombs beneath Fallhaven church.||0|}; -{bucus|20|The catacombs beneath Fallhaven church are closed off. Athamyr is the only one with both permission and the bravery to enter them. I should go see him in his house southwest of the church.||0|}; -{bucus|30|Athamyr wants me to bring him some cooked meat, then maybe he will want to talk more.||0|}; -{bucus|40|I brought some cooked meat to Athamyr.|70|0|}; -{bucus|50|Athamyr has given me permission to enter the catacombs beneath Fallhaven church.||0|}; -{bucus|100|I brought Bucus the key of Luthor.|215|1|}; -{andor|40|I talked to Gaela in Fallhaven. He tells me to go see Bucus and ask about the thieves guild.||0|}; -{andor|50|Bucus has allowed me to enter the hatch in the derelict house in Fallhaven. I should go talk to Umar.||0|}; -{fallhavendrunk|10|A drunk outside Fallhaven tavern began telling me his story, but wants me to bring him some mead. I don\'t know if his story will lead anywhere though.||0|}; -{fallhavendrunk|100|The drunk told me he used to travel with Unnmir. I should go talk to Unnmir.||1|}; -{nocmar|10|Unnmir told me he used to be an adventurer, and gave me a hint to go see Nocmar. His house is just southwest of the tavern in Fallhaven.||0|}; -{nocmar|20|Nocmar tells me he used to be a smith. But Lord Geomyr has banned the use of heartsteel, so he cannot forge his weapons anymore.\nIf I can find a heartstone and bring it to Nocmar, he should be able to forge the heartsteel again.||0|}; -{nocmar|200|I have brought a heartstone to Nocmar. He should have heartsteel items available now.|120|1|}; -{fallhaventavern|10|||1|}; -{arcir|10|||0|}; -{calomyran|10|An old man standing outside in Fallhaven has lost his book \'Calomyran Secrets\'. I should go look for it. Maybe in Arcir\'s house to the south?||0|}; -{calomyran|20|I found a torn page of a book called \'Calomyran Secrets\' with the name \'Larcal\' written on it.||0|}; -{calomyran|100|I gave the book back to the old man.|60|1|}; - - - -[QuestID|Progress|LogText|RewardExp|ResolvesQuest|]; -{vacor|10|A mage called Vacor in southwest Fallhaven has been trying to cast a rift spell.\nThere was something not right about him, he seemed very obsessed with his spell. Something about him gaining a power from it.||0|}; -{vacor|20|Vacor wants me to bring him the four pieces of the rift spell that he claims was stolen from him. The four bandits should be somewhere south of Fallhaven.||0|}; -{vacor|30|I have brought the four pieces of the rift spell to Vacor.|120|0|}; -{vacor|40|Vacor tells me about his former apprentice Unzel, who had started to question Vacor. Vacor now wants me to kill Unzel. I should be able to find him to the southwest outside of Fallhaven. I should bring his signet ring to Vacor once I have killed him.||0|}; -{vacor|50|Unzel gives me a choice to side with either Vacor or him.||0|}; -{vacor|51|I have chosen to side with Unzel. I should go to southwest Fallhaven to talk to Vacor about Unzel and the Shadow.||0|}; -{vacor|53|I started a fight with Unzel. I should bring his ring to Vacor once he is dead.||0|}; -{vacor|54|I started a fight with Vacor. I should bring his ring to Unzel once he is dead.||0|}; -{vacor|60|I have killed Unzel and told Vacor about the deed.|160|1|}; -{vacor|61|I have killed Vacor and told Unzel about the deed.|160|1|}; - - - -[QuestID|Progress|LogText|RewardExp|ResolvesQuest|]; -{flagstone|10|I met a guard on sentry outside a fortress called Flagstone. The guard told me that Flagstone used to be a prison camp for runaway workers from Mount Galmore. Recently, there has been an increase in undead monsters pouring out from Flagstone. I should investigate the source of the undead monsters. The guard tells me to return to him if I need help.||0|}; -{flagstone|20|I found a dug out tunnel beneath Flagstone, that seems to lead to a larger cave. The cave is guarded by a demon that I am not even able to approach. Maybe the guard outside Flagstone knows more?||0|}; -{flagstone|30|The guard tells me that the former warden used to have a necklace that he always wore. The necklace probably has the words required to approach the demon. I should return to the guard to decipher any message on the necklace once I have found it.||0|}; -{flagstone|31|I found the former warden of Flagstone on the upper level. I should return to the guard now.||0|}; -{flagstone|40|I have learned the words required to approach the demon beneath Flagstone. \'Daylight Shadow\'.|160|0|}; -{flagstone|50|Deep beneath Flagstone, I found the source of the undead infestation. A creature born from the grief of the former prisoners of Flagstone.||0|}; -{flagstone|60|I found one prisoner, Narael, alive deep beneath Flagstone. Narael was once a citizen of Nor City. He is too weak to walk by himself, but if I can find his wife in Nor City, I would be handsomely rewarded.|210|1|}; - - - - -[QuestID|Progress|LogText|RewardExp|ResolvesQuest|]; -{farrik|10|Farrik in the Fallhaven thieves guild told me of a plan to help a fellow thief escape from Fallhaven prison.||0|}; -{farrik|20|Farrik in the Fallhaven thieves guild told me the details of the plan, and I accepted to help him. The guard captain apparently has a drinking problem. The plan is that I get a prepared mead from the cook in the thieves guild that will knock out the guard captain in the prison. I might be required to bribe the guard captain.||0|}; -{farrik|25|I got the prepared mead from the cook in the thieves guild.||0|}; -{farrik|30|I told Farrik that I don\'t fully agree with their plan. I might tell the guard captain about their shady plan.||0|}; -{farrik|32|I have given the prepared mead to the guard captain.||0|}; -{farrik|40|I have told the guard captain of the plan that the thieves have to release their friend.||0|}; -{farrik|50|The guard captain wants me to tell the thieves that the security will be lowered for tonight. We might be able to catch some of the thieves.||0|}; -{farrik|60|I managed to bribe the guard captain into drinking the prepared mead. He should be out during the night allowing the thieves to break their friend free.||0|}; -{farrik|70|Farrik rewarded me for helping the thieves guild.|150|1|}; -{farrik|80|I have told Farrik that the security will be lowered tonight.||0|}; -{farrik|90|The guard captain thanked me for helping him plan to catch the thieves. He said he will also tell other guards that I helped him.|170|1|}; - - - -[QuestID|Progress|LogText|RewardExp|ResolvesQuest|]; -{andor|51|Umar in the Fallhaven thieves guild recognized me, but must have me mixed up with Andor. Apparently, Andor has been to see him.||0|}; -{andor|55|Umar told me that Andor went to see a potioner called Lodar. I should search for his hideaway.||0|}; -{lodar|10|I should find a potioner called Lodar. Umar in Fallhaven thieves guild told me I that I will need to know the right words to pass a guardian in order to reach Lodar\'s hideaway.||0|}; -{lodar|15|Umar told me I should go see someone galled Ogam in Vilegard. Ogam can supply me with the right words to reach Lodar\'s hideaway.||0|}; -{lodar|20|I have visited Ogam in southwest Vilegard. He was talking in what seemed like riddles. I could barely make out some details when I asked about Lodar\'s hideaway. \'Halfway between the Shadow and the light. Rocky formations.\' and the words \'Glow of the Shadow.\' were among the things he said. I am not sure what they mean.||0|}; - - - -{vilegard|10|The people of Vilegard are very suspicious of outsiders. I was told to go see Jolnor in the Vilegard chapel if I want to gain their trust.||0|}; -{vilegard|20|I have talked to Jolnor in the Vilegard chapel. He suggests I help three infuential people in order to gain the trust of the people in Vilegard. I should help Kaori, Wrye and Jolnor in Vilegard.||0|}; -{vilegard|30|I have helped all three people in Vilegard that Jolnor suggested. Now the people of Vilegard should trust me more.|210|1|}; -{kaori|5|Jolnor in Vilegard chapel wants me to talk to Kaori in northern Vilegard, to see if she wants any help.||0|}; -{kaori|10|Kaori in northern Vilegard wants me to bring her 10 bonemeal potions.||0|}; -{kaori|20|I have brought 10 bonemeal potions to Kaori.|52|1|}; -{jolnor|10|Jolnor in Vilegard chapel tells me of a guard outside of the Foaming Flask tavern, that he thinks is a spy for the Feygard royal guard. He wants me to make the guard disappear, in any way that I see fit. The tavern should be just north of Vilegard.||0|}; -{jolnor|20|I have convinced the guard outside the Foaming Flask tavern to leave after his shift ends.||0|}; -{jolnor|21|I have started a fight with the guard outside the Foaming Flask tavern. I should bring his Feygard royal guard ring to Jolnor once he is dead to show Jolnor that he has disappeared.||0|}; -{jolnor|30|I have told Jolnor that the guard is now gone.|63|1|}; -{wrye|10|Jolnor in Vilegard chapel wants me to talk to Wrye in northern Vilegard. She has apprently lost her son recently.||0|}; -{wrye|20|Wrye in northern Vilegard tells me that her son Rincel has gone missing. She thinks that he has died or gotten critically hurt.||0|}; -{wrye|30|Wrye tells me that she thinks the royal guard from Feygard are involved in his disappearance, and that they have recruited him.||0|}; -{wrye|40|Wrye wants me to go search for clues as to what has happened to her son.||0|}; -{wrye|41|I should go look in the Vilegard tavern and the Foaming Flask tavern north of Vilegard.|20|0|}; -{wrye|42|I heard of a boy being in the Foaming Flask tavern a while ago. Apparently he left to the west of the tavern somewhere.||0|}; -{wrye|80|To the northwest of Vilegard I found a man that had found Rincel fighting some monsters. Rincel had apprently left Vilegard by his own will to go see the city of Feygard. I should go tell Wrye in northern Vilegard what happened to her son.||0|}; -{wrye|90|I have told Wrye the truth about her son\'s disappearance.|52|1|}; -{nondisplay|10|Tavern room in Foaming Flask (not displayed)||0|}; - - - diff --git a/AndorsTrail/res/values/strings.xml b/AndorsTrail/res/values/strings.xml index fd75a1b48..0472ab139 100644 --- a/AndorsTrail/res/values/strings.xml +++ b/AndorsTrail/res/values/strings.xml @@ -208,7 +208,7 @@ <a href="http://nacred.deviantart.com/art/Sprite-Sheet-171751308">Additional monster graphics by nacred</a><br /> <a href="http://andors.techby2guys.com/">Game forums provided by Scott Devaney</a><br /> Russian translation by Dreamer...<br /> - Italian translation by k6blue<br /> + Italian translation by k6blue and liogiu<br /> Additional programming by Samuel Plentz<br /> Additional maps done by michischmid<br /> <br /> diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/actor/MonsterType.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/actor/MonsterType.java index 7755bfb84..654bdee0c 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/actor/MonsterType.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/actor/MonsterType.java @@ -26,7 +26,7 @@ public final class MonsterType extends ActorTraits { int exp, DropList dropList, String phraseID) { - super(iconID, tileSize, baseCombatTraits, moveCost, new ItemTraits_OnUse[] { onHitEffects }); + super(iconID, tileSize, baseCombatTraits, moveCost, onHitEffects == null ? null : new ItemTraits_OnUse[] { onHitEffects }); this.id = id; this.searchPattern = ',' + tags.toLowerCase() + ','; this.exp = exp; diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/actor/MonsterTypeCollection.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/actor/MonsterTypeCollection.java index 00a4299af..aa7bc59e2 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/actor/MonsterTypeCollection.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/actor/MonsterTypeCollection.java @@ -3,19 +3,19 @@ package com.gpl.rpg.AndorsTrail.model.actor; import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; -import java.util.regex.Matcher; import com.gpl.rpg.AndorsTrail.AndorsTrailApplication; import com.gpl.rpg.AndorsTrail.context.WorldContext; import com.gpl.rpg.AndorsTrail.controller.Constants; import com.gpl.rpg.AndorsTrail.conversation.ConversationCollection; import com.gpl.rpg.AndorsTrail.model.CombatTraits; -import com.gpl.rpg.AndorsTrail.model.ability.ActorConditionEffect; +import com.gpl.rpg.AndorsTrail.model.ability.ActorConditionTypeCollection; import com.gpl.rpg.AndorsTrail.model.item.DropListCollection; import com.gpl.rpg.AndorsTrail.model.item.ItemTraits_OnUse; import com.gpl.rpg.AndorsTrail.resource.DynamicTileLoader; import com.gpl.rpg.AndorsTrail.resource.ResourceFileParser; -import com.gpl.rpg.AndorsTrail.util.ConstRange; +import com.gpl.rpg.AndorsTrail.resource.ResourceFileParser.ResourceObjectFieldParser; +import com.gpl.rpg.AndorsTrail.resource.ResourceFileParser.ResourceObjectTokenizer; import com.gpl.rpg.AndorsTrail.util.L; import com.gpl.rpg.AndorsTrail.util.Size; @@ -46,86 +46,46 @@ public final class MonsterTypeCollection { } private static final Size size1x1 = new Size(1, 1); - public void initialize(DropListCollection droplists, DynamicTileLoader tileLoader, String monsterlist) { - int nextId = monsterTypes.size(); - Matcher rowMatcher = ResourceFileParser.rowPattern.matcher(monsterlist); - while(rowMatcher.find()) { - String[] parts = rowMatcher.group(1).split(ResourceFileParser.columnSeparator, -1); - if (parts.length < 17) continue; - - final String monsterTypeName = parts[1]; - - if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) { - if (getMonsterTypesFromTags(monsterTypeName).size() > 0) { - L.log("OPTIMIZE: Monster " + monsterTypeName + " may be duplicated."); - } - } - - final int maxHP = ResourceFileParser.parseInt(parts[5], 1); - final int maxAP = ResourceFileParser.parseInt(parts[6], 10); - final CombatTraits combatTraits = parseCombatTraits_OLD(parts, 8); - final int exp = getExpectedMonsterExperience(combatTraits, maxHP, maxAP); - monsterTypes.add(new MonsterType( - nextId - , monsterTypeName - , parts[2] - , ResourceFileParser.parseImageID(tileLoader, parts[0]) - , ResourceFileParser.parseSize(parts[3], size1x1) //TODO: This could be loaded from the tileset size instead. - , maxHP // HP - , maxAP // AP - , ResourceFileParser.parseInt(parts[7], 10) // MoveCost - , combatTraits - , null // onHitEffects - , exp //ResourceLoader.parseInt(parts[4], 0) // Exp - , droplists.getDropList(parts[15]) - , parts[16] - )); - - ++nextId; - } + private static final ResourceObjectTokenizer monsterResourceTokenizer = new ResourceObjectTokenizer(24); + public void initialize(final DropListCollection droplists, final ActorConditionTypeCollection actorConditionTypes, final DynamicTileLoader tileLoader, String monsterlist) { + //[iconID|name|tags|size|maxHP|maxAP|moveCost|attackCost|attackChance|criticalChance|criticalMultiplier|attackDamage_Min|attackDamage_Max|blockChance|damageResistance|droplistID|phraseID| + // hasHitEffect|onHit_boostHP_Min|onHit_boostHP_Max|onHit_boostAP_Min|onHit_boostAP_Max|onHit_conditionsSource[condition|magnitude|duration|chance|]|onHit_conditionsTarget[condition|magnitude|duration|chance|]|]; + monsterResourceTokenizer.tokenizeRows(monsterlist, new ResourceObjectFieldParser() { + @Override + public void matchedRow(String[] parts) { + final int nextId = monsterTypes.size(); + + final String monsterTypeName = parts[1]; + + if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) { + if (getMonsterTypesFromTags(monsterTypeName).size() > 0) { + L.log("OPTIMIZE: Monster " + monsterTypeName + " may be duplicated."); + } + } + + final int maxHP = ResourceFileParser.parseInt(parts[4], 1); + final int maxAP = ResourceFileParser.parseInt(parts[5], 10); + final CombatTraits combatTraits = ResourceFileParser.parseCombatTraits(parts, 7); + final int exp = getExpectedMonsterExperience(combatTraits, maxHP, maxAP); + final ItemTraits_OnUse hitEffect = ResourceFileParser.parseItemTraits_OnUse(actorConditionTypes, parts, 17, true); + monsterTypes.add(new MonsterType( + nextId + , monsterTypeName // Name + , parts[2] // Tags + , ResourceFileParser.parseImageID(tileLoader, parts[0]) + , ResourceFileParser.parseSize(parts[3], size1x1) //TODO: This could be loaded from the tileset size instead. + , maxHP // HP + , maxAP // AP + , ResourceFileParser.parseInt(parts[6], 10) // MoveCost + , combatTraits + , hitEffect + , exp // Exp + , droplists.getDropList(parts[15]) // Droplist + , parts[16] // PhraseID + )); + } + }); } - - public static CombatTraits parseCombatTraits_OLD(String[] parts, int startIndex) { - String AtkCost = parts[startIndex]; - String AtkPct = parts[startIndex + 1]; - String CritPct = parts[startIndex + 2]; - String CritMult = parts[startIndex + 3]; - String DMG = parts[startIndex + 4]; - String BlkPct = parts[startIndex + 5]; - String DMG_res = parts[startIndex + 6]; - if ( AtkCost.length() <= 0 - && AtkPct.length() <= 0 - && CritPct.length() <= 0 - && CritMult.length() <= 0 - && DMG.length() <= 0 - && BlkPct.length() <= 0 - && DMG_res.length() <= 0 - ) { - return null; - } else { - CombatTraits result = new CombatTraits(); - result.attackCost = ResourceFileParser.parseInt(AtkCost, 0); - result.attackChance = ResourceFileParser.parseInt(AtkPct, 0); - result.criticalChance = ResourceFileParser.parseInt(CritPct, 0); - result.criticalMultiplier = ResourceFileParser.parseInt(CritMult, 0); - ConstRange r = ResourceFileParser.parseRange_OLD(DMG); - if (r != null) result.damagePotential.set(r); - result.blockChance = ResourceFileParser.parseInt(BlkPct, 0); - result.damageResistance = ResourceFileParser.parseInt(DMG_res, 0); - return result; - } - } - - - public void DEBUG_initializeTestEffectMonsters(WorldContext world) { - MonsterType t = getMonsterTypeFromName("Forest Snake"); - if (t == null) return; - t.onHitEffects = new ItemTraits_OnUse[] { - new ItemTraits_OnUse(null, null, null, new ActorConditionEffect[] { - new ActorConditionEffect(world.actorConditionsTypes.getActorConditionType("poison_weak"), 1, 3, new ConstRange(1, 1)) - }) - }; - } private static float div100(int v) { return (float) v / 100f; diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/DropList.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/DropList.java index ce12b2678..46dfbe4f8 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/DropList.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/DropList.java @@ -32,7 +32,7 @@ public final class DropList { } } - // Selftest metohd. Not part of the game logic. + // Selftest method. Not part of the game logic. public boolean contains(int itemTypeID) { for (DropItem item : items) { if (item.itemType.id == itemTypeID) return true; diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/DropListCollection.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/DropListCollection.java index e7f13984d..81bdff037 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/DropListCollection.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/DropListCollection.java @@ -2,13 +2,13 @@ package com.gpl.rpg.AndorsTrail.model.item; import java.util.ArrayList; import java.util.HashMap; -import java.util.Map.Entry; -import java.util.regex.Matcher; import com.gpl.rpg.AndorsTrail.AndorsTrailApplication; import com.gpl.rpg.AndorsTrail.model.item.DropList.DropItem; import com.gpl.rpg.AndorsTrail.resource.ResourceFileParser; -import com.gpl.rpg.AndorsTrail.util.ConstRange; +import com.gpl.rpg.AndorsTrail.resource.ResourceFileParser.ResourceObjectArrayTokenizer; +import com.gpl.rpg.AndorsTrail.resource.ResourceFileParser.ResourceObjectFieldParser; +import com.gpl.rpg.AndorsTrail.resource.ResourceFileParser.ResourceObjectTokenizer; import com.gpl.rpg.AndorsTrail.util.L; public final class DropListCollection { @@ -27,44 +27,45 @@ public final class DropListCollection { return droplists.get(name); } - private static final ConstRange one = new ConstRange(1, 1); - private static final ConstRange ten = new ConstRange(10, 10); - private static final ConstRange five = new ConstRange(5, 5); - private static ConstRange parseQuantity_OLD(String v) { - if (v.equals("1")) return one; - else if (v.equals("5")) return five; - else if (v.equals("10")) return ten; - return ResourceFileParser.parseRange_OLD(v); - } - - public void initialize(ItemTypeCollection itemTypes, String droplistString) { - HashMap > rows = new HashMap >(); - Matcher rowMatcher = ResourceFileParser.rowPattern.matcher(droplistString); - while(rowMatcher.find()) { - String[] parts = ResourceFileParser.splitColumns_OLD(rowMatcher.group(1), 4);//.split(ResourceFileParser.columnSeparator, -1); - if (parts.length < 4) continue; - - final String droplistID = parts[0]; - - if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) { - if (droplistID.trim().length() <= 0) { - L.log("WARNING: Adding droplist with empty id."); - } else if (droplists.containsKey(droplistID)) { - L.log("WARNING: Droplist \"" + droplistID + "\" may be duplicated."); - } - } - - if (!rows.containsKey(droplistID)) rows.put(droplistID, new ArrayList()); - rows.get(droplistID).add(new DropItem( - itemTypes.getItemTypeByTag(parts[1]) - , ResourceFileParser.parseChance(parts[2]) - , parseQuantity_OLD(parts[3]) - )); - } - - for(Entry> e : rows.entrySet()) { - droplists.put(e.getKey(), new DropList(e.getValue())); - } + private static final ResourceObjectTokenizer droplistResourceTokenizer = new ResourceObjectTokenizer(2); + private static final ResourceObjectTokenizer droplistItemResourceTokenizer = new ResourceObjectTokenizer(4); + public void initialize(final ItemTypeCollection itemTypes, String droplistString) { + droplistResourceTokenizer.tokenizeRows(droplistString, new ResourceObjectFieldParser() { + @Override + public void matchedRow(String[] parts) { + // [id|items[itemID|quantity_Min|quantity_Max|chance|]|]; + + String droplistID = parts[0]; + + final ArrayList items = new ArrayList(); + ResourceObjectArrayTokenizer.tokenize(parts[1], droplistItemResourceTokenizer, new ResourceObjectFieldParser() { + @Override + public void matchedRow(String[] parts) { + items.add(new DropItem( + itemTypes.getItemTypeByTag(parts[0]) // Itemtype + , ResourceFileParser.parseChance(parts[3]) // Chance + , ResourceFileParser.parseQuantity(parts[1], parts[2]) // Quantity + )); + } + }); + + DropItem[] items_ = items.toArray(new DropItem[items.size()]); + final DropList droplist = new DropList(items_); + if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) { + if (droplistID.trim().length() <= 0) { + L.log("WARNING: Droplist with empty id."); + } else { + if (droplists.containsKey(droplistID)) { + L.log("OPTIMIZE: Droplist " + droplistID + " is duplicated."); + } + } + if (items.size() <= 0) { + L.log("OPTIMIZE: Droplist \"" + droplistID + "\" has no dropped items."); + } + } + droplists.put(droplistID, droplist); + } + }); } // Selftest method. Not part of the game logic. diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/ItemTypeCollection.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/ItemTypeCollection.java index 191ce8878..8b73ad945 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/ItemTypeCollection.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/ItemTypeCollection.java @@ -3,15 +3,11 @@ package com.gpl.rpg.AndorsTrail.model.item; import java.util.ArrayList; import com.gpl.rpg.AndorsTrail.AndorsTrailApplication; -import com.gpl.rpg.AndorsTrail.context.WorldContext; -import com.gpl.rpg.AndorsTrail.model.ability.ActorCondition; -import com.gpl.rpg.AndorsTrail.model.ability.ActorConditionEffect; import com.gpl.rpg.AndorsTrail.model.ability.ActorConditionTypeCollection; import com.gpl.rpg.AndorsTrail.resource.DynamicTileLoader; import com.gpl.rpg.AndorsTrail.resource.ResourceFileParser; import com.gpl.rpg.AndorsTrail.resource.ResourceFileParser.ResourceObjectFieldParser; import com.gpl.rpg.AndorsTrail.resource.ResourceFileParser.ResourceObjectTokenizer; -import com.gpl.rpg.AndorsTrail.util.ConstRange; import com.gpl.rpg.AndorsTrail.util.L; public final class ItemTypeCollection { @@ -34,9 +30,9 @@ public final class ItemTypeCollection { } - private static ResourceObjectTokenizer tokenize37Fields = new ResourceObjectTokenizer(37); + private static final ResourceObjectTokenizer itemResourceTokenizer = new ResourceObjectTokenizer(37); public void initialize(final DynamicTileLoader tileLoader, final ActorConditionTypeCollection actorConditionTypes, String itemlist) { - tokenize37Fields.tokenizeRows(itemlist, new ResourceObjectFieldParser() { + itemResourceTokenizer.tokenizeRows(itemlist, new ResourceObjectFieldParser() { @Override public void matchedRow(String[] parts) { final String itemTypeName = parts[2]; @@ -48,12 +44,12 @@ public final class ItemTypeCollection { searchTag = itemTypeName; } - ItemTraits_OnEquip equipEffect = ResourceFileParser.parseItemTraits_OnEquip(actorConditionTypes, parts, 5); - ItemTraits_OnUse useEffect = ResourceFileParser.parseItemTraits_OnUse(actorConditionTypes, parts, 18, false); - ItemTraits_OnUse hitEffect = ResourceFileParser.parseItemTraits_OnUse(actorConditionTypes, parts, 24, true); - ItemTraits_OnUse killEffect = ResourceFileParser.parseItemTraits_OnUse(actorConditionTypes, parts, 31, false); + final ItemTraits_OnEquip equipEffect = ResourceFileParser.parseItemTraits_OnEquip(actorConditionTypes, parts, 5); + final ItemTraits_OnUse useEffect = ResourceFileParser.parseItemTraits_OnUse(actorConditionTypes, parts, 18, false); + final ItemTraits_OnUse hitEffect = ResourceFileParser.parseItemTraits_OnUse(actorConditionTypes, parts, 24, true); + final ItemTraits_OnUse killEffect = ResourceFileParser.parseItemTraits_OnUse(actorConditionTypes, parts, 31, false); - int nextId = itemTypes.size(); + final int nextId = itemTypes.size(); final ItemType itemType = new ItemType( nextId , ResourceFileParser.parseImageID(tileLoader, parts[1]) @@ -96,199 +92,5 @@ public final class ItemTypeCollection { } }); } - - public void initialize_DEBUGITEMS(WorldContext world) { - int nextId = itemTypes.size(); - /* - ItemType club1 = getItemTypeByTag("club1"); - - ItemType itemType = new ItemType( - nextId - , club1.iconID - , "DEBUG club of lifesteal" - , "debug_club_1" - , club1.category - , 1 - , equipTraits - , useTraits - , null - , null - ); - itemTypes.add(itemType); - ++nextId; - */ - - ItemType ring_dmg1 = getItemTypeByTag("ring_dmg1"); - if (ring_dmg1 == null) return; - ItemType itemType = new ItemType( - nextId - , ring_dmg1.iconID - , "DEBUG ring of maxHP" - , "debug_ring_1" - , ring_dmg1.category - , 1 - , new ItemTraits_OnEquip(10, 0, 0, null, null) - , null - , null - , null - ); - itemTypes.add(itemType); - ++nextId; - - itemType = new ItemType( - nextId - , ring_dmg1.iconID - , "DEBUG ring of maxAP" - , "debug_ring_2" - , ring_dmg1.category - , 1 - , new ItemTraits_OnEquip(0, 5, 0, null, null) - , null - , null - , null - ); - itemTypes.add(itemType); - ++nextId; - - itemType = new ItemType( - nextId - , ring_dmg1.iconID - , "DEBUG walkring" - , "debug_ring_3" - , ring_dmg1.category - , 1 - , new ItemTraits_OnEquip(0, 0, 2, null, null) - , null - , null - , null - ); - itemTypes.add(itemType); - ++nextId; - - ActorConditionEffect[] effects = new ActorConditionEffect[] { - new ActorConditionEffect(world.actorConditionsTypes.getActorConditionType("bless"), 3, ActorCondition.DURATION_FOREVER, new ConstRange(1,1)) - }; - itemType = new ItemType( - nextId - , ring_dmg1.iconID - , "DEBUG ring of bless" - , "debug_ring_4" - , ring_dmg1.category - , 1 - , new ItemTraits_OnEquip(0, 0, 0, null, effects) - , null - , null - , null - ); - itemTypes.add(itemType); - ++nextId; - - effects = new ActorConditionEffect[] { - new ActorConditionEffect(world.actorConditionsTypes.getActorConditionType("regen"), 1, ActorCondition.DURATION_FOREVER, new ConstRange(1,1)) - }; - itemType = new ItemType( - nextId - , ring_dmg1.iconID - , "DEBUG ring of regen" - , "debug_ring_5" - , ring_dmg1.category - , 1 - , new ItemTraits_OnEquip(0, 0, 0, null, effects) - , null - , null - , null - ); - itemTypes.add(itemType); - ++nextId; - - itemType = new ItemType( - nextId - , ring_dmg1.iconID - , "DEBUG ring of hitheal" - , "debug_ring_6" - , ring_dmg1.category - , 1 - , null - , null - , new ItemTraits_OnUse(new ConstRange(1, 1), null, null, null) - , null - ); - itemTypes.add(itemType); - ++nextId; - - effects = new ActorConditionEffect[] { - new ActorConditionEffect(world.actorConditionsTypes.getActorConditionType("regen"), 2, 3, new ConstRange(1,1)) - }; - itemType = new ItemType( - nextId - , ring_dmg1.iconID - , "DEBUG ring of killeffect" - , "debug_ring_7" - , ring_dmg1.category - , 1 - , null - , null - , null - , new ItemTraits_OnUse(new ConstRange(4, 4), null, effects, null) - ); - itemTypes.add(itemType); - ++nextId; - - effects = new ActorConditionEffect[] { - new ActorConditionEffect(world.actorConditionsTypes.getActorConditionType("poison_weak"), 1, 3, new ConstRange(3, 2)) - }; - itemType = new ItemType( - nextId - , ring_dmg1.iconID - , "DEBUG ring of atkpoison" - , "debug_ring_8" - , ring_dmg1.category - , 1 - , null - , null - , new ItemTraits_OnUse(null, null, null, effects) - , null - ); - itemTypes.add(itemType); - ++nextId; - - ItemType health_minor = getItemTypeByTag("health_minor"); - - effects = new ActorConditionEffect[] { - new ActorConditionEffect(world.actorConditionsTypes.getActorConditionType("poison_weak"), 1, 4, new ConstRange(1,1)) - }; - itemType = new ItemType( - nextId - , health_minor.iconID - , "DEBUG poison" - , "debug_potion_1" - , health_minor.category - , 1 - , null - , new ItemTraits_OnUse(null, null, effects, null) - , null - , null - ); - itemTypes.add(itemType); - ++nextId; - - effects = new ActorConditionEffect[] { - new ActorConditionEffect(world.actorConditionsTypes.getActorConditionType("poison_weak"), ActorCondition.MAGNITUDE_REMOVE_ALL, 0, new ConstRange(1,1)) - }; - itemType = new ItemType( - nextId - , health_minor.iconID - , "DEBUG antidote" - , "debug_potion_2" - , health_minor.category - , 1 - , null - , new ItemTraits_OnUse(null, null, effects, null) - , null - , null - ); - itemTypes.add(itemType); - ++nextId; - } } \ No newline at end of file diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/quest/QuestCollection.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/quest/QuestCollection.java index 41a820a9d..b42a542f2 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/quest/QuestCollection.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/quest/QuestCollection.java @@ -1,19 +1,26 @@ package com.gpl.rpg.AndorsTrail.model.quest; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.HashSet; import com.gpl.rpg.AndorsTrail.AndorsTrailApplication; import com.gpl.rpg.AndorsTrail.conversation.ConversationCollection; +import com.gpl.rpg.AndorsTrail.resource.ResourceFileParser; +import com.gpl.rpg.AndorsTrail.resource.ResourceFileParser.ResourceObjectArrayTokenizer; +import com.gpl.rpg.AndorsTrail.resource.ResourceFileParser.ResourceObjectFieldParser; +import com.gpl.rpg.AndorsTrail.resource.ResourceFileParser.ResourceObjectTokenizer; import com.gpl.rpg.AndorsTrail.util.L; public final class QuestCollection { - public Quest[] quests; + public final ArrayList quests = new ArrayList(); public QuestLogEntry getQuestLogEntry(final QuestProgress stage) { Quest q = getQuest(stage.questID); if (q == null) return null; for (QuestLogEntry s : q.stages) { - if (s.progress >= stage.progress) return s; + if (s.progress == stage.progress) return s; } if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) { L.log("WARNING: Cannot find stage " + stage.progress + " in quest \"" + stage.questID + "\"."); @@ -33,6 +40,65 @@ public final class QuestCollection { return null; } + private static final ResourceObjectTokenizer questResourceTokenizer = new ResourceObjectTokenizer(4); + private static final ResourceObjectTokenizer questStageResourceTokenizer = new ResourceObjectTokenizer(4); + public void initialize(String questlist) { + questResourceTokenizer.tokenizeRows(questlist, new ResourceObjectFieldParser() { + @Override + public void matchedRow(String[] parts) { + // [id|name|showInLog|stages[progress|logText|rewardExperience|finishesQuest|]|]; + + final ArrayList stages = new ArrayList(); + ResourceObjectArrayTokenizer.tokenize(parts[3], questStageResourceTokenizer, new ResourceObjectFieldParser() { + @Override + public void matchedRow(String[] parts) { + stages.add(new QuestLogEntry( + Integer.parseInt(parts[0]) // Progress + , parts[1] // Logtext + , ResourceFileParser.parseInt(parts[2], 0) // RewardExperience + , ResourceFileParser.parseBoolean(parts[3], false) // FinishesQuest + )); + } + }); + Collections.sort(stages, new Comparator() { + @Override + public int compare(QuestLogEntry a, QuestLogEntry b) { + return a.progress - b.progress; + } + }); + + final QuestLogEntry[] stages_ = stages.toArray(new QuestLogEntry[stages.size()]); + final Quest quest = new Quest( + parts[0] // questID + , parts[1] // name + , stages_ + , ResourceFileParser.parseBoolean(parts[2], false) // showInLog + ); + if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) { + if (quest.questID.trim().length() <= 0) { + L.log("WARNING: Quest with empty id."); + } else { + for (Quest q : quests) { + if (q.questID.equals(quest.questID)) { + L.log("OPTIMIZE: Quest " + quest.questID + " is duplicated."); + break; + } + } + + } + if (quest.name.trim().length() <= 0) { + L.log("WARNING: Quest \"" + quest.questID + "\" has empty name."); + } + if (stages.size() <= 0) { + L.log("WARNING: Quest \"" + quest.questID + "\" has no log entries."); + } + } + quests.add(quest); + } + }); + } + + // Selftest method. Not part of the game logic. public void verifyData(ConversationCollection conversations) { if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) { diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/quest/QuestLoader.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/quest/QuestLoader.java deleted file mode 100644 index da2cb6163..000000000 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/quest/QuestLoader.java +++ /dev/null @@ -1,106 +0,0 @@ -package com.gpl.rpg.AndorsTrail.model.quest; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.regex.Matcher; - -import com.gpl.rpg.AndorsTrail.AndorsTrailApplication; -import com.gpl.rpg.AndorsTrail.resource.ResourceFileParser; -import com.gpl.rpg.AndorsTrail.util.L; - -public final class QuestLoader { - - private HashMap > parsedQuestLogEntries = new HashMap >(); - public void parseQuestLogsFromString(String questLogEntrylist) { - Matcher rowMatcher = ResourceFileParser.rowPattern.matcher(questLogEntrylist); - while(rowMatcher.find()) { - String[] parts = rowMatcher.group(1).split(ResourceFileParser.columnSeparator, -1); - if (parts.length < 4) continue; - - final String questID = parts[0]; - - if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) { - if (questID.trim().length() <= 0) { - L.log("WARNING: Quest log phrase with empty quest id."); - } - } - - if (!parsedQuestLogEntries.containsKey(questID)) parsedQuestLogEntries.put(questID, new ArrayList()); - parsedQuestLogEntries.get(questID).add(new QuestLogEntry( - ResourceFileParser.parseInt(parts[1], 0) - , parts[2] - , ResourceFileParser.parseInt(parts[3], 0) - , ResourceFileParser.parseInt(parts[4], 0)>0 - )); - } - } - - private ArrayList parsedQuests = new ArrayList(); - public void parseQuestsFromString(String questlist) { - Matcher rowMatcher = ResourceFileParser.rowPattern.matcher(questlist); - while(rowMatcher.find()) { - String[] parts = rowMatcher.group(1).split(ResourceFileParser.columnSeparator, -1); - if (parts.length < 4) continue; - - final String questID = parts[0]; - - if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) { - if (questID.trim().length() <= 0) { - L.log("WARNING: Quest phrase with empty id."); - } else if (contains(parsedQuests, questID)) { - L.log("WARNING: Quest \"" + questID + "\" may be duplicated."); - } - } - - ArrayList stages; - if (parsedQuestLogEntries.containsKey(questID)) { - stages = parsedQuestLogEntries.get(questID); - Collections.sort(stages, new Comparator() { - @Override - public int compare(QuestLogEntry a, QuestLogEntry b) { - return a.progress - b.progress; - } - }); - } else { - if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) { - L.log("WARNING: Quest \"" + questID + "\" has no log entries."); - } - stages = new ArrayList(); - } - if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) { - parsedQuestLogEntries.remove(questID); - } - QuestLogEntry[] _stages = new QuestLogEntry[stages.size()]; - _stages = stages.toArray(_stages); - - parsedQuests.add(new Quest( - questID - , parts[1] - , _stages - , ResourceFileParser.parseInt(parts[3], 0)>0 - )); - } - } - - public Quest[] getParsedQuests() { - Quest[] _result = new Quest[parsedQuests.size()]; - _result = parsedQuests.toArray(_result); - - if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) { - for (String s : parsedQuestLogEntries.keySet()) { - L.log("WARNING: Quest log entries for quest \"" + s + "\" has no corresponding quest."); - } - } - - return _result; - } - - private boolean contains(ArrayList haystack, String needleQuestID) { - for (Quest q : haystack) { - if (q.questID.equals(needleQuestID)) return true; - } - return false; - } -} diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/resource/ResourceFileParser.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/resource/ResourceFileParser.java index 3b78e4e44..c98b23ee3 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/resource/ResourceFileParser.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/resource/ResourceFileParser.java @@ -144,18 +144,6 @@ public class ResourceFileParser { } } - - public static ConstRange parseRange_OLD(String s) { - if (s == null || s.length() <= 0) return null; - String[] parts = s.split("-"); - if (parts.length < 2 || s.startsWith("-")) { - int val = Integer.parseInt(s); - return new ConstRange(val, val); - } else { - return new ConstRange(Integer.parseInt(parts[1]), Integer.parseInt(parts[0])); - } - } - private static final ConstRange zero_or_one = new ConstRange(1, 0); private static final ConstRange one = new ConstRange(1, 1); private static final ConstRange five = new ConstRange(5, 5); @@ -288,16 +276,11 @@ public class ResourceFileParser { } } - private static ActorConditionEffect[] listToArray(ArrayList list) { + public static ActorConditionEffect[] listToArray(ArrayList list) { if (list.isEmpty()) return null; return list.toArray(new ActorConditionEffect[list.size()]); } - public static String[] splitColumns_OLD(String input, int numItems) { - String[] parts = input.split(columnSeparator, -1); - return parts; - } - public static class ResourceObjectTokenizer { private static final String fieldPattern = "([^\\|]*?|\\{\\{.*?\\}\\})" + columnSeparator; diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/resource/ResourceLoader.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/resource/ResourceLoader.java index e04fdeda4..d08c2de50 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/resource/ResourceLoader.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/resource/ResourceLoader.java @@ -5,7 +5,6 @@ import com.gpl.rpg.AndorsTrail.R; import com.gpl.rpg.AndorsTrail.context.WorldContext; import com.gpl.rpg.AndorsTrail.model.item.ItemTypeCollection; import com.gpl.rpg.AndorsTrail.model.map.TMXMapReader; -import com.gpl.rpg.AndorsTrail.model.quest.QuestLoader; import com.gpl.rpg.AndorsTrail.util.Size; import android.content.res.Resources; @@ -70,7 +69,6 @@ public final class ResourceLoader { world.itemTypes.initialize(loader, world.actorConditionsTypes, r.getString(R.string.itemlist_v068)); } loader.flush(); - world.itemTypes.initialize_DEBUGITEMS(world); // ======================================================================== @@ -88,25 +86,13 @@ public final class ResourceLoader { // ======================================================================== // Load Quests - QuestLoader questLoader = new QuestLoader(); if (AndorsTrailApplication.DEVELOPMENT_DEBUGRESOURCES) { - questLoader.parseQuestLogsFromString(r.getString(R.string.questlog_debug)); - questLoader.parseQuestsFromString(r.getString(R.string.questlist_debug)); - world.quests.quests = questLoader.getParsedQuests(); + world.quests.initialize(r.getString(R.string.questlist_debug)); } else { - questLoader.parseQuestLogsFromString(r.getString(R.string.questlog_crossglen)); - questLoader.parseQuestLogsFromString(r.getString(R.string.questlog_fallhaven)); - questLoader.parseQuestLogsFromString(r.getString(R.string.questlog_vacor)); - questLoader.parseQuestLogsFromString(r.getString(R.string.questlog_flagstone)); - questLoader.parseQuestLogsFromString(r.getString(R.string.questlog_farrik)); - questLoader.parseQuestLogsFromString(r.getString(R.string.questlog_andor_v068)); - questLoader.parseQuestLogsFromString(r.getString(R.string.questlog_vilegard)); - questLoader.parseQuestsFromString(r.getString(R.string.questlist)); - questLoader.parseQuestsFromString(r.getString(R.string.questlist_v068)); - world.quests.quests = questLoader.getParsedQuests(); + world.quests.initialize(r.getString(R.string.questlist)); + world.quests.initialize(r.getString(R.string.questlist_v068)); } - questLoader = null; - + // ======================================================================== // Load Conversation @@ -201,17 +187,16 @@ public final class ResourceLoader { //loader.prepareTileset(R.drawable.monsters_dragon1, "monsters_dragon1", src_sz1x1, dst_sz4x3); if (AndorsTrailApplication.DEVELOPMENT_DEBUGRESOURCES) { - world.monsterTypes.initialize(world.dropLists, loader, r.getString(R.string.monsterlist_debug)); + world.monsterTypes.initialize(world.dropLists, world.actorConditionsTypes, loader, r.getString(R.string.monsterlist_debug)); } else { - world.monsterTypes.initialize(world.dropLists, loader, r.getString(R.string.monsterlist_crossglen_animals)); - world.monsterTypes.initialize(world.dropLists, loader, r.getString(R.string.monsterlist_crossglen_npcs)); - world.monsterTypes.initialize(world.dropLists, loader, r.getString(R.string.monsterlist_fallhaven_animals)); - world.monsterTypes.initialize(world.dropLists, loader, r.getString(R.string.monsterlist_fallhaven_npcs)); - world.monsterTypes.initialize(world.dropLists, loader, r.getString(R.string.monsterlist_wilderness)); - world.monsterTypes.initialize(world.dropLists, loader, r.getString(R.string.monsterlist_v068_npcs)); + world.monsterTypes.initialize(world.dropLists, world.actorConditionsTypes, loader, r.getString(R.string.monsterlist_crossglen_animals)); + world.monsterTypes.initialize(world.dropLists, world.actorConditionsTypes, loader, r.getString(R.string.monsterlist_crossglen_npcs)); + world.monsterTypes.initialize(world.dropLists, world.actorConditionsTypes, loader, r.getString(R.string.monsterlist_fallhaven_animals)); + world.monsterTypes.initialize(world.dropLists, world.actorConditionsTypes, loader, r.getString(R.string.monsterlist_fallhaven_npcs)); + world.monsterTypes.initialize(world.dropLists, world.actorConditionsTypes, loader, r.getString(R.string.monsterlist_wilderness)); + world.monsterTypes.initialize(world.dropLists, world.actorConditionsTypes, loader, r.getString(R.string.monsterlist_v068_npcs)); } loader.flush(); - world.monsterTypes.DEBUG_initializeTestEffectMonsters(world); if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) { diff --git a/AndorsTrailEdit/AndorsTrailEditor.js b/AndorsTrailEdit/AndorsTrailEditor.js index 8c9e5580d..f1d1905f5 100644 --- a/AndorsTrailEdit/AndorsTrailEditor.js +++ b/AndorsTrailEdit/AndorsTrailEditor.js @@ -31,8 +31,12 @@ function checkboxHidesElement(checkbox, element, visibleCondition) { element.toggle(visible); } -function bool(v) { - return v ? true : false; +function bool(v) { + if (typeof(v) == 'undefined') return false; + if (v == '') return false; + if (v == '0') return false; + if (v == 'false') return false; + return true; } function setInputFieldsToObjectValues(div, obj) { @@ -40,13 +44,12 @@ function setInputFieldsToObjectValues(div, obj) { $(this).val(obj[$(this).attr("id")]); }); div.find("input:checkbox").each(function() { - //$(this).unbind(); $(this).attr("checked", bool(obj[$(this).attr("id")])); }); } function bindInputFieldChangesToObject(div, obj) { - div.find("input,select,textarea").unbind().change(function() { + div.find("input,select,textarea").unbind("change").change(function() { obj[$(this).attr("id")] = $(this).val(); }); div.find("input:checkbox").unbind("change").change(function() { @@ -286,25 +289,25 @@ function startEditor() { ,items: new DataStore('item', new FieldList("[searchTag|iconID|name|category|baseMarketCost|" + "hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|" + "hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|" - + "hasHitEffect|hit_boostHP_Min|use_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|" + + "hasHitEffect|hit_boostHP_Min|hit_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|" + "hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|" + "];")) - ,droplists: new DataStore('droplist', new FieldList("[id|items[itemID|quantity|chance|]|];"), 'id') + ,droplists: new DataStore('droplist', new FieldList("[id|items[itemID|quantity_Min|quantity_Max|chance|]|];"), 'id') ,dialogue: new DataStore('dialogue', new FieldList("[id|name|];")) - ,monsters: new DataStore('monster', new FieldList("[iconID|name|tags|size|exp|maxHP|maxAP|moveCost|attackCost|attackChance|criticalChance|criticalMultiplier|attackDamage_Min|attackDamage_Max|blockChance|damageResistance|droplistID|phraseID|" + ,monsters: new DataStore('monster', new FieldList("[iconID|name|tags|size|maxHP|maxAP|moveCost|attackCost|attackChance|criticalChance|criticalMultiplier|attackDamage_Min|attackDamage_Max|blockChance|damageResistance|droplistID|phraseID|" + "hasHitEffect|onHit_boostHP_Min|onHit_boostHP_Max|onHit_boostAP_Min|onHit_boostAP_Max|onHit_conditionsSource[condition|magnitude|duration|chance|]|onHit_conditionsTarget[condition|magnitude|duration|chance|]|" + "];")) }; - model.actorEffects.add({id: "bless", name: "Bless", iconID: "items_tiles:318", hasAbilityEffect: true, attackChance: 15, blockChance: 5}); - model.actorEffects.add({id: "poison_weak", name: "Weak Poison", iconID: "items_tiles:340", hasRoundEffect: true, round_visualEffectID: 2, round_boostHP_Min: -1, round_boostHP_Max: -1}); + model.actorEffects.add({id: "bless", name: "Bless", iconID: "items_tiles:318", hasAbilityEffect: 1, attackChance: 15, blockChance: 5}); + model.actorEffects.add({id: "poison_weak", name: "Weak Poison", iconID: "items_tiles:340", hasRoundEffect: 1, round_visualEffectID: 2, round_boostHP_Min: -1, round_boostHP_Max: -1}); model.quests.add({id: "testQuest", name: "Test quest", stages: [ { progress: 10, logText: "Stage 10"} , { progress: 20, logText: "Stage 20", finishesQuest: 1 } ] }); model.items.add({iconID: "items_tiles:70", name: "Test item", searchTag: "item0", category: 0, baseMarketCost: 51, hasEquipEffect: 1, equip_attackChance: 10, equip_attackDamage_Min: 2, equip_attackDamage_Max: 4}); model.items.add({iconID: "items_tiles:266", name: "Ring of damage +1", searchTag: "dmg_ring1", category: 7, baseMarketCost: 62, hasEquipEffect: 1, equip_attackDamage_Min: 1, equip_attackDamage_Max: 1}); - model.droplists.add({id: "merchant1", items: [ { itemID: 'dmg_ring1', quantity: 5, chance: 100 } , { itemID: 'item0', quantity: 1, chance: 100 } ] } ); + model.droplists.add({id: "merchant1", items: [ { itemID: 'dmg_ring1', quantity_Min: 4, quantity_Max: 5, chance: 100 } , { itemID: 'item0', quantity_Min: 1, quantity_Max: 1, chance: 100 } ] } ); model.monsters.add({name: "Small ant", iconID: "monsters_insects:2", maxHP: 30, size: '1x1'}); model.monsters.add({name: "Red ant", iconID: "monsters_insects:3", maxHP: 20, size: '1x1'}); @@ -330,7 +333,7 @@ function startEditor() { return {id: "new_droplist" }; }); bindEditorType(model.monsters, $( "#tools #monsterlist" ), createMonsterEditor, function() { - return {name: "New Monster", maxAP: 10, attackCost: 5, moveCost: 5, size: '1x1'}; + return {name: "New Monster", maxAP: 10, attackCost: 5, moveCost: 5 }; }); @@ -414,9 +417,9 @@ function startEditor() { imageSelector = new ImageSelector("http://andors-trail.googlecode.com/svn/trunk/AndorsTrail/res/drawable/", $( "#dialog-images" ) ); - imageSelector.add(new TilesetImage("items_tiles", {x: 14, y:30}, {x: 34, y:34}, [ 'items', 'effects' ] )); + imageSelector.add(new TilesetImage("items_tiles", {x: 14, y:30}, {x:34, y:34}, [ 'items', 'effects' ] )); imageSelector.add(new TilesetImage("monsters_armor1", {x: 1, y:1}, undefined, [ 'monsters' ] )); - imageSelector.add(new TilesetImage("monsters_demon1", {x: 1, y:1}, undefined, [ 'monsters' ] )); + imageSelector.add(new TilesetImage("monsters_demon1", {x: 1, y:1}, {x:64, y:64}, [ 'monsters' ] )); imageSelector.add(new TilesetImage("monsters_demon2", {x: 1, y:1}, undefined, [ 'monsters' ] )); imageSelector.add(new TilesetImage("monsters_dogs", {x: 7, y:1}, undefined, [ 'monsters' ] )); imageSelector.add(new TilesetImage("monsters_dragons", {x: 7, y:1}, undefined, [ 'monsters' ] )); diff --git a/AndorsTrailEdit/editor.html b/AndorsTrailEdit/editor.html index b276edf8e..bb61b6974 100644 --- a/AndorsTrailEdit/editor.html +++ b/AndorsTrailEdit/editor.html @@ -247,7 +247,6 @@ - @@ -269,7 +268,8 @@ - + + @@ -289,18 +289,21 @@
- +
-
Item (id)QuantityMin quantityMax quantity Chance