diff options
author | Playtester <Playtester@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-10-20 14:53:23 +0000 |
---|---|---|
committer | Playtester <Playtester@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-10-20 14:53:23 +0000 |
commit | d797656909b641d32ad5e419987e6ec63a47929c (patch) | |
tree | d999bda1fb180e4135bd9cf87c91f80b666b0645 | |
parent | 37a2acc73fd02ebfda500a08e1c0a520504e4303 (diff) | |
download | hercules-d797656909b641d32ad5e419987e6ec63a47929c.tar.gz hercules-d797656909b641d32ad5e419987e6ec63a47929c.tar.bz2 hercules-d797656909b641d32ad5e419987e6ec63a47929c.tar.xz hercules-d797656909b641d32ad5e419987e6ec63a47929c.zip |
* Some more updates to the skill unit code
- renamed SKILLUNITTIMER_INVERVAL to SKILLUNITTIMER_INTERVAL
- Heat now depends on the interval settings rather than firewall_hits_on_undead
- if you want Heat to do more or less hits you can now change the interval value in the skill_unit_db.txt (official+default: 20ms)
- Icewall doesn't break anymore when the SKILLUNITTIMER_INTERVAL gets changed
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11526 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r-- | Changelog-Trunk.txt | 5 | ||||
-rw-r--r-- | db/Changelog.txt | 3 | ||||
-rw-r--r-- | db/skill_unit_db.txt | 6 | ||||
-rw-r--r-- | src/map/skill.c | 12 |
4 files changed, 17 insertions, 9 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 48c6cc7cd..f9035fa5f 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -3,6 +3,11 @@ 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. +2007/10/20 + * Some more updates to the skill unit code [Playtester] + - renamed SKILLUNITTIMER_INVERVAL to SKILLUNITTIMER_INTERVAL + - Heat now depends on the interval settings rather than firewall_hits_on_undead + - Icewall doesn't break anymore when the SKILLUNITTIMER_INTERVAL gets changed 2007/10/19 * Added bonusautoscript and bonusautoscript2. These are used to attach a script to a player which gets executed on attack (or when attacked). This diff --git a/db/Changelog.txt b/db/Changelog.txt index 3459601aa..017680eaf 100644 --- a/db/Changelog.txt +++ b/db/Changelog.txt @@ -32,6 +32,9 @@ 13034 Desert_Twilight Small chance to activate max Attack Speed for 7 seconds. ======================= +10/20 + * Changed interval of Heat to 20ms [Playtester] + - you can change this now if you want Heat to do more or less hits 10/19 * Updated some new cards for testing purposes [Playtester] * Fixed some typos and updated Atroce Card [Playtester] diff --git a/db/skill_unit_db.txt b/db/skill_unit_db.txt index 12aa8fa92..edde3c7df 100644 --- a/db/skill_unit_db.txt +++ b/db/skill_unit_db.txt @@ -83,9 +83,9 @@ 405,0xb7, , 0, 1,1000,enemy, 0x000 //PF_SPIDERWEB 409,0xb2, , 0,-1, -1,noone, 0x000 //WE_CALLBABY 410,0xb2, , 0,-1, -1,noone, 0x000 //WE_CALLPARENT -428,0x86, , 0, 1, 1,enemy, 0x000 //SG_SUN_WARM -429,0x86, , 0, 1, 1,enemy, 0x000 //SG_MOON_WARM -430,0x86, , 0, 1, 1,enemy, 0x000 //SG_STAR_WARM +428,0x86, , 0, 1, 20,enemy, 0x000 //SG_SUN_WARM +429,0x86, , 0, 1, 20,enemy, 0x000 //SG_MOON_WARM +430,0x86, , 0, 1, 20,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, , 3, 0, 100,enemy, 0x000 //GS_DESPERADO diff --git a/src/map/skill.c b/src/map/skill.c index ab9368820..587197ecb 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -36,7 +36,7 @@ #include <time.h> -#define SKILLUNITTIMER_INVERVAL 100 +#define SKILLUNITTIMER_INTERVAL 100 //Guild Skills are shifted to these to make them stick into the skill array. #define GD_SKILLRANGEMIN 900 #define GD_SKILLRANGEMAX GD_SKILLRANGEMIN+MAX_GUILDSKILL @@ -7399,7 +7399,7 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns int count=0; int x = bl->x, y = bl->y; //If target isn't knocked back it should hit every 20ms [Playtester] - while (count++ < battle_config.firewall_hits_on_undead && x == bl->x && y == bl->y && !status_isdead(bl)){ + while (count++ < SKILLUNITTIMER_INTERVAL/sg->interval && x == bl->x && y == bl->y && !status_isdead(bl)){ if (!status_charge(ss, 0, 2)){ //should end when out of sp. sg->limit=DIFF_TICK(tick,sg->tick); break; @@ -10332,8 +10332,8 @@ int skill_unit_timer_sub (struct block_list* bl, va_list ap) switch( group->unit_id ) { case UNT_ICEWALL: - // icewall loses 50 hp every second (and this executes every 100ms, so...) - unit->val1 -= 5; // trap's hp + // icewall loses 50 hp every second + unit->val1 -= SKILLUNITTIMER_INTERVAL/20; // trap's hp if( unit->val1 <= 0 && unit->limit + group->tick > tick + 700 ) unit->limit = DIFF_TICK(tick+700,group->tick); break; @@ -10354,7 +10354,7 @@ int skill_unit_timer_sub (struct block_list* bl, va_list ap) return 0; } /*========================================== - * Executes on all skill units every SKILLUNITTIMER_INVERVAL miliseconds. + * Executes on all skill units every SKILLUNITTIMER_INTERVAL miliseconds. *------------------------------------------*/ int skill_unit_timer (int tid, unsigned int tick, int id, int data) { @@ -11856,7 +11856,7 @@ int do_init_skill (void) add_timer_func_list(skill_timerskill,"skill_timerskill"); add_timer_func_list(skill_blockpc_end, "skill_blockpc_end"); - add_timer_interval(gettick()+SKILLUNITTIMER_INVERVAL,skill_unit_timer,0,0,SKILLUNITTIMER_INVERVAL); + add_timer_interval(gettick()+SKILLUNITTIMER_INTERVAL,skill_unit_timer,0,0,SKILLUNITTIMER_INTERVAL); return 0; } |