diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-08-31 14:18:37 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-08-31 14:18:37 +0000 |
commit | e25963f4562516f4b4aada3983af567f81555165 (patch) | |
tree | bd0eb899cde02ff1dc9ef529e0a1735691eea48d | |
parent | 206d92c78af7e58fcf0d322aa54d04ee6318cf8f (diff) | |
download | hercules-e25963f4562516f4b4aada3983af567f81555165.tar.gz hercules-e25963f4562516f4b4aada3983af567f81555165.tar.bz2 hercules-e25963f4562516f4b4aada3983af567f81555165.tar.xz hercules-e25963f4562516f4b4aada3983af567f81555165.zip |
- Fixed @summon's delete timer being screwed up.
- Cleaned up a bit the summon script command.
- Fixed the clone script command's delete-timer being screwed up.
- Corrected battle config name max_walk_rate, it should be named max_walk_speed.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8559 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r-- | Changelog-Trunk.txt | 4 | ||||
-rw-r--r-- | conf-tmpl/Changelog.txt | 3 | ||||
-rw-r--r-- | conf-tmpl/battle/player.conf | 2 | ||||
-rw-r--r-- | src/map/atcommand.c | 3 | ||||
-rw-r--r-- | src/map/clif.c | 2 | ||||
-rw-r--r-- | src/map/mob.c | 2 | ||||
-rw-r--r-- | src/map/script.c | 20 | ||||
-rw-r--r-- | src/map/status.c | 1 |
8 files changed, 23 insertions, 14 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index f45516ea7..a87ba6b0e 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -3,6 +3,10 @@ Date Added AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
+2006/08/31
+ * Fixed @summon's delete timer being screwed up. [Skotlex]
+ * Cleaned up a bit the summon script command. [Skotlex]
+ * Fixed the clone script command's delete-timer being screwed up. [Skotlex]
2006/08/30
* Skill required-state will now only be checked on cast-begin, not
cast-end. [Skotlex]
diff --git a/conf-tmpl/Changelog.txt b/conf-tmpl/Changelog.txt index cab691f63..7c8d23934 100644 --- a/conf-tmpl/Changelog.txt +++ b/conf-tmpl/Changelog.txt @@ -1,5 +1,8 @@ Date Added
+2006/08/31
+ * Corrected battle config name max_walk_rate, it should be named
+ max_walk_speed. [Skotlex]
2006/08/29
* monster_ai&1 now only signals whether mobs should update their target
cell while chasing more frequently (rather than being state-driven like
diff --git a/conf-tmpl/battle/player.conf b/conf-tmpl/battle/player.conf index 625ee2f6a..2446c647a 100644 --- a/conf-tmpl/battle/player.conf +++ b/conf-tmpl/battle/player.conf @@ -86,7 +86,7 @@ natural_heal_weight_rate: 50 max_aspd: 190
// Maximum walk speed rate (200 would be capped to twice the normal speed)
-max_walk_rate: 300
+max_walk_speed: 300
// Maximum HP. (Default is 1000000) (Note 3)
max_hp: 1000000
diff --git a/src/map/atcommand.c b/src/map/atcommand.c index a5478c50e..ebcd78b2a 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -8594,7 +8594,6 @@ atcommand_summon( {
char name[NAME_LENGTH];
int mob_id = 0;
- int id = 0;
int duration = 0;
struct mob_data *md;
unsigned int tick=gettick();
@@ -8621,7 +8620,7 @@ atcommand_summon( if(md){
md->master_id=sd->bl.id;
md->special_state.ai=1;
- md->deletetimer=add_timer(tick+(duration*60000),mob_timer_delete,id,0);
+ md->deletetimer=add_timer(tick+(duration*60000),mob_timer_delete,md->bl.id,0);
clif_misceffect2(&md->bl,344);
mob_spawn(md);
sc_start4(&md->bl, SC_MODECHANGE, 100, 1, 0, MD_AGGRESSIVE, 0, 60000);
diff --git a/src/map/clif.c b/src/map/clif.c index ed66dbabf..8018cbf82 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -6323,7 +6323,7 @@ int clif_sendegg(struct map_session_data *sd) if(sd->status.pet_id <= 0) {
for(i=0,n=0;i<MAX_INVENTORY;i++){
if(sd->status.inventory[i].nameid<=0 || sd->inventory_data[i] == NULL ||
- sd->inventory_data[i]->type!=7 ||
+ sd->inventory_data[i]->type!=IT_PETEGG ||
sd->status.inventory[i].amount<=0)
continue;
WFIFOW(fd,n*2+4)=i+2;
diff --git a/src/map/mob.c b/src/map/mob.c index d217dcf69..73200bd27 100644 --- a/src/map/mob.c +++ b/src/map/mob.c @@ -2997,7 +2997,7 @@ int mob_clone_spawn(struct map_session_data *sd, int m, int x, int y, const char if (master_id) //Attach to Master md->master_id = master_id; if (duration) //Auto Delete after a while. - md->deletetimer = add_timer (gettick() + duration, mob_timer_delete, i, 0); + md->deletetimer = add_timer (gettick() + duration, mob_timer_delete, md->bl.id, 0); } #if 0 //I am playing with this for packet-research purposes, enable it if you want, but don't remove it :X [Skotlex] diff --git a/src/map/script.c b/src/map/script.c index 419ea5969..c60b5f868 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -10651,7 +10651,7 @@ int buildin_logmes(struct script_state *st) int buildin_summon(struct script_state *st) { - int _class, id, timeout=0; + int _class, timeout=0; char *str,*event=""; struct map_session_data *sd; struct mob_data *md; @@ -10670,14 +10670,16 @@ int buildin_summon(struct script_state *st) } clif_skill_poseffect(&sd->bl,AM_CALLHOMUN,1,sd->bl.x,sd->bl.y,tick); - id=mob_once_spawn(sd, "this", 0, 0, str,_class,1,event); - md=(struct mob_data *)map_id2bl(id); - if (!md) return 0; - md->master_id=sd->bl.id; - md->special_state.ai=1; - md->deletetimer=add_timer(tick+(timeout>0?timeout*1000:60000),mob_timer_delete,id,0); - clif_misceffect2(&md->bl,344); - sc_start4(&md->bl, SC_MODECHANGE, 100, 1, 0, MD_AGGRESSIVE, 0, 60000); + + md = mob_once_spawn_sub(&sd->bl, sd->bl.m, sd->bl.x, sd->bl.y, str, _class, event); + if (md) { + md->master_id=sd->bl.id; + md->special_state.ai=1; + md->deletetimer = add_timer(tick+(timeout>0?timeout*1000:60000),mob_timer_delete,md->bl.id,0); + mob_spawn (md); //Now it is ready for spawning. + clif_misceffect2(&md->bl,344); + sc_start4(&md->bl, SC_MODECHANGE, 100, 1, 0, MD_AGGRESSIVE, 0, 60000); + } return 0; } diff --git a/src/map/status.c b/src/map/status.c index 1fe73423f..adb27c245 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -3952,6 +3952,7 @@ struct regen_data *status_get_regen_data(struct block_list *bl) return NULL;
}
}
+
struct status_data *status_get_status_data(struct block_list *bl)
{
nullpo_retr(NULL, bl);
|