From: <aki...@us...> - 2007-03-26 17:20:48
|
Revision: 1986 http://svn.sourceforge.net/gridarta/?rev=1986&view=rev Author: akirschbaum Date: 2007-03-26 10:20:47 -0700 (Mon, 26 Mar 2007) Log Message: ----------- Update archetypes. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/resource/conf/archetypes trunk/crossfire/resource/conf/crossfire.0 trunk/crossfire/resource/conf/treasures Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-03-25 22:18:58 UTC (rev 1985) +++ trunk/crossfire/ChangeLog 2007-03-26 17:20:47 UTC (rev 1986) @@ -1,3 +1,7 @@ +2007-03-26 Andreas Kirschbaum + + * Update archetypes. + 2007-03-25 Andreas Kirschbaum * Implement "locked items" view. Modified: trunk/crossfire/resource/conf/archetypes =================================================================== --- trunk/crossfire/resource/conf/archetypes 2007-03-25 22:18:58 UTC (rev 1985) +++ trunk/crossfire/resource/conf/archetypes 2007-03-26 17:20:47 UTC (rev 1986) @@ -145,7 +145,7 @@ type 99 material 8 resist_physical 3 -flying 1 +move_type fly_low editable 5120 body_foot -2 item_power 1 @@ -1268,7 +1268,7 @@ body_torso -1 editor_folder armour/mail end -Object robe2 +Object robe2 name robe name_pl robes client_type 256 @@ -1566,20 +1566,20 @@ item_power 2 editor_folder armour/shield end -Object frostshield +Object frostshield nrof 1 -name Frost Shield -name_pl Frost Shields +name Frost Shield +name_pl Frost Shields client_type 261 type 33 face frostshield.111 -dam 1 -ac -1 +dam 1 +ac -1 resist_fire 10 -resist_physical 3 +resist_physical 3 resist_cold 15 weight 2000 -value 100 +value 100 material 18 editable 1024 editor_folder armour/shield @@ -1686,7 +1686,7 @@ body_arm -1 editor_folder armour/shield end -Object spiked_shield +Object spiked_shield nrof 1 name spiked shield name_pl spiked shields @@ -3179,7 +3179,7 @@ Object detector name detector slaying player -type 51 +type 51 face pedestal.112 animation detector speed 0.5 @@ -3243,6 +3243,7 @@ invisible 1 speed 0.2 type 40 +move_type walk no_pick 1 maxsp 1 walk_on 1 @@ -3257,6 +3258,7 @@ speed -0.2 invisible 1 type 40 +move_type walk no_pick 1 sp 1 walk_on 1 @@ -3271,6 +3273,7 @@ invisible 1 speed -0.2 type 40 +move_type walk no_pick 1 sp 2 walk_on 1 @@ -3285,6 +3288,7 @@ invisible 1 speed -0.2 type 40 +move_type walk no_pick 1 sp 3 walk_on 1 @@ -3299,6 +3303,7 @@ animation mover_4 speed -0.2 type 40 +move_type walk no_pick 1 sp 4 walk_on 1 @@ -3313,6 +3318,7 @@ animation mover_5 speed -0.2 type 40 +move_type walk no_pick 1 sp 5 walk_on 1 @@ -3327,6 +3333,7 @@ animation mover_6 speed -0.2 type 40 +move_type walk no_pick 1 sp 6 walk_on 1 @@ -3341,6 +3348,7 @@ animation mover_7 speed -0.2 type 40 +move_type walk no_pick 1 sp 7 walk_on 1 @@ -3355,6 +3363,7 @@ animation mover_8 speed -0.2 type 40 +move_type walk no_pick 1 sp 8 walk_on 1 @@ -6113,7 +6122,7 @@ editor_folder construct/temple end Object temple_ruin -name ruined temple +name ruined temple face temple_ruin.x11 type 66 no_pick 1 @@ -6124,7 +6133,7 @@ end More Object temple_ruin2 -name ruined temple +name ruined temple face temple_ruin.x11 type 66 no_pick 1 @@ -6134,7 +6143,7 @@ end More Object temple_ruin3 -name ruined temple +name ruined temple face temple_ruin.x11 type 66 no_pick 1 @@ -6143,7 +6152,7 @@ end More Object temple_ruin4 -name ruined temple +name ruined temple face temple_ruin.x11 type 66 no_pick 1 @@ -6453,7 +6462,7 @@ y 1 no_pick 1 editor_folder construct/tower -end +end Object a_bridge1 name bridge face a_bridge1.111 @@ -8338,7 +8347,7 @@ hp 1 sp 1 msg -You feel feverish. Your muscles spasm +You feel feverish. Your muscles spasm oddly.... Breathing is difficult. endmsg race animal @@ -8479,7 +8488,7 @@ last_eat 0 exp 100 msg -You can't control your sphincter. You have +You can't control your sphincter. You have a messy accident. Yuck! endmsg race * @@ -8743,7 +8752,7 @@ last_eat 0 exp 10000 msg -You start gibbering incoherently. You +You start gibbering incoherently. You forget where you are and what you were doing. endmsg race * @@ -8775,8 +8784,8 @@ hp 1 sp 1 msg -Splotches are spreading around your body. -You feel disgusted with yourself. A piece +Splotches are spreading around your body. +You feel disgusted with yourself. A piece of skin flakes off and falls to the ground. endmsg race * @@ -8911,7 +8920,7 @@ last_eat 0 exp 100 msg -You spit out a tooth. Better increase that +You spit out a tooth. Better increase that dietary vitamin C! endmsg race * @@ -8942,7 +8951,7 @@ hp 1 sp 1 msg -You have a nasty rash all over you. Are those +You have a nasty rash all over you. Are those pustules? endmsg race goblin,human,troll,giant,dwarf @@ -8973,8 +8982,8 @@ last_eat 1 exp 100 msg -You feel more hungry than usual. You also -feel an urge to refer to yourself in the +You feel more hungry than usual. You also +feel an urge to refer to yourself in the plural. endmsg race * @@ -8999,9 +9008,9 @@ last_eat 0 exp 100 msg -A tooth wiggles loose and falls to the -ground. You should brush more. Have I -mentioned that your breath is disgusting, +A tooth wiggles loose and falls to the +ground. You should brush more. Have I +mentioned that your breath is disgusting, too? endmsg race * @@ -9032,7 +9041,7 @@ hp 1 sp 1 msg -You feel feverish. Your muscles spasm +You feel feverish. Your muscles spasm oddly.... Breathing is difficult. endmsg race human,goblin,giant,troll @@ -12208,7 +12217,7 @@ editor_folder floor end -Object sewerfloor +Object sewerfloor name Sewer Floor face sewerfloor.111 no_pick 1 @@ -12252,7 +12261,7 @@ smoothlevel 30 editor_folder floor end -Object strangefloor +Object strangefloor name Strange Floor face strangefloor.111 no_pick 1 @@ -12406,7 +12415,7 @@ nrof 1 type 6 material 32 -value 300 +value 300 weight 300 editable 2048 identified 1 @@ -12642,7 +12651,7 @@ nrof 1 type 6 material 32 -value 300 +value 300 weight 300 editable 2048 identified 1 @@ -12808,7 +12817,7 @@ type 7 material 36 value 10 -weight 1000 +weight 1000 editable 2048 identified 0 name_pl bottles of wine @@ -12826,7 +12835,7 @@ type 7 material 36 value 2 -weight 1000 +weight 1000 editable 2048 identified 0 name_pl glasses of wine @@ -13024,7 +13033,7 @@ type 54 material 36 value 2 -weight 1000 +weight 1000 editable 2048 identified 1 name_pl glasses of wine @@ -13070,7 +13079,7 @@ type 54 material 36 value 10 -weight 1000 +weight 1000 editable 2048 identified 1 name_pl bottles of wine @@ -13218,6 +13227,7 @@ animation small_troll is_animated 1 monster 1 +move_type walk alive 1 Str 30 Con 30 @@ -13242,7 +13252,7 @@ can_use_armour 1 can_cast_spell 1 msg -Father of goblins, Lord Troll, Master of +Father of goblins, Lord Troll, Master of poisons, Patron of assassins endmsg exp 1 @@ -13257,6 +13267,7 @@ animation small_troll is_animated 1 monster 1 +move_type walk alive 1 Str 20 Con 30 @@ -13321,6 +13332,7 @@ animation elf_1 is_animated 1 monster 1 +move_type walk alive 1 Str 30 Con 30 @@ -13349,7 +13361,7 @@ can_use_armour 1 can_use_shield 1 msg -Elven god of luck, Huntsman of Goblins, +Elven god of luck, Huntsman of Goblins, Trollslayer, the Trickster endmsg exp 1 @@ -13365,6 +13377,7 @@ animation elf_1 is_animated 1 monster 1 +move_type walk alive 1 Str 30 Con 30 @@ -13431,6 +13444,7 @@ animation dwarf is_animated 1 monster 1 +move_type walk alive 1 attacktype 256 Str 30 @@ -13456,7 +13470,7 @@ can_use_armour 1 can_use_shield 1 msg -Dwarven deity of metal smithing and warcraft, +Dwarven deity of metal smithing and warcraft, Giant basher, Delver of secrets endmsg exp 1 @@ -13472,6 +13486,7 @@ animation dwarf is_animated 1 monster 1 +move_type walk alive 1 attacktype 256 Str 30 @@ -13535,6 +13550,7 @@ animation knight race human,troll monster 1 +move_type walk alive 1 attacktype 1048577 Str 30 @@ -13584,6 +13600,7 @@ animation panther is_animated 1 monster 1 +move_type walk alive 1 Str 30 Con 30 @@ -13626,6 +13643,7 @@ animation panther is_animated 1 monster 1 +move_type walk alive 1 Str 30 Con 30 @@ -13699,6 +13717,7 @@ Wis 30 Pow 30 monster 1 +move_type walk alive 1 type 50 attacktype 17 @@ -13740,6 +13759,7 @@ Wis 30 Pow 30 monster 1 +move_type walk alive 1 attacktype 17 path_attuned 131074 @@ -13805,6 +13825,7 @@ Wis 30 Pow 30 monster 1 +move_type walk alive 1 type 50 attacktype 5 @@ -13847,6 +13868,7 @@ Wis 30 Pow 30 monster 1 +move_type walk alive 1 attacktype 5 path_attuned 131074 @@ -13912,6 +13934,7 @@ Wis 30 Pow 30 monster 1 +move_type walk alive 1 attacktype 8 resist_electricity 100 @@ -13950,6 +13973,7 @@ Wis 30 Pow 30 monster 1 +move_type walk alive 1 attacktype 8 resist_electricity 100 @@ -14028,14 +14052,14 @@ Object bracers_gnarg nrof 1 name bracers -title of strength of Wargs +title of strength of Wargs face bracersdex.111 msg An exceptional pair of bracers. Not only do they provide the wearer with protection from cold, they also increase the wearer's damage and strength, and help heal the body - from damage. A mighty gift from Gnarg sent + from damage. A mighty gift from Gnarg sent to aid you in annihilating His enemies. endmsg type 104 @@ -14110,9 +14134,9 @@ name_pl Gloves of the Sun client_type 300 msg - This pair of gloves will aid any of Gaea's + This pair of gloves will aid any of Gaea's most faithful in seeing her will protected. -endmsg +endmsg nrof 1 type 100 face glovesofsun.111 @@ -14182,7 +14206,7 @@ face shellhorn2.111 randomitems horn_waves msg - Putting this shell to your ear, you hear + Putting this shell to your ear, you hear the crashing sound of ocean waves. endmsg type 35 @@ -14266,8 +14290,8 @@ face claypipe.111 randomitems pipe_lythander msg - This pipe is the finest you have ever - seen. Imagine the smoke rings you + This pipe is the finest you have ever + seen. Imagine the smoke rings you could blow with it... endmsg type 35 @@ -14370,7 +14394,7 @@ level 4 editable 0 editor_folder gods/randomitems -end +end Object god_enchant_weapon_low name enchant weapon face blank.111 @@ -14379,7 +14403,7 @@ level 10 editable 0 editor_folder gods/randomitems -end +end Object god_enchant_weapon_medium name enchant weapon face blank.111 @@ -14388,7 +14412,7 @@ level 6 editable 0 editor_folder gods/randomitems -end +end Object god_grace_limit_high name grace limit face god_grace_limit.111 @@ -14397,7 +14421,7 @@ grace 600 editable 0 editor_folder gods/randomitems -end +end Object god_grace_limit_insane name grace limit face god_grace_limit.111 @@ -14406,7 +14430,7 @@ grace 1000 editable 0 editor_folder gods/randomitems -end +end Object god_grace_limit_low name grace limit face god_grace_limit.111 @@ -14415,7 +14439,7 @@ grace 100 editable 0 editor_folder gods/randomitems -end +end Object god_grace_limit_medium name grace limit face god_grace_limit.111 @@ -14424,7 +14448,7 @@ grace 300 editable 0 editor_folder gods/randomitems -end +end Object god_grace_limit_wimpy name grace limit face god_grace_limit.111 @@ -14433,7 +14457,7 @@ grace 35 editable 0 editor_folder gods/randomitems -end +end Object god_heal type 8 invisible 1 @@ -14557,6 +14581,7 @@ animation grimreaper is_animated 1 monster 1 +move_type walk alive 1 Str 30 Con 30 @@ -14592,7 +14617,7 @@ undead 1 can_see_in_dark 1 msg -Soul Eaters, Harbingers of Death, Nameless +Soul Eaters, Harbingers of Death, Nameless Lords of the Tomb endmsg exp 1 @@ -14607,6 +14632,7 @@ animation grimreaper is_animated 1 monster 1 +move_type walk alive 1 Str 30 Con 30 @@ -14687,6 +14713,7 @@ Wis 30 Pow 30 monster 1 +move_type walk alive 1 attacktype 16384 path_attuned 131072 @@ -14730,6 +14757,7 @@ Wis 30 Pow 30 monster 1 +move_type walk alive 1 attacktype 16385 path_attuned 393216 @@ -14795,6 +14823,7 @@ is_animated 1 type 50 monster 1 +move_type walk alive 1 attacktype 4194304 path_attuned 1025 @@ -14835,6 +14864,7 @@ Pow 30 is_animated 1 monster 1 +move_type walk alive 1 attacktype 4194305 path_attuned 1025 @@ -15703,8 +15733,8 @@ smoothlevel 22 editor_folder ground/Winter end -Object ice2 -name Ice +Object ice2 +name Ice face ice2.111 no_pick 1 is_floor 1 @@ -16216,7 +16246,7 @@ speed 1 no_pick 1 attacktype 262144 -flying 1 +move_type fly_low no_pick 1 dam 5 editable 8 @@ -16347,7 +16377,7 @@ editable 8 editor_folder ground end -Object farmland +Object farmland face farmland.111 type 67 walk_on 1 @@ -16374,7 +16404,7 @@ other_arch fog animation fog type 67 -flying 1 +move_type fly_low no_pick 1 is_used_up 1 resist_fire 100 @@ -16407,7 +16437,7 @@ animation fog_wall type 102 subtype 7 -flying 1 +move_type fly_low no_pick 1 resist_fire 100 resist_electricity 100 @@ -16560,7 +16590,7 @@ walk_on 1 no_pick 1 is_water 1 -slow_move 15 +slow_move 15 is_wooded 1 smoothlevel 9 editable 8 @@ -16933,7 +16963,7 @@ face fog.111 animation temp_fog type 67 -flying 1 +move_type fly_low no_pick 1 is_used_up 1 resist_fire 100 @@ -17608,7 +17638,7 @@ end Object harpsichord1 -name harpsichord +name harpsichord slaying goldcoin food 1 type 31 @@ -17621,7 +17651,7 @@ end More Object harpsichord1_2 -name harpsichord +name harpsichord slaying goldcoin food 1 type 31 @@ -17635,7 +17665,7 @@ end More Object harpsichord1_3 -name harpsichord +name harpsichord slaying goldcoin food 1 type 31 @@ -17649,7 +17679,7 @@ end More Object harpsichord1_4 -name harpsichord +name harpsichord slaying goldcoin food 1 type 31 @@ -17664,7 +17694,7 @@ end Object harpsichord2 -name harpsichord +name harpsichord slaying goldcoin food 1 type 31 @@ -17677,7 +17707,7 @@ end More Object harpsichord2_2 -name harpsichord +name harpsichord slaying goldcoin food 1 type 31 @@ -17691,7 +17721,7 @@ end More Object harpsichord2_3 -name harpsichord +name harpsichord slaying goldcoin food 1 type 31 @@ -17705,7 +17735,7 @@ end More Object harpsichord2_4 -name harpsichord +name harpsichord slaying goldcoin food 1 type 31 @@ -17720,7 +17750,7 @@ end Object harpsichord3 -name harpsichord +name harpsichord slaying goldcoin food 1 type 31 @@ -17733,7 +17763,7 @@ end More Object harpsichord3_2 -name harpsichord +name harpsichord slaying goldcoin food 1 type 31 @@ -17747,7 +17777,7 @@ end More Object harpsichord3_3 -name harpsichord +name harpsichord slaying goldcoin food 1 type 31 @@ -17761,7 +17791,7 @@ end More Object harpsichord3_4 -name harpsichord +name harpsichord slaying goldcoin food 1 type 31 @@ -17776,7 +17806,7 @@ end Object harpsichord4 -name harpsichord +name harpsichord slaying goldcoin food 1 type 31 @@ -17789,7 +17819,7 @@ end More Object harpsichord4_2 -name harpsichord +name harpsichord slaying goldcoin food 1 type 31 @@ -17803,7 +17833,7 @@ end More Object harpsichord4_3 -name harpsichord +name harpsichord slaying goldcoin food 1 type 31 @@ -17817,7 +17847,7 @@ end More Object harpsichord4_4 -name harpsichord +name harpsichord slaying goldcoin food 1 type 31 @@ -17988,7 +18018,7 @@ attacktype 4194304 wc -3 dam 1 -flying 1 +move_type fly_low no_pick 1 editable 32 name_pl clouds of dust @@ -19988,6 +20018,17 @@ slaying sign editor_folder mapbuilding end +Object building_bed_save +name Bed of reality material +nrof 1 +weight 50000 +value 100000 +type 161 +subtype 3 +face mbbed_save.111 +slaying bed_save +editor_folder mapbuilding +end Object building_earbook name Listening book material nrof 1 @@ -21144,9 +21185,9 @@ move_type 1 editor_folder misc end -Object bouquet +Object bouquet face bouquet.111 -name bouquet +name bouquet nrof 1 is_animated 1 weight 100 @@ -21630,7 +21671,7 @@ body_arm -2 editor_folder misc end -Object cplate +Object cplate face cplate.111 nrof 1 material 32 @@ -21639,7 +21680,7 @@ editable 2048 identified 1 name chicken -name_pl chickens +name_pl chickens client_type 601 editor_folder misc end @@ -21703,7 +21744,7 @@ editor_folder misc end Object grand_piano_black -name grand piano +name grand piano slaying goldcoin food 1 type 31 @@ -21716,7 +21757,7 @@ end More Object grand_piano_2_black -name grand piano +name grand piano slaying goldcoin food 1 type 31 @@ -21730,7 +21771,7 @@ end More Object grand_piano_3_black -name grand piano +name grand piano slaying goldcoin food 1 type 31 @@ -21744,7 +21785,7 @@ end More Object grand_piano_4_black -name grand piano +name grand piano slaying goldcoin food 1 type 31 @@ -21759,7 +21800,7 @@ end Object grand_piano_white -name grand piano +name grand piano slaying goldcoin food 1 type 31 @@ -21772,7 +21813,7 @@ end More Object grand_piano_2_white -name grand piano +name grand piano slaying goldcoin food 1 type 31 @@ -21786,7 +21827,7 @@ end More Object grand_piano_3_white -name grand piano +name grand piano slaying goldcoin food 1 type 31 @@ -21800,7 +21841,7 @@ end More Object grand_piano_4_white -name grand piano +name grand piano slaying goldcoin food 1 type 31 @@ -21906,8 +21947,8 @@ msg A Nazgul is somewhat like a grimreaper. However, while grimreapers are vulnerable to -magic, Nazgul seem to be immune to magic. -Nazgul have a drain attack. +magic, Nazgul seem to be immune to magic. +Nazgul have a drain attack. Nazgul cannot be attacked physically, except in a Special Case: * this scroll is broken, * @@ -21941,7 +21982,7 @@ client_type 8013 editor_folder misc end -Object plate +Object plate face plate.111 nrof 1 material 32 @@ -21949,8 +21990,8 @@ weight 6500 editable 2048 identified 1 -name plate -name_pl plate +name plate +name_pl plate client_type 601 editor_folder misc end @@ -22262,7 +22303,7 @@ name_pl 10 kilos client_type 8003 editor_folder misc -end +end Object thewheel_short_static face thewheel_short.111 name the wheel @@ -22385,7 +22426,7 @@ skill use magic item editor_folder misc end -Object wplate +Object wplate face wplate.111 nrof 1 material 32 @@ -22393,8 +22434,8 @@ weight 6500 editable 2048 identified 1 -name wine -name_pl wines +name wine +name_pl wines client_type 601 editor_folder misc end @@ -22426,6 +22467,7 @@ face acidsphere.111 animation acid_sphere monster 1 +move_type walk sleep 1 Wis 5 alive 1 @@ -22467,6 +22509,7 @@ splitting 1 food 1 monster 1 +move_type walk sleep 1 Wis 15 alive 1 @@ -22496,6 +22539,7 @@ changing 1 food 1 monster 1 +move_type walk alive 1 ac 8 wc 2 @@ -22522,6 +22566,7 @@ changing 1 food 2 monster 1 +move_type walk alive 1 ac 8 wc 2 @@ -22546,6 +22591,7 @@ face greenslime.111 animation green_slime monster 1 +move_type walk sleep 1 Wis 5 alive 1 @@ -22585,6 +22631,7 @@ weight 30000 alive 1 monster 1 +move_type walk hitback 1 sleep 1 editable 1 @@ -22596,6 +22643,7 @@ face rustmonste.131 animation rustmonster monster 1 +move_type walk sleep 1 Wis 15 alive 1 @@ -22622,6 +22670,7 @@ face slime.111 animation slime monster 1 +move_type walk sleep 1 Wis 5 no_pick 1 @@ -22650,6 +22699,7 @@ animation slimecrawler anim_speed 6 monster 1 +move_type walk sleep 1 alive 1 see_invisible 1 @@ -22683,6 +22733,7 @@ face angel.111 animation angel monster 1 +move_type walk fly_low sleep 1 Wis 15 see_invisible 1 @@ -22703,7 +22754,6 @@ resist_blind 80 speed 0.2 weight 75000 -flying 1 run_away 18 will_apply 2 pick_up 24 @@ -22739,6 +22789,7 @@ race angel face angelknight.x11 monster 1 +move_type walk fly_low level 8 hp 100 maxhp 100 @@ -22756,7 +22807,6 @@ resist_holyword 40 resist_blind 90 weight 75000 -flying 1 run_away 18 will_apply 2 pick_up 24 @@ -22792,6 +22842,7 @@ name Angel Knight face angelknight.x11 monster 1 +move_type walk fly_low alive 1 no_pick 1 y 1 @@ -22805,6 +22856,7 @@ face archangel.118 animation archangle monster 1 +move_type walk fly_low sleep 1 Wis 15 see_invisible 1 @@ -22840,7 +22892,6 @@ attacktype 20745 speed 0.400000 weight 150000 -flying 1 run_away 18 will_apply 2 pick_up 24 @@ -22877,6 +22928,7 @@ face highangel.x11 animation ArchAngel monster 1 +move_type walk fly_low sleep 1 see_invisible 1 no_pick 1 @@ -22912,7 +22964,6 @@ resist_holyword 30 resist_godpower 80 weight 150000 -flying 1 run_away 18 will_apply 2 pick_up 24 @@ -22947,6 +22998,7 @@ face highangel.x11 animation ArchAngel_2 monster 1 +move_type walk fly_low alive 1 no_pick 1 x 1 @@ -22959,6 +23011,7 @@ face highangel.x11 animation ArchAngel_3 monster 1 +move_type walk fly_low alive 1 no_pick 1 y 1 @@ -22971,6 +23024,7 @@ face highangel.x11 animation ArchAngel_4 monster 1 +move_type walk fly_low alive 1 no_pick 1 y 1 @@ -22984,6 +23038,7 @@ face highangel.x11 animation ArchAngel_5 monster 1 +move_type walk fly_low alive 1 no_pick 1 y 2 @@ -22997,6 +23052,7 @@ face highangel.x11 animation ArchAngel_6 monster 1 +move_type walk fly_low alive 1 no_pick 1 y 2 @@ -23009,6 +23065,7 @@ name cherub face cupid.111 monster 1 +move_type walk fly_low see_invisible 1 can_see_in_dark 1 no_pick 1 @@ -23024,7 +23081,6 @@ resist_magic 50 speed 0.3 weight 25000 -flying 1 run_away 18 attacktype 1 editable 1 @@ -23035,6 +23091,7 @@ face holyghost.111 name holy ghost monster 1 +move_type walk fly_low sleep 1 see_invisible 1 can_see_in_dark 1 @@ -23052,7 +23109,6 @@ resist_blind 50 speed 0.2 weight 25000 -flying 1 attacktype 512 editable 1 editor_folder monster/angel @@ -23064,6 +23120,7 @@ face liteangel.112 animation liteangel monster 1 +move_type walk fly_low sleep 1 Wis 15 see_invisible 1 @@ -23088,7 +23145,6 @@ attacktype 5 speed 0.25 weight 150000 -flying 1 run_away 18 will_apply 2 pick_up 24 @@ -23126,6 +23182,7 @@ face liteangel.112 animation mesangel monster 1 +move_type walk fly_low sleep 1 Wis 15 see_invisible 1 @@ -23150,7 +23207,6 @@ attacktype 5 speed -0.50 weight 150000 -flying 1 run_away 18 will_apply 2 pick_up 24 @@ -23186,6 +23242,7 @@ face retributioner.x11 randomitems angel monster 1 +move_type walk fly_low level 27 hp 4000 maxhp 4000 @@ -23207,7 +23264,6 @@ resist_holyword 80 resist_blind 100 weight 75000 -flying 1 run_away 18 will_apply 2 pick_up 24 @@ -23241,6 +23297,7 @@ name Retributioner face retributioner.x11 monster 1 +move_type walk fly_low alive 1 no_pick 1 x 1 @@ -23252,6 +23309,7 @@ name Retributioner face retributioner.x11 monster 1 +move_type walk fly_low alive 1 no_pick 1 y 1 @@ -23263,6 +23321,7 @@ name Retributioner face retributioner.x11 monster 1 +move_type walk fly_low alive 1 no_pick 1 y 1 @@ -23275,6 +23334,7 @@ name Retributioner face retributioner.x11 monster 1 +move_type walk fly_low alive 1 no_pick 1 y 2 @@ -23287,6 +23347,7 @@ name Retributioner face retributioner.x11 monster 1 +move_type walk fly_low alive 1 no_pick 1 y 2 @@ -23299,6 +23360,7 @@ name whim face wingedhalo.111 monster 1 +move_type walk fly_low see_invisible 1 can_see_in_dark 1 no_pick 1 @@ -23314,7 +23376,6 @@ resist_magic 100 speed 0.2 weight 75000 -flying 1 run_away 18 attacktype 1 editable 1 @@ -23325,6 +23386,7 @@ name bear randomitems bear monster 1 +move_type walk sleep 1 Wis 10 face bear.x31 @@ -23355,6 +23417,7 @@ face bear.x31 animation bear_2 monster 1 +move_type walk alive 1 no_pick 1 y 1 @@ -23365,6 +23428,7 @@ name polar bear randomitems polarbear monster 1 +move_type walk sleep 1 Wis 10 face polarbear.x31 @@ -23396,6 +23460,7 @@ face polarbear.x31 animation polarbear_2 monster 1 +move_type walk alive 1 no_pick 1 y 1 @@ -23408,6 +23473,7 @@ randomitems behemoth attacktype 1025 monster 1 +move_type walk sleep 1 Wis 20 resist_fear 100 @@ -23457,6 +23523,7 @@ race animal animation dog monster 1 +move_type walk sleep 1 Wis 20 alive 1 @@ -23481,6 +23548,7 @@ race animal animation mastif monster 1 +move_type walk sleep 1 Wis 20 alive 1 @@ -23505,6 +23573,7 @@ race animal animation pup monster 1 +move_type walk sleep 1 Wis 10 alive 1 @@ -23532,6 +23601,7 @@ speed -0.4 attack_movement 3 monster 1 +move_type walk sleep 1 Wis 10 resist_fear 100 @@ -23584,6 +23654,7 @@ face neko.111 animation neko monster 1 +move_type walk sleep 1 Wis 8 no_pick 1 @@ -23608,6 +23679,7 @@ randomitems dwolf animation dire_wolf monster 1 +move_type walk sleep 1 Wis 20 alive 1 @@ -23642,6 +23714,7 @@ randomitems dwolf_sire animation dire_wolf_sire monster 1 +move_type walk sleep 1 Wis 20 alive 1 @@ -23675,6 +23748,7 @@ randomitems wolf animation wolf monster 1 +move_type walk sleep 1 Wis 20 alive 1 @@ -23702,6 +23776,7 @@ face ape.171 animation ape monster 1 +move_type walk sleep 1 no_pick 1 alive 1 @@ -23731,6 +23806,7 @@ race animal animation bat monster 1 +move_type walk fly_low sleep 1 Wis 15 no_pick 1 @@ -23745,7 +23821,6 @@ dam 3 ac 4 level 2 -flying 1 weight 20 resist_physical 30 editable 1 @@ -23773,6 +23848,7 @@ race bird animation bird monster 1 +move_type walk fly_low sleep 1 Wis 8 no_pick 1 @@ -23786,7 +23862,6 @@ dam 1 speed -0.3 exp 20 -flying 1 weight 1500 attack_movement 3 editable 1 @@ -23818,6 +23893,7 @@ speed -0.1 anim_speed 3 monster 1 +move_type walk sleep 1 Wis 10 alive 1 @@ -23849,6 +23925,7 @@ face chicken.131 animation chicken monster 1 +move_type walk Wis 1 alive 1 level 1 @@ -23870,6 +23947,7 @@ face goose.131 animation goose monster 1 +move_type walk Wis 1 alive 1 level 2 @@ -23891,6 +23969,7 @@ face sheep.131 animation sheep monster 1 +move_type walk Wis 5 alive 1 level 1 @@ -23922,6 +24001,7 @@ no_pick 1 animation fungus monster 1 +move_type walk sleep 1 Wis 5 alive 1 @@ -23944,6 +24024,7 @@ randomitems giant_bat animation giant_bat monster 1 +move_type walk fly_low sleep 1 Wis 15 no_pick 1 @@ -23951,13 +24032,12 @@ ac 2 level 4 hp 30 -maxhp 30 +maxhp 30 see_invisible 1 wc 10 dam 13 speed 0.3 exp 100 -flying 1 weight 5000 attack_movement 3 editable 1 @@ -23970,6 +24050,7 @@ animation g_worm attacktype 1025 monster 1 +move_type walk sleep 1 Str 40 Pow 30 @@ -24040,6 +24121,7 @@ name Dark Gryphon randomitems gryphon monster 1 +move_type walk sleep 1 Wis 15 face gryphon.x31 @@ -24100,6 +24182,7 @@ face gryphon.x31 animation gryphon2 monster 1 +move_type walk alive 1 anim_speed 1.0 x 1 @@ -24121,6 +24204,7 @@ face gryphon.x31 animation gryphon4 monster 1 +move_type walk alive 1 anim_speed 1.0 y 1 @@ -24132,6 +24216,7 @@ face gryphon.x31 animation gryphon5 monster 1 +move_type walk alive 1 anim_speed 1.0 x 1 @@ -24144,6 +24229,7 @@ face gryphon.x31 animation gryphon6 monster 1 +move_type walk alive 1 anim_speed 1.0 x 2 @@ -24156,6 +24242,7 @@ face gryphon.x31 animation gryphon7 monster 1 +move_type walk alive 1 anim_speed 1.0 y 2 @@ -24167,6 +24254,7 @@ face gryphon.x31 animation gryphon8 monster 1 +move_type walk alive 1 anim_speed 1.0 x 1 @@ -24179,6 +24267,7 @@ face gryphon.x31 animation gryphon9 monster 1 +move_type walk alive 1 anim_speed 1.0 x 2 @@ -24193,6 +24282,7 @@ anim_speed 4 randomitems leech monster 1 +move_type walk sleep 1 no_pick 1 alive 1 @@ -24227,6 +24317,7 @@ race animal animation mouse monster 1 +move_type walk no_pick 1 generator 1 maxsp 15 @@ -24266,6 +24357,7 @@ race animal animation panther monster 1 +move_type walk sleep 1 Wis 20 alive 1 @@ -24324,6 +24416,7 @@ randomitems scorpion animation scorpion monster 1 +move_type walk sleep 1 Wis 8 no_pick 1 @@ -24352,6 +24445,7 @@ race animal animation shadowpup monster 1 +move_type walk sleep 1 Wis 20 alive 1 @@ -24377,9 +24471,9 @@ animation shadowtiger exp 100000 monster 1 +move_type walk fly_low alive 1 no_pick 1 -flying 1 see_invisible 1 Con 30 maxhp 2000 @@ -24445,6 +24539,7 @@ no_pick 1 animation snake monster 1 +move_type walk sleep 1 Wis 8 alive 1 @@ -24485,6 +24580,7 @@ face beholder.111 animation beholder monster 1 +move_type walk fly_low sleep 1 Wis 15 see_invisible 1 @@ -24507,7 +24603,6 @@ resist_fear 100 resist_blind -75 speed -0.07 -flying 1 weight 1000 run_away 15 attack_movement 1 @@ -24521,6 +24616,7 @@ face beholder_leader.111 animation beholder_leader_arc monster 1 +move_type walk fly_low sleep 1 Wis 15 see_invisible 1 @@ -24545,7 +24641,6 @@ resist_physical 40 resist_blind -60 speed -0.07 -flying 1 weight 1000 run_away 15 attack_movement 1 @@ -24555,16 +24650,16 @@ Object dread name Dread race unnatural -randomitems beholder_big +randomitems dread face dread.x11 animation dread exp 50000 monster 1 +move_type walk fly_low sleep 1 Wis 20 alive 1 no_pick 1 -flying 1 see_invisible 1 Con 5 Pow 14 @@ -24597,7 +24692,7 @@ animation dread_2 alive 1 no_pick 1 -flying 1 +move_type walk fly_low editor_folder monster/beholder end More @@ -24608,7 +24703,7 @@ animation dread_3 alive 1 no_pick 1 -flying 1 +move_type walk fly_low editor_folder monster/beholder end More @@ -24620,30 +24715,30 @@ animation dread_4 alive 1 no_pick 1 -flying 1 +move_type walk fly_low editor_folder monster/beholder end -Object archon -name Archon +Object archon +name Archon randomitems liv_chaos race chaos -face archon.111 +face archon.111 animation archon is_animated 1 -flying 1 -level 30 -hp 1500 -maxhp 1500 -Int 50 -Pow 50 -sp 300 -maxsp 300 +move_type walk fly_low +level 30 +hp 1500 +maxhp 1500 +Int 50 +Pow 50 +sp 300 +maxsp 300 ac -30 wc -30 -dam 80 +dam 80 alive 1 weight 30000 -exp 100000 +exp 100000 speed -0.6 attacktype 262180 Con 3 @@ -24656,9 +24751,9 @@ resist_chaos 100 resist_physical 50 resist_magic 50 -resist_fire 100 -resist_electricity 100 -resist_cold 100 +resist_fire 100 +resist_electricity 100 +resist_cold 100 resist_confusion -100 resist_drain -100 monster 1 @@ -24672,7 +24767,7 @@ face liv_chaos.111 animation living_chaos is_animated 1 -flying 1 +move_type walk fly_low level 13 hp 250 maxhp 250 @@ -24718,6 +24813,7 @@ animation witch_chaos randomitems witch_chaos monster 1 +move_type walk fly_low alive 1 resist_ghosthit 100 resist_poison 100 @@ -24750,7 +24846,6 @@ Pow 10 Wis 10 Con 10 -flying 1 editable 1 editor_folder monster/chaos end @@ -24772,6 +24867,7 @@ resist_poison 100 resist_blind 100 monster 1 +move_type walk sleep 1 Wis 20 Con 40 @@ -24828,6 +24924,7 @@ face jessyb.x11 animation Balrog_2 monster 1 +move_type walk alive 1 no_pick 1 x 1 @@ -24840,6 +24937,7 @@ face jessyb.x11 animation Balrog_3 monster 1 +move_type walk alive 1 no_pick 1 x 2 @@ -24852,6 +24950,7 @@ face jessyb.x11 animation Balrog_4 monster 1 +move_type walk alive 1 no_pick 1 x 3 @@ -24864,6 +24963,7 @@ face jessyb.x11 animation Balrog_5 monster 1 +move_type walk alive 1 no_pick 1 y 1 @@ -24876,6 +24976,7 @@ face jessyb.x11 animation Balrog_6 monster 1 +move_type walk alive 1 no_pick 1 x 1 @@ -24889,6 +24990,7 @@ face jessyb.x11 animation Balrog_7 monster 1 +move_type walk alive 1 no_pick 1 x 2 @@ -24902,6 +25004,7 @@ face jessyb.x11 animation Balrog_8 monster 1 +move_type walk alive 1 no_pick 1 x 3 @@ -24915,6 +25018,7 @@ face jessyb.x11 animation Balrog_9 monster 1 +move_type walk alive 1 no_pick 1 y 2 @@ -24927,6 +25031,7 @@ face jessyb.x11 animation Balrog_10 monster 1 +move_type walk alive 1 no_pick 1 x 1 @@ -24940,6 +25045,7 @@ face jessyb.x11 animation Balrog_11 monster 1 +move_type walk alive 1 no_pick 1 x 2 @@ -24953,6 +25059,7 @@ face jessyb.x11 animation Balrog_12 monster 1 +move_type walk alive 1 no_pick 1 x 3 @@ -24966,6 +25073,7 @@ face jessyb.x11 animation Balrog_13 monster 1 +move_type walk alive 1 no_pick 1 y 3 @@ -24978,6 +25086,7 @@ face jessyb.x11 animation Balrog_14 monster 1 +move_type walk alive 1 no_pick 1 x 1 @@ -24991,6 +25100,7 @@ face jessyb.x11 animation Balrog_15 monster 1 +move_type walk alive 1 no_pick 1 x 2 @@ -25004,6 +25114,7 @@ face jessyb.x11 animation Balrog_16 monster 1 +move_type walk alive 1 no_pick 1 x 3 @@ -25045,6 +25156,7 @@ speed 0.3 weight 300000 monster 1 +move_type walk Wis 13 alive 1 run_away 3 @@ -25063,6 +25175,7 @@ face big_demon.x71 animation big_demon_2 monster 1 +move_type walk alive 1 x 1 weight 300000 @@ -25074,6 +25187,7 @@ face big_demon.x71 animation big_demon_3 monster 1 +move_type walk alive 1 x 2 weight 300000 @@ -25085,6 +25199,7 @@ face big_demon.x71 animation big_demon_4 monster 1 +move_type walk alive 1 y 1 weight 300000 @@ -25096,6 +25211,7 @@ face big_demon.x71 animation big_demon_5 monster 1 +move_type walk alive 1 x 1 y 1 @@ -25108,6 +25224,7 @@ face big_demon.x71 animation big_demon_6 monster 1 +move_type walk alive 1 x 2 y 1 @@ -25120,6 +25237,7 @@ face big_demon.x71 animation big_demon_7 monster 1 +move_type walk alive 1 y 2 weight 300000 @@ -25131,6 +25249,7 @@ face big_demon.x71 animation big_demon_8 monster 1 +move_type walk alive 1 x 1 y 2 @@ -25143,6 +25262,7 @@ face big_demon.x71 animation big_demon_9 monster 1 +move_type walk alive 1 x 2 y 2 @@ -25155,6 +25275,7 @@ face big_demon.x71 animation big_demon_A monster 1 +move_type walk alive 1 y 3 weight 300000 @@ -25166,6 +25287,7 @@ face big_demon.x71 animation big_demon_B monster 1 +move_type walk alive 1 x 1 y 3 @@ -25178,6 +25300,7 @@ face big_demon.x71 animation big_demon_C monster 1 +move_type walk alive 1 x 2 y 3 @@ -25216,6 +25339,7 @@ speed -0.2 alive 1 monster 1 +move_type walk sleep 1 Wis 20 see_invisible 1 @@ -25567,6 +25691,7 @@ speed 0.3 alive 1 monster 1 +move_type walk sleep 1 Wis 20 see_invisible 1 @@ -25961,6 +26086,7 @@ face bone_head.111 animation bone_head monster 1 +move_type walk fly_low sleep 1 friendly 1 Wis 20 @@ -25968,7 +26094,6 @@ alive 1 sleep 1 undead 1 -flying 1 exp 3500 level 15 attacktype 17 @@ -26001,6 +26126,7 @@ face devil.111 animation devil monster 1 +move_type walk sleep 1 Wis 15 see_invisible 1 @@ -26114,6 +26240,7 @@ alive 1 no_pick 1 monster 1 +move_type walk see_invisible 1 unaggressive 1 can_cast_spell 1 @@ -26164,8 +26291,8 @@ alive 1 no_pick 1 is_animated 1 -flying 1 monster 1 +move_type walk fly_low see_invisible 1 unaggressive 1 can_apply 1 @@ -26230,6 +26357,7 @@ no_pick 1 is_animated 1 monster 1 +move_type walk undead 1 see_invisible 1 unaggressive 1 @@ -26277,6 +26405,7 @@ no_pick 1 is_animated 1 monster 1 +move_type walk unaggressive 1 editable 1 editor_folder monster/demon @@ -26288,6 +26417,7 @@ face fiend.111 animation fiend monster 1 +move_type walk Wis 15 see_invisible 1 no_pick 1 @@ -26346,6 +26476,7 @@ race demon animation hellhound monster 1 +move_type walk sleep 1 Wis 20 alive 1 @@ -26410,6 +26541,7 @@ speed -0.2 alive 1 monster 1 +move_type walk sleep 1 Wis 20 see_invisible 1 @@ -26425,6 +26557,7 @@ animation imp race demon monster 1 +move_type walk fly_low can_see_in_dark 1 can_cast_spell 1 see_invisible 1 @@ -26455,7 +26588,6 @@ attacktype 5 attack_movement 5 editable 1 -flying 1 editor_folder monster/demon end Object medium_demon @@ -26492,6 +26624,7 @@ speed 0.3 weight 300000 monster 1 +move_type walk Wis 13 alive 1 run_away 3 @@ -26510,6 +26643,7 @@ face mdemon.x11 animation medium_demon_2 monster 1 +move_type walk alive 1 x 1 weight 300000 @@ -26521,6 +26655,7 @@ face mdemon.x11 animation medium_demon_3 monster 1 +move_type walk alive 1 y 1 weight 300000 @@ -26532,6 +26667,7 @@ face mdemon.x11 animation medium_demon_4 monster 1 +move_type walk alive 1 y 1 x 1 @@ -26549,6 +26685,7 @@ animation raas race demon monster 1 +move_type walk Wis 10 no_pick 1 alive 1 @@ -26579,6 +26716,7 @@ race dragon randomitems chaosdragon monster 1 +move_type walk sleep 1 Wis 30 face chaos_dragon.x71 @@ -26617,6 +26755,7 @@ face chaos_dragon.x71 animation big_chaos_dragon.2 monster 1 +move_type walk alive 1 x 1 weight 4000000 @@ -26628,6 +26767,7 @@ face chaos_dragon.x71 animation big_chaos_dragon.3 monster 1 +move_type walk alive 1 x 2 weight 4000000 @@ -26639,6 +26779,7 @@ face chaos_dragon.x71 animation big_chaos_dragon.4 monster 1 +move_type walk alive 1 y 1 weight 4000000 @@ -26650,6 +26791,7 @@ face chaos_dragon.x71 animation big_chaos_dragon.5 monster 1 +move_type walk alive 1 x 1 y 1 @@ -26662,6 +26804,7 @@ face chaos_dragon.x71 animation big_chaos_dragon.6 monster 1 +move_type walk alive 1 x 2 y 1 @@ -26675,6 +26818,7 @@ face chinese_dr.x71 animation chinese_dragon monster 1 +move_type walk sleep 1 Wis 20 level 14 @@ -26735,6 +26879,7 @@ randomitems Cwyvern race dragon monster 1 +move_type walk sleep 1 Wis 30 Con 48 @@ -26772,6 +26917,7 @@ face Cwyvern.x71 animation Cwyvern_2 monster 1 +move_type walk x 1 alive 1 no_pick 1 @@ -26783,6 +26929,7 @@ race dragon randomitems dragon monster 1 +move_type walk sleep 1 Wis 20 face dragon.x71 @@ -26820,6 +26967,7 @@ face dragon.x71 animation big_dragon_2 monster 1 +move_type walk alive 1 x 1 weight 4000000 @@ -26831,6 +26979,7 @@ face dragon.x71 animation big_dragon_3 monster 1 +move_type walk alive 1 x 2 weight 4000000 @@ -26842,6 +26991,7 @@ face dragon.x71 animation big_dragon_4 monster 1 +move_type walk alive 1 y 1 weight 4000000 @@ -26853,6 +27003,7 @@ face dragon.x71 animation big_dragon_5 monster 1 +move_type walk alive 1 x 1 y 1 @@ -26865,6 +27016,7 @@ face dragon.x71 animation big_dragon_6 monster 1 +move_type walk alive 1 x 2 y 1 @@ -26876,6 +27028,7 @@ race dragon randomitems dragon monster 1 +move_type walk sleep 1 Wis 20 face dragon_ac.x71 @@ -26918,6 +27071,7 @@ face dragon_ac.x71 animation big_dragon_ancient2 monster 1 +move_type walk alive 1 x 1 weight 4000000 @@ -26929,6 +27083,7 @@ face dragon_ac.x71 animation big_dragon_ancient3 monster 1 +move_type walk alive 1 x 2 weight 4000000 @@ -26940,6 +27095,7 @@ face dragon_ac.x71 animation big_dragon_ancient4 monster 1 +move_type walk alive 1 y 1 weight 4000000 @@ -26951,6 +27107,7 @@ face dragon_ac.x71 animation big_dragon_ancient5 monster 1 +move_type walk alive 1 x 1 y 1 @@ -26963,6 +27120,7 @@ face dragon_ac.x71 animation big_dragon_ancient6 monster 1 +move_type walk alive 1 x 2 y 1 @@ -26974,6 +27132,7 @@ race dragon randomitems dragon monster 1 +move_type walk sleep 1 Wis 20 face dragonman.x31 @@ -27017,6 +27176,7 @@ face dragonman.x31 animation dragonman_2 monster 1 +move_type walk alive 1 y 1 weight 4000000 @@ -27025,8 +27185,9 @@ Object big_elec name electric dragon race dragon -randomitems acdc +randomitems big_elec monster 1 +move_type walk sleep 1 Wis 20 face elec_dr.x11 @@ -27064,6 +27225,7 @@ face elec_dr.x11 animation big_elec_2 monster 1 +move_type walk alive 1 x 1 weight 4000000 @@ -27075,6 +27237,7 @@ face elec_dr.x11 animation big_elec_3 monster 1 +move_type walk alive 1 y 1 weight 4000000 @@ -27086,6 +27249,7 @@ face elec_dr.x11 animation big_elec_4 monster 1 +move_type walk alive 1 x 1 y 1 @@ -27098,6 +27262,7 @@ face elec_dr.x11 animation big_elec_5 monster 1 +move_type walk alive 1 y 2 weight 4000000 @@ -27109,6 +27274,7 @@ face elec_dr.x11 animation big_elec_6 monster 1 +move_type walk alive 1 x 1 y 2 @@ -27123,6 +27289,7 @@ animation cold_dragon level 8 monster 1 +move_type walk fly_low sleep 1 Wis 15 see_invisible 1 @@ -27143,7 +27310,6 @@ resist_blind 50 resist_magic 30 speed -0.07 -flying 1 weight 70000 run_away 20 attack_movement 1 @@ -27158,6 +27324,7 @@ animation elec_dragon level 8 monster 1 +move_type walk fly_low sleep 1 Wis 15 see_invisible 1 @@ -27178,7 +27345,6 @@ resist_blind 50 resist_magic 30 speed -0.07 -flying 1 weight 70000 run_away 20 attack_movement 1 @@ -27193,6 +27359,7 @@ animation fire_dragon level 8 monster 1 +move_type walk fly_low sleep 1 Wis 15 see_invisible 1 @@ -27213,7 +27380,6 @@ resist_blind 50 resist_magic 30 speed -0.07 -flying 1 weight 70000 run_away 20 attack_movement 1 @@ -27225,6 +27391,7 @@ race dragon randomitems dragon monster 1 +move_type walk sleep 1 Wis 20 face worthless_dragon.x71 @@ -27264,6 +27431,7 @@ face worthless_dragon.x71 animation big_worthless_dragon_2 monster 1 +move_type walk alive 1 x 1 weight 4000000 @@ -27275,6 +27443,7 @@ face worthless_dragon.x71 animation big_worthless_dragon_3 monster 1 +move_type walk alive 1 x 2 weight 4000000 @@ -27286,6 +27455,7 @@ face worthless_dragon.x71 animation big_worthless_dragon_4 monster 1 +move_type walk alive 1 y 1 weight 4000000 @@ -27297,6 +27467,7 @@ face worthless_dragon.x71 animation big_worthless_dragon_5 monster 1 +move_type walk alive 1 x 1 y 1 @@ -27309,6 +27480,7 @@ face worthless_dragon.x71 animation big_worthless_dragon_6 monster 1 +move_type walk alive 1 x 2 y 1 @@ -27320,6 +27492,7 @@ race dragon randomitems dragon monster 1 +move_type walk sleep 1 Wis 20 face baby_drag.111 @@ -27356,6 +27529,7 @@ face bone_drake.x11 animation bone_drake monster 1 +move_type walk sleep 1 level 14 Con 6 @@ -27436,6 +27610,7 @@ animation drake level 9 monster 1 +move_type walk fly_low sleep 1 Wis 15 see_invisible 1 @@ -27454,7 +27629,6 @@ resist_blind 30 attacktype 1025 speed 0.42 -flying 1 weight 70000 editable 1 editor_folder monster/dragon/drake @@ -27467,6 +27641,7 @@ animation faerie_dragon level 8 monster 1 +move_type walk fly_low sleep 1 unaggressive 1 Wis 15 @@ -27490,7 +27665,6 @@ resist_fear 100 resist_blind 60 speed -0.07 -flying 1 weight 70000 run_away 20 attack_movement 1 @@ -27502,6 +27676,7 @@ randomitems wyvern race dragon monster 1 +move_type walk sleep 1 Wis 20 face wyvern.x71 @@ -27538,6 +27713,7 @@ face wyvern.x71 animation dragon_2 monster 1 +move_type walk x 1 alive 1 no_pick 1 @@ -27551,6 +27727,7 @@ face para_air.111 animation para_air monster 1 +move_type walk fly_low alive 1 resist_electricity 100 @@ -27564,7 +27741,6 @@ exp 200 weight 200 level 6 -flying 1 editable 1 editor_folder monster/elemental/Para end @@ -27575,6 +27751,7 @@ randomitems para_elemental animation para_earth monster 1 +move_type walk alive 1 ac 5 wc 9 @@ -27598,6 +27775,7 @@ randomitems para_elemental animation para_fire monster 1 +move_type walk fly_low alive 1 resist_fire 100 @@ -27613,7 +27791,6 @@ speed -0.25 exp 200 weight 200 -flying 1 editable 1 editor_folder monster/elemental/Para end @@ -27624,6 +27801,7 @@ randomitems para_elemental animation para_ice monster 1 +move_type walk alive 1 ac 8 wc 9 @@ -27650,6 +27828,7 @@ randomitems para_elemental animation para_lava monster 1 +move_type walk fly_low alive 1 resist_fire 100 @@ -27665,7 +27844,6 @@ speed -0.25 exp 200 weight 50000 -flying 1 editable 1 editor_folder monster/elemental/Para end @@ -27676,6 +27854,7 @@ randomitems para_elemental animation para_lightning monster 1 +move_type walk fly_low alive 1 ac 3 wc 9 @@ -27686,7 +27865,6 @@ exp 200 weight 200 level 6 -flying 1 editable 1 resist_fire 100 resist_electricity 100 @@ -27701,6 +27879,7 @@ randomitems para_elemental animation para_mud monster 1 +move_type walk alive 1 ac 8 wc 9 @@ -27726,6 +27905,7 @@ randomitems para_elemental animation para_water monster 1 +move_type walk alive 1 ac 6 wc 9 @@ -27750,6 +27930,7 @@ race shadow animation s_mastif monster 1 +move_type walk sleep 1 Wis 20 alive 1 @@ -27788,6 +27969,7 @@ randomitems s_wyvern animation s_wyvern monster 1 +move_type walk sleep 1 Wis 20 alive 1 @@ -27830,6 +28012,7 @@ face s_wyvern.x71 animation s_wyvern_2 monster 1 +move_type walk x 1 alive 1 no_pick 1 @@ -27843,6 +28026,7 @@ randomitems shadow animation shadow monster 1 +move_type walk sleep 1 Wis 20 alive 1 @@ -27885,6 +28069,7 @@ face elem_air.111 animation air_elemental monster 1 +move_type walk fly_low alive 1 resist_electricity 100 resist_blind 100 @@ -27899,7 +28084,6 @@ exp 250 weight 200 level 8 -flying 1 editable 1 editor_folder monster/elemental end @@ -27909,6 +28093,7 @@ face elem_earth.111 animation earth_elemental monster 1 +move_type walk alive 1 ac 5 wc 8 @@ -27933,6 +28118,7 @@ face elem_fire.111 animation fire_elemental monster 1 +move_type walk fly_low alive 1 resist_fire 100 attacktype 4 @@ -27948,7 +28134,6 @@ speed -0.25 exp 250 weight 200 -flying 1 editable 1 editor_folder monster/elemental end @@ -27958,6 +28143,7 @@ face elem_water.111 animation water_elemental monster 1 +move_type walk alive 1 ac 4 wc 8 @@ -27976,6 +28162,44 @@ editable 1 editor_folder monster/elemental end +Object fireborn +name fireborn +race fireborn +randomitems fireborn +face fireborn.111 +animation fireborn +is_animated 1 +type 37 +level 1 +ac 0 +wc 21 +dam 0 +can_use_shield 0 +can_use_armour 0 +can_use_weapon 0 +alive 1 +weight 30000 +food 999 +speed 1 +attacktype 5 +Str -7 +Dex 4 +Con -4 +Cha -4 +Int 3 +Pow 6 +resist_fire 100 +resist_poison 100 +resist_cold -100 +resist_drain -100 +resist_ghosthit -100 +editable 0 +body_range 1 +body_neck 1 +body_skill 1 +body_finger 2 +editor_folder monster/elemental +end Object air_witch name air witch race air_elemental @@ -27983,6 +28207,7 @@ randomitems witch_air animation air_witch monster 1 +move_type walk fly_low alive 1 resist_magic 25 resist_poison 100 @@ -28000,7 +28225,6 @@ speed -0.6 exp 6000 weight 50 -flying 1 can_cast_spell 1 can_use_skill 1 sp 50 @@ -28018,6 +28242,7 @@ randomitems witch_earth animation earth_witch monster 1 +move_type walk alive 1 resist_magic 25 resist_poison 100 @@ -28052,6 +28277,7 @@ randomitems witch_fire animation fire_witch monster 1 +move_type walk fly_low alive 1 resist_magic 25 resist_poison 100 @@ -28070,7 +28296,6 @@ speed -0.4 exp 5000 weight 20 -flying 1 can_cast_spell 1 can_use_skill 1 sp 50 @@ -28088,6 +28313,7 @@ randomitems witch_water animation water_witch monster 1 +move_type walk alive 1 resist_magic 25 resist_poison 100 @@ -28120,6 +28346,7 @@ name Belzebub randomitems belzebub monster 1 +move_type walk sleep 1 Wis 25 face belzebub.x11 @@ -28235,6 +28462,7 @@ name wizard randomitems big_wizard monster 1 +move_type walk sleep 1 Wis 15 face big_wiz.x11 @@ -28294,6 +28522,7 @@ face big_wiz.x11 animation big_wiz2 monster 1 +move_type walk alive 1 x 1 y 0 @@ -28306,6 +28535,7 @@ face big_wiz.x11 animation big_wiz3 monster 1 +move_type walk alive 1 x 2 y 0 @@ -28318,6 +28548,7 @@ face big_wiz.x11 animation big_wiz4 monster 1 +move_type walk alive 1 y 1 x 0 @@ -28330,6 +28561,7 @@ face big_wiz.x11 animation big_wiz5 monster 1 +move_type walk alive 1 x 1 y 1 @@ -28342,6 +28574,7 @@ face big_wiz.x11 animation big_wiz6 monster 1 +move_type walk alive 1 x 2 y 1 @@ -28354,6 +28587,7 @@ face big_wiz.x11 animation big_wiz7 monster 1 +move_type walk alive 1 y 2 x 0 @@ -28366,6 +28600,7 @@ face big_wiz.x11 animation big_wiz8 monster 1 +move_type walk alive 1 x 1 y 2 @@ -28378,6 +28613,7 @@ face big_wiz.x11 animation big_wiz9 monster 1 +move_type walk alive 1 x 2 y 2 @@ -28404,6 +28640,7 @@ Int 20 Wis 30 monster 1 +move_type walk sleep 1 alive 1 no_pick 1 @@ -28519,6 +28756,7 @@ Pow 115 Wis 30 monster 1 +move_type walk sleep 1 alive 1 no_pick 1 @@ -28639,6 +28877,7 @@ resist_electricity -100 resist_fear -100 monster 1 +move_type walk sleep 1 Wis 20 Con 90 @@ -28695,6 +28934,7 @@ face jessyb.x11 animation jessyb_2 monster 1 +move_type walk alive 1 no_pick 1 x 1 @@ -28707,6 +28947,7 @@ face jessyb.x11 animation jessyb_3 monster 1 +move_type walk alive 1 no_pick 1 x 2 @@ -28719,6 +28960,7 @@ face jessyb.x11 animation jessyb_4 monster 1 +move_type walk alive 1 no_pick 1 x 3 @@ -28731,6 +28973,7 @@ face jessyb.x11 animation jessyb_5 monster 1 +move_type walk alive 1 no_pick 1 y 1 @@ -28743,6 +28986,7 @@ face jessyb.x11 animation jessyb_6 monster 1 +move_type walk alive 1 no_pick 1 x 1 @@ -28756,6 +29000,7 @@ face jessyb.x11 animation jessyb_7 monster 1 +move_type walk alive 1 no_pick 1 x 2 @@ -28769,6 +29014,7 @@ face jessyb.x11 animation jessyb_8 monster 1 +move_type walk alive 1 no_pick 1 x 3 @@ -28782,6 +29028,7 @@ face jessyb.x11 animation jessyb_9 monster 1 +move_type walk alive 1 no_pick 1 y 2 @@ -28794,6 +29041,7 @@ face jessyb.x11 animation jessyb_10 monster 1 +move_type walk alive 1 no_pick 1 x 1 @@ -28807,6 +29055,7 @@ face jessyb.x11 animation jessyb_11 monster 1 +move_type walk alive 1 no_pick 1 x 2 @@ -28820,6 +29069,7 @@ face jessyb.x11 animation jessyb_12 monster 1 +move_type walk alive 1 no_pick 1 x 3 @@ -28833,6 +29083,7 @@ face jessyb.x11 animation jessyb_13 monster 1 +move_type walk alive 1 no_pick 1 y 3 @@ -28845,6 +29096,7 @@ face jessyb.x11 animation jessyb_14 monster 1 +move_type walk alive 1 no_pick 1 x 1 @@ -28858,6 +29110,7 @@ face jessyb.x11 animation jessyb_15 monster 1 +move_type walk alive 1 no_pick 1 x 2 @@ -28871,6 +29124,7 @@ face jessyb.x11 animation jessyb_16 monster 1 +move_type walk alive 1 no_pick 1 x 3 @@ -28882,6 +29136,7 @@ race giant randomitems titan monster 1 +move_type walk sleep 1 Wis 20 face titan.x71 @@ -29017,12 +29272,13 @@ y 1 invisible 1 editor_folder monster/giant/Titan -end +end Object byakie randomitems byakie face byakie.x11 race chaos monster 1 +move_type walk sleep 1 Wis 21 animation byakie @@ -29071,6 +29327,7 @@ face byakie.x11 animation byakie_2 monster 1 +move_type walk alive 1 no_pick 1 x 1 @@ -29083,6 +29340,7 @@ face byakie.x11 animation byakie_3 monster 1 +move_type walk alive 1 no_pick 1 y 1 @@ -29095,6 +29353,7 @@ face byakie.x11 animation byakie_4 monster 1 +move_type walk alive 1 no_pick 1 x 1 @@ -29107,6 +29366,7 @@ face cyclops.x31 race giant monster 1 +move_type walk sleep 1 Wis 11 animation cyclops @@ -29159,6 +29419,7 @@ face cyclops.x31 animation cyclops_2 monster 1 +move_type walk alive 1 no_pick 1 x 1 @@ -29170,6 +29431,7 @@ face cyclops.x31 animation cyclops_3 monster 1 +move_type walk alive 1 no_pick 1 y 1 @@ -29181,6 +29443,7 @@ face cyclops.x31 animation cyclops_4 monster 1 +move_type walk alive 1 no_pick 1 x 1 @@ -29193,6 +29456,7 @@ face cyclops.x31 animation cyclops_5 monster 1 +move_type walk alive 1 no_pick 1 y 2 @@ -29204,6 +29468,7 @@ face cyclops.x31 animation cyclops_6 monster 1 +move_type walk alive 1 no_pick 1 x 1 @@ -29216,6 +29481,7 @@ randomitems djinn face djinn.x31 monster 1 +move_type walk sleep 1 Wis 25 animation djinn @@ -29280,6 +29546,7 @@ face djinn.x31 animation djinn_2 monster 1 +move_type walk alive 1 no_pick 1 y 1 @@ -29292,6 +29559,7 @@ randomitems djinn_magenta face djinn_magenta.x11 monster 1 +move_type walk sleep 1 Wis 25 animation djinn_magenta @@ -29356,6 +29624,7 @@ face djinn_magenta.x11 animation djinn_magenta_2 monster 1 +move_type walk alive 1 no_pick 1 y 1 @@ -29368,6 +29637,7 @@ randomitems djinn_magenta face djinn_magenta_big.x11 monster 1 +move_type walk sleep 1 Wis 50 animation djinn_magenta_big @@ -29430,6 +29700,7 @@ face djinn_magenta_big.x11 animation djinn_magenta_big_2 monster 1 +move_type walk alive 1 no_pick 1 y 1 @@ -29442,6 +29713,7 @@ face djinn_magenta_big.x11 animation djinn_magenta_big_3 monster 1 +move_type walk alive 1 no_pick 1 y 2 @@ -29454,6 +29726,7 @@ face djinn_magenta_big.x11 animation djinn_magenta_big_4 monster 1 +move_type walk alive 1 no_pick 1 y 3 @@ -29466,6 +29739,7 @@ face djinn_magenta_big.x11 animation djinn_magenta_big_5 monster 1 +move_type walk alive 1 no_pick 1 y 4 @@ -29478,6 +29752,7 @@ face djinn_magenta_big.x11 animation djinn_magenta_big_6 monster 1 +move_type walk alive 1 no_pick 1 y 5 @@ -29490,6 +29765,7 @@ face djinn_magenta_big.x11 animation djinn_magenta_big_7 monster 1 +move_type walk alive 1 no_pick 1 x 1 @@ -29502,6 +29778,7 @@ face djinn_magenta_big.x11 animation djinn_magenta_big_8 monster 1 +move_type walk alive 1 no_pick 1 x 1 @@ -29515,6 +29792,7 @@ face djinn_magenta_big.x11 animation djinn_magenta_big_9 monster 1 +move_type walk alive 1 no_pick 1 x 1 @@ -29528,6 +29806,7 @@ face djinn_magenta_big.x11 animation djinn_magenta_big_10 monster 1 +move_type walk alive 1 no_pick 1 x 1 @@ -29541,6 +29820,7 @@ face djinn_magenta_big.x11 animation djinn_magenta_big_12 monster 1 +move_type walk alive 1 no_pick 1 x 1 @@ -29554,6 +29834,7 @@ face djinn_magenta_big.x11 animation djinn_magenta_big_13 monster 1 +move_type walk alive 1 no_pick 1 x 1 @@ -29567,6 +29848,7 @@ face djinn_magenta_big.x11 animation djinn_magenta_big_14 monster 1 +move_type walk alive 1 no_pick 1 x 2 @@ -29579,6 +29861,7 @@ face djinn_magenta_big.x11 animation djinn_magenta_big_15 monster 1 +move_type walk alive 1 no_pick 1 x 2 @@ -29592,6 +29875,7 @@ face djinn_magenta_big.x11 animation djinn_magenta_big_16 monster 1 +move_type walk alive 1 no_pick 1 x 2 @@ -29605,6 +29889,7 @@ face djinn_magenta_big.x11 animation djinn_magenta_big_17 monster 1 +move_type walk alive 1 no_pick 1 x 2 @@ -29618,6 +29903,7 @@ face djinn_magenta_big.x11 animation djinn_magenta_big_18 monster 1 +move_type walk alive 1 no_pick 1 x 2 @@ -29631,6 +29917,7 @@ face djinn_magenta_big.x11 animation djinn_magenta_big_19 monster 1 +move_type walk alive 1 no_pick 1 x 2 @@ -29644,6 +29931,7 @@ randomitems minor_djinn face djinn.x31 monster 1 +move_type walk sleep 1 Wis 15 animation djinn @@ -29711,6 +29999,7 @@ face djinn.x31 animation djinn_2 monster 1 +move_type walk alive 1 no_pick 1 y 1 @@ -29722,6 +30011,7 @@ name hill giant randomitems giant monster 1 +move_type walk sleep 1 Wis 10 face giant.x11 @@ -29757,6 +30047,7 @@ face giant.x11 animation giant_2 monster 1 +move_type walk alive 1 no_pick 1 y 1 @@ -29787,6 +30078,7 @@ name mabu suke randomitems giant monster 1 +move_type walk sleep 1 Wis 10 face mabu.x11 @@ -29821,6 +30113,7 @@ face mabu.x11 animation mabu_2 monster 1 +move_type walk alive 1 no_pick 1 y 1 @@ -29833,6 +30126,7 @@ randomitems fire_serpent face serpent.x31 monster 1 +move_type walk Wis 15 animation serpent level 9 @@ -29865,6 +30159,7 @@ face serpent.x31 animation serpent_2 monster 1 +move_type walk alive 1 no_pick 1 x 1 @@ -29877,6 +30172,7 @@ randomitems serpent face serpent.x31 monster 1 +move_type walk Wis 15 animation serpent level 7 @@ -29904,6 +30200,7 @@ face serpent.x31 animation serpent_2 monster 1 +move_type walk alive 1 no_pick 1 x 1 @@ -29915,6 +30212,7 @@ name slug face slug.x31 monster 1 +move_type walk sleep 1 Wis 15 animation slug @@ -29946,6 +30244,7 @@ face slug.x31 animation slug_2 monster 1 +move_type walk alive 1 no_pick 1 x 1 @@ -29976,6 +30275,7 @@ alive 1 no_pick 1 monster 1 +move_type walk sleep 1 editable 1 editor_folder monster/goblin/Kobold @@ -29986,6 +30286,7 @@ race goblin animation unusual_kobold monster 1 +move_type walk sleep 1 Str 30 Dex 30 @@ -30015,6 +30316,7 @@ face gnoll.111 animation gnoll monster 1 +move_type walk sleep 1 Wis 8 Int 8 @@ -30044,6 +30346,7 @@ face gnoll_chief.111 animation gnoll_chief_arc monster 1 +move_type walk sleep 1 Wis 8 Int 8 @@ -30092,6 +30395,7 @@ face gnoll_leader.111 animation gnoll_leader_arc monster 1 +move_type walk sleep 1 Wis 8 Int 8 @@ -30120,6 +30424,7 @@ face goblin.151 animation goblin monster 1 +move_type walk sleep 1 Wis 10 no_pick 1 @@ -30163,6 +30468,7 @@ face goblin_chief.111 animation goblin_chief_arc monster 1 +move_type walk sleep 1 Wis 10 no_pick 1 @@ -30226,6 +30532,7 @@ face goblin_leader.111 animation goblin_leader_arc monster 1 +move_type walk sleep 1 Wis 10 no_pick 1 @@ -30267,6 +30574,7 @@ race goblin animation kobold monster 1 +move_type walk sleep 1 Wis 8 no_pick 1 @@ -30309,6 +30617,7 @@ face ogre.111 animation ogre monster 1 +move_type walk sleep 1 no_pick 1 alive 1 @@ -30360,6 +30669,7 @@ face ogre_chief.111 animation ogre_chief_arc monster 1 +move_type walk sleep 1 no_pick 1 alive 1 @@ -30430,6 +30740,7 @@ face ogre_leader.111 animation ogre_leader_arc monster 1 +move_type walk sleep 1 no_pick 1 alive 1 @@ -30480,6 +30791,7 @@ face ologhi.111 animation ologhi monster 1 +move_type walk sleep 1 no_pick 1 alive 1 @@ -30514,6 +30826,7 @@ face orc.111 animation orc monster 1 +move_type walk sleep 1 Wis 8 no_pick 1 @@ -30557,6 +30870,7 @@ face orc_chief.111 animation orc_chief_arc monster 1 +move_type walk sleep 1 Wis 8 no_pick 1 @@ -30619,6 +30933,7 @@ face orc_leader.111 animation orc_leader_arc monster 1 +move_type walk sleep 1 Wis 8 no_pick 1 @@ -30663,6 +30978,7 @@ speed 0.06 alive 1 monster 1 +move_type walk sleep 1 Wis 15 see_invisible 1 @@ -30714,6 +31030,7 @@ speed 0.06 alive 1 monster 1 +move_type walk sleep 1 Wis 5 see_invisible 1 @@ -30738,7 +31055,7 @@ unaggressive 1 Str 25 can_cast_spell 1 -can_use_weapon 1 +can_use_weapon 1 can_use_shield 1 can_use_armour 1 editable 1 @@ -30760,6 +31077,7 @@ speed 0.06 alive 1 monster 1 +move_type walk sleep 1 Wis 10 see_invisible 1 @@ -30806,6 +31124,7 @@ face a_priest.111 Wis 5 monster 1 +move_type walk unaggressive 1 sp 10 maxsp 10 @@ -30852,6 +31171,7 @@ face a_townsman.111 alive 1 monster 1 +move_type walk no_pick 1 hp 15 maxhp 15 @@ -30894,6 +31214,7 @@ face a_townsman2.111 alive 1 monster 1 +move_type walk no_pick 1 hp 15 maxhp 15 @@ -30936,6 +31257,7 @@ face a_townsman3.111 alive 1 monster 1 +move_type walk no_pick 1 hp 15 maxhp 15 @@ -30979,6 +31301,7 @@ sp 4 maxsp 4 monster 1 +move_type walk unaggressive 1 random_movement 1 alive 1 @@ -31024,6 +31347,7 @@ alive 1 level 1 monster 1 +move_type walk hp 30 maxhp 30 Str 20 @@ -31057,6 +31381,7 @@ animation dancing_girl alive 1 monster 1 +move_type walk no_pick 1 hp 10 maxhp 10 @@ -31090,6 +31415,7 @@ speed 0.16 alive 1 monster 1 +move_type walk Wis 25 see_invisible 1 no_pick 1 @@ -31161,6 +31487,7 @@ Con 2 Pow 1 monster 1 +move_type walk unaggressive 1 alive 1 ac 6 @@ -31205,6 +31532,7 @@ alive 1 level 1 monster 1 +move_type walk no_pick 1 hp 10 maxhp 10 @@ -31237,6 +31565,7 @@ face veiled_woman.111 alive 1 monster 1 +move_type walk no_pick 1 hp 15 maxhp 15 @@ -31279,6 +31608,7 @@ face veiled_woman2.111 alive 1 monster 1 +move_type walk no_pick 1 hp 15 maxhp 15 @@ -31321,6 +31651,7 @@ face veiled_woman3.111 alive 1 monster 1 +move_type walk no_pick 1 hp 15 maxhp 15 @@ -31371,6 +31702,7 @@ Dex 13 Cha 18 monster 1 +move_type walk unaggressive 1 alive 1 ac 1 @@ -31422,6 +31754,7 @@ sp 40 maxsp 40 monster 1 +move_type walk alive 1 ac 1 wc 15 @@ -31471,6 +31804,7 @@ sp 40 maxsp 40 monster 1 +move_type walk alive 1 ac 1 wc 15 @@ -31520,6 +31854,7 @@ Int 10 Pow 1 monster 1 +move_type walk unaggressive 1 alive 1 ac 1 @@ -31564,6 +31899,7 @@ face ninja.171 animation ninja monster 1 +move_type walk maxsp 7 sp 7 Pow 1 @@ -31620,6 +31956,7 @@ Dex 15 Pow 1 monster 1 +move_type walk unaggressive 1 alive 1 ac 0 @@ -31670,6 +32007,7 @@ Str 18 Dex 14 monster 1 +move_type walk alive 1 ac 1 wc 9 @@ -31712,6 +32050,7 @@ face pirate.111 animation pirate monster 1 +move_type walk sleep 1 Int 13 Dex 20 @@ -31760,6 +32099,7 @@ face thief.151 animation thief_1 monster 1 +move_type walk alive 1 Str 10 Dex 25 @@ -31799,6 +32139,7 @@ face pl_dragon_bl.151 animation black_dragon1 monster 1 +move_type walk unaggressive 1 level 1 ac 5 @@ -31831,6 +32172,7 @@ face black_dragon2.151 animation black_dragon2 monster 1 +move_type walk unaggressive 1 level 1 ac 5 @@ -31863,6 +32205,7 @@ face pl_dragon.151 animation blue_dragon1 monster 1 +move_type walk unaggressive 1 level 1 ac 5 @@ -31895,6 +32238,7 @@ face blue_dragon2.151 animation blue_dragon2 monster 1 +move_type walk unaggressive 1 level 1 ac 5 @@ -31927,6 +32271,7 @@ face pl_dragon_g.151 animation green_dragon1 monster 1 +move_type walk unaggressive 1 level 1 ac 5 @@ -31959,6 +32304,7 @@ face green_dragon2.151 animation green_dragon2 monster 1 +move_type walk unaggressive 1 level 1 ac 5 @@... [truncated message content] |
From: <aki...@us...> - 2007-03-29 23:09:20
|
Revision: 2011 http://svn.sourceforge.net/gridarta/?rev=2011&view=rev Author: akirschbaum Date: 2007-03-29 16:09:21 -0700 (Thu, 29 Mar 2007) Log Message: ----------- In "enter exit" set cursor to destination coordinates. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/MapActions.java Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-03-29 23:02:12 UTC (rev 2010) +++ trunk/crossfire/ChangeLog 2007-03-29 23:09:21 UTC (rev 2011) @@ -1,3 +1,7 @@ +2007-03-30 Andreas Kirschbaum + + * In "enter exit" set cursor to destination coordinates. (Bugfix) + 2007-03-26 Andreas Kirschbaum * Update archetypes. Modified: trunk/crossfire/src/cfeditor/MapActions.java =================================================================== --- trunk/crossfire/src/cfeditor/MapActions.java 2007-03-29 23:02:12 UTC (rev 2010) +++ trunk/crossfire/src/cfeditor/MapActions.java 2007-03-29 23:09:21 UTC (rev 2011) @@ -228,14 +228,14 @@ } final MapControl oldMapControl = currentMap; // store old map control - mainControl.openFile(newfile); // open the new map + final MapControl newMapControl = mainControl.openFile(newfile); // open the new map if (exitPos.x == 0 && exitPos.y == 0) { // use the entry point defined by the map header - exitPos.x = currentMap.getMapModel().getMapArchObject().getEnterX(); - exitPos.y = currentMap.getMapModel().getMapArchObject().getEnterY(); + exitPos.x = newMapControl.getMapModel().getMapArchObject().getEnterX(); + exitPos.y = newMapControl.getMapModel().getMapArchObject().getEnterY(); } - currentMap.getMapViewFrame().setCursorPosition(exitPos); + newMapControl.getMapViewFrame().setCursorPosition(exitPos); // Update the main view so the new map instantly pops up. mainControl.getMainView().update(mainControl.getMainView().getGraphics()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2007-03-30 19:11:12
|
Revision: 2021 http://svn.sourceforge.net/gridarta/?rev=2021&view=rev Author: akirschbaum Date: 2007-03-30 12:11:12 -0700 (Fri, 30 Mar 2007) Log Message: ----------- Use different algorithm for floodfill. The new algorithm does not anymore create out of memory errors for complicated fill areas. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/CopyBuffer.java Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-03-30 19:01:19 UTC (rev 2020) +++ trunk/crossfire/ChangeLog 2007-03-30 19:11:12 UTC (rev 2021) @@ -1,5 +1,9 @@ 2007-03-30 Andreas Kirschbaum + * Use different algorithm for floodfill. The new algorithm does + not anymore create out of memory errors for complicated fill + areas. + * Correctly update view position in "enter xxx map". * In "enter exit" set cursor to destination coordinates. (Bugfix) Modified: trunk/crossfire/src/cfeditor/CopyBuffer.java =================================================================== --- trunk/crossfire/src/cfeditor/CopyBuffer.java 2007-03-30 19:01:19 UTC (rev 2020) +++ trunk/crossfire/src/cfeditor/CopyBuffer.java 2007-03-30 19:11:12 UTC (rev 2021) @@ -379,33 +379,88 @@ mapView.getMapControl().getMapModel().endTransaction(); } + /** Constants for lookArea. */ + private static final byte NOT_LOOKED_AT = (byte) 0; + + private static final byte BORDER = (byte) 1; + + private static final byte WAS_EMPTY = (byte) 2; + + private static final byte BLOCKED = (byte) 3; + /** * Floodfill the map. - * <p/> - * Okay, yes, this algorithm is as inefficient as it could be. But it is - * short and easy. And CF maps are so small anyways. * @param mapControl MapControl of the active map we paste on * @param startX starting x-coord for floodfill * @param startY starting y-coord for floodfill * @param archList GameObject list to fill with */ private void floodfill(final MapControl mapControl, final int startX, final int startY, final List<GameObject> archList) { - final GameObject gameObject = archList.get(MainControl.rnd.nextInt(archList.size())); - addArchToMap(mapControl, gameObject, new Point(startX, startY), false, false); - - // now go recursive into all four directions - if (mapControl.isPointValid(new Point(startX - 1, startY)) && !mapControl.containsArchObject(new Point(startX - 1, startY))) { - floodfill(mapControl, startX - 1, startY, archList); + // Algorithmic notes: + // This algorithm replaces the recursive algorithm used before. This algorithm might not look as efficient as the previous recursive one, but + // it is. Especially, this algorithm uses very low memory (mapsize bytes) and the stack amount used is very low and constant. + // This algorithm behaves extremely fast filling from low x / low y to high x / high y but not so fast when filling in the oposite direction. + // The algorithm has between linear and quadratic performance, proportional to the map size and depending on the start point for the fill. + // The effective performance is nearly linear because the creation of arches is the far most cost intensive part, and that's independent of the algorithm. + // The algorithm needs 5-8 ms to fill an entire 24x24 map. + // The algorithm needs 250-700 ms to fill an entire 240x240 map. + // The algorithm needs 1300-2800 ms to fill an entire 480x480 map. + // More efficient algorithms are known to exist. + // This algorithm works. But: + // * This algorithm is fast enough (usually, maps are 24x24). + // * In contrast to the previous algorithm, this algorithm does not cause a StackOverflow on large maps. + // (Christian) + //long start = System.currentTimeMillis(); + final Size2D mapSize = mapControl.getMapSize(); + final byte[][] area = new byte[mapSize.getWidth()][mapSize.getHeight()]; + area[startX][startY] = BORDER; + //int iter = 0; + mapControl.getMapModel().beginTransaction("Flood Fill"); // TODO: I18N/L10N + int border = 1; + while (border > 0) { + //iter++; + final Point p = new Point(); + for (p.x = 0; p.x < mapSize.getWidth(); p.x++) { + for (p.y = 0; p.y < mapSize.getHeight(); p.y++) { + if (area[p.x][p.y] == BORDER) { + border--; + if (mapControl.isPointValid(p) && mapControl.getMapModel().getMapSquare(p).isEmpty()) { + area[p.x][p.y] = WAS_EMPTY; + final GameObject gameObject = archList.get(MainControl.rnd.nextInt(archList.size())); + addArchToMap(mapControl, gameObject, p, false, false); + try { + if (area[p.x - 1][p.y] == NOT_LOOKED_AT) { + area[p.x - 1][p.y] = BORDER; + border++; + } + } catch (final ArrayIndexOutOfBoundsException e) { /* ignore */ } + try { + if (area[p.x + 1][p.y] == NOT_LOOKED_AT) { + area[p.x + 1][p.y] = BORDER; + border++; + } + } catch (final ArrayIndexOutOfBoundsException e) { /* ignore */ } + try { + if (area[p.x][p.y - 1] == NOT_LOOKED_AT) { + area[p.x][p.y - 1] = BORDER; + border++; + } + } catch (final ArrayIndexOutOfBoundsException e) { /* ignore */ } + try { + if (area[p.x][p.y + 1] == NOT_LOOKED_AT) { + area[p.x][p.y + 1] = BORDER; + border++; + } + } catch (final ArrayIndexOutOfBoundsException e) { /* ignore */ } + } else { + area[p.x][p.y] = BLOCKED; + } + } + } + } } - if (mapControl.isPointValid(new Point(startX, startY - 1)) && !mapControl.containsArchObject(new Point(startX, startY - 1))) { - floodfill(mapControl, startX, startY - 1, archList); - } - if (mapControl.isPointValid(new Point(startX + 1, startY)) && !mapControl.containsArchObject(new Point(startX + 1, startY))) { - floodfill(mapControl, startX + 1, startY, archList); - } - if (mapControl.isPointValid(new Point(startX, startY + 1)) && !mapControl.containsArchObject(new Point(startX, startY + 1))) { - floodfill(mapControl, startX, startY + 1, archList); - } + mapControl.getMapModel().endTransaction(); + //mainControl.setStatusText("Flood fill took " + (System.currentTimeMillis() - start) + " milliseconds in " + iter + " iterations."); } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2007-04-02 20:28:16
|
Revision: 2085 http://svn.sourceforge.net/gridarta/?rev=2085&view=rev Author: akirschbaum Date: 2007-04-02 13:28:14 -0700 (Mon, 02 Apr 2007) Log Message: ----------- Implement multiple views per map. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/CMainControl.java trunk/crossfire/src/cfeditor/CMainView.java trunk/crossfire/src/cfeditor/MapActions.java trunk/crossfire/src/cfeditor/MapViewIFrame.java trunk/crossfire/src/cfeditor/action.properties trunk/crossfire/src/cfeditor/map/MapControl.java trunk/crossfire/src/cfeditor/messages.properties trunk/crossfire/src/cfeditor/messages_de.properties trunk/crossfire/src/cfeditor/messages_fr.properties trunk/crossfire/src/cfeditor/messages_sv.properties Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-04-02 20:11:09 UTC (rev 2084) +++ trunk/crossfire/ChangeLog 2007-04-02 20:28:14 UTC (rev 2085) @@ -1,3 +1,7 @@ +2007-04-02 Andreas Kirschbaum + + * Implement multiple views per map. + 2007-03-30 Andreas Kirschbaum * Do not crash in "random fill above" when not filling from Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2007-04-02 20:11:09 UTC (rev 2084) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2007-04-02 20:28:14 UTC (rev 2085) @@ -589,15 +589,11 @@ setStatusText("Creating new map " + mapArchObject.getMapDisplayName()); final MapControl mapControl = newMap(objects, mapArchObject); - final MapViewIFrame mapViewIFrame = mapControl.createView(viewPosition); - fireMapCreatedEvent(mapControl); - mainView.addLevelView(mapViewIFrame); - fireMapViewCreatedEvent(mapViewIFrame); levels.add(mapControl); + fireMapCreatedEvent(mapControl); setCurrentLevel(mapControl); - refreshMenusAndToolbars(); - return mapViewIFrame; + return mapCreateView(mapControl, viewPosition); } /** @@ -615,7 +611,7 @@ /** {@inheritDoc} */ public void close(@NotNull final MapView<GameObject, MapArchObject, Archetype, MapControl, CMapViewBasic> mapView) { - closeLevel(mapView.getMapControl()); + closeView((MapViewIFrame) mapView); } /** @@ -623,8 +619,15 @@ * If there is only 1 view left the level will be closed. * @param mapView map view to close */ - public void closeView(final MapView<GameObject, MapArchObject, Archetype, MapControl, CMapViewBasic> mapView) { - closeLevel(mapView.getMapControl()); + public void closeView(final MapViewIFrame mapViewIFrame) { + final MapControl mapControl = mapViewIFrame.getMapControl(); + if (mapControl.nViews() <= 1) { + closeLevel(mapControl); + } else { + fireMapViewClosingEvent(mapViewIFrame); + mainView.removeLevelView(mapViewIFrame); + mapControl.closeView(mapViewIFrame); + } } /** @@ -686,23 +689,17 @@ // special case: close a pickmap mainView.getPickmapChooserControl().closePickmap(mapControl); } else { - final MapViewIFrame mapViewIFrame = mapControl.getMapViewFrame(); - fireMapViewClosingEvent(mapViewIFrame); + while (mapControl.nViews() > 0) { + final MapViewIFrame mapViewIFrame = mapControl.getMapViewFrame(); + fireMapViewClosingEvent(mapViewIFrame); + mainView.removeLevelView(mapViewIFrame); + mapControl.closeView(mapViewIFrame); + } fireMapClosingEvent(mapControl); - - mainView.removeLevelView(mapViewIFrame); levels.remove(mapControl); - - if (!levels.isEmpty()) { - // get next open map we can find and set it to currentMap - setCurrentLevel(levels.get(levels.size() - 1)); - } else { - setCurrentLevel(null); - } } mapControl.levelCloseNotify(); - refreshMenusAndToolbars(); return true; } @@ -827,7 +824,6 @@ mapView.getMapControl().setActiveEditType(tileEdit); mapView.getMapControl().resetModified(); - refreshMenusAndToolbars(); return mapView; } @@ -938,7 +934,6 @@ mapControl.saveAs(file); currentDir = fileChooser.getCurrentDirectory(); - refreshMenusAndToolbars(); } return true; } else { @@ -1002,6 +997,15 @@ } } + /** Invoked when user wants to create a new view of the current level. */ + public final MapViewIFrame mapCreateView(@NotNull final MapControl mapControl, @Nullable final Point viewPosition) { + final MapViewIFrame mapViewIFrame = mapControl.createView(viewPosition); + mainView.addLevelView(mapViewIFrame); + fireMapViewCreatedEvent(mapViewIFrame); + mainView.setCurrentLevelView(mapViewIFrame); + return mapViewIFrame; + } + private PreferencesGroup prefsGroup; public void options() { @@ -1048,18 +1052,10 @@ } currentMap = mapControl; - if (currentMap != null) { - final MapViewIFrame mapViewFrame = currentMap.getMapViewFrame(); - if (mapViewFrame != null) { - mainView.setCurrentLevelView(mapViewFrame); - } - } - refreshMenusAndToolbars(); //StatusBar.getInstance().setLevelInfo(level); fireCurrentMapChangedEvent(); - fireCurrentMapViewChangedEvent(); } /** @@ -1115,11 +1111,12 @@ /** * Notify all listeners about a changed current map view. + * + * @param currentMapView the current map view */ - private void fireCurrentMapViewChangedEvent() { - final MapView<GameObject, MapArchObject, Archetype, MapControl, CMapViewBasic> mapView = currentMap == null ? null : currentMap.getMapViewFrame(); + void fireCurrentMapViewChangedEvent(@Nullable final MapView<GameObject, MapArchObject, Archetype, MapControl, CMapViewBasic> currentMapView) { for (final MainControlListener<GameObject, MapArchObject, Archetype, MapControl, CMapViewBasic> listener : listenerList.getListeners(MainControlListener.class)) { - listener.currentMapViewChanged(mapView); + listener.currentMapViewChanged(currentMapView); } } @@ -1137,10 +1134,17 @@ public void revert(@NotNull final MapControl mapControl) { if (ACTION_FACTORY.showQuestionDialog(mainView, "confirmRevertMap", mapControl.getMapFileName())) { final File mfile = mapControl.getMapFile(); - final Point viewPosition = mapControl.getMapViewFrame().getViewPosition(); + final Point[] viewPositions = mapControl.getViewPositions(); closeLevel(mapControl, true); - openMapFileWithView(mfile, viewPosition); + final MapView<GameObject, MapArchObject, Archetype, MapControl, CMapViewBasic> newMapView = openMapFileWithView(mfile, viewPositions[0]); + if (newMapView != null) { + final MapControl newMapControl = newMapView.getMapControl(); + for (int i = 1; i < viewPositions.length; i++) { + newMapControl.createView(viewPositions[i]); + } + } + // Update the main view so the new map instantly pops up. mainView.update(mainView.getGraphics()); } @@ -1162,14 +1166,6 @@ return mainView.getAllLevelWindows(); } - /** - * Sets the given view to be the current level view. - * @param view The new current level view. - */ - void setCurrentLevelView(final MapViewIFrame view) { - mainView.setCurrentLevelView(view); - } - /** Notifies that the application is about to exit. */ void appExitNotify() { mainView.appExitNotify(); // notify main view @@ -1294,7 +1290,7 @@ * <code>null</code> if no map is open */ @Nullable public MapView<GameObject, MapArchObject, Archetype, MapControl, CMapViewBasic> getCurrentMapView() { - return currentMap == null ? null : currentMap.getMapViewFrame(); + return mainView == null ? null : mainView.getCurrentMapView(); } /** Modified: trunk/crossfire/src/cfeditor/CMainView.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainView.java 2007-04-02 20:11:09 UTC (rev 2084) +++ trunk/crossfire/src/cfeditor/CMainView.java 2007-04-02 20:28:14 UTC (rev 2085) @@ -105,6 +105,9 @@ /** All open level views. */ private final List<MapViewIFrame> mapViews = Collections.synchronizedList(new ArrayList<MapViewIFrame>()); + /** Last known map view for generating change events. */ + private MapViewIFrame currentMapView = null; + /** List of objects on map (right side). */ private SelectedSquareControl selectedSquareControl; @@ -258,17 +261,20 @@ // get the active pickmap final MapControl pickmap = pickmapChooserControl.getCurrentPickmap(); - if (pickmap != null && pickmap.getMapViewFrame().isHighlight()) { - // now try to get the topmost object - GameObject arch = null; - final Point cursor = pickmap.getMapViewFrame().getView().getCursorPosition(); - if (pickmap.isPointValid(cursor)) { - arch = pickmap.getMapModel().getMapSquare(cursor).getFirst(); + if (pickmap != null) { + final MapViewIFrame mapViewIFrame = pickmap.getMapViewFrame(); + if (mapViewIFrame.isHighlight()) { + // now try to get the topmost object + GameObject arch = null; + final Point cursor = mapViewIFrame.getView().getCursorPosition(); + if (pickmap.isPointValid(cursor)) { + arch = pickmap.getMapModel().getMapSquare(cursor).getFirst(); + } + if (arch != null) { + // so here we return the arch from the pickmap + return arch.getHead(); + } } - if (arch != null) { - // so here we return the arch from the pickmap - return arch.getHead(); - } } return null; } @@ -412,7 +418,9 @@ * @param mapView the map view to add */ public void addLevelView(final MapViewIFrame mapView) { - mapViews.add(mapView); + assert !mapViews.contains(mapView); + mapViews.add(0, mapView); + generateCurrentMapViewChangedEvent(); mapView.addInternalFrameListener(this); mapDesktop.add(mapView); refreshMenusAndToolbars(); @@ -439,6 +447,7 @@ mapView.removeInternalFrameListener(this); mapViews.remove(mapView); + generateCurrentMapViewChangedEvent(); mapDesktop.remove(mapView); // This is important: Removing a JInternalFrame from a JDesktopPane doesn't deselect it. // Thus it will still be referenced. To prevent a closed map from being referenced by Swing, @@ -506,7 +515,6 @@ void updateFocus(final boolean fCareAboutIconification) { // Show the next level (if such exists) for (final MapViewIFrame view : mapViews) { - if (view.isIcon()) { if (!fCareAboutIconification) { try { @@ -537,6 +545,7 @@ final MapViewIFrame view = mapViews.get(0); mapViews.remove(view); mapViews.add(view); + generateCurrentMapViewChangedEvent(); refreshMenusAndToolbars(); updateFocus(false); } @@ -548,6 +557,7 @@ final MapViewIFrame view = mapViews.get(mapViews.size() - 1); mapViews.remove(view); mapViews.add(0, view); + generateCurrentMapViewChangedEvent(); refreshMenusAndToolbars(); updateFocus(false); } @@ -558,8 +568,10 @@ * @param view the new current level view */ public void setCurrentLevelView(final MapViewIFrame view) { + assert mapViews.contains(view); mapViews.remove(view); mapViews.add(0, view); + generateCurrentMapViewChangedEvent(); // Deiconify if necessary if (view.isIcon()) { @@ -583,6 +595,7 @@ if (mapViews.size() > 1) { mapViews.remove(view); mapViews.add(view); + generateCurrentMapViewChangedEvent(); updateFocus(true); } } @@ -592,8 +605,10 @@ * @param view the new current level view */ private void levelViewFocusGainedNotify(final MapViewIFrame view) { + assert mapViews.contains(view); mapViews.remove(view); mapViews.add(0, view); + generateCurrentMapViewChangedEvent(); final MapControl level = view.getMapControl(); mainControl.setCurrentLevel(level); //statusBar.setLevelInfo(level); @@ -764,6 +779,30 @@ return mapActions.isAutoJoin(); } + /** + * Returns the current top map view we are working with. + * @return the current top map view we are working with, or + * <code>null</code> if no map is open + */ + @Nullable public MapViewIFrame getCurrentMapView() { + return mapViews.size() > 0 ? mapViews.get(0) : null; + } + + /** + * Check if the current map view has changed; if it has changed fire an + * event. + */ + private void generateCurrentMapViewChangedEvent() { + final MapViewIFrame newCurrentMapView = getCurrentMapView(); + if (currentMapView == newCurrentMapView) { + return; + } + + currentMapView = newCurrentMapView; + mainControl.fireCurrentMapViewChangedEvent(currentMapView); + refreshMenusAndToolbars(); + } + private final class LookAndFeelAction extends AbstractAction { private final String className; Modified: trunk/crossfire/src/cfeditor/MapActions.java =================================================================== --- trunk/crossfire/src/cfeditor/MapActions.java 2007-04-02 20:11:09 UTC (rev 2084) +++ trunk/crossfire/src/cfeditor/MapActions.java 2007-04-02 20:28:14 UTC (rev 2085) @@ -66,6 +66,9 @@ /** Action for "tile show". */ private final ToggleAction aTileShow = (ToggleAction) ACTION_FACTORY.createToggle(true, "tileShow", this); + /** Action for "create view". */ + private final Action aMapCreateView = ACTION_FACTORY.createAction(true, "mapCreateView", this); + /** Action for "map properties". */ private final Action aMapProperties = ACTION_FACTORY.createAction(true, "mapProperties", this); @@ -155,6 +158,14 @@ // not yet implemented } + /** Action method for "create view". */ + public void mapCreateView() { + final MapView<GameObject, MapArchObject, Archetype, MapControl, CMapViewBasic> mapView = getCreateViewEnabled(); + if (mapView != null) { + mainControl.mapCreateView(mapView.getMapControl(), mapView.getViewPosition()); + } + } + /** Action method for "map properties". */ public void mapProperties() { final MapView<GameObject, MapArchObject, Archetype, MapControl, CMapViewBasic> mapView = getMapPropertiesEnabled(); @@ -338,6 +349,16 @@ } /** + * Determine whether "create view" is enabled. + * + * @return the current map, or <code>null</code> if "create view" is + * disabled + */ + private MapView<GameObject, MapArchObject, Archetype, MapControl, CMapViewBasic> getCreateViewEnabled() { + return currentMapListener.getCurrentMapView(); + } + + /** * Determine whether "map properties" is enabled. * * @return the current map view, or <code>null</code> if "map properties" @@ -402,6 +423,7 @@ aGridVisible.setSelected(isGridVisible()); aTileShow.setEnabled(getTileShowEnabled() != null); aTileShow.setSelected(false); + aMapCreateView.setEnabled(getCreateViewEnabled() != null); aMapProperties.setEnabled(getMapPropertiesEnabled() != null); aEnterExit.setEnabled(getEnterExitEnabled() != null); for (int i = 0; i < directionsDir.length; i++) { Modified: trunk/crossfire/src/cfeditor/MapViewIFrame.java =================================================================== --- trunk/crossfire/src/cfeditor/MapViewIFrame.java 2007-04-02 20:11:09 UTC (rev 2084) +++ trunk/crossfire/src/cfeditor/MapViewIFrame.java 2007-04-02 20:28:14 UTC (rev 2085) @@ -72,6 +72,9 @@ /** The controller of this view. */ private final CMainControl mainControl; + /** View number. */ + private final int number; + /** The underlying mapview object. */ private final CMapViewBasic view; @@ -128,14 +131,16 @@ * Constructs a level view. * @param mainControl the main controller * @param mapControl the controller of this view + * @param number Each view of a level will get a number * @param initial the view position to show initially; null=show top left * corner */ - public MapViewIFrame(final CMainControl mainControl, final MapControl mapControl, final Point initial) { + public MapViewIFrame(final CMainControl mainControl, final MapControl mapControl, final int number, final Point initial) { // set title - super(PathManager.getMapPath(mapControl.getMapFileName()) + " [ " + mapControl.getMapArchObject().getMapDisplayName() + " ]" + (mapControl.isModified() ? " *" : ""), true, true, true, true); + super(PathManager.getMapPath(mapControl.getMapFileName()) + " [ " + mapControl.getMapArchObject().getMapDisplayName() + " ] (" + number + ")" + (mapControl.isModified() ? " *" : ""), true, true, true, true); this.mapControl = mapControl; this.mainControl = mainControl; + this.number = number; setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); setAutoscrolls(true); @@ -175,7 +180,7 @@ /** Update the Map-Window Title (according to name and changeFlag). */ private void updateTitle() { - setTitle(PathManager.getMapPath(mapControl.getMapFileName()) + " [ " + mapControl.getMapArchObject().getMapDisplayName() + " ]" + (mapControl.isModified() ? " *" : "")); + setTitle(PathManager.getMapPath(mapControl.getMapFileName()) + " [ " + mapControl.getMapArchObject().getMapDisplayName() + " ] (" + number + ")" + (mapControl.isModified() ? " *" : "")); } // following a bunch of wrapper methods which just pass access @@ -348,7 +353,7 @@ /** {@inheritDoc} */ public void actionPerformed(final ActionEvent e) { - mainControl.setCurrentLevelView(MapViewIFrame.this); + mainControl.getMainView().setCurrentLevelView(MapViewIFrame.this); } /** {@inheritDoc} */ Modified: trunk/crossfire/src/cfeditor/action.properties =================================================================== --- trunk/crossfire/src/cfeditor/action.properties 2007-04-02 20:11:09 UTC (rev 2084) +++ trunk/crossfire/src/cfeditor/action.properties 2007-04-02 20:28:14 UTC (rev 2085) @@ -30,7 +30,7 @@ file.menu=createNew open close - save saveAs revert createImage - options - exit edit.menu=undo redo - clear cut copy paste - replace fillAbove fillBelow randFillAbove randFillBelow floodfill - selectAll -map.menu=autoJoin - gridVisible enterExit enterNorthMap enterEastMap enterSouthMap enterWestMap enterUpperMap enterLowerMap tileShow - mapProperties +map.menu=autoJoin - gridVisible enterExit enterNorthMap enterEastMap enterSouthMap enterWestMap enterUpperMap enterLowerMap tileShow - mapCreateView mapProperties cursor.menu=moveCursor - selectTile startStopDrag addToSelection subFromSelection releaseDrag - insertArch deleteArch - selectArchAbove selectArchBelow - archAttributes #pickmaps.menu: See gridarta resources.menu=collectArches collectSpells - viewTreasurelists @@ -45,7 +45,7 @@ mapwindowFile.menu=save saveAs createImage - revert - close mapwindowEdit.menu=undo redo - clear cut copy paste - replace fillAbove fillBelow randFillAbove randFillBelow floodfill -mapwindowMap.menu=autoJoin - gridVisible enterExit enterNorthMap enterEastMap enterSouthMap enterWestMap enterUpperMap enterLowerMap tileShow - mapProperties +mapwindowMap.menu=autoJoin - gridVisible enterExit enterNorthMap enterEastMap enterSouthMap enterWestMap enterUpperMap enterLowerMap tileShow - mapCreateView mapProperties mapwindowCursor.menu=moveCursor - selectTile startStopDrag addToSelection subFromSelection releaseDrag - insertArch deleteArch - selectArchAbove selectArchBelow - archAttributes mapwindowView.menu=showMonster showExit showBackground showDoor showWall showEquipment showTreasure showConnected resetView Modified: trunk/crossfire/src/cfeditor/map/MapControl.java =================================================================== --- trunk/crossfire/src/cfeditor/map/MapControl.java 2007-04-02 20:11:09 UTC (rev 2084) +++ trunk/crossfire/src/cfeditor/map/MapControl.java 2007-04-02 20:28:14 UTC (rev 2085) @@ -28,6 +28,7 @@ import java.awt.Point; import java.io.File; import java.io.IOException; +import java.util.LinkedList; import java.util.List; import net.sf.gridarta.Size2D; import net.sf.gridarta.map.AbstractMapControl; @@ -54,9 +55,12 @@ private final MapModel mapModel; /** - * Main view of this map. + * List of all views of this map. Maps opened in the editor have one or + * more views; if the last view is closed, the map is closed, too. Maps + * opened by scripts or used internally may have zero or more views. + * Pickmaps always have exactly one view. */ - @Nullable private MapViewIFrame mapViewFrame = null; + private final List<MapViewIFrame> mapViewIFrames = new LinkedList<MapViewIFrame>(); @Nullable private File mapFile; @@ -81,6 +85,11 @@ private final boolean isPickmap; /** + * Each view of this map will get a unique number. + */ + private int viewCounter = 0; + + /** * Constructs a new Map. * @param mainControl the CMainControl * @param maparch the <code>MapArchObject</code> of the map @@ -156,7 +165,7 @@ @Override public void levelCloseNotify() { super.levelCloseNotify(); levelClosing = true; - if (mapViewFrame != null) { + for (final MapViewIFrame mapViewFrame : mapViewIFrames) { mapViewFrame.closeNotify(); } } @@ -180,10 +189,10 @@ } /** - * Repaints the view. + * Repaints all views. */ public void repaint() { - if (mapViewFrame != null) { + for (final MapViewIFrame mapViewFrame : mapViewIFrames) { mapViewFrame.modelChanged(); } } @@ -348,19 +357,48 @@ * @return the map view */ @NotNull public MapViewIFrame createView(@Nullable final Point viewPosition) { - assert mapViewFrame == null; // only one view per map for now - mapViewFrame = new MapViewIFrame(mainControl, this, viewPosition); + final MapViewIFrame mapViewFrame = new MapViewIFrame(mainControl, this, ++viewCounter, viewPosition); + mapViewIFrames.add(mapViewFrame); return mapViewFrame; } /** + * Return the current view positions of all views. + * @return the current view positions of all views + */ + @NotNull public Point[] getViewPositions() { + final Point[] result = new Point[mapViewIFrames.size()]; + for (int i = 0; i < result.length; i++) { + result[i] = mapViewIFrames.get(i).getViewPosition(); + } + return result; + } + + /** + * Get the number of views this level has. + * @return the number of views + */ + public int nViews() { + return mapViewIFrames.size(); + } + + /** * Get the last used view of this level. * @return the last used view */ @Nullable public MapViewIFrame getMapViewFrame() { - return mapViewFrame; + return mapViewIFrames.size() > 0 ? mapViewIFrames.get(0) : null; } + /** + * Close a view of this level. + * @param mapViewIFrame the view to be closed + */ + public void closeView(@NotNull final MapViewIFrame mapViewIFrame) { + mapViewIFrame.closeNotify(); + mapViewIFrames.remove(mapViewIFrame); + } + /** {@inheritDoc} */ @NotNull public MapArchObject getMapArchObject() { return mapModel.getMapArchObject(); Modified: trunk/crossfire/src/cfeditor/messages.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages.properties 2007-04-02 20:11:09 UTC (rev 2084) +++ trunk/crossfire/src/cfeditor/messages.properties 2007-04-02 20:28:14 UTC (rev 2085) @@ -230,6 +230,8 @@ tileShow.text=Show adjacent tiled maps +mapCreateView.text=Create View + mapProperties.text=Map Properties mapProperties.mnemonic=M mapProperties.accel=ctrl pressed M Modified: trunk/crossfire/src/cfeditor/messages_de.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_de.properties 2007-04-02 20:11:09 UTC (rev 2084) +++ trunk/crossfire/src/cfeditor/messages_de.properties 2007-04-02 20:28:14 UTC (rev 2085) @@ -225,6 +225,8 @@ tileShow.text=Angrenzende Karten zeigen +mapCreateView.text=Neue Kartenansicht + mapProperties.text=Karteneigenschaften mapProperties.mnemonic=K mapProperties.accel=ctrl pressed M Modified: trunk/crossfire/src/cfeditor/messages_fr.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_fr.properties 2007-04-02 20:11:09 UTC (rev 2084) +++ trunk/crossfire/src/cfeditor/messages_fr.properties 2007-04-02 20:28:14 UTC (rev 2085) @@ -226,6 +226,8 @@ #tileShow.text= +#mapCreateView.text= + mapProperties.text=Propri\xE9t\xE9s de la carte mapProperties.mnemonic=P mapProperties.accel=ctrl pressed M Modified: trunk/crossfire/src/cfeditor/messages_sv.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_sv.properties 2007-04-02 20:11:09 UTC (rev 2084) +++ trunk/crossfire/src/cfeditor/messages_sv.properties 2007-04-02 20:28:14 UTC (rev 2085) @@ -226,6 +226,8 @@ #tileShow.text= +#mapCreateView.text= + mapProperties.text=Egenskaper... mapProperties.mnemonic=E mapProperties.accel=ctrl pressed M This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2007-04-03 17:39:38
|
Revision: 2106 http://svn.sourceforge.net/gridarta/?rev=2106&view=rev Author: akirschbaum Date: 2007-04-03 10:39:39 -0700 (Tue, 03 Apr 2007) Log Message: ----------- Re-use existing in-memory map if a map file is opened more than once. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/CMainControl.java Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-04-03 17:26:16 UTC (rev 2105) +++ trunk/crossfire/ChangeLog 2007-04-03 17:39:39 UTC (rev 2106) @@ -1,3 +1,8 @@ +2007-04-03 Andreas Kirschbaum + + * Re-use existing in-memory map if a map file is opened more than + once. + 2007-04-02 Andreas Kirschbaum * Implement multiple views per map. Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2007-04-03 17:26:16 UTC (rev 2105) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2007-04-03 17:39:39 UTC (rev 2106) @@ -813,6 +813,20 @@ * @return the map view, or <code>null</code> if loading failed */ @Nullable public MapView<GameObject, MapArchObject, Archetype, MapControl, CMapViewBasic> openMapFileWithView(@NotNull final File file, @Nullable final Point viewPosition) { + // First look whether the file isn't already open. + // If so, return the previously loaded map. + try { + final File can = file.getCanonicalFile(); + for (final MapControl mapControl : levels) { + final File levelFile = mapControl.getMapFile(); + if (levelFile != null && can.equals(levelFile.getCanonicalFile())) { + return mapCreateView(mapControl, viewPosition); + } + } + } catch (final IOException e) { + log.warn(ACTION_FACTORY.format("canonIOE", e)); + } + final MapReader<GameObject, MapArchObject> decoder = decodeMapFile(file); if (decoder == null) { return null; @@ -836,6 +850,20 @@ * @return the map control, or <code>null</code> if loading failed */ @Nullable public MapControl openMapFile(@NotNull final File file) { + // First look whether the file isn't already open. + // If so, return the previously loaded map. + try { + final File can = file.getCanonicalFile(); + for (final MapControl mapControl : levels) { + final File levelFile = mapControl.getMapFile(); + if (levelFile != null && can.equals(levelFile.getCanonicalFile())) { + return mapControl; + } + } + } catch (final IOException e) { + log.warn(ACTION_FACTORY.format("canonIOE", e)); + } + final MapReader<GameObject, MapArchObject> decoder = decodeMapFile(file); if (decoder == null) { return null; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2007-04-04 00:34:03
|
Revision: 2128 http://svn.sourceforge.net/gridarta/?rev=2128&view=rev Author: akirschbaum Date: 2007-04-03 14:44:30 -0700 (Tue, 03 Apr 2007) Log Message: ----------- Add "recent" entry to file menu. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/CMainControl.java trunk/crossfire/src/cfeditor/CMainView.java trunk/crossfire/src/cfeditor/action.properties trunk/crossfire/src/cfeditor/messages.properties trunk/crossfire/src/cfeditor/messages_de.properties trunk/crossfire/src/cfeditor/messages_fr.properties trunk/crossfire/src/cfeditor/messages_sv.properties Added Paths: ----------- trunk/crossfire/resource/icons/general/History16.gif Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-04-03 21:14:27 UTC (rev 2127) +++ trunk/crossfire/ChangeLog 2007-04-03 21:44:30 UTC (rev 2128) @@ -1,5 +1,7 @@ 2007-04-03 Andreas Kirschbaum + * Add "recent" entry to file menu. + * Re-use existing in-memory map if a map file is opened more than once. Copied: trunk/crossfire/resource/icons/general/History16.gif (from rev 2127, trunk/daimonin/resource/icons/general/History16.gif) =================================================================== (Binary files differ) Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2007-04-03 21:14:27 UTC (rev 2127) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2007-04-03 21:44:30 UTC (rev 2128) @@ -36,13 +36,18 @@ import cfeditor.map.MapControl; import cfeditor.map.MapModel; import java.awt.Point; +import java.awt.event.ActionEvent; import java.io.File; import java.io.IOException; import java.util.ArrayList; +import java.util.LinkedList; import java.util.List; +import java.util.ListIterator; +import javax.swing.AbstractAction; import javax.swing.ImageIcon; import javax.swing.JFileChooser; import javax.swing.JOptionPane; +import javax.swing.KeyStroke; import javax.swing.SwingUtilities; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; @@ -246,6 +251,8 @@ mainActions.init(); mainView.updateFocus(false); + + initRecent(); } /** @@ -815,6 +822,7 @@ mapView.getMapControl().setActiveEditType(tileEdit); mapView.getMapControl().resetModified(); + addRecent(currentMap.getMapArchObject().getMapDisplayName(), file.toString()); return mapView; } @@ -1238,6 +1246,10 @@ return scriptControl; } + /** List with recents. */ + @SuppressWarnings({"CollectionDeclaredAsConcreteClass"}) + private final LinkedList<Recent> recents = new LinkedList<Recent>(); + public static ImageIcon getEmptyTileIcon() { return nofaceTileIcon; } @@ -1246,6 +1258,37 @@ return levels.toArray(new MapControl[levels.size()]); } + /** + * Adds a file to the recent files. + * @param title Title of the recent entry, e.g. map title. + * @param filename Filename of the recent entry, e.g. map filename. + */ + private void addRecent(final String title, final String filename) { + final Recent recent = new Recent(title, filename); + recents.remove(recent); // remove old entry to get new entry at first pos. + recents.addFirst(recent); + // Now remove those that are too many. + // Please keep this while loop as the constant 10 might be replaced by a prefs var + int i = 0; + for (final ListIterator<Recent> it = recents.listIterator(); it.hasNext();) { + it.next().setIndex(it.nextIndex()); // this looks bogus but it's intentionally currentIndex + 1 + if (++i > 10) { + it.remove(); + } + } + CSettings.getInstance(IGUIConstants.APP_NAME).setProperty("recentNum", String.valueOf(recents.size())); + mainView.updateRecent(recents); + } + + /** Initializes the recent state. */ + private void initRecent() { + final int numRecents = Integer.valueOf(CSettings.getInstance(IGUIConstants.APP_NAME).getProperty("recentNum", "0")); + for (int i = 0; i < numRecents; i++) { + recents.add(new Recent(i + 1)); + } + mainView.updateRecent(recents); + } + public CFArchTypeList getTypeList() { return typeList; } @@ -1314,4 +1357,97 @@ return mainView.isPickmapActive(); } + /** Recent entry. */ + public final class Recent extends AbstractAction { + + /** Title = map name. */ + private final String title; + + /** Filename = map filename (openable path, usually absolute, canonical or relative to user.dir). */ + private final String filename; + + /** + * Create a Recent. + * @param title title (map name) + * @param filename map filename (openable path) + */ + Recent(final String title, final String filename) { + super(title); + this.filename = filename; + this.title = title; + putValue(SHORT_DESCRIPTION, ACTION_FACTORY.format("recentItem.shortdescriptionformat", title, getShortFileName())); + } + + /** + * Create a Recent from preferences. + * @param index index (starting with 1) + */ + Recent(final int index) { + title = CSettings.getInstance(IGUIConstants.APP_NAME).getProperty("recentTitle[" + Integer.toString(index - 1) + ']', null); + filename = CSettings.getInstance(IGUIConstants.APP_NAME).getProperty("recentFilename[" + Integer.toString(index - 1) + ']', null); + putValue(SHORT_DESCRIPTION, ACTION_FACTORY.format("recentItem.shortdescriptionformat", title, getShortFileName())); + setIndex(index); + } + + /** + * Get the short filename. + * @return short filename + */ + private String getShortFileName() { + final File file = new File(filename); + try { + if (file.getCanonicalPath().startsWith(getMapDir().getCanonicalPath())) { + return file.getCanonicalPath().substring(getMapDir().getCanonicalPath().length()).replace('\\', '/'); + } else { + return file.getCanonicalPath().replace('\\', '/'); + } + } catch (final IOException e) { + if (file.getAbsolutePath().startsWith(getMapDir().getAbsolutePath())) { + return file.getAbsolutePath().substring(getMapDir().getAbsolutePath().length()).replace('\\', '/'); + } else { + return file.getAbsolutePath().replace('\\', '/'); + } + } + } + + /** + * Set the index used for title, key strokes and such. + * @param index index (starting with 1) + */ + public void setIndex(final int index) { + if (index <= 10) { + putValue(NAME, index + ": " + title); + putValue(MNEMONIC_KEY, KeyStroke.getKeyStroke(Integer.toString(index % 10)).getKeyCode()); + putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke("alt pressed " + index % 10)); + } else { + putValue(NAME, title); + putValue(MNEMONIC_KEY, null); + putValue(ACCELERATOR_KEY, null); + } + CSettings.getInstance(IGUIConstants.APP_NAME).setProperty("recentTitle[" + Integer.toString(index - 1) + ']', title); + CSettings.getInstance(IGUIConstants.APP_NAME).setProperty("recentFilename[" + Integer.toString(index - 1) + ']', filename); + } + + /** {@inheritDoc} */ + public void actionPerformed(final ActionEvent e) { + openMapFileWithView(new File(filename), null); + } + + /** {@inheritDoc} */ + @Override public boolean equals(final Object obj) { + return !(obj == null || !(obj instanceof Recent)) && filename.equals(((Recent) obj).filename); + } + + /** {@inheritDoc} */ + @Override public int hashCode() { + return filename.hashCode(); + } + + /** {@inheritDoc} */ + @Override protected Object clone() throws CloneNotSupportedException { + return super.clone(); + } + + } // class Recent + } // class CMainControl Modified: trunk/crossfire/src/cfeditor/CMainView.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainView.java 2007-04-03 21:14:27 UTC (rev 2127) +++ trunk/crossfire/src/cfeditor/CMainView.java 2007-04-03 21:44:30 UTC (rev 2128) @@ -614,6 +614,18 @@ } /** + * Update the recent menu. + * @param recents current recents + */ + public void updateRecent(final List<CMainControl.Recent> recents) { + final JMenu recentMenu = (JMenu) ACTION_FACTORY.find(getJMenuBar(), "recent"); + Menu.removeAll(recentMenu); + for (final CMainControl.Recent recent : recents) { + recentMenu.add(recent); + } + } + + /** * Rebuild the window menu. */ private void rebuildWindowMenu() { Modified: trunk/crossfire/src/cfeditor/action.properties =================================================================== --- trunk/crossfire/src/cfeditor/action.properties 2007-04-03 21:14:27 UTC (rev 2127) +++ trunk/crossfire/src/cfeditor/action.properties 2007-04-03 21:44:30 UTC (rev 2128) @@ -28,7 +28,7 @@ # Menus main.menubar=file edit map cursor pickmaps resources tools analyze view plugins window help -file.menu=createNew open close - save saveAs revert createImage - options - exit +file.menu=createNew open recent close - save saveAs revert createImage - options - exit edit.menu=undo redo - clear cut copy paste - replace fillAbove fillBelow randFillAbove randFillBelow floodfill - selectAll map.menu=autoJoin - gridVisible enterExit enterNorthMap enterEastMap enterSouthMap enterWestMap enterUpperMap enterLowerMap tileShow - mapCreateView mapProperties cursor.menu=moveCursor - selectTile startStopDrag addToSelection subFromSelection releaseDrag - insertArch deleteArch - selectArchAbove selectArchBelow - archAttributes @@ -40,6 +40,8 @@ plugins.menu=- editPlugins - savePlugins exportPluginAs importPlugin window.menu=closeAll help.menu=onlineHelp about +#this is empty but yet must be here. +recent.menu= mapwindow.menubar=mapwindowFile mapwindowEdit mapwindowMap mapwindowCursor mapwindowView @@ -60,6 +62,8 @@ open.icon=general/Open16 +recent.icon=general/History16 + closeAll.icon=EmptySmallIcon options.icon=general/Preferences16 Modified: trunk/crossfire/src/cfeditor/messages.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages.properties 2007-04-03 21:14:27 UTC (rev 2127) +++ trunk/crossfire/src/cfeditor/messages.properties 2007-04-03 21:44:30 UTC (rev 2128) @@ -133,6 +133,11 @@ open.accel=ctrl pressed O open.error.text=Error while loading +recent.text=Recent +recent.shortdescription=Load a recently opened map +recent.mnemonic=T +recentItem.shortdescriptionformat=Opens map {0} ({1}) + options.text=Options... options.shortdescription=Shows options options.longdescription=Shows an option dialog to change the editor settings Modified: trunk/crossfire/src/cfeditor/messages_de.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_de.properties 2007-04-03 21:14:27 UTC (rev 2127) +++ trunk/crossfire/src/cfeditor/messages_de.properties 2007-04-03 21:44:30 UTC (rev 2128) @@ -128,6 +128,11 @@ open.accel=ctrl pressed O open.error.text=Fehler beim Laden +recent.text=Zuletzt ge\xF6ffnet +recent.shortdescription=Lade eine k\xFCrzlich ge\xF6ffnete Karte +recent.mnemonic=Z +recentItem.shortdescriptionformat=\xD6ffne Karte {0} ({1}) + options.text=Optionen... options.shortdescription=Optionen zeigen options.longdescription=Zeigt einen Dialog mit den Editoreinstellungen Modified: trunk/crossfire/src/cfeditor/messages_fr.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_fr.properties 2007-04-03 21:14:27 UTC (rev 2127) +++ trunk/crossfire/src/cfeditor/messages_fr.properties 2007-04-03 21:44:30 UTC (rev 2128) @@ -129,6 +129,11 @@ open.accel=ctrl pressed O open.error.text=Erreur lors du chargement. +#recent.text= +#recent.shortdescription= +#recent.mnemonic= +#recentItem.shortdescriptionformat= + options.text=Options... options.shortdescription=Affiche les options options.longdescription=Affiche une fen\xEAtre d'options pour modifier les r\xE9glages de l'\xE9diteur Modified: trunk/crossfire/src/cfeditor/messages_sv.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_sv.properties 2007-04-03 21:14:27 UTC (rev 2127) +++ trunk/crossfire/src/cfeditor/messages_sv.properties 2007-04-03 21:44:30 UTC (rev 2128) @@ -129,6 +129,11 @@ open.accel=ctrl pressed O #open.error.text= +recent.text=Nyligen +recent.shortdescription=Ladda nyligen \xF6ppnad karta +recent.mnemonic=Y +recentItem.shortdescriptionformat=\xD6ppnar karta {0} ({1}) + options.text=Inst\xE4llningar... options.shortdescription=Justera inst\xE4llningar options.longdescription=\xD6ppnar dialogen f\xF6r att justera editorinst\xE4llningarna This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2007-04-04 21:26:57
|
Revision: 2168 http://svn.sourceforge.net/gridarta/?rev=2168&view=rev Author: akirschbaum Date: 2007-04-04 14:26:59 -0700 (Wed, 04 Apr 2007) Log Message: ----------- Make sure the active map window gets the focus. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/CMainView.java trunk/crossfire/src/cfeditor/map/MapControl.java Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-04-04 20:37:50 UTC (rev 2167) +++ trunk/crossfire/ChangeLog 2007-04-04 21:26:59 UTC (rev 2168) @@ -1,3 +1,7 @@ +2007-04-04 Andreas Kirschbaum + + * Make sure the active map window gets the focus. + 2007-04-03 Andreas Kirschbaum * Add "recent" entry to file menu. Modified: trunk/crossfire/src/cfeditor/CMainView.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainView.java 2007-04-04 20:37:50 UTC (rev 2167) +++ trunk/crossfire/src/cfeditor/CMainView.java 2007-04-04 21:26:59 UTC (rev 2168) @@ -479,17 +479,29 @@ try { view.setIcon(false); mainControl.setCurrentLevel(view.getMapControl()); + view.setVisible(true); + view.setSelected(true); view.moveToFront(); - view.show(); - return; + mapDesktop.setSelectedFrame(view); + view.requestFocus(); + view.restoreSubcomponentFocus(); } catch (final PropertyVetoException e) { log.warn(ACTION_FACTORY.format("logUnexpectedException", e)); } + return; } } else { - mainControl.setCurrentLevel(view.getMapControl()); - view.show(); - view.moveToFront(); + try { + mainControl.setCurrentLevel(view.getMapControl()); + view.setVisible(true); + view.setSelected(true); + view.moveToFront(); + mapDesktop.setSelectedFrame(view); + view.requestFocus(); + view.restoreSubcomponentFocus(); + } catch (final PropertyVetoException e) { + log.warn(ACTION_FACTORY.format("logUnexpectedException", e)); + } return; } } @@ -536,13 +548,18 @@ if (view.isIcon()) { try { view.setIcon(false); - view.show(); - return; + view.setSelected(true); + view.setVisible(true); + view.requestFocus(); + view.restoreSubcomponentFocus(); } catch (final PropertyVetoException e) { log.warn(ACTION_FACTORY.format("logUnexpectedException", e)); } + return; } updateFocus(true); + view.requestFocus(); + view.restoreSubcomponentFocus(); } /** @@ -570,6 +587,7 @@ mapViews.add(0, view); generateCurrentMapViewChangedEvent(); final MapControl level = view.getMapControl(); + level.setFocus(view); mainControl.setCurrentLevel(level); //statusBar.setLevelInfo(level); } Modified: trunk/crossfire/src/cfeditor/map/MapControl.java =================================================================== --- trunk/crossfire/src/cfeditor/map/MapControl.java 2007-04-04 20:37:50 UTC (rev 2167) +++ trunk/crossfire/src/cfeditor/map/MapControl.java 2007-04-04 21:26:59 UTC (rev 2168) @@ -402,6 +402,16 @@ } /** + * Set a view as main view. + * @param view the new main view + */ + public void setFocus(final MapViewIFrame view) { + assert mapViewIFrames.contains(view); + mapViewIFrames.remove(view); + mapViewIFrames.add(0, view); + } + + /** * Get Iterable of all MapSquares. * @return Iterable of all MapSquares */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2007-04-05 22:46:39
|
Revision: 2176 http://svn.sourceforge.net/gridarta/?rev=2176&view=rev Author: akirschbaum Date: 2007-04-05 15:46:39 -0700 (Thu, 05 Apr 2007) Log Message: ----------- Fix part of #1555837 (Doesn't support new move_type system): add 'move_blocked' game object attribute. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/resource/conf/types.xml Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-04-05 08:32:06 UTC (rev 2175) +++ trunk/crossfire/ChangeLog 2007-04-05 22:46:39 UTC (rev 2176) @@ -1,3 +1,8 @@ +2007-04-06 Andreas Kirschbaum + + * Fix part of #1555837 (Doesn't support new move_type system): add + 'move_blocked' game object attribute. + 2007-04-04 Andreas Kirschbaum * Make sure the active map window gets the focus. Modified: trunk/crossfire/resource/conf/types.xml =================================================================== --- trunk/crossfire/resource/conf/types.xml 2007-04-05 08:32:06 UTC (rev 2175) +++ trunk/crossfire/resource/conf/types.xml 2007-04-05 22:46:39 UTC (rev 2176) @@ -467,7 +467,7 @@ other types like "monster & npc" which also have type number 0. --> <attribute arch="misc" value="x" /> </required> - <attribute arch="no_pass" editor="blocking passage" type="bool"> + <attribute arch="move_block" editor="blocked movement" type="bitmask_movement"> If set, the object cannot be passed by players nor monsters. </attribute> <attribute arch="cursed" editor="cursed" type="bool"> @@ -569,6 +569,9 @@ </description> <attribute arch="no_pick" value="1" type="fixed" /> <attribute arch="walk_on" value="1" type="fixed" /> + <attribute arch="move_block" editor="blocked movement" type="bitmask_movement"> + If set, the object cannot be passed by players nor monsters. + </attribute> <attribute arch="slaying" editor="match item name" type="string"> This string specifies the item that must be put on the altar to activate it. It can either be the name of an archetype, or directly @@ -625,6 +628,9 @@ quite grateful if things work more than once. =) ]]> </use> <attribute arch="no_pick" value="1" type="fixed" /> + <attribute arch="move_block" editor="blocked movement" type="bitmask_movement"> + If set, the object cannot be passed by players nor monsters. + </attribute> <attribute arch="slaying" editor="match item name" type="string"> This string specifies the item that must be put on the altar to activate it. It can either be the name of an archetype, or directly @@ -990,6 +996,9 @@ </use> <attribute arch="no_pick" value="1" type="fixed" /> <attribute arch="is_floor" value="1" type="fixed" /> + <attribute arch="move_block" editor="blocked movement" type="bitmask_movement"> + If set, the object cannot be passed by players nor monsters. + </attribute> <attribute arch="hp" editor="destination X" type="int"> The exit destinations define the (x, y)-coordinates where players get teleported after they died on this battleground. @@ -1631,8 +1640,8 @@ </description> <attribute arch="no_pick" value="1" type="fixed" /> <attribute arch="alive" value="1" type="fixed" /> - <attribute arch="no_pass" editor="blocking passage" type="bool"> - If set, a player must defeat the door to enter. + <attribute arch="move_block" editor="blocked movement" type="bitmask_movement"> + If any movement type is blocked, a player must defeat the door to enter. </attribute> <attribute arch="hp" editor="hitpoints" type="int"> The more <hitpoints> the door has, the longer it takes to be broken. @@ -1764,6 +1773,9 @@ properties as "Enter X/Y". Though, please DO NOT use that. It turned out to be a source for numerous map-bugs. </attribute> + <attribute arch="move_block" editor="blocked movement" type="bitmask_movement"> + If set, the object cannot be passed by players nor monsters. + </attribute> <attribute arch="walk_on" editor="apply by walking" type="bool"> If set, the player will apply the exit by just walking into it. This must be set for the invisible exits for example. If unset, the player has @@ -1960,7 +1972,7 @@ </description> <attribute arch="is_floor" value="1" type="fixed" /> <attribute arch="no_pick" value="1" type="fixed" /> - <attribute arch="no_pass" editor="blocking passage" type="bool"> + <attribute arch="move_block" editor="blocked movement" type="bitmask_movement"> If set, the object cannot be passed by players nor monsters. </attribute> <section name="terrain"> @@ -2015,7 +2027,7 @@ </description> <attribute arch="is_floor" value="1" type="fixed" /> <attribute arch="no_pick" value="1" type="fixed" /> - <attribute arch="no_pass" editor="blocking passage" type="bool"> + <attribute arch="move_block" editor="blocked movement" type="bitmask_movement"> If set, the object cannot be passed by players nor monsters. </attribute> <section name="terrain"> @@ -2100,9 +2112,9 @@ about 6 or 7) means completely closed/up state. I suggest you don't mess with this value - Leave the default in place. </attribute> - <attribute arch="no_pass" editor="blocking passage" type="bool"> + <attribute arch="move_block" editor="blocked movement" type="bitmask_movement"> For open gates, <blocking passage> should be unset. - For closed gates it must be set. + For closed gates it must be set to "all". </attribute> <attribute arch="no_magic" editor="restrict spells" type="bool"> Restricting the use of spells to pass this gate. This has @@ -2223,6 +2235,9 @@ <attribute arch="lifesave" value="1" type="fixed" /> <attribute arch="walk_on" value="1" type="fixed" /> <attribute arch="no_pick" value="1" type="fixed" /> + <attribute arch="move_block" editor="blocked movement" type="bitmask_movement"> + If set, the object cannot be passed by players nor monsters. + </attribute> <attribute arch="attacktype" editor="attacktype" type="bitmask_attacktype"> This attribute specifies the attacktypes that this floor uses to damage it's victims. Attacktypes are: physical, fire, cold.. etc. @@ -2314,6 +2329,9 @@ if you already follow that god, you may get some extra bonus. ]]> </description> <attribute arch="no_pick" value="1" type="fixed" /> + <attribute arch="move_block" editor="blocked movement" type="bitmask_movement"> + If set, the object cannot be passed by players nor monsters. + </attribute> <attribute arch="other_arch" editor="god name" type="string"> The altar belongs to the god of the given name. Possible options for <god name> are: Devourers, Lythander, Mostrai, Gaea, Ruggilli, Gnarg, @@ -2430,7 +2448,7 @@ matching object (usually not recommended, see "last_heal"). <br><br> Alternatively, you can set your inventory checker to block all players - that do/don't carry the matching object (-> "no_pass"). + that do/don't carry the matching object (-> "blocked movement"). <br><br> As you can see, inventory checkers are quite powerful, holding a great variety of possibilities. ]]> @@ -2472,7 +2490,7 @@ <connection> value get activated. This only makes sense together with <blocking passage> disabled. </attribute> - <attribute arch="no_pass" editor="blocking passage" type="bool"> + <attribute arch="move_block" editor="blocked movement" type="bitmask_movement"> If set, only players meeting the match criteria can pass through that space. If unset (default), the inventory checker acts like a trigger/button. @@ -2572,7 +2590,7 @@ items. To get your hands on the artifacts, you need to bring up the appropriate quest items (key objects). ]]> </use> - <attribute arch="no_pass" value="1" type="fixed" /> + <attribute arch="move_block" value="all" type="fixed" /> <attribute arch="no_pick" value="1" type="fixed" /> <attribute arch="slaying" editor="key string" type="string"> The <key string> in the door must be identical with the @@ -2699,7 +2717,7 @@ <direction>. A magic wall with direction set to <none> will always fire in a random direction. </attribute> - <attribute arch="no_pass" editor="blocking passage" type="bool"> + <attribute arch="move_block" editor="blocked movement" type="bitmask_movement"> If set, the object cannot be passed by players nor monsters. </attribute> <section name="destroyable"> @@ -4707,9 +4725,9 @@ about 6 or 7) means completely closed/up state. I suggest you don't mess with this value - Leave the default in place. </attribute> - <attribute arch="no_pass" editor="blocking passage" type="bool"> - For open gates, <blocking passage> should be unset. - For closed gates it must be set. + <attribute arch="move_block" editor="blocked movement" type="bitmask_movement"> + For open gates, <blocking movement> should be unset. + For closed gates it must be set to "all". </attribute> <attribute arch="no_magic" editor="restrict spells" type="bool"> Restricting the use of spells to pass this gate. This has @@ -4938,7 +4956,8 @@ <required> <attribute arch="is_floor" value="0" /> <attribute arch="alive" value="0" /> - <attribute arch="no_pass" value="1" /> + <attribute arch="move_block" value="all" /> + <attribute arch="move_allow" value="0" /> </required> <ignore> <attribute arch="nrof" /> @@ -4950,7 +4969,7 @@ <description><![CDATA[ Walls usually block passage and sight. ]]> </description> - <attribute arch="no_pass" editor="blocking passage" type="bool"> + <attribute arch="move_block" editor="blocked movement" type="bitmask_movement"> If set, the object cannot be passed by players nor monsters. </attribute> <attribute arch="can_roll" editor="moveable" type="bool"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2007-04-05 22:48:16
|
Revision: 2177 http://svn.sourceforge.net/gridarta/?rev=2177&view=rev Author: akirschbaum Date: 2007-04-05 15:48:14 -0700 (Thu, 05 Apr 2007) Log Message: ----------- Update archetypes. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/resource/conf/archetypes trunk/crossfire/resource/conf/crossfire.0 trunk/crossfire/resource/conf/treasures Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-04-05 22:46:39 UTC (rev 2176) +++ trunk/crossfire/ChangeLog 2007-04-05 22:48:14 UTC (rev 2177) @@ -1,5 +1,7 @@ 2007-04-06 Andreas Kirschbaum + * Update archetypes. + * Fix part of #1555837 (Doesn't support new move_type system): add 'move_blocked' game object attribute. Modified: trunk/crossfire/resource/conf/archetypes =================================================================== --- trunk/crossfire/resource/conf/archetypes 2007-04-05 22:46:39 UTC (rev 2176) +++ trunk/crossfire/resource/conf/archetypes 2007-04-05 22:48:14 UTC (rev 2177) @@ -1932,7 +1932,7 @@ face wdoor.114 animation mdoor_closed_1 is_animated 0 -no_pass 1 +move_block all no_magic 1 damned 1 blocksview 1 @@ -1951,7 +1951,7 @@ face sdoor.114 animation mdoor_closed_2 is_animated 0 -no_pass 1 +move_block all no_magic 1 damned 1 blocksview 1 @@ -2004,7 +2004,7 @@ face odoorm2.111 animation odoorm2_closed_1 is_animated 0 -no_pass 1 +move_block all no_magic 1 damned 1 blocksview 1 @@ -2041,7 +2041,7 @@ face odoorm2bg.111 animation odoorm2bg_closed_1 is_animated 0 -no_pass 1 +move_block all no_magic 1 damned 1 blocksview 1 @@ -2078,7 +2078,7 @@ face odoorm2rw.111 animation odoorm2rw_closed_1 is_animated 0 -no_pass 1 +move_block all no_magic 1 damned 1 blocksview 1 @@ -2115,7 +2115,7 @@ face odoorn2.111 animation odoorn2_closed_1 is_animated 0 -no_pass 1 +move_block all no_magic 1 damned 1 blocksview 1 @@ -2158,7 +2158,6 @@ editable 16 ac 1 wc 0 -pass_thru 1 editor_folder connect/Garden_gate end Object ggate_closed @@ -2176,8 +2175,7 @@ editable 16 ac 1 wc 3 -no_pass 1 -pass_thru 1 +move_block all editor_folder connect/Garden_gate end Object gate_open_1 @@ -2204,7 +2202,7 @@ face gate_1.117 animation gate_closed_1 is_animated 0 -no_pass 1 +move_block all blocksview 1 wc 6 maxsp 0 @@ -2236,7 +2234,7 @@ face gate_2.115 animation gate_closed_2 is_animated 0 -no_pass 1 +move_block all blocksview 1 wc 7 dam 1 @@ -2253,7 +2251,7 @@ face gate_1.117 animation gateTrg1 is_animated 0 -no_pass 1 +move_block all blocksview 1 wc 6 maxsp 0 @@ -2274,7 +2272,7 @@ face gate_2.115 animation gateTrg2 is_animated 0 -no_pass 1 +move_block all blocksview 1 wc 7 dam 1 @@ -2311,12 +2309,11 @@ face grate_1.118 animation grate_closed_1 is_animated 0 -no_pass 1 +move_block all wc 7 maxsp 0 dam 5 ac 1 -pass_thru 1 editable 16 editor_folder connect/Gates end @@ -2345,12 +2342,11 @@ face grate_2.118 animation grate_closed_2 is_animated 0 -no_pass 1 +move_block all wc 7 ac 1 dam 5 maxsp 0 -pass_thru 1 editable 16 editor_folder connect/Gates end @@ -2358,7 +2354,7 @@ face gratedoor1.111 blocksview 1 no_pick 1 -no_pass 1 +move_block all editable 16 editor_folder connect/Gates end @@ -2366,7 +2362,7 @@ face gratedoor2.111 blocksview 1 no_pick 1 -no_pass 1 +move_block all editable 16 editor_folder connect/Gates end @@ -2379,7 +2375,7 @@ face iron_gate1.118 animation igateTrg1 is_animated 0 -no_pass 1 +move_block all no_magic 1 damned 1 blocksview 1 @@ -2402,7 +2398,7 @@ face iron_gate2.116 animation igateTrg2 is_animated 0 -no_pass 1 +move_block all no_magic 1 damned 1 blocksview 1 @@ -2425,7 +2421,7 @@ face iron_gate1.118 animation igate_closed_1 is_animated 0 -no_pass 1 +move_block all no_magic 1 damned 1 blocksview 1 @@ -2444,7 +2440,7 @@ face iron_gate2.116 animation igate_closed_2 is_animated 0 -no_pass 1 +move_block all damned 1 no_magic 1 blocksview 1 @@ -2498,7 +2494,7 @@ speed -2 animation spike_moving is_animated 0 -no_pass 1 +move_block all wc 6 maxsp 0 dam 256 @@ -2531,12 +2527,11 @@ face spike.111 animation spike_closed is_animated 0 -no_pass 1 +move_block all wc 8 maxsp 0 dam 256 ac 1 -pass_thru 1 editable 16 editor_folder connect/Gates end @@ -2566,7 +2561,7 @@ speed -1 animation spikes_moving is_animated 0 -no_pass 1 +move_block all wc 6 maxsp 0 dam 8 @@ -2599,12 +2594,11 @@ face spikes.111 animation spikes_closed is_animated 0 -no_pass 1 +move_block all wc 8 maxsp 0 dam 8 ac 1 -pass_thru 1 editable 16 editor_folder connect/Gates end @@ -3113,7 +3107,7 @@ face cwallsec.118 animation cwall_closed_1 is_animated 0 -no_pass 1 +move_block all no_magic 1 damned 1 blocksview 1 @@ -3149,7 +3143,7 @@ face cwallsec_mural_1.118 animation cwallmural1_closed_1 is_animated 0 -no_pass 1 +move_block all no_magic 1 damned 1 blocksview 1 @@ -3394,7 +3388,7 @@ face stwallsec.118 animation stwall_closed_1 is_animated 0 -no_pass 1 +move_block all no_magic 1 damned 1 blocksview 1 @@ -3484,7 +3478,7 @@ face westcwallsec.118 animation westcwall_closed_1 is_animated 0 -no_pass 1 +move_block all no_magic 1 damned 1 blocksview 1 @@ -3873,7 +3867,7 @@ face s_guild.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 2 editor_folder construct/Snow end @@ -3883,7 +3877,7 @@ face s_guild.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder construct/Snow end @@ -4523,7 +4517,7 @@ type 66 face darkhold.x11 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/hold @@ -4535,7 +4529,7 @@ face darkhold.x11 x 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4545,7 +4539,7 @@ face darkhold.x11 x 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4555,7 +4549,7 @@ face darkhold.x11 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4566,7 +4560,7 @@ x 1 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4577,7 +4571,7 @@ x 2 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4587,7 +4581,7 @@ face darkhold.x11 y 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4598,7 +4592,7 @@ x 1 y 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4609,7 +4603,7 @@ x 2 y 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4619,7 +4613,7 @@ face darkhold.x11 y 3 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4630,7 +4624,7 @@ x 1 y 3 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4641,7 +4635,7 @@ x 2 y 3 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4651,7 +4645,7 @@ face darkhold.x11 y 4 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4672,7 +4666,7 @@ x 2 y 4 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end Object darkhold_sym @@ -4688,7 +4682,7 @@ type 66 face stronghold.x11 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/hold @@ -4700,7 +4694,7 @@ face stronghold.x11 x 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4710,7 +4704,7 @@ face stronghold.x11 x 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4720,7 +4714,7 @@ face stronghold.x11 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4731,7 +4725,7 @@ x 1 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4742,7 +4736,7 @@ x 2 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4752,7 +4746,7 @@ face stronghold.x11 y 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4773,7 +4767,7 @@ x 2 y 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end Object stronghold_east @@ -4781,7 +4775,7 @@ face stronghold_east.x11 name honrui no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/hold @@ -4793,7 +4787,7 @@ face stronghold_east.x11 x 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4803,7 +4797,7 @@ face stronghold_east.x11 x 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4813,7 +4807,7 @@ face stronghold_east.x11 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4824,7 +4818,7 @@ x 1 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4835,7 +4829,7 @@ x 2 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4845,7 +4839,7 @@ face stronghold_east.x11 y 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4866,14 +4860,14 @@ x 2 y 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end Object stronghold_fant type 66 face stronghold_fant.x11 no_pick 1 -no_pass 1 +move_block all editable 2 editor_folder construct/hold end @@ -4884,7 +4878,7 @@ face stronghold_fant.x11 x 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4894,7 +4888,7 @@ face stronghold_fant.x11 x 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4904,7 +4898,7 @@ face stronghold_fant.x11 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4915,7 +4909,7 @@ x 1 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4926,7 +4920,7 @@ x 2 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4936,7 +4930,7 @@ face stronghold_fant.x11 y 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4957,14 +4951,14 @@ x 2 y 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end Object stronghold_fant_symmetrical type 66 face stronghold_fant_symmetrical.x11 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/hold @@ -4976,7 +4970,7 @@ face stronghold_fant_symmetrical.x11 x 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4986,7 +4980,7 @@ face stronghold_fant_symmetrical.x11 x 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -4996,7 +4990,7 @@ face stronghold_fant_symmetrical.x11 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -5007,7 +5001,7 @@ x 1 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -5018,7 +5012,7 @@ x 2 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -5028,7 +5022,7 @@ face stronghold_fant_symmetrical.x11 y 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -5049,14 +5043,14 @@ x 2 y 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end Object stronghold_northwest type 66 face stronghold_northwest.x11 no_pick 1 -no_pass 1 +move_block all editable 2 editor_folder construct/hold end @@ -5067,7 +5061,7 @@ face stronghold_northwest.x11 x 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -5077,7 +5071,7 @@ face stronghold_northwest.x11 x 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -5087,7 +5081,7 @@ face stronghold_northwest.x11 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -5098,7 +5092,7 @@ x 1 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -5109,7 +5103,7 @@ x 2 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -5119,7 +5113,7 @@ face stronghold_northwest.x11 y 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -5140,14 +5134,14 @@ x 2 y 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end Object stronghold_west type 66 face stronghold_west.x11 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/hold @@ -5159,7 +5153,7 @@ face stronghold_west.x11 x 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -5169,7 +5163,7 @@ face stronghold_west.x11 x 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -5179,7 +5173,7 @@ face stronghold_west.x11 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -5190,7 +5184,7 @@ x 1 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -5201,7 +5195,7 @@ x 2 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -5211,7 +5205,7 @@ face stronghold_west.x11 y 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end More @@ -5232,7 +5226,7 @@ x 2 y 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/hold end Object stronghold_sym @@ -5542,7 +5536,7 @@ face capitalhold_east.x11 name keiraku honrui no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/keep @@ -5554,7 +5548,7 @@ face capitalhold_east.x11 x 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/keep end More @@ -5564,7 +5558,7 @@ face capitalhold_east.x11 x 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/keep end More @@ -5574,7 +5568,7 @@ face capitalhold_east.x11 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/keep end More @@ -5585,7 +5579,7 @@ x 1 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/keep end More @@ -5596,7 +5590,7 @@ x 2 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/keep end More @@ -5606,7 +5600,7 @@ face capitalhold_east.x11 y 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/keep end More @@ -5627,7 +5621,7 @@ x 2 y 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/keep end Object capitalhold_west @@ -5635,7 +5629,7 @@ face capitalhold_west.x11 name capitalhold no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/keep @@ -5647,7 +5641,7 @@ face capitalhold_west.x11 x 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/keep end More @@ -5657,7 +5651,7 @@ face capitalhold_west.x11 x 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/keep end More @@ -5667,7 +5661,7 @@ face capitalhold_west.x11 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/keep end More @@ -5678,7 +5672,7 @@ x 1 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/keep end More @@ -5689,7 +5683,7 @@ x 2 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/keep end More @@ -5699,7 +5693,7 @@ face capitalhold_west.x11 y 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/keep end More @@ -5720,7 +5714,6 @@ x 2 y 2 no_pick 1 -no_pass 0 editor_folder construct/keep end More @@ -5730,7 +5723,7 @@ face capitalhold_west.x11 x 3 no_pick 1 -no_pass 1 +move_block all editor_folder construct/keep end More @@ -5741,7 +5734,7 @@ x 3 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/keep end More @@ -5752,7 +5745,6 @@ x 3 y 2 no_pick 1 -no_pass 0 editor_folder construct/keep end More @@ -5762,7 +5754,7 @@ face capitalhold_west.x11 x 4 no_pick 1 -no_pass 1 +move_block all editor_folder construct/keep end More @@ -5773,7 +5765,7 @@ x 4 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/keep end More @@ -5784,7 +5776,7 @@ x 4 y 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/keep end Object keep @@ -5896,7 +5888,7 @@ type 66 face cathedral.x11 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/temple @@ -5908,7 +5900,7 @@ face cathedral.x11 x 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/temple end More @@ -5918,7 +5910,7 @@ face cathedral.x11 x 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/temple end More @@ -5928,7 +5920,7 @@ face cathedral.x11 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/temple end More @@ -5939,7 +5931,7 @@ x 1 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/temple end More @@ -5950,7 +5942,7 @@ x 2 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder construct/temple end More @@ -5960,7 +5952,7 @@ face cathedral.x11 y 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/temple end More @@ -5971,7 +5963,7 @@ x 1 y 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/temple end More @@ -5982,7 +5974,7 @@ x 2 y 2 no_pick 1 -no_pass 1 +move_block all editor_folder construct/temple end More @@ -5992,7 +5984,7 @@ face cathedral.x11 y 3 no_pick 1 -no_pass 1 +move_block all editor_folder construct/temple end More @@ -6003,7 +5995,6 @@ x 1 y 3 no_pick 1 -no_pass 0 editor_folder construct/temple end More @@ -6014,7 +6005,7 @@ x 2 y 3 no_pick 1 -no_pass 1 +move_block all editor_folder construct/temple end Object lyth_temple @@ -6087,7 +6078,7 @@ face temple1.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/temple @@ -6098,7 +6089,7 @@ face temple1.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder construct/temple end @@ -6126,7 +6117,7 @@ face temple_ruin.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/temple @@ -6137,7 +6128,7 @@ face temple_ruin.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder construct/temple end @@ -6365,7 +6356,7 @@ face s_tower1.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/tower @@ -6384,7 +6375,7 @@ face s_tower2.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/tower @@ -6486,7 +6477,7 @@ face a_civic.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/town @@ -6497,7 +6488,7 @@ face a_civic.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder construct/town end @@ -6719,7 +6710,7 @@ name tatemono type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/town @@ -6730,7 +6721,7 @@ face building10_east.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder construct/town end @@ -6758,7 +6749,7 @@ name tatemono type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/town @@ -6769,7 +6760,7 @@ face building1_east.111 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder construct/town end @@ -6797,7 +6788,7 @@ name tatemono type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/town @@ -6808,7 +6799,7 @@ face building2_east.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder construct/town end @@ -6836,7 +6827,7 @@ name tatemono type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/town @@ -6847,7 +6838,7 @@ face building3_east.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder construct/town end @@ -6875,7 +6866,7 @@ name tatemono type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/town @@ -6886,7 +6877,7 @@ face building4_east.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder construct/town end @@ -6914,7 +6905,7 @@ name tatemono type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/town @@ -6925,7 +6916,7 @@ face building5_east.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder construct/town end @@ -6953,7 +6944,7 @@ name tatemono type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/town @@ -6964,7 +6955,7 @@ face building6_east.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder construct/town end @@ -6992,7 +6983,7 @@ name tatemono type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/town @@ -7003,7 +6994,7 @@ face building7_east.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder construct/town end @@ -7031,7 +7022,7 @@ name tatemono type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/town @@ -7042,7 +7033,7 @@ face building8_east.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder construct/town end @@ -7070,7 +7061,7 @@ name tatemono type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/town @@ -7081,7 +7072,7 @@ face building9_east.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder construct/town end @@ -7324,7 +7315,7 @@ face courthouse.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/town @@ -7335,7 +7326,7 @@ face courthouse.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder construct/town end @@ -7362,7 +7353,7 @@ face guild.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/town @@ -7373,7 +7364,7 @@ face guild.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder construct/town end @@ -7400,7 +7391,7 @@ face guild_fant.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/town @@ -7411,7 +7402,7 @@ face guild_fant.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder construct/town end @@ -7438,7 +7429,7 @@ face guild_northwest.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 2 editor_folder construct/town end @@ -7448,7 +7439,7 @@ face guild_northwest.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder construct/town end @@ -7475,7 +7466,7 @@ face guild_west.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/town @@ -7486,7 +7477,7 @@ face guild_west.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder construct/town end @@ -7560,7 +7551,7 @@ face l_shop1.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/town @@ -7571,7 +7562,7 @@ face l_shop1.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder construct/town end @@ -7655,7 +7646,7 @@ face prison.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/town @@ -7666,7 +7657,7 @@ face prison.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder construct/town end @@ -7694,7 +7685,7 @@ face prison_fant.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/town @@ -7705,7 +7696,7 @@ face prison_fant.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder construct/town end @@ -7926,7 +7917,7 @@ face slum1.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/town @@ -7945,7 +7936,7 @@ face slum2.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/town @@ -7964,7 +7955,7 @@ face slum3.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/town @@ -7983,7 +7974,7 @@ face t_house1.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/town @@ -7994,7 +7985,7 @@ face t_house1.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder construct/town end @@ -8022,7 +8013,7 @@ face t_house2.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/town @@ -8033,7 +8024,7 @@ face t_house2.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder construct/town end @@ -8061,7 +8052,7 @@ face t_house2_fant.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder construct/town @@ -8072,7 +8063,7 @@ face t_house2_fant.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder construct/town end @@ -9074,7 +9065,7 @@ Object door_0 name door randomitems door -no_pass 1 +move_block all blocksview 1 face door_0.111 hp 400 @@ -9091,7 +9082,7 @@ Object door_1_1 name door randomitems door -no_pass 1 +move_block all blocksview 1 face door_1.111 hp 400 @@ -9108,7 +9099,7 @@ Object door_1_3 name door randomitems door -no_pass 1 +move_block all blocksview 1 face door_2.111 hp 400 @@ -9125,7 +9116,7 @@ Object door_2_2_1 name door randomitems door -no_pass 1 +move_block all blocksview 1 face door_3.111 hp 400 @@ -9142,7 +9133,7 @@ Object door_1_2 name door randomitems door -no_pass 1 +move_block all blocksview 1 face door_4.111 hp 400 @@ -9159,7 +9150,7 @@ Object door_2_1_1 name door randomitems door -no_pass 1 +move_block all blocksview 1 face door_5.111 hp 400 @@ -9176,7 +9167,7 @@ Object door_2_2_2 name door randomitems door -no_pass 1 +move_block all blocksview 1 face door_6.111 hp 400 @@ -9193,7 +9184,7 @@ Object door_3_2 name door randomitems door -no_pass 1 +move_block all blocksview 1 face door_7.111 hp 400 @@ -9210,7 +9201,7 @@ Object door_1_4 name door randomitems door -no_pass 1 +move_block all blocksview 1 face door_8.111 hp 400 @@ -9227,7 +9218,7 @@ Object door_2_2_4 name door randomitems door -no_pass 1 +move_block all blocksview 1 face door_9.111 hp 400 @@ -9244,7 +9235,7 @@ Object door_2_1_2 randomitems door name door -no_pass 1 +move_block all blocksview 1 face door_A.111 hp 400 @@ -9261,7 +9252,7 @@ Object door_3_1 randomitems door name door -no_pass 1 +move_block all blocksview 1 face door_B.111 hp 400 @@ -9278,7 +9269,7 @@ Object door_2_2_3 randomitems door name door -no_pass 1 +move_block all blocksview 1 face door_C.111 hp 400 @@ -9295,7 +9286,7 @@ Object door_3_4 randomitems door name door -no_pass 1 +move_block all blocksview 1 face door_D.111 hp 400 @@ -9312,7 +9303,7 @@ Object door_3_3 randomitems door name door -no_pass 1 +move_block all blocksview 1 face door_E.111 hp 400 @@ -9329,7 +9320,7 @@ Object door_4 randomitems door name door -no_pass 1 +move_block all blocksview 1 face door_F.111 hp 400 @@ -9362,7 +9353,7 @@ msg You need the special key to open this door. endmsg -no_pass 1 +move_block all face ldoor1.111 type 20 no_pick 1 @@ -9377,7 +9368,7 @@ msg You need the special key to open this door. endmsg -no_pass 1 +move_block all face ldoor2.111 type 20 no_pick 1 @@ -9402,7 +9393,7 @@ Object door_1 name door randomitems door -no_pass 1 +move_block all blocksview 1 face odoor_1.111 hp 400 @@ -9419,7 +9410,7 @@ Object door_2 name door randomitems door -no_pass 1 +move_block all blocksview 1 face odoor_2.111 hp 400 @@ -9436,7 +9427,7 @@ Object odoor_2_fant_blue-green name door randomitems door -no_pass 1 +move_block all blocksview 1 face odoor_2_fant_blue-green.111 hp 400 @@ -9454,7 +9445,7 @@ Object odoor_2_fant_blue-yellow name door randomitems door -no_pass 1 +move_block all blocksview 1 face odoor_2_fant_blue-yellow.111 hp 400 @@ -9472,7 +9463,7 @@ Object odoor_2_fant_brown name door randomitems door -no_pass 1 +move_block all blocksview 1 face odoor_2_fant_brown.111 hp 400 @@ -9490,7 +9481,7 @@ Object odoor_2_fant_red-white name door randomitems door -no_pass 1 +move_block all blocksview 1 face odoor_2_fant_red-white.111 hp 400 @@ -9508,7 +9499,7 @@ Object odoor_2_fant_red-yellow name door randomitems door -no_pass 1 +move_block all blocksview 1 face odoor_2_fant_red-yellow.111 hp 400 @@ -9526,7 +9517,7 @@ Object door_look_1 name door randomitems door -no_pass 1 +move_block all face wooddoor_1.111 hp 400 exp 1 @@ -9536,14 +9527,13 @@ no_pick 1 alive 1 level 1 -pass_thru 1 editable 16 editor_folder door end Object door_look_2 name door randomitems door -no_pass 1 +move_block all face wooddoor_2.111 hp 400 exp 1 @@ -9553,7 +9543,6 @@ no_pick 1 alive 1 level 1 -pass_thru 1 editable 16 editor_folder door end @@ -10666,7 +10655,6 @@ material 32 type 72 food 150 -need_an 1 weight 8 editable 2048 value 10 @@ -12328,7 +12316,6 @@ face apple.111 food 25 nrof 1 -need_an 1 type 6 material 32 value 2 @@ -12346,7 +12333,6 @@ name_pl apple halves food 12 nrof 1 -need_an 1 type 6 material 32 value 1 @@ -12364,7 +12350,6 @@ name_pl apple fourths food 6 nrof 1 -need_an 1 type 6 material 32 value 1 @@ -12382,7 +12367,6 @@ name_pl apple eighths food 3 nrof 1 -need_an 1 type 6 material 32 value 1 @@ -12566,6 +12550,10 @@ identified 1 name_pl fishes client_type 601 +harvest_race fish +harvest_exp 100 +harvest_level 1 +harvest_tool pole editor_folder food end Object food @@ -12720,7 +12708,6 @@ face onion.111 food 50 nrof 1 -need_an 1 type 6 material 32 value 2 @@ -12736,7 +12723,6 @@ face orange.111 food 25 nrof 1 -need_an 1 type 6 material 32 value 2 @@ -12750,7 +12736,6 @@ Object orcchop name orc chop face orcchop.111 -need_an 1 food 10 nrof 1 type 6 @@ -14927,7 +14912,7 @@ end Object lake face blake_0.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -14936,7 +14921,7 @@ end Object biglake_n face blake_1.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -14945,7 +14930,7 @@ end Object biglake_e face blake_2.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -14954,7 +14939,7 @@ end Object biglake_ne face blake_3.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -14963,7 +14948,7 @@ end Object biglake_s face blake_4.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -14972,7 +14957,7 @@ end Object biglake_sn face blake_5.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -14981,7 +14966,7 @@ end Object biglake_se face blake_6.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -14990,7 +14975,7 @@ end Object biglake_nes face blake_7.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -14999,7 +14984,7 @@ end Object biglake_w face blake_8.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -15008,7 +14993,7 @@ end Object biglake_nw face blake_9.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -15017,7 +15002,7 @@ end Object biglake_ew face blake_A.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -15026,7 +15011,7 @@ end Object biglake_new face blake_B.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -15035,7 +15020,7 @@ end Object biglake_sw face blake_C.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -15044,7 +15029,7 @@ end Object biglake_nse face blake_D.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -15053,7 +15038,7 @@ end Object biglake_sew face blake_E.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -15062,7 +15047,7 @@ end Object biglake_center face blake_F.111 -no_pass 1 +move_block all no_pick 1 is_water 1 is_floor 1 @@ -15072,7 +15057,7 @@ end Object biglake_0 face blake_0.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -15081,7 +15066,7 @@ end Object biglake_3_3 face blake_1.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -15090,7 +15075,7 @@ end Object biglake_3_4 face blake_2.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -15099,7 +15084,7 @@ end Object biglake_2_2_3 face blake_3.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -15108,7 +15093,7 @@ end Object biglake_3_1 face blake_4.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -15117,7 +15102,7 @@ end Object biglake_2_1_2 face blake_5.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -15126,7 +15111,7 @@ end Object biglake_2_2_4 face blake_6.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -15135,7 +15120,7 @@ end Object biglake_1_3 face blake_7.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -15144,7 +15129,7 @@ end Object biglake_3_2 face blake_8.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -15153,7 +15138,7 @@ end Object biglake_2_2_2 face blake_9.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -15162,7 +15147,7 @@ end Object biglake_2_1_1 face blake_A.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -15171,7 +15156,7 @@ end Object biglake_1_1 face blake_B.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -15180,7 +15165,7 @@ end Object biglake_2_2_1 face blake_C.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -15189,7 +15174,7 @@ end Object biglake_1_4 face blake_D.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -15198,7 +15183,7 @@ end Object biglake_1_2 face blake_E.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -15207,7 +15192,7 @@ end Object biglake_4 face blake_F.111 -no_pass 1 +move_block all no_pick 1 is_water 1 is_floor 1 @@ -15286,7 +15271,7 @@ type 67 race /terrain/mountain no_pick 1 -no_pass 1 +move_block all blocksview 1 editable 8 smoothlevel 100 @@ -15299,7 +15284,7 @@ type 67 race /terrain/mountain no_pick 1 -no_pass 1 +move_block all blocksview 1 editable 8 smoothlevel 102 @@ -16179,7 +16164,7 @@ name_pl sea of blood smoothlevel 29 speed 0.2 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -16190,7 +16175,7 @@ face brefjell.111 blocksview 1 no_pick 1 -no_pass 1 +move_block all editable 8 editor_folder ground end @@ -16311,7 +16296,7 @@ animation deep_sea smoothlevel 17 speed 0.2 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -16736,7 +16721,7 @@ name_pl oil ocean smoothlevel 16 speed 0.1 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -16754,7 +16739,6 @@ name_pl ultra viscous oil smoothlevel 16 speed 0.01 -no_pass 0 no_pick 1 is_water 1 editable 8 @@ -16769,7 +16753,7 @@ name_pl quicksilver sea smoothlevel 16 speed 0.35 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -16807,7 +16791,7 @@ name sea face sea_nw.111 speed 0.2 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -16818,7 +16802,7 @@ name sea face sea_ne.111 speed 0.2 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -16829,7 +16813,7 @@ name sea face sea_sw.111 speed 0.2 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -16841,7 +16825,7 @@ face sea_se.111 speed 0.2 no_pick 1 -no_pass 1 +move_block all is_water 1 editable 8 smoothlevel 20 @@ -16850,7 +16834,7 @@ Object sea_nes name sea face sea_7.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -16860,7 +16844,7 @@ Object sea_new name sea face sea_B.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -16870,7 +16854,7 @@ Object sea_nse name sea face sea_D.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -16880,7 +16864,7 @@ Object sea_sew name sea face sea_E.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -16890,7 +16874,7 @@ Object sea_nsew name sea face sea_F.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -16902,7 +16886,7 @@ animation shallow_sea smoothlevel 19 speed 0.2 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -17055,7 +17039,7 @@ face barrel.111 material 16 weight 100000 -no_pass 1 +move_block all can_roll 1 move_type 1 editable 128 @@ -18615,7 +18599,6 @@ nrof 1 speed -0.1 value 160 -need_an 1 weight 50 editable 2048 identified 1 @@ -19753,6 +19736,18 @@ editable 64 editor_folder mapbuilding end +Object shop_building_pupland +name tiles +is_floor 1 +face shop_building.111 +no_pick 1 +no_magic 1 +type 68 +auto_apply 1 +randomitems shop_building_pupland +editable 64 +editor_folder mapbuilding +end Object building_woodfloor name Wood floor material nrof 1 @@ -21178,7 +21173,7 @@ Object boulder face boulder.111 weight 1000000 -no_pass 1 +move_block all can_roll 1 no_pick 1 editable 128 @@ -21201,7 +21196,7 @@ speed -0.2 glow_radius 3 no_pick 1 -no_pass 1 +move_block all editable 128 editor_folder misc end @@ -21214,7 +21209,7 @@ level 1 face cannon_0.111 speed -0.4 -no_pass 1 +move_block all blocksview 1 editable 32 editor_folder misc @@ -21229,7 +21224,7 @@ face cannon_0.111 sp 1 speed -0.1 -no_pass 1 +move_block all blocksview 1 editable 32 editor_folder misc @@ -21244,7 +21239,7 @@ face cannon_0.111 sp 2 speed -0.1 -no_pass 1 +move_block all blocksview 1 editable 32 editor_folder misc @@ -21259,7 +21254,7 @@ face cannon_0.111 sp 3 speed -0.1 -no_pass 1 +move_block all blocksview 1 editable 32 editor_folder misc @@ -21274,7 +21269,7 @@ face cannon_0.111 sp 4 speed -0.1 -no_pass 1 +move_block all blocksview 1 editable 32 editor_folder misc @@ -21289,7 +21284,7 @@ face cannon_0.111 sp 5 speed -0.1 -no_pass 1 +move_block all blocksview 1 editable 32 editor_folder misc @@ -21304,7 +21299,7 @@ face cannon_0.111 sp 6 speed -0.1 -no_pass 1 +move_block all blocksview 1 editable 32 editor_folder misc @@ -21319,7 +21314,7 @@ face cannon_7.111 sp 7 speed -0.1 -no_pass 1 +move_block all blocksview 1 editable 32 editor_folder misc @@ -21334,7 +21329,7 @@ face cannon_0.111 sp 8 speed -0.1 -no_pass 1 +move_block all blocksview 1 editable 32 editor_folder misc @@ -21689,7 +21684,7 @@ type 98 subtype 45 no_pick 1 -no_pass 1 +move_block all editable 128 editor_folder misc end @@ -21711,7 +21706,7 @@ speed -0.2 glow_radius 2 no_pick 1 -no_pass 1 +move_block all material 66 editable 128 editor_folder misc @@ -21721,7 +21716,7 @@ animation firepot speed -0.30 no_pick 1 -no_pass 1 +move_block all glow_radius 3 material 2 editable 128 @@ -22098,7 +22093,7 @@ face rock.111 material 64 weight 1500000 -no_pass 1 +move_block all can_roll 1 no_pick 1 editable 128 @@ -22182,7 +22177,7 @@ type 98 subtype 45 no_pick 1 -no_pass 1 +move_block all editable 128 editor_folder misc end @@ -22191,7 +22186,7 @@ type 98 subtype 46 no_pick 1 -no_pass 1 +move_block all editable 128 editor_folder misc end @@ -22199,7 +22194,7 @@ type 98 subtype 45 no_pick 1 -no_pass 1 +move_block all editable 128 face statue_ruined.x11 editor_folder misc @@ -22210,7 +22205,7 @@ type 98 subtype 45 no_pick 1 -no_pass 1 +move_block all editable 128 x 1 editor_folder misc @@ -22221,7 +22216,7 @@ type 98 subtype 45 no_pick 1 -no_pass 1 +move_block all editable 128 y 1 editor_folder misc @@ -22232,7 +22227,7 @@ type 98 subtype 45 no_pick 1 -no_pass 1 +move_block all editable 128 x 1 y 1 @@ -22308,7 +22303,7 @@ face thewheel_short.111 name the wheel no_pick 1 -no_pass 1 +move_block all editable 128 editor_folder misc/thewheel end @@ -22317,7 +22312,7 @@ face thewheel_tall.x11 name the wheel no_pick 1 -no_pass 1 +move_block all editable 128 editor_folder misc/thewheel end @@ -22336,7 +22331,7 @@ name the wheel is_animated 1 no_pick 1 -no_pass 1 +move_block all speed -0.1 animation thewheel_short_ccwise-back editable 128 @@ -22349,7 +22344,7 @@ name the wheel is_animated 1 no_pick 1 -no_pass 1 +move_block all speed -0.1 animation thewheel_tall_ccwise-back editable 128 @@ -35508,7 +35503,7 @@ animation breeder_ant_2 monster 1 move_type walk -no_pass 1 +move_block all no_pick 1 alive 1 x 1 @@ -38132,7 +38127,6 @@ resist_fear 100 resist_blind 30 undead 1 -can_pass_thru 1 can_see_in_dark 1 editable 1 one_hit 1 @@ -38811,7 +38805,6 @@ resist_blind 60 undead 1 can_see_in_dark 1 -can_pass_thru 1 editable 1 one_hit 1 editor_folder monster/undead @@ -38921,7 +38914,7 @@ type 66 face burning_cathedral.x11 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder planes/fire @@ -38933,7 +38926,7 @@ face burning_cathedral.x11 x 1 no_pick 1 -no_pass 1 +move_block all editor_folder planes/fire end More @@ -38943,7 +38936,7 @@ face burning_cathedral.x11 x 2 no_pick 1 -no_pass 1 +move_block all editor_folder planes/fire end More @@ -38953,7 +38946,7 @@ face burning_cathedral.x11 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder planes/fire end More @@ -38964,7 +38957,7 @@ x 1 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder planes/fire end More @@ -38975,7 +38968,7 @@ x 2 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder planes/fire end More @@ -38985,7 +38978,7 @@ face burning_cathedral.x11 y 2 no_pick 1 -no_pass 1 +move_block all editor_folder planes/fire end More @@ -38996,7 +38989,7 @@ x 1 y 2 no_pick 1 -no_pass 1 +move_block all editor_folder planes/fire end More @@ -39007,7 +39000,7 @@ x 2 y 2 no_pick 1 -no_pass 1 +move_block all editor_folder planes/fire end More @@ -39017,7 +39010,7 @@ face burning_cathedral.x11 y 3 no_pick 1 -no_pass 1 +move_block all editor_folder planes/fire end More @@ -39028,7 +39021,7 @@ x 1 y 3 no_pick 1 -no_pass 1 +move_block all editor_folder planes/fire end More @@ -39039,7 +39032,7 @@ x 2 y 3 no_pick 1 -no_pass 1 +move_block all editor_folder planes/fire end Object burning_church @@ -39226,7 +39219,7 @@ face burning_courthouse.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder planes/fire @@ -39237,7 +39230,7 @@ face burning_courthouse.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder planes/fire end @@ -39322,7 +39315,7 @@ face burning_guild.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder planes/fire @@ -39333,7 +39326,7 @@ face burning_guild.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder planes/fire end @@ -39433,7 +39426,7 @@ face burning_l_shop1.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder planes/fire @@ -39444,7 +39437,7 @@ face burning_l_shop1.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder planes/fire end @@ -39517,7 +39510,7 @@ face burning_store_alch.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 64 client_type 25012 editor_folder planes/fire @@ -39529,7 +39522,7 @@ type 66 x 1 no_pick 1 -no_pass 1 +move_block all editor_folder planes/fire end More @@ -39556,7 +39549,7 @@ face burning_store_armo.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 64 client_type 25012 editor_folder planes/fire @@ -39568,7 +39561,7 @@ type 66 x 1 no_pick 1 -no_pass 1 +move_block all editor_folder planes/fire end More @@ -39595,7 +39588,7 @@ face burning_store_gene.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 64 client_type 25012 editor_folder planes/fire @@ -39607,7 +39600,7 @@ type 66 x 1 no_pick 1 -no_pass 1 +move_block all editor_folder planes/fire end More @@ -39634,7 +39627,7 @@ face burning_store_magi.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 64 client_type 25012 editor_folder planes/fire @@ -39646,7 +39639,7 @@ type 66 x 1 no_pick 1 -no_pass 1 +move_block all editor_folder planes/fire end More @@ -39673,7 +39666,7 @@ face burning_store_weap.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 64 client_type 25012 editor_folder planes/fire @@ -39685,7 +39678,7 @@ type 66 x 1 no_pick 1 -no_pass 1 +move_block all editor_folder planes/fire end More @@ -39711,7 +39704,7 @@ type 66 face burning_stronghold.x11 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder planes/fire @@ -39723,7 +39716,7 @@ face burning_stronghold.x11 x 1 no_pick 1 -no_pass 1 +move_block all editor_folder planes/fire end More @@ -39733,7 +39726,7 @@ face burning_stronghold.x11 x 2 no_pick 1 -no_pass 1 +move_block all editor_folder planes/fire end More @@ -39743,7 +39736,7 @@ face burning_stronghold.x11 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder planes/fire end More @@ -39754,7 +39747,7 @@ x 1 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder planes/fire end More @@ -39765,7 +39758,7 @@ x 2 y 1 no_pick 1 -no_pass 1 +move_block all editor_folder planes/fire end More @@ -39775,7 +39768,7 @@ face burning_stronghold.x11 y 2 no_pick 1 -no_pass 1 +move_block all editor_folder planes/fire end More @@ -39796,7 +39789,7 @@ x 2 y 2 no_pick 1 -no_pass 1 +move_block all editor_folder planes/fire end Object burning_t_house2 @@ -39804,7 +39797,7 @@ face burning_t_house2.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder planes/fire @@ -39815,7 +39808,7 @@ face burning_t_house2.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder planes/fire end @@ -39843,7 +39836,7 @@ face burning_temple1.x11 type 66 no_pick 1 -no_pass 1 +move_block all editable 2 client_type 25012 editor_folder planes/fire @@ -39854,7 +39847,7 @@ face burning_temple1.x11 type 66 no_pick 1 -no_pass 1 +move_block all x 1 editor_folder planes/fire end @@ -39883,7 +39876,7 @@ animation burningwall_0 is_animated 1 speed 0.2 -no_pass 1 +move_block all no_pick 1 blocksview 1 editable 512 @@ -39895,7 +39888,7 @@ animation burningwall_1_2 is_animated 1 speed 0.2 -no_pass 1 +move_block all no_pick 1 blocksview 1 editable 512 @@ -39907,7 +39900,7 @@ animation burningwall_1_4 is_animated 1 speed 0.2 -no_pass 1 +move_block all no_pick 1 blocksview 1 editable 512 @@ -39919,7 +39912,7 @@ animation burningwall_2_2_1 is_animated 1 speed 0.2 -no_pass 1 +move_block all no_pick 1 blocksview 1 editable 512 @@ -39931,7 +39924,7 @@ animation burningwall_1_1 is_animated 1 speed 0.2 -no_pass 1 +move_block all no_pick 1 blocksview 1 editable 512 @@ -39943,7 +39936,7 @@ animation burningwall_2_1_1 is_animated 1 speed 0.2 -no_pass 1 +move_block all no_pick 1 blocksview 1 editable 512 @@ -39955,7 +39948,7 @@ animation burningwall_2_2_2 is_animated 1 speed 0.2 -no_pass 1 +move_block all no_pick 1 blocksview 1 editable 512 @@ -39967,7 +39960,7 @@ animation burningwall_3_2 is_animated 1 speed 0.2 -no_pass 1 +move_block all no_pick 1 blocksview 1 editable 512 @@ -39979,7 +39972,7 @@ animation burningwall_1_3 is_animated 1 speed 0.2 -no_pass 1 +move_block all no_pick 1 blocksview 1 editable 512 @@ -39991,7 +39984,7 @@ animation burningwall_2_2_4 is_animated 1 speed 0.2 -no_pass 1 +move_block all no_pick 1 blocksview 1 editable 512 @@ -40003,7 +39996,7 @@ animation burningwall_2_1_2 is_animated 1 speed 0.2 -no_pass 1 +move_block all no_pick 1 blocksview 1 editable 512 @@ -40015,7 +40008,7 @@ animation burningwall_3_1 is_animated 1 speed 0.2 -no_pass 1 +move_block all no_pick 1 blocksview 1 editable 512 @@ -40027,7 +40020,7 @@ animation burningwall_2_2_3 is_animated 1 speed 0.2 -no_pass 1 +move_block all no_pick 1 blocksview 1 editable 512 @@ -40039,7 +40032,7 @@ animation burningwall_3_4 is_animated 1 speed 0.2 -no_pass 1 +move_block all no_pick 1 blocksview 1 editable 512 @@ -40051,7 +40044,7 @@ animation burningwall_3_3 is_animated 1 speed 0.2 -no_pass 1 +move_block all no_pick 1 blocksview 1 editable 512 @@ -40063,7 +40056,7 @@ animation burningwall_4 is_animated 1 speed 0.2 -no_pass 1 +move_block all no_pick 1 blocksview 1 editable 512 @@ -40117,7 +40110,7 @@ end Object lava_lake face lava_blake_0.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40125,7 +40118,7 @@ end Object lava_biglake_n face lava_blake_1.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40133,7 +40126,7 @@ end Object lava_biglake_e face lava_blake_2.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40141,7 +40134,7 @@ end Object lava_biglake_ne face lava_blake_3.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40149,7 +40142,7 @@ end Object lava_biglake_s face lava_blake_4.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40157,7 +40150,7 @@ end Object lava_biglake_sn face lava_blake_5.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40165,7 +40158,7 @@ end Object lava_biglake_se face lava_blake_6.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40173,7 +40166,7 @@ end Object lava_biglake_nes face lava_blake_7.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40181,7 +40174,7 @@ end Object lava_biglake_w face lava_blake_8.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40189,7 +40182,7 @@ end Object lava_biglake_nw face lava_blake_9.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40197,7 +40190,7 @@ end Object lava_biglake_ew face lava_blake_A.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40205,7 +40198,7 @@ end Object lava_biglake_new face lava_blake_B.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40213,7 +40206,7 @@ end Object lava_biglake_sw face lava_blake_C.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40221,7 +40214,7 @@ end Object lava_biglake_nse face lava_blake_D.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40229,7 +40222,7 @@ end Object lava_biglake_sew face lava_blake_E.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40237,7 +40230,7 @@ end Object lava_biglake_center face lava_blake_F.111 -no_pass 1 +move_block all no_pick 1 is_water 1 is_floor 1 @@ -40247,7 +40240,7 @@ Object lava_rcrook_ns-ne face lava_branch_125.111 name lava river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40256,7 +40249,7 @@ Object lava_rjunct_ns-ne face lava_branch_125.211 name lava river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40265,7 +40258,7 @@ Object lava_rjunct_ns-e face lava_branch_135.111 name lava river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40274,7 +40267,7 @@ Object lava_rjunct_we-n face lava_branch_137.111 name lava river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40283,7 +40276,7 @@ Object lava_rcrook_ns-se face lava_branch_145.111 name lava river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40292,7 +40285,7 @@ Object lava_rjunct_ns-se face lava_branch_145.211 name lava river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40301,7 +40294,7 @@ Object lava_rcrook_ns-sw face lava_branch_156.111 name lava river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40310,7 +40303,7 @@ Object lava_rjunct_ns-sw face lava_branch_156.211 name lava_river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40319,7 +40312,7 @@ Object lava_rjunct_ns-w face lava_branch_157.111 name lava river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40328,7 +40321,7 @@ Object lava_rcrook_ns-nw face lava_branch_158.111 name lava river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40337,7 +40330,7 @@ Object lava_rjunct_ns-nw face lava_branch_158.211 name lava river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40346,7 +40339,7 @@ Object lava_rcrook_we-ne face lava_branch_237.111 name lava river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40355,7 +40348,7 @@ Object lava_rjunct_we-ne face lava_branch_237.211 name lava river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40364,7 +40357,7 @@ Object lava_rcrook_we-se face lava_branch_347.111 name lava river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40373,7 +40366,7 @@ Object lava_rjunct_we-se face lava_branch_347.211 name lava river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40382,7 +40375,7 @@ Object lava_rjunct_we-s face lava_branch_357.111 name lava river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40391,7 +40384,7 @@ Object lava_rcrook_we-sw face lava_branch_367.111 name lava river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40400,7 +40393,7 @@ Object lava_rjunct_we-sw face lava_branch_367.211 name lava river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40409,7 +40402,7 @@ Object lava_rcrook_we-nw face lava_branch_378.111 name lava river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40418,7 +40411,7 @@ Object lava_rjunct_we-nw face lava_branch_378.211 name lava river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40458,7 +40451,7 @@ end Object lava_biglake_0 face lava_blake_0.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40466,7 +40459,7 @@ end Object lava_biglake_3_3 face lava_blake_1.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40474,7 +40467,7 @@ end Object lava_biglake_3_4 face lava_blake_2.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40482,7 +40475,7 @@ end Object lava_biglake_2_2_3 face lava_blake_3.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40490,7 +40483,7 @@ end Object lava_biglake_3_1 face lava_blake_4.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40498,7 +40491,7 @@ end Object lava_biglake_2_1_2 face lava_blake_5.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40506,7 +40499,7 @@ end Object lava_biglake_2_2_4 face lava_blake_6.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40514,7 +40507,7 @@ end Object lava_biglake_1_3 face lava_blake_7.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40522,7 +40515,7 @@ end Object lava_biglake_3_2 face lava_blake_8.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40530,7 +40523,7 @@ end Object lava_biglake_2_2_2 face lava_blake_9.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40538,7 +40531,7 @@ end Object lava_biglake_2_1_1 face lava_blake_A.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40546,7 +40539,7 @@ end Object lava_biglake_1_1 face lava_blake_B.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40554,7 +40547,7 @@ end Object lava_biglake_2_2_1 face lava_blake_C.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40562,7 +40555,7 @@ end Object lava_biglake_1_4 face lava_blake_D.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40570,7 +40563,7 @@ end Object lava_biglake_1_2 face lava_blake_E.111 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -40578,7 +40571,7 @@ end Object lava_biglake_4 face lava_blake_F.111 -no_pass 1 +move_block all no_pick 1 is_water 1 is_floor 1 @@ -40588,7 +40581,7 @@ Object lava_river_se-n face lava_river_14.111 name lava river -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40597,7 +40590,7 @@ Object lava_river_n-s face lava_river_15.111 name lava river -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40606,7 +40599,7 @@ Object lava_river_sw-n face lava_river_16.111 name lava river -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40615,7 +40608,7 @@ Object lava_river_ne-s face lava_river_25.111 name lava river -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40624,7 +40617,7 @@ Object lava_river_sw-ne face lava_river_26.111 name lava river -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40633,7 +40626,7 @@ Object lava_river_sw-ne_l face lava_river_26.211 name lava river -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40642,7 +40635,7 @@ Object lava_river_sw-ne_u face lava_river_26.311 name lava river -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40651,7 +40644,7 @@ Object lava_river_ne-w face lava_river_27.111 name lava river -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40660,7 +40653,7 @@ Object lava_river_sw-e face lava_river_36.111 name lava river -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40669,7 +40662,7 @@ Object lava_river_w-e face lava_river_37.111 name lava river -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40678,7 +40671,7 @@ Object lava_river_nw-e face lava_river_38.111 name lava river -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40687,7 +40680,7 @@ Object lava_river_se-w face lava_river_47.111 name lava river -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40696,7 +40689,7 @@ Object lava_river_nw-se face lava_river_48.111 name lava river -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40705,7 +40698,7 @@ Object lava_river_nw-se_l face lava_river_48.211 name lava river -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40714,7 +40707,7 @@ Object lava_river_nw-se_u face lava_river_48.311 name lava river -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40723,7 +40716,7 @@ Object lava_river_nw-s face lava_river_58.111 name lava river -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -40734,7 +40727,7 @@ name lava animation lava_sea speed 0.2 -no_pass 1 +move_block all no_pick 1 is_water 1 editable 8 @@ -42670,7 +42663,6 @@ value 5200 editable 2048 attacktype 1048576 -need_an 1 name_pl improvement potions on_use_yield potion_empty client_type 651 @@ -43523,7 +43515,7 @@ Object rcrook_ns-ne face branch_125.111 name river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -43532,7 +43524,7 @@ Object rjunct_ns-ne face branch_125.211 name river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -43541,7 +43533,7 @@ Object rjunct_ns-e face branch_135.111 name river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -43550,7 +43542,7 @@ Object rjunct_we-n face branch_137.111 name river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -43559,7 +43551,7 @@ Object rcrook_ns-se face branch_145.111 name river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -43568,7 +43560,7 @@ Object rjunct_ns-se face branch_145.211 name river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -43577,7 +43569,7 @@ Object rcrook_ns-sw face branch_156.111 name river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -43586,7 +43578,7 @@ Object rjunct_ns-sw face branch_156.211 name river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -43595,7 +43587,7 @@ Object rjunct_ns-w face branch_157.111 name river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -43604,7 +43596,7 @@ Object rcrook_ns-nw face branch_158.111 name river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -43613,7 +43605,7 @@ Object rjunct_ns-nw face branch_158.211 name river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -43622,7 +43614,7 @@ Object rcrook_we-ne face branch_237.111 name river junction -no_pass 1 +move_block all no_pick 1 editable 8 is_water 1 @@ -4363... [truncated message content] |
From: <aki...@us...> - 2007-04-16 21:29:03
|
Revision: 2220 http://svn.sourceforge.net/gridarta/?rev=2220&view=rev Author: akirschbaum Date: 2007-04-16 14:29:04 -0700 (Mon, 16 Apr 2007) Log Message: ----------- Select the currently active look and feel entry in the view menu. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/CMainView.java Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-04-16 07:55:09 UTC (rev 2219) +++ trunk/crossfire/ChangeLog 2007-04-16 21:29:04 UTC (rev 2220) @@ -1,3 +1,8 @@ +2007-04-16 Andreas Kirschbaum + + * Select the currently active look and feel entry in the view + menu. + 2007-04-09 Andreas Kirschbaum * Allow to replace from copybuffer in replace dialog. Modified: trunk/crossfire/src/cfeditor/CMainView.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainView.java 2007-04-16 07:55:09 UTC (rev 2219) +++ trunk/crossfire/src/cfeditor/CMainView.java 2007-04-16 21:29:04 UTC (rev 2220) @@ -815,7 +815,7 @@ public void actionPerformed(final ActionEvent e) { mainControl.setLookNFeel(className); - prefs.get(CMainView.SELECTED_LNF_KEY, className); + prefs.put(CMainView.SELECTED_LNF_KEY, className); rebuildLookAndFeelMenuEntries(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2007-05-09 16:33:03
|
Revision: 2435 http://svn.sourceforge.net/gridarta/?rev=2435&view=rev Author: akirschbaum Date: 2007-05-09 09:33:04 -0700 (Wed, 09 May 2007) Log Message: ----------- Add "next window" and "previous window" actions to view menu. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/action.properties Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-05-09 16:20:38 UTC (rev 2434) +++ trunk/crossfire/ChangeLog 2007-05-09 16:33:04 UTC (rev 2435) @@ -1,5 +1,7 @@ 2007-05-09 Andreas Kirschbaum + * Add "next window" and "previous window" actions to view menu. + * Add splash screen. 2007-05-06 Andreas Kirschbaum Modified: trunk/crossfire/src/cfeditor/action.properties =================================================================== --- trunk/crossfire/src/cfeditor/action.properties 2007-05-09 16:20:38 UTC (rev 2434) +++ trunk/crossfire/src/cfeditor/action.properties 2007-05-09 16:33:04 UTC (rev 2435) @@ -36,7 +36,7 @@ resources.menu=collectArches collectSpells - viewTreasurelists tools.menu=gc analyze.menu= -view.menu=- showMonster showExit showBackground showDoor showWall showEquipment showTreasure showConnected resetView +view.menu=- showMonster showExit showBackground showDoor showWall showEquipment showTreasure showConnected resetView - prevWindow nextWindow plugins.menu=- editPlugins - savePlugins exportPluginAs importPlugin window.menu=closeAll help.menu=onlineHelp about This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2007-05-09 16:38:26
|
Revision: 2432 http://svn.sourceforge.net/gridarta/?rev=2432&view=rev Author: akirschbaum Date: 2007-05-08 22:23:48 -0700 (Tue, 08 May 2007) Log Message: ----------- Add splash screen. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/CFJavaEditor.java Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-05-09 05:17:13 UTC (rev 2431) +++ trunk/crossfire/ChangeLog 2007-05-09 05:23:48 UTC (rev 2432) @@ -1,3 +1,7 @@ +2007-05-09 Andreas Kirschbaum + + * Add splash screen. + 2007-05-06 Andreas Kirschbaum * Fix #1621831 ("next/previous window" buttons not disabled with Modified: trunk/crossfire/src/cfeditor/CFJavaEditor.java =================================================================== --- trunk/crossfire/src/cfeditor/CFJavaEditor.java 2007-05-09 05:17:13 UTC (rev 2431) +++ trunk/crossfire/src/cfeditor/CFJavaEditor.java 2007-05-09 05:23:48 UTC (rev 2432) @@ -32,6 +32,7 @@ import java.util.List; import java.util.Locale; import net.sf.gridarta.MainControl; +import net.sf.gridarta.gui.SplashScreen; import net.sf.gridarta.gui.map.MapView; import net.sf.japi.swing.ActionFactory; import org.apache.log4j.Logger; @@ -66,6 +67,8 @@ // Now add prefs to the ActionFactory. final ActionFactory actionFactory = ActionFactory.getFactory("cfeditor"); actionFactory.addParent(ActionFactory.getFactory("net.sf.gridarta")); + final SplashScreen splashScreen = new SplashScreen(); + splashScreen.show(); final List<String> infiles = new ArrayList<String>(); // map file names to open initially String outfile = null; // if specified in the parameters, create image of map and exit String inlist = null; @@ -146,6 +149,7 @@ } mainControl.getMainView().setVisible(true); + splashScreen.hide(); } private static void makeImage(final CMainControl mainControl, final File in, final File out) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2007-05-09 16:57:01
|
Revision: 2437 http://svn.sourceforge.net/gridarta/?rev=2437&view=rev Author: akirschbaum Date: 2007-05-09 09:57:02 -0700 (Wed, 09 May 2007) Log Message: ----------- Add tip of the day dialog. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/CFJavaEditor.java trunk/crossfire/src/cfeditor/CMainControl.java trunk/crossfire/src/cfeditor/CMainView.java trunk/crossfire/src/cfeditor/action.properties trunk/crossfire/src/cfeditor/messages.properties trunk/crossfire/src/cfeditor/messages_de.properties trunk/crossfire/src/cfeditor/messages_fr.properties trunk/crossfire/src/cfeditor/messages_sv.properties Added Paths: ----------- trunk/crossfire/resource/icons/general/TipOfTheDay16.gif trunk/crossfire/src/cfeditor/tod.properties trunk/crossfire/src/cfeditor/tod_de.properties Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-05-09 16:53:17 UTC (rev 2436) +++ trunk/crossfire/ChangeLog 2007-05-09 16:57:02 UTC (rev 2437) @@ -1,5 +1,7 @@ 2007-05-09 Andreas Kirschbaum + * Add tip of the day dialog. + * Add "next window" and "previous window" actions to view menu. * Add splash screen. Copied: trunk/crossfire/resource/icons/general/TipOfTheDay16.gif (from rev 2423, trunk/daimonin/resource/icons/general/TipOfTheDay16.gif) =================================================================== (Binary files differ) Modified: trunk/crossfire/src/cfeditor/CFJavaEditor.java =================================================================== --- trunk/crossfire/src/cfeditor/CFJavaEditor.java 2007-05-09 16:53:17 UTC (rev 2436) +++ trunk/crossfire/src/cfeditor/CFJavaEditor.java 2007-05-09 16:57:02 UTC (rev 2437) @@ -35,6 +35,7 @@ import net.sf.gridarta.gui.SplashScreen; import net.sf.gridarta.gui.map.MapView; import net.sf.japi.swing.ActionFactory; +import net.sf.japi.swing.tod.TipOfTheDayManager; import org.apache.log4j.Logger; /** @@ -59,6 +60,7 @@ * @param args The command line parameters given to the level editor. */ public static void main(final String... args) { + System.setProperty("net.sf.japi.swing.tod", "cfeditor.tod"); // Make sure the locale is set before any ActionFactory is used. final String locName = prefs.get(MainControl.PREFS_LANGUAGE, null); if (locName != null) { @@ -150,6 +152,7 @@ mainControl.getMainView().setVisible(true); splashScreen.hide(); + TipOfTheDayManager.showAtStartup(mainControl.getMainView()); } private static void makeImage(final CMainControl mainControl, final File in, final File out) { Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2007-05-09 16:53:17 UTC (rev 2436) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2007-05-09 16:57:02 UTC (rev 2437) @@ -60,6 +60,7 @@ import net.sf.japi.swing.ActionMethod; import net.sf.japi.swing.prefs.PreferencesGroup; import net.sf.japi.swing.prefs.PreferencesPane; +import net.sf.japi.swing.tod.TipOfTheDayManager; import net.sf.japi.util.ThrowableHandler; import net.sf.japi.util.filter.file.EndingFileFilter; import org.apache.log4j.Logger; @@ -794,6 +795,11 @@ PreferencesPane.showPreferencesDialog(mainView, prefsGroup, false); } + /** Invoked to show the next tip of the day or bring the tip of the day to front. */ + public void tod() { + TipOfTheDayManager.show(mainView); + } + /** Invoked when user wants to exit from the program. */ public void exit() { if (mapManager.closeAll()) { Modified: trunk/crossfire/src/cfeditor/CMainView.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainView.java 2007-05-09 16:53:17 UTC (rev 2436) +++ trunk/crossfire/src/cfeditor/CMainView.java 2007-05-09 16:57:02 UTC (rev 2437) @@ -648,7 +648,7 @@ /** {@inheritDoc} */ @Override protected void initActions() { - ACTION_FACTORY.createActions(true, mainControl, "createNew", "open", "options", "exit", "gc", "onlineHelp", "about"); + ACTION_FACTORY.createActions(true, mainControl, "createNew", "open", "options", "exit", "gc", "onlineHelp", "tod", "about"); ACTION_FACTORY.createActions(true, mainControl.getScriptController().getView(), "editPlugins", "savePlugins", "exportPluginAs", "importPlugin"); } Modified: trunk/crossfire/src/cfeditor/action.properties =================================================================== --- trunk/crossfire/src/cfeditor/action.properties 2007-05-09 16:53:17 UTC (rev 2436) +++ trunk/crossfire/src/cfeditor/action.properties 2007-05-09 16:57:02 UTC (rev 2437) @@ -39,7 +39,7 @@ view.menu=- showMonster showExit showBackground showDoor showWall showEquipment showTreasure showConnected resetView - prevWindow nextWindow plugins.menu=- editPlugins - savePlugins exportPluginAs importPlugin window.menu=closeAll -help.menu=onlineHelp about +help.menu=onlineHelp tod about #this is empty but yet must be here. recent.menu= @@ -120,6 +120,8 @@ onlineHelp.icon=general/Help16 +tod.icon=general/TipOfTheDay16 + about.icon=general/About16 about.logo=icons/crossfireLogoSmall.png Modified: trunk/crossfire/src/cfeditor/messages.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages.properties 2007-05-09 16:53:17 UTC (rev 2436) +++ trunk/crossfire/src/cfeditor/messages.properties 2007-05-09 16:57:02 UTC (rev 2437) @@ -435,6 +435,9 @@ onlineHelp.mnemonic=H onlineHelp.accel=F1 +tod.text=Tip Of The Day... +tod.mnemonic=T + about.text=About... about.mnemonic=A Modified: trunk/crossfire/src/cfeditor/messages_de.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_de.properties 2007-05-09 16:53:17 UTC (rev 2436) +++ trunk/crossfire/src/cfeditor/messages_de.properties 2007-05-09 16:57:02 UTC (rev 2437) @@ -432,6 +432,9 @@ onlineHelp.mnemonic=H onlineHelp.accel=F1 +tod.text=Tipp des Tages... +tod.mnemonic=T + about.text=\xDCber... about.mnemonic=B Modified: trunk/crossfire/src/cfeditor/messages_fr.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_fr.properties 2007-05-09 16:53:17 UTC (rev 2436) +++ trunk/crossfire/src/cfeditor/messages_fr.properties 2007-05-09 16:57:02 UTC (rev 2437) @@ -433,6 +433,9 @@ onlineHelp.mnemonic=A onlineHelp.accel=F1 +#tod.text= +#tod.mnemonic= + about.text=\xC0 propos... about.mnemonic=P Modified: trunk/crossfire/src/cfeditor/messages_sv.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_sv.properties 2007-05-09 16:53:17 UTC (rev 2436) +++ trunk/crossfire/src/cfeditor/messages_sv.properties 2007-05-09 16:57:02 UTC (rev 2437) @@ -431,6 +431,9 @@ onlineHelp.mnemonic=H onlineHelp.accel=F1 +tod.text=Dagens tips... +tod.mnemonic=T + about.text=Om... about.mnemonic=O Added: trunk/crossfire/src/cfeditor/tod.properties =================================================================== --- trunk/crossfire/src/cfeditor/tod.properties (rev 0) +++ trunk/crossfire/src/cfeditor/tod.properties 2007-05-09 16:57:02 UTC (rev 2437) @@ -0,0 +1,35 @@ +# +# Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. +# Copyright (C) 2000-2007 The Gridarta Developers. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# + +# Warning: This file MUST be ISO-8859-1 +# See http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html#encoding +# +# Tip Of The Day + +tod.text.1=<html>You can as well cycle through the tips using the arrow keys<br>(Arrow left / Arrow right) +tod.text.2=<html>This Tip Of The Day window is non-modal.<p>That means the window may stay open while using the editor. +tod.text.3=<html>You can quickly cycle through open windows.<p>Menu: <code>View->Previous / Next Window</code>.<br>Keyboard: <kbd>Shift-Page Up</kbd> / <kbd>Shift-Page Down</kbd>. +tod.text.4=<html>How to use the mouse?<ul><li>To <em>select</em> tiles, use the left mouse button.<li>To <em>paint</em> (insert arches), use the right mouse button.<li>To <em>delete</em>, use the middle mouse button or hold Ctrl and use the right mouse button.</ul> +tod.text.5=<html>You can select all tiles of a map at once.<p>Menu: <code>Edit -> Select All</code><br>Keyboard: <kbd>Ctrl-A</kbd>. +tod.text.6=<html>The 10 most recently opened maps are quickly accessible.<p>Menu: <code>File -> Recent -> ...</code><br>Keyboard: <kbd>Alt-n</kbd> with n being a digit (1..9, 0) +tod.text.7=<html>How can you speed up the editor?<ul><li>Load arches from the collection<li>Use Linux<li>Use the latest Java version available</ul> +tod.text.8=<html>The editor does not load all images at startup.<p>Instead, it loads images as needed.<p>This is called "lazy image loading". +tod.text.9=<html>Many features have tooltips to help you.<p>Just hover the mouse over the thing you want to know about for a while. +tod.text.10=<html>To attach a map to other maps, you must save it first. +tod.text.11=<html>Beware when editing large maps. You might run out of memory.<br>Be sure to increase the heap size (-Xmx parameter) of Gridarta's Virtual Machine when editing large maps (e.g. 240\xD7240). Property changes on: trunk/crossfire/src/cfeditor/tod.properties ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + LF Added: trunk/crossfire/src/cfeditor/tod_de.properties =================================================================== --- trunk/crossfire/src/cfeditor/tod_de.properties (rev 0) +++ trunk/crossfire/src/cfeditor/tod_de.properties 2007-05-09 16:57:02 UTC (rev 2437) @@ -0,0 +1,35 @@ +# +# Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. +# Copyright (C) 2000-2007 The Gridarta Developers. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# + +# Warning: This file MUST be ISO-8859-1 +# See http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html#encoding +# +# Tip Of The Day + +tod.text.1=<html>Sie k\xF6nnen mit Hilfe der Pfeiltasten durch die Tipps navigieren.<br>(Pfeil links / Pfeil rechts) +tod.text.2=<html>Dieses Tipps-Fenster ist nicht modal.<p>Das bedeutet, Sie k\xF6nnen es offen lassen, w\xE4hrend Sie den Editor verwenden. +tod.text.3=<html>Sie k\xF6nnen schnell zwischen ge\xF6ffneten Fenstern wechseln.<p>Men\xFC: <code>Ansicht->Vorheriges / N\xE4chstes Fenster.</code>.<br>Tastatur: <kbd>Umschalt-Bild Auf</kbd> / <kbd>Umschalt-Bild Ab</kbd>. +tod.text.4=<html>Wie man die Maus benutzt?<ul><li>Zum <em>Selektieren</em>, linke Maustaste.<li>Zum <em>Einf\xFCgen</em>, rechte Maustaste.<li>Zum <em>L\xF6schen</em>: mittlere Maustaste oder Strg+rechte Maustaste.</ul> +tod.text.5=<html>Sie k\xF6nnen alle Felder einer Karte gleichzeitig selektieren.<p>Men\xFC: <code>Bearbeiten -> Alles ausw\xE4hlen</code><br>Tastatur: <kbd>Strg-A</kbd>. +tod.text.6=<html>Sie k\xF6nnen die letzten 10 ge\xF6ffneten Karten einfach erreichen.<p>Men\xFC: <code>Datei -> Zuletzt ge\xF6ffnet -> ...</code><br>Tastatur: <kbd>Alt-n</kbd> wobei n eine Ziffer ist (1..9, 0) +tod.text.7=<html>Wie kann man den Editor beschleunigen?<ul><li>Vorbereitete Archetypen laden<li>Linux verwenden<li>Die aktuelle Java-Version verwenden</ul> +tod.text.8=<html>Der Editor l\xE4dt beim Start nicht alle Bilder.<p>Diese werden erst dann geladen, wenn sie tats\xE4chlich ben\xF6tigt werden.<p>Dieses Verfahren nennt man "lazy image loading". +tod.text.9=<html>Viele Features haben Tooltips.<p>Bleiben Sie mit der Maus \xFCber dem Element, f\xFCr das Sie Hilfe ben\xF6tigen, f\xFCr eine Weile stehen. +tod.text.10=<html>Um eine Karte mit anderen Karten zu verbinden m\xFCssen Sie diese zuerst sichern. +tod.text.11=<html>Vorsicht beim Bearbeiten von gro\xDFen Karten: der Platz im Hauptspeicher k\xF6nnte nicht ausreichen.<br>Vergr\xF6\xDFern Sie die "heap size" (Parameter -Xmx beim Aufruf von java) von Gridarta, wenn Sie gro\xDFe Karten (bspw. 240\xD7240) bearbeiten m\xF6chten. Property changes on: trunk/crossfire/src/cfeditor/tod_de.properties ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + LF This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2007-05-09 17:32:38
|
Revision: 2438 http://svn.sourceforge.net/gridarta/?rev=2438&view=rev Author: akirschbaum Date: 2007-05-09 10:31:54 -0700 (Wed, 09 May 2007) Log Message: ----------- Implement #1714810 (Keep the 'autojoin' option status). Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/MapActions.java Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-05-09 16:57:02 UTC (rev 2437) +++ trunk/crossfire/ChangeLog 2007-05-09 17:31:54 UTC (rev 2438) @@ -1,5 +1,7 @@ 2007-05-09 Andreas Kirschbaum + * Implement #1714810 (Keep the 'autojoin' option status). + * Add tip of the day dialog. * Add "next window" and "previous window" actions to view menu. Modified: trunk/crossfire/src/cfeditor/MapActions.java =================================================================== --- trunk/crossfire/src/cfeditor/MapActions.java 2007-05-09 16:57:02 UTC (rev 2437) +++ trunk/crossfire/src/cfeditor/MapActions.java 2007-05-09 17:31:54 UTC (rev 2438) @@ -49,7 +49,15 @@ /** The Logger for printing log messages. */ private static final Logger log = Logger.getLogger(MapActions.class); + /** Preferences. */ + private static final CSettings prefs = CSettings.getInstance(IGUIConstants.APP_NAME); + /** + * Key for saving {@link #autoJoin} state in preferences. + */ + private static final String AUTOJOIN_KEY = "autojoin"; + + /** * Possible directions for "enter xxx map". */ private final String[] directionsMap = {"enterNorthMap", "enterEastMap", "enterSouthMap", "enterWestMap", "enterUpperMap", "enterLowerMap"}; @@ -81,7 +89,7 @@ private final Action[] aDirections = new Action[directionsMap.length]; /** Indicates whether autojoining is on/off. */ - private boolean autoJoin = false; + private boolean autoJoin; /** * The main control to use. @@ -101,6 +109,9 @@ public MapActions(final CMainControl mainControl) { this.mainControl = mainControl; + autoJoin = prefs.getBoolean(AUTOJOIN_KEY, false); + aAutoJoin.putValue(Action.SELECTED_KEY, autoJoin); + for (int i = 0; i < directionsMap.length; i++) { aDirections[i] = ACTION_FACTORY.createAction(true, directionsMap[i], this); } @@ -181,6 +192,7 @@ /** Action method for "autojoin". */ public void setAutoJoin(final boolean autoJoin) { this.autoJoin = autoJoin; + prefs.putBoolean(AUTOJOIN_KEY, autoJoin); } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2007-05-14 17:45:38
|
Revision: 2466 http://svn.sourceforge.net/gridarta/?rev=2466&view=rev Author: akirschbaum Date: 2007-05-14 10:45:21 -0700 (Mon, 14 May 2007) Log Message: ----------- Remove "Autojoin" menu entry from map window menu. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/action.properties Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-05-14 15:46:45 UTC (rev 2465) +++ trunk/crossfire/ChangeLog 2007-05-14 17:45:21 UTC (rev 2466) @@ -1,3 +1,7 @@ +2007-05-14 Andreas Kirschbaum + + * Remove "Autojoin" menu entry from map window menu. + 2007-05-13 Andreas Kirschbaum * Display empty tiles as completely black squares. This change Modified: trunk/crossfire/src/cfeditor/action.properties =================================================================== --- trunk/crossfire/src/cfeditor/action.properties 2007-05-14 15:46:45 UTC (rev 2465) +++ trunk/crossfire/src/cfeditor/action.properties 2007-05-14 17:45:21 UTC (rev 2466) @@ -47,7 +47,7 @@ mapwindowFile.menu=save saveAs createImage - revert - close mapwindowEdit.menu=undo redo - clear cut copy paste - replace fillAbove fillBelow randFillAbove randFillBelow floodfill -mapwindowMap.menu=autoJoin - gridVisible enterExit enterNorthMap enterEastMap enterSouthMap enterWestMap enterUpperMap enterLowerMap tileShow - mapCreateView mapProperties +mapwindowMap.menu=gridVisible enterExit enterNorthMap enterEastMap enterSouthMap enterWestMap enterUpperMap enterLowerMap tileShow - mapCreateView mapProperties mapwindowCursor.menu=moveCursor - selectTile startStopDrag addToSelection subFromSelection releaseDrag - insertArch deleteArch - selectArchAbove selectArchBelow - archAttributes mapwindowView.menu=showMonster showExit showBackground showDoor showWall showEquipment showTreasure showConnected resetView This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2007-05-16 07:47:51
|
Revision: 2497 http://svn.sourceforge.net/gridarta/?rev=2497&view=rev Author: akirschbaum Date: 2007-05-16 00:47:52 -0700 (Wed, 16 May 2007) Log Message: ----------- Fix "show walls". Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/resource/conf/GameObjectMatchers.xml Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-05-15 22:54:31 UTC (rev 2496) +++ trunk/crossfire/ChangeLog 2007-05-16 07:47:52 UTC (rev 2497) @@ -1,3 +1,7 @@ +2007-05-16 Andreas Kirschbaum + + * Fix "show walls": was still using obsolete "no_pass" attribute. + 2007-05-14 Andreas Kirschbaum * Remove "Autojoin" menu entry from map window menu. Modified: trunk/crossfire/resource/conf/GameObjectMatchers.xml =================================================================== --- trunk/crossfire/resource/conf/GameObjectMatchers.xml 2007-05-15 22:54:31 UTC (rev 2496) +++ trunk/crossfire/resource/conf/GameObjectMatchers.xml 2007-05-16 07:47:52 UTC (rev 2497) @@ -25,7 +25,7 @@ <title xml:lang="de">Wand</title> <And> <TypeNrs numbers="0" /> - <Attrib name="no_pass" /> + <Attrib name="move_block" op="ne" value="" /> </And> </GameObjectMatcher> <GameObjectMatcher id="connected"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2007-05-18 19:14:57
|
Revision: 2555 http://svn.sourceforge.net/gridarta/?rev=2555&view=rev Author: akirschbaum Date: 2007-05-18 12:14:59 -0700 (Fri, 18 May 2007) Log Message: ----------- Rename ~/.cfeditor to ~/.gridarta. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/CResourceLoader.java trunk/crossfire/src/cfeditor/IGUIConstants.java Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-05-18 19:08:31 UTC (rev 2554) +++ trunk/crossfire/ChangeLog 2007-05-18 19:14:59 UTC (rev 2555) @@ -1,5 +1,7 @@ 2007-05-18 Andreas Kirschbaum + * Rename ~/.cfeditor to ~/.gridarta. + * Rename config file to ~/.cfeditor/crossfire.conf. Describe entries in comment lines. Modified: trunk/crossfire/src/cfeditor/CResourceLoader.java =================================================================== --- trunk/crossfire/src/cfeditor/CResourceLoader.java 2007-05-18 19:08:31 UTC (rev 2554) +++ trunk/crossfire/src/cfeditor/CResourceLoader.java 2007-05-18 19:14:59 UTC (rev 2555) @@ -175,7 +175,7 @@ * application's and current users' home dir. * For example, if called like this * <code>CResourceLoader.getHomeFile("myfile");</code> - * will return something like /home/someuser/.cfeditor/myfile + * will return something like /home/someuser/.gridarta/myfile * under linux. * @param filename the name of requested file. * @return the full to user home dir, appended with @@ -199,7 +199,7 @@ * Returns an aggregated XML document from the supplied parameters. * @param filename The ressource name to load * @param readCurrent read from current directory - * @param readHome read from home/cfeditor directory + * @param readHome read from home/gridarta directory * @param readJar read from Jar * @return A document which's root element is the root element of jar file * and which content aggregates the content of root element of all files Modified: trunk/crossfire/src/cfeditor/IGUIConstants.java =================================================================== --- trunk/crossfire/src/cfeditor/IGUIConstants.java 2007-05-18 19:08:31 UTC (rev 2554) +++ trunk/crossfire/src/cfeditor/IGUIConstants.java 2007-05-18 19:14:59 UTC (rev 2555) @@ -60,7 +60,7 @@ String APP_NAME = "CFJavaEditor"; /** Name of directory with settings file. */ - String APP_SETTINGS_DIR = ".cfeditor"; + String APP_SETTINGS_DIR = ".gridarta"; /** The amount of space to be left between dialog buttons. */ int SPACE_BETWEEN_BUTTONS = 4; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2007-05-21 16:40:51
|
Revision: 2662 http://svn.sourceforge.net/gridarta/?rev=2662&view=rev Author: akirschbaum Date: 2007-05-19 18:03:07 -0700 (Sat, 19 May 2007) Log Message: ----------- Correctly open map files from the command line. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/CFJavaEditor.java Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-05-20 00:36:28 UTC (rev 2661) +++ trunk/crossfire/ChangeLog 2007-05-20 01:03:07 UTC (rev 2662) @@ -1,5 +1,7 @@ 2007-05-20 Andreas Kirschbaum + * Correctly open map files from the command line. + * Do not crash when closing the rightmost script view if selected. * Implement "replace" in script editor. Modified: trunk/crossfire/src/cfeditor/CFJavaEditor.java =================================================================== --- trunk/crossfire/src/cfeditor/CFJavaEditor.java 2007-05-20 00:36:28 UTC (rev 2661) +++ trunk/crossfire/src/cfeditor/CFJavaEditor.java 2007-05-20 01:03:07 UTC (rev 2662) @@ -23,6 +23,7 @@ import cfeditor.gameobject.GameObject; import cfeditor.map.MapArchObject; import cfeditor.map.MapControl; +import java.awt.Component; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; @@ -141,9 +142,8 @@ System.exit(0); } - mainControl.openFiles(infiles); - if (outfile != null) { + mainControl.openFiles(infiles); if (infiles.size() > 1) { System.err.println("Warning: you specified more than 1 map for creating an image. I will create an image for only one of them."); } @@ -151,9 +151,11 @@ System.exit(0); // exit } - mainControl.getMainView().setVisible(true); + final Component mainView = mainControl.getMainView(); + mainView.setVisible(true); splashScreen.hide(); - TipOfTheDayManager.showAtStartup(mainControl.getMainView()); + TipOfTheDayManager.showAtStartup(mainView); + mainControl.openFiles(infiles); } private static void makeImage(final CMainControl mainControl, final File in, final File out) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2007-05-21 18:39:46
|
Revision: 2668 http://svn.sourceforge.net/gridarta/?rev=2668&view=rev Author: akirschbaum Date: 2007-05-19 20:26:09 -0700 (Sat, 19 May 2007) Log Message: ----------- Update archetypes. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/resource/conf/archetypes trunk/crossfire/resource/conf/crossfire.0 Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-05-20 03:25:06 UTC (rev 2667) +++ trunk/crossfire/ChangeLog 2007-05-20 03:26:09 UTC (rev 2668) @@ -1,5 +1,7 @@ 2007-05-20 Andreas Kirschbaum + * Update archetypes. + * Fix #1684128 (Collect Archetypes crashes). * Make "enter exit" for exits pointing to same map work; in "enter Modified: trunk/crossfire/resource/conf/archetypes =================================================================== --- trunk/crossfire/resource/conf/archetypes 2007-05-20 03:25:06 UTC (rev 2667) +++ trunk/crossfire/resource/conf/archetypes 2007-05-20 03:26:09 UTC (rev 2668) @@ -1,42 +1,42 @@ Object elvenboots name elven boots +face elvenboots.111 +type 99 +editor_folder armour/boots name_pl elven boots client_type 290 nrof 1 -face elvenboots.111 value 30000 weight 500 -type 99 exp 3 material 8 stealth 1 -editable 5120 item_power 3 body_foot -2 -editor_folder armour/boots end Object high_boots name jack boots +face high_boots.111 +type 99 +editor_folder armour/boots name_pl jack boots client_type 291 -face high_boots.111 value 60 weight 6500 ac 1 nrof 1 resist_physical 4 -type 99 material 8 -editable 1024 body_foot -2 gen_sp_armour 4 -editor_folder armour/boots end Object high_boots_b name jack boots +face high_boots_b.111 +type 99 +editor_folder armour/boots name_pl jack boots client_type 291 -face high_boots_b.111 value 1700 weight 6500 ac 1 @@ -44,19 +44,18 @@ Cha 1 resist_death 1 resist_physical 4 -type 99 material 8 materialname black leather -editable 1024 body_foot -2 gen_sp_armour 4 -editor_folder armour/boots end Object high_boots_b_d name jack boots +face high_boots_b.111 +type 99 +editor_folder armour/boots name_pl jack boots client_type 291 -face high_boots_b.111 title of death value 30000 weight 13000 @@ -65,19 +64,18 @@ Cha 1 resist_death 25 resist_physical 25 -type 99 material 2 materialname black steel -editable 1024 body_foot -2 gen_sp_armour 4 -editor_folder armour/boots end Object high_boots_w name jack boots +face high_boots_w.111 +type 99 +editor_folder armour/boots name_pl jack boots client_type 291 -face high_boots_w.111 value 2000 weight 6500 ac 1 @@ -85,19 +83,18 @@ Cha 1 resist_blind 1 resist_physical 4 -type 99 material 8 materialname white leather -editable 1024 body_foot -2 gen_sp_armour 4 -editor_folder armour/boots end Object high_boots_w_l name jack boots +face high_boots_w.111 +type 99 +editor_folder armour/boots name_pl jack boots client_type 291 -face high_boots_w.111 title of light value 40000 weight 13000 @@ -106,157 +103,147 @@ Cha 1 resist_blind 25 resist_physical 25 -type 99 material 2 materialname white steel -editable 1024 body_foot -2 gen_sp_armour 4 -editor_folder armour/boots end Object idaten name Idaten boots +face idaten.111 +type 99 +editor_folder armour/boots name_pl Idaten boots client_type 290 nrof 1 exp 5 -face idaten.111 animation idaten speed 0.3 exp 20 value 50000 weight 5000 -type 99 material 8 resist_physical 3 -editable 5120 body_foot -2 item_power 25 -editor_folder armour/boots end Object levitationboots name levitation boots +face lev_boots.111 +type 99 +editor_folder armour/boots name_pl levitation boots client_type 290 nrof 1 -face lev_boots.111 value 35000 weight 2500 -type 99 material 8 resist_physical 3 move_type fly_low -editable 5120 body_foot -2 item_power 1 map_layer item -editor_folder armour/boots end Object low_boots name shoes +face low_boots.111 +type 99 +editor_folder armour/boots name_pl shoes client_type 291 -face low_boots.111 value 25 weight 2000 nrof 1 ac 1 resist_physical 1 -type 99 material 8 -editable 1024 body_foot -2 gen_sp_armour 1 -editor_folder armour/boots end Object sandals name sandals +face sandals.111 +type 99 +editor_folder armour/boots name_pl sandals client_type 291 -face sandals.111 value 5 weight 500 resist_physical 1 nrof 1 -type 99 material 8 -editable 1024 body_foot -2 gen_sp_armour 1 -editor_folder armour/boots end Object speedboots name speed boots +face speedboots.111 +type 99 +editor_folder armour/boots name_pl speed boots client_type 290 nrof 1 exp 6 -face speedboots.111 animation speedboots speed 0.2 value 50000 weight 5000 -type 99 material 8 resist_physical 3 -editable 5120 body_foot -2 item_power 6 -editor_folder armour/boots end Object bracers_ac -nrof 1 name bracers +face bracers_ac.111 +type 104 +editor_folder armour/bracers +nrof 1 name_pl bracers client_type 311 -type 104 -face bracers_ac.111 ac 1 value 1000 material 2 weight 3000 -editable 1024 body_wrist -2 -editor_folder armour/bracers end Object bracers_dex -nrof 1 name bracers +face bracersdex.111 +type 104 +editor_folder armour/bracers +nrof 1 name_pl bracers client_type 311 title of dexterity -face bracersdex.111 -type 104 Dex 2 value 65000 weight 3000 -editable 5120 body_wrist -2 item_power 2 -editor_folder armour/bracers end Object cloak name cloak +face cloak.111 +type 87 +editor_folder armour/cloak name_pl cloaks client_type 281 -type 87 -face cloak.111 ac 0 weight 5000 value 40 material 136 -editable 1024 nrof 1 body_shoulder -1 -editor_folder armour/cloak end Object magic_resist name Cloak of Magic Resistance +face magic_resist.111 +type 87 +editor_folder armour/cloak name_pl Cloaks of Magic Resistance client_type 280 nrof 1 -type 87 -face magic_resist.111 ac 0 weight 5000 value 220000 @@ -265,152 +252,143 @@ material 128 materialname astolare resist_magic 95 -editable 5120 body_shoulder -1 item_power 4 -editor_folder armour/cloak end Object oilskin name oilskin cloak +face oilskin.111 +type 87 +editor_folder armour/cloak name_pl oilskin cloaks client_type 280 -type 87 -face oilskin.111 Dex -1 ac 1 resist_physical 3 weight 1000 value 120000 material 8 -editable 5120 nrof 1 resist_acid 70 magic -4 damned 1 body_shoulder -1 -editor_folder armour/cloak end Object serp_cloak name serpent cloak +face serp_cloak.111 +type 87 +editor_folder armour/cloak name_pl serpent cloaks client_type 280 -type 87 -face serp_cloak.111 ac 1 weight 700 resist_poison 30 value 900 material 8 materialname snakeskin -editable 5120 nrof 1 body_shoulder -1 item_power 2 -editor_folder armour/cloak end Object b_gauntlets -nrof 1 name gauntlets -client_type 305 face b_gauntlet_s.111 type 100 +editor_folder armour/gauntlets +nrof 1 +client_type 305 resist_physical 2 value 6 nrof 1 material 2 materialname bronze weight 1800 -editable 1024 body_hand -2 -editor_folder armour/gauntlets end Object gauntlets -nrof 1 name gauntlets -client_type 305 face gauntlet_s.111 type 100 +editor_folder armour/gauntlets +nrof 1 +client_type 305 resist_physical 3 value 25 nrof 1 material 2 weight 1800 -editable 1024 body_hand -2 -editor_folder armour/gauntlets end Object gauntlets_dex -nrof 1 name gauntlets -client_type 305 -title of dexterity face gauntlet_s.111 type 100 +editor_folder armour/gauntlets +nrof 1 +client_type 305 +title of dexterity Dex 2 resist_physical 3 value 65000 material 2 weight 1800 -editable 5120 body_hand -2 item_power 1 -editor_folder armour/gauntlets end Object gauntlets_str -nrof 1 name gauntlets +face gauntlet_s.111 +type 100 +editor_folder armour/gauntlets +nrof 1 name_pl gauntlets client_type 305 title of strength -face gauntlet_s.111 -type 100 Str 1 resist_physical 3 value 65000 material 2 weight 2000 -editable 5120 body_hand -2 item_power 0 -editor_folder armour/gauntlets end Object gloves -nrof 1 name gloves -client_type 301 face gloves.111 type 100 +editor_folder armour/gauntlets +nrof 1 +client_type 301 resist_physical 1 nrof 1 value 4 material 8 weight 100 -editable 1024 body_hand -2 -editor_folder armour/gauntlets end Object gloves_b -nrof 1 name gloves -client_type 301 face gloves_b.111 type 100 +editor_folder armour/gauntlets +nrof 1 +client_type 301 resist_physical 1 nrof 1 value 64 material 8 materialname black leather weight 100 -editable 1024 body_hand -2 -editor_folder armour/gauntlets end Object gloves_w -nrof 1 name gloves -client_type 301 face gloves_w.111 type 100 +editor_folder armour/gauntlets +nrof 1 +client_type 301 resist_physical 1 Cha 1 resist_blind 2 @@ -419,16 +397,15 @@ material 8 materialname white leather weight 100 -editable 1024 body_hand -2 -editor_folder armour/gauntlets end Object gloves_w_l -nrof 1 name gloves -client_type 301 face gloves_w.111 type 100 +editor_folder armour/gauntlets +nrof 1 +client_type 301 resist_physical 20 Cha 1 resist_blind 20 @@ -438,17 +415,16 @@ material 2 materialname white steel weight 200 -editable 1024 body_hand -2 -editor_folder armour/gauntlets end Object god_finger -nrof 1 name God Finger +face god_finger.111 +type 100 +editor_folder armour/gauntlets +nrof 1 name_pl God Fingers client_type 300 -type 100 -face god_finger.111 animation god_finger speed .1 Str 2 @@ -459,18 +435,17 @@ value 120000 material 2 weight 1800 -editable 5120 body_hand -2 item_power 2 -editor_folder armour/gauntlets end Object shining_finger -nrof 1 name Shining Finger +face shining_finger.111 +type 100 +editor_folder armour/gauntlets +nrof 1 name_pl Shining Fingers client_type 300 -type 100 -face shining_finger.111 animation shining_finger speed .1 Str 2 @@ -479,19 +454,18 @@ value 120000 material 2 weight 1800 -editable 5120 body_hand -2 item_power 1 -editor_folder armour/gauntlets end Object girdle_strcon -nrof 1 -type 113 name girdle +face gir_strcon.111 +type 113 +editor_folder armour/girdle +nrof 1 name_pl girdles client_type 321 title of fighting -face gir_strcon.111 animation girdle_strcon speed 0.1 Str 1 @@ -499,293 +473,272 @@ weight 2500 value 75000 material 8 -editable 5120 body_waist -1 item_power 1 -editor_folder armour/girdle end Object girdle_con -nrof 1 -type 113 name girdle +face girdle_con.111 +type 113 +editor_folder armour/girdle +nrof 1 name_pl girdles client_type 321 title of constitution -face girdle_con.111 animation girdle_con speed 0.1 Con 2 weight 2500 value 85000 material 8 -editable 5120 body_waist -1 item_power 1 -editor_folder armour/girdle end Object girdle_dam -nrof 1 -type 113 name girdle +face girdle_dam.111 +type 113 +editor_folder armour/girdle +nrof 1 name_pl girdles client_type 321 title of damage -face girdle_dam.111 animation girdle_dam speed 0.1 dam 10 weight 2500 value 70000 material 8 -editable 5120 body_waist -1 item_power 1 -editor_folder armour/girdle end Object girdle_str -nrof 1 -type 113 name girdle +face girdle_str.111 +type 113 +editor_folder armour/girdle +nrof 1 name_pl girdles client_type 321 title of strength -face girdle_str.111 animation girdle_str speed 0.1 Str 2 weight 2500 value 80000 material 8 -editable 5120 body_waist -1 item_power 1 -editor_folder armour/girdle end Object a_helmet name helmet +face a_helmet.111 +type 34 +editor_folder armour/helmet name_pl helmets client_type 271 nrof 1 -type 34 -face a_helmet.111 weight 5000 ac 1 resist_physical 5 value 14 material 2 -editable 1024 body_head -1 gen_sp_armour 5 -editor_folder armour/helmet end Object b_full_helmet -nrof 1 name full helmet +face b_fullhelmet.111 +type 34 +editor_folder armour/helmet +nrof 1 name_pl full helmets client_type 271 -type 34 -face b_fullhelmet.111 ac 1 resist_physical 5 weight 12000 value 4 material 2 materialname bronze -editable 1024 body_head -1 gen_sp_armour 10 -editor_folder armour/helmet end Object b_helmet name helmet +face b_helmet.111 +type 34 +editor_folder armour/helmet name_pl helmets client_type 271 nrof 1 -type 34 -face b_helmet.111 weight 5000 ac 1 resist_physical 3 value 4 material 2 materialname bronze -editable 1024 body_head -1 gen_sp_armour 5 -editor_folder armour/helmet end Object b_horned_helmet -nrof 1 name horned helmet +face b_hornhelmet.111 +type 34 +editor_folder armour/helmet +nrof 1 name_pl horned helmets client_type 271 -type 34 -face b_hornhelmet.111 ac 1 resist_physical 1 weight 6000 value 3 material 18 materialname bronze -editable 1024 body_head -1 gen_sp_armour 2 -editor_folder armour/helmet end Object bighorned_helmet -nrof 1 name horned helmet +face bighorn_he.111 +type 34 +editor_folder armour/helmet +nrof 1 name_pl horned helmets client_type 271 -type 34 -face bighorn_he.111 ac 1 resist_physical 5 weight 10000 value 22 material 18 -editable 1024 body_head -1 gen_sp_armour 3 -editor_folder armour/helmet end Object crown name crown -nrof 1 face crown.111 type 34 +editor_folder armour/helmet +nrof 1 material 2 resist_physical 3 weight 12300 value 1700 -editable 128 name_pl crowns client_type 271 body_head -1 -editor_folder armour/helmet end - Object crown_r name crown -nrof 1 face crown_r.111 type 34 +editor_folder armour/helmet +nrof 1 material 2 resist_physical 3 weight 12300 value 1700 -editable 128 name_pl crowns client_type 271 body_head -1 -editor_folder armour/helmet end - Object crown_gray name crown -nrof 1 face crown_gray.111 type 34 +editor_folder armour/helmet +nrof 1 material 2 resist_physical 3 weight 12300 value 1700 -editable 128 name_pl crowns client_type 271 body_head -1 -editor_folder armour/helmet end - Object crown_white name crown -nrof 1 face crown_white.111 type 34 +editor_folder armour/helmet +nrof 1 material 2 resist_physical 3 weight 12300 value 1700 -editable 128 name_pl crowns client_type 271 body_head -1 -editor_folder armour/helmet end - Object crown_dark name crown -nrof 1 face crown_dark.111 type 34 +editor_folder armour/helmet +nrof 1 material 2 resist_physical 3 weight 12300 value 1700 -editable 128 name_pl crowns client_type 271 body_head -1 -editor_folder armour/helmet end Object eyeglasses -nrof 1 name eye glasses -client_type 275 -type 34 face eyeglasses.111 +type 34 +editor_folder armour/helmet +nrof 1 +client_type 275 weight 120 value 1000 Dex 2 Cha -2 material 4 materialname glass -editable 1024 body_head -1 -editor_folder armour/helmet end Object full_helmet -nrof 1 name full helmet +face fullhelmet.111 +type 34 +editor_folder armour/helmet +nrof 1 name_pl full helmets client_type 271 -type 34 -face fullhelmet.111 ac 1 resist_physical 10 weight 12000 value 16 material 2 -editable 1024 body_head -1 gen_sp_armour 10 -editor_folder armour/helmet end Object helmet name helmet +face helmet.111 +type 34 +editor_folder armour/helmet name_pl helmets client_type 271 nrof 1 -type 34 -face helmet.111 weight 5000 ac 1 resist_physical 5 value 14 material 2 -editable 1024 body_head -1 gen_sp_armour 5 -editor_folder armour/helmet end Object helmet_of_brilliance name helmet +face helmet_bri.111 +type 34 +editor_folder armour/helmet name_pl helmets client_type 270 nrof 1 title of brilliance -face helmet_bri.111 -type 34 weight 7000 ac 2 resist_physical 5 @@ -793,56 +746,53 @@ Int 2 Pow 2 sp 1 -editable 5120 body_head -1 item_power 5 -editor_folder armour/helmet end Object helmet_of_xrays name helmet +face helmetxray.111 +type 34 +editor_folder armour/helmet name_pl helmets client_type 270 nrof 1 title of xray vision -face helmetxray.111 animation helmet_of_xrays speed 0.05 -type 34 weight 6000 ac 2 resist_physical 5 value 70000 material 2 xrays 1 -editable 5120 body_head -1 item_power 3 -editor_folder armour/helmet end Object horned_helmet -nrof 1 name horned helmet +face hornhelmet.111 +type 34 +editor_folder armour/helmet +nrof 1 name_pl horned helmets client_type 271 -type 34 -face hornhelmet.111 ac 1 resist_physical 2 weight 6000 value 12 material 18 -editable 1024 body_head -1 gen_sp_armour 2 -editor_folder armour/helmet end Object kog name Kabuto of Geisya +face kog.111 +type 34 +editor_folder armour/helmet name_pl Kabutos of Geisya client_type 270 nrof 1 -type 34 -face kog.111 Wis 1 Cha 2 Int 1 @@ -851,50 +801,47 @@ resist_physical 10 value 100000 material 2 -editable 1024 body_head -1 gen_sp_armour 5 item_power 4 -editor_folder armour/helmet end Object turban name turban +face turban.111 +type 34 +editor_folder armour/helmet name_pl turbans client_type 272 nrof 1 -type 34 -face turban.111 weight 500 resist_physical 1 value 8 material 128 -editable 1024 body_head -1 gen_sp_armour 1 -editor_folder armour/helmet end Object wig name wig +face wig.111 +type 34 +editor_folder armour/helmet name_pl wigs client_type 273 nrof 1 -type 34 -face wig.111 weight 500 Cha 1 value 140 material 32 -editable 1024 body_head -1 -editor_folder armour/helmet end Object wiz_hat name Wizard Hat +face wiz_hat.111 +type 34 +editor_folder armour/helmet name_pl Wizard Hats client_type 270 nrof 1 -type 34 -face wiz_hat.111 animation wiz_hat speed 0.1 last_sp 12 @@ -909,18 +856,17 @@ weight 1000 value 50000 material 128 -editable 5120 body_head -1 item_power 10 -editor_folder armour/helmet end Object Pdragon_mail name Power Dragon Mail +face Pdragonmail.111 +type 16 +editor_folder armour/mail name_pl Power Dragon Mails client_type 251 nrof 1 -type 16 -face Pdragonmail.111 animation Pdragon_mail speed 0.2 last_sp 13 @@ -933,20 +879,19 @@ resist_fire 50 resist_electricity 30 magic 4 -editable 5120 identified 1 body_torso -1 gen_sp_armour 9 item_power 12 -editor_folder armour/mail end Object b_plate_mail -nrof 1 name plate mail +face b_plate_mail.111 +type 16 +editor_folder armour/mail +nrof 1 name_pl plate mails client_type 252 -type 16 -face b_plate_mail.111 last_sp 7 material 2 materialname bronze @@ -954,18 +899,17 @@ resist_physical 20 weight 100000 value 25 -editable 1024 body_torso -1 gen_sp_armour 30 -editor_folder armour/mail end Object b_scale_mail -nrof 1 name scale mail +face b_scale_mail.111 +type 16 +editor_folder armour/mail +nrof 1 name_pl scale mails client_type 253 -type 16 -face b_scale_mail.111 last_sp 9 material 8 materialname bronze @@ -973,36 +917,34 @@ resist_physical 10 weight 20000 value 8 -editable 1024 body_torso -1 gen_sp_armour 10 -editor_folder armour/mail end Object chain_mail -nrof 1 name chain mail +face chainmail.111 +type 16 +editor_folder armour/mail +nrof 1 name_pl chain mails client_type 253 -type 16 -face chainmail.111 last_sp 10 material 2 ac 4 resist_physical 30 weight 60000 value 75 -editable 1024 body_torso -1 gen_sp_armour 15 -editor_folder armour/mail end Object dragon_mail name dragon mail +face dragonmail.111 +type 16 +editor_folder armour/mail name_pl dragon mails client_type 251 nrof 1 -type 16 -face dragonmail.111 last_sp 13 ac 6 resist_physical 50 @@ -1012,20 +954,63 @@ value 50000 resist_fire 40 magic 3 -editable 5120 identified 1 body_torso -1 gen_sp_armour 9 item_power 5 +end +Object blue_dragon_mail +name blue dragon mail +face bluedragonmail.111 +type 16 editor_folder armour/mail +name_pl blue dragon mails +client_type 251 +nrof 1 +last_sp 13 +ac 6 +resist_physical 50 +material 2048 +materialname dragonscale +weight 60000 +value 50000 +resist_electricity 40 +magic 3 +identified 1 +body_torso -1 +gen_sp_armour 9 +item_power 5 end +Object green_dragon_mail +name green dragon mail +face greendragonmail.111 +type 16 +editor_folder armour/mail +name_pl green dragon mails +client_type 251 +nrof 1 +last_sp 13 +ac 6 +resist_physical 50 +material 2048 +materialname dragonscale +weight 60000 +value 50000 +resist_cold 40 +magic 3 +identified 1 +body_torso -1 +gen_sp_armour 9 +item_power 5 +end Object dress1 name dress +face dress1.111 +type 16 +editor_folder armour/mail name_pl dresses client_type 255 nrof 1 -type 16 -face dress1.111 resist_physical 1 last_sp 5 Cha 2 @@ -1033,50 +1018,47 @@ weight 10000 value 10000 material 128 -editable 1024 body_torso -1 -editor_folder armour/mail end Object dress2 name dress +face dress2.111 +type 16 +editor_folder armour/mail name_pl dresses client_type 255 nrof 1 -type 16 -face dress2.111 last_sp 8 ac 1 Cha 1 weight 5000 value 3000 material 128 -editable 1024 body_torso -1 -editor_folder armour/mail end Object dress3 name dress +face dress3.111 +type 16 +editor_folder armour/mail name_pl dresses client_type 255 nrof 1 -type 16 -face dress3.111 last_sp 8 Cha 1 weight 4500 value 1000 material 128 -editable 1024 body_torso -1 -editor_folder armour/mail end Object elven_robe name Elven Robe +face elven_robe.111 +type 16 +editor_folder armour/mail name_pl Elven Robes client_type 256 nrof 1 -type 16 -face elven_robe.111 last_sp 12 ac 3 stealth 1 @@ -1087,39 +1069,37 @@ weight 5000 value 3000 material 128 -editable 5120 body_torso -1 item_power 13 -editor_folder armour/mail end Object gale name Gale Armour +face gale.111 +type 16 +editor_folder armour/mail name_pl Gale Armours client_type 250 nrof 1 -face gale.111 Dex 2 ac 4 resist_physical 40 speed 2.000000 -type 16 resist_electricity 30 material 8 value 220000 weight 10000 last_sp 50 -editable 5120 body_torso -1 item_power 4 -editor_folder armour/mail end Object lapron name apron +face lapron.111 +type 16 +editor_folder armour/mail name_pl aprons client_type 257 nrof 1 -type 16 -face lapron.111 last_sp 11 ac 1 resist_physical 5 @@ -1127,37 +1107,35 @@ nrof 1 value 10 material 8 -editable 1024 body_torso -1 -editor_folder armour/mail end Object leather_armour -nrof 1 name armour +face leather_ar.111 +type 16 +editor_folder armour/mail +nrof 1 name_pl armours client_type 254 -type 16 -face leather_ar.111 last_sp 13 ac 2 resist_physical 10 weight 20000 value 40 material 8 -editable 1024 body_torso -1 gen_sp_armour 8 -editor_folder armour/mail end Object mithril_chainmail -nrof 1 name mithril chainmail +face mithril_ar.111 +type 16 +editor_folder armour/mail +nrof 1 name_pl mithril chainmails client_type 250 -type 16 material 2 materialname mithril -face mithril_ar.111 animation mithril_chainmail speed 0.1 ac 6 @@ -1165,21 +1143,20 @@ last_sp 18 weight 15000 value 8000 -editable 5120 body_torso -1 gen_sp_armour 5 item_power 1 -editor_folder armour/mail end Object mithril_ar_ele -nrof 1 name mithril chainmail of lightning +face mithril_ar_ele.111 +type 16 +editor_folder armour/mail +nrof 1 name_pl mithril chainmails of lightning client_type 250 -type 16 material 2 materialname mithril -face mithril_ar_ele.111 animation mithril_ar_ele speed 0.3 ac 4 @@ -1192,106 +1169,100 @@ last_sp 27 weight 15000 value 4000 -editable 5120 body_torso -1 gen_sp_armour 2 item_power 9 -editor_folder armour/mail end Object plate_mail -nrof 1 name plate mail +face plate_mail.111 +type 16 +editor_folder armour/mail +nrof 1 name_pl plate mails client_type 252 -type 16 -face plate_mail.111 last_sp 7 material 2 ac 5 resist_physical 40 weight 100000 value 100 -editable 1024 body_torso -1 gen_sp_armour 30 -editor_folder armour/mail end Object ring_mail -nrof 1 name hauberk +face ring_mail.111 +type 16 +editor_folder armour/mail +nrof 1 name_pl hauberks client_type 253 -type 16 -face ring_mail.111 last_sp 10 material 2 ac 4 resist_physical 25 weight 50000 value 60 -editable 1024 body_torso -1 gen_sp_armour 15 -editor_folder armour/mail end Object ring_mail2 -nrof 1 name ring mail +face ring_mail2.111 +type 16 +editor_folder armour/mail +nrof 1 name_pl ring mails client_type 253 -type 16 -face ring_mail2.111 last_sp 11 material 2 ac 4 resist_physical 20 weight 40000 value 85 -editable 1024 body_torso -1 gen_sp_armour 15 -editor_folder armour/mail end Object robe name robe +face robe.111 +type 16 +editor_folder armour/mail name_pl robes client_type 256 nrof 1 -type 16 -face robe.111 last_sp 12 ac 1 weight 10000 value 30 material 128 -editable 1024 body_torso -1 -editor_folder armour/mail end Object robe2 name robe +face robe2.111 +type 16 +editor_folder armour/mail name_pl robes client_type 256 nrof 1 -type 16 -face robe2.111 last_sp 12 ac 1 nrof 1 weight 10000 value 9 material 128 -editable 1024 body_torso -1 -editor_folder armour/mail end Object robe_midnight name Midnight Robe +face robe_midnight.111 +type 16 +editor_folder armour/mail name_pl Midnight Robes client_type 250 nrof 1 -type 16 -face robe_midnight.111 animation robe_midnight speed 0.1 ac 5 @@ -1311,52 +1282,49 @@ weight 5000 value 100000 material 128 -editable 5120 body_torso -1 item_power 25 -editor_folder armour/mail end Object scale_mail -nrof 1 name scale mail +face scale_mail.111 +type 16 +editor_folder armour/mail +nrof 1 name_pl scale mails client_type 253 -type 16 -face scale_mail.111 last_sp 9 material 8 ac 3 resist_physical 20 weight 20000 value 30 -editable 1024 body_torso -1 gen_sp_armour 10 -editor_folder armour/mail end Object tunic name shirt +face tunic.111 +type 16 +editor_folder armour/mail name_pl shirts client_type 256 nrof 1 -type 16 -face tunic.111 last_sp 20 weight 1000 nrof 1 value 3 material 128 -editable 1024 body_torso -1 -editor_folder armour/mail end Object wdsm name White Dragon Scale Mail +face wdsm.111 +type 16 +editor_folder armour/mail name_pl White Dragon Scale Mails client_type 251 nrof 1 -type 16 -face wdsm.111 animation wdsm speed 0.1 last_sp 13 @@ -1370,26 +1338,25 @@ resist_cold 30 resist_fire 95 magic -3 -editable 5120 body_torso -1 gen_sp_armour 9 item_power 5 -editor_folder armour/mail end Object DShield name Demonspawn Shield +face DShield.111 +type 33 +editor_folder armour/shield +msg +There is a evil spirit in the shield. +endmsg name_pl Demonspawn Shields client_type 260 nrof 1 -type 33 material 256 materialname abyssium -face DShield.111 animation DShield speed 0.2 -msg - There is a evil spirit in the shield. -endmsg Cha -3 resist_fire 30 resist_drain 100 @@ -1398,26 +1365,25 @@ resist_physical 10 weight 25000 value 50000 -editable 5120 body_arm -1 item_power 5 -editor_folder armour/shield end Object DShieldm name Demonspawn Shield +face DShield.111 +type 33 +editor_folder armour/shield +msg +There is a strong evil spirit in the shield + trying to dominate you. +endmsg name_pl Demonspawn Shields client_type 260 nrof 1 -type 33 material 256 materialname abyssium -face DShield.111 animation DShieldm speed 0.2 -msg - There is a strong evil spirit in the shield - trying to dominate you. -endmsg Cha -3 resist_fire 30 resist_drain 100 @@ -1427,28 +1393,27 @@ resist_physical 10 weight 25000 value 100000 -editable 5120 body_arm -1 item_power 7 -editor_folder armour/shield end Object DShieldms name Demonspawn Shield +face DShield.111 +type 33 +editor_folder armour/shield +msg +There is a powerful evil spirit in the + shield dominating your mind. You are + struggling to retain control of yourself. +endmsg name_pl Demonspawn Shields client_type 260 nrof 1 -type 33 material 256 materialname abyssium -face DShield.111 animation DShieldms speed 0.25 Cha -5 -msg - There is a powerful evil spirit in the - shield dominating your mind. You are - struggling to retain control of yourself. -endmsg resist_fire 30 resist_drain 100 resist_ghosthit 80 @@ -1458,26 +1423,25 @@ resist_physical 15 weight 25000 value 300000 -editable 5120 body_arm -1 item_power 10 -editor_folder armour/shield end Object DShields name Demonspawn Shield +face DShield.111 +type 33 +editor_folder armour/shield +msg +There is a strong evil spirit in the shield + trying to dominate you. +endmsg name_pl Demonspawn Shields client_type 260 nrof 1 -type 33 material 256 materialname abyssium -face DShield.111 animation DShields speed 0.2 -msg - There is a strong evil spirit in the shield - trying to dominate you. -endmsg Cha -3 resist_fire 30 resist_drain 100 @@ -1487,92 +1451,87 @@ resist_physical 10 weight 25000 value 100000 -editable 5120 body_arm -1 item_power 8 -editor_folder armour/shield end Object b_shield name shield +face b_shield.111 +type 33 +editor_folder armour/shield name_pl shields client_type 261 nrof 1 material 2 materialname bronze -type 33 -face b_shield.111 ac 1 resist_physical 3 weight 15000 value 6 -editable 1024 body_arm -1 -editor_folder armour/shield end Object b_small_shield -nrof 1 name small shield +face b_small_shie.111 +type 33 +editor_folder armour/shield +nrof 1 name_pl small shields client_type 261 -type 33 -face b_small_shie.111 ac 1 weight 11000 value 4 material 2 materialname bronze -editable 1024 body_arm -1 -editor_folder armour/shield end Object dragon_shield name dragon shield +face dragon_shi.111 +type 33 +editor_folder armour/shield name_pl dragon shields client_type 260 nrof 1 material 2048 materialname dragonscale -face dragon_shi.111 -type 33 ac 1 resist_physical 8 magic 2 resist_fire 30 weight 5000 value 28000 -editable 5120 identified 1 body_arm -1 item_power 2 -editor_folder armour/shield end Object eyeshield name eyeshield +face eyeshield.111 +type 33 +editor_folder armour/shield name_pl eyeshields client_type 260 nrof 1 material 32 materialname organics -type 33 -face eyeshield.111 ac 3 resist_physical 3 resist_magic 30 weight 15000 value 30000 -editable 5120 identified 1 body_arm -1 item_power 2 -editor_folder armour/shield end Object frostshield -nrof 1 name Frost Shield +face frostshield.111 +type 33 +editor_folder armour/shield +nrof 1 name_pl Frost Shields client_type 261 -type 33 -face frostshield.111 dam 1 ac -1 resist_fire 10 @@ -1581,52 +1540,49 @@ weight 2000 value 100 material 18 -editable 1024 -editor_folder armour/shield end Object high_shield -nrof 1 name high shield +face highshield.111 +type 33 +editor_folder armour/shield +nrof 1 name_pl high shields client_type 261 -type 33 -face highshield.111 ac 1 resist_physical 8 weight 20000 value 24 material 2 -editable 1024 body_arm -1 -editor_folder armour/shield end Object holy_shield name holy shield +face holyshield.111 +type 33 +editor_folder armour/shield name_pl holy shields client_type 260 nrof 1 -face holyshield.111 material 2 -type 33 weight 20000 value 35000 ac 4 resist_physical 10 resist_drain 100 resist_ghosthit 50 -editable 5120 body_arm -1 item_power 6 -editor_folder armour/shield end Object reflector name polished shield +face reflector.111 +type 33 +editor_folder armour/shield name_pl polished shields client_type 260 nrof 1 -type 33 material 256 -face reflector.111 animation reflector speed 0.25 ac 3 @@ -1634,165 +1590,155 @@ reflect_spell 1 weight 18000 value 100000 -editable 5120 body_arm -1 item_power 2 -editor_folder armour/shield end Object round_shield -nrof 1 name shield +face round_shiel.111 +type 33 +editor_folder armour/shield +nrof 1 name_pl shields client_type 261 -type 33 -face round_shiel.111 ac 1 resist_physical 7 weight 15000 value 21 material 18 -editable 1024 body_arm -1 -editor_folder armour/shield end Object shield name shield +face shield.111 +type 33 +editor_folder armour/shield name_pl shields client_type 261 nrof 1 material 2 -type 33 -face shield.111 ac 1 resist_physical 5 weight 15000 value 22 -editable 1024 body_arm -1 -editor_folder armour/shield end Object small_shield -nrof 1 name small shield +face small_shie.111 +type 33 +editor_folder armour/shield +nrof 1 name_pl small shields client_type 261 -type 33 -face small_shie.111 ac 1 weight 10000 value 20 material 2 -editable 1024 body_arm -1 -editor_folder armour/shield end Object spiked_shield -nrof 1 name spiked shield +face spiked_shield.111 +type 33 +editor_folder armour/shield +nrof 1 name_pl spiked shields client_type 261 -type 33 -face spiked_shield.111 dam 3 ac 1 resist_physical 3 weight 2000 value 21 material 18 -editable 1024 body_arm -1 -editor_folder armour/shield end Object uw_shield name Belzebub's shield +face uw_shield.111 +type 33 +editor_folder armour/shield name_pl Belzebub's shields client_type 260 nrof 1 material 256 materialname abyssium -face uw_shield.111 -type 33 weight 25000 value 80000 ac 4 resist_physical 15 resist_deplete 100 -editable 5120 body_arm -1 item_power 5 -editor_folder armour/shield end Object wds name White Dragon Shield +face wds.111 +type 33 +editor_folder armour/shield name_pl White Dragon Shields client_type 260 nrof 1 -face wds.111 ac 2 resist_physical 8 -type 33 resist_fire 30 resist_cold 30 value 45000 weight 6000 magic 2 identified 1 -editable 5120 body_arm -1 item_power 4 -editor_folder armour/shield end Object slotmachine1 name slotmachine +face slotmachine1.111 +type 31 +editor_folder connect/Casino slaying goldcoin food 1 -type 31 exp 30 -face slotmachine1.111 animation slotmachine1 is_animated 0 no_pick 1 walk_on 1 -editable 48 client_type 25041 -editor_folder connect/Casino end Object slotmachine2 name slotmachine +face slotmachine2.111 +type 31 +editor_folder connect/Casino slaying goldcoin food 1 -type 31 exp 30 -face slotmachine2.111 animation slotmachine2 is_animated 0 no_pick 1 walk_on 1 -editable 48 client_type 25041 -editor_folder connect/Casino end Object slotmachine3 name slotmachine +face slotmachine3.111 +type 31 +editor_folder connect/Casino slaying goldcoin food 1 -type 31 exp 30 -face slotmachine3.111 animation slotmachine3 is_animated 0 no_pick 1 walk_on 1 -editable 48 client_type 25041 -editor_folder connect/Casino end Object director_turn name director face director.181 +type 112 +editor_folder connect/Director animation director_turn speed 0.2 -type 112 activate_on_push 1 activate_on_release 1 no_pick 1 @@ -1800,136 +1746,127 @@ maxsp 1 walk_on 1 fly_on 1 -editable 32 -editor_folder connect/Director end Object director_1 name director face director.111 +type 112 +editor_folder connect/Director animation director_1 speed 0.2 -type 112 activate_on_push 1 activate_on_release 1 no_pick 1 sp 1 walk_on 1 fly_on 1 -editable 32 -editor_folder connect/Director end Object director_2 name director face director.121 +type 112 +editor_folder connect/Director animation director_2 speed 0.2 -type 112 activate_on_push 1 activate_on_release 1 no_pick 1 sp 2 walk_on 1 fly_on 1 -editable 32 -editor_folder connect/Director end Object director_3 name director face director.131 +type 112 +editor_folder connect/Director animation director_3 speed 0.2 -type 112 activate_on_push 1 activate_on_release 1 no_pick 1 sp 3 walk_on 1 fly_on 1 -editable 32 -editor_folder connect/Director end Object director_4 name director face director.141 +type 112 +editor_folder connect/Director animation director_4 speed 0.2 -type 112 activate_on_push 1 activate_on_release 1 no_pick 1 sp 4 walk_on 1 fly_on 1 -editable 32 -editor_folder connect/Director end Object director_5 name director face director.151 +type 112 +editor_folder connect/Director animation director_5 speed 0.2 -type 112 activate_on_push 1 activate_on_release 1 no_pick 1 sp 5 walk_on 1 fly_on 1 -editable 32 -editor_folder connect/Director end Object director_6 name director face director.161 +type 112 +editor_folder connect/Director animation director_6 speed 0.2 -type 112 activate_on_push 1 activate_on_release 1 no_pick 1 sp 6 walk_on 1 fly_on 1 -editable 32 -editor_folder connect/Director end Object director_7 name director face director.171 +type 112 +editor_folder connect/Director animation director_7 speed 0.2 -type 112 activate_on_push 1 activate_on_release 1 no_pick 1 sp 7 walk_on 1 fly_on 1 -editable 32 -editor_folder connect/Director end Object director_8 name director face director.181 +type 112 +editor_folder connect/Director animation director_8 speed 0.2 -type 112 activate_on_push 1 activate_on_release 1 no_pick 1 sp 8 walk_on 1 fly_on 1 -editable 32 -editor_folder connect/Director end Object mdoor_closed_1 name wood door +face wdoor.114 type 91 +editor_folder connect/Doors activate_on_push 1 activate_on_release 1 no_pick 1 -face wdoor.114 animation mdoor_closed_1 is_animated 0 move_block all @@ -1939,16 +1876,15 @@ wc 3 maxsp 0 dam 6 -editable 16 -editor_folder connect/Doors end Object mdoor_closed_2 name stone door +face sdoor.114 type 91 +editor_folder connect/Doors activate_on_push 1 activate_on_release 1 no_pick 1 -face sdoor.114 animation mdoor_closed_2 is_animated 0 move_block all @@ -1958,50 +1894,47 @@ wc 3 maxsp 0 dam 6 -editable 16 -editor_folder connect/Doors end Object mdoor_open_1 name wood door +face wdoor.111 type 91 +editor_folder connect/Doors activate_on_push 1 activate_on_release 1 no_pick 1 damned 1 no_magic 1 -face wdoor.111 animation mdoor_open_1 is_animated 0 wc 0 dam 6 maxsp 1 -editable 16 -editor_folder connect/Doors end Object mdoor_open_2 name stone door +face sdoor.111 type 91 +editor_folder connect/Doors activate_on_push 1 activate_on_release 1 no_pick 1 damned 1 no_magic 1 -face sdoor.111 animation mdoor_open_2 is_animated 0 wc 0 dam 6 maxsp 1 -editable 16 -editor_folder connect/Doors end Object odoorm2_closed_1 name wood door +face odoorm2.111 type 91 +editor_folder connect/Doors activate_on_push 1 activate_on_release 1 no_pick 1 -face odoorm2.111 animation odoorm2_closed_1 is_animated 0 move_block all @@ -2011,34 +1944,31 @@ wc 3 maxsp 0 dam 6 -editable 16 -editor_folder connect/Doors end Object odoorm2_open_1 name wood door +face odoorm2.114 type 91 +editor_folder connect/Doors activate_on_push 1 activate_on_release 1 no_pick 1 damned 1 no_magic 1 -face odoorm2.114 animation odoorm2_open_1 is_animated 0 wc 0 dam 6 maxsp 1 -editable 16 -editor_folder connect/Doors end - Object odoorm2bg_closed_1 name wood door +face odoorm2bg.111 type 91 +editor_folder connect/Doors activate_on_push 1 activate_on_release 1 no_pick 1 -face odoorm2bg.111 animation odoorm2bg_closed_1 is_animated 0 move_block all @@ -2048,34 +1978,31 @@ wc 3 maxsp 0 dam 6 -editable 16 -editor_folder connect/Doors end Object odoorm2bg_open_1 name wood door +face odoorm2bg.114 type 91 +editor_folder connect/Doors activate_on_push 1 activate_on_release 1 no_pick 1 damned 1 no_magic 1 -face odoorm2bg.114 animation odoorm2bg_open_1 is_animated 0 wc 0 dam 6 maxsp 1 -editable 16 -editor_folder connect/Doors end - Object odoorm2rw_closed_1 name wood door +face odoorm2rw.111 type 91 +editor_folder connect/Doors activate_on_push 1 activate_on_release 1 no_pick 1 -face odoorm2rw.111 animation odoorm2rw_closed_1 is_animated 0 move_block all @@ -2085,34 +2012,31 @@ wc 3 maxsp 0 dam 6 -editable 16 -editor_folder connect/Doors end Object odoorm2rw_open_1 name wood door +face odoorm2rw.114 type 91 +editor_folder connect/Doors activate_on_push 1 activate_on_release 1 no_pick 1 damned 1 no_magic 1 -face odoorm2rw.114 animation odoorm2rw_open_1 is_animated 0 wc 0 dam 6 maxsp 1 -editable 16 -editor_folder connect/Doors end - Object odoorn2_closed_1 name wood door +face odoorn2.111 type 91 +editor_folder connect/Doors activate_on_push 1 activate_on_release 1 no_pick 1 -face odoorn2.111 animation odoorn2_closed_1 is_animated 0 move_block all @@ -2122,84 +2046,78 @@ wc 3 maxsp 0 dam 6 -editable 16 -editor_folder connect/Doors end Object odoorn2_open_1 name wood door +face odoorn2.114 type 91 +editor_folder connect/Doors activate_on_push 1 activate_on_release 1 no_pick 1 damned 1 no_magic 1 -face odoorn2.114 animation odoorn2_open_1 is_animated 0 wc 0 dam 6 maxsp 1 -editable 16 -editor_folder connect/Doors end - Object ggate_open name garden gate +face gard_gate.114 type 91 +editor_folder connect/Garden_gate activate_on_push 1 activate_on_release 1 no_pick 1 -face gard_gate.114 animation ggate_open is_animated 0 hp 0 dam 0 maxsp 1 -editable 16 ac 1 wc 0 -editor_folder connect/Garden_gate end Object ggate_closed name garden gate +face gard_gate.111 type 91 +editor_folder connect/Garden_gate activate_on_push 1 activate_on_release 1 no_pick 1 -face gard_gate.111 animation ggate_closed is_animated 0 hp 0 dam 0 maxsp 0 -editable 16 ac 1 wc 3 move_block all -editor_folder connect/Garden_gate end Object gate_open_1 name gate +face gate_1.111 type 91 +editor_folder connect/Gates activate_on_push 1 activate_on_release 1 no_pick 1 -face gate_1.111 animation gate_open_1 is_animated 0 wc 0 dam 1 maxsp 1 -editable 16 -editor_folder connect/Gates end Object gate_closed_1 name gate +face gate_1.117 type 91 +editor_folder connect/Gates activate_on_push 1 activate_on_release 1 no_pick 1 -face gate_1.117 animation gate_closed_1 is_animated 0 move_block all @@ -2207,31 +2125,29 @@ wc 6 maxsp 0 dam 1 -editable 16 -editor_folder connect/Gates end Object gate_open_2 name gate +face gate_2.111 type 91 +editor_folder connect/Gates activate_on_push 1 activate_on_release 1 no_pick 1 -face gate_2.111 animation gate_open_2 is_animated 0 hp 0 dam 1 maxsp 1 -editable 16 -editor_folder connect/Gates end Object gate_closed_2 name gate +face gate_2.115 type 91 +editor_folder connect/Gates activate_on_push 1 activate_on_release 1 no_pick 1 -face gate_2.115 animation gate_closed_2 is_animated 0 move_block all @@ -2239,16 +2155,15 @@ wc 7 dam 1 maxsp 0 -editable 16 -editor_folder connect/Gates end Object gateTrg1 name gate +face gate_1.117 type 26 +editor_folder connect/Gates activate_on_push 1 activate_on_release 1 no_pick 1 -face gate_1.117 animation gateTrg1 is_animated 0 move_block all @@ -2256,20 +2171,19 @@ wc 6 maxsp 0 dam 1 -editable 16 maxhp 20 hp 20 speed 0.35 value 1 -editor_folder connect/Gates end Object gateTrg2 name gate +face gate_2.115 type 26 +editor_folder connect/Gates activate_on_push 1 activate_on_release 1 no_pick 1 -face gate_2.115 animation gateTrg2 is_animated 0 move_block all @@ -2277,36 +2191,34 @@ wc 7 dam 1 maxsp 0 -editable 16 maxhp 20 hp 20 speed 0.35 value 1 -editor_folder connect/Gates end Object grate_open_1 name grate +face grate_1.111 type 91 +editor_folder connect/Gates activate_on_push 1 activate_on_release 1 no_pick 1 -face grate_1.111 animation grate_open_1 is_animated 0 wc 0 dam 5 maxsp 1 ac 1 -editable 16 -editor_folder connect/Gates end Object grate_closed_1 name grate +face grate_1.118 type 91 +editor_folder connect/Gates activate_on_push 1 activate_on_release 1 no_pick 1 -face grate_1.118 animation grate_closed_1 is_animated 0 move_block all @@ -2314,32 +2226,30 @@ maxsp 0 dam 5 ac 1 -editable 16 -editor_folder connect/Gates end Object grate_open_2 name iron gate +face grate_2.111 type 91 +editor_folder connect/Gates activate_on_push 1 activate_on_release 1 no_pick 1 -face grate_2.111 animation grate_open_2 is_animated 0 hp 0 dam 5 maxsp 1 ac 1 -editable 16 -editor_folder connect/Gates end Object grate_closed_2 name grate +face grate_2.118 type 91 +editor_folder connect/Gates activate_on_push 1 activate_on_release 1 no_pick 1 -face grate_2.118 animation grate_closed_2 is_animated 0 move_block all @@ -2347,32 +2257,29 @@ ac 1 dam 5 maxsp 0 -editable 16 -editor_folder connect/Gates end Object gratedoor_1 face gratedoor1.111 +editor_folder connect/Gates blocksview 1 no_pick 1 move_block all -editable 16 -editor_folder connect/Gates end Object gratedoor_2 face gratedoor2.111 +editor_folder connect/Gates blocksview 1 no_pick 1 move_block all -editable 16 -editor_folder connect/Gates end Object igateTrg1 name iron gate +face iron_gate1.118 type 26 +editor_folder connect/Gates activate_on_push 1 activate_on_release 1 no_pick 1 -face iron_gate1.118 animation igateTrg1 is_animated 0 move_block all @@ -2382,20 +2289,19 @@ wc 7 maxsp 0 dam 6 -editable 16 maxhp 20 hp 20 speed 0.35 value 1 -editor_folder connect/Gates end Object igateTrg2 name iron gate +face iron_gate2.116 type 26 +editor_folder connect/Gates activate_on_push 1 activate_on_release 1 no_pick 1 -face iron_gate2.116 animation igateTrg2 is_animated 0 move_block all @@ -2405,20 +2311,19 @@ wc 5 dam 6 maxsp 0 -editable 16 maxhp 20 hp 20 speed 0.35 value 1 -editor_folder connect/Gates end Object igate_closed_1 name iron gate +face iron_gate1.118 type 91 +editor_folder connect/Gates activate_on_push 1 activate_on_release 1 no_pick 1 -face iron_gate1.118 animation igate_closed_1 is_animated 0 move_block all @@ -2428,16 +2333,15 @@ wc 7 maxsp 0 dam 6 -editable 16 -editor_folder connect/Gates end Object igate_closed_2 name iron gate +face iron_gate2.116 type 91 +editor_folder connect/Gates activate_on_push 1 activate_on_release 1 no_pick 1 -face iron_gate2.116 animation igate_closed_2 is_animated 0 move_block all @@ -2447,50 +2351,47 @@ wc 5 dam 6 maxsp 0 -editable 16 -editor_folder connect/Gates end Object igate_open_1 name iron gate +face iron_gate1.111 type 91 +editor_folder connect/Gates activate_on_push 1 activate_on_release 1 no_pick 1 damned 1 no_magic 1 -face iron_gate1.111 animation igate_open_1 is_animated 0 wc 0 dam 6 maxsp 1 -editable 16 -editor_folder connect/Gates end Object igate_open_2 name iron gate +face iron_gate2.111 type 91 +editor_folder connect/Gates activate_on_push 1 activate_on_release 1 no_pick 1 damned 1 no_magic 1 -face iron_gate2.111 animation igate_open_2 is_animated 0 hp 0 dam 6 maxsp 1 -editable 16 -editor_folder connect/Gates end Object spike_moving name spike +face spike.114 type 91 +editor_folder connect/Gates activate_on_push 1 activate_on_release 1 no_pick 1 -face spike.114 speed -2 animation spike_moving is_animated 0 @@ -2499,32 +2400,30 @@ maxsp 0 dam 256 ac 1 -editable 16 -editor_folder connect/Gates end Object spike_open name spike +face spike.122 type 91 +editor_folder connect/Gates activate_on_push 1 activate_on_release 1 no_pick 1 -face spike.122 animation spike_open is_animated 0 wc 0 dam 256 maxsp 1 ac 1 -editable 16 -editor_folder connect/Gates end Object spike_closed name spike +face spike.111 type 91 +editor_folder connect/Gates activate_on_push 1 activate_on_release 1 no_pick 1 -face spike.111 animation spike_closed is_animated 0 move_block all @@ -2532,32 +2431,30 @@ maxsp 0 dam 256 ac 1 -editable 16 -editor_folder connect/Gates end Object spike_hidden name spike +face spike.110 type 91 +editor_folder connect/Gates activate_on_push 1 activate_on_release 1 no_pick 1 -face spike.110 animation spike_hidden is_animated 0 wc 0 dam 256 maxsp 1 ac 1 -editable 16 -editor_folder connect/Gates end Object spikes_moving name spikes +face spikes.113 type 91 +editor_folder connect/Gates activate_on_push 1 activate_on_release 1 no_pick 1 -face spikes.113 speed -1 animation spikes_moving is_animated 0 @@ -2566,32 +2463,30 @@ maxsp 0 dam 8 ac 1 -editable 16 -editor_folder connect/Gates end Object spikes_open name spikes +face spikes.119 type 91 +editor_folder connect/Gates activate_on_push 1 activate_on_release 1 no_pick 1 -face spikes.119 animation spikes_open is_animated 0 wc 0 dam 8 maxsp 1 ac 1 -editable 16 -editor_folder connect/Gates end Object spikes_closed name spikes +face spikes.111 type 91 +editor_folder connect/Gates activate_on_push 1 activate_on_release 1 no_pick 1 -face spikes.111 animation spikes_closed is_animated 0 move_block all @@ -2599,466 +2494,422 @@ maxsp 0 dam 8 ac 1 -editable 16 -editor_folder connect/Gates end Object spikes_hidden name spikes +face spikes.110 type 91 +editor_folder connect/Gates activate_on_push 1 activate_on_release 1 no_pick 1 -face spikes.110 animation spikes_hidden is_animated 0 wc 0 dam 8 maxsp 1 ac 1 -editable 16 -editor_folder connect/Gates end Object pit_closed name pit +face hole.11A type 94 +editor_folder connect/Hole activate_on_push 1 activate_on_release 1 no_pick 1 -face hole.11A animation pit_closed is_animated 0 wc 10 maxsp 0 -editable 18 -editor_folder connect/Hole end Object pit_open name pit +face hole.111 type 94 +editor_folder connect/Hole activate_on_push 1 activate_on_release 1 no_pick 1 -face hole.111 animation pit_open is_animated 0 walk_on 1 wc 0 maxsp 1 -editable 18 -editor_folder connect/Hole end Object pit_white-pink-c-marble_111_closed name marble -is_floor 1 +face white-pink-c-marble.111 type 94 +editor_folder connect/Hole +is_floor 1 activate_on_push 1 activate_on_release 1 no_pick 1 -face white-pink-c-marble.111 animation pit_white-pink-c-marble_111_closed is_animated 0 wc 10 maxsp 0 -editable 18 -editor_folder connect/Hole end Object pit_white-pink-c-marble_111_open name pit -is_floor 1 +face hole_white-any-c-marble.111 type 94 +editor_folder connect/Hole +is_floor 1 activate_on_push 1 activate_on_release 1 no_pick 1 -face hole_white-any-c-marble.111 animation pit_white-pink-c-marble_111_open is_animated 0 walk_on 1 wc 0 maxsp 1 -editable 18 -editor_folder connect/Hole end - - Object pit_white-pink-c-marble_112_closed name marble -is_floor 1 +face white-pink-c-marble.112 type 94 +editor_folder connect/Hole +is_floor 1 activate_on_push 1 activate_on_release 1 no_pick 1 -face white-pink-c-marble.112 animation pit_white-pink-c-marble_112_closed is_animated 0 wc 10 maxsp 0 -editable 18 -editor_folder connect/Hole end Object pit_white-pink-c-marble_112_open name pit -is_floor 1 +face hole_white-any-c-marble.112 type 94 +editor_folder connect/Hole +is_floor 1 activate_on_push 1 activate_on_release 1 no_pick 1 -face hole_white-any-c-marble.112 animation pit_white-pink-c-marble_112_open is_animated 0 walk_on 1 wc 0 maxsp 1 -editable 18 -editor_folder connect/Hole end - - Object pit_white-pink-c-marble_113_closed name marble -is_floor 1 +face white-pink-c-marble.113 type 94 +editor_folder connect/Hole +is_floor 1 activate_on_push 1 activate_on_release 1 no_pick 1 -face white-pink-c-marble.113 animation pit_white-pink-c-marble_113_closed is_animated 0 wc 10 maxsp 0 -editable 18 -editor_folder connect/Hole end Object pit_white-pink-c-marble_113_open name pit -is_floor 1 +face hole_white-any-c-marble.113 type 94 +editor_folder connect/Hole +is_floor 1 activate_on_push 1 activate_on_release 1 no_pick 1 -face hole_white-any-c-marble.113 animation pit_white-pink-c-marble_113_open is_animated 0 walk_on 1 wc 0 maxsp 1 -editable 18 -editor_folder connect/Hole end - - Object pit_white-pink-c-marble_114_closed name marble -is_floor 1 +face white-pink-c-marble.114 type 94 +editor_folder connect/Hole +is_floor 1 activate_on_push 1 activate_on_release 1 no_pick 1 -face white-pink-c-marble.114 animation pit_white-pink-c-marble_114_closed is_animated 0 wc 10 maxsp 0 -editable 18 -editor_folder connect/Hole end Object pit_white-pink-c-marble_114_open name pit -is_floor 1 +face hole_white-any-c-marble.114 type 94 +editor_folder connect/Hole +is_floor 1 activate_on_push 1 activate_on_release 1 no_pick 1 -face hole_white-any-c-marble.114 animation pit_white-pink-c-marble_114_open is_animated 0 walk_on 1 wc 0 maxsp 1 -editable 18 -editor_folder connect/Hole end Object pit_white-red-c-marble_111_closed name marble -is_floor 1 +face white-red-c-marble.111 type 94 +editor_folder connect/Hole +is_floor 1 activate_on_push 1 activate_on_release 1 no_pick 1 -face white-red-c-marble.111 animation pit_white-red-c-marble_111_closed is_animated 0 wc 10 maxsp 0 -editable 18 -editor_folder connect/Hole end Object pit_white-red-c-marble_111_open name pit -is_floor 1 +face hole_white-any-c-marble.111 type 94 +editor_folder connect/Hole +is_floor 1 activate_on_push 1 activate_on_release 1 no_pick 1 -face hole_white-any-c-marble.111 animation pit_white-red-c-marble_111_open is_animated 0 walk_on 1 wc 0 maxsp 1 -editable 18 -editor_folder connect/Hole end - - Object pit_white-red-c-marble_112_closed name marble -is_floor 1 +face white-red-c-marble.112 type 94 +editor_folder connect/Hole +is_floor 1 activate_on_push 1 activate_on_release 1 no_pick 1 -face white-red-c-marble.112 animation pit_white-red-c-marble_112_closed is_animated 0 wc 10 maxsp 0 -editable 18 -editor_folder connect/Hole end Object pit_white-red-c-marble_112_open name pit -is_floor 1 +face hole_white-any-c-marble.112 type 94 +editor_folder connect/Hole +is_floor 1 activate_on_push 1 activate_on_release 1 no_pick 1 -face hole_white-any-c-marble.112 animation pit_white-red-c-marble_112_open is_animated 0 walk_on 1 wc 0 maxsp 1 -editable 18 -editor_folder connect/Hole end - - Object pit_white-red-c-marble_113_closed name marble -is_floor 1 +face white-red-c-marble.113 type 94 +editor_folder connect/Hole +is_floor 1 activate_on_push 1 activate_on_release 1 no_pick 1 -face white-red-c-marble.113 animation pit_white-red-c-marble_113_closed is_animated 0 wc 10 maxsp 0 -editable 18 -editor_folder connect/Hole end Object pit_white-red-c-marble_113_open name pit -is_floor 1 +face hole_white-any-c-marble.113 type 94 +editor_folder connect/Hole +is_floor 1 activate_on_push 1 activate_on_release 1 no_pick 1 -face hole_white-any-c-marble.113 animation pit_white-red-c-marble_113_open is_animated 0 walk_on 1 wc 0 maxsp 1 -editable 18 -editor_folder connect/Hole end - - Object pit_white-red-c-marble_114_closed name marble -is_floor 1 +face white-red-c-marble.114 type 94 +editor_folder connect/Hole +is_floor 1 activate_on_push 1 activate_on_release 1 no_pick 1 -face white-red-c-marble.114 animation pit_white-red-c-marble_114_closed is_animated 0 wc 10 maxsp 0 -editable 18 -editor_folder connect/Hole end Object pit_white-red-c-marble_114_open name pit -is_floor 1 +face hole_white-any-c-marble.114 type 94 +editor_folder connect/Hole +is_floor 1 activate_on_push 1 activate_on_release 1 no_pick 1 -face hole_white-any-c-marble.114 animation pit_white-red-c-marble_114_open is_animated 0 walk_on 1 wc 0 maxsp 1 -editable 18 -editor_folder connect/Hole end Object trapdoor_1 name trapdoor -type 95 face trapdoor_1.111 +type 95 +editor_folder connect/Hole animation trapdoor_1 walk_on 1 no_pick 1 weight 100000 -editable 2 -editor_folder connect/Hole end Object trapdoor_2 name trapdoor -type 95 face trapdoor_2.111 +type 95 +editor_folder connect/Hole animation trapdoor_2 walk_on 1 no_pick 1 weight 999999 -editable 2 -editor_folder connect/Hole end Object trapdoor_3 name trapdoor -type 95 face trapdoor_3.111 +type 95 +editor_folder connect/Hole animation trapdoor_3 walk_on 1 no_pick 1 weight 1 -editable 2 -editor_folder connect/Hole end Object trapdoor_4 name trapdoor -type 95 face trapdoor_4.111 +type 95 +editor_folder connect/Hole animation trapdoor_4 walk_on 1 no_pick 1 weight 120000 -editable 2 -editor_folder connect/Hole end Object spinner_-135 name spinner face spinner.11B -speed 1 type 90 +editor_folder connect/Spinner +speed 1 no_pick 1 sp 3 walk_on 1 fly_on 1 animation spinner_-135 -editable 32 -editor_folder connect/Spinner end Object spinner_-90 name spinner face spinner.11B -speed 1 type 90 +editor_folder connect/Spinner +speed 1 no_pick 1 sp 2 walk_on 1 fly_on 1 animation spinner_-90 -editable 32 -editor_folder connect/Spinner end Object spinner_-45 name spinner face spinner.11B -speed 0.5 type 90 +editor_folder connect/Spinner +speed 0.5 no_pick 1 sp 1 walk_on 1 fly_on 1 animation spinner_-45 -editable 32 -editor_folder connect/Spinner end Object spinner_45 name spinner face spinner.111 -speed 0.5 type 90 +editor_folder connect/Spinner +speed 0.5 no_pick 1 sp -1 walk_on 1 fly_on 1 animation spinner_45 -editable 32 -editor_folder connect/Spinner end Object spinner_90 name spinner face spinner.111 -speed 1 type 90 +editor_folder connect/Spinner +speed 1 no_pick 1 sp -2 walk_on 1 fly_on 1 animation spinner_90 -editable 32 -editor_folder connect/Spinner end Object spinner_135 name spinner face spinner.111 -speed 1 type 90 +editor_folder connect/Spinner +speed 1 no_pick 1 sp -3 walk_on 1 fly_on 1 animation spinner_135 -editable 32 -editor_folder connect/Spinner end Object spinner_180 name spinner face spinner.11B -speed 1 type 90 +editor_folder connect/Spinner +speed 1 no_pick 1 sp 4 walk_on 1 fly_on 1 animation spinner_180 -editable 32 -editor_folder connect/Spinner end Object altar -slaying food +face altar.111 type 18 +editor_folder connect/connect +slaying food activate_on_push 1 activate_on_release 1 -face altar.111 food 10 animation altar no_pick 1 walk_on 1 -editable 48 -editor_folder connect end Object button_plate name large button -type 92 face button_big.111 +type 92 +editor_folder connect/connect activate_on_push 1 activate_on_release 1 animation button_plate @@ -3067,44 +2918,41 @@ weight 1000000 walk_on 1 walk_off 1 -editable 48 -editor_folder connect end Object button_small name small button +face button_sma.111 type 92 +editor_folder connect/connect activate_on_push 1 activate_on_release 1 -face button_sma.111 animation button_small is_animated 0 no_pick 1 weight 1 walk_on 1 walk_off 1 -editable 48 -editor_folder connect end Object check_inv name check_inv -invisible 1 -type 64 face check_inv.111 +type 64 +editor_folder connect/connect +invisible 1 no_pick 1 -editable 48 walk_on 1 walk_off 1 slaying setme last_sp 1 -editor_folder connect end Object cwall_closed_1 name wall +face cwallsec.118 type 91 +editor_folder connect/connect activate_on_push 1 activate_on_release 1 no_pick 1 -face cwallsec.118 animation cwall_closed_1 is_animated 0 move_block all @@ -3114,33 +2962,31 @@ wc 7 maxsp 0 dam 6 -editable 16 -editor_folder connect end Object cwall_open_1 name wall +face cwallsec.111 type 91 +editor_folder connect/connect activate_on_push 1 activate_on_release 1 no_pick 1 damned 1 no_magic 1 -face cwallsec.111 animation cwall_open_1 is_animated 0 wc 0 dam 6 maxsp 1 -editable 16 -editor_folder connect end Object cwallmural1_closed_1 name wall +face cwallsec_mural_1.118 type 91 +editor_folder connect/connect activate_on_push 1 activate_on_release 1 no_pick 1 -face cwallsec_mural_1.118 animation cwallmural1_closed_1 is_animated 0 move_block all @@ -3150,242 +2996,225 @@ wc 7 maxsp 0 dam 6 -editable 16 -editor_folder connect end Object cwallmural1_open_1 name wall +face cwallsec_mural_1.111 type 91 +editor_folder connect/connect activate_on_push 1 activate_on_release 1 no_pick 1 damned 1 no_magic 1 -face cwallsec_mural_1.111 animation cwallmural1_open_1 is_animated 0 wc 0 dam 6 maxsp 1 -editable 16 -editor_folder connect end Object detector name detector -slaying player -type 51 face pedestal.112 +type 51 +editor_folder connect/connect +slaying player animation detector speed 0.5 no_pick 1 -editable 48 sp 1 -editor_folder connect end Object button_handle name handle +face handle.111 type 93 +editor_folder connect/connect activate_on_push 1 activate_on_release 1 -face handle.111 no_pick 1 animation button_handle -editable 48 client_type 25042 -editor_folder connect end Object button_lever name lever +face lever.111 type 93 +editor_folder connect/connect activate_on_push 1 activate_on_release 1 -face lever.111 no_pick 1 animation button_lever -editable 48 client_type 25042 -editor_folder connect end Object magic_ear -type 29 face magic_ear.111 +type 29 +editor_folder connect/connect msg @match sesame Click. endmsg no_pick 1 invisible 1 -editable 48 -editor_folder connect end Object magic_mouth face magicmouth.111 type 98 +editor_folder connect/connect activate_on_push 1 activate_on_release 1 walk_on 1 fly_on 1 no_pick 1 invisible 1 -editable 136 -editor_folder connect end Object mover_turn name mover face director.181 +type 40 +editor_folder connect/connect animation mover_turn invisible 1 speed 0.2 -type 40 move_type walk no_pick 1 maxsp 1 walk_on 1 fly_on 1 -editable 32 -editor_folder connect end Object mover_1 name mover face director.111 +type 40 +edito... [truncated message content] |
From: <aki...@us...> - 2007-05-21 18:40:00
|
Revision: 2666 http://svn.sourceforge.net/gridarta/?rev=2666&view=rev Author: akirschbaum Date: 2007-05-19 20:09:28 -0700 (Sat, 19 May 2007) Log Message: ----------- Fix #1684128 (Collect Archetypes crashes). Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/gameobject/face/FaceObjects.java Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-05-20 02:04:38 UTC (rev 2665) +++ trunk/crossfire/ChangeLog 2007-05-20 03:09:28 UTC (rev 2666) @@ -1,5 +1,7 @@ 2007-05-20 Andreas Kirschbaum + * Fix #1684128 (Collect Archetypes crashes). + * Make "enter exit" for exits pointing to same map work; in "enter exit", do not close old map if other map views exist. Modified: trunk/crossfire/src/cfeditor/gameobject/face/FaceObjects.java =================================================================== --- trunk/crossfire/src/cfeditor/gameobject/face/FaceObjects.java 2007-05-20 02:04:38 UTC (rev 2665) +++ trunk/crossfire/src/cfeditor/gameobject/face/FaceObjects.java 2007-05-20 03:09:28 UTC (rev 2666) @@ -153,19 +153,7 @@ } // create path string - final String pname1; - int tmp; - if ((tmp = faceObject.getPath().indexOf("arch" + File.separator)) >= 0) { - // cut off the path before "arch" - pname1 = faceObject.getPath().substring(tmp).replace('\\', '/').replace('.', '%'); - } else if ((tmp = faceObject.getPath().indexOf("arch")) >= 0) { - // cut off the path before "arch" - pname1 = faceObject.getPath().substring(tmp).replace('\\', '/').replace('.', '%'); - } else { - // hope nobody renames his arch-dir and ends up in here - pname1 = "arch" + faceObject.getPath().substring(AbstractMainControl.getInstance().getArchDefaultFolder().length()).replace('\\', '/'); - } - final String pname = "./" + pname1.substring(0, pname1.lastIndexOf("/") + 1); + final String pname = getPathName(faceObject); // now write this png data into the big collected png file binFile.writeBytes("IMAGE " + numstring2 + " " + numBytes + " " + pname + faceObject.getName() + "\n"); @@ -190,8 +178,8 @@ int i = 0; for (final FaceObject faceObject : this) { final String face = faceObject.getFaceName(); - final String path = faceObject.getPath(); - treeFile.format("\\%05d %s\n", i, path.substring(stripPath, path.length() - 4).replace('\\', '/')); + final String path = getPathName(faceObject); + treeFile.format("\\%05d\t%s\n", i, path.replace('\\', '/') + face); if (i++ % 100 == 0) { progress.setValue(i); } @@ -201,4 +189,28 @@ } } + /** + * Return the path name of a face object relative to the archetype + * directory. + * + * @param faceObject The face object. + * + * @return The relative path name. + */ + private String getPathName(final FaceObject faceObject) { + final String pname1; + int tmp; + if ((tmp = faceObject.getPath().indexOf("arch" + File.separator)) >= 0) { + // cut off the path before "arch" + pname1 = faceObject.getPath().substring(tmp).replace('\\', '/').replace('.', '%'); + } else if ((tmp = faceObject.getPath().indexOf("arch")) >= 0) { + // cut off the path before "arch" + pname1 = faceObject.getPath().substring(tmp).replace('\\', '/').replace('.', '%'); + } else { + // hope nobody renames his arch-dir and ends up in here + pname1 = "arch" + faceObject.getPath().substring(AbstractMainControl.getInstance().getArchDefaultFolder().length()).replace('\\', '/'); + } + return "./" + pname1.substring(0, pname1.lastIndexOf("/") + 1); + } + } // class FaceObjects This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2007-05-24 06:11:49
|
Revision: 2688 http://svn.sourceforge.net/gridarta/?rev=2688&view=rev Author: akirschbaum Date: 2007-05-23 23:11:50 -0700 (Wed, 23 May 2007) Log Message: ----------- Remove support for obsolete "Ability" object type from cfeditor. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/resource/conf/types.xml Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-05-23 20:44:38 UTC (rev 2687) +++ trunk/crossfire/ChangeLog 2007-05-24 06:11:50 UTC (rev 2688) @@ -1,3 +1,7 @@ +2007-05-24 Andreas Kirschbaum + + * Remove support for obsolete "Ability" object type. + 2007-05-23 Andreas Kirschbaum * Remove obsolete function "collect spells". Modified: trunk/crossfire/resource/conf/types.xml =================================================================== --- trunk/crossfire/resource/conf/types.xml 2007-05-23 20:44:38 UTC (rev 2687) +++ trunk/crossfire/resource/conf/types.xml 2007-05-24 06:11:50 UTC (rev 2688) @@ -493,70 +493,6 @@ </type> <!--####################################################################--> -<type number="110" name="Ability"> - <ignore> - <ignore_list name="system_object" /> - </ignore> - <description><![CDATA[ - Abilities are to be put in a monster's inventory. They grant monsters the - knowledge to cast spells. Spells from abilities are usually magical in - nature, thus adding magic attacktype to the spell-damage they produce. - <br><br> - A particularly nice feature of abilities is that they can hold two - spells: One for short range- and one for long range use. - <br><br> - You should know that spellcasting monsters receive abilities via - <treasurelist>. ]]> - </description> - <use><![CDATA[ - If you want to create "customized" spellcasting monsters, you - should use abilities (rather than spellbooks/wands or something). - The long/short-range spell feature can make boss-monsters more - interesting and challenging. - <br><br> - You should keep in mind that magic abilities allow players - to get better resistance. You can turn off the magic part to - make the spells more dangerous. However, this really shouldn't - be necessary unless you work on very high level maps. - And what fun is a magic resistance cloak when it has no effect? ]]> - </use> - <attribute arch="invisible" value="1" type="fixed" /> - <attribute arch="no_drop" value="1" type="fixed" /> - <attribute arch="sp" editor="short range spell" type="spell"> - The monster will use the specified <short range spell> - when the player is within 6-square radius (of the - monster's head). - </attribute> - <attribute arch="hp" editor="long range spell" type="nz_spell"> - The monster will use the specified <long range spell> - when the player is at least 6 squares away (from the - monster's head). - - Setting a <long range spell> is optional. If unset, the - <short range spell> gets used all the time. - </attribute> - <attribute arch="maxsp" editor="importance" type="int"> - Sometimes you'll want a monster to use one ability more than others. - To achieve this, set the <importance> to a value greater than - one. Abilities with this value zero/unset are counted to be of - <importance> one. - - Example: A monster with "small fireball" of <importance> 3 and - "paralyze" of <importance> 1 will averagely cast three out of four - times the "small fireball". - </attribute> - <attribute arch="attacktype" editor="is magical" true="2" false="0" type="bool_special"> - This flag specifies whether the ability <is magical> in nature. - If enabled, all spells produced by this ability will have magic - attacktype added to the usual attacktypes. - - This should always be set for spell-like abilities. "Natural" - abilities like a dragon's firebreath are an exception. - Note that non-magical abilities are more dangerous because - magic resistance does not protect from those.</attribute> -</type> - -<!--####################################################################--> <type number="18" name="Altar"> <ignore> <ignore_list name="non_pickable" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2007-09-05 18:51:57
|
Revision: 2874 http://gridarta.svn.sourceforge.net/gridarta/?rev=2874&view=rev Author: akirschbaum Date: 2007-09-05 11:51:27 -0700 (Wed, 05 Sep 2007) Log Message: ----------- Fix part of #1555837 (Doesn't support new move_type system): add 'move_on' and 'move_off' game object attributes. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/resource/conf/types.xml Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-08-21 07:28:39 UTC (rev 2873) +++ trunk/crossfire/ChangeLog 2007-09-05 18:51:27 UTC (rev 2874) @@ -1,3 +1,8 @@ +2007-09-05 Andreas Kirschbaum + + * Fix part of #1555837 (Doesn't support new move_type system): add + 'move_on' and 'move_off' game object attributes. + 2007-08-06 Andreas Kirschbaum * Accelerate map tile selection. Modified: trunk/crossfire/resource/conf/types.xml =================================================================== --- trunk/crossfire/resource/conf/types.xml 2007-08-21 07:28:39 UTC (rev 2873) +++ trunk/crossfire/resource/conf/types.xml 2007-09-05 18:51:27 UTC (rev 2874) @@ -507,7 +507,7 @@ Either way, the sacrificed item disappears. ]]> </description> <attribute arch="no_pick" value="1" type="fixed" /> - <attribute arch="walk_on" value="1" type="fixed" /> + <attribute arch="move_on" value="walk" type="fixed" /> <attribute arch="move_block" editor="blocked movement" type="bitmask_movement"> If set, the object cannot be passed by players nor monsters. </attribute> @@ -614,8 +614,7 @@ used for altars being connected to gates, resulting in the gate being opened and closed again. </attribute> - <attribute arch="walk_on" value="1" type="fixed"> - </attribute> + <attribute arch="move_on" value="walk" type="fixed" /> <attribute arch_begin="msg" arch_end="endmsg" editor="message" type="text"> This text will be displayed to the player in the exact moment when the altar is activated. @@ -1061,8 +1060,8 @@ player or monster steps on it. When the button is "released", the <connection> value gets triggered a second time. ]]> </description> - <attribute arch="walk_on" value="1" type="fixed" /> - <attribute arch="walk_off" value="1" type="fixed" /> + <attribute arch="move_on" value="walk" type="fixed" /> + <attribute arch="move_off" value="walk" type="fixed" /> <attribute arch="no_pick" value="1" type="fixed" /> <attribute arch="weight" editor="press weight" type="int"> The button is pressed (triggered), as soon as @@ -1401,8 +1400,9 @@ A director with direction <none> simply stops projectiles. (The latter works out a bit strange for some spells). </attribute> - <attribute arch="walk_on" value="1" type="fixed" /> - <attribute arch="fly_on" value="1" type="fixed" /> + <attribute arch="move_on" editor="affected movement" type="bitmask_movement"> + The movement types this director affects. + </attribute> </type> <!--####################################################################--> @@ -1718,15 +1718,11 @@ <attribute arch="move_block" editor="blocked movement" type="bitmask_movement"> If set, the object cannot be passed by players nor monsters. </attribute> - <attribute arch="walk_on" editor="apply by walking" type="bool"> - If set, the player will apply the exit by just walking into it. This must - be set for the invisible exits for example. If unset, the player has + <attribute arch="move_on" editor="apply movement" type="bitmask_movement"> + If set, the player will auto-apply the exit with these movement types. + This must be set for the invisible exits for example. If unset, the player has to step onto the exit and press 'a' to get transferred. </attribute> - <attribute arch="fly_on" editor="apply by flying" type="bool"> - If set, the player will apply the exit by "flying into it". Flying means - the player is levitating. E.g. wearing levitation boots. - </attribute> <attribute arch_begin="msg" arch_end="endmsg" editor="exit message" type="text"> If set, this message will be displayed to the player when he applies the exit. This is quite useful to throw in some "role-play feeling": "As you enter the @@ -2175,7 +2171,7 @@ </use> <attribute arch="is_floor" value="1" type="fixed" /> <attribute arch="lifesave" value="1" type="fixed" /> - <attribute arch="walk_on" value="1" type="fixed" /> + <attribute arch="move_on" value="walk" type="fixed" /> <attribute arch="no_pick" value="1" type="fixed" /> <attribute arch="move_block" editor="blocked movement" type="bitmask_movement"> If set, the object cannot be passed by players nor monsters. @@ -3376,13 +3372,11 @@ <attribute arch="move_type" editor="movement type" type="bitmask_movement"> Determines which movement types this mover affects. </attribute> - <attribute arch="walk_on" editor="move walking creatures" type="bool"> - This should always be set. + <attribute arch="walk_on" editor="affected movement types" type="bitmask_movement"> + This should always be set to "walk". </attribute> - <attribute arch="fly_on" editor="move flying creatures" type="bool"> - Move flying creatures enabled means all flying (living) - objects will get moved too. If disabled, only walking - (non-flying) creatures will get moved. + <attribute arch="move_on" editor="affected movement" type="bitmask_movement"> + Move creatures using these movement types.. </attribute> </section> </type> @@ -3420,8 +3414,8 @@ When the pedestal is triggered, all objects with the same connection value get activated. </attribute> - <attribute arch="walk_on" value="1" type="fixed" /> - <attribute arch="walk_off" value="1" type="fixed" /> + <attribute arch="move_on" value="walk" type="fixed" /> + <attribute arch="move_off" value="walk" type="fixed" /> </type> <!--####################################################################--> @@ -3467,15 +3461,11 @@ about 6 or 7) means completely closed/up state. I suggest you don't mess with this value - Leave the default in place. </attribute> - <attribute arch="walk_on" editor="swallow walking" type="bool"> - If set, all walking creatures will fall into the pit. - This does NOT need to be set for closed pits! - </attribute> - <attribute arch="fly_on" editor="swallow flying" type="bool"> - If set, all flying creatures will fall into the pit as well. - This is not the behavior expected from a pit, and it should - only be used for map-mechanisms (e.g. for transporting flying - monsters). + <attribute arch="move_on" editor="affected movement" type="bitmask_movement"> + Make creatures using these movement types fall into the pit. + Movement types other than walking is not the behavior expected from a + pit, and it should only be used for map-mechanisms (e.g. for + transporting flying monsters). An interesting side-effect: If this flag is enabled, spell effects like fire/snow also make their way through the pit. </attribute> @@ -3836,7 +3826,7 @@ together with spellcasting- and attack-runes is usually a bad idea. ]]> </use> <attribute arch="no_pick" value="1" type="fixed" /> - <attribute arch="walk_on" value="1" type="fixed" /> + <attribute arch="move_on" value="walk" type="fixed" /> <attribute arch="level" editor="rune level" type="int"> This value sets the level the rune will cast the spell it contains at, if applicable. A level 99 rune casts a very, very mean spell of whatever. @@ -4188,14 +4178,10 @@ Not more and not less than that. ]]> </use> <attribute arch="no_pick" value="1" type="fixed" /> - <attribute arch="walk_on" editor="apply by walking" type="bool"> - If set, the player can enter/leave the - shop by just walking into the shop mat. + <attribute arch="move_on" editor="affected movement" type="bitmask_movement"> + If set, the player can enter/leave the shop by using these + movement types. </attribute> - <attribute arch="fly_on" editor="apply by flying" type="bool"> - If set, the player can enter/leave the - shop by "flying" into the shop mat. - </attribute> </type> <!--####################################################################--> @@ -4222,17 +4208,14 @@ If activating your magic_mouth this way, the message will not only be printed to one player, but all players on the current map. </attribute> - <attribute arch="walk_on" editor="activate by walking" type="bool"> - If set, the player gets the message when walking on top of the object. + <attribute arch="move_on" editor="affected movement" type="bitmask_movement"> + If set, the player gets the message when using these movement types on top + of the object. "invisible 1" should be set in this case. This is the typical configuration for a "magic_mouth": The player walks through a dungeon and suddenly he gets a message. Use this to create some roleplay atmosphere, and to inform the player about possible dangers or secrets. </attribute> - <attribute arch="fly_on" editor="activate by flying" type="bool"> - If set, the player gets the message when flying (=levitating) on top - of the object. Usually this should be set together with walk_on. - </attribute> <attribute arch="food" editor="counter" type="int"> If a counter-value is set (greater zero), the sign/magic_mouth can be applied (printing the message) only that many times. For signs this really shouldn't @@ -4511,8 +4494,9 @@ Example: <direction number> -2 means spin 90 degrees clockwise. </attribute> - <attribute arch="walk_on" value="1" type="fixed" /> - <attribute arch="fly_on" value="1" type="fixed" /> + <attribute arch="move_on" editor="affected movement" type="bitmask_movement"> + The movement types this spinner affects. + </attribute> </type> <!--####################################################################--> @@ -4528,7 +4512,7 @@ Players with knowledge of the woodsman skill are a lot less likely to die in the swamp. ]]> </description> - <attribute arch="walk_on" value="1" type="fixed" /> + <attribute arch="move_on" value="walk" type="fixed" /> <attribute arch="is_floor" value="1" type="fixed" /> <attribute arch="is_wooded" value="1" type="fixed" /> <attribute arch="speed" editor="drowning speed" type="float"> @@ -4781,7 +4765,7 @@ off your lightning wall and pit trap is usually a bad idea. ]]> </use> <attribute arch="no_pick" value="1" type="fixed" /> - <attribute arch="walk_on" value="1" type="fixed" /> + <attribute arch="move_on" value="walk" type="fixed" /> <attribute arch="level" editor="trap level" type="int"> Level effects how easily a trap may be found and disarmed, and how much experience the player gets for doing so. Beware: High level @@ -4834,7 +4818,7 @@ are not supposed to be used to randomly interconnect maps like teleporters. ]]> </use> <attribute arch="no_pick" value="1" type="fixed" /> - <attribute arch="walk_on" value="1" type="fixed" /> + <attribute arch="move_on" value="walk" type="fixed" /> <attribute arch="weight" editor="hold weight" type="int"> This value defines how much weight the trapdoor can hold. Once items or creatures are gathered on the trapdoor, with This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2007-09-07 21:23:33
|
Revision: 2889 http://gridarta.svn.sourceforge.net/gridarta/?rev=2889&view=rev Author: akirschbaum Date: 2007-09-07 14:23:36 -0700 (Fri, 07 Sep 2007) Log Message: ----------- Add map validator module. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/CMainControl.java trunk/crossfire/src/cfeditor/CMapViewBasic.java trunk/crossfire/src/cfeditor/IGUIConstants.java trunk/crossfire/src/cfeditor/MainActions.java trunk/crossfire/src/cfeditor/action.properties trunk/crossfire/src/cfeditor/gui/map/DefaultLevelRenderer.java trunk/crossfire/src/cfeditor/map/MapControl.java trunk/crossfire/src/cfeditor/messages.properties trunk/crossfire/src/cfeditor/messages_de.properties trunk/crossfire/src/cfeditor/messages_fr.properties trunk/crossfire/src/cfeditor/messages_sv.properties Added Paths: ----------- trunk/crossfire/resource/system/warning.png Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-09-07 21:11:41 UTC (rev 2888) +++ trunk/crossfire/ChangeLog 2007-09-07 21:23:36 UTC (rev 2889) @@ -1,3 +1,10 @@ +2007-09-07 Andreas Kirschbaum + + * Add map validator module. For now the following is checked: + - a connected object must not be pickable + - a connected object must not be in an inventory + - the map difficulty must be positive + 2007-09-05 Andreas Kirschbaum * Fix part of #1555837 (Doesn't support new move_type system): add Added: trunk/crossfire/resource/system/warning.png =================================================================== (Binary files differ) Property changes on: trunk/crossfire/resource/system/warning.png ___________________________________________________________________ Name: svn:mime-type + image/png Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2007-09-07 21:11:41 UTC (rev 2888) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2007-09-07 21:23:36 UTC (rev 2889) @@ -35,7 +35,12 @@ import cfeditor.map.MapControl; import cfeditor.script.ScriptController; import cfeditor.spells.Spells; +import java.awt.Image; import java.awt.Point; +import java.awt.Toolkit; +import java.awt.image.FilteredImageSource; +import java.awt.image.ImageFilter; +import java.awt.image.ImageProducer; import java.io.File; import java.io.IOException; import java.util.ArrayList; @@ -62,7 +67,14 @@ import net.sf.gridarta.gui.RecentManager; import net.sf.gridarta.gui.map.MapView; import net.sf.gridarta.gui.undo.UndoControl; +import net.sf.gridarta.map.MapModel; import net.sf.gridarta.map.MapType; +import net.sf.gridarta.map.validation.DefaultErrorCollector; +import net.sf.gridarta.map.validation.DelegatingMapValidator; +import net.sf.gridarta.map.validation.ErrorCollector; +import net.sf.gridarta.map.validation.checks.ConnectedInsideContainerChecker; +import net.sf.gridarta.map.validation.checks.ConnectedPickableChecker; +import net.sf.gridarta.map.validation.checks.MapDifficultyChecker; import net.sf.gridarta.textedit.scripteditor.ScriptEditControl; import net.sf.japi.swing.ActionFactory; import net.sf.japi.swing.ActionMethod; @@ -143,6 +155,8 @@ private static ImageIcon emptyTileIcon; + private static ImageIcon warningSquareIcon; + private static ImageIcon nofaceTileIcon; private static ImageIcon noarchTileIcon; @@ -185,6 +199,9 @@ /** The list of archtype-data (loaded from "types.xml"). */ private CFArchTypeList typeList = null; + /** The map validators. */ + private final DelegatingMapValidator validators; + private final MapCursorControl mapCursorControl; /** The map manager. */ @@ -256,9 +273,24 @@ } treasureListTree = new CFTreasureListTree(archetypeSet); recentManager.initRecent(); + validators = createMapValidators(); } /** + * Initializes the map validators. + * @return A MapValidator that delegates to other map validators. + */ + private static DelegatingMapValidator createMapValidators() { + final DelegatingMapValidator mapValidators = new DelegatingMapValidator(); + mapValidators.add( + new ConnectedInsideContainerChecker(), + new ConnectedPickableChecker(), + new MapDifficultyChecker() + ); + return mapValidators; + } + + /** * Get the static instance of CMainControl. * @return static instance of this class */ @@ -333,6 +365,19 @@ } /** + * Check a map. + * @param map map to check + * @todo that's not nice here. Instead there should be an error model and error listeners. + */ + public void validateMap(final MapModel<GameObject, MapArchObject, Archetype> map) { + final ErrorCollector errorCollector = new DefaultErrorCollector(); + validators.validateAll(map, errorCollector); + for (final MapViewIFrame mapViewIFrame : ((MapControl) map.getMapControl()).getMapViewFrames()) { + mapViewIFrame.getView().setErrors(errorCollector); + } + } + + /** * Runs the garbage collection. */ @SuppressWarnings({"InstanceMethodNamingConvention"}) @@ -842,6 +887,10 @@ return nofaceTileIcon; } + public static ImageIcon getWarningSquareIcon() { + return warningSquareIcon; + } + public static ImageIcon getNoarchTileIcon() { return noarchTileIcon; } @@ -860,12 +909,23 @@ mapCursorIcon = GUIUtils.getSysIcon(IGUIConstants.TILE_CURSOR); emptyTileIcon = GUIUtils.getSysIcon(IGUIConstants.TILE_EMPTY); unknownTileIcon = GUIUtils.getSysIcon(IGUIConstants.TILE_UNKNOWN); + warningSquareIcon = createWarningSquareIcon(); nofaceTileIcon = GUIUtils.getSysIcon(IGUIConstants.TILE_NOFACE); noarchTileIcon = GUIUtils.getSysIcon(IGUIConstants.TILE_NOARCH); defaultIcon = GUIUtils.getSysIcon(IGUIConstants.DEFAULT_ICON); defaultPreview = GUIUtils.getSysIcon(IGUIConstants.DEFAULT_PREVIEW); } + private static ImageIcon createWarningSquareIcon() { + final ImageFilter alphaFilter = FaceObjects.ALPHA_FILTER; + final ImageIcon sysIcon = GUIUtils.getSysIcon(IGUIConstants.TILE_WARNING); + final Image image = sysIcon.getImage(); + final ImageProducer source = image.getSource(); + final FilteredImageSource producer = new FilteredImageSource(source, alphaFilter); + final Image image2 = Toolkit.getDefaultToolkit().createImage(producer); + return new ImageIcon(image2); + } + /** {@inheritDoc} */ public void handleThrowable(final Throwable t) { mainView.handleThrowable(t); Modified: trunk/crossfire/src/cfeditor/CMapViewBasic.java =================================================================== --- trunk/crossfire/src/cfeditor/CMapViewBasic.java 2007-09-07 21:11:41 UTC (rev 2888) +++ trunk/crossfire/src/cfeditor/CMapViewBasic.java 2007-09-07 21:23:36 UTC (rev 2889) @@ -33,6 +33,8 @@ import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; +import java.util.HashMap; +import java.util.Map; import javax.imageio.ImageIO; import javax.swing.JViewport; import net.sf.gridarta.gui.map.MapCursor; @@ -43,6 +45,8 @@ import net.sf.gridarta.map.MapModel; import net.sf.gridarta.map.MapModelEvent; import net.sf.gridarta.map.MapSquare; +import net.sf.gridarta.map.validation.ErrorCollector; +import net.sf.gridarta.map.validation.ValidationError; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -85,6 +89,12 @@ /** The tile palette renderer. */ private final DefaultLevelRenderer renderer; + /** The MapSquares that are known to contain errors. */ + private final Map<MapSquare<GameObject, MapArchObject, Archetype>, ValidationError> erraneousMapSquares = new HashMap<MapSquare<GameObject, MapArchObject, Archetype>, ValidationError>(); + + /** The ArchObjects that are known to contain errors. */ + private final Map<GameObject, ValidationError> erraneousArchObjects = new HashMap<GameObject, ValidationError>(); + @NotNull private final MapUserListener mapUserListener; /** @@ -124,6 +134,8 @@ if (!mapControl.isPickmap()) { renderer.addMouseMotionListener(mainControl.getMainView().getStatusBar()); } + renderer.setErraneousMapSquares(erraneousMapSquares); + renderer.setErraneousArchObjects(erraneousArchObjects); renderer.setFocusable(true); setFocusable(true); } @@ -233,6 +245,27 @@ } /** {@inheritDoc} */ + public void setErrors(final ErrorCollector errors) { + erraneousMapSquares.clear(); + erraneousArchObjects.clear(); + mapGrid.clearErrors(); + for (final ValidationError<GameObject, MapArchObject, Archetype> validationError : errors.getErrors()) { + final MapSquare<GameObject, MapArchObject, Archetype> mapSquare = validationError.getMapSquare(); + final GameObject archObject = validationError.getGameObject(); + if (mapSquare != null) { + erraneousMapSquares.put(mapSquare, validationError); + mapGrid.setError(mapSquare.getMapX(), mapSquare.getMapY()); + } + if (archObject != null) { + erraneousArchObjects.put(archObject, validationError); + final GameObject topContainer = archObject.getTopContainer(); + mapGrid.setError(topContainer.getMapX(), topContainer.getMapY()); + } + } + renderer.repaint(); + } + + /** {@inheritDoc} */ public void mapCursorChangedPos(@NotNull final MapCursorEvent e) { final MapCursor mapCursor = e.getSource(); if (mapCursor.isActive()) { Modified: trunk/crossfire/src/cfeditor/IGUIConstants.java =================================================================== --- trunk/crossfire/src/cfeditor/IGUIConstants.java 2007-09-07 21:11:41 UTC (rev 2888) +++ trunk/crossfire/src/cfeditor/IGUIConstants.java 2007-09-07 21:23:36 UTC (rev 2889) @@ -122,6 +122,8 @@ String TILE_UNKNOWN = "unknown.png"; + String TILE_WARNING = "warning.png"; + String TILE_NOFACE = "noface.png"; String TILE_NOARCH = "noarch.png"; Modified: trunk/crossfire/src/cfeditor/MainActions.java =================================================================== --- trunk/crossfire/src/cfeditor/MainActions.java 2007-09-07 21:11:41 UTC (rev 2888) +++ trunk/crossfire/src/cfeditor/MainActions.java 2007-09-07 21:23:36 UTC (rev 2889) @@ -34,6 +34,7 @@ import net.sf.gridarta.gui.map.MapGridEvent; import net.sf.gridarta.gui.map.MapGridListener; import net.sf.gridarta.gui.map.MapView; +import net.sf.gridarta.map.MapModel; import net.sf.gridarta.map.MapModelEvent; import net.sf.gridarta.map.MapModelListener; import net.sf.japi.swing.ActionFactory; @@ -92,7 +93,15 @@ /** Action called for "reload faces". */ private final Action aReloadFaces = ACTION_FACTORY.createAction(true, "reloadFaces", this); + /** Action called for "validate map". */ + private final Action aValidateMap = ACTION_FACTORY.createAction(true, "validateMap", this); + /** + * The last known active map, or <code>null</code> if no map is active. + */ + @Nullable private MapControl currentMap; + + /** * The last known active map view, or <code>null</code> if no map is * active. */ @@ -105,7 +114,8 @@ /* {@inheritDoc} */ public void currentMapChanged(@Nullable final MapControl mapControl) { - // ignore: a current map view changed event will be generated + currentMap = mapControl; + refreshMenus(); } /* {@inheritDoc} */ @@ -219,6 +229,7 @@ public MainActions(@NotNull final CMainControl mainControl) { this.mainControl = mainControl; mainControl.addMainControlListener(mainControlListener); + currentMap = mainControl.getCurrentMap(); currentMapView = mainControl.getCurrentMapView(); } @@ -248,6 +259,7 @@ aSelectAll.setEnabled(getSelectAllEnabled() != null); aCollectArches.setEnabled(!mainControl.getArchetypeSet().isLoadedFromArchive()); aReloadFaces.setEnabled(!mainControl.getArchetypeSet().isLoadedFromArchive()); + aValidateMap.setEnabled(getValidateMapEnabled() != null); } /** "Clear" was selected from the Edit menu. */ @@ -409,6 +421,14 @@ mainControl.reloadFaces(); } + /** Invoked when "validate map" was selected. */ + @ActionMethod public void validateMap() { + final MapModel<GameObject, MapArchObject, Archetype> mapModel = getValidateMapEnabled(); + if (mapModel != null) { + mainControl.validateMap(mapModel); + } + } + /** * Determine if "clear" is enabled. * @return the map view to clear if "clear" is enabled, or @@ -509,6 +529,16 @@ } /** + * Determine if "validate map" is enabled. + * @return The map model to check if "validate map" is enabled, or + * <code>null</code> otherwise. + */ + private MapModel<GameObject, MapArchObject, Archetype> getValidateMapEnabled() { + final MapControl mapControl = currentMap; + return mapControl == null ? null : mapControl.getMapModel(); + } + + /** * Determine if the current map has a selection. * @return the map view if a selection exists, or <code>null</code> * otherwise Modified: trunk/crossfire/src/cfeditor/action.properties =================================================================== --- trunk/crossfire/src/cfeditor/action.properties 2007-09-07 21:11:41 UTC (rev 2888) +++ trunk/crossfire/src/cfeditor/action.properties 2007-09-07 21:23:36 UTC (rev 2889) @@ -34,7 +34,7 @@ cursor.menu=moveCursor - selectTile startStopDrag addToSelection subFromSelection releaseDrag - insertArch deleteArch - selectArchAbove selectArchBelow - archAttributes #pickmaps.menu: See gridarta resources.menu=collectArches - viewTreasurelists -tools.menu=gc +tools.menu=validateMap - gc analyze.menu= view.menu=- showMonster showExit showBackground showDoor showWall showEquipment showTreasure showConnected resetView - prevWindow nextWindow plugins.menu=- editPlugins - savePlugins exportPluginAs importPlugin Modified: trunk/crossfire/src/cfeditor/gui/map/DefaultLevelRenderer.java =================================================================== --- trunk/crossfire/src/cfeditor/gui/map/DefaultLevelRenderer.java 2007-09-07 21:11:41 UTC (rev 2888) +++ trunk/crossfire/src/cfeditor/gui/map/DefaultLevelRenderer.java 2007-09-07 21:23:36 UTC (rev 2889) @@ -29,7 +29,9 @@ import java.awt.Graphics; import java.awt.Point; import java.awt.Rectangle; +import java.awt.event.MouseEvent; import java.awt.image.BufferedImage; +import java.util.Map; import net.sf.gridarta.Size2D; import net.sf.gridarta.gui.map.MapGrid; import net.sf.gridarta.gui.map.MapGridEvent; @@ -38,6 +40,7 @@ import net.sf.gridarta.map.MapModelEvent; import net.sf.gridarta.map.MapModelListener; import net.sf.gridarta.map.MapSquare; +import net.sf.gridarta.map.validation.ValidationError; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -67,6 +70,9 @@ /** Used to avoid creation millions of points. */ private final Point tmpPoint = new Point(); + /** The MapSquares that are known to contain errors. */ + private Map<MapSquare<GameObject, MapArchObject, Archetype>, ValidationError> erraneousMapSquares; + /** * The map model listener to track changes in {@link #mapModel}. */ @@ -147,6 +153,7 @@ mapSize = mapModel.getMapSize(); this.mapGrid = mapGrid; + setToolTipText("dummy"); setFocusable(true); borderOffset.setLocation(borderSize, borderSize); @@ -170,6 +177,26 @@ } /** {@inheritDoc} */ + @Nullable @Override public String getToolTipText(final MouseEvent event) { + final Point mapLocation = getTileLocationAt(event.getPoint(), tmpPoint); + if (mapLocation == null) { + return null; + } + if (mapGrid.hasError(mapLocation)) { + final MapSquare<GameObject, MapArchObject, Archetype> mapSquare = mapModel.getMapSquare(mapLocation); + + if (erraneousMapSquares.containsKey(mapSquare)) { + final ValidationError error = erraneousMapSquares.get(mapSquare); + return error.getMessage(); + } else { + return null; + } + } else { + return null; + } + } + + /** {@inheritDoc} */ @NotNull public BufferedImage getFullImage() { final int viewWidth = 32 * mapSize.getWidth(); final int viewHeight = 32 * mapSize.getHeight(); @@ -253,6 +280,9 @@ if ((gridFlags & MapGrid.GRID_FLAG_CURSOR) != 0) { CMainControl.getMapCursorIcon().paintIcon(this, grfx, borderOffset.x + point.x * 32, borderOffset.y + point.y * 32); } + if ((gridFlags & MapGrid.GRID_FLAG_ERROR) != 0) { + CMainControl.getWarningSquareIcon().paintIcon(this, grfx, borderOffset.x + point.x * 32, borderOffset.y + point.y * 32); + } } /** @@ -400,6 +430,22 @@ protected abstract void updateAll(); /** + * Sets the ArchObjects that are known to contain errors. + * @param erraneousArchObjects the ArchObjects that are known to contain errors + */ + public void setErraneousArchObjects(final Map<GameObject, ValidationError> erraneousArchObjects) { + //XXX: save erraneousArchObjects + } + + /** + * Sets the MapSquares that are known to contain errors. + * @param erraneousMapSquares the MapSquares that are known to contain errors + */ + public void setErraneousMapSquares(final Map<MapSquare<GameObject, MapArchObject, Archetype>, ValidationError> erraneousMapSquares) { + this.erraneousMapSquares = erraneousMapSquares; + } + + /** * Returns whether the map grid is rendered. * * @return <code>true</code> if the map grid is rendered, otherwise Modified: trunk/crossfire/src/cfeditor/map/MapControl.java =================================================================== --- trunk/crossfire/src/cfeditor/map/MapControl.java 2007-09-07 21:11:41 UTC (rev 2888) +++ trunk/crossfire/src/cfeditor/map/MapControl.java 2007-09-07 21:23:36 UTC (rev 2889) @@ -414,6 +414,14 @@ } /** + * Get the List of all views. + * @return the last used view + */ + public List<MapViewIFrame> getMapViewFrames() { + return mapViewIFrames; + } + + /** * Close a view of this level. * @param mapViewIFrame the view to be closed */ Modified: trunk/crossfire/src/cfeditor/messages.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages.properties 2007-09-07 21:11:41 UTC (rev 2888) +++ trunk/crossfire/src/cfeditor/messages.properties 2007-09-07 21:23:36 UTC (rev 2889) @@ -274,6 +274,10 @@ tools.text=Tools tools.mnemonic=T +validateMap.text=Check map +validateMap.mnemonic=M +validateMap.shortdescription=Run map checker + gc.text=Run Garbage Collection gc.mnemonic=G Modified: trunk/crossfire/src/cfeditor/messages_de.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_de.properties 2007-09-07 21:11:41 UTC (rev 2888) +++ trunk/crossfire/src/cfeditor/messages_de.properties 2007-09-07 21:23:36 UTC (rev 2889) @@ -241,6 +241,10 @@ tools.text=Werkzeuge tools.mnemonic=W +validateMap.text=Karte pr\xFCfen +validateMap.mnemonic=K +validateMap.shortdescription=Karte auf Fehler pr\xFCfen + gc.text=Starte Garbage Collection gc.mnemonic=G Modified: trunk/crossfire/src/cfeditor/messages_fr.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_fr.properties 2007-09-07 21:11:41 UTC (rev 2888) +++ trunk/crossfire/src/cfeditor/messages_fr.properties 2007-09-07 21:23:36 UTC (rev 2889) @@ -242,6 +242,10 @@ tools.text=Outils tools.mnemonic=O +#validateMap.text= +#validateMap.mnemonic= +#validateMap.shortdescription= + gc.text=Garbage Collection gc.mnemonic=G Modified: trunk/crossfire/src/cfeditor/messages_sv.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_sv.properties 2007-09-07 21:11:41 UTC (rev 2888) +++ trunk/crossfire/src/cfeditor/messages_sv.properties 2007-09-07 21:23:36 UTC (rev 2889) @@ -240,6 +240,10 @@ tools.text=Verktyg tools.mnemonic=T +validateMap.text=Validera karta +validateMap.mnemonic=V +validateMap.shortdescription=K\xF6r kartvalideraren + gc.text=G\xF6r garbage collection gc.mnemonic=G This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2007-09-08 23:12:32
|
Revision: 3012 http://gridarta.svn.sourceforge.net/gridarta/?rev=3012&view=rev Author: akirschbaum Date: 2007-09-08 16:12:32 -0700 (Sat, 08 Sep 2007) Log Message: ----------- Add error list view. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/CMainControl.java trunk/crossfire/src/cfeditor/gui/GameObjectAttributesPanel.java Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-09-08 23:04:32 UTC (rev 3011) +++ trunk/crossfire/ChangeLog 2007-09-08 23:12:32 UTC (rev 3012) @@ -1,3 +1,8 @@ +2007-09-09 Andreas Kirschbaum + + * Add error list view ("Errors" tab in Game Object Attributes + Panel). It lists all validation errors of the active map. + 2007-09-07 Andreas Kirschbaum * Add map validator module. For now the following is checked: Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2007-09-08 23:04:32 UTC (rev 3011) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2007-09-08 23:12:32 UTC (rev 3012) @@ -376,6 +376,7 @@ for (final MapViewIFrame mapViewIFrame : ((MapControl) map.getMapControl()).getMapViewFrames()) { mapViewIFrame.getView().setErrors(errorCollector); } + mainView.getGameObjectAttributesPanel().getErrorListView().setErrors(map, errorCollector); } /** Modified: trunk/crossfire/src/cfeditor/gui/GameObjectAttributesPanel.java =================================================================== --- trunk/crossfire/src/cfeditor/gui/GameObjectAttributesPanel.java 2007-09-08 23:04:32 UTC (rev 3011) +++ trunk/crossfire/src/cfeditor/gui/GameObjectAttributesPanel.java 2007-09-08 23:12:32 UTC (rev 3012) @@ -56,6 +56,7 @@ import javax.swing.text.StyleContext; import net.sf.gridarta.CFArchType; import net.sf.gridarta.MainControl; +import net.sf.gridarta.gui.ErrorListView; import net.sf.gridarta.gui.GSplitPane; import net.sf.gridarta.gui.connectionview.ConnectionControl; import net.sf.gridarta.gui.connectionview.LockedItemsControl; @@ -122,6 +123,9 @@ /** Panel with message text. */ private JPanel textPanel; + /** The {@link ErrorListView} holding the error information. */ + private final ErrorListView errorListView; + /** Arch name field. */ private final JTextField archNameField = new JTextField(14); @@ -156,6 +160,7 @@ public GameObjectAttributesPanel(final CMainControl mainControl, final CMainView view) { super(mainControl); this.mainControl = mainControl; + this.errorListView = new ErrorListView(mainControl); mainView = view; final ConnectionControl<GameObject, MapArchObject, Archetype, MapControl, CMapViewBasic> connectionControl = new ConnectionControl<GameObject, MapArchObject, Archetype, MapControl, CMapViewBasic>(mainControl); @@ -207,6 +212,7 @@ panelDesktop.add(animationPanel, "Animation"); panelDesktop.add(connectionControl.getView(), "Connection"); panelDesktop.add(lockedItemsControl.getView(), "Locked Items"); + panelDesktop.add(errorListView, "Errors"); // calculate default value in case there is no settings file final Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); @@ -220,6 +226,15 @@ } /** + * Return the {@link ErrorListView} holding the error information. + * + * @return The <code>ErrorListView</code> holding the error information. + */ + public ErrorListView getErrorListView() { + return errorListView; + } + + /** * Action method for applying the changes made in the arch panel. */ @ActionMethod public void mapArchApply() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2007-09-09 21:05:04
|
Revision: 3051 http://gridarta.svn.sourceforge.net/gridarta/?rev=3051&view=rev Author: akirschbaum Date: 2007-09-09 14:05:04 -0700 (Sun, 09 Sep 2007) Log Message: ----------- Add tab to settings dialog to enable/disable individual map validation checks. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/CMainControl.java trunk/crossfire/src/cfeditor/action.properties trunk/crossfire/src/cfeditor/messages.properties trunk/crossfire/src/cfeditor/messages_de.properties trunk/crossfire/src/cfeditor/messages_fr.properties trunk/crossfire/src/cfeditor/messages_sv.properties Added Paths: ----------- trunk/crossfire/resource/icons/general/Search24.gif trunk/crossfire/src/cfeditor/gui/prefs/MapValidatorPrefs.java Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-09-09 21:00:49 UTC (rev 3050) +++ trunk/crossfire/ChangeLog 2007-09-09 21:05:04 UTC (rev 3051) @@ -1,5 +1,8 @@ 2007-09-09 Andreas Kirschbaum + * Add tab to settings dialog to enable/disable individual map + validation checks. + * Properly close "go location" dialogs when the associated map view is closed. Copied: trunk/crossfire/resource/icons/general/Search24.gif (from rev 3048, trunk/daimonin/resource/icons/general/Search24.gif) =================================================================== (Binary files differ) Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2007-09-09 21:00:49 UTC (rev 3050) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2007-09-09 21:05:04 UTC (rev 3051) @@ -28,6 +28,7 @@ import cfeditor.gui.GameObjectAttributesDialog; import cfeditor.gui.NewMapDialog; import cfeditor.gui.prefs.GUIPrefs; +import cfeditor.gui.prefs.MapValidatorPrefs; import cfeditor.gui.prefs.ResPrefs; import cfeditor.map.MapArchObject; import cfeditor.map.MapControl; @@ -781,7 +782,8 @@ "Gridarta for Crossfire", new ResPrefs(this), new GUIPrefs(this), - new MiscPrefs() + new MiscPrefs(), + new MapValidatorPrefs(validators) ); // prefsGroup } PreferencesPane.showPreferencesDialog(mainView, prefsGroup, false); Modified: trunk/crossfire/src/cfeditor/action.properties =================================================================== --- trunk/crossfire/src/cfeditor/action.properties 2007-09-09 21:00:49 UTC (rev 3050) +++ trunk/crossfire/src/cfeditor/action.properties 2007-09-09 21:05:04 UTC (rev 3051) @@ -132,3 +132,4 @@ prefsRes.icon=general/Save24 prefsGUI.icon=development/Host24 +prefsMapValidator.icon=general/Search24 Copied: trunk/crossfire/src/cfeditor/gui/prefs/MapValidatorPrefs.java (from rev 3048, trunk/daimonin/src/daieditor/gui/prefs/MapValidatorPrefs.java) =================================================================== --- trunk/crossfire/src/cfeditor/gui/prefs/MapValidatorPrefs.java (rev 0) +++ trunk/crossfire/src/cfeditor/gui/prefs/MapValidatorPrefs.java 2007-09-09 21:05:04 UTC (rev 3051) @@ -0,0 +1,132 @@ +/* + * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. + * Copyright (C) 2000-2007 The Gridarta Developers. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +package cfeditor.gui.prefs; + +import cfeditor.CMainControl; +import cfeditor.gameobject.Archetype; +import cfeditor.gameobject.GameObject; +import cfeditor.map.MapArchObject; +import java.awt.Component; +import java.util.HashMap; +import java.util.Map; +import java.util.prefs.Preferences; +import javax.swing.Box; +import javax.swing.JCheckBox; +import javax.swing.border.Border; +import javax.swing.border.CompoundBorder; +import javax.swing.border.TitledBorder; +import net.sf.gridarta.MainControl; +import net.sf.gridarta.gui.GUIConstants; +import net.sf.gridarta.map.validation.DelegatingMapValidator; +import net.sf.gridarta.map.validation.Validator; +import net.sf.japi.swing.ActionFactory; +import net.sf.japi.swing.prefs.AbstractPrefs; + +/** + * Preferences Module for map validator preferences. + * @author <a href="mailto:ch...@ri...">Christian Hujer</a> + * @serial exclude + */ +public final class MapValidatorPrefs extends AbstractPrefs { + + /** The serial version UID. */ + private static final long serialVersionUID = 1; + + /** Action Factory. */ + private static final ActionFactory ACTION_FACTORY = ActionFactory.getFactory("cfeditor"); + + /** Preferences. */ + private static final Preferences PREFS = Preferences.userNodeForPackage(MainControl.class); + + /** The delegating validator that contains all the validators. */ + private final DelegatingMapValidator<GameObject, MapArchObject, Archetype> validators; + + /** Checkboxes to enabled the individual validator checks. */ + private final Map<Validator, JCheckBox> checkBoxes = new HashMap<Validator, JCheckBox>(); + + /** + * Create an MapValidatorPrefs pane. + * @param mapValidators the delegating map validator that contains all the validators + */ + public MapValidatorPrefs(final DelegatingMapValidator<GameObject, MapArchObject, Archetype> mapValidators) { + validators = mapValidators; + setListLabelText(ACTION_FACTORY.getString("prefsMapValidator.title")); + setListLabelIcon(ACTION_FACTORY.getIcon("prefsMapValidator.icon")); + + add(createValidatorsPanel()); + add(Box.createVerticalGlue()); + } + + /** + * Create a titled border. + * @param titleKey Action Key for border title + * @return titled border + */ + private static Border createTitledBorder(final String titleKey) { + return new CompoundBorder(new TitledBorder(ACTION_FACTORY.getString(titleKey)), GUIConstants.DIALOG_BORDER); + } + + /** {@inheritDoc} */ + public void apply() { + for (final Map.Entry<Validator, JCheckBox> entry : checkBoxes.entrySet()) { + entry.getKey().setEnabled(entry.getValue().isSelected()); + } + } + + /** {@inheritDoc} */ + public void revert() { + for (final Map.Entry<Validator, JCheckBox> entry : checkBoxes.entrySet()) { + entry.getValue().setSelected(entry.getKey().isEnabled()); + } + } + + /** {@inheritDoc} */ + public void defaults() { + for (final Map.Entry<Validator, JCheckBox> entry : checkBoxes.entrySet()) { + entry.getValue().setSelected(entry.getKey().isDefaultEnabled()); + } + } + + /** {@inheritDoc} */ + public boolean isChanged() { + for (final Map.Entry<Validator, JCheckBox> entry : checkBoxes.entrySet()) { + if (entry.getValue().isSelected() != entry.getKey().isEnabled()) { + return true; + } + } + return false; + } + + /** + * Create the Panel with the validators information. + * @return subpanel + */ + private Component createValidatorsPanel() { + final Box panel = Box.createVerticalBox(); + panel.setBorder(createTitledBorder("optionsValidators")); + for (final Validator validator : validators) { + final JCheckBox checkBox = new JCheckBox(ACTION_FACTORY.getString(validator.getKey() + ".title"), validator.isEnabled()); + checkBoxes.put(validator, checkBox); + panel.add(checkBox); + } + return panel; + } + +} // class MapValidatorPrefs Modified: trunk/crossfire/src/cfeditor/messages.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages.properties 2007-09-09 21:00:49 UTC (rev 3050) +++ trunk/crossfire/src/cfeditor/messages.properties 2007-09-09 21:05:04 UTC (rev 3051) @@ -95,8 +95,12 @@ # Options optionsImageSet=Image Set +optionsValidation=Validation settings +optionsValidators=Validators +prefsMapValidator.title=Map validation + archCollectWarningMissed.title=Collect warning archCollectWarningMissed.message=Collect Warning: {0} arches have been missed during collect! archCollectErrorFileNotFound.title=Collect error Modified: trunk/crossfire/src/cfeditor/messages_de.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_de.properties 2007-09-09 21:00:49 UTC (rev 3050) +++ trunk/crossfire/src/cfeditor/messages_de.properties 2007-09-09 21:05:04 UTC (rev 3051) @@ -92,8 +92,12 @@ # Options optionsImageSet=Image Set +optionsValidation=Einstellungen f\xFCr Kartenpr\xFCfung +optionsValidators=Pr\xFCfungen +prefsMapValidator.title=Kartenpr\xFCfung + archCollectWarningMissed.title=Fehler beim Sammeln archCollectWarningMissed.message=Warnung: Beim Sammeln der Archetypen sind wurden {0} Archetypen nicht gefunden. archCollectErrorFileNotFound.title=Fehler beim Sammeln Modified: trunk/crossfire/src/cfeditor/messages_fr.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_fr.properties 2007-09-09 21:00:49 UTC (rev 3050) +++ trunk/crossfire/src/cfeditor/messages_fr.properties 2007-09-09 21:05:04 UTC (rev 3051) @@ -93,8 +93,12 @@ # Options #optionsImageSet= +#optionsValidation= +#optionsValidators= +#prefsMapValidator.title= + #archCollectWarningMissed.title= #archCollectWarningMissed.message= #archCollectErrorFileNotFound.title= Modified: trunk/crossfire/src/cfeditor/messages_sv.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_sv.properties 2007-09-09 21:00:49 UTC (rev 3050) +++ trunk/crossfire/src/cfeditor/messages_sv.properties 2007-09-09 21:05:04 UTC (rev 3051) @@ -91,8 +91,12 @@ # Options #optionsImageSet= +optionsValidation=Validering +optionsValidators=Validerare +prefsMapValidator.title=Kartvalidering + archCollectWarningMissed.title=Varning under sammanst\xE4llning archCollectWarningMissed.message=Varning under sammanst\xE4llning: {0} arketyper saknades under sammanst\xE4llningen! archCollectErrorFileNotFound.title=Fel under sammanst\xE4llning This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |