diff options
-rw-r--r-- | Changelog-Trunk.txt | 4 | ||||
-rw-r--r-- | conf-tmpl/battle/exp.conf | 14 | ||||
-rw-r--r-- | src/map/skill.c | 5 | ||||
-rw-r--r-- | src/map/status.c | 10 |
4 files changed, 15 insertions, 18 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index be54eec80..f3f8165d0 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -5,6 +5,10 @@ IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. EV GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS
2006/02/07
+ * Removed the max level configs from battle/exp.txt [Skotlex]
+ * Now NPC_POWERUP uses SC_INCATKRATE instead of SC_EXPLOSIONSPIRITS for
+ enhancing damage. Instead of +1k atk per skilllv, it is +50% atk per
+ skilllv. [Skotlex]
* Fixed char server changing the save/last point to new grounds in certain
situations. [Skotlex]
* Fixed SG_STAR_ANGER not getting it's damage bonus at all. [Skotlex]
diff --git a/conf-tmpl/battle/exp.conf b/conf-tmpl/battle/exp.conf index 513d5eeab..494081d08 100644 --- a/conf-tmpl/battle/exp.conf +++ b/conf-tmpl/battle/exp.conf @@ -25,6 +25,8 @@ // 1000 miliseconds is 1 second. // Unless otherwise specified, the minimum value is 0 for all // features. +//Note 4: The max level of classes is specified in the exp table. +// See files db/exp.txt and db/exp2.txt to change them. //-------------------------------------------------------------- // Rate at which exp. is given. (Note 2) (Note 3) @@ -87,15 +89,3 @@ disp_zeny: no // If no, an equation will be used which preserves statpoints earned/lost // through external means (ie: stat point buyers/sellers) use_statpoint_table: yes - -// Maximum levels. The actual maximum level you can acquire is the minimum between the max -// defined by the experience table and these values. -// If a character has a level higher than this maximum, it will not be reverted, it just won't -// be able to get any more levels. -// The @/# and script commands to level up will be capped by these max, not by the exp table's. -//NOTE: The default max base is left at 255 to avoid problems with already existing chars. -//NOTE: Advanced Job level refers only to advanced second classes (not high novice/first-class) -max_base_level: 255 -max_job_level: 50 -max_super_novice_level: 99 -max_advanced_job_level: 70 diff --git a/src/map/skill.c b/src/map/skill.c index 2b4ab9394..789eb1f62 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -5225,8 +5225,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in pc_breakshield(dstsd);
break;
- case NPC_POWERUP: //NPC”š—ô”g“®
- status_change_start(bl,SC_EXPLOSIONSPIRITS,skilllv,0,0,0,skilllv * 60000,0);
+ case NPC_POWERUP:
+ // +25% attack per skill level? It's a guess... [Skotlex]
+ status_change_start(bl,SC_INCATKRATE,25*skilllv,0,0,0,skilllv * 60000,0);
// another random guess xP
clif_skill_nodamage(src,bl,skillid,skilllv,1);
status_change_start(bl,SC_INCALLSTATUS,skilllv * 5,0,0,0,skilllv * 60000,0);
diff --git a/src/map/status.c b/src/map/status.c index 1a7dbb3d6..4ae4b81f7 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -2140,8 +2140,6 @@ int status_calc_watk(struct block_list *bl, int watk) watk += watk * 3;
if(sc->data[SC_NIBELUNGEN].timer!=-1 && bl->type != BL_PC && (status_get_element(bl)/10)>=8)
watk += sc->data[SC_NIBELUNGEN].val2;
- if(sc->data[SC_EXPLOSIONSPIRITS].timer!=-1 && bl->type != BL_PC)
- watk += (1000*sc->data[SC_EXPLOSIONSPIRITS].val1);
if(sc->data[SC_CURSE].timer!=-1)
watk -= watk * 25/100;
if(sc->data[SC_STRIPWEAPON].timer!=-1 && bl->type != BL_PC)
@@ -4536,7 +4534,9 @@ int status_change_start(struct block_list *bl,int type,int val1,int val2,int val val4 = gettick(); //Store time at which you started running.
calc_flag = 1;
break;
-
+ case SC_INCATKRATE: /* ATK%㸠*/
+ if (bl->type == BL_MOB)
+ sc->opt3 |= 8; //Simulate Explosion Spirits effect for NPC_POWERUP [Skotlex]
case SC_CONCENTRATE: /* W’†—ÍŒüã */
case SC_BLESSING: /* ƒuƒŒƒbƒVƒ“ƒO */
case SC_ANGELUS: /* ƒAƒ“ƒ[ƒ‹ƒX */
@@ -4558,7 +4558,6 @@ int status_change_start(struct block_list *bl,int type,int val1,int val2,int val case SC_INCFLEERATE: /* FLEE%㸠*/
case SC_INCMHPRATE: /* MHP%㸠*/
case SC_INCMSPRATE: /* MSP%㸠*/
- case SC_INCATKRATE: /* ATK%㸠*/
case SC_INCMATKRATE:
case SC_INCDEFRATE:
case SC_INCSTR:
@@ -5196,6 +5195,9 @@ int status_change_end( struct block_list* bl , int type,int tid ) case SC_ENERGYCOAT: /* ƒGƒiƒW?ƒR?ƒg */
sc->opt3 &= ~4;
break;
+ case SC_INCATKRATE: //Simulated Explosion spirits effect.
+ if (bl->type != BL_MOB)
+ break;
case SC_EXPLOSIONSPIRITS: // ”š—ô”g“®
sc->opt3 &= ~8;
break;
|