Пример #1
0
        public override void run()
        {
            L2Player player = Client.CurrentPlayer;

            if (player.Clan == null)
            {
                player.sendActionFailed();
                return;
            }


            L2Clan clan = player.Clan;

            ClanMember m = null;

            foreach (ClanMember cm in clan.getClanMembers())
            {
                if (cm.Name.Equals(_player))
                {
                    m = cm;
                    break;
                }
            }

            if (m == null)
            {
                player.sendActionFailed();
                return;
            }

            player.sendPacket(new PledgeReceiveMemberInfo(m));
        }
Пример #2
0
        public override void RunImpl()
        {
            L2Player player = _client.CurrentPlayer;

            if (player.ClanId == 0)
            {
                player.SendActionFailed();
                return;
            }

            L2Clan clan = player.Clan;

            if ((clan.HideoutId == 0) || (clan.CastleId == 0))
            {
                player.SendMessage("You need to own clan hall or castle to assign this emblem.");
                player.SendActionFailed();
                return;
            }

            if ((_size < 0) || (_size > 2176))
            {
                player.SendSystemMessage(SystemMessage.SystemMessageId.LengthCrestDoesNotMeetStandardRequirements);
                player.SendActionFailed();
                return;
            }

            if ((player.ClanPrivs & L2Clan.CpClRegisterCrest) != L2Clan.CpClRegisterCrest)
            {
                player.SendSystemMessage(SystemMessage.SystemMessageId.NotAuthorizedToBestowRights);
                player.SendActionFailed();
                return;
            }

            clan.UpdateCrestLarge(_size, _picture);
        }
Пример #3
0
        public override void run()
        {
            L2Player player = getClient().CurrentPlayer;

            if (player.ClanId == 0)
            {
                player.sendActionFailed();
                return;
            }

            L2Clan clan = player.Clan;

            if (clan.HideoutID == 0 || clan.CastleID == 0)
            {
                player.sendMessage("You need to own clan hall or castle to assign this emblem.");
                player.sendActionFailed();
                return;
            }

            if (_size < 0 || _size > 2176)
            {
                player.sendSystemMessage(2285); //The length of the crest or insignia does not meet the standard requirements.
                player.sendActionFailed();
                return;
            }

            if ((player.ClanPrivs & L2Clan.CP_CL_REGISTER_CREST) != L2Clan.CP_CL_REGISTER_CREST)
            {
                player.sendSystemMessage(235); //You are not authorized to bestow these rights.
                player.sendActionFailed();
                return;
            }

            clan.updateCrestLarge(_size, _picture);
        }
Пример #4
0
        public override void run()
        {
            L2Player player = Client.CurrentPlayer;

            L2Clan clan = ClanTable.getInstance().getClan(_clanId);

            if (clan != null)
            {
                player.sendPacket(new PledgeInfo(clan.ClanID, clan.Name, clan.AllianceName));
            }
        }
Пример #5
0
        public override void RunImpl()
        {
            L2Player player = _client.CurrentPlayer;

            L2Clan clan = ClanTable.Instance.GetClan(_clanId);

            if (clan != null)
            {
                player.SendPacket(new PledgeInfo(clan.ClanId, clan.Name, clan.AllianceName));
            }
        }
Пример #6
0
        public void SiegeEnd(bool trigger)
        {
            isActive = false;
            Message("Siege of " + name + " is over.");
            if (trigger)
            {
                Message("Nobody won! " + name + " belong to NPC until next siege.");
            }
            else
            {
                double dmg      = 0;
                int    tmClanId = 0;
                foreach (int clanId in clanDamage.Keys)
                {
                    if (clanDamage[clanId] > dmg)
                    {
                        dmg      = clanDamage[clanId];
                        tmClanId = clanId;
                    }
                }

                if (tmClanId > 0)
                {
                    L2Clan cl = ClanTable.getInstance().getClan(tmClanId);
                    Message("Now its belong to: '" + cl.Name + "' until next siege.");
                    bool captured = false; //todo

                    if (captured)
                    {
                        cl.UpdatePledgeNameValue(ReputationCapture);
                        //Your clan has added $1s points to its clan reputation score.
                        cl.broadcastToMembers(new SystemMessage(1781).addNumber(ReputationCapture));
                    }
                    else
                    {
                        cl.UpdatePledgeNameValue(ReputationNothing);
                        //Your clan's newly acquired contested clan hall has added $s1 points to your clan's reputation score.
                        cl.broadcastToMembers(new SystemMessage(1774).addNumber(ReputationNothing));
                    }
                }
                else
                {
                    Message("Nobody won! " + name + " belong to NPC until next siege.");
                    trigger = true;
                }
            }

            foreach (L2Character o in mobActive)
            {
                ((L2Character)o).DeleteByForce();
            }
        }
Пример #7
0
        public void SiegeEnd(bool trigger)
        {
            IsActive = false;
            Message($"Siege of {Name} is over.");
            if (trigger)
            {
                Message($"Nobody won! {Name} belong to NPC until next siege.");
            }
            else
            {
                double dmg      = 0;
                int    tmClanId = 0;
                foreach (int clanId in ClanDamage.Keys.Where(clanId => ClanDamage[clanId] > dmg))
                {
                    dmg      = ClanDamage[clanId];
                    tmClanId = clanId;
                }

                if (tmClanId > 0)
                {
                    L2Clan cl = ClanTable.Instance.GetClan(tmClanId);
                    Message($"Now its belong to: '{cl.Name}' until next siege.");
                    bool captured = false; //todo

                    if (captured)
                    {
                        cl.UpdatePledgeNameValue(ReputationCapture);
                        cl.BroadcastToMembers(new SystemMessage(SystemMessage.SystemMessageId.ClanAddedS1SPointsToReputationScore).AddNumber(ReputationCapture));
                    }
                    else
                    {
                        cl.UpdatePledgeNameValue(ReputationNothing);
                        cl.BroadcastToMembers(new SystemMessage(SystemMessage.SystemMessageId.ClanAcquiredContestedClanHallAndS1ReputationPoints).AddNumber(ReputationNothing));
                    }
                }
                else
                {
                    Message($"Nobody won! {Name} belong to NPC until next siege.");
                    //trigger = true;
                }
            }

            _mobActive.ForEach(o => o.DeleteByForce());
        }
Пример #8
0
        public override void RunImpl()
        {
            L2Player player = _client.CurrentPlayer;

            if (player.ClanId == 0)
            {
                player.SendActionFailed();
                return;
            }

            L2Clan clan = player.Clan;

            if (clan.Level < 3)
            {
                player.SendSystemMessage(SystemMessage.SystemMessageId.ClanLvl3NeededToSetCrest);
                player.SendActionFailed();
                return;
            }

            if (clan.IsDissolving())
            {
                player.SendSystemMessage(SystemMessage.SystemMessageId.CannotSetCrestWhileDissolutionInProgress);
                player.SendActionFailed();
                return;
            }

            if ((_size < 0) || (_size > 256))
            {
                player.SendSystemMessage(SystemMessage.SystemMessageId.CanOnlyRegister1612Px256ColorBmpFiles);
                player.SendActionFailed();
                return;
            }

            if ((player.ClanPrivs & L2Clan.CpClRegisterCrest) != L2Clan.CpClRegisterCrest)
            {
                player.SendSystemMessage(SystemMessage.SystemMessageId.NotAuthorizedToBestowRights);
                player.SendActionFailed();
                return;
            }

            clan.UpdateCrest(_size, _picture);
        }
        public override void run()
        {
            L2Player player = getClient().CurrentPlayer;

            if (player.ClanId == 0)
            {
                player.sendActionFailed();
                return;
            }

            L2Clan clan = player.Clan;

            if (clan.Level < 3)
            {
                player.sendSystemMessage(272); //A clan crest can only be registered when the clan's skill level is 3 or above.
                player.sendActionFailed();
                return;
            }

            if (clan.IsDissolving())
            {
                player.sendSystemMessage(552); //As you are currently schedule for clan dissolution, you cannot register or delete a Clan Crest.
                player.sendActionFailed();
                return;
            }

            if (_size < 0 || _size > 256)
            {
                player.sendSystemMessage(211); //You can only register 16x12 pixel 256 color bmp files.
                player.sendActionFailed();
                return;
            }

            if ((player.ClanPrivs & L2Clan.CP_CL_REGISTER_CREST) != L2Clan.CP_CL_REGISTER_CREST)
            {
                player.sendSystemMessage(235); //You are not authorized to bestow these rights.
                player.sendActionFailed();
                return;
            }

            clan.updateCrest(_size, _picture);
        }
Пример #10
0
        public override void RunImpl()
        {
            L2Player player = _client.CurrentPlayer;

            if (player.Clan == null)
            {
                player.SendActionFailed();
                return;
            }

            L2Clan clan = player.Clan;

            ClanMember m = clan.GetClanMembers().FirstOrDefault(cm => cm.Name.Equals(_player));

            if (m == null)
            {
                player.SendActionFailed();
                return;
            }

            player.SendPacket(new PledgeReceiveMemberInfo(m));
        }
        public override void tryAccept(L2Player player, L2Citizen npc)
        {
            bool fail = true;

            if (player.ClanId > 0)
            {
                L2Clan clan = player.Clan;
                if (clan.LeaderID == player.ObjID && clan.Level >= 5)
                {
                    fail = false;
                }
            }

            if (fail)
            {
                player.ShowHtm("sir_eric_rodemai_q0508_02.htm", npc);
            }
            else
            {
                player.ShowHtm("sir_eric_rodemai_q0508_01a.htm", npc, questId);
            }
        }
Пример #12
0
        private void CreateClan(L2Player talker, string name)
        {
            L2Clan clan = new L2Clan();

            clan.LeaderID       = talker.ObjID;
            clan.ClanMasterName = talker.Name;
            clan.Name           = name;
            clan.Level          = 0;
            clan.ClanID         = IdFactory.Instance.nextId();

            clan.addMember(talker, 0);

            talker.ClanId    = clan.ClanID;
            talker.ClanPrivs = L2Clan.CP_ALL;

            talker.broadcastUserInfo();
            talker.sendPacket(new PledgeShowMemberListAll(clan, 0));

            talker.ShowHtm("pl006.htm", myself);

            //SQL_Block sqb = new SQL_Block("clan_data");
            //sqb.param("id", clan.ClanID);
            //sqb.param("name", clan.Name);
            //sqb.param("level", clan.Level);
            //sqb.param("leaderId", clan.LeaderID);
            //sqb.param("leaderName", clan.ClanMasterName);
            //sqb.param("crestId", clan.CrestID);
            //sqb.param("crestBigId", clan.LargeCrestID);
            //sqb.param("castleId", clan.CastleID);
            //sqb.param("agitId", clan.HideoutID);
            //sqb.param("fortId", clan.FortressID);
            //sqb.param("dominionId", clan.JoinDominionWarID);
            //sqb.param("allyId", clan.AllianceID);
            //sqb.sql_insert(false);

            //talker.updateDb();
        }
Пример #13
0
 public PledgeShowMemberListAll(L2Clan clan, e_ClanType type)
 {
     this.clan = clan;
     this.type = type;
 }
Пример #14
0
 public PledgeShowInfoUpdate(L2Clan clan)
 {
     Clan = clan;
 }
Пример #15
0
 public PledgeShowMemberListAll(L2Clan clan, EClanType type)
 {
     _clan = clan;
     _type = type;
 }
Пример #16
0
        public override void TalkedReply(L2Player talker, int ask, int reply)
        {
            if (ask == -3)
            {
                L2Clan pledge  = talker.Clan;
                byte   pledgLv = pledge != null ? pledge.Level : (byte)0;

                switch (reply)
                {
                case 0:     //new clan
                    if (talker.Level < 10)
                    {
                        talker.ShowHtm("pl002.htm", myself);
                    }
                    else if (talker.Clan != null && talker.Clan.LeaderID == talker.ObjID)
                    {
                        talker.ShowHtm("pl003.htm", myself);
                    }
                    else if (talker.Clan != null && talker.Clan.LeaderID != talker.ObjID)
                    {
                        talker.ShowHtm("pl004.htm", myself);
                    }
                    else
                    {
                        talker.ShowHtm("pl005.htm", myself);
                    }
                    break;

                case 1:     //Повысить
                    if (talker.ClanLeader)
                    {
                        talker.ShowHtm("pl013.htm", myself);
                    }
                    else
                    {
                        talker.ShowHtm("pl014.htm", myself);
                    }
                    break;

                case 2:     //Распустить
                    if (talker.ClanLeader || talker.HavePledgePower(@PP_MANAGE_GROWTH))
                    {
                        talker.ShowHtm("pl007.htm", myself);
                    }
                    else
                    {
                        talker.ShowHtm("pl008.htm", myself);
                    }
                    break;

                case 3:     //Восстановить
                    if (talker.ClanLeader || talker.HavePledgePower(@PP_MANAGE_GROWTH))
                    {
                        talker.ShowHtm("pl010.htm", myself);
                    }
                    else
                    {
                        talker.ShowHtm("pl011.htm", myself);
                    }
                    break;

                case 4:     //Умения
                    if (talker.ClanLeader)
                    {
                        ShowEtcSkillList(talker, 2);
                    }
                    else
                    {
                        talker.ShowHtm("pl017.htm", myself);
                    }
                    break;

                case 5:     //Управлять Академией
                    talker.ShowHtm("pl_aca_help.htm", myself);
                    break;

                case 6:     //Управлять Подразделениями Стражей
                    talker.ShowHtm("pl_sub_help.htm", myself);
                    break;

                case 7:
                    if (pledge == null)
                    {
                        talker.ShowHtm("pl_no_pledgeman.htm", myself);
                    }
                    else if (talker.ClanLeader || talker.HavePledgePower(@PP_MANAGE_GROWTH))
                    {
                        if (pledge.Level > 5)
                        {
                            if (pledge.HasSubPledge(100))
                            {
                                if (pledge.HasSubPledge(200))
                                {
                                    talker.ShowHtm("pl_err_more_sub.htm", myself);
                                }
                                else
                                {
                                    talker.ShowHtm("pl_create_sub200.htm", myself);
                                }
                            }
                            else
                            {
                                talker.ShowHtm("pl_create_sub100.htm", myself);
                            }
                        }
                        else
                        {
                            talker.ShowHtm("pl_err_plv.htm", myself);
                        }
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_master.htm", myself);
                    }
                    break;

                case 8:
                    if (pledge == null)
                    {
                        talker.ShowHtm("pl_no_pledgeman.htm", myself);
                    }
                    else if (talker.ClanLeader || talker.HavePledgePower(@PP_MANAGE_GROWTH))
                    {
                        if (pledge.Level > 5)
                        {
                            if (pledge.HasSubPledge(100))
                            {
                                talker.ShowHtm("pl_submaster.htm", myself);
                            }
                            else
                            {
                                talker.ShowHtm("pl_err_more_sm.htm", myself);
                            }
                        }
                        else
                        {
                            talker.ShowHtm("pl_err_plv.htm", myself);
                        }
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_master.htm", myself);
                    }
                    break;

                case 9:     //Управлять Подразделениями Рыцарей
                    talker.ShowHtm("pl_sub2_help.htm", myself);
                    break;

                case 10:
                    if (pledge == null)
                    {
                        talker.ShowHtm("pl_no_pledgeman.htm", myself);
                    }
                    else if (talker.ClanLeader || talker.HavePledgePower(@PP_MANAGE_GROWTH))
                    {
                        if (pledge.Level > 6)
                        {
                            if (pledge.HasSubPledge(100))
                            {
                                if (pledge.HasSubPledge(10001))
                                {
                                    if (pledge.HasSubPledge(1002))
                                    {
                                        if (pledge.HasSubPledge(200))
                                        {
                                            if (pledge.HasSubPledge(2001))
                                            {
                                                if (pledge.HasSubPledge(2002))
                                                {
                                                    talker.ShowHtm("pl_err_more_sub2.htm", myself);
                                                }
                                                else
                                                {
                                                    talker.ShowHtm("pl_create_sub2002.htm", myself);
                                                }
                                            }
                                            else
                                            {
                                                talker.ShowHtm("pl_create_sub2001.htm", myself);
                                            }
                                        }
                                        else
                                        {
                                            talker.ShowHtm("pl_need_high_lv_sub.htm", myself);
                                        }
                                    }
                                    else
                                    {
                                        talker.ShowHtm("pl_create_sub1002.htm", myself);
                                    }
                                }
                                else
                                {
                                    talker.ShowHtm("pl_create_sub1001.htm", myself);
                                }
                            }
                            else
                            {
                                talker.ShowHtm("pl_need_high_lv_sub.htm", myself);
                            }
                        }
                        else
                        {
                            talker.ShowHtm("pl_err_plv.htm", myself);
                        }
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_master.htm", myself);
                    }
                    break;

                case 11:
                    if (pledge == null)
                    {
                        talker.ShowHtm("pl_no_pledgeman.htm", myself);
                    }
                    else if (talker.ClanLeader || talker.HavePledgePower(@PP_MANAGE_GROWTH))
                    {
                        if (pledge.Level > 6)
                        {
                            if (pledge.HasSubPledge(100))
                            {
                                if (pledge.HasSubPledge(1001))
                                {
                                    talker.ShowHtm("pl_submaster2.htm", myself);
                                }
                                else
                                {
                                    talker.ShowHtm("pl_err_more_sm2.htm", myself);
                                }
                            }
                            else
                            {
                                talker.ShowHtm("pl_need_high_lv_sub.htm", myself);
                            }
                        }
                        else
                        {
                            talker.ShowHtm("pl_err_plv.htm", myself);
                        }
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_master.htm", myself);
                    }
                    break;

                case 12:
                    if (talker.ClanLeader || talker.HavePledgePower(@PP_MANAGE_GROWTH))
                    {
                        if (pledge.Level > 4)
                        {
                            talker.ShowHtm("pl_create_aca.htm", myself);
                        }
                        else
                        {
                            talker.ShowHtm("pl_err_plv.htm", myself);
                        }
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_master.htm", myself);
                    }
                    break;

                case 13:     //Передать Полномочия Лидера Клана
                    talker.ShowHtm("pl_master.htm", myself);
                    break;

                case 14:    //Запрос Передачи Полномочий Лидера Клана
                    if (talker.ClanLeader)
                    {
                        talker.ShowHtm("pl_transfer_master.htm", myself);
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_master.htm", myself);
                    }
                    break;

                case 15:    //Отменить Запрос Передачи Полномочий Лидера Клана
                    if (talker.ClanLeader)
                    {
                        talker.ShowHtm("pl_cancel_master.htm", myself);
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_master.htm", myself);
                    }
                    break;

                case 16:
                    if (talker.ClanLeader || talker.HavePledgePower(@PP_MANAGE_GROWTH))
                    {
                        talker.ShowHtm("pl_rename.htm", myself);
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_master.htm", myself);
                    }
                    break;

                case 17:
                    if (talker.ClanLeader || talker.HavePledgePower(@PP_MANAGE_GROWTH))
                    {
                        talker.ShowHtm("pl_rename2.htm", myself);
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_master.htm", myself);
                    }
                    break;

                case 100:     //main
                    talker.ShowHtm("pl001.htm", myself);
                    break;

                case 101:
                    if (talker.ClanLeader)
                    {
                        ShowChangePledgeNameUI(talker);
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_master.htm", myself);
                    }
                    break;
                }
            }
            else if (ask == -111)
            {
                if (!talker.ClanLeader || !talker.HavePledgePower(@PP_MANAGE_GROWTH))
                {
                    talker.ShowHtm("pl_err_master.htm", myself);
                    return;
                }

                if (reply < 1000)
                {
                    if (reply < 100)
                    {
                        talker.ShowHtm("pl_err_rename_aca.htm", myself);
                    }
                    else if (reply / 100 > royalGuard)
                    {
                        talker.ShowHtm("pl_err_more_sub.htm", myself);
                    }
                    else if (talker.Clan.HasSubPledge(reply))
                    {
                        NpcHtmlMessage htm  = new NpcHtmlMessage(talker, "pl_ch_submaster" + reply + ".htm", myself.ObjID);
                        string         mstr = talker.Clan.GetSubpledgeMasterName(reply);
                        if (mstr == null)
                        {
                            mstr = FString.getInstance().get(1010642);
                        }
                        htm.replace("<?" + reply + "submaster?>", mstr);

                        talker.sendPacket(htm);
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_more_sm.htm", myself);
                    }
                }
                else if (reply < 10000)
                {
                    if (reply <= 1000 && reply % 1000 == 0)
                    {
                        talker.ShowHtm("pl_err_more_sm2.htm", myself);
                    }
                    else if (reply % 1000 > knights / royalGuard)
                    {
                        talker.ShowHtm("pl_err_more_sub2.htm", myself);
                    }
                    else if (talker.Clan.HasSubPledge(reply))
                    {
                        NpcHtmlMessage htm  = new NpcHtmlMessage(talker, "pl_ch_submaster" + reply + ".htm", myself.ObjID);
                        string         mstr = talker.Clan.GetSubpledgeMasterName(reply);
                        if (mstr == null)
                        {
                            mstr = FString.getInstance().get(1010642);
                        }
                        htm.replace("<?" + reply + "submaster?>", mstr);

                        talker.sendPacket(htm);
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_more_sm2.htm", myself);
                    }
                }
            }
            else if (ask == -222)
            {
                if (!talker.ClanLeader || !talker.HavePledgePower(@PP_MANAGE_GROWTH))
                {
                    talker.ShowHtm("pl_err_master.htm", myself);
                    return;
                }

                if (reply == -1)
                {
                    if (talker.Clan.HasSubPledge(reply))
                    {
                        talker.ShowHtm("pl_ch_rename_aca.htm", myself);
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_rename_aca.htm", myself);
                    }
                }
                else if (reply < 1000)
                {
                    if (reply / 100 > royalGuard)
                    {
                        talker.ShowHtm("pl_err_more_sub.htm", myself);
                    }
                    else if (talker.Clan.HasSubPledge(reply))
                    {
                        talker.ShowHtm("pl_ch_rename" + reply + ".htm", myself);
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_rename_sub.htm", myself);
                    }
                }
                else if (reply < 10000)
                {
                    if (reply % 1000 > knights / royalGuard)
                    {
                        talker.ShowHtm("pl_err_more_sub2.htm", myself);
                    }
                    else if (talker.Clan.HasSubPledge(reply))
                    {
                        talker.ShowHtm("pl_ch_rename" + reply + ".htm", myself);
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_rename_sub2.htm", myself);
                    }
                }
            }
            else if (ask == -223)
            {
                byte lvl = talker.ClanLevel;
                if (reply == 0)
                {
                    switch (lvl)
                    {
                    case 9:
                        talker.ShowHtm(GetDialog("fnHalfUpgrade"), myself);
                        break;

                    case 10:
                    case 11:
                        talker.ShowHtm(GetDialog("fnFullUpgrade"), myself);
                        break;

                    default:
                        talker.ShowHtm(GetDialog("fnLowSkillLvForUpgrade"), myself);
                        break;
                    }
                }
                else if (reply == 1)
                {
                    if (lvl == 11)
                    {
                        talker.ShowHtm(GetDialog("fnFullUpgradeSub"), myself);
                    }
                    else
                    {
                        talker.ShowHtm(GetDialog("fnLowSkillLvForUpgradeSub"), myself);
                    }
                }
            }
            else if (ask == -4)
            {
                if (reply == 0)
                {
                    talker.ShowHtm("al005.htm", myself);
                }
            }
        }