Jump to content

  •  

reds09

Member Since 15 Dec 2014
Offline Last Active Jul 03 2015 07:55 PM
-----

Posts I've Made

In Topic: [HELP] Custom skill that only work if an effect is active

30 June 2015 - 04:59 AM

You are placing it in the wrong place. For SC statuses checks it goes under status_check_skilluse (status.c), right here https://github.com/H.../status.c#L1796

Turn this:

if(tsc && tsc->count) {		/* attacks in invincible are capped to 1 damage and handled in batte.c; allow spell break and eske for sealed shrine GDB when in INVINCIBLE state. */		if( tsc->data[SC_INVINCIBLE] && !tsc->data[SC_INVINCIBLEOFF] && skill_id && !(skill_id&(SA_SPELLBREAKER|SL_SKE)) )			return 0;		if(!skill_id && tsc->data[SC_TRICKDEAD])			return 0;		if((skill_id == WZ_STORMGUST || skill_id == WZ_FROSTNOVA || skill_id == NJ_HYOUSYOURAKU)			&& tsc->data[SC_FREEZE])			return 0;		if(skill_id == PR_LEXAETERNA && (tsc->data[SC_FREEZE] || (tsc->data[SC_STONE] && tsc->opt1 == OPT1_STONE)))			return 0;		if( ( tsc->data[SC_STEALTHFIELD] || tsc->data[SC_CAMOUFLAGE] ) && !(st->mode&(MD_BOSS|MD_DETECTOR)) && flag == 4 )			return 0;	}

To this:

if(tsc && tsc->count) {		/* attacks in invincible are capped to 1 damage and handled in batte.c; allow spell break and eske for sealed shrine GDB when in INVINCIBLE state. */		if( tsc->data[SC_INVINCIBLE] && !tsc->data[SC_INVINCIBLEOFF] && skill_id && !(skill_id&(SA_SPELLBREAKER|SL_SKE)) )			return 0;		if(!skill_id && tsc->data[SC_TRICKDEAD])			return 0;		if((skill_id == WZ_STORMGUST || skill_id == WZ_FROSTNOVA || skill_id == NJ_HYOUSYOURAKU)			&& tsc->data[SC_FREEZE])			return 0;		if(skill_id == PR_LEXAETERNA && (tsc->data[SC_FREEZE] || (tsc->data[SC_STONE] && tsc->opt1 == OPT1_STONE)))			return 0;		if( ( tsc->data[SC_STEALTHFIELD] || tsc->data[SC_CAMOUFLAGE] ) && !(st->mode&(MD_BOSS|MD_DETECTOR)) && flag == 4 )			return 0;		if (skill_id == NG_JUTSU_FUNERAL && !(tsc->data[SC_STONE])) 			return 0;	}

 

great solved


In Topic: [HELP] Custom skill that only work if an effect is active

27 June 2015 - 03:40 AM

You are checking the source's status. it should be like this:

if(skill_id == NG_JUTSU_FUNERAL) { // Gravitation and Pressure do damage without removing the effect			if(tsc && tsc->data[SC_STONE]){					damage <<= 1; // If used against a player in White Imprison, the skill deals double damage.			}else{				d->dmg_lv = ATK_BLOCK;				return 0;			}		}

However, as the comment says, you're actually doubling damage if you keep it like this. So, for it doing exactly what you want it to do, it should be like this:

if(skill_id == NG_JUTSU_FUNERAL && !(tsc && tsc->data[SC_STONE])) {	// Deal damage only when the target is under stone curse status	d->dmg_lv = ATK_BLOCK;	return 0;}

 

Mano thank you for being helped me, but it still fails the skill continues to take damage normally, not only when the player is in a state of petrification (sc_stone). Because my idea and make that skill just take damage when the enemy is stunned, proque if not she "misses". I tried other forms within that gave me no success.


In Topic: Remove animation

18 June 2015 - 03:25 PM

....

In Topic: Remove animation

17 June 2015 - 03:37 PM

clif.c

 

clif_pet_roulette

 

Review the following places, as had already made up before:

 

void clif_pet_roulette(struct map_session_data *sd,int data){	int fd;	nullcheckvoid(sd);	fd=sd->fd;	WFIFOHEAD(fd,packet_len(0x1a0));	WFIFOW(fd,0)=0x1a0;	WFIFOB(fd,2)=data;	WFIFOSET(fd,packet_len(0x1a0));}andclif->pet_roulette = clif_pet_roulette;

But the "animation" Roulette continues to appear ...

 

the document he talks about a "ZC_TRYCAPTURE_MONSTER", and that will be the animation name (sprite)? I searched several files not found.


In Topic: Check "if" to mob and skill

11 June 2015 - 06:00 AM

who cast the skill ? player  or   mob?

Part of the status / skill I managed to solve and the check is running and the player that launches.
 
Now as I said and about checking the mob, it will not launch a skill, but if the "mob" determined happened "X" if any happened "y".