Talk:Chaos Druid

From RuneScape Classic Wiki
Jump to navigation Jump to search

Drops[edit source]

This one is a bit weird -- we have about 6000 kills from User:Cook Me Plox/replaydrops and 5500 kills from http://www.bishopd.com/mainpages/games/rsc/drops/rsc_drops.html, but the chaos druids have a fairly unique mechanic where sometimes they will drop an herb AND re-roll on the entire table. In OSRS the drop table is nearly identical, except instead of re-rolling on the entire table, it just gives another herb. ʞooɔ 21:00, 5 May 2020 (UTC)

Drop pseudocode[edit source]

def randomherb():
	global rand
	rand = random.randrange(128)
	if rand < 32:
		drop("guam")
		return
	if rand < 56:
		drop("marrentill")
		return
	if rand < 74:
		drop("tarromin")
		return
	if rand < 88:
		drop("harralander")
		return
	if rand < 99:
		drop("ranarr")
		return
	if rand < 107:
		drop("irit")
		return
	if rand < 113:
		drop("avantoe")
		return
	if rand < 118:
		drop("kwuarm")
		return
	if rand < 122:
		drop("cadantine")
		return
	if rand < 125:
		drop("dwarf-weed")
		return

def chaos_druid():
	global rand
	rand = random.randrange(128)
	if rand < 1:
		drop("randomjewel")
		return
	if rand < 2:
		drop("35 coins")
		return
	if rand < 5:
		drop("36 air-rune")
		return
	if rand < 8:
		drop("29 coins")
		return
	if rand < 10:
		drop("12 mind-rune")
		return
	if rand < 12:
		drop("9 earth-rune")
		return
	if rand < 14:
		drop("9 body-rune")
		return
	if rand < 25:
		randomherb()
	if rand < 50:
		randomherb()
		return
	if rand < 55:
		drop("8 coins")
		return
	if rand < 62:
		drop("1 law-rune")
		return
	if rand < 63:
		drop("2 nature-rune")
		return
	if rand < 64:
		drop("1 snape grass")
		return
	if rand < 65:
		drop("1 bronze longsword")
		return
	if rand < 75:
		randomherb()
		return
	if rand < 80:
		drop("3 coins")
		return
	if rand < 90:
		drop("1 vial")
		return
	if rand < 91:
		drop("1 unholy symbol")

The things that make this weird: the lack of the return after the first randomherb, and the fact that randomherb sets the same random variable that the main routine uses. ʞooɔ 13:51, 30 November 2021 (UTC)