Separated normal remove_head and hat keys/flags

This commit is contained in:
Ceikry 2021-03-15 17:26:39 -05:00
parent 30576b9eb4
commit 3ebd9c2614
3 changed files with 22 additions and 16 deletions

View file

@ -28531,7 +28531,7 @@
"ge_buy_limit": "2", "ge_buy_limit": "2",
"archery_ticket_price": "0", "archery_ticket_price": "0",
"durability": null, "durability": null,
"remove_head": true "hat": true
}, },
{ {
"id": "2634", "id": "2634",
@ -28555,7 +28555,7 @@
"ge_buy_limit": "2", "ge_buy_limit": "2",
"archery_ticket_price": "0", "archery_ticket_price": "0",
"durability": null, "durability": null,
"remove_head": true "hat": true
}, },
{ {
"id": "2636", "id": "2636",
@ -28579,7 +28579,7 @@
"ge_buy_limit": "2", "ge_buy_limit": "2",
"archery_ticket_price": "0", "archery_ticket_price": "0",
"durability": null, "durability": null,
"remove_head": true "hat": true
}, },
{ {
"id": "2638", "id": "2638",
@ -28603,7 +28603,7 @@
"ge_buy_limit": "2", "ge_buy_limit": "2",
"archery_ticket_price": "0", "archery_ticket_price": "0",
"durability": null, "durability": null,
"remove_head": true "hat": true
}, },
{ {
"id": "2640", "id": "2640",
@ -28627,7 +28627,7 @@
"ge_buy_limit": "2", "ge_buy_limit": "2",
"archery_ticket_price": "0", "archery_ticket_price": "0",
"durability": null, "durability": null,
"remove_head": true "hat": true
}, },
{ {
"id": "2642", "id": "2642",
@ -28651,7 +28651,7 @@
"ge_buy_limit": "2", "ge_buy_limit": "2",
"archery_ticket_price": "0", "archery_ticket_price": "0",
"durability": null, "durability": null,
"remove_head": true "hat": true
}, },
{ {
"id": "2644", "id": "2644",
@ -61923,7 +61923,7 @@
"ge_buy_limit": "100", "ge_buy_limit": "100",
"archery_ticket_price": "0", "archery_ticket_price": "0",
"durability": null, "durability": null,
"remove_head": true "hat": true
}, },
{ {
"id": "6383", "id": "6383",
@ -97042,7 +97042,7 @@
"equipment_slot": "0", "equipment_slot": "0",
"archery_ticket_price": "0", "archery_ticket_price": "0",
"durability": null, "durability": null,
"remove_head": true "hat": true
}, },
{ {
"id": "10694", "id": "10694",
@ -97056,7 +97056,7 @@
"equipment_slot": "0", "equipment_slot": "0",
"archery_ticket_price": "0", "archery_ticket_price": "0",
"durability": null, "durability": null,
"remove_head": true "hat": true
}, },
{ {
"id": "10695", "id": "10695",
@ -97070,7 +97070,7 @@
"equipment_slot": "0", "equipment_slot": "0",
"archery_ticket_price": "0", "archery_ticket_price": "0",
"durability": null, "durability": null,
"remove_head": true "hat": true
}, },
{ {
"id": "10696", "id": "10696",
@ -128312,7 +128312,7 @@
"bonuses": "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0", "bonuses": "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0",
"archery_ticket_price": "0", "archery_ticket_price": "0",
"durability": null, "durability": null,
"remove_head": true "hat": true
}, },
{ {
"id": "13812", "id": "13812",
@ -128329,7 +128329,7 @@
"bonuses": "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0", "bonuses": "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0",
"archery_ticket_price": "0", "archery_ticket_price": "0",
"durability": null, "durability": null,
"remove_head": true "hat": true
}, },
{ {
"id": "13813", "id": "13813",
@ -128346,7 +128346,7 @@
"bonuses": "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0", "bonuses": "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0",
"archery_ticket_price": "0", "archery_ticket_price": "0",
"durability": null, "durability": null,
"remove_head": true "hat": true
}, },
{ {
"id": "13814", "id": "13814",

View file

@ -303,10 +303,13 @@ public final class Appearance {
drawClothes(7, getLegs().getLook()); drawClothes(7, getLegs().getLook());
} }
if ((hat != null && hat.getDefinition().getConfiguration(ItemConfigParser.REMOVE_HEAD, false)) || castleWarsHood) { if ((hat != null && hat.getDefinition().getConfiguration(ItemConfigParser.REMOVE_HEAD, false)) || castleWarsHood) {
flagHatClipping(); clearBodyPart(8);
} else { } else {
drawClothes(8, getHair().getLook()); drawClothes(8, getHair().getLook());
} }
if((hat != null && hat.getDefinition().getConfiguration(ItemConfigParser.IS_HAT,false))){
flagHatClipping();
}
if (hands != null) { if (hands != null) {
drawItem(9, hands); drawItem(9, hands);
} else { } else {

View file

@ -1,14 +1,14 @@
package rs09.game.system.config package rs09.game.system.config
import rs09.ServerConstants
import core.cache.def.impl.ItemDefinition import core.cache.def.impl.ItemDefinition
import core.game.node.entity.impl.Animator import core.game.node.entity.impl.Animator
import core.game.node.entity.player.link.audio.Audio import core.game.node.entity.player.link.audio.Audio
import rs09.game.system.SystemLogger
import core.game.world.update.flag.context.Animation import core.game.world.update.flag.context.Animation
import org.json.simple.JSONArray import org.json.simple.JSONArray
import org.json.simple.JSONObject import org.json.simple.JSONObject
import org.json.simple.parser.JSONParser import org.json.simple.parser.JSONParser
import rs09.ServerConstants
import rs09.game.system.SystemLogger
import java.io.FileReader import java.io.FileReader
class ItemConfigParser { class ItemConfigParser {
@ -93,6 +93,8 @@ class ItemConfigParser {
*/ */
const val REMOVE_HEAD = "remove_head" const val REMOVE_HEAD = "remove_head"
const val IS_HAT = "hat"
/** /**
* The remove beard item configuration key. * The remove beard item configuration key.
*/ */
@ -256,6 +258,7 @@ class ItemConfigParser {
"remove_sleeves", "remove_sleeves",
"remove_beard", "remove_beard",
"remove_head", "remove_head",
"hat",
"destroy", "destroy",
"lendable", "lendable",
"tradeable" -> configs.put(it.key.toString(),it.value.toString().toBoolean()) "tradeable" -> configs.put(it.key.toString(),it.value.toString().toBoolean())