summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog.txt2
-rw-r--r--conf-tmpl/mapflag/jail.txt2
-rw-r--r--src/map/skill.c10
3 files changed, 9 insertions, 5 deletions
diff --git a/Changelog.txt b/Changelog.txt
index ac8b6e7bf..4ee296625 100644
--- a/Changelog.txt
+++ b/Changelog.txt
@@ -12,6 +12,8 @@ Date Added
- Corrected Assassin Cross' dual wield
- Changed player_cloak_check_type to yes by default and edited description
since it's already fully implemented.
+ - Added a bit more restrictions to Call Partner and Emergency Recall and
+ updated mapflag for sec_pri.gat
11/22
* (TXT)Stripped some code off read_gm_accounts() and made with it addGM() [MC Cameri]
diff --git a/conf-tmpl/mapflag/jail.txt b/conf-tmpl/mapflag/jail.txt
index 77e4c4d95..5e497b911 100644
--- a/conf-tmpl/mapflag/jail.txt
+++ b/conf-tmpl/mapflag/jail.txt
@@ -29,6 +29,8 @@ sec_pri.gat mapflag nosave SavePoint
// No Teleport ===========================
sec_pri.gat mapflag noteleport
+// No Warp ===============================
+sec_pri.gat mapflag nowarp
// Bloody Jail ===========================
//Uncomment following maps to let your prisoners fight with other prisoners
diff --git a/src/map/skill.c b/src/map/skill.c
index eb84c7598..0b734d41a 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -4237,14 +4237,14 @@ int skill_castend_nodamage_id( struct block_list *src, struct block_list *bl,int
case WE_CALLPARTNER: /* あなたに?いたい */
if(sd && dstsd){
- if(map[sd->bl.m].flag.nomemo){
- clif_skill_teleportmessage(sd,1);
- return 0;
- }
if((dstsd = pc_get_partner(sd)) == NULL){
clif_skill_fail(sd,skillid,0,0);
return 0;
}
+ if(map[sd->bl.m].flag.nomemo || map[sd->bl.m].flag.nowarpto || map[dstsd->bl.m].flag.nowarp){
+ clif_skill_teleportmessage(sd,1);
+ return 0;
+ }
skill_unitsetting(src,skillid,skilllv,sd->bl.x,sd->bl.y,0);
}
break;
@@ -4450,7 +4450,7 @@ int skill_castend_nodamage_id( struct block_list *src, struct block_list *bl,int
for(i = 0; i < g->max_member; i++, j++) {
if (j>8) j=0;
if ((dstsd = g->member[i].sd) != NULL && sd != dstsd &&
- !map[sd->bl.m].flag.nowarpto && !map[sd->bl.m].flag.nowarp) {
+ !map[sd->bl.m].flag.nowarpto && !map[dstsd->bl.m].flag.nowarp) {
clif_skill_nodamage(src,bl,skillid,skilllv,1);
pc_setpos(dstsd, sd->mapname, sd->bl.x+dx[j], sd->bl.y+dy[j], 2);
}