diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-12-18 20:12:59 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-12-18 20:12:59 +0000 |
commit | 2c59a71155825161387535f2d5bc43f9f47a0c6d (patch) | |
tree | bc6637da7c55547edec4f73fd720d81ded131e38 /src/map/status.c | |
parent | b5300be8f74ab64d90d71e20a11d2f0d5497c8bd (diff) | |
download | hercules-2c59a71155825161387535f2d5bc43f9f47a0c6d.tar.gz hercules-2c59a71155825161387535f2d5bc43f9f47a0c6d.tar.bz2 hercules-2c59a71155825161387535f2d5bc43f9f47a0c6d.tar.xz hercules-2c59a71155825161387535f2d5bc43f9f47a0c6d.zip |
- Added hom_setting to specify which homunculus 'quirks' are in effect. The default activates all of them, if you set them to 0 then homuncs will not be treated in any special matter, pretty much like standard mobs. if I missed any 'quirky' homunc behaviour from it, report it so it can be added to the list.
- Made flooritem_lifetime a int so you can specify much longer life times (the default of 60k was already very close to the max of 65k)
- Removed monster_ai 0x80 since it's now handled by hom_setting.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9519 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/status.c')
-rw-r--r-- | src/map/status.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/map/status.c b/src/map/status.c index ccb017c08..aee10e721 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -1101,7 +1101,8 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, int //Can't use support skills on homun (only master/self can) //Placed here instead of battle_check_target because support skill //invocations don't call that function. - if (skill_num && skill_get_inf(skill_num)&INF_SUPPORT_SKILL && + if (skill_num && battle_config.hom_setting&0x1 && + skill_get_inf(skill_num)&INF_SUPPORT_SKILL && battle_get_master(target) != src) return 0; default: @@ -2356,7 +2357,7 @@ int status_calc_homunculus(struct homun_data *hd, int first) status->rhw.range = 1 + status->size; status->mode = MD_CANMOVE|MD_CANATTACK; status->speed = DEFAULT_WALK_SPEED; - if (battle_config.slaves_inherit_speed&1 && + if (battle_config.hom_setting&0x8 && hd->master && hd->master->state.auth) //Master needs be authed to have valid speed. status->speed = status_get_speed(&hd->master->bl); @@ -2839,10 +2840,10 @@ void status_calc_bl_sub_hom(struct homun_data *hd, unsigned long flag) //[orn] if(flag|SCB_WATK && status->rhw.atk2 < status->rhw.atk) status->rhw.atk2 = status->rhw.atk; - if(flag&SCB_MATK) //Hom Min Matk is always the same as Max Matk + if(flag&SCB_MATK && battle_config.hom_setting&0x20) //Hom Min Matk is always the same as Max Matk status->matk_min = status->matk_max; - if(flag&SCB_SPEED && battle_config.slaves_inherit_speed&1 && hd->master) + if(flag&SCB_SPEED && battle_config.hom_setting&0x8 && hd->master) status->speed = status_get_speed(&hd->master->bl); if(flag&(SCB_ASPD|SCB_AGI|SCB_DEX)) { |