Deliantra
view release on metacpan or search on metacpan
Deliantra.pm view on Meta::CPAN
our $TILE;
our %FIELD_MULTILINE = (
msg => "endmsg",
lore => "endlore",
maplore => "endmaplore",
);
# movement bit type, PITA
our %FIELD_MOVEMENT = map +($_ => undef),
qw(move_type move_block move_allow move_on move_off move_slow);
# same as in server save routine, to (hopefully) be compatible
# to the other editors.
our @FIELD_ORDER_MAP = (qw(
file_format_version
name attach swap_time reset_timeout fixed_resettime difficulty
region music
shopitems shopgreed shopmin shopmax shoprace
darkness width height enter_x enter_y msg maplore
unique template
outdoor temp pressure humid windspeed winddir sky nosmooth
tile_path_1 tile_path_2 tile_path_3 tile_path_4
));
our @FIELD_ORDER = (qw(
inherit
elevation
name name_pl custom_name attach title race
slaying skill msg lore other_arch
sound sound_destroy face animation is_animated
magicmap glyph smoothlevel smoothface
str dex con wis pow cha int
hp maxhp sp maxsp grace maxgrace
exp perm_exp expmul
food dam luck wc ac x y speed speed_left move_state attack_movement
nrof level direction type subtype attacktype
resist_physical resist_magic resist_fire resist_electricity
resist_cold resist_confusion resist_acid resist_drain
resist_weaponmagic resist_ghosthit resist_poison resist_slow
resist_paralyze resist_turn_undead resist_fear resist_cancellation
resist_deplete resist_death resist_chaos resist_counterspell
resist_godpower resist_holyword resist_blind resist_internal
resist_life_stealing resist_disease
path_attuned path_repelled path_denied material materialname
value carrying weight invisible state magic
last_heal last_sp last_grace last_eat
connected glow_radius randomitems tresure_env npx_status npc_program
run_away pick_up container will_apply smoothlevel
current_weapon_script weapontype tooltype elevation client_type
item_power duration range
range_modifier duration_modifier dam_modifier gen_sp_armour
move_type move_block move_allow move_on move_off move_on move_slow move_slow_penalty
alive wiz was_wiz applied unpaid can_use_shield no_pick is_animated monster
friendly generator is_thrown auto_apply treasure player sold see_invisible
can_roll overlay_floor is_turnable is_used_up identified reflecting changing
splitting hitback startequip blocksview undead scared unaggressive
reflect_missile reflect_spell no_magic no_fix_player is_lightable tear_down
run_away pick_up unique no_drop can_cast_spell can_use_scroll can_use_range
can_use_bow can_use_armour can_use_weapon can_use_ring has_ready_range
has_ready_bow xrays is_floor lifesave no_strength sleep stand_still
random_move only_attack confused stealth cursed damned see_anywhere
known_magical known_cursed can_use_skill been_applied has_ready_scroll
can_use_rod can_use_horn make_invisible inv_locked is_wooded is_hilly
has_ready_skill has_ready_weapon no_skill_ident is_blind can_see_in_dark
is_cauldron is_dust no_steal one_hit berserk neutral no_attack no_damage
activate_on_push activate_on_release is_water use_content_on_gen is_buildable
precious
body_range body_arm body_torso body_head body_neck body_skill
body_finger body_shoulder body_foot body_hand body_wrist body_waist
));
our %EVENT_TYPE = (
apply => 1,
attack => 2,
death => 3,
drop => 4,
pickup => 5,
say => 6,
stop => 7,
time => 8,
throw => 9,
trigger => 10,
close => 11,
timer => 12,
);
# 1 up 2 right 4 down 8 left
our %WALLDIR = (
0 => 0,
1_2 => 1,
1_4 => 2,
2_2_1 => 3,
1_1 => 4,
2_1_1 => 5,
2_2_2 => 6,
3_2 => 7,
1_3 => 8,
2_2_4 => 9,
2_1_2 => 10,
3_1 => 11,
2_2_3 => 12,
3_4 => 13,
3_3 => 14,
4 => 15,
);
sub MOVE_WALK (){ 0x01 }
sub MOVE_FLY_LOW (){ 0x02 }
sub MOVE_FLY_HIGH (){ 0x04 }
sub MOVE_FLYING (){ 0x06 }
sub MOVE_SWIM (){ 0x08 }
sub MOVE_BOAT (){ 0x10 }
sub MOVE_SHIP (){ 0x20 }
sub MOVE_KNOWN (){ 0x3f } # all of above
( run in 1.128 second using v1.01-cache-2.11-cpan-524268b4103 )