Added/improved SG's maps and monsters reset script and GM commands (#5359)

This commit is contained in:
Daegaladh 2020-08-26 23:52:26 +02:00 committed by GitHub
parent d67a5e1873
commit 1c123a517e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 78 additions and 2 deletions

View File

@ -1723,5 +1723,8 @@
1513: Currently in WoE hours, unable to delegate Guild leader 1513: Currently in WoE hours, unable to delegate Guild leader
1514: You have to wait for a while before delegating a new Guild leader 1514: You have to wait for a while before delegating a new Guild leader
// @hatereset
1515: Reset 'Hatred' monsters.
//Custom translations //Custom translations
import: conf/msg_conf/import/map_msg_eng_conf.txt import: conf/msg_conf/import/map_msg_eng_conf.txt

View File

@ -920,6 +920,14 @@ Resets stats (@streset), skills (@skreset), or both (@reset).
@feelreset @feelreset
Resets a Star Gladiator's marked maps. Resets a Star Gladiator's marked maps.
Only works on Star Gladiator and Star Emperor classes.
---------------------------------------
@hatereset
Resets a Star Gladiator's marked monsters.
Only works on Star Gladiator and Star Emperor classes.
--------------------------------------- ---------------------------------------

View File

@ -5676,6 +5676,20 @@ Used in reset NPC's (duh!)
--------------------------------------- ---------------------------------------
*resetfeel({<char_id>});
This command will reset the Star Gladiator's designated maps on the invoking character.
Only works on Star Gladiator and Star Emperor classes.
---------------------------------------
*resethate({<char_id>});
This command will reset the Star Gladiator's designated monsters on the invoking character.
Only works on Star Gladiator and Star Emperor classes.
---------------------------------------
*sc_start <effect type>,<ticks>,<value 1>{,<rate>,<flag>{,<GID>}}; *sc_start <effect type>,<ticks>,<value 1>{,<rate>,<flag>{,<GID>}};
*sc_start2 <effect type>,<ticks>,<value 1>,<value 2>{,<rate>,<flag>{,<GID>}}; *sc_start2 <effect type>,<ticks>,<value 1>,<value 2>{,<rate>,<flag>{,<GID>}};
*sc_start4 <effect type>,<ticks>,<value 1>,<value 2>,<value 3>,<value 4>{,<rate>,<flag>{,<GID>}}; *sc_start4 <effect type>,<ticks>,<value 1>,<value 2>,<value 3>,<value 4>{,<rate>,<flag>{,<GID>}};

View File

@ -8753,16 +8753,37 @@ ACMD_FUNC(request)
} }
/*========================================== /*==========================================
* Feel (SG save map) Reset [HiddenDragon] * Feel (SG designated maps) Reset [HiddenDragon]
*------------------------------------------*/ *------------------------------------------*/
ACMD_FUNC(feelreset) ACMD_FUNC(feelreset)
{ {
if ((sd->class_&MAPID_UPPERMASK) != MAPID_STAR_GLADIATOR) {
clif_displaymessage(sd->fd,msg_txt(sd,35)); // You can't use this command with this class.
return -1;
}
pc_resetfeel(sd); pc_resetfeel(sd);
clif_displaymessage(fd, msg_txt(sd,1324)); // Reset 'Feeling' maps. clif_displaymessage(fd, msg_txt(sd,1324)); // Reset 'Feeling' maps.
return 0; return 0;
} }
/*==========================================
* Hate (SG designated monsters) Reset
*------------------------------------------*/
ACMD_FUNC(hatereset)
{
if ((sd->class_&MAPID_UPPERMASK) != MAPID_STAR_GLADIATOR) {
clif_displaymessage(sd->fd,msg_txt(sd,35)); // You can't use this command with this class.
return -1;
}
pc_resethate(sd);
clif_displaymessage(fd, msg_txt(sd,1515)); // Reset 'Hatred' monsters.
return 0;
}
/*========================================== /*==========================================
* AUCTION SYSTEM * AUCTION SYSTEM
*------------------------------------------*/ *------------------------------------------*/
@ -10523,6 +10544,7 @@ void atcommand_basecommands(void) {
ACMD_DEF(homshuffle), ACMD_DEF(homshuffle),
ACMD_DEF(showmobs), ACMD_DEF(showmobs),
ACMD_DEF(feelreset), ACMD_DEF(feelreset),
ACMD_DEF(hatereset),
ACMD_DEF(auction), ACMD_DEF(auction),
ACMD_DEF(mail), ACMD_DEF(mail),
ACMD_DEF2("noks", ksprotection), ACMD_DEF2("noks", ksprotection),

View File

@ -9293,8 +9293,9 @@ bool pc_jobchange(struct map_session_data *sd,int job, char upper)
} }
if( (sd->class_&MAPID_UPPERMASK) == MAPID_STAR_GLADIATOR && (b_class&MAPID_UPPERMASK) != MAPID_STAR_GLADIATOR) { if( (sd->class_&MAPID_UPPERMASK) == MAPID_STAR_GLADIATOR && (b_class&MAPID_UPPERMASK) != MAPID_STAR_GLADIATOR) {
/* going off star glad lineage, reset feel to not store no-longer-used vars in the database */ /* going off star glad lineage, reset feel and hate to not store no-longer-used vars in the database */
pc_resetfeel(sd); pc_resetfeel(sd);
pc_resethate(sd);
} }
// Reset body style to 0 before changing job to avoid // Reset body style to 0 before changing job to avoid

View File

@ -12155,6 +12155,32 @@ BUILDIN_FUNC(resetskill)
return SCRIPT_CMD_SUCCESS; return SCRIPT_CMD_SUCCESS;
} }
/**
* Reset SG designated maps
* resetfeel({<char_id>});
**/
BUILDIN_FUNC(resetfeel)
{
TBL_PC *sd;
if (!script_charid2sd(2,sd) || (sd->class_&MAPID_UPPERMASK) != MAPID_STAR_GLADIATOR)
return SCRIPT_CMD_FAILURE;
pc_resetfeel(sd);
return SCRIPT_CMD_SUCCESS;
}
/**
* Reset SG designated monsters
* resethate({<char_id>});
**/
BUILDIN_FUNC(resethate)
{
TBL_PC *sd;
if (!script_charid2sd(2,sd) || (sd->class_&MAPID_UPPERMASK) != MAPID_STAR_GLADIATOR)
return SCRIPT_CMD_FAILURE;
pc_resethate(sd);
return SCRIPT_CMD_SUCCESS;
}
/** /**
* Counts total amount of skill points. * Counts total amount of skill points.
* skillpointcount({<char_id>}) * skillpointcount({<char_id>})
@ -25062,6 +25088,8 @@ struct script_function buildin_func[] = {
BUILDIN_DEF(resetlvl,"i?"), BUILDIN_DEF(resetlvl,"i?"),
BUILDIN_DEF(resetstatus,"?"), BUILDIN_DEF(resetstatus,"?"),
BUILDIN_DEF(resetskill,"?"), BUILDIN_DEF(resetskill,"?"),
BUILDIN_DEF(resetfeel,"?"),
BUILDIN_DEF(resethate,"?"),
BUILDIN_DEF(skillpointcount,"?"), BUILDIN_DEF(skillpointcount,"?"),
BUILDIN_DEF(changebase,"i?"), BUILDIN_DEF(changebase,"i?"),
BUILDIN_DEF(changesex,"?"), BUILDIN_DEF(changesex,"?"),