Skill Weapon Requirements

02/27/2018 19:21 QuinciEx#1
Hello everyone. I'm hoping someone knows what gives abilities their weapon requirements.

I've dug through the magictype.dat file and the skills.cs code and I'm not finding it. For example, I'd like to know what makes Fly require a bow, or hercules require two of the same weapon. And if anyone is willing to give me more info, is it possible to change these requirements?

Thank you!
02/27/2018 22:30 Xio.#2
Quote:
Originally Posted by QuinciEx View Post
Hello everyone. I'm hoping someone knows what gives abilities their weapon requirements.

I've dug through the magictype.dat file and the skills.cs code and I'm not finding it. For example, I'd like to know what makes Fly require a bow, or hercules require two of the same weapon. And if anyone is willing to give me more info, is it possible to change these requirements?

Thank you!
MagicType.dat contains a field for WeaponType. That tells the client what weapon must be used. Fly should have a 500 somewhere, like scatter. Hercules works with any weapon as long as its two of the same type, so its not related to that field, prolly the target field or the sort one, idk tbh.

Values (left to right if you view it as a "decrypted" text file)
PHP Code:
uint    type
uint    sort
byte
[16]    name
uint    crime
uint    ground
uint    multi
uint    target
uint    level
uint    use_mp
int    power
uint    intone_duration
uint    percent
uint    duration
uint    range
uint    distance
uint    status
uint    req_profession
int    req_exp
uint    req_level
uint    use_xp
uint    weapon_subtype
uint    active_times
uint    auto_active
uint    floor_attr
uint    auto_learn
uint    learn_level
uint    drop_weapon
uint    use_stamina
uint    weapon_hit
uint    use_item
uint    next_magic
uint    delay
uint    use_item_num
uint    sender_action
byte
[64]    description
byte
[256]    description_ex
byte
[64]    intone_effect
byte
[260]    intone_sound
byte
[64]    sender_effect
byte
[260]    sender_sound
uint    target_delay
byte
[64]    target_effect
byte
[260]    target_sound
byte
[64]    ground_effect
byte
[64]    trace_effect
uint    screen_represent
uint    use_in_market
uint    target_wound_delay 
02/28/2018 01:14 QuinciEx#3
Quote:
Originally Posted by Xio. View Post
MagicType.dat contains a field for WeaponType. That tells the client what weapon must be used. Fly should have a 500 somewhere, like scatter. Hercules works with any weapon as long as its two of the same type, so its not related to that field, prolly the target field or the sort one, idk tbh.

Values (left to right if you view it as a "decrypted" text file)
PHP Code:
uint    type
uint    sort
byte
[16]    name
uint    crime
uint    ground
uint    multi
uint    target
uint    level
uint    use_mp
int    power
uint    intone_duration
uint    percent
uint    duration
uint    range
uint    distance
uint    status
uint    req_profession
int    req_exp
uint    req_level
uint    use_xp
uint    weapon_subtype
uint    active_times
uint    auto_active
uint    floor_attr
uint    auto_learn
uint    learn_level
uint    drop_weapon
uint    use_stamina
uint    weapon_hit
uint    use_item
uint    next_magic
uint    delay
uint    use_item_num
uint    sender_action
byte
[64]    description
byte
[256]    description_ex
byte
[64]    intone_effect
byte
[260]    intone_sound
byte
[64]    sender_effect
byte
[260]    sender_sound
uint    target_delay
byte
[64]    target_effect
byte
[260]    target_sound
byte
[64]    ground_effect
byte
[64]    trace_effect
uint    screen_represent
uint    use_in_market
uint    target_wound_delay 
Thank you sir, I appreciate the assistance.