[MANUAL] Swoop cannon fix

Тема в разделе "Установка и настройка (Setup and configuration)", создана пользователем root, 21 сен 2014.

  1. root

    root Administrator Команда форума Administrator Moderator Developers Team

    Регистрация:
    23 авг 2014
    Сообщения:
    254
    Симпатии:
    58
    Баллы:
    11
    becauase on my server files swoop cannon has bug
    fixed:

    • not creating damage when skills are used
    • not decreasing gunpowder when skills are used
    if you had a same problem then enjoy
    fstring.txt
    Код:
    140002    [You do not have enough gunpowder.]
    
    npcdata.txt
    Код:
    npc_begin    summon    14840    [siege_swoop_cannon_ep_01]    level=69    acquire_exp_rate=0    acquire_sp=0    unsowing=1    clan={}    ignore_clan_list={}    clan_help_range=300    slot_chest=[]    slot_rhand=[]    slot_lhand=[]    shield_defense_rate=0    shield_defense=0    skill_list={@s_race_siege_weapons;@s_summon_magic_defence}    npc_ai={[siege_swoop_cannon_ep_01];{[DDMagic1][email protected]_swoop_mid_rande_shot};{[DDMagic2][email protected]_swoop_long_rande_shot}}    category={}    race=etc    sex=male    undying=0    can_be_attacked=1    corpse_time=7    no_sleep_mode=0    agro_range=0    ground_high={39.6;0;0}    ground_low={39.6;0;0}    exp=387199547.925    org_hp=500535    org_hp_regen=11.85    org_mp=750    org_mp_regen=2.78    collision_radius={45;45}    collision_height={47.5;47.5}    str=40    int=21    dex=30    wit=20    con=43    men=25    base_attack_type=fist    base_attack_range=40    base_damage_range={0;0;80;120}    base_rand_dam=50    base_physical_attack=12    base_critical=4    physical_hit_modify=9    base_attack_speed=150    base_reuse_delay=0    base_magic_attack=259    base_defend=832    base_magic_defend=668    physical_avoid_modify=0    soulshot_count=30    spiritshot_count=0    hit_time_factor=0.32    item_make_list={}    corpse_make_list={}    additional_make_list={}    additional_make_multi_list={}    hp_increase=0    mp_increase=0    safe_height=100    npc_end
    
    skilldata.txt
    Код:
    skill_begin    skill_name=[s_swoop_mid_rande_shot]    skill_id=5110    level=1    operate_type=A1    magic_level=70    effect={{i_p_attack;232048;0}}    operate_cond={{op_siege_hammer}}    is_magic=0    item_consume={[flash_gunpowder1];4}    mp_consume2=0    cast_range=1600    effective_range=2100    skill_hit_time=10    skill_cool_time=1    skill_hit_cancel_time=0.5    reuse_delay=10.5    attribute=attr_none    effect_point=-100    target_type=enemy    affect_scope=single    affect_limit={0;0}    next_action=none    ride_state={@ride_none}    skill_end
    skill_begin    skill_name=[s_swoop_long_rande_shot]    skill_id=5111    level=1    operate_type=A1    magic_level=70    effect={{i_p_attack;332048;0}}    operate_cond={{op_siege_hammer}}    is_magic=0    item_consume={[flash_gunpowder1];5}    mp_consume2=0    cast_range=2000    effective_range=2500    skill_hit_time=10    skill_cool_time=1    skill_hit_cancel_time=0.5    reuse_delay=10.5    attribute=attr_none    effect_point=-100    target_type=enemy    affect_scope=single    affect_limit={0;0}    next_action=none    ride_state={@ride_none}    skill_end
    
    itemdata.txt
    Код:
    item_begin    etcitem    8872    [flash_gunpowder1]    item_type=etcitem    slot_bit_type={none}    armor_type=none    etcitem_type=none    recipe_id=0    blessed=0    weight=20    default_action=action_none    consume_type=consume_type_stackable    initial_count=20    maximum_count=20    soulshot_count=0    spiritshot_count=0    reduced_soulshot={}    reduced_spiritshot={}    reduced_mp_consume={}    immediate_effect=1    price=0    default_price=1000    item_skill=[none]    critical_attack_skill=[none]    attack_skill=[none]    magic_skill=[none]    item_skill_enchanted_four=[none]    material_type=liquid    crystal_type=none    crystal_count=0    is_trade=1    is_drop=1    is_destruct=1    physical_damage=0    random_damage=0    weapon_type=none    can_penetrate=0    critical=0    hit_modify=0    avoid_modify=0    dual_fhit_rate=0    shield_defense=0    shield_defense_rate=0    attack_range=0    damage_range={}    attack_speed=0    reuse_delay=0    mp_consume=0    magical_damage=0    durability=0    damaged=0    physical_defense=0    magical_defense=0    mp_bonus=0    category={}    enchanted=0    html=[item_default.htm]    equip_pet={0}    magic_weapon=0    enchant_enable=0    can_equip_sex=-1    can_equip_race={}    can_equip_change_class=-1    can_equip_class={}    can_equip_agit=-1    can_equip_castle=-1    can_equip_castle_num={}    can_equip_clan_leader=-1    can_equip_clan_level=-1    can_equip_hero=-1    can_equip_nobless=-1    can_equip_chaotic=-1    item_end
    
    AI decompiled
    Код:
    class 1 siege_swoop_cannon : default_npc
    {
    parameter:
      int     DDMagic1 = 1308161;
      int     DDMagic2 = 1308417;
    
    
    handler:
      EventHandler CREATED()
      {
        myself::AddPetDefaultDesire_Follow( 20.000000 );
        myself::Summon_SetOption( 1, 900 );
        myself::AddTimerEx( 100020, 1000 );
        myself::AddTimerEx( 100021, 1000 * 60 );
      }
    
    
      EventHandler NO_DESIRE()
      {
        myself::AddPetDefaultDesire_Follow( 20.000000 );
      }
    
    
      EventHandler MENU_SELECTED( talker, ask, reply, action_id, i0, so0 )
      {
        if( action_id == 1039 )
        {
          i0 = myself.master.target_id;
          if( i0 <= 0 )
          {
            return;
          }
          if( myself.sm.action == 1 )
          {
            myself::Say( myself::MakeFString( 1110071, "", "", "", "", "" ) );
          }
          else if( myself.sm.action == 2 )
          {
            myself::Say( myself::MakeFString( 1110072, "", "", "", "", "" ) );
          }
          else if( myself::IsStaticObjectID( i0 ) )
          {
            so0 = myself::GetStaticObjectFromID( i0 );
            if( myself::StaticObjectDistFromMe( so0 ) >= 2500 )
            {
              myself::Say( myself::MakeFString( 1110074, "", "", "", "", "" ) );
            }
            else
            {
              if( myself::Skill_InReuseDelay( DDMagic1 ) )
              {
                myself::Say( myself::MakeFString( 1010551, "", "", "", "", "" ) );
              }
              if( myself::Skill_GetConsumeMP( DDMagic1 ) < myself.sm.mp &&
                  myself::Skill_GetConsumeHP( DDMagic1 ) < myself.sm.hp &&
                  myself::Skill_InReuseDelay( DDMagic1 ) == 0 )
              {
                if( myself::OwnItemCount( myself.master, @flash_gunpowder1 ) >= 4 )
                {
                  myself::DeleteItem1( myself.master, @flash_gunpowder1, 4 );
                  myself::AddUseSkillDesireEx( i0, DDMagic1, @ST_ATTACK, reply, ask,
                                               @MAX_TIMER_ID, 0 );
                }
                else
                {
                  myself::Say( myself::MakeFString( 140002, "", "", "", "", "" ) );
                }
              }
            }
          }
        }
        else if( action_id == 1040 )
        {
          i0 = myself.master.target_id;
          if( i0 <= 0 )
          {
            return;
          }
          if( myself.sm.action == 1 )
          {
            myself::Say( myself::MakeFString( 1110071, "", "", "", "", "" ) );
          }
          else if( myself.sm.action == 2 )
          {
            myself::Say( myself::MakeFString( 1110072, "", "", "", "", "" ) );
          }
          else if( myself::IsStaticObjectID( i0 ) )
          {
            so0 = myself::GetStaticObjectFromID( i0 );
            if( myself::StaticObjectDistFromMe( so0 ) >= 2500 )
            {
              myself::Say( myself::MakeFString( 1110074, "", "", "", "", "" ) );
            }
            else
            {
              if( myself::Skill_InReuseDelay( DDMagic2 ) )
              {
                myself::Say( myself::MakeFString( 1010551, "", "", "", "", "" ) );
              }
              if( myself::Skill_GetConsumeMP( DDMagic2 ) < myself.sm.mp &&
                  myself::Skill_GetConsumeHP( DDMagic2 ) < myself.sm.hp &&
                  myself::Skill_InReuseDelay( DDMagic2 ) == 0 )
              {
                if( myself::OwnItemCount( myself.master, @flash_gunpowder1 ) >= 5 )
                {
                  myself::DeleteItem1( myself.master, @flash_gunpowder1, 5 );
                  myself::AddUseSkillDesireEx( i0, DDMagic2, @ST_ATTACK, reply, ask,
                                               @MAX_TIMER_ID, 0 );
                }
                else
                {
                  myself::Say( myself::MakeFString( 140002, "", "", "", "", "" ) );
                }
              }
            }
          }
        }
      }
    
    
      EventHandler TIMER_FIRED_EX( timer_id )
      {
        if( timer_id == 100020 )
        {
          if( myself.master.alive == 0 )
          {
            myself::Despawn();
          }
          myself::AddTimerEx( 100020, 1000 );
        }
        if( timer_id == 100021 )
        {
          if( myself::OwnItemCount( myself.master, @gemstone_b ) < 42 &&
              myself::OwnItemCount( myself.master, @gemstone_b ) >= 21 )
          {
            myself::Say( myself::MakeFString( 1000169, "", "", "", "", "" ) );
          }
          if( myself::OwnItemCount( myself.master, @gemstone_b ) >= 21 )
          {
            myself::DeleteItem1( myself.master, @gemstone_b, 21 );
          }
          else
          {
            myself::Despawn();
          }
          myself::AddTimerEx( 100021, 1000 * 60 );
        }
      }
    }
    
    AI compiled
    Код:
    class 1 siege_swoop_cannon : default_npc
    parameter_define_begin
        int DDMagic1 1308161
        int DDMagic2 1308417
    parameter_define_end
    handler 13 37    //  CREATED
        variable_begin
            "myself"
            "_choiceN"
            "_code"
            "_from_choice"
        variable_end
    
    
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_const 20.000000
        func_call 184614934    //  func[AddPetDefaultDesire_Follow]
        shift_sp -1
        shift_sp -1
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_const 1
        push_const 900
        func_call 184680501    //  func[Summon_SetOption]
        shift_sp -2
        shift_sp -1
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_const 100020
        push_const 1000
        func_call 184680487    //  func[AddTimerEx]
        shift_sp -2
        shift_sp -1
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_const 100021
        push_const 1000
        push_const 60
        mul
        func_call 184680487    //  func[AddTimerEx]
        shift_sp -2
        shift_sp -1
    handler_end
    
    
    handler 0 8    //  NO_DESIRE
        variable_begin
            "myself"
            "_choiceN"
            "_code"
            "_from_choice"
        variable_end
    
    
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_const 20.000000
        func_call 184614934    //  func[AddPetDefaultDesire_Follow]
        shift_sp -1
        shift_sp -1
    handler_end
    
    
    handler 32 732    //  MENU_SELECTED
        variable_begin
            "talker"
            "ask"
            "reply"
            "action_id"
            "i0"
            "so0"
            "myself"
            "_choiceN"
            "_code"
            "_from_choice"
        variable_end
    
    
        push_event    //  action_id
        push_const 256
        add
        fetch_i4
        push_const 1039
        equal
        branch_false L2
    L1
        push_event    //  i0
        push_const 260
        add
        push_reg_sp
        fetch_i
        push_event    //  myself
        push_const 704
        add
        fetch_i    //  master
        push_const 552
        add
        fetch_i    //  target_id
        push_const 444
        add
        fetch_i4
        assign4
        shift_sp -1
        push_event    //  i0
        push_const 260
        add
        fetch_i4
        push_const 0
        less_equal
        branch_false L4
    L3
        exit_handler
    L4
        push_event    //  myself
        push_const 704
        add
        fetch_i    //  sm
        push_const 544
        add
        fetch_i    //  action
        push_const 2016
        add
        fetch_i4
        push_const 1
        equal
        branch_false L6
    L5
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_const 1110071
    S0.    ""
        push_string S0
    S1.    ""
        push_string S1
    S2.    ""
        push_string S2
    S3.    ""
        push_string S3
    S4.    ""
        push_string S4
        func_call 184942731    //  func[MakeFString]
        shift_sp -6
        func_call 184614973    //  func[Say]
        shift_sp -1
        shift_sp -1
        jump L7
    L6
        push_event    //  myself
        push_const 704
        add
        fetch_i    //  sm
        push_const 544
        add
        fetch_i    //  action
        push_const 2016
        add
        fetch_i4
        push_const 2
        equal
        branch_false L9
    L8
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_const 1110072
    S5.    ""
        push_string S5
    S6.    ""
        push_string S6
    S7.    ""
        push_string S7
    S8.    ""
        push_string S8
    S9.    ""
        push_string S9
        func_call 184942731    //  func[MakeFString]
        shift_sp -6
        func_call 184614973    //  func[Say]
        shift_sp -1
        shift_sp -1
        jump L10
    L9
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_event    //  i0
        push_const 260
        add
        fetch_i4
        func_call 184614956    //  func[IsStaticObjectID]
        shift_sp -1
        branch_false L12
    L11
        push_event    //  so0
        push_const 432
        add
        push_reg_sp
        fetch_i
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_event    //  i0
        push_const 260
        add
        fetch_i4
        func_call 184614959    //  func[GetStaticObjectFromID]
        shift_sp -1
        assign
        shift_sp -1
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_event    //  so0
        push_const 432
        add
        fetch_i
        func_call 184614997    //  func[StaticObjectDistFromMe]
        shift_sp -1
        push_const 2500
        greater_equal
        branch_false L14
    L13
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_const 1110074
    S10.    ""
        push_string S10
    S11.    ""
        push_string S11
    S12.    ""
        push_string S12
    S13.    ""
        push_string S13
    S14.    ""
        push_string S14
        func_call 184942731    //  func[MakeFString]
        shift_sp -6
        func_call 184614973    //  func[Say]
        shift_sp -1
        shift_sp -1
        jump L15
    L14
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_parameter DDMagic1
        func_call 184615133    //  func[Skill_InReuseDelay]
        shift_sp -1
        branch_false L17
    L16
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_const 1010551
    S15.    ""
        push_string S15
    S16.    ""
        push_string S16
    S17.    ""
        push_string S17
    S18.    ""
        push_string S18
    S19.    ""
        push_string S19
        func_call 184942731    //  func[MakeFString]
        shift_sp -6
        func_call 184614973    //  func[Say]
        shift_sp -1
        shift_sp -1
    L17
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_parameter DDMagic1
        func_call 184615128    //  func[Skill_GetConsumeMP]
        shift_sp -1
        push_event    //  myself
        push_const 704
        add
        fetch_i    //  sm
        push_const 544
        add
        fetch_i    //  mp
        push_const 400
        add
        fetch_d
        less
        push_reg_sp
        fetch_i
        branch_false L20
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_parameter DDMagic1
        func_call 184615127    //  func[Skill_GetConsumeHP]
        shift_sp -1
        push_event    //  myself
        push_const 704
        add
        fetch_i    //  sm
        push_const 544
        add
        fetch_i    //  hp
        push_const 392
        add
        fetch_d
        less
        push_reg_sp
        fetch_i
        branch_false L21
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_parameter DDMagic1
        func_call 184615133    //  func[Skill_InReuseDelay]
        shift_sp -1
        push_const 0
        equal
        and
    L21
        and
    L20
        branch_false L19
    L18
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_event    //  myself
        push_const 704
        add
        fetch_i    //  master
        push_const 552
        add
        fetch_i
        push_const 8872
        func_call 184680579    //  func[OwnItemCount]
        shift_sp -2
        push_const 4
        greater_equal
        branch_false L23
    L22
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_event    //  myself
        push_const 704
        add
        fetch_i    //  master
        push_const 552
        add
        fetch_i
        push_const 8872
        push_const 4
        func_call 184746114    //  func[DeleteItem1]
        shift_sp -3
        shift_sp -1
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_event    //  i0
        push_const 260
        add
        fetch_i4
        push_parameter DDMagic1
        push_const 0
        push_event    //  reply
        push_const 164
        add
        fetch_i4
        push_event    //  ask
        push_const 160
        add
        fetch_i4
        push_const 1000000
        push_const 0
        func_call 185008147    //  func[AddUseSkillDesireEx]
        shift_sp -7
        shift_sp -1
        jump L24
    L23
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_const 140002
    S20.    ""
        push_string S20
    S21.    ""
        push_string S21
    S22.    ""
        push_string S22
    S23.    ""
        push_string S23
    S24.    ""
        push_string S24
        func_call 184942731    //  func[MakeFString]
        shift_sp -6
        func_call 184614973    //  func[Say]
        shift_sp -1
        shift_sp -1
    L24
    L19
    L15
    L12
    L10
    L7
        jump L25
    L2
        push_event    //  action_id
        push_const 256
        add
        fetch_i4
        push_const 1040
        equal
        branch_false L27
    L26
        push_event    //  i0
        push_const 260
        add
        push_reg_sp
        fetch_i
        push_event    //  myself
        push_const 704
        add
        fetch_i    //  master
        push_const 552
        add
        fetch_i    //  target_id
        push_const 444
        add
        fetch_i4
        assign4
        shift_sp -1
        push_event    //  i0
        push_const 260
        add
        fetch_i4
        push_const 0
        less_equal
        branch_false L29
    L28
        exit_handler
    L29
        push_event    //  myself
        push_const 704
        add
        fetch_i    //  sm
        push_const 544
        add
        fetch_i    //  action
        push_const 2016
        add
        fetch_i4
        push_const 1
        equal
        branch_false L31
    L30
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_const 1110071
    S25.    ""
        push_string S25
    S26.    ""
        push_string S26
    S27.    ""
        push_string S27
    S28.    ""
        push_string S28
    S29.    ""
        push_string S29
        func_call 184942731    //  func[MakeFString]
        shift_sp -6
        func_call 184614973    //  func[Say]
        shift_sp -1
        shift_sp -1
        jump L32
    L31
        push_event    //  myself
        push_const 704
        add
        fetch_i    //  sm
        push_const 544
        add
        fetch_i    //  action
        push_const 2016
        add
        fetch_i4
        push_const 2
        equal
        branch_false L34
    L33
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_const 1110072
    S30.    ""
        push_string S30
    S31.    ""
        push_string S31
    S32.    ""
        push_string S32
    S33.    ""
        push_string S33
    S34.    ""
        push_string S34
        func_call 184942731    //  func[MakeFString]
        shift_sp -6
        func_call 184614973    //  func[Say]
        shift_sp -1
        shift_sp -1
        jump L35
    L34
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_event    //  i0
        push_const 260
        add
        fetch_i4
        func_call 184614956    //  func[IsStaticObjectID]
        shift_sp -1
        branch_false L37
    L36
        push_event    //  so0
        push_const 432
        add
        push_reg_sp
        fetch_i
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_event    //  i0
        push_const 260
        add
        fetch_i4
        func_call 184614959    //  func[GetStaticObjectFromID]
        shift_sp -1
        assign
        shift_sp -1
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_event    //  so0
        push_const 432
        add
        fetch_i
        func_call 184614997    //  func[StaticObjectDistFromMe]
        shift_sp -1
        push_const 2500
        greater_equal
        branch_false L39
    L38
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_const 1110074
    S35.    ""
        push_string S35
    S36.    ""
        push_string S36
    S37.    ""
        push_string S37
    S38.    ""
        push_string S38
    S39.    ""
        push_string S39
        func_call 184942731    //  func[MakeFString]
        shift_sp -6
        func_call 184614973    //  func[Say]
        shift_sp -1
        shift_sp -1
        jump L40
    L39
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_parameter DDMagic2
        func_call 184615133    //  func[Skill_InReuseDelay]
        shift_sp -1
        branch_false L42
    L41
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_const 1010551
    S40.    ""
        push_string S40
    S41.    ""
        push_string S41
    S42.    ""
        push_string S42
    S43.    ""
        push_string S43
    S44.    ""
        push_string S44
        func_call 184942731    //  func[MakeFString]
        shift_sp -6
        func_call 184614973    //  func[Say]
        shift_sp -1
        shift_sp -1
    L42
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_parameter DDMagic2
        func_call 184615128    //  func[Skill_GetConsumeMP]
        shift_sp -1
        push_event    //  myself
        push_const 704
        add
        fetch_i    //  sm
        push_const 544
        add
        fetch_i    //  mp
        push_const 400
        add
        fetch_d
        less
        push_reg_sp
        fetch_i
        branch_false L45
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_parameter DDMagic2
        func_call 184615127    //  func[Skill_GetConsumeHP]
        shift_sp -1
        push_event    //  myself
        push_const 704
        add
        fetch_i    //  sm
        push_const 544
        add
        fetch_i    //  hp
        push_const 392
        add
        fetch_d
        less
        push_reg_sp
        fetch_i
        branch_false L46
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_parameter DDMagic2
        func_call 184615133    //  func[Skill_InReuseDelay]
        shift_sp -1
        push_const 0
        equal
        and
    L46
        and
    L45
        branch_false L44
    L43
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_event    //  myself
        push_const 704
        add
        fetch_i    //  master
        push_const 552
        add
        fetch_i
        push_const 8872
        func_call 184680579    //  func[OwnItemCount]
        shift_sp -2
        push_const 5
        greater_equal
        branch_false L48
    L47
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_event    //  myself
        push_const 704
        add
        fetch_i    //  master
        push_const 552
        add
        fetch_i
        push_const 8872
        push_const 5
        func_call 184746114    //  func[DeleteItem1]
        shift_sp -3
        shift_sp -1
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_event    //  i0
        push_const 260
        add
        fetch_i4
        push_parameter DDMagic2
        push_const 0
        push_event    //  reply
        push_const 164
        add
        fetch_i4
        push_event    //  ask
        push_const 160
        add
        fetch_i4
        push_const 1000000
        push_const 0
        func_call 185008147    //  func[AddUseSkillDesireEx]
        shift_sp -7
        shift_sp -1
        jump L49
    L48
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_const 140002
    S45.    ""
        push_string S45
    S46.    ""
        push_string S46
    S47.    ""
        push_string S47
    S48.    ""
        push_string S48
    S49.    ""
        push_string S49
        func_call 184942731    //  func[MakeFString]
        shift_sp -6
        func_call 184614973    //  func[Say]
        shift_sp -1
        shift_sp -1
    L49
    L44
    L40
    L37
    L35
    L32
    L27
    L25
    handler_end
    
    
    handler 12 166    //  TIMER_FIRED_EX
        variable_begin
            "timer_id"
            "myself"
            "_choiceN"
            "_code"
            "_from_choice"
        variable_end
    
    
        push_event    //  timer_id
        push_const 236
        add
        fetch_i4
        push_const 100020
        equal
        branch_false L51
    L50
        push_event    //  myself
        push_const 704
        add
        fetch_i    //  master
        push_const 552
        add
        fetch_i    //  alive
        push_const 104
        add
        fetch_i4
        push_const 0
        equal
        branch_false L53
    L52
        push_event    //  myself
        push_const 704
        add
        fetch_i
        func_call 184549616    //  func[Despawn]
        shift_sp -1
    L53
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_const 100020
        push_const 1000
        func_call 184680487    //  func[AddTimerEx]
        shift_sp -2
        shift_sp -1
    L51
        push_event    //  timer_id
        push_const 236
        add
        fetch_i4
        push_const 100021
        equal
        branch_false L55
    L54
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_event    //  myself
        push_const 704
        add
        fetch_i    //  master
        push_const 552
        add
        fetch_i
        push_const 2132
        func_call 184680579    //  func[OwnItemCount]
        shift_sp -2
        push_const 42
        less
        push_reg_sp
        fetch_i
        branch_false L58
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_event    //  myself
        push_const 704
        add
        fetch_i    //  master
        push_const 552
        add
        fetch_i
        push_const 2132
        func_call 184680579    //  func[OwnItemCount]
        shift_sp -2
        push_const 21
        greater_equal
        and
    L58
        branch_false L57
    L56
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_const 1000169
    S50.    ""
        push_string S50
    S51.    ""
        push_string S51
    S52.    ""
        push_string S52
    S53.    ""
        push_string S53
    S54.    ""
        push_string S54
        func_call 184942731    //  func[MakeFString]
        shift_sp -6
        func_call 184614973    //  func[Say]
        shift_sp -1
        shift_sp -1
    L57
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_event    //  myself
        push_const 704
        add
        fetch_i    //  master
        push_const 552
        add
        fetch_i
        push_const 2132
        func_call 184680579    //  func[OwnItemCount]
        shift_sp -2
        push_const 21
        greater_equal
        branch_false L60
    L59
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_event    //  myself
        push_const 704
        add
        fetch_i    //  master
        push_const 552
        add
        fetch_i
        push_const 2132
        push_const 21
        func_call 184746114    //  func[DeleteItem1]
        shift_sp -3
        shift_sp -1
        jump L61
    L60
        push_event    //  myself
        push_const 704
        add
        fetch_i
        func_call 184549616    //  func[Despawn]
        shift_sp -1
    L61
        push_event    //  myself
        push_const 704
        add
        fetch_i
        push_const 100021
        push_const 1000
        push_const 60
        mul
        func_call 184680487    //  func[AddTimerEx]
        shift_sp -2
        shift_sp -1
    L55
    handler_end
    
    
    class_end