mirror of
https://gitlab.com/2009scape/2009scape.git
synced 2025-12-10 10:20:41 -07:00
Merge branch '2009scape-makingTea' into 'master'
POH Drinks Closes #2122, #2132, #2131, and #2133 See merge request 2009scape/2009scape!2103
This commit is contained in:
commit
b267bf44c8
21 changed files with 738 additions and 649 deletions
|
|
@ -39175,7 +39175,7 @@
|
||||||
"id": "4237"
|
"id": "4237"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"examine": "It's a bowl of (milky) nettle tea.",
|
"examine": "It's a bowl of nettle tea.",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Nettle tea",
|
"name": "Nettle tea",
|
||||||
"weight": "0.9",
|
"weight": "0.9",
|
||||||
|
|
@ -39183,7 +39183,7 @@
|
||||||
"id": "4239"
|
"id": "4239"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"examine": "It's a bowl of (milky) nettle tea.",
|
"examine": "It's a bowl of milky nettle tea.",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Nettle tea",
|
"name": "Nettle tea",
|
||||||
"weight": "0.9",
|
"weight": "0.9",
|
||||||
|
|
@ -39191,7 +39191,7 @@
|
||||||
"id": "4240"
|
"id": "4240"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"examine": "(In inventory) A handful of nettles (In ground) I better not get stung/I wouldn't like to get stung/I wish I could sting other people/Dock leaves at the ready/These may hurt/nettles sting my leggies(Draynor Village nettles)",
|
"examine": "A handful of nettles.",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Nettles",
|
"name": "Nettles",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
|
|
@ -39199,22 +39199,22 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"shop_price": "10",
|
"shop_price": "10",
|
||||||
"examine": "A nice cup of tea.",
|
"examine": "A nice cup of nettle tea.",
|
||||||
"grand_exchange_price": "30",
|
"grand_exchange_price": "30",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Cup of tea",
|
"name": "Cup of tea",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "0.1",
|
"weight": "0.1",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "4242"
|
"id": "4242"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"shop_price": "10",
|
"shop_price": "10",
|
||||||
"examine": "A nice cup of tea.",
|
"examine": "A milky cup of nettle tea.",
|
||||||
"grand_exchange_price": "30",
|
"grand_exchange_price": "30",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Cup of tea",
|
"name": "Cup of tea",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "0.1",
|
"weight": "0.1",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "4243"
|
"id": "4243"
|
||||||
|
|
@ -39228,22 +39228,22 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"shop_price": "10",
|
"shop_price": "10",
|
||||||
"examine": "A nice cup of tea.",
|
"examine": "Some nettle tea in a porcelain cup.",
|
||||||
"grand_exchange_price": "30",
|
"grand_exchange_price": "30",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Cup of tea",
|
"name": "Cup of tea",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "0.1",
|
"weight": "0.1",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "4245"
|
"id": "4245"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"shop_price": "10",
|
"shop_price": "10",
|
||||||
"examine": "A nice cup of tea.",
|
"examine": "Some milky nettle tea in a porcelain cup.",
|
||||||
"grand_exchange_price": "30",
|
"grand_exchange_price": "30",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Cup of tea",
|
"name": "Cup of tea",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "0.1",
|
"weight": "0.1",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "4246"
|
"id": "4246"
|
||||||
|
|
@ -70083,517 +70083,584 @@
|
||||||
"id": "7687"
|
"id": "7687"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"examine": "The kettle is empty.",
|
"examine": "The kettle is empty.",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Kettle",
|
"name": "Kettle",
|
||||||
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7688"
|
"id": "7688"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Kettle",
|
"name": "Kettle",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7689"
|
"id": "7689"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"examine": "It's full of cold water.",
|
"examine": "It's full of cold water.",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Full kettle",
|
"name": "Full kettle",
|
||||||
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7690"
|
"id": "7690"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"examine": "It's full of boiling water.",
|
"examine": "It's full of boiling water.",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Hot kettle",
|
"name": "Hot kettle",
|
||||||
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7691"
|
"id": "7691"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"examine": "I'd really like a nice cup of tea.",
|
"examine": "I'd really like a nice cup of tea.",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Pot of tea (4)",
|
"name": "Pot of tea (4)",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "1.5",
|
"weight": "1.5",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7692"
|
"id": "7692"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Pot of tea (4)",
|
"name": "Pot of tea (4)",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7693"
|
"id": "7693"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"examine": "I'd really like a nice cup of tea.",
|
"examine": "I'd really like a nice cup of tea.",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Pot of tea (3)",
|
"name": "Pot of tea (3)",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "1.5",
|
"weight": "1.5",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7694"
|
"id": "7694"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Pot of tea (3)",
|
"name": "Pot of tea (3)",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7695"
|
"id": "7695"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"examine": "I'd really like a nice cup of tea.",
|
"examine": "I'd really like a nice cup of tea.",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Pot of tea (2)",
|
"name": "Pot of tea (2)",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "1.5",
|
"weight": "1.5",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7696"
|
"id": "7696"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Pot of tea (2)",
|
"name": "Pot of tea (2)",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7697"
|
"id": "7697"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"examine": "I'd really like a nice cup of tea.",
|
"examine": "I'd really like a nice cup of tea.",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Pot of tea (1)",
|
"name": "Pot of tea (1)",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "1.5",
|
"weight": "1.5",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7698"
|
"id": "7698"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Pot of tea (1)",
|
"name": "Pot of tea (1)",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7699"
|
"id": "7699"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"examine": "Add boiling water to make a tea.",
|
"examine": "Add boiling water to make a tea.",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Teapot with leaves",
|
"name": "Teapot with leaves",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "1.5",
|
"weight": "1.5",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7700"
|
"id": "7700"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Teapot with leaves",
|
"name": "Teapot with leaves",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7701"
|
"id": "7701"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"examine": "This teapot is empty.",
|
"examine": "This teapot is empty.",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Teapot",
|
"name": "Teapot",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "0.4",
|
"weight": "0.4",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7702"
|
"id": "7702"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Teapot",
|
"name": "Teapot",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7703"
|
"id": "7703"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"examine": "I'd really like a nice cup of tea.",
|
"examine": "I'd really like a nice cup of tea.",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Pot of tea (4)",
|
"name": "Pot of tea (4)",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "1.5",
|
"weight": "1.5",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7704"
|
"id": "7704"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Pot of tea (4)",
|
"name": "Pot of tea (4)",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7705"
|
"id": "7705"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"examine": "I'd really like a nice cup of tea.",
|
"examine": "I'd really like a nice cup of tea.",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Pot of tea (3)",
|
"name": "Pot of tea (3)",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "1.5",
|
"weight": "1.5",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7706"
|
"id": "7706"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Pot of tea (3)",
|
"name": "Pot of tea (3)",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7707"
|
"id": "7707"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"examine": "I'd really like a nice cup of tea.",
|
"examine": "I'd really like a nice cup of tea.",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Pot of tea (2)",
|
"name": "Pot of tea (2)",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "1.5",
|
"weight": "1.5",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7708"
|
"id": "7708"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Pot of tea (2)",
|
"name": "Pot of tea (2)",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7709"
|
"id": "7709"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"examine": "I'd really like a nice cup of tea.",
|
"examine": "I'd really like a nice cup of tea.",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Pot of tea (1)",
|
"name": "Pot of tea (1)",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "1.5",
|
"weight": "1.5",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7710"
|
"id": "7710"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Pot of tea (1)",
|
"name": "Pot of tea (1)",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7711"
|
"id": "7711"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"examine": "Add boiling water to make a tea.",
|
"examine": "Add boiling water to make a tea.",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Teapot with leaves",
|
"name": "Teapot with leaves",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "1.5",
|
"weight": "1.5",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7712"
|
"id": "7712"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Teapot with leaves",
|
"name": "Teapot with leaves",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7713"
|
"id": "7713"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"examine": "This teapot is empty.",
|
"examine": "This teapot is empty.",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Teapot",
|
"name": "Teapot",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "0.4",
|
"weight": "0.4",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7714"
|
"id": "7714"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Teapot",
|
"name": "Teapot",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7715"
|
"id": "7715"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"examine": "I'd really like a nice cup of tea.",
|
"examine": "I'd really like a nice cup of tea.",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Pot of tea (4)",
|
"name": "Pot of tea (4)",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "1.5",
|
"weight": "1.5",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7716"
|
"id": "7716"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Pot of tea (4)",
|
"name": "Pot of tea (4)",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7717"
|
"id": "7717"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"examine": "I'd really like a nice cup of tea.",
|
"examine": "I'd really like a nice cup of tea.",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Pot of tea (3)",
|
"name": "Pot of tea (3)",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "1.5",
|
"weight": "1.5",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7718"
|
"id": "7718"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Pot of tea (3)",
|
"name": "Pot of tea (3)",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7719"
|
"id": "7719"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"examine": "I'd really like a nice cup of tea.",
|
"examine": "I'd really like a nice cup of tea.",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Pot of tea (2)",
|
"name": "Pot of tea (2)",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "1.5",
|
"weight": "1.5",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7720"
|
"id": "7720"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Pot of tea (2)",
|
"name": "Pot of tea (2)",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7721"
|
"id": "7721"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"examine": "I'd really like a nice cup of tea.",
|
"examine": "I'd really like a nice cup of tea.",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Pot of tea (1)",
|
"name": "Pot of tea (1)",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "1.5",
|
"weight": "1.5",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7722"
|
"id": "7722"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Pot of tea (1)",
|
"name": "Pot of tea (1)",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7723"
|
"id": "7723"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"examine": "Add boiling water to make a tea.",
|
"examine": "Add boiling water to make a tea.",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Teapot with leaves",
|
"name": "Teapot with leaves",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "1.5",
|
"weight": "1.5",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7724"
|
"id": "7724"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Teapot with leaves",
|
"name": "Teapot with leaves",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7725"
|
"id": "7725"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"examine": "This teapot is empty.",
|
"examine": "This teapot is empty.",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Teapot",
|
"name": "Teapot",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "0.4",
|
"weight": "0.4",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7726"
|
"id": "7726"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Teapot",
|
"name": "Teapot",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7727"
|
"id": "7727"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"shop_price": "1",
|
"shop_price": "1",
|
||||||
"examine": "An empty cup.",
|
"examine": "An empty cup.",
|
||||||
"grand_exchange_price": "7",
|
"grand_exchange_price": "7",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Empty cup",
|
"name": "Empty cup",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7728"
|
"id": "7728"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Empty cup",
|
"name": "Empty cup",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7729"
|
"id": "7729"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"shop_price": "10",
|
"shop_price": "10",
|
||||||
"examine": "A nice cup of tea.",
|
"examine": "A nice cup of nettle tea.",
|
||||||
"grand_exchange_price": "30",
|
"grand_exchange_price": "30",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Cup of tea",
|
"name": "Cup of tea",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "0.1",
|
"weight": "0.1",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7730"
|
"id": "7730"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"shop_price": "10",
|
"shop_price": "10",
|
||||||
"examine": "A nice cup of tea.",
|
"examine": "A milky cup of nettle tea.",
|
||||||
"grand_exchange_price": "30",
|
"grand_exchange_price": "30",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Cup of tea",
|
"name": "Cup of tea",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "0.1",
|
"weight": "0.1",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7731"
|
"id": "7731"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"examine": "A porcelain cup.",
|
"examine": "A porcelain cup.",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Porcelain cup",
|
"name": "Porcelain cup",
|
||||||
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7732"
|
"id": "7732"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"shop_price": "10",
|
"shop_price": "10",
|
||||||
"examine": "A nice cup of tea.",
|
"examine": "Some nettle tea in a porcelain cup.",
|
||||||
"grand_exchange_price": "30",
|
"grand_exchange_price": "30",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Cup of tea",
|
"name": "Cup of tea",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "0.1",
|
"weight": "0.1",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7733"
|
"id": "7733"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"shop_price": "10",
|
"shop_price": "10",
|
||||||
"examine": "A nice cup of tea.",
|
"examine": "Some milky nettle tea in a porcelain cup.",
|
||||||
"grand_exchange_price": "30",
|
"grand_exchange_price": "30",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Cup of tea",
|
"name": "Cup of tea",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "0.1",
|
"weight": "0.1",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7734"
|
"id": "7734"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"examine": "A porcelain cup.",
|
"examine": "A porcelain cup.",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Porcelain cup",
|
"name": "Porcelain cup",
|
||||||
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7735"
|
"id": "7735"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"shop_price": "10",
|
"shop_price": "10",
|
||||||
"examine": "A nice cup of tea.",
|
"examine": "Some nettle tea in a porcelain cup.",
|
||||||
"grand_exchange_price": "30",
|
"grand_exchange_price": "30",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Cup of tea",
|
"name": "Cup of tea",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "0.1",
|
"weight": "0.1",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7736"
|
"id": "7736"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"shop_price": "10",
|
"shop_price": "10",
|
||||||
"examine": "A nice cup of tea.",
|
"examine": "Some milky nettle tea in a porcelain cup.",
|
||||||
"grand_exchange_price": "30",
|
"grand_exchange_price": "30",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Cup of tea",
|
"name": "Cup of tea",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "0.1",
|
"weight": "0.1",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7737"
|
"id": "7737"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"examine": "Mmm, how about a nice cup of tea?",
|
"examine": "Mmm, how about a nice cup of tea?",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Tea leaves",
|
"name": "Tea leaves",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7738"
|
"id": "7738"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Tea leaves",
|
"name": "Tea leaves",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7739"
|
"id": "7739"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"examine": "A glass of frothy ale.",
|
"examine": "A glass of frothy ale.",
|
||||||
"grand_exchange_price": "151",
|
"grand_exchange_price": "151",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Beer",
|
"name": "Beer",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "1",
|
"weight": "1",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7740"
|
"id": "7740"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Beer",
|
"name": "Beer",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7741"
|
"id": "7741"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"shop_price": "1",
|
"shop_price": "1",
|
||||||
"examine": "I need to fill this with beer.",
|
"examine": "I need to fill this with beer.",
|
||||||
"grand_exchange_price": "25",
|
"grand_exchange_price": "25",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Beer glass",
|
"name": "Beer glass",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "0.05",
|
"weight": "0.05",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7742"
|
"id": "7742"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Beer glass",
|
"name": "Beer glass",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7743"
|
"id": "7743"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"shop_price": "3",
|
"shop_price": "3",
|
||||||
"examine": "Probably the finest readily-available ale in Asgarnia.",
|
"examine": "Probably the finest readily-available ale in Asgarnia.",
|
||||||
"grand_exchange_price": "131",
|
"grand_exchange_price": "131",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Asgarnian ale",
|
"name": "Asgarnian ale",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7744"
|
"id": "7744"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Asgarnian ale",
|
"name": "Asgarnian ale",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7745"
|
"id": "7745"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"shop_price": "2",
|
"shop_price": "2",
|
||||||
"examine": "A glass of frothy ale.",
|
"examine": "A glass of frothy ale.",
|
||||||
"grand_exchange_price": "569",
|
"grand_exchange_price": "569",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Greenman's ale",
|
"name": "Greenman's ale",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7746"
|
"id": "7746"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Greenman's ale",
|
"name": "Greenman's ale",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7747"
|
"id": "7747"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"shop_price": "2",
|
"shop_price": "2",
|
||||||
"examine": "A glass of bitter.",
|
"examine": "A glass of bitter.",
|
||||||
"grand_exchange_price": "523",
|
"grand_exchange_price": "523",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Dragon bitter",
|
"name": "Dragon bitter",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "1",
|
"weight": "1",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7748"
|
"id": "7748"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Dragon bitter",
|
"name": "Dragon bitter",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7749"
|
"id": "7749"
|
||||||
},
|
},
|
||||||
|
|
@ -70615,36 +70682,40 @@
|
||||||
"id": "7751"
|
"id": "7751"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"shop_price": "2",
|
"shop_price": "2",
|
||||||
"examine": "A glass of Cider",
|
"examine": "A glass of Cider",
|
||||||
"grand_exchange_price": "1539",
|
"grand_exchange_price": "1539",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Cider",
|
"name": "Cider",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"weight": "1",
|
"weight": "1",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7752"
|
"id": "7752"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Cider",
|
"name": "Cider",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7753"
|
"id": "7753"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"examine": "A fruity, full-bodied ale.",
|
"examine": "A fruity, full-bodied ale.",
|
||||||
"grand_exchange_price": "2371",
|
"grand_exchange_price": "2371",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Chef's delight",
|
"name": "Chef's delight",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7754"
|
"id": "7754"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"bankable": "false",
|
||||||
"durability": null,
|
"durability": null,
|
||||||
"name": "Chef's delight",
|
"name": "Chef's delight",
|
||||||
"tradeable": "true",
|
"tradeable": "false",
|
||||||
"archery_ticket_price": "0",
|
"archery_ticket_price": "0",
|
||||||
"id": "7755"
|
"id": "7755"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -201,6 +201,7 @@ public enum Consumables {
|
||||||
/** Ales */
|
/** Ales */
|
||||||
ASGOLDIAN_ALE(new FakeConsumable(7508, new String[] {"I don't think I'd like gold in beer thanks. Leave it for the dwarves."})),
|
ASGOLDIAN_ALE(new FakeConsumable(7508, new String[] {"I don't think I'd like gold in beer thanks. Leave it for the dwarves."})),
|
||||||
ASGARNIAN_ALE(new Drink(new int[] {1905, 1919}, new MultiEffect(new HealingEffect(2), new SkillEffect(Skills.STRENGTH, 2, 0), new SkillEffect(Skills.ATTACK, -4, 0)), "You drink the ale. You feel slightly reinvigorated...", "...and slightly dizzy too.")),
|
ASGARNIAN_ALE(new Drink(new int[] {1905, 1919}, new MultiEffect(new HealingEffect(2), new SkillEffect(Skills.STRENGTH, 2, 0), new SkillEffect(Skills.ATTACK, -4, 0)), "You drink the ale. You feel slightly reinvigorated...", "...and slightly dizzy too.")),
|
||||||
|
ASGARNIAN_ALE_POH(new Drink(new int[] {7744, 7742}, new MultiEffect(new HealingEffect(2), new SkillEffect(Skills.STRENGTH, 2, 0), new SkillEffect(Skills.ATTACK, -4, 0)), "You drink the ale. You feel slightly reinvigorated...", "...and slightly dizzy too.")),
|
||||||
ASGARNIAN_ALE_KEG(new Drink(new int[] {5785, 5783, 5781, 5779, 5769}, new MultiEffect(new SkillEffect(Skills.STRENGTH, 2, 0), new SkillEffect(Skills.ATTACK, -4, 0)), new Animation(2289), "You drink the ale. You feel slightly reinvigorated...", "...and slightly dizzy too.")),
|
ASGARNIAN_ALE_KEG(new Drink(new int[] {5785, 5783, 5781, 5779, 5769}, new MultiEffect(new SkillEffect(Skills.STRENGTH, 2, 0), new SkillEffect(Skills.ATTACK, -4, 0)), new Animation(2289), "You drink the ale. You feel slightly reinvigorated...", "...and slightly dizzy too.")),
|
||||||
ASGARNIAN_ALE_M(new Drink(new int[] {5739, 1919}, new MultiEffect(new SkillEffect(Skills.STRENGTH, 3, 0), new SkillEffect(Skills.ATTACK, -6, 0)))),
|
ASGARNIAN_ALE_M(new Drink(new int[] {5739, 1919}, new MultiEffect(new SkillEffect(Skills.STRENGTH, 3, 0), new SkillEffect(Skills.ATTACK, -6, 0)))),
|
||||||
ASGARNIAN_ALE_M_KEG(new Drink(new int[] {5865, 5863, 5861, 5859, 5769}, new MultiEffect(new SkillEffect(Skills.STRENGTH, 3, 0), new SkillEffect(Skills.ATTACK, -6, 0)), new Animation(2289))),
|
ASGARNIAN_ALE_M_KEG(new Drink(new int[] {5865, 5863, 5861, 5859, 5769}, new MultiEffect(new SkillEffect(Skills.STRENGTH, 3, 0), new SkillEffect(Skills.ATTACK, -6, 0)), new Animation(2289))),
|
||||||
|
|
@ -210,17 +211,21 @@ public enum Consumables {
|
||||||
AXEMANS_FOLLY_M_KEG(new Drink(new int[] {5905, 5903, 5901, 5899, 5769}, new MultiEffect(new SkillEffect(Skills.WOODCUTTING, 2, 0), new HealingEffect(2), new SkillEffect(Skills.STRENGTH, -4, 0), new SkillEffect(Skills.ATTACK, -4, 0)), new Animation(2289))),
|
AXEMANS_FOLLY_M_KEG(new Drink(new int[] {5905, 5903, 5901, 5899, 5769}, new MultiEffect(new SkillEffect(Skills.WOODCUTTING, 2, 0), new HealingEffect(2), new SkillEffect(Skills.STRENGTH, -4, 0), new SkillEffect(Skills.ATTACK, -4, 0)), new Animation(2289))),
|
||||||
BANDITS_BREW(new Drink(new int[] {4627, 1919}, new MultiEffect(new SkillEffect(Skills.THIEVING, 1, 0), new SkillEffect(Skills.ATTACK, 1, 0), new SkillEffect(Skills.STRENGTH, -1, 0), new SkillEffect(Skills.DEFENCE, -6, 0), new HealingEffect(1)), "You drink the beer. You feel slightly reinvigorated...", "...and slightly dizzy too.")),
|
BANDITS_BREW(new Drink(new int[] {4627, 1919}, new MultiEffect(new SkillEffect(Skills.THIEVING, 1, 0), new SkillEffect(Skills.ATTACK, 1, 0), new SkillEffect(Skills.STRENGTH, -1, 0), new SkillEffect(Skills.DEFENCE, -6, 0), new HealingEffect(1)), "You drink the beer. You feel slightly reinvigorated...", "...and slightly dizzy too.")),
|
||||||
BEER(new Drink(new int[] {1917, 1919}, new MultiEffect(new HealingEffect(1), new SkillEffect(Skills.STRENGTH, 0, 0.04), new SkillEffect(Skills.ATTACK, 0, -0.07)), "You drink the beer. You feel slightly reinvigorated...", "...and slightly dizzy too.")),
|
BEER(new Drink(new int[] {1917, 1919}, new MultiEffect(new HealingEffect(1), new SkillEffect(Skills.STRENGTH, 0, 0.04), new SkillEffect(Skills.ATTACK, 0, -0.07)), "You drink the beer. You feel slightly reinvigorated...", "...and slightly dizzy too.")),
|
||||||
|
BEER_POH(new Drink(new int[] {7740, 7742}, new MultiEffect(new HealingEffect(1), new SkillEffect(Skills.STRENGTH, 0, 0.04), new SkillEffect(Skills.ATTACK, 0, -0.07)), "You drink the beer. You feel slightly reinvigorated...", "...and slightly dizzy too.")),
|
||||||
BEER_TANKARD(new Drink(new int[] {3803, 3805}, new MultiEffect(new SkillEffect(Skills.ATTACK, -9, 0), new SkillEffect(Skills.STRENGTH, 4, 0)), "You quaff the beer. You feel slightly reinvigorated...", "...but very dizzy too.")),
|
BEER_TANKARD(new Drink(new int[] {3803, 3805}, new MultiEffect(new SkillEffect(Skills.ATTACK, -9, 0), new SkillEffect(Skills.STRENGTH, 4, 0)), "You quaff the beer. You feel slightly reinvigorated...", "...but very dizzy too.")),
|
||||||
KEG_OF_BEER(new Drink(new int[] {3801}, new KegOfBeerEffect(), new Animation(1330), "You chug the keg. You feel reinvigorated...", "...but extremely drunk too.")),
|
KEG_OF_BEER(new Drink(new int[] {3801}, new KegOfBeerEffect(), new Animation(1330), "You chug the keg. You feel reinvigorated...", "...but extremely drunk too.")),
|
||||||
CHEFS_DELIGHT(new Drink(new int[] {5755, 1919}, new MultiEffect(new SkillEffect(Skills.COOKING, 1, 0.05), new HealingEffect(1), new SkillEffect(Skills.ATTACK, -2, 0), new SkillEffect(Skills.STRENGTH, -2, 0)))),
|
CHEFS_DELIGHT(new Drink(new int[] {5755, 1919}, new MultiEffect(new SkillEffect(Skills.COOKING, 1, 0.05), new HealingEffect(1), new SkillEffect(Skills.ATTACK, -2, 0), new SkillEffect(Skills.STRENGTH, -2, 0)))),
|
||||||
|
CHEFS_DELIGHT_POH(new Drink(new int[] {7754, 7742}, new MultiEffect(new SkillEffect(Skills.COOKING, 1, 0.05), new HealingEffect(1), new SkillEffect(Skills.ATTACK, -2, 0), new SkillEffect(Skills.STRENGTH, -2, 0)))),
|
||||||
CHEFS_DELIGHT_KEG(new Drink(new int[] {5833, 5831, 5829, 5827, 5769}, new MultiEffect(new SkillEffect(Skills.COOKING, 1, 0.05), new HealingEffect(1), new SkillEffect(Skills.ATTACK, -2, 0), new SkillEffect(Skills.STRENGTH, -2, 0)), new Animation(2289))),
|
CHEFS_DELIGHT_KEG(new Drink(new int[] {5833, 5831, 5829, 5827, 5769}, new MultiEffect(new SkillEffect(Skills.COOKING, 1, 0.05), new HealingEffect(1), new SkillEffect(Skills.ATTACK, -2, 0), new SkillEffect(Skills.STRENGTH, -2, 0)), new Animation(2289))),
|
||||||
CHEFS_DELIGHT_M(new Drink(new int[] {5757, 1919}, new MultiEffect(new SkillEffect(Skills.COOKING, 2, 0.05), new HealingEffect(2), new SkillEffect(Skills.ATTACK, -3, 0), new SkillEffect(Skills.STRENGTH, -3, 0)))),
|
CHEFS_DELIGHT_M(new Drink(new int[] {5757, 1919}, new MultiEffect(new SkillEffect(Skills.COOKING, 2, 0.05), new HealingEffect(2), new SkillEffect(Skills.ATTACK, -3, 0), new SkillEffect(Skills.STRENGTH, -3, 0)))),
|
||||||
CHEFS_DELIGHT_M_KEG(new Drink(new int[] {5913, 5911, 5909, 5907, 5769}, new MultiEffect(new SkillEffect(Skills.COOKING, 2, 0.05), new HealingEffect(2), new SkillEffect(Skills.ATTACK, -3, 0), new SkillEffect(Skills.STRENGTH, -3, 0)), new Animation(2289))),
|
CHEFS_DELIGHT_M_KEG(new Drink(new int[] {5913, 5911, 5909, 5907, 5769}, new MultiEffect(new SkillEffect(Skills.COOKING, 2, 0.05), new HealingEffect(2), new SkillEffect(Skills.ATTACK, -3, 0), new SkillEffect(Skills.STRENGTH, -3, 0)), new Animation(2289))),
|
||||||
CIDER(new Drink(new int[] {5763, 1919}, new MultiEffect(new MultiEffect(new HealingEffect(2), new SkillEffect(Skills.FARMING, 1, 0), new SkillEffect(Skills.ATTACK, -2, 0), new SkillEffect(Skills.STRENGTH, -2, 0))))),
|
CIDER(new Drink(new int[] {5763, 1919}, new MultiEffect(new MultiEffect(new HealingEffect(2), new SkillEffect(Skills.FARMING, 1, 0), new SkillEffect(Skills.ATTACK, -2, 0), new SkillEffect(Skills.STRENGTH, -2, 0))))),
|
||||||
|
CIDER_POH(new Drink(new int[] {7752, 7742}, new MultiEffect(new MultiEffect(new HealingEffect(2), new SkillEffect(Skills.FARMING, 1, 0), new SkillEffect(Skills.ATTACK, -2, 0), new SkillEffect(Skills.STRENGTH, -2, 0))))),
|
||||||
CIDER_KEG(new Drink(new int[] {5849, 5847, 5845, 5843, 5769}, new MultiEffect(new MultiEffect(new HealingEffect(2), new SkillEffect(Skills.FARMING, 1, 0), new SkillEffect(Skills.ATTACK, -2, 0), new SkillEffect(Skills.STRENGTH, -2, 0))), new Animation(2289))),
|
CIDER_KEG(new Drink(new int[] {5849, 5847, 5845, 5843, 5769}, new MultiEffect(new MultiEffect(new HealingEffect(2), new SkillEffect(Skills.FARMING, 1, 0), new SkillEffect(Skills.ATTACK, -2, 0), new SkillEffect(Skills.STRENGTH, -2, 0))), new Animation(2289))),
|
||||||
MATURE_CIDER(new Drink(new int[] {5765, 1919}, new MultiEffect(new MultiEffect(new HealingEffect(2), new SkillEffect(Skills.FARMING, 2, 0), new SkillEffect(Skills.ATTACK, -5, 0), new SkillEffect(Skills.STRENGTH, -5, 0))))),
|
MATURE_CIDER(new Drink(new int[] {5765, 1919}, new MultiEffect(new MultiEffect(new HealingEffect(2), new SkillEffect(Skills.FARMING, 2, 0), new SkillEffect(Skills.ATTACK, -5, 0), new SkillEffect(Skills.STRENGTH, -5, 0))))),
|
||||||
CIDER_M_KEG(new Drink(new int[] {5929, 5927, 5925, 5923, 5769}, new MultiEffect(new MultiEffect(new HealingEffect(2), new SkillEffect(Skills.FARMING, 2, 0), new SkillEffect(Skills.ATTACK, -5, 0), new SkillEffect(Skills.STRENGTH, -5, 0))), new Animation(2289))),
|
CIDER_M_KEG(new Drink(new int[] {5929, 5927, 5925, 5923, 5769}, new MultiEffect(new MultiEffect(new HealingEffect(2), new SkillEffect(Skills.FARMING, 2, 0), new SkillEffect(Skills.ATTACK, -5, 0), new SkillEffect(Skills.STRENGTH, -5, 0))), new Animation(2289))),
|
||||||
DRAGON_BITTER(new Drink(new int[] {1911, 1919}, new MultiEffect(new HealingEffect(1), new SkillEffect(Skills.STRENGTH, 2, 0), new SkillEffect(Skills.ATTACK, -4, 0)))),
|
DRAGON_BITTER(new Drink(new int[] {1911, 1919}, new MultiEffect(new HealingEffect(1), new SkillEffect(Skills.STRENGTH, 2, 0), new SkillEffect(Skills.ATTACK, -4, 0)))),
|
||||||
|
DRAGON_BITTER_POH(new Drink(new int[] {7748, 7742}, new MultiEffect(new HealingEffect(1), new SkillEffect(Skills.STRENGTH, 2, 0), new SkillEffect(Skills.ATTACK, -4, 0)))),
|
||||||
DRAGON_BITTER_KEG(new Drink(new int[] {5809, 5807, 5805, 5803, 5769}, new MultiEffect(new HealingEffect(1), new SkillEffect(Skills.STRENGTH, 2, 0), new SkillEffect(Skills.ATTACK, -4, 0)), new Animation(2289))),
|
DRAGON_BITTER_KEG(new Drink(new int[] {5809, 5807, 5805, 5803, 5769}, new MultiEffect(new HealingEffect(1), new SkillEffect(Skills.STRENGTH, 2, 0), new SkillEffect(Skills.ATTACK, -4, 0)), new Animation(2289))),
|
||||||
DRAGON_BITTER_M(new Drink(new int[] {5745, 1919}, new MultiEffect(new HealingEffect(2), new SkillEffect(Skills.STRENGTH, 3, 0), new SkillEffect(Skills.ATTACK, -6, 0)))),
|
DRAGON_BITTER_M(new Drink(new int[] {5745, 1919}, new MultiEffect(new HealingEffect(2), new SkillEffect(Skills.STRENGTH, 3, 0), new SkillEffect(Skills.ATTACK, -6, 0)))),
|
||||||
DRAGON_BITTER_M_KEG(new Drink(new int[] {5889, 5887, 5885, 5883, 5769}, new MultiEffect(new HealingEffect(2), new SkillEffect(Skills.STRENGTH, 3, 0), new SkillEffect(Skills.ATTACK, -6, 0)), new Animation(2289))),
|
DRAGON_BITTER_M_KEG(new Drink(new int[] {5889, 5887, 5885, 5883, 5769}, new MultiEffect(new HealingEffect(2), new SkillEffect(Skills.STRENGTH, 3, 0), new SkillEffect(Skills.ATTACK, -6, 0)), new Animation(2289))),
|
||||||
|
|
@ -229,6 +234,7 @@ public enum Consumables {
|
||||||
DWARVEN_STOUT_M(new Drink(new int[] {5747, 1919}, new MultiEffect(new SkillEffect(Skills.MINING, 2, 0), new SkillEffect(Skills.SMITHING, 2 ,0), new SkillEffect(Skills.ATTACK, -7, 0), new SkillEffect(Skills.STRENGTH, -7, 0), new SkillEffect(Skills.DEFENCE, -7, 0), new HealingEffect(1)))),
|
DWARVEN_STOUT_M(new Drink(new int[] {5747, 1919}, new MultiEffect(new SkillEffect(Skills.MINING, 2, 0), new SkillEffect(Skills.SMITHING, 2 ,0), new SkillEffect(Skills.ATTACK, -7, 0), new SkillEffect(Skills.STRENGTH, -7, 0), new SkillEffect(Skills.DEFENCE, -7, 0), new HealingEffect(1)))),
|
||||||
DWARVEN_STOUT_M_KEG(new Drink(new int[] {5857, 5855, 5853, 5851, 5769}, new MultiEffect(new SkillEffect(Skills.MINING, 2, 0), new SkillEffect(Skills.SMITHING, 2 ,0), new SkillEffect(Skills.ATTACK, -7, 0), new SkillEffect(Skills.STRENGTH, -7, 0), new SkillEffect(Skills.DEFENCE, -7, 0), new HealingEffect(1)), new Animation(2289))),
|
DWARVEN_STOUT_M_KEG(new Drink(new int[] {5857, 5855, 5853, 5851, 5769}, new MultiEffect(new SkillEffect(Skills.MINING, 2, 0), new SkillEffect(Skills.SMITHING, 2 ,0), new SkillEffect(Skills.ATTACK, -7, 0), new SkillEffect(Skills.STRENGTH, -7, 0), new SkillEffect(Skills.DEFENCE, -7, 0), new HealingEffect(1)), new Animation(2289))),
|
||||||
GREENMANS_ALE(new Drink(new int[] {1909, 1919}, new MultiEffect(new HealingEffect(1), new SkillEffect(Skills.HERBLORE, 1, 0), new SkillEffect(Skills.ATTACK, -3, 0), new SkillEffect(Skills.STRENGTH, -3, 0), new SkillEffect(Skills.DEFENCE, -3, 0)))),
|
GREENMANS_ALE(new Drink(new int[] {1909, 1919}, new MultiEffect(new HealingEffect(1), new SkillEffect(Skills.HERBLORE, 1, 0), new SkillEffect(Skills.ATTACK, -3, 0), new SkillEffect(Skills.STRENGTH, -3, 0), new SkillEffect(Skills.DEFENCE, -3, 0)))),
|
||||||
|
GREENMANS_ALE_POH(new Drink(new int[] {7746, 7742}, new MultiEffect(new HealingEffect(1), new SkillEffect(Skills.HERBLORE, 1, 0), new SkillEffect(Skills.ATTACK, -3, 0), new SkillEffect(Skills.STRENGTH, -3, 0), new SkillEffect(Skills.DEFENCE, -3, 0)))),
|
||||||
GREENMANS_ALE_KEG(new Drink(new int[] {5793, 5791, 5789, 5787, 5769}, new MultiEffect(new HealingEffect(1), new SkillEffect(Skills.HERBLORE, 1, 0), new SkillEffect(Skills.ATTACK, -3, 0), new SkillEffect(Skills.STRENGTH, -3, 0), new SkillEffect(Skills.DEFENCE, -3, 0)), new Animation(2289))),
|
GREENMANS_ALE_KEG(new Drink(new int[] {5793, 5791, 5789, 5787, 5769}, new MultiEffect(new HealingEffect(1), new SkillEffect(Skills.HERBLORE, 1, 0), new SkillEffect(Skills.ATTACK, -3, 0), new SkillEffect(Skills.STRENGTH, -3, 0), new SkillEffect(Skills.DEFENCE, -3, 0)), new Animation(2289))),
|
||||||
GREENMANS_ALE_M(new Drink(new int[] {5743, 1919}, new MultiEffect(new HealingEffect(1), new SkillEffect(Skills.HERBLORE, 2, 0), new SkillEffect(Skills.ATTACK, -2, 0), new SkillEffect(Skills.STRENGTH, -2, 0)))),
|
GREENMANS_ALE_M(new Drink(new int[] {5743, 1919}, new MultiEffect(new HealingEffect(1), new SkillEffect(Skills.HERBLORE, 2, 0), new SkillEffect(Skills.ATTACK, -2, 0), new SkillEffect(Skills.STRENGTH, -2, 0)))),
|
||||||
GREENMANS_ALE_M_KEG(new Drink(new int[] {5873, 5871, 5869, 5867, 5769}, new MultiEffect(new HealingEffect(1), new SkillEffect(Skills.HERBLORE, 2, 0), new SkillEffect(Skills.ATTACK, -2, 0), new SkillEffect(Skills.STRENGTH, -2, 0)), new Animation(2289))),
|
GREENMANS_ALE_M_KEG(new Drink(new int[] {5873, 5871, 5869, 5867, 5769}, new MultiEffect(new HealingEffect(1), new SkillEffect(Skills.HERBLORE, 2, 0), new SkillEffect(Skills.ATTACK, -2, 0), new SkillEffect(Skills.STRENGTH, -2, 0)), new Animation(2289))),
|
||||||
|
|
@ -285,16 +291,19 @@ public enum Consumables {
|
||||||
|
|
||||||
/** Tea */
|
/** Tea */
|
||||||
CUP_OF_TEA(new Drink(new int[] {712, 1980}, new MultiEffect(new HealingEffect(3), new SkillEffect(Skills.ATTACK, 3, 0)), "Aaah, nothing like a nice cuppa tea!")),
|
CUP_OF_TEA(new Drink(new int[] {712, 1980}, new MultiEffect(new HealingEffect(3), new SkillEffect(Skills.ATTACK, 3, 0)), "Aaah, nothing like a nice cuppa tea!")),
|
||||||
CUP_OF_TEA_NETTLE(new Drink(new int[] {4242, 1980}, new EnergyEffect(10))),
|
NETTLE_WATER(new Drink(new int[] {Items.NETTLE_WATER_4237, Items.BOWL_1923}, new HealingEffect((1)))),
|
||||||
CUP_OF_TEA_MILKY_NETTLE(new Drink(new int[] {4243, 1980}, new EnergyEffect(10))),
|
CUP_OF_TEA_NETTLE(new Drink(new int[] {4242, 1980}, new MultiEffect(new HealingEffect(3), new SkillEffect(Skills.ATTACK, 2, 0)))),
|
||||||
NETTLE_TEA(new Drink(new int[] {4239, 1923}, new NettleTeaEffect())),
|
CUP_OF_TEA_MILKY_NETTLE(new Drink(new int[] {4243, 1980}, new MultiEffect(new HealingEffect(3), new SkillEffect(Skills.ATTACK, 2, 0)))),
|
||||||
NETTLE_TEA_MILKY(new Drink(new int[] {4240, 1980}, new NettleTeaEffect())),
|
CUP_OF_TEA_NETTLE_PORCELAIN(new Drink(new int[] {4245, 4244}, new MultiEffect(new HealingEffect(3), new SkillEffect(Skills.ATTACK, 2, 0)))),
|
||||||
|
CUP_OF_TEA_MILKY_NETTLE_PORCELAIN(new Drink(new int[] {4246, 4244}, new MultiEffect(new HealingEffect(3), new SkillEffect(Skills.ATTACK, 2, 0)))),
|
||||||
|
NETTLE_TEA(new Drink(new int[] {4239, 1923}, new MultiEffect(new HealingEffect(3), new SkillEffect(Skills.ATTACK, 2, 0)))),
|
||||||
|
NETTLE_TEA_MILKY(new Drink(new int[] {4240, 1923}, new MultiEffect(new HealingEffect(3), new SkillEffect(Skills.ATTACK, 2, 0)))),
|
||||||
CUP_OF_TEA_CLAY(new Drink(new int[] {7730, 7728}, new SkillEffect(Skills.CONSTRUCTION, 1, 0), "You feel refreshed and ready for more building.")),
|
CUP_OF_TEA_CLAY(new Drink(new int[] {7730, 7728}, new SkillEffect(Skills.CONSTRUCTION, 1, 0), "You feel refreshed and ready for more building.")),
|
||||||
CUP_OF_TEA_CLAY_MILKY(new Drink(new int[] {7731, 7728}, new SkillEffect(Skills.CONSTRUCTION, 1, 0))),
|
CUP_OF_TEA_CLAY_MILKY(new Drink(new int[] {7731, 7728}, new SkillEffect(Skills.CONSTRUCTION, 1, 0), "You feel refreshed and ready for more building.")),
|
||||||
CUP_OF_TEA_WHITE(new Drink(new int[] {7733, 7732}, new SkillEffect(Skills.CONSTRUCTION, 2, 0), "You feel refreshed and ready for more building.")),
|
CUP_OF_TEA_WHITE(new Drink(new int[] {7733, 7732}, new SkillEffect(Skills.CONSTRUCTION, 2, 0), "You feel refreshed and ready for more building.")),
|
||||||
CUP_OF_TEA_WHITE_MILKY(new Drink(new int[] {7734, 7732}, new SkillEffect(Skills.CONSTRUCTION, 2, 0))),
|
CUP_OF_TEA_WHITE_MILKY(new Drink(new int[] {7734, 7732}, new SkillEffect(Skills.CONSTRUCTION, 2, 0), "You feel refreshed and ready for more building.")),
|
||||||
CUP_OF_TEA_GOLD(new Drink(new int[] {7736, 7735}, new SkillEffect(Skills.CONSTRUCTION, 3, 0), "You feel refreshed and ready for more building.")),
|
CUP_OF_TEA_GOLD(new Drink(new int[] {7736, 7735}, new SkillEffect(Skills.CONSTRUCTION, 3, 0), "You feel refreshed and ready for more building.")),
|
||||||
CUP_OF_TEA_GOLD_MILKY(new Drink(new int[] {7737, 7735}, new SkillEffect(Skills.CONSTRUCTION, 3, 0))),
|
CUP_OF_TEA_GOLD_MILKY(new Drink(new int[] {7737, 7735}, new SkillEffect(Skills.CONSTRUCTION, 3, 0), "You feel refreshed and ready for more building.")),
|
||||||
|
|
||||||
/** Miscellaneous */
|
/** Miscellaneous */
|
||||||
CHOCOLATE_BAR(new Food(new int[] {1973}, new HealingEffect(3))),
|
CHOCOLATE_BAR(new Food(new int[] {1973}, new HealingEffect(3))),
|
||||||
|
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
package content.data.consumables.effects;
|
|
||||||
|
|
||||||
import core.game.consumable.ConsumableEffect;
|
|
||||||
import core.game.node.entity.player.Player;
|
|
||||||
|
|
||||||
public class NettleTeaEffect extends ConsumableEffect {
|
|
||||||
|
|
||||||
private final static int healing = 3;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void activate(Player p) {
|
|
||||||
final ConsumableEffect effect = p.getSkills().getLifepoints() < p.getSkills().getMaximumLifepoints() ? new MultiEffect(new HealingEffect(3), new EnergyEffect(5)) : new HealingEffect(3);
|
|
||||||
effect.activate(p);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getHealthEffectValue(Player player) {
|
|
||||||
return healing;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -43,6 +43,7 @@ class EmptyOptionListener : InteractionListener {
|
||||||
BUCKET_OF_SLIME(Items.BUCKET_OF_SLIME_4286, Items.BUCKET_1925, "You empty the contents of the bucket on the floor.", Sounds.LIQUID_2401),
|
BUCKET_OF_SLIME(Items.BUCKET_OF_SLIME_4286, Items.BUCKET_1925, "You empty the contents of the bucket on the floor.", Sounds.LIQUID_2401),
|
||||||
VIAL_OF_WATER(Items.VIAL_OF_WATER_227, Items.VIAL_229, "You empty the vial.", Sounds.LIQUID_2401),
|
VIAL_OF_WATER(Items.VIAL_OF_WATER_227, Items.VIAL_229, "You empty the vial.", Sounds.LIQUID_2401),
|
||||||
BOWL_OF_WATER(Items.BOWL_OF_WATER_1921, Items.BOWL_1923, "You empty the contents of the bowl onto the floor.", Sounds.LIQUID_2401),
|
BOWL_OF_WATER(Items.BOWL_OF_WATER_1921, Items.BOWL_1923, "You empty the contents of the bowl onto the floor.", Sounds.LIQUID_2401),
|
||||||
|
BOWL_OF_HOT_WATER(Items.BOWL_OF_HOT_WATER_4456, Items.BOWL_1923, "You empty the contents of the bowl onto the floor.", Sounds.LIQUID_2401),
|
||||||
JUG_OF_WATER(Items.JUG_OF_WATER_1937, Items.JUG_1935, "You empty the contents of the jug onto the floor.", Sounds.LIQUID_2401),
|
JUG_OF_WATER(Items.JUG_OF_WATER_1937, Items.JUG_1935, "You empty the contents of the jug onto the floor.", Sounds.LIQUID_2401),
|
||||||
BURNT_PIE(Items.BURNT_PIE_2329, Items.PIE_DISH_2313, "You empty the pie dish."),
|
BURNT_PIE(Items.BURNT_PIE_2329, Items.PIE_DISH_2313, "You empty the pie dish."),
|
||||||
POTION(Items.POTION_195, Items.VIAL_229, "You empty the vial.", Sounds.LIQUID_2401),
|
POTION(Items.POTION_195, Items.VIAL_229, "You empty the vial.", Sounds.LIQUID_2401),
|
||||||
|
|
@ -51,6 +52,30 @@ class EmptyOptionListener : InteractionListener {
|
||||||
CUP_OF_TEA(Items.CUP_OF_TEA_4242, Items.EMPTY_CUP_1980, "You empty the cup of tea.", Sounds.LIQUID_2401),
|
CUP_OF_TEA(Items.CUP_OF_TEA_4242, Items.EMPTY_CUP_1980, "You empty the cup of tea.", Sounds.LIQUID_2401),
|
||||||
NETTLE_WATER(Items.NETTLE_WATER_4237, Items.BOWL_1923, "You empty the contents of the bowl onto the floor.", Sounds.LIQUID_2401),
|
NETTLE_WATER(Items.NETTLE_WATER_4237, Items.BOWL_1923, "You empty the contents of the bowl onto the floor.", Sounds.LIQUID_2401),
|
||||||
NETTLE_TEA_MILKY(Items.NETTLE_TEA_4240, Items.BOWL_1923, "You empty the contents of the bowl onto the floor.", Sounds.LIQUID_2401),
|
NETTLE_TEA_MILKY(Items.NETTLE_TEA_4240, Items.BOWL_1923, "You empty the contents of the bowl onto the floor.", Sounds.LIQUID_2401),
|
||||||
|
NETTLE_TEA_CUP(Items.CUP_OF_TEA_4242, Items.EMPTY_CUP_1980, "You empty the contents of the cup onto the floor.", Sounds.LIQUID_2401),
|
||||||
|
NETTLE_TEA_CUP_MILKY(Items.CUP_OF_TEA_4243, Items.EMPTY_CUP_1980, "You empty the contents of the cup onto the floor.", Sounds.LIQUID_2401),
|
||||||
|
TEA_CUP_WATER(Items.CUP_OF_WATER_4458, Items.EMPTY_CUP_1980, "You empty the contents of the cup onto the floor.", Sounds.LIQUID_2401),
|
||||||
|
TEA_CUP_HOT_WATER(Items.CUP_OF_HOT_WATER_4460, Items.EMPTY_CUP_1980, "You empty the contents of the cup onto the floor.", Sounds.LIQUID_2401),
|
||||||
|
NETTLE_TEA_PORCELAIN(Items.CUP_OF_TEA_4245, Items.PORCELAIN_CUP_4244, "You empty the contents of the cup onto the floor.", Sounds.LIQUID_2401),
|
||||||
|
NETTLE_TEA_PORCELAIN_MILKY(Items.CUP_OF_TEA_4246, Items.PORCELAIN_CUP_4244, "You empty the contents of the cup onto the floor.", Sounds.LIQUID_2401),
|
||||||
|
BUILDERS_TEA1(Items.CUP_OF_TEA_7730, Items.EMPTY_CUP_7728, "You empty the contents of the cup onto the floor.", Sounds.LIQUID_2401),
|
||||||
|
BUILDERS_TEA1_MILKY(Items.CUP_OF_TEA_7731, Items.EMPTY_CUP_7728, "You empty the contents of the cup onto the floor.", Sounds.LIQUID_2401),
|
||||||
|
BUILDERS_TEA2(Items.CUP_OF_TEA_7733, Items.PORCELAIN_CUP_7732, "You empty the contents of the cup onto the floor.", Sounds.LIQUID_2401),
|
||||||
|
BUILDERS_TEA2_MILKY(Items.CUP_OF_TEA_7734, Items.PORCELAIN_CUP_7732, "You empty the contents of the cup onto the floor.", Sounds.LIQUID_2401),
|
||||||
|
BUILDERS_TEA3(Items.CUP_OF_TEA_7736, Items.PORCELAIN_CUP_7735, "You empty the contents of the cup onto the floor.", Sounds.LIQUID_2401),
|
||||||
|
BUILDERS_TEA3_MILKY(Items.CUP_OF_TEA_7737, Items.PORCELAIN_CUP_7735, "You empty the contents of the cup onto the floor.", Sounds.LIQUID_2401),
|
||||||
|
CLAY_POT_OF_TEA4(Items.POT_OF_TEA_4_7692, Items.TEAPOT_7702, "You empty the contents of the pot onto the floor", Sounds.LIQUID_2401),
|
||||||
|
CLAY_POT_OF_TEA3(Items.POT_OF_TEA_3_7694, Items.TEAPOT_7702, "You empty the contents of the pot onto the floor", Sounds.LIQUID_2401),
|
||||||
|
CLAY_POT_OF_TEA2(Items.POT_OF_TEA_2_7696, Items.TEAPOT_7702, "You empty the contents of the pot onto the floor", Sounds.LIQUID_2401),
|
||||||
|
CLAY_POT_OF_TEA1(Items.POT_OF_TEA_1_7698, Items.TEAPOT_7702, "You empty the contents of the pot onto the floor", Sounds.LIQUID_2401),
|
||||||
|
PORCELAIN_POT_OF_TEA4(Items.POT_OF_TEA_4_7704, Items.TEAPOT_7714, "You empty the contents of the pot onto the floor", Sounds.LIQUID_2401),
|
||||||
|
PORCELAIN_POT_OF_TEA3(Items.POT_OF_TEA_3_7706, Items.TEAPOT_7714, "You empty the contents of the pot onto the floor", Sounds.LIQUID_2401),
|
||||||
|
PORCELAIN_POT_OF_TEA2(Items.POT_OF_TEA_2_7708, Items.TEAPOT_7714, "You empty the contents of the pot onto the floor", Sounds.LIQUID_2401),
|
||||||
|
PORCELAIN_POT_OF_TEA1(Items.POT_OF_TEA_1_7710, Items.TEAPOT_7714, "You empty the contents of the pot onto the floor", Sounds.LIQUID_2401),
|
||||||
|
GOLD_PORCELAIN_POT_OF_TEA4(Items.POT_OF_TEA_4_7716, Items.TEAPOT_7726, "You empty the contents of the pot onto the floor", Sounds.LIQUID_2401),
|
||||||
|
GOLD_PORCELAIN_POT_OF_TEA3(Items.POT_OF_TEA_3_7718, Items.TEAPOT_7726, "You empty the contents of the pot onto the floor", Sounds.LIQUID_2401),
|
||||||
|
GOLD_PORCELAIN_POT_OF_TEA2(Items.POT_OF_TEA_2_7720, Items.TEAPOT_7726, "You empty the contents of the pot onto the floor", Sounds.LIQUID_2401),
|
||||||
|
GOLD_PORCELAIN_POT_OF_TEA1(Items.POT_OF_TEA_1_7722, Items.TEAPOT_7726, "You empty the contents of the pot onto the floor", Sounds.LIQUID_2401),
|
||||||
BURNT_CURRY(Items.BURNT_CURRY_2013, Items.BOWL_1923, "You empty the contents of the bowl onto the floor.", Sounds.LIQUID_2401),
|
BURNT_CURRY(Items.BURNT_CURRY_2013, Items.BOWL_1923, "You empty the contents of the bowl onto the floor.", Sounds.LIQUID_2401),
|
||||||
BURNT_GNOMEBOWL(Items.BURNT_GNOMEBOWL_2175, Items.GNOMEBOWL_MOULD_2166, "You empty the contents of the gnomebowl onto the floor."),
|
BURNT_GNOMEBOWL(Items.BURNT_GNOMEBOWL_2175, Items.GNOMEBOWL_MOULD_2166, "You empty the contents of the gnomebowl onto the floor."),
|
||||||
BURNT_EGG(Items.BURNT_EGG_7090, Items.BOWL_1923, "You empty the contents of the bowl onto the floor."),
|
BURNT_EGG(Items.BURNT_EGG_7090, Items.BOWL_1923, "You empty the contents of the bowl onto the floor."),
|
||||||
|
|
|
||||||
|
|
@ -129,6 +129,14 @@ class WaterSourceListener : InteractionListener {
|
||||||
FISHBOWL(
|
FISHBOWL(
|
||||||
inputs = intArrayOf(Items.FISHBOWL_6667),
|
inputs = intArrayOf(Items.FISHBOWL_6667),
|
||||||
output = Items.FISHBOWL_6668
|
output = Items.FISHBOWL_6668
|
||||||
|
),
|
||||||
|
KETTLE(
|
||||||
|
inputs = intArrayOf(Items.KETTLE_7688),
|
||||||
|
output = Items.FULL_KETTLE_7690
|
||||||
|
),
|
||||||
|
CUP(
|
||||||
|
inputs = intArrayOf(Items.EMPTY_CUP_1980),
|
||||||
|
output = Items.CUP_OF_WATER_4458
|
||||||
);
|
);
|
||||||
|
|
||||||
companion object
|
companion object
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
package content.global.skill.construction;
|
package content.global.skill.construction;
|
||||||
|
|
||||||
|
|
||||||
|
import core.api.Container;
|
||||||
|
import org.rs09.consts.Items;
|
||||||
import core.game.node.entity.Entity;
|
import core.game.node.entity.Entity;
|
||||||
import core.game.node.entity.player.Player;
|
import core.game.node.entity.player.Player;
|
||||||
import core.game.world.map.zone.MapZone;
|
import core.game.world.map.zone.MapZone;
|
||||||
|
|
@ -91,6 +93,7 @@ public final class HouseZone extends MapZone {
|
||||||
public boolean leave(Entity e, boolean logout) {
|
public boolean leave(Entity e, boolean logout) {
|
||||||
if (e instanceof Player) {
|
if (e instanceof Player) {
|
||||||
Player p = (Player) e;
|
Player p = (Player) e;
|
||||||
|
remove_items(p);
|
||||||
// The below tears down the house if the owner was the one who left
|
// The below tears down the house if the owner was the one who left
|
||||||
if (house == p.getHouseManager()) {
|
if (house == p.getHouseManager()) {
|
||||||
house.expelGuests(p);
|
house.expelGuests(p);
|
||||||
|
|
@ -121,4 +124,11 @@ public final class HouseZone extends MapZone {
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void remove_items(Player p) {
|
||||||
|
for (int item = Items.KETTLE_7688; item <= Items.CHEFS_DELIGHT_7755; item++) {//Removes all PoH versions of tea and beer barrel-related items
|
||||||
|
removeAll(p, item, Container.INVENTORY);
|
||||||
|
removeAll(p, item, Container.BoB);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,76 +0,0 @@
|
||||||
package content.global.skill.construction.decoration;
|
|
||||||
|
|
||||||
import core.game.interaction.NodeUsageEvent;
|
|
||||||
import core.game.interaction.UseWithHandler;
|
|
||||||
import core.game.node.entity.player.Player;
|
|
||||||
import core.game.node.item.Item;
|
|
||||||
import core.game.node.scenery.Scenery;
|
|
||||||
import core.game.world.update.flag.context.Animation;
|
|
||||||
import core.plugin.Initializable;
|
|
||||||
import core.plugin.Plugin;
|
|
||||||
import org.rs09.consts.Items;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Handles the Construction beer barrels.
|
|
||||||
* @author Splinter
|
|
||||||
*/
|
|
||||||
@Initializable
|
|
||||||
public class BeerBarrelPlugin extends UseWithHandler {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The object ids
|
|
||||||
*/
|
|
||||||
private static final int[] OBJECTS = new int[] {
|
|
||||||
13568, 13569, 13570, 13571, 13572, 13573
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructs a new {@Code BeerBarrelPlugin} {@Code Object}
|
|
||||||
*/
|
|
||||||
public BeerBarrelPlugin() {
|
|
||||||
super(1919);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
|
||||||
for (int id : OBJECTS) {
|
|
||||||
addHandler(id, OBJECT_TYPE, this);
|
|
||||||
}
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean handle(NodeUsageEvent event) {
|
|
||||||
Player player = event.getPlayer();
|
|
||||||
final Scenery object = (Scenery) event.getUsedWith();
|
|
||||||
|
|
||||||
if (player.getInventory().remove(new Item(Items.BEER_GLASS_1919))) {
|
|
||||||
player.animate(Animation.create(833));
|
|
||||||
player.sendMessage("You fill up your glass.");
|
|
||||||
player.getInventory().add(new Item(getReward(object.getId()), 1));
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the beer reward based on the interaced barrel.
|
|
||||||
* @return the item to give.
|
|
||||||
*/
|
|
||||||
public int getReward(int barrelId) {
|
|
||||||
switch (barrelId) {
|
|
||||||
case 13568:
|
|
||||||
return 1917;
|
|
||||||
case 13569:
|
|
||||||
return 5763;
|
|
||||||
case 13570:
|
|
||||||
return 1905;
|
|
||||||
case 13571:
|
|
||||||
return 1909;
|
|
||||||
case 13572:
|
|
||||||
return 1911;
|
|
||||||
case 13573:
|
|
||||||
return 5755;
|
|
||||||
}
|
|
||||||
return 1917;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -0,0 +1,78 @@
|
||||||
|
package content.global.skill.construction.decoration.kitchen
|
||||||
|
|
||||||
|
import core.api.addItem
|
||||||
|
import core.api.freeSlots
|
||||||
|
import core.api.sendDialogue
|
||||||
|
import core.game.dialogue.DialogueFile
|
||||||
|
import core.game.dialogue.Topic
|
||||||
|
import core.game.node.entity.player.Player
|
||||||
|
import core.tools.END_DIALOGUE
|
||||||
|
|
||||||
|
abstract class AbstractContainer(containerId: Int, containers: Map<Int,List<Pair<String, Int>>>, private val containerName: String) : DialogueFile() {
|
||||||
|
|
||||||
|
private val container = containers[containerId]!!
|
||||||
|
private val containerItemsNames = container.map { it.first }
|
||||||
|
private val containerItemsIds = container.map { it.second }
|
||||||
|
private val size = container.size
|
||||||
|
private val itemsPerPage = 4
|
||||||
|
|
||||||
|
private fun checkItem(player: Player, idx : Int){
|
||||||
|
val item = containerItemsIds[idx]
|
||||||
|
if (addItem(player, item)){
|
||||||
|
end()
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
sendDialogue(player, "You need at least one free inventory space to take from the $containerName.").also { stage = END_DIALOGUE }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun createTopics(page: Int): MutableList<Topic<Int>> {
|
||||||
|
val startIndex = (page - 1) * itemsPerPage
|
||||||
|
val endIndex = (startIndex + itemsPerPage).coerceAtMost(size)
|
||||||
|
|
||||||
|
val topics = containerItemsNames.subList(startIndex, endIndex)
|
||||||
|
.mapIndexed { index, item -> Topic(item, startIndex + index + 1, skipPlayer = true) }
|
||||||
|
.toMutableList()
|
||||||
|
|
||||||
|
// Add "More" button if there's another page or to loop back
|
||||||
|
if (endIndex < size || page > 1) {
|
||||||
|
topics.add(Topic("More", endIndex + 1, skipPlayer = true))
|
||||||
|
}
|
||||||
|
|
||||||
|
return topics
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
override fun handle(componentID: Int, buttonID: Int) {
|
||||||
|
if (freeSlots(player!!) == 0) {
|
||||||
|
sendDialogue(player!!, "You need at least one free inventory space to take from the $containerName.").also { stage = END_DIALOGUE }
|
||||||
|
return
|
||||||
|
}
|
||||||
|
val itemsPerPage = 4
|
||||||
|
|
||||||
|
when (stage) {
|
||||||
|
0, size + 1 -> { // Initial stage or final more button clicked
|
||||||
|
val topics = createTopics(1)
|
||||||
|
showTopics(*topics.toTypedArray()).also { stage = 1 }
|
||||||
|
}
|
||||||
|
in 1..size -> {
|
||||||
|
val currentPage = (stage-1) / itemsPerPage
|
||||||
|
val startIndex = currentPage * itemsPerPage
|
||||||
|
|
||||||
|
if (buttonID == itemsPerPage + 1) { // "More" button clicked (but not the last one)
|
||||||
|
val topics = createTopics(currentPage + 1)
|
||||||
|
showTopics(*topics.toTypedArray()).also { stage = currentPage*itemsPerPage + 1 }
|
||||||
|
} else { // Handle item selection
|
||||||
|
val itemIndex = startIndex + (buttonID - 1)
|
||||||
|
if (itemIndex < size) {
|
||||||
|
checkItem(player!!, itemIndex)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else -> end()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,29 @@
|
||||||
|
package content.global.skill.construction.decoration.kitchen
|
||||||
|
|
||||||
|
import core.api.*
|
||||||
|
import core.game.interaction.InteractionListener
|
||||||
|
import org.rs09.consts.Items
|
||||||
|
|
||||||
|
class BeerBarrelInteraction : InteractionListener {
|
||||||
|
|
||||||
|
companion object{
|
||||||
|
private val barrelMap = mapOf(
|
||||||
|
org.rs09.consts.Scenery.BEER_BARREL_13568 to Items.BEER_7740,
|
||||||
|
org.rs09.consts.Scenery.CIDER_BARREL_13569 to Items.CIDER_7752,
|
||||||
|
org.rs09.consts.Scenery.ASGARNIAN_ALE_13570 to Items.ASGARNIAN_ALE_7744,
|
||||||
|
org.rs09.consts.Scenery.GREENMAN_S_ALE_13571 to Items.GREENMANS_ALE_7746,
|
||||||
|
org.rs09.consts.Scenery.DRAGON_BITTER_13572 to Items.DRAGON_BITTER_7748,
|
||||||
|
org.rs09.consts.Scenery.CHEF_S_DELIGHT_13573 to Items.CHEFS_DELIGHT_7754,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
override fun defineListeners() {
|
||||||
|
onUseWith(SCENERY, Items.BEER_GLASS_7742, *barrelMap.keys.toIntArray()){ player, used, with ->
|
||||||
|
val drinkName = with.name.lowercase().replace("barrel", "").trim()+"."
|
||||||
|
if (removeItem(player, used)){
|
||||||
|
sendMessage(player, "You fill up your glass with $drinkName")
|
||||||
|
addItem(player, barrelMap[with.id]!!)
|
||||||
|
}
|
||||||
|
return@onUseWith true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,77 +0,0 @@
|
||||||
package content.global.skill.construction.decoration.kitchen;
|
|
||||||
|
|
||||||
|
|
||||||
import core.game.interaction.NodeUsageEvent;
|
|
||||||
import core.game.interaction.UseWithHandler;
|
|
||||||
import core.game.node.entity.player.Player;
|
|
||||||
import core.game.node.item.Item;
|
|
||||||
import core.game.node.scenery.Scenery;
|
|
||||||
import core.game.world.update.flag.context.Animation;
|
|
||||||
import core.plugin.Initializable;
|
|
||||||
import core.plugin.Plugin;
|
|
||||||
import org.rs09.consts.Items;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Handles the Construction beer barrels.
|
|
||||||
* @author Splinter
|
|
||||||
*/
|
|
||||||
@Initializable
|
|
||||||
public class BeerBarrelPlugin extends UseWithHandler {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The object ids
|
|
||||||
*/
|
|
||||||
private static final int[] OBJECTS = new int[] {
|
|
||||||
13568, 13569, 13570, 13571, 13572, 13573
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructs a new {@Code BeerBarrelPlugin} {@Code Object}
|
|
||||||
*/
|
|
||||||
public BeerBarrelPlugin() {
|
|
||||||
super(1919);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
|
||||||
for (int id : OBJECTS) {
|
|
||||||
addHandler(id, OBJECT_TYPE, this);
|
|
||||||
}
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean handle(NodeUsageEvent event) {
|
|
||||||
Player player = event.getPlayer();
|
|
||||||
final Scenery object = (Scenery) event.getUsedWith();
|
|
||||||
|
|
||||||
if (player.getInventory().remove(new Item(Items.BEER_GLASS_1919))) {
|
|
||||||
player.animate(Animation.create(3661 + (object.getId() - 13569)));
|
|
||||||
player.sendMessage("You fill up your glass with " + object.getName().toLowerCase().replace("barrel", "").trim() + ".");
|
|
||||||
player.getInventory().add(new Item(getReward(object.getId()), 1));
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the beer reward based on the interacted barrel.
|
|
||||||
* @return the item to give.
|
|
||||||
*/
|
|
||||||
public int getReward(int barrelId) {
|
|
||||||
switch (barrelId) {
|
|
||||||
case 13568:
|
|
||||||
return 1917;
|
|
||||||
case 13569:
|
|
||||||
return 5763;
|
|
||||||
case 13570:
|
|
||||||
return 1905;
|
|
||||||
case 13571:
|
|
||||||
return 1909;
|
|
||||||
case 13572:
|
|
||||||
return 1911;
|
|
||||||
case 13573:
|
|
||||||
return 5755;
|
|
||||||
}
|
|
||||||
return 1917;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
package content.global.skill.construction.decoration.kitchen
|
||||||
|
|
||||||
|
import core.api.openDialogue
|
||||||
|
import core.game.interaction.IntType
|
||||||
|
import core.game.interaction.InteractionListener
|
||||||
|
import org.rs09.consts.Items
|
||||||
|
import org.rs09.consts.Scenery
|
||||||
|
|
||||||
|
class LarderListener : InteractionListener {
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
private val wooden_larder_items = listOf(
|
||||||
|
"Tea Leaves" to Items.TEA_LEAVES_7738,
|
||||||
|
"Bucket of Milk" to Items.BUCKET_OF_MILK_1927
|
||||||
|
)
|
||||||
|
private val oak_larder_items = wooden_larder_items + listOf(
|
||||||
|
"Eggs" to Items.EGG_1944,
|
||||||
|
"Pot of Flour" to Items.POT_OF_FLOUR_1933
|
||||||
|
)
|
||||||
|
private val teak_larder_items = oak_larder_items + listOf(
|
||||||
|
"Potatoes" to Items.POTATO_1942,
|
||||||
|
"Garlic" to Items.GARLIC_1550,
|
||||||
|
"Onions" to Items.ONION_1957,
|
||||||
|
"Cheese" to Items.CHEESE_1985
|
||||||
|
)
|
||||||
|
|
||||||
|
val larders = mapOf(
|
||||||
|
Scenery.LARDER_13565 to wooden_larder_items,
|
||||||
|
Scenery.LARDER_13566 to oak_larder_items,
|
||||||
|
Scenery.LARDER_13567 to teak_larder_items
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun defineListeners() {
|
||||||
|
on(larders.keys.toIntArray(), IntType.SCENERY, "Search") { player, node ->
|
||||||
|
openDialogue(player, LarderDialogue(node.id))
|
||||||
|
return@on true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class LarderDialogue(shelfId: Int) : AbstractContainer(shelfId, larders, "larder")
|
||||||
|
}
|
||||||
|
|
@ -1,149 +0,0 @@
|
||||||
package content.global.skill.construction.decoration.kitchen;
|
|
||||||
|
|
||||||
|
|
||||||
import core.cache.def.impl.SceneryDefinition;
|
|
||||||
import core.plugin.Initializable;
|
|
||||||
import core.game.dialogue.DialoguePlugin;
|
|
||||||
import core.game.interaction.OptionHandler;
|
|
||||||
import core.game.node.Node;
|
|
||||||
import core.game.node.entity.player.Player;
|
|
||||||
import core.game.node.item.Item;
|
|
||||||
import core.plugin.Plugin;
|
|
||||||
import core.plugin.ClassScanner;
|
|
||||||
import org.rs09.consts.Items;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Handles the interactions for the three Larders.
|
|
||||||
* @author Splinter
|
|
||||||
*/
|
|
||||||
@Initializable
|
|
||||||
public final class LarderPlugin extends OptionHandler {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
|
||||||
ClassScanner.definePlugin(new LarderDialogue());
|
|
||||||
SceneryDefinition.forId(13565).getHandlers().put("option:search", this);
|
|
||||||
SceneryDefinition.forId(13566).getHandlers().put("option:search", this);
|
|
||||||
SceneryDefinition.forId(13567).getHandlers().put("option:search", this);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean handle(Player player, Node node, String option) {
|
|
||||||
player.getDialogueInterpreter().open(42048, node.getId());
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Dialogue options for the Larders.
|
|
||||||
* @author Splinter
|
|
||||||
* @version 1.0
|
|
||||||
*/
|
|
||||||
public final class LarderDialogue extends DialoguePlugin {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructs a new {@code LarderDialogue} {@code Object}.
|
|
||||||
*/
|
|
||||||
public LarderDialogue() {
|
|
||||||
/**
|
|
||||||
* empty.
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructs a new {@code LarderDialogue} {@code Object}.
|
|
||||||
*
|
|
||||||
* @param player
|
|
||||||
* the player.
|
|
||||||
*/
|
|
||||||
public LarderDialogue(Player player) {
|
|
||||||
super(player);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public DialoguePlugin newInstance(Player player) {
|
|
||||||
return new LarderDialogue(player);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean open(Object... args) {
|
|
||||||
int id = (int) args[0];
|
|
||||||
switch (id) {
|
|
||||||
case 13565:
|
|
||||||
interpreter.sendOptions("Select an Option", "Tea Leaves", "Bucket of Milk");
|
|
||||||
stage = 1;
|
|
||||||
break;
|
|
||||||
case 13566:
|
|
||||||
interpreter.sendOptions("Select an Option", "Tea Leaves", "Bucket of Milk", "Eggs", "Pot of Flour");
|
|
||||||
stage = 1;
|
|
||||||
break;
|
|
||||||
case 13567:
|
|
||||||
interpreter.sendOptions("Select an Option", "Tea Leaves", "Bucket of Milk", "Eggs", "Pot of Flour", "More Options");
|
|
||||||
stage = 1;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean handle(int interfaceId, int buttonId) {
|
|
||||||
if (player.getInventory().freeSlots() < 1) {
|
|
||||||
player.sendMessage("You need at least one free inventory space to take from the larder.");
|
|
||||||
end();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
switch (stage) {
|
|
||||||
case 1:
|
|
||||||
switch (buttonId) {
|
|
||||||
case 1:
|
|
||||||
player.getInventory().add(new Item(Items.TEA_LEAVES_7738, 1));
|
|
||||||
end();
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
player.getInventory().add(new Item(Items.BUCKET_OF_MILK_1927, 1));
|
|
||||||
end();
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
player.getInventory().add(new Item(Items.EGG_1944, 1));
|
|
||||||
end();
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
player.getInventory().add(new Item(Items.POT_OF_FLOUR_1933, 1));
|
|
||||||
end();
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
player.getDialogueInterpreter().sendOptions(
|
|
||||||
"Select an Option", "Potatoes", "Garlic", "Onions", "Cheese");
|
|
||||||
stage = 2;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
switch (buttonId) {
|
|
||||||
case 1:
|
|
||||||
player.getInventory().add(new Item(Items.POTATO_1942, 1));
|
|
||||||
end();
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
player.getInventory().add(new Item(Items.GARLIC_1550, 1));
|
|
||||||
end();
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
player.getInventory().add(new Item(Items.ONION_1957, 1));
|
|
||||||
end();
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
player.getInventory().add(new Item(Items.CHEESE_1985, 1));
|
|
||||||
end();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int[] getIds() {
|
|
||||||
return new int[] { 42048 };
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -0,0 +1,97 @@
|
||||||
|
package content.global.skill.construction.decoration.kitchen
|
||||||
|
|
||||||
|
import core.api.*
|
||||||
|
import core.game.interaction.IntType
|
||||||
|
import core.game.interaction.InteractionListener
|
||||||
|
import org.rs09.consts.Items
|
||||||
|
import org.rs09.consts.Scenery
|
||||||
|
|
||||||
|
|
||||||
|
class ShelfListener : InteractionListener {
|
||||||
|
companion object {
|
||||||
|
// Source for text https://www.youtube.com/watch?v=SNuqelEft3Y
|
||||||
|
|
||||||
|
private val woodshelf_1_items = listOf(
|
||||||
|
"Kettle" to Items.KETTLE_7688,
|
||||||
|
"Teapot" to Items.TEAPOT_7702,
|
||||||
|
"Cup" to Items.EMPTY_CUP_7728
|
||||||
|
)
|
||||||
|
|
||||||
|
private val woodshelf_2_items = woodshelf_1_items + listOf(
|
||||||
|
"Beer glass" to Items.BEER_GLASS_7742
|
||||||
|
)
|
||||||
|
|
||||||
|
private val woodshelf_3_items = woodshelf_2_items.map { (name, itemId) ->
|
||||||
|
when (name) {
|
||||||
|
"Cup" -> {
|
||||||
|
"Porcelain cup" to Items.PORCELAIN_CUP_7732
|
||||||
|
}
|
||||||
|
|
||||||
|
"Teapot" -> {
|
||||||
|
"Teapot" to Items.TEAPOT_7714
|
||||||
|
}
|
||||||
|
|
||||||
|
else -> {
|
||||||
|
name to itemId
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} + listOf("Cake tin" to Items.CAKE_TIN_1887)
|
||||||
|
|
||||||
|
private val oakshelf_1_items = woodshelf_2_items + listOf("Cake tin" to Items.CAKE_TIN_1887) + listOf("Bowl" to Items.BOWL_1923)
|
||||||
|
|
||||||
|
private val oakshelf_2_items = oakshelf_1_items.map { (name, itemId) ->
|
||||||
|
when (name) {
|
||||||
|
"Cup" -> {
|
||||||
|
"Porcelain cup" to Items.PORCELAIN_CUP_7732
|
||||||
|
}
|
||||||
|
|
||||||
|
"Teapot" -> {
|
||||||
|
"Teapot" to Items.TEAPOT_7714
|
||||||
|
}
|
||||||
|
|
||||||
|
else -> {
|
||||||
|
name to itemId
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} + listOf("Pie dish" to Items.PIE_DISH_2313)
|
||||||
|
|
||||||
|
private val teakshelf_1_items = oakshelf_2_items + listOf(
|
||||||
|
"Pot" to Items.EMPTY_POT_1931
|
||||||
|
)
|
||||||
|
|
||||||
|
private val teakshelf_2_items = teakshelf_1_items.map { (name, itemId) ->
|
||||||
|
when (name) {
|
||||||
|
"Porcelain cup" -> {
|
||||||
|
"Porcelain cup" to Items.PORCELAIN_CUP_7735
|
||||||
|
}
|
||||||
|
|
||||||
|
"Teapot" -> {
|
||||||
|
"Teapot" to Items.TEAPOT_7726
|
||||||
|
}
|
||||||
|
|
||||||
|
else -> {
|
||||||
|
name to itemId
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} + listOf("Chef's Hat" to Items.CHEFS_HAT_1949)
|
||||||
|
|
||||||
|
val shelves = mapOf(
|
||||||
|
Scenery.SHELVES_13545 to woodshelf_1_items,
|
||||||
|
Scenery.SHELVES_13546 to woodshelf_2_items,
|
||||||
|
Scenery.SHELVES_13547 to woodshelf_3_items,
|
||||||
|
Scenery.SHELVES_13548 to oakshelf_1_items,
|
||||||
|
Scenery.SHELVES_13549 to oakshelf_2_items,
|
||||||
|
Scenery.SHELVES_13550 to teakshelf_1_items,
|
||||||
|
Scenery.SHELVES_13551 to teakshelf_2_items,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun defineListeners() {
|
||||||
|
on(shelves.keys.toIntArray(), IntType.SCENERY, "Search") { player, node ->
|
||||||
|
openDialogue(player, ShelfDialogue(node.id))
|
||||||
|
return@on true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class ShelfDialogue(shelfId: Int) : AbstractContainer(shelfId, shelves, "shelf")
|
||||||
|
}
|
||||||
|
|
@ -1,239 +0,0 @@
|
||||||
package content.global.skill.construction.decoration.kitchen;
|
|
||||||
|
|
||||||
|
|
||||||
import core.cache.def.impl.SceneryDefinition;
|
|
||||||
import core.game.dialogue.DialoguePlugin;
|
|
||||||
import core.game.interaction.OptionHandler;
|
|
||||||
import core.game.node.Node;
|
|
||||||
import core.game.node.entity.player.Player;
|
|
||||||
import core.game.node.item.Item;
|
|
||||||
import core.plugin.Initializable;
|
|
||||||
import core.plugin.Plugin;
|
|
||||||
import core.plugin.ClassScanner;
|
|
||||||
import org.rs09.consts.Items;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Handles the shelves in the kitchen room.
|
|
||||||
* @author Splinter
|
|
||||||
*/
|
|
||||||
@Initializable
|
|
||||||
public final class ShelfPlugin extends OptionHandler {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
|
||||||
ClassScanner.definePlugin(new ShelfDialogue());
|
|
||||||
for (int i = 13545; i < 13552; i++) {
|
|
||||||
SceneryDefinition.forId(i).getHandlers().put("option:search", this);
|
|
||||||
}
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean handle(Player player, Node node, String option) {
|
|
||||||
player.getDialogueInterpreter().open(778341, node.getId());
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Dialogue options for the shelves, what a mess!
|
|
||||||
* @author Splinter
|
|
||||||
* @version 1.0
|
|
||||||
*/
|
|
||||||
public final class ShelfDialogue extends DialoguePlugin {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructs a new {@code ShelfDialogue} {@code Object}.
|
|
||||||
*/
|
|
||||||
public ShelfDialogue() {
|
|
||||||
/**
|
|
||||||
* empty.
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructs a new {@code ShelfDialogue} {@code Object}.
|
|
||||||
* @param player the player.
|
|
||||||
*/
|
|
||||||
public ShelfDialogue(Player player) {
|
|
||||||
super(player);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public DialoguePlugin newInstance(Player player) {
|
|
||||||
return new ShelfDialogue(player);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean open(Object... args) {
|
|
||||||
int id = (int) args[0];
|
|
||||||
switch (id) {
|
|
||||||
case 13545:// wood 1
|
|
||||||
interpreter.sendOptions("Select an Option", "Kettle", "Teapot", "Clay cup");
|
|
||||||
stage = 1;
|
|
||||||
break;
|
|
||||||
case 13546:// wood 2
|
|
||||||
interpreter.sendOptions("Select an Option", "Kettle", "Teapot", "Clay cup", "Empty beer glass");
|
|
||||||
stage = 1;
|
|
||||||
break;
|
|
||||||
case 13547:// wood 3
|
|
||||||
interpreter.sendOptions("Select an Option", "Kettle", "Teapot", "Clay cup", "Empty beer glass", "Cake tin");
|
|
||||||
stage = 1;
|
|
||||||
break;
|
|
||||||
case 13548:// oak 1
|
|
||||||
interpreter.sendOptions("Select an Option", "Kettle", "Teapot", "Clay cup", "Empty beer glass", "Bowl");
|
|
||||||
stage = 2;
|
|
||||||
break;
|
|
||||||
case 13549:// oak 2
|
|
||||||
interpreter.sendOptions("Select an Option", "Kettle", "Teapot", "Porcelain cup", "Empty beer glass", "More Options");
|
|
||||||
stage = 3;
|
|
||||||
break;
|
|
||||||
case 13550:// teak 1
|
|
||||||
case 13551:
|
|
||||||
interpreter.sendOptions("Select an Option", "Kettle", "Teapot", "Porcelain cup", "Empty beer glass", "More Options");
|
|
||||||
stage = 5;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean handle(int interfaceId, int buttonId) {
|
|
||||||
if (player.getInventory().freeSlots() < 1) {
|
|
||||||
player.sendMessage("You need at least one free inventory space to take from the shelves.");
|
|
||||||
end();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
switch (stage) {
|
|
||||||
case 1:// all wood shelves
|
|
||||||
switch (buttonId) {
|
|
||||||
case 1:
|
|
||||||
end();
|
|
||||||
player.getInventory().add(new Item(Items.KETTLE_7688, 1));
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
end();
|
|
||||||
player.getInventory().add(new Item(Items.TEAPOT_7702, 1));
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
end();
|
|
||||||
player.getInventory().add(new Item(Items.EMPTY_CUP_7728, 1));
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
end();
|
|
||||||
player.getInventory().add(new Item(Items.BEER_GLASS_1919, 1));
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
end();
|
|
||||||
player.getInventory().add(new Item(Items.CAKE_TIN_1887, 1));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 2:// Oak shelf #1
|
|
||||||
switch (buttonId) {
|
|
||||||
case 1:
|
|
||||||
end();
|
|
||||||
player.getInventory().add(new Item(Items.KETTLE_7688, 1));
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
end();
|
|
||||||
player.getInventory().add(new Item(Items.TEAPOT_7702, 1));
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
end();
|
|
||||||
player.getInventory().add(new Item(Items.EMPTY_CUP_7728, 1));
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
end();
|
|
||||||
player.getInventory().add(new Item(Items.BEER_GLASS_1919, 1));
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
end();
|
|
||||||
player.getInventory().add(new Item(Items.BOWL_1923, 1));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 3:// Oak shelves #2 only
|
|
||||||
switch (buttonId) {
|
|
||||||
case 1:
|
|
||||||
end();
|
|
||||||
player.getInventory().add(new Item(Items.KETTLE_7688, 1));
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
end();
|
|
||||||
player.getInventory().add(new Item(Items.TEAPOT_7702, 1));
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
end();
|
|
||||||
player.getInventory().add(new Item(Items.PORCELAIN_CUP_4244, 1));
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
end();
|
|
||||||
player.getInventory().add(new Item(Items.BEER_GLASS_1919, 1));
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
interpreter.sendOptions("Select an Option", "Bowl", "Cake tin");
|
|
||||||
stage = 4;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 4:// Oak shelves #2 only
|
|
||||||
switch (buttonId) {
|
|
||||||
case 1:
|
|
||||||
end();
|
|
||||||
player.getInventory().add(new Item(Items.BOWL_1923, 1));
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
end();
|
|
||||||
player.getInventory().add(new Item(Items.CAKE_TIN_1887, 1));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case 5:// teak shelves
|
|
||||||
switch (buttonId) {
|
|
||||||
case 1:
|
|
||||||
end();
|
|
||||||
player.getInventory().add(new Item(Items.KETTLE_7688, 1));
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
end();
|
|
||||||
player.getInventory().add(new Item(Items.TEAPOT_7702, 1));
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
end();
|
|
||||||
player.getInventory().add(new Item(Items.PORCELAIN_CUP_7735, 1));
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
end();
|
|
||||||
player.getInventory().add(new Item(Items.BEER_GLASS_1919, 1));
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
interpreter.sendOptions("Select an Option", "Bowl", "Pie dish", "Empty pot");
|
|
||||||
stage = 6;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 6:// teak shelves
|
|
||||||
switch (buttonId) {
|
|
||||||
case 1:
|
|
||||||
end();
|
|
||||||
player.getInventory().add(new Item(Items.BOWL_1923, 1));
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
end();
|
|
||||||
player.getInventory().add(new Item(Items.PIE_DISH_2313, 1));
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
end();
|
|
||||||
player.getInventory().add(new Item(Items.EMPTY_POT_1931, 1));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int[] getIds() {
|
|
||||||
return new int[] { 778341 };
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -0,0 +1,88 @@
|
||||||
|
package content.global.skill.construction.decoration.kitchen
|
||||||
|
|
||||||
|
import core.api.*
|
||||||
|
import core.game.interaction.InteractionListener
|
||||||
|
import core.game.interaction.QueueStrength
|
||||||
|
import org.rs09.consts.Scenery as SceneryConst
|
||||||
|
import org.rs09.consts.Items
|
||||||
|
import core.game.node.scenery.Scenery
|
||||||
|
import core.tools.secondsToTicks
|
||||||
|
|
||||||
|
|
||||||
|
class StoveInteraction : InteractionListener {
|
||||||
|
|
||||||
|
// Imagine if these indexes incremented logically...
|
||||||
|
companion object{
|
||||||
|
val valid_stoves = intArrayOf(
|
||||||
|
SceneryConst.FIREPIT_WITH_HOOK_13529,
|
||||||
|
SceneryConst.FIREPIT_WITH_POT_13531,
|
||||||
|
SceneryConst.SMALL_OVEN_13533,
|
||||||
|
SceneryConst.LARGE_OVEN_13536,
|
||||||
|
SceneryConst.STEEL_RANGE_13539,
|
||||||
|
SceneryConst.FANCY_RANGE_13542
|
||||||
|
)
|
||||||
|
val in_progress_stoves = intArrayOf(
|
||||||
|
SceneryConst.FIREPIT_WITH_HOOK_13530,
|
||||||
|
SceneryConst.FIREPIT_WITH_POT_13532,
|
||||||
|
SceneryConst.SMALL_OVEN_13534,
|
||||||
|
SceneryConst.LARGE_OVEN_13537,
|
||||||
|
SceneryConst.STEEL_RANGE_13541,
|
||||||
|
SceneryConst.FANCY_RANGE_13544
|
||||||
|
|
||||||
|
)
|
||||||
|
val stoves_with_kettle = intArrayOf(
|
||||||
|
SceneryConst.FIREPIT_WITH_HOOK_13530,
|
||||||
|
SceneryConst.FIREPIT_WITH_POT_13532,
|
||||||
|
SceneryConst.SMALL_OVEN_13535,
|
||||||
|
SceneryConst.LARGE_OVEN_13538,
|
||||||
|
SceneryConst.STEEL_RANGE_13540,
|
||||||
|
SceneryConst.FANCY_RANGE_13543
|
||||||
|
|
||||||
|
)
|
||||||
|
const val kettleBoiled = "kettle_boiled"
|
||||||
|
}
|
||||||
|
override fun defineListeners() {
|
||||||
|
onUseWith(SCENERY, Items.FULL_KETTLE_7690, *valid_stoves){ player, used, with ->
|
||||||
|
val idx = valid_stoves.indexOf(with.id)
|
||||||
|
if (removeItem(player, used)){
|
||||||
|
replaceScenery(with as Scenery, in_progress_stoves[idx], -1)
|
||||||
|
sendMessage(player, "You place the kettle over the fire.")
|
||||||
|
setAttribute(player, kettleBoiled, 1)
|
||||||
|
queueScript(player, secondsToTicks(10), QueueStrength.SOFT){ _ ->
|
||||||
|
sendMessage(player, "The kettle boils.")
|
||||||
|
// Of course they changed how these items work so we need 2 different cases
|
||||||
|
setAttribute(player, kettleBoiled, 2)
|
||||||
|
if (with.id in intArrayOf(SceneryConst.FIREPIT_WITH_HOOK_13529, SceneryConst.FIREPIT_WITH_POT_13531))
|
||||||
|
return@queueScript stopExecuting(player)
|
||||||
|
else{
|
||||||
|
getScenery(with.location)?.let { replaceScenery(it, stoves_with_kettle[idx], -1) }
|
||||||
|
return@queueScript stopExecuting(player)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return@onUseWith true
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
on(stoves_with_kettle, SCENERY, "take-kettle"){ player, node ->
|
||||||
|
if (getAttribute(player, kettleBoiled, 0) == 0){
|
||||||
|
sendMessage(player, "This is not your kettle.")
|
||||||
|
return@on false
|
||||||
|
}
|
||||||
|
else if (getAttribute(player, kettleBoiled, 0) == 1){
|
||||||
|
sendMessage(player, "The kettle has not boiled yet.")
|
||||||
|
return@on false
|
||||||
|
}
|
||||||
|
if(addItem(player, Items.HOT_KETTLE_7691)){
|
||||||
|
replaceScenery(node as Scenery, valid_stoves[stoves_with_kettle.indexOf(node.id)], -1)
|
||||||
|
setAttribute(player, kettleBoiled, 0)
|
||||||
|
return@on true
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
sendMessage(player, "You do not have space to do that.")
|
||||||
|
return@on false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -81,7 +81,7 @@ public enum CookableItems {
|
||||||
// bowl foods
|
// bowl foods
|
||||||
BOWL_STEW(2003, 2001, 2005, 25, 117, 68, 392, 68, 392),
|
BOWL_STEW(2003, 2001, 2005, 25, 117, 68, 392, 68, 392),
|
||||||
BOWL_CURRY(2011, 2009, 2013, 60, 280, 38, 332, 38, 332),
|
BOWL_CURRY(2011, 2009, 2013, 60, 280, 38, 332, 38, 332),
|
||||||
BOWL_NETTLE(4239, 4237, 4239, 20, 52, 78, 412, 78, 412),
|
BOWL_NETTLE(4239, 4237, 4239, 20, 53, 78, 412, 78, 412),
|
||||||
BOWL_EGG(7078, 7076, 7090, 13, 50, 0, 0, 90, 438),
|
BOWL_EGG(7078, 7076, 7090, 13, 50, 0, 0, 90, 438),
|
||||||
BOWL_ONION(7084, 1871, 7092, 43, 60, 36, 322, 36, 322),
|
BOWL_ONION(7084, 1871, 7092, 43, 60, 36, 322, 36, 322),
|
||||||
BOWL_MUSHROOM(7082, 7080, 7094, 46, 60, 16, 282, 16, 282),
|
BOWL_MUSHROOM(7082, 7080, 7094, 46, 60, 16, 282, 16, 282),
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@ class CookingRewrite : InteractionListener {
|
||||||
list.add(RAW_BEEF_2132)
|
list.add(RAW_BEEF_2132)
|
||||||
list.add(RAW_BEAR_MEAT_2136)
|
list.add(RAW_BEAR_MEAT_2136)
|
||||||
list.add(SEAWEED_401)
|
list.add(SEAWEED_401)
|
||||||
|
list.add(Items.BOWL_OF_WATER_1921)
|
||||||
RAW_FOODS = list.toIntArray()
|
RAW_FOODS = list.toIntArray()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -79,6 +80,10 @@ class CookingRewrite : InteractionListener {
|
||||||
player.packetDispatch.sendMessage("You need to cook this on a range.")
|
player.packetDispatch.sendMessage("You need to cook this on a range.")
|
||||||
return@onUseWith false
|
return@onUseWith false
|
||||||
}
|
}
|
||||||
|
Items.BOWL_OF_WATER_1921 ->{
|
||||||
|
cook(player, obj, Items.BOWL_OF_WATER_1921, Items.BOWL_OF_HOT_WATER_4456, 1)
|
||||||
|
return@onUseWith true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//cook a standard item
|
//cook a standard item
|
||||||
|
|
|
||||||
166
Server/src/main/content/global/skill/cooking/TeaInteraction.kt
Normal file
166
Server/src/main/content/global/skill/cooking/TeaInteraction.kt
Normal file
|
|
@ -0,0 +1,166 @@
|
||||||
|
package content.global.skill.cooking
|
||||||
|
|
||||||
|
import core.api.*
|
||||||
|
import core.game.interaction.InteractionListener
|
||||||
|
import core.game.node.Node
|
||||||
|
import core.game.node.entity.player.Player
|
||||||
|
import core.game.node.entity.skill.Skills
|
||||||
|
import org.rs09.consts.Items
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This deals with all tea mixtures
|
||||||
|
* cup of tea
|
||||||
|
* nettle tea
|
||||||
|
* nettle water
|
||||||
|
* nettle tea (cup)
|
||||||
|
* poh tea
|
||||||
|
* clay
|
||||||
|
* porcelain
|
||||||
|
* gold trim
|
||||||
|
* Flask
|
||||||
|
*/
|
||||||
|
class TeaInteraction : InteractionListener {
|
||||||
|
private val teaMilkMap = mapOf(
|
||||||
|
Items.NETTLE_TEA_4239 to Items.NETTLE_TEA_4240,
|
||||||
|
Items.CUP_OF_TEA_4242 to Items.CUP_OF_TEA_4243,
|
||||||
|
Items.CUP_OF_TEA_4245 to Items.CUP_OF_TEA_4246,
|
||||||
|
Items.CUP_OF_TEA_7730 to Items.CUP_OF_TEA_7731,
|
||||||
|
Items.CUP_OF_TEA_7733 to Items.CUP_OF_TEA_7734,
|
||||||
|
Items.CUP_OF_TEA_7736 to Items.CUP_OF_TEA_7737,
|
||||||
|
)
|
||||||
|
|
||||||
|
private val teaCupMap = mapOf(
|
||||||
|
Items.NETTLE_TEA_4239 to Items.CUP_OF_TEA_4242,
|
||||||
|
Items.NETTLE_TEA_4240 to Items.CUP_OF_TEA_4243,
|
||||||
|
Items.BOWL_OF_HOT_WATER_4456 to Items.CUP_OF_HOT_WATER_4460
|
||||||
|
)
|
||||||
|
|
||||||
|
// This is specifically for the porcelain cup without a handle for Ghost Ahoy
|
||||||
|
private val teaCupPorcelainMap = mapOf(
|
||||||
|
Items.NETTLE_TEA_4239 to Items.CUP_OF_TEA_4245,
|
||||||
|
Items.NETTLE_TEA_4240 to Items.CUP_OF_TEA_4246
|
||||||
|
)
|
||||||
|
|
||||||
|
private val emptyTeaPot = intArrayOf(
|
||||||
|
Items.TEAPOT_7702,
|
||||||
|
Items.TEAPOT_7714,
|
||||||
|
Items.TEAPOT_7726
|
||||||
|
)
|
||||||
|
|
||||||
|
private val leafTeaPot = intArrayOf(
|
||||||
|
Items.TEAPOT_WITH_LEAVES_7700,
|
||||||
|
Items.TEAPOT_WITH_LEAVES_7712,
|
||||||
|
Items.TEAPOT_WITH_LEAVES_7724
|
||||||
|
)
|
||||||
|
|
||||||
|
private val filledTeaPot = intArrayOf(
|
||||||
|
Items.POT_OF_TEA_4_7692,
|
||||||
|
Items.POT_OF_TEA_3_7694,
|
||||||
|
Items.POT_OF_TEA_2_7696,
|
||||||
|
Items.POT_OF_TEA_1_7698,
|
||||||
|
Items.POT_OF_TEA_4_7704,
|
||||||
|
Items.POT_OF_TEA_3_7706,
|
||||||
|
Items.POT_OF_TEA_2_7708,
|
||||||
|
Items.POT_OF_TEA_1_7710,
|
||||||
|
Items.POT_OF_TEA_4_7716,
|
||||||
|
Items.POT_OF_TEA_3_7718,
|
||||||
|
Items.POT_OF_TEA_2_7720,
|
||||||
|
Items.POT_OF_TEA_1_7722,
|
||||||
|
)
|
||||||
|
|
||||||
|
private val emptyBuilderCup = intArrayOf(
|
||||||
|
Items.EMPTY_CUP_7728,
|
||||||
|
Items.PORCELAIN_CUP_7732,
|
||||||
|
Items.PORCELAIN_CUP_7735
|
||||||
|
)
|
||||||
|
|
||||||
|
override fun defineListeners() {
|
||||||
|
onUseWith(ITEM, teaMilkMap.keys.toIntArray(), Items.BUCKET_OF_MILK_1927){ player, used, with ->
|
||||||
|
if (removeItem(player, used) && removeItem(player, with)){
|
||||||
|
addItem(player, teaMilkMap[used.id]!!)
|
||||||
|
addItem(player, Items.BUCKET_1925)
|
||||||
|
}
|
||||||
|
return@onUseWith true
|
||||||
|
}
|
||||||
|
|
||||||
|
onUseWith(ITEM, teaCupMap.keys.toIntArray(), Items.EMPTY_CUP_1980){ player, used, with ->
|
||||||
|
if (used.id != Items.BOWL_OF_HOT_WATER_4456){
|
||||||
|
if (getDynLevel(player, Skills.COOKING) < 20){
|
||||||
|
sendDialogue(player, "You need a cooking level of 20 to make tea.")
|
||||||
|
return@onUseWith false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (removeItem(player, used) && removeItem(player, with)) {
|
||||||
|
addItem(player, teaCupMap[used.id]!!)
|
||||||
|
addItem(player, Items.BOWL_1923)
|
||||||
|
}
|
||||||
|
return@onUseWith true
|
||||||
|
}
|
||||||
|
|
||||||
|
onUseWith(ITEM, Items.BOWL_OF_WATER_1921, Items.NETTLES_4241) { player, used, with ->
|
||||||
|
if (removeItem(player, used) && removeItem(player, with)){
|
||||||
|
addItem(player, Items.NETTLE_WATER_4237)
|
||||||
|
}
|
||||||
|
return@onUseWith true
|
||||||
|
}
|
||||||
|
|
||||||
|
onUseWith(ITEM, teaCupPorcelainMap.keys.toIntArray(), Items.PORCELAIN_CUP_4244){player, used, with ->
|
||||||
|
if (getDynLevel(player, Skills.COOKING) < 20){
|
||||||
|
sendDialogue(player, "You need a cooking level of 20 to make tea.")
|
||||||
|
return@onUseWith false
|
||||||
|
}
|
||||||
|
|
||||||
|
if(removeItem(player, used) && removeItem(player, with)){
|
||||||
|
addItem(player, teaCupPorcelainMap[used.id]!!)
|
||||||
|
addItem(player, Items.BOWL_1923)
|
||||||
|
}
|
||||||
|
return@onUseWith true
|
||||||
|
}
|
||||||
|
|
||||||
|
onUseWith(ITEM, emptyTeaPot, Items.TEA_LEAVES_7738) { player, used, with ->
|
||||||
|
if (removeItem(player, used) && removeItem(player, with)){
|
||||||
|
addItem(player, used.id - 2)
|
||||||
|
}
|
||||||
|
return@onUseWith true
|
||||||
|
}
|
||||||
|
|
||||||
|
onUseWith(ITEM, leafTeaPot, Items.HOT_KETTLE_7691) { player, used, with ->
|
||||||
|
if (getDynLevel(player, Skills.COOKING) < 20){
|
||||||
|
sendDialogue(player,"You need to be level 20 to make tea.")
|
||||||
|
return@onUseWith false
|
||||||
|
}
|
||||||
|
if (removeItem(player, used) && removeItem(player, with)){
|
||||||
|
addItem(player, Items.KETTLE_7688)
|
||||||
|
addItem(player, used.id - 8)
|
||||||
|
rewardXP(player, Skills.COOKING, 53.0)
|
||||||
|
|
||||||
|
}
|
||||||
|
return@onUseWith true
|
||||||
|
}
|
||||||
|
|
||||||
|
onUseWith(ITEM, filledTeaPot, *emptyBuilderCup) { player, used, with ->
|
||||||
|
return@onUseWith fillBuildersTea(player, used, with)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun fillBuildersTea(player: Player, used: Node, with: Node) : Boolean {
|
||||||
|
if (removeItem(player, used) && removeItem(player, with)){
|
||||||
|
// Thanks tea pot with tea leaves
|
||||||
|
if (used.id + 4 in emptyTeaPot){
|
||||||
|
addItem(player, used.id + 4)
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
addItem(player, used.id + 2)
|
||||||
|
}
|
||||||
|
// Why do these cups have a noted form!
|
||||||
|
if (with.id == Items.EMPTY_CUP_7728){
|
||||||
|
addItem(player, with.id + 2)
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
addItem(player, with.id + 1)
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -39,7 +39,7 @@ public final class DesertZone extends MapZone implements Plugin<Object> {
|
||||||
/**
|
/**
|
||||||
* Represents data of water vessils to dry up.
|
* Represents data of water vessils to dry up.
|
||||||
*/
|
*/
|
||||||
private static final int[][] VESSILS = new int[][] { { 1937, 1935 }, { 1929, 1925 }, { 1921, 1923 }, { 227, 229 } };
|
private static final int[][] VESSILS = new int[][] { { 1937, 1935 }, { 1929, 1925 }, { 1921, 1923 }, { 227, 229 }, { 4458, 1980} };
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents the animation of drinking water.
|
* Represents the animation of drinking water.
|
||||||
|
|
|
||||||
|
|
@ -3,5 +3,6 @@ package core.api
|
||||||
enum class Container {
|
enum class Container {
|
||||||
INVENTORY,
|
INVENTORY,
|
||||||
BANK,
|
BANK,
|
||||||
EQUIPMENT
|
EQUIPMENT,
|
||||||
|
BoB
|
||||||
}
|
}
|
||||||
|
|
@ -341,6 +341,12 @@ fun <T> removeItem(player: Player, item: T, container: Container = Container.INV
|
||||||
Container.INVENTORY -> player.inventory.remove(it)
|
Container.INVENTORY -> player.inventory.remove(it)
|
||||||
Container.BANK -> player.bank.remove(it) || player.bankSecondary.remove(it)
|
Container.BANK -> player.bank.remove(it) || player.bankSecondary.remove(it)
|
||||||
Container.EQUIPMENT -> player.equipment.remove(it)
|
Container.EQUIPMENT -> player.equipment.remove(it)
|
||||||
|
Container.BoB -> {
|
||||||
|
if (player.familiarManager.hasFamiliar() && player.familiarManager.familiar.isBurdenBeast)
|
||||||
|
(player.familiarManager.familiar as BurdenBeast).container.remove(it)
|
||||||
|
else
|
||||||
|
false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -375,6 +381,12 @@ fun addItem(player: Player, id: Int, amount: Int = 1, container: Container = Con
|
||||||
Container.INVENTORY -> player.inventory
|
Container.INVENTORY -> player.inventory
|
||||||
Container.BANK -> player.bank
|
Container.BANK -> player.bank
|
||||||
Container.EQUIPMENT -> player.equipment
|
Container.EQUIPMENT -> player.equipment
|
||||||
|
Container.BoB -> {
|
||||||
|
if(player.familiarManager.hasFamiliar() && player.familiarManager.familiar.isBurdenBeast)
|
||||||
|
(player.familiarManager.familiar as BurdenBeast).container
|
||||||
|
else
|
||||||
|
return false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return cont.add(Item(id, amount))
|
return cont.add(Item(id, amount))
|
||||||
|
|
@ -394,6 +406,7 @@ fun replaceSlot(player: Player, slot: Int, item: Item, currentItem: Item? = null
|
||||||
Container.INVENTORY -> player.inventory
|
Container.INVENTORY -> player.inventory
|
||||||
Container.EQUIPMENT -> player.equipment
|
Container.EQUIPMENT -> player.equipment
|
||||||
Container.BANK -> player.bank
|
Container.BANK -> player.bank
|
||||||
|
Container.BoB -> (player.familiarManager.familiar as BurdenBeast).container
|
||||||
}
|
}
|
||||||
|
|
||||||
if (item.id == 65535 || item.amount <= 0) {
|
if (item.id == 65535 || item.amount <= 0) {
|
||||||
|
|
@ -1684,6 +1697,14 @@ fun <T> removeAll(player: Player, item: T, container: Container = Container.INVE
|
||||||
player.bank.remove(Item(it, amountInPrimary)) && player.bankSecondary.remove(Item(it, amountInSecondary))
|
player.bank.remove(Item(it, amountInPrimary)) && player.bankSecondary.remove(Item(it, amountInSecondary))
|
||||||
}
|
}
|
||||||
Container.INVENTORY -> player.inventory.remove(Item(it, amountInInventory(player, it)))
|
Container.INVENTORY -> player.inventory.remove(Item(it, amountInInventory(player, it)))
|
||||||
|
Container.BoB -> {
|
||||||
|
if (player.familiarManager.hasFamiliar() && player.familiarManager.familiar.isBurdenBeast){
|
||||||
|
val cont = (player.familiarManager.familiar as BurdenBeast).container
|
||||||
|
cont.remove(Item(it, cont.getAmount(it)))
|
||||||
|
}
|
||||||
|
else
|
||||||
|
false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue