started working on fog darkness
This commit is contained in:
124
src/scripts/item.gd
Normal file
124
src/scripts/item.gd
Normal file
@@ -0,0 +1,124 @@
|
||||
class_name Item
|
||||
|
||||
func _init(iDic: Dictionary = {}):
|
||||
if iDic != {}:
|
||||
self.load(iDic)
|
||||
|
||||
enum ItemType {
|
||||
Restoration,
|
||||
Equippable,
|
||||
Throwable,
|
||||
Bomb,
|
||||
}
|
||||
|
||||
# only relevant for equipment
|
||||
enum EquipmentType {
|
||||
NONE,
|
||||
MAINHAND,
|
||||
OFFHAND,
|
||||
HEADGEAR,
|
||||
ARMOUR,
|
||||
BOOTS,
|
||||
ACCESSORY
|
||||
}
|
||||
|
||||
enum WeaponType {
|
||||
NONE,
|
||||
AMMUNITION,
|
||||
BOW,
|
||||
SWORD,
|
||||
AXE,
|
||||
DAGGER,
|
||||
STAFF,
|
||||
SPEAR,
|
||||
MACE
|
||||
}
|
||||
|
||||
var use_function = null
|
||||
|
||||
var item_name: String = "Red Apple"
|
||||
var description: String = "Restores 5 HP"
|
||||
var spritePath: String = "res://assets/gfx/items_n_shit.png"
|
||||
var equipmentPath: String = "res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicRed.png"
|
||||
var colorReplacements: Array = []
|
||||
var spriteFrames:Vector2i = Vector2i(20,14)
|
||||
var spriteFrame:int = 0
|
||||
var modifiers: Dictionary = { "hp": +20 }
|
||||
var duration: float = 0
|
||||
|
||||
var buy_cost: int = 10
|
||||
var sell_worth: int = 3
|
||||
var sellable:bool = true
|
||||
var item_type: ItemType = ItemType.Restoration
|
||||
var equipment_type: EquipmentType = EquipmentType.NONE
|
||||
var weapon_type: WeaponType = WeaponType.NONE
|
||||
var two_handed:bool = false
|
||||
var quantity = 1
|
||||
var can_have_multiple_of:bool = false
|
||||
var weight: float = 1.0 # Item weight for encumbrance system
|
||||
|
||||
func save():
|
||||
var json = {
|
||||
"item_name": item_name,
|
||||
"description": description,
|
||||
"spritePath": spritePath,
|
||||
"equipmentPath": equipmentPath,
|
||||
"spriteFrame": spriteFrame,
|
||||
"modifiers": modifiers,
|
||||
"duration": duration,
|
||||
"buy_cost": buy_cost,
|
||||
"sell_worth": sell_worth,
|
||||
"item_type": item_type,
|
||||
"equipment_type": equipment_type,
|
||||
"weapon_type": weapon_type,
|
||||
"two_handed": two_handed,
|
||||
"quantity": quantity,
|
||||
"can_have_multiple_of": can_have_multiple_of,
|
||||
"weight": weight
|
||||
}
|
||||
return json
|
||||
|
||||
func from_dict(iDic: Dictionary) -> Item:
|
||||
self.load(iDic)
|
||||
return self
|
||||
|
||||
func load(iDic: Dictionary):
|
||||
if iDic.has("item_name"):
|
||||
item_name = iDic.get("item_name")
|
||||
if iDic.has("description"):
|
||||
description = iDic.get("description")
|
||||
if iDic.has("spritePath"):
|
||||
spritePath = iDic.get("spritePath")
|
||||
if iDic.has("equipmentPath"):
|
||||
equipmentPath = iDic.get("equipmentPath")
|
||||
|
||||
#if iDic.has("spriteFrames"):
|
||||
#spriteFrames = iDic.get("spriteFrames")
|
||||
|
||||
if iDic.has("spriteFrame"):
|
||||
spriteFrame = iDic.get("spriteFrame")
|
||||
if iDic.has("modifiers"):
|
||||
modifiers = iDic.get("modifiers")
|
||||
|
||||
if iDic.has("duration"):
|
||||
duration = iDic.get("duration")
|
||||
|
||||
if iDic.has("buy_cost"):
|
||||
buy_cost = iDic.get("buy_cost")
|
||||
if iDic.has("sell_worth"):
|
||||
sell_worth = iDic.get("sell_worth")
|
||||
if iDic.has("item_type"):
|
||||
item_type = iDic.get("item_type")
|
||||
if iDic.has("equipment_type"):
|
||||
equipment_type = iDic.get("equipment_type")
|
||||
if iDic.has("weapon_type"):
|
||||
weapon_type = iDic.get("weapon_type")
|
||||
if iDic.has("two_handed"):
|
||||
two_handed = iDic.get("two_handed")
|
||||
if iDic.has("quantity"):
|
||||
quantity = iDic.get("quantity")
|
||||
if iDic.has("can_have_multiple_of"):
|
||||
can_have_multiple_of = iDic.get("can_have_multiple_of")
|
||||
if iDic.has("weight"):
|
||||
weight = iDic.get("weight")
|
||||
pass
|
||||
Reference in New Issue
Block a user