Talk:Chaos Druid warrior

From RuneScape Classic Wiki
Jump to navigation Jump to search

Drops[edit source]

Refer to Talk:Chaos Druid for more info -- pretty certain that it rolls on the same table once again after hitting herbs sometimes. Only other difference from OSRS is that they moved some of the Super Defense potion probability to the 3-coins drop -- estimate 3 coins are 3/128 based on sample mean of http://www.bishopd.com/mainpages/games/rsc/drops/rsc_drops.html. ʞooɔ 21:16, 5 May 2020 (UTC)

Added Rare Drop Table based on this old botting screenshot. There are not that many kills of Chaos Druid Warriors in replays or on bishopd, and the OSRS wiki notes that this monster does have access to the gem drop table. So, together with this screenshot, it should be pretty uncontroversial to add the Rare Drop Table. Hubcapp (talk) 08:38, 14 March 2021 (UTC)

Drop pseudocode[edit source]

Using drop data on chaos druid warriors I was able to reconstruct the droptable, which works in a similar way to Chaos Druids.

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_warrior():
	global rand
	rand = random.randrange(128)
	if rand < 1:
		drop("randomjewel")
		return
	if rand < 2:
		drop("24 air-rune")
		return
	if rand < 5:
		drop("29 coins")
		return
	if rand < 10:
		drop("8 fire-rune")
		return
	if rand < 12:
		drop("6 earth-rune")
		return
	if rand < 13:
		drop("3 limpwurt root")
		return
	if rand < 14:
		drop("2 limpwurt root")
		return
	if rand < 15:
		drop("1 limpwurt root")
		return
	if rand < 25:
		randomherb()
	if rand < 50:
		randomherb()
		return
	if rand < 55:
		drop("white berries")
		return
	if rand < 57:
		drop("ground unicorn horn")
		return
	if rand < 58:
		drop("10 coins")
		return
	if rand < 64:
		drop("1 snape grass")
		return
	if rand < 65:
		drop("black dagger")
		return
	if rand < 66:
		drop("1 vial (water)")
		return
	if rand < 75:
		randomherb()
		return
	if rand < 80:
		drop("3 coins")
		return
	if rand < 91:
		drop("super defense potion 1 dose")
        return

Again, the thing 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.

Most data doesn't record super defense potion drops, as people used them during training... However, bishopd's sample has 43 main drops of super defense potions (10.33/128) and 9 drops of 3 coins (3.26/128). Based on that information, and knowing that the upper boundary is very likely to be 91 (based on OSRS code), setting the 'rand < 79' would be the most logical way for this drop table to function (4/128) 3 coins drops, (12/128) super defense potion drops. --ZorakTalk 19:28, 26 January 2022 (UTC) Must be 80, not 79, as chaos druid warriors and Salarin drop code follow the same structure in the way their tables are built! --ZorakTalk 20:31, 25 March 2022 (UTC)