package com.rpsg.rpg.object.item;
import com.badlogic.gdx.utils.JsonValue;
/**
* GDX-RPG “可使用”的道具,他继承了{@link BaseItem},而{@link Spellcard}和{@link Item}继承了他,相比普通的{@link BaseItem}物品,他具有“可被使用的”能力。<br>
* 他存储了一些基本“可使用”的信息,如使用的{@link ItemForward 目标}、{@link ItemRange 范围}等信息,也拥有一个{@link Effect 效果变量},用来存储道具被使用后的数值操作。
* */
public class UseableItem extends EffectableItem{
private static final long serialVersionUID = 1L;
/**道具/符卡指向*/
public ItemForward forward = ItemForward.friend;
/**道具/符卡使用范围*/
public ItemRange range = ItemRange.one;
/**道具/符卡使用场景**/
public ItemOccasion occasion = ItemOccasion.all;
/**道具/符卡是否可以给死亡的人使用**/
public ItemDeadable deadable = ItemDeadable.no;
/**道具/符卡使用时播放的动画**/
public int animation = 0;
/**道具/符卡延迟值*/
public int delay = 0;
public UseableItem(Integer id, JsonValue value) {
super(id, value);
forward = value.has("forward") ? ItemForward.valueOf(value.getString("forward")) : ItemForward.friend;
range = value.has("range") ? ItemRange.valueOf(value.getString("range")) : ItemRange.one;
occasion = value.has("occasion") ? ItemOccasion.valueOf(value.getString("occasion")) : ItemOccasion.all;
animation = value.has("animation") ? value.getInt("animation") : 0;
deadable = value.has("deadable") ? ItemDeadable.valueOf(value.getString("deadable")) : ItemDeadable.no;
delay = value.has("delay") ? value.getInt("delay") : 0;
}
}