summaryrefslogtreecommitdiff
path: root/src/map/status.c
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-12-18 20:12:59 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-12-18 20:12:59 +0000
commit2c59a71155825161387535f2d5bc43f9f47a0c6d (patch)
treebc6637da7c55547edec4f73fd720d81ded131e38 /src/map/status.c
parentb5300be8f74ab64d90d71e20a11d2f0d5497c8bd (diff)
downloadhercules-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.c9
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)) {