New Content - Implemented The Source

Darzil

Developer
Regarding Agent tracking, there is a piece of code that generates the green on screen warnings. A number at the end counts down from 1800 to 200, in steps of 200. When it hits 200, the Source Agent may appear. Of course, the best way to show that is another matter entirely.

Code:
	setInterval(function () {
		var b = $('<div></div>')
		b.css({
			width: '30px',
			position: 'fixed',
			top: '0%',
			textAlign:'center',
			left: randit(0,98) + '%',
			color: 'green',
		});
		b.html(rchar());
		b.animate({top: '100%', opacity: 0}, randit(1500, 5000), function () {
			$(this).remove();
		});
		bloobs.push(b);
		$('body').append(b);
	}, 200);
 

ungawa

Member
Regarding tracking Agents, I just posted my working theory to KoLSpading: http://kolspading.com/forums/viewtopic.php?f=2&t=480&p=5036#p5036
tl;dr I'm leaning towards a model where an Agent can appear from the next monster you see when you have 19 to 24 combat wins since the previous Agent spawned (including the previous agent if you won the fight). Once you've won 19 fights, any subsequent fight could turn into an Agent, but there may be an increasing probability as the kill count increases.
NoSpoon related fights don't increment the counter, but may allow an agent to spawn if the counter 19 or higher.
 
Last edited:

ungawa

Member
I don't. Most of my turns on my spading multi were spent having mafia adv in the bedroom for a set number of turns.
 

Bale

Minion
I'm already filtering them out with my fight.ash override script. I love override scripts. The relevant function (not my entire script) follows...

PHP:
buffer source(buffer page) {
	void add_interval(string interval) {
		int x = page.index_of("<center><!--faaaaaaart--><table");
		if(x > 0)
			page.insert(x, "<center><b>Time to Agent: "+interval+"</b></center>");
	}
	matcher interval = create_matcher("}, (\\d+)\\);\\s*setInterval", page);
	if(interval.find()) {
		add_interval(interval.group(1));
	} else
		add_interval("?");
	
	// Don't show useless skills when fighting Agents
	if(last_monster() == $monster[Source Agent]) {
		// <option value="93" picurl="pasta" >Carbohydrate Cudgel (27 Mana Points)</option>
		matcher sk_opt = create_matcher('<option value="\\d+" picurl="[^"]+" (?:selected)?>(.+?) \\(\\d+ (?:Mana Points?|Soulsauce)\\)</option>', page);
		while(sk_opt.find()) {
			int sk_int = sk_opt.group(1).to_skill().to_int();
			if(sk_int < 21000 || sk_int > 21500)
				page = page.replace_string(sk_opt.group(0), "");
		}
	}
	
	return page;
}
 
Last edited:

Yendor

Member
No big surprise, but Source skills aren't permable. Completing runs gets you starting Enlightenment points (one for softcore, two for hardcore, as usual).
 

Darzil

Developer
r16949 now only shows agent skills if you have relay spoilers on when fighting an agent.

It also adds sourceInterval preference for script use. This is the interval value captured from the code that generates the green letters. It counts down from 2000 to 200. Agents can appear next fight when it is 400 or 200. When code not appearing, it is set to 0.

I have no good idea on how (or if) to present this in relay browser, as the green letters are there anyway. I may just leave this to override scripts and guide.
 

Darzil

Developer
Good point, I wasn't 100% certain you can only use source skills there, but I guess that is the case ?

r16950
 
Last edited:

Ezandora

Member
The sourceInterval property should probably be reset to 0 upon ascension. At the same time, sourceEnlightenment could be set to the minimum of 11 and sourcePoints's value, as that's its initial value.
 

Darzil

Developer
Good point. sourceEnlightenment should already be being set to sourcePoints value. Is it actually limited to 11, or is that speculation ?

r16951 for sourceInterval
 
Last edited:

ckb

Minion
Staff member
questM26Oracle should be reset to unstarted (or finished) upon freeing the king and ending the path.
 

Crowther

Active member
questM26Oracle should be reset to unstarted (or finished) upon freeing the king and ending the path.
Oddly enough, I still have an Oracle quest in my quest log after freeing the king. I don't have access to the Oracle (URL tricks untried). Her building is gone, but not her quest.
 

Ezandora

Member
Good point. sourceEnlightenment should already be being set to sourcePoints value. Is it actually limited to 11, or is that speculation?

After ascending the source:
sourceEnlightenment 0
sourcePoints 2
(someone else could double check this)

The code:
Code:
if ( KoLCharacter.inTheSource() )
{
	Preferences.setInteger( "sourceEnlightenment", Preferences.getInteger( "sourcePoints" ) );
}

Is KoLCharacter.ascensionPath set when resetPerAscensionCounters() is called?

The 11 was speculation and probably isn't important.
 

ckb

Minion
Staff member
Oddly enough, I still have an Oracle quest in my quest log after freeing the king. I don't have access to the Oracle (URL tricks untried). Her building is gone, but not her quest.

Huh, me too. I guess I blame KoL for that one. I'll file a bug report.
Also, going to the Oracle with a URL to place.php?whichplace=town_wrong&action=townwrong_oracle just spits me to the Wrong Side of the Tracks.
 
Top