diff options
-rw-r--r-- | Changelog-Trunk.txt | 1 | ||||
-rw-r--r-- | db/skill_unit_db.txt | 2 | ||||
-rw-r--r-- | src/map/battle.c | 1 | ||||
-rw-r--r-- | src/map/map.c | 6 | ||||
-rw-r--r-- | src/map/skill.c | 35 |
5 files changed, 22 insertions, 23 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index e98658185..5744c8818 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,7 @@ 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.
2006/11/08
+ * Fixed Desperado's hit-rate, now it behaves as it should. [Skotlex]
* The GVG map-packet will now also be sent for guild dungeon maps.
[Skotlex]
* Added clif_gospel_info which displays info about the buffs you are
diff --git a/db/skill_unit_db.txt b/db/skill_unit_db.txt index 58090fdeb..986e2e724 100644 --- a/db/skill_unit_db.txt +++ b/db/skill_unit_db.txt @@ -88,7 +88,7 @@ 430,0x86, , 0, 1, 500,enemy, 0x000 //SG_STAR_WARM
484,0xb8, , 2, 0,1000,enemy, 0x808 //HW_GRAVITATION
488,0xb9, , 3, 0, -1,all, 0x200 //CG_HERMODE
-516,0xba, , 0, 3, 100,enemy, 0x000 //GS_DESPERADO
+516,0xba, , 3, 0, 100,enemy, 0x000 //GS_DESPERADO
521,0xbe, , 0, 1,1000,enemy, 0x000 //GS_GROUNDDRIFT
527,0xbc, , -1, 0,2000,enemy, 0x000 //NJ_TATAMIGAESHI
535,0xbd, , -1, 0, 200,enemy, 0x008 //NJ_KAENSIN
diff --git a/src/map/battle.c b/src/map/battle.c index b0a3995cd..0a7dee67c 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -217,7 +217,6 @@ int battle_attr_fix(struct block_list *src, struct block_list *target, int damag damage <<= 1; status_change_end(target, SC_SPIDERWEB, -1); } - } return damage*ratio/100; } diff --git a/src/map/map.c b/src/map/map.c index 6c00496cd..1036edd15 100644 --- a/src/map/map.c +++ b/src/map/map.c @@ -1681,7 +1681,7 @@ int map_quit(struct map_session_data *sd) { unit_remove_map(&sd->pd->bl, 0); } } - + //Do we really need to remove the name? idb_remove(charid_db,sd->status.char_id); idb_remove(id_db,sd->bl.id); @@ -3917,8 +3917,8 @@ int do_init(int argc, char *argv[]) { mapindex_init(); grfio_init(GRF_PATH_FILENAME); - map_readallmaps();
-
+ map_readallmaps(); + add_timer_func_list(map_freeblock_timer, "map_freeblock_timer"); add_timer_func_list(map_clearflooritem_timer, "map_clearflooritem_timer"); add_timer_func_list(map_removemobs_timer, "map_removemobs_timer"); diff --git a/src/map/skill.c b/src/map/skill.c index 4925922c8..5c1c6448d 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -6767,7 +6767,7 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, int skillid, ux+=(i%5-2); uy+=(i/5-2); break; - case UNT_DESPERADO: + case GS_DESPERADO: val1 = abs(layout->dx[i]); val2 = abs(layout->dy[i]); if (val1 < 2 || val2 < 2) { //Nearby cross, linear decrease with no diagonals @@ -7185,21 +7185,6 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns sg->state.into_abyss = 1; //Prevent Remove Trap from giving you the trap back. [Skotlex] break; - case UNT_GROUNDDRIFT_WIND: - case UNT_GROUNDDRIFT_DARK: - case UNT_GROUNDDRIFT_POISON: - case UNT_GROUNDDRIFT_WATER: - case UNT_GROUNDDRIFT_FIRE: - map_foreachinrange(skill_trap_splash,&src->bl, - skill_get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, - &src->bl,tick,0); - sg->unit_id = UNT_USED_TRAPS; - clif_changetraplook(&src->bl, UNT_FIREPILLAR_ACTIVE); - sg->limit=DIFF_TICK(tick,sg->tick)+1500; - sg->state.into_abyss = 1; - break; - - case UNT_TALKIEBOX: if (sg->src_id == bl->id) break; @@ -7261,7 +7246,7 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns status_change_clear_buffs(bl,2); if (sd) clif_gospel_info(sd, 0x15); break; - case 2: // 100% resist to status changes. + case 2: // Immunity to all status sc_start(bl,SC_SCRESIST,100,100,type); if (sd) clif_gospel_info(sd, 0x16); break; @@ -7351,6 +7336,20 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns skill_attack(BF_WEAPON,ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0); break; + case UNT_GROUNDDRIFT_WIND: + case UNT_GROUNDDRIFT_DARK: + case UNT_GROUNDDRIFT_POISON: + case UNT_GROUNDDRIFT_WATER: + case UNT_GROUNDDRIFT_FIRE: + map_foreachinrange(skill_trap_splash,&src->bl, + skill_get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, + &src->bl,tick,0); + sg->unit_id = UNT_USED_TRAPS; + clif_changetraplook(&src->bl, UNT_FIREPILLAR_ACTIVE); + sg->limit=DIFF_TICK(tick,sg->tick)+1500; + sg->state.into_abyss = 1; + break; + case UNT_KAENSIN: skill_attack(BF_MAGIC,ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0); if (--src->val2 <= 0) @@ -9339,7 +9338,7 @@ int skill_landprotector (struct block_list *bl, va_list ap) } if (unit->group->skill_id == SA_LANDPROTECTOR && !(skill_get_unit_flag(skillid)&(UF_DANCE|UF_SONG|UF_ENSEMBLE))) - { //Block stuff from being placed on an LP except for song/dances + { //It deletes everything except songs/dances/encores. (*alive) = 0; return 1; } |