summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt8
-rw-r--r--conf/battle/battle.conf6
-rw-r--r--db/Changelog.txt2
-rw-r--r--db/item_db.txt4
-rw-r--r--doc/script_commands.txt2
-rw-r--r--npc/Changelog.txt2
-rw-r--r--npc/kafras/dts_warper.txt5
-rw-r--r--src/map/battle.c3
-rw-r--r--src/map/battle.h1
-rw-r--r--src/map/clif.c8
-rw-r--r--src/map/pc.c4
-rw-r--r--src/map/skill.c11
12 files changed, 36 insertions, 20 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index e0c225ce7..9b3b2cb9d 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -3,6 +3,14 @@ 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.
+2010/06/27
+ * Rev. 14356 Follow up to r13895, added a battle.conf setting to control if ranges should be checked with autocasts. [L0ne_W0lf]
+ 'autospell_check_range', by default is set to no, as this is official behavior. This does not affect autospellwhenhit.
+ * Sonic Blow autocast now stops players attacking when it triggers. It's possible there is more depth to this
+ on official servers, and should 'stop' attacking on regular casts as well. It appears so far that this is the
+ only skill that behaves this way.
+ * Modified the default value for homunculus_auto_vapor in source to 1.
+ * pvp_points are no longer calculated in the gvg_dungeon flagged maps.
2010/06/22
* Rev. 14353 Added support for NPC names in the 'specialeffect' script command, go go copy/paste! [L0ne_W0lf]
2010/06/20
diff --git a/conf/battle/battle.conf b/conf/battle/battle.conf
index 05f774ea6..044acac17 100644
--- a/conf/battle/battle.conf
+++ b/conf/battle/battle.conf
@@ -165,3 +165,9 @@ delay_battle_damage: yes
// skill is weapon-based and used with ranged weapons (auto-guesses which
// skills should consume ammo when it's acquired via a card or plagiarize)
arrow_decrement: 1
+
+// Should the item script bonus 'Autospell' check for range/obstacles before casting?
+// Official behavior is "no", setting this to "yes" will make skills use their defined
+// range. For example, Sonic Blow requires a 2 cell distance before autocasting is allowed.
+// This setting does not affect autospellwhenhit.
+autospell_check_range: no
diff --git a/db/Changelog.txt b/db/Changelog.txt
index 19748768d..d0b28bd71 100644
--- a/db/Changelog.txt
+++ b/db/Changelog.txt
@@ -8,6 +8,8 @@
1475 Equestrian's Spear: NEED INFO.
13005 Angelic Wing Dagger: NEED INFO.
=======================
+2010/06/27
+ * Rev. 14356 Corrected a view ID and an equip location in the item database. (bugreport:4330) [L0ne_W0lf]
2010/06/21
* Rev. 14352 Minor item database bug fixes! [L0ne_W0lf]
- Corrected some lower headgears being able to be refined. (bugreport:4328)
diff --git a/db/item_db.txt b/db/item_db.txt
index a8efa8240..c4e9990ef 100644
--- a/db/item_db.txt
+++ b/db/item_db.txt
@@ -2717,7 +2717,7 @@
5530,Raven_Cap,Raven Cap,5,20,,300,,3,,1,0xFFFFFFFF,7,2,256,,30,1,524,{},{},{}
5531,B_Dragon_Hat,Baby Dragon Hat,5,20,,100,,3,,1,0xFFFFFFFF,7,2,256,,0,1,525,{},{},{}
5532,Pirate_Dagger_J,Pirate Dagger,5,,,100,,0,,0,0xFFFFFFFF,7,2,1,,0,1,327,{ bonus bShortWeaponDamageReturn,1; },{},{}
-5533,Emperor_Wreath_J,Emperor Wreath,5,,,800,,3,,1,0xFFFFFFFF,7,2,1,,80,1,261,{ bonus bAllStats,1; },{},{}
+5533,Emperor_Wreath_J,Emperor Wreath,5,,,800,,3,,1,0xFFFFFFFF,7,2,256,,80,1,261,{ bonus bAllStats,1; },{},{}
5534,Fox_Hat_J,Fox Hat,5,20,,100,,1,,0,0xFFFFFFFF,7,0,769,,70,1,403,{ bonus bAgi,1; bonus bFlee2,2; },{},{}
5535,Side_Cap,Side Cap,5,20,,500,,3,,0,0xFFFFFFFF,7,2,256,,0,1,529,{ bonus2 bSubRace,RC_DemiHuman,5; bonus2 bAddRace,RC_DemiHuman,3; },{},{}
5536,Spare_Card,Spare Card,5,20,,10,,1,,0,0xFFFFFFFF,7,2,1,,10,1,526,{ bonus2 bAddMonsterDropItem,6187,1000; },{},{}
@@ -2754,7 +2754,7 @@
5567,Bright_Fury,Bright Fury,5,20,,100,,1,,1,0xFFFFFFFF,7,2,256,,0,1,548,{ bonus2 bAddRace,RC_NonBoss,2; bonus2 bAddRace,RC_Boss,2; bonus bAspdRate,2; },{},{}
5568,Rabbit_Bonnet,Rabbit Bonnet,5,20,,100,,1,,0,0xFFFFFFFF,7,2,256,,0,1,549,{},{},{}
5569,Gemini_Diadem,Gemini Diadem,5,20,,300,,4,,1,0xFFFFFFFF,7,2,256,,70,1,550,{ bonus bMatkRate,2; if(getrefine()>6) { bonus bMDef,7; bonus bMAtkRate,8; bonus2 bSubEle,Ele_Wind,5; } },{},{}
-5570,Gemini_Crown,Gemini Crown,5,20,,300,,4,,1,0xFFFFFFFF,7,2,256,,70,1,550,{ bonus bAtk,2; bonus bMDef,5; if(getrefine()>6) { bonus bDef,1; bonus bMAtk,15; bonus bFlee,10; bonus2 bSubEle,Ele_Wind,5; } },{},{}
+5570,Gemini_Crown,Gemini Crown,5,20,,300,,4,,1,0xFFFFFFFF,7,2,256,,70,1,551,{ bonus bAtk,2; bonus bMDef,5; if(getrefine()>6) { bonus bDef,1; bonus bMAtk,15; bonus bFlee,10; bonus2 bSubEle,Ele_Wind,5; } },{},{}
//5571,Rasta_Wig,Rasta_Wig,5,20,,800,,1,,0,0xFFFFFFFF,7,2,256,,0,1,552,{},{},{}
5572,Savage_Babe_Hat,Savage Babe Hat,5,20,,100,,1,,1,0xFFFFFFFF,7,2,256,,0,1,553,{},{},{}
5573,Dokebi_Horn,Dokebi Horn,5,20,,100,,1,,1,0xFFFFFFFF,7,2,256,,0,1,554,{},{},{}
diff --git a/doc/script_commands.txt b/doc/script_commands.txt
index 07819d238..12afe7221 100644
--- a/doc/script_commands.txt
+++ b/doc/script_commands.txt
@@ -4577,7 +4577,7 @@ will retain the default behavior of the command.
// this will make the NPC "John Doe#1"
// show the effect "EF_HIT1" specified by
// Jane Doe. I wonder what John did...
- mes "[Jane Doe];
+ mes "[Jane Doe]";
mes "Well, I never!";
specialeffect EF_HIT1,AREA,"John Doe#1";
close;
diff --git a/npc/Changelog.txt b/npc/Changelog.txt
index e4b10cce7..b03075635 100644
--- a/npc/Changelog.txt
+++ b/npc/Changelog.txt
@@ -1,5 +1,7 @@
Date Added
======
+2010/06/27
+ * Rev. 14356 Corrected a typo in the DTS_Warper script. [L0ne_W0lf]
2010/06/22
* Rev. 14353 Updated several NPCs to use the updated specialeffect command, updated more NPCs to use the updated emotion command. [L0ne_W0lf]
2010/06/21
diff --git a/npc/kafras/dts_warper.txt b/npc/kafras/dts_warper.txt
index 58aba58bc..ffd28edd4 100644
--- a/npc/kafras/dts_warper.txt
+++ b/npc/kafras/dts_warper.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= Evera
//===== Current Version: =====================================
-//= 2.6
+//= 2.7
//===== Compatible With: =====================================
//= eAthena SVN
//===== Description: =========================================
@@ -51,6 +51,7 @@
//= 2.4 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf]
//= 2.5 Converted from Aegis file. (11.3) [L0ne_W0lf]
//= 2.6 Moved Morroc NPCs to Morroc Ruins. [L0ne_W0lf]
+//= 2.7 Fixed a typo, a - to a +. Not sure how that happened. [L0ne_w0lf]
//============================================================
einbroch,246,70,0 script Vote Timer#ein -1,{
@@ -287,7 +288,7 @@ OnTimer60000:
donpcevent "Vote Timer#ein::OnEnable";
}
else {
- set $DTS_PeriodCheck,$DTS_PeriodCheck-1; //Global Variable
+ set $DTS_PeriodCheck,$DTS_PeriodCheck+1; //Global Variable
donpcevent "Vote Timer4#ein::OnEnable";
}
end;
diff --git a/src/map/battle.c b/src/map/battle.c
index b2c74afaf..de0bfe07f 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -3871,12 +3871,13 @@ 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, },
+ { "homunculus_auto_vapor", &battle_config.homunculus_auto_vapor, 1, 0, 1, },
{ "display_status_timers", &battle_config.display_status_timers, 1, 0, 1, },
{ "skill_add_heal_rate", &battle_config.skill_add_heal_rate, 7, 0, INT_MAX, },
{ "eq_single_target_reflectable", &battle_config.eq_single_target_reflectable, 1, 0, 1, },
{ "invincible.nodamage", &battle_config.invincible_nodamage, 0, 0, 1, },
{ "mob_slave_keep_target", &battle_config.mob_slave_keep_target, 0, 0, 1, },
+ { "autospell_check_range", &battle_config.autospell_check_range, 0, 0, 1, },
// BattleGround Settings
{ "bg_update_interval", &battle_config.bg_update_interval, 1000, 100, INT_MAX, },
{ "bg_short_attack_damage_rate", &battle_config.bg_short_damage_rate, 80, 0, INT_MAX, },
diff --git a/src/map/battle.h b/src/map/battle.h
index 17e80c408..361867a9f 100644
--- a/src/map/battle.h
+++ b/src/map/battle.h
@@ -469,6 +469,7 @@ extern struct Battle_Config
int eq_single_target_reflectable;
int invincible_nodamage;
int mob_slave_keep_target;
+ int autospell_check_range; //Enable range check for autospell bonus. [L0ne_W0lf]
// [BattleGround Settings]
int bg_update_interval;
diff --git a/src/map/clif.c b/src/map/clif.c
index bd7af7eb3..0e1082d4c 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -8310,15 +8310,7 @@ void clif_parse_LoadEndAck(int fd,struct map_session_data *sd)
clif_set0199(sd,1);
if (map[sd->bl.m].flag.gvg_dungeon)
- {
clif_set0199(sd,1); //TODO: Figure out the real packet to send here.
- if (!sd->pvp_point)
- {
- sd->pvp_point = 5; //Need to die twice to be warped out.
- sd->pvp_won = 0;
- sd->pvp_lost = 0;
- }
- }
if( map_flag_gvg(sd->bl.m) )
clif_set0199(sd,3);
diff --git a/src/map/pc.c b/src/map/pc.c
index 91017cf22..04027c42d 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -5721,8 +5721,8 @@ int pc_dead(struct map_session_data *sd,struct block_list *src)
}
// pvp
// disable certain pvp functions on pk_mode [Valaris]
- if( map[sd->bl.m].flag.gvg_dungeon || (map[sd->bl.m].flag.pvp && !battle_config.pk_mode && !map[sd->bl.m].flag.pvp_nocalcrank) )
- { // Pvp points always take effect on gvg_dungeon maps.
+ if( map[sd->bl.m].flag.pvp && !battle_config.pk_mode && !map[sd->bl.m].flag.pvp_nocalcrank )
+ {
sd->pvp_point -= 5;
sd->pvp_lost++;
if( src && src->type == BL_PC )
diff --git a/src/map/skill.c b/src/map/skill.c
index 2f2a7e6b0..3e63a9211 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -1010,8 +1010,11 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
tbl = (sd->autospell[i].id < 0) ? src : bl;
- if( !battle_check_range(src, tbl, skill_get_range2(src, skill,skilllv) + (skill == RG_CLOSECONFINE?0:1)) )
- continue; //Autocasts should always fail if the target is outside the skill range or an obstacle is in between.[Inkfish]
+ if( !battle_check_range(src, tbl, skill_get_range2(src, skill,skilllv) + (skill == RG_CLOSECONFINE?0:1)) && battle_config.autospell_check_range )
+ continue; // If autospell_check_range is yes, fail the autocast.
+
+ if (skill == AS_SONICBLOW)
+ pc_stop_attack(sd); //Special case, Sonic Blow autospell should stop the player attacking.
sd->state.autocast = 1;
skill_consume_requirement(sd,skill,skilllv,1);
@@ -1109,7 +1112,7 @@ int skill_onskillusage(struct map_session_data *sd, struct block_list *bl, int s
continue;
tbl = (sd->autospell3[i].id < 0) ? &sd->bl : bl;
- if( !battle_check_range(&sd->bl, tbl, skill_get_range2(&sd->bl, skill,skilllv) + (skill == RG_CLOSECONFINE?0:1)) )
+ if( !battle_check_range(&sd->bl, tbl, skill_get_range2(&sd->bl, skill,skilllv) + (skill == RG_CLOSECONFINE?0:1)) && battle_config.autospell_check_range )
continue;
sd->state.autocast = 1;
@@ -1281,7 +1284,7 @@ int skill_counter_additional_effect (struct block_list* src, struct block_list *
tbl = (dstsd->autospell2[i].id < 0) ? bl : src;
- if( !battle_check_range(src, tbl, skill_get_range2(src, skillid,skilllv) + (skillid == RG_CLOSECONFINE?0:1)) )
+ if( !battle_check_range(src, tbl, skill_get_range2(src, skillid,skilllv) + (skillid == RG_CLOSECONFINE?0:1)) && battle_config.autospell_check_range )
continue;
dstsd->state.autocast = 1;