All pastes #23959 Raw Edit

Mine

public text v1 · immutable
#23959 ·published 2005-09-26 16:06 UTC
rendered paste body
public void spawnSevenSignsNPCs()
    {
        final int compWinner = getCabalHighestScore();
        ArrayList<int[]> spawnLocations = new ArrayList<int[]>();
        L2NpcTemplate npcTemplate = null;
        
        // Register the random spawns of the Mammon NPCs
        RandomSpawnHandler.getInstance().registerSpawn(8113, merchantSpawns, RandomSpawnHandler.DEFAULT_RESPAWN, -1);  
        RandomSpawnHandler.getInstance().registerSpawn(8126, blacksmithSpawns, RandomSpawnHandler.DEFAULT_RESPAWN, -1);
        
        /* Set up the spawning and required auto chats. */
        // First, do this for the Preachers of Doom
        AutoChatHandler.getInstance().registerChat(PREACHER_NPC_ID, SevenSigns.chatDoomPreacher);
            
        npcTemplate = NpcTable.getInstance().getTemplate(PREACHER_NPC_ID);
        
        // Add all the spawn locations for the Preachers of Doom
        for (int[] spawnLoc : preacherSpawns)
            spawnLocations.add(spawnLoc);
        
        // If Dusk wins then we don't need to spawn the Orator of Revelations.
        if (compWinner != CABAL_DUSK)
        {
            AutoChatHandler.getInstance().registerChat(ORATOR_NPC_ID, SevenSigns.chatOratorRevelations);

            npcTemplate = NpcTable.getInstance().getTemplate(ORATOR_NPC_ID);
            
            // If we do need the Orators, add them to the list of needed spawns.
            for (int[] spawnLoc : oratorSpawns)
                spawnLocations.add(spawnLoc);
        }
        
        // Spawn the needed NPCs in each of the various towns.
        for (int i = 0; i < spawnLocations.size(); i++) {   
            try {
                if (_initializedSpawns) {
                    L2NpcInstance npcInst = _signsNPCInsts.get(i);
                    npcInst.toggleVisible();
                }
                else {
                    L2Spawn npcSpawn = new L2Spawn(npcTemplate);
                    int[] currSpawn = spawnLocations.get(i);
                    
                    npcSpawn.setLocx(currSpawn[0]);
                    npcSpawn.setLocy(currSpawn[1]);
                    npcSpawn.setLocz(currSpawn[2]);
                    npcSpawn.setAmount(1);
                    SpawnTable.getInstance().addNewSpawn(npcSpawn, false);
                    _signsNPCInsts.add(npcSpawn.doSpawn());
                    
                    if (Config.DEBUG)
                        _log.info("SevenSigns: Spawned NPC ID " + npcSpawn.getNpcid() 
                                  + " at " + currSpawn[0] + " " + currSpawn[1] + " " + currSpawn[2]);
                }
            }
            catch (Exception e) {
                _log.warning("SevenSigns: Error while spawning period NPCs: " + e);
            }
        }
        
        _initializedSpawns = true;
    }