* 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://svn.code.sf.net/p/rathena/svn/trunk@11526 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
98b513bf71
commit
63b525649c
@ -3,6 +3,11 @@ Date Added
|
|||||||
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
|
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.
|
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
|
2007/10/19
|
||||||
* Added bonusautoscript and bonusautoscript2. These are used to attach a
|
* Added bonusautoscript and bonusautoscript2. These are used to attach a
|
||||||
script to a player which gets executed on attack (or when attacked). This
|
script to a player which gets executed on attack (or when attacked). This
|
||||||
|
@ -32,6 +32,9 @@
|
|||||||
13034 Desert_Twilight Small chance to activate max Attack Speed for 7 seconds.
|
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
|
10/19
|
||||||
* Updated some new cards for testing purposes [Playtester]
|
* Updated some new cards for testing purposes [Playtester]
|
||||||
* Fixed some typos and updated Atroce Card [Playtester]
|
* Fixed some typos and updated Atroce Card [Playtester]
|
||||||
|
@ -83,9 +83,9 @@
|
|||||||
405,0xb7, , 0, 1,1000,enemy, 0x000 //PF_SPIDERWEB
|
405,0xb7, , 0, 1,1000,enemy, 0x000 //PF_SPIDERWEB
|
||||||
409,0xb2, , 0,-1, -1,noone, 0x000 //WE_CALLBABY
|
409,0xb2, , 0,-1, -1,noone, 0x000 //WE_CALLBABY
|
||||||
410,0xb2, , 0,-1, -1,noone, 0x000 //WE_CALLPARENT
|
410,0xb2, , 0,-1, -1,noone, 0x000 //WE_CALLPARENT
|
||||||
428,0x86, , 0, 1, 1,enemy, 0x000 //SG_SUN_WARM
|
428,0x86, , 0, 1, 20,enemy, 0x000 //SG_SUN_WARM
|
||||||
429,0x86, , 0, 1, 1,enemy, 0x000 //SG_MOON_WARM
|
429,0x86, , 0, 1, 20,enemy, 0x000 //SG_MOON_WARM
|
||||||
430,0x86, , 0, 1, 1,enemy, 0x000 //SG_STAR_WARM
|
430,0x86, , 0, 1, 20,enemy, 0x000 //SG_STAR_WARM
|
||||||
484,0xb8, , 2, 0,1000,enemy, 0x808 //HW_GRAVITATION
|
484,0xb8, , 2, 0,1000,enemy, 0x808 //HW_GRAVITATION
|
||||||
488,0xb9, , 3, 0, -1,all, 0x200 //CG_HERMODE
|
488,0xb9, , 3, 0, -1,all, 0x200 //CG_HERMODE
|
||||||
516,0xba, , 3, 0, 100,enemy, 0x000 //GS_DESPERADO
|
516,0xba, , 3, 0, 100,enemy, 0x000 //GS_DESPERADO
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
#include <time.h>
|
#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.
|
//Guild Skills are shifted to these to make them stick into the skill array.
|
||||||
#define GD_SKILLRANGEMIN 900
|
#define GD_SKILLRANGEMIN 900
|
||||||
#define GD_SKILLRANGEMAX GD_SKILLRANGEMIN+MAX_GUILDSKILL
|
#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 count=0;
|
||||||
int x = bl->x, y = bl->y;
|
int x = bl->x, y = bl->y;
|
||||||
//If target isn't knocked back it should hit every 20ms [Playtester]
|
//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.
|
if (!status_charge(ss, 0, 2)){ //should end when out of sp.
|
||||||
sg->limit=DIFF_TICK(tick,sg->tick);
|
sg->limit=DIFF_TICK(tick,sg->tick);
|
||||||
break;
|
break;
|
||||||
@ -10332,8 +10332,8 @@ int skill_unit_timer_sub (struct block_list* bl, va_list ap)
|
|||||||
switch( group->unit_id )
|
switch( group->unit_id )
|
||||||
{
|
{
|
||||||
case UNT_ICEWALL:
|
case UNT_ICEWALL:
|
||||||
// icewall loses 50 hp every second (and this executes every 100ms, so...)
|
// icewall loses 50 hp every second
|
||||||
unit->val1 -= 5; // trap's hp
|
unit->val1 -= SKILLUNITTIMER_INTERVAL/20; // trap's hp
|
||||||
if( unit->val1 <= 0 && unit->limit + group->tick > tick + 700 )
|
if( unit->val1 <= 0 && unit->limit + group->tick > tick + 700 )
|
||||||
unit->limit = DIFF_TICK(tick+700,group->tick);
|
unit->limit = DIFF_TICK(tick+700,group->tick);
|
||||||
break;
|
break;
|
||||||
@ -10354,7 +10354,7 @@ int skill_unit_timer_sub (struct block_list* bl, va_list ap)
|
|||||||
return 0;
|
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)
|
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_timerskill,"skill_timerskill");
|
||||||
add_timer_func_list(skill_blockpc_end, "skill_blockpc_end");
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user