[f8bb7aaf30]ng_diplomacy 적용

This commit is contained in:
2019-04-07 22:52:50 +09:00
33 changed files with 952 additions and 149 deletions
+2 -2
View File
@@ -64,7 +64,7 @@ class DiplomaticMessage extends Message{
return [self::INVALID, '송신자가 외교서신을 처리할 수 없습니다.'];
}
$permission = checkSecretPermission($general);
$permission = checkSecretPermission($general, false);
if(!$general || $permission < 4){
return [self::INVALID, '해당 국가의 외교권자 아닙니다.'];
@@ -273,7 +273,7 @@ class DiplomaticMessage extends Message{
$gameStor = KVStorage::getStorage($db, 'game_env');
$general = $db->queryFirstRow(
'SELECT `name`, `level`, `permission`, `penalty` FROM general WHERE `no`=%i AND nation=%i',
'SELECT `name`, nation, `level`, `permission`, `penalty` FROM general WHERE `no`=%i AND nation=%i',
$receiverID,
$this->dest->nationID
);
+11 -1
View File
@@ -387,7 +387,17 @@ class Message
return $this->sendRaw($this->dest->generalID);
}
if($this->msgType === self::MSGTYPE_NATIONAL || $this->msgType === self::MSGTYPE_DIPLOMACY){
if($this->msgType === self::MSGTYPE_NATIONAL){
return $this->sendRaw($this->dest->nationID + self::MAILBOX_NATIONAL);
}
if($this->msgType === self::MSGTYPE_DIPLOMACY){
if(!($this->msgOption['silence']??false)){
//XXX: 알림을 이런식으로 보내는게 맞는가에 대한 의문 있음
DB::db()->update('general', [
'newmsg'=>1
], 'nation = %i AND (level = 12 OR permission IN (\'ambassador\', \'auditor\')) ',$this->dest->nationID);
}
return $this->sendRaw($this->dest->nationID + self::MAILBOX_NATIONAL);
}