summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt2
-rw-r--r--conf/battle/homunc.conf3
-rw-r--r--src/map/battle.c1
-rw-r--r--src/map/battle.h1
-rw-r--r--src/map/pc.c2
5 files changed, 8 insertions, 1 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index a98cb1e28..ce4581cac 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -4,6 +4,8 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2008/07/04
+ * Rev. 12911 Homunculus will no longer auto-vaporize on master death. [L0ne_W0lf]
+ - Added config option to allow for this to be turned on or off.
* Added missing 'E' logs to mail system [Lupus]
2008/07/03
* Removed aspd penalty from Free Cast since tests show it's not there,
diff --git a/conf/battle/homunc.conf b/conf/battle/homunc.conf
index c57c9f9b0..e8c45ec5c 100644
--- a/conf/battle/homunc.conf
+++ b/conf/battle/homunc.conf
@@ -46,3 +46,6 @@ homunculus_show_growth: no
// If a monster is killed only by homunculus, can autoloot works?
homunculus_autoloot: yes
+
+// Should homunculii Vaporize when Master dies?
+homunculus_auto_vapor: no
diff --git a/src/map/battle.c b/src/map/battle.c
index 9db8d2647..07bc5379a 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -3702,6 +3702,7 @@ static const struct _battle_data {
{ "auction_feeperhour", &battle_config.auction_feeperhour, 12000, 0, INT_MAX, },
{ "auction_maximumprice", &battle_config.auction_maximumprice, 500000000, 0, MAX_ZENY, },
{ "gm_viewequip_min_lv", &battle_config.gm_viewequip_min_lv, 0, 0, 99, },
+ { "homunculus_auto_vapor", &battle_config.homunculus_auto_vapor, 0, 0, 1, },
};
diff --git a/src/map/battle.h b/src/map/battle.h
index 93ead772d..bb7e53278 100644
--- a/src/map/battle.h
+++ b/src/map/battle.h
@@ -452,6 +452,7 @@ extern struct Battle_Config
int auction_feeperhour;
int auction_maximumprice;
int gm_viewequip_min_lv;
+ int homunculus_auto_vapor; //Keep Homunculus from Vaporizing when master dies. [L0ne_W0lf]
} battle_config;
void do_init_battle(void);
diff --git a/src/map/pc.c b/src/map/pc.c
index 2b2ef3a83..08d91c24b 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -4958,7 +4958,7 @@ int pc_dead(struct map_session_data *sd,struct block_list *src)
pet_unlocktarget(sd->pd);
}
- if(sd->status.hom_id > 0) //orn
+ if(sd->status.hom_id > 0 && battle_config.homunculus_auto_vapor) //orn
merc_hom_vaporize(sd, 0);
// Leave duel if you die [LuzZza]