model研究(二)

AttackRangeType 攻击范围
public static const NEER : int = 0;
public static const FALL : int = 1;
public static const SHOT : int = 2;
-----------------------------------------------
LevelInfo 级别信息
public var totalExperiencePoint : int;
public var parms : Array;
//学习需求等级
public var learnRequestLevel : int;
// //学习花费
// public var learnRequestMoney : int;
//学习需要的物品
public var learnRequestItem : int;
//消耗MP:100
public var useMP : int;
//消耗HP:100
public var useHP : int;
// buffs
public var buffs : Array;
-------------------------------------------------
SkillInfo  技能信息
public var systemId : int; //编号
public var name : String; //名字
public var type : int; //类型
public var descript : String; //描述
public var active : Boolean; //主动 true 被动
public var useConditionInfo : UseConditionInfo;
public var playerClass : int;
public var levelInfos : Array; //每级信息

public var useEffect : String = ""; //使用时特效ID
public var moveEffect : String = ""; //移动时特效ID
public var hitEffect : String = ""; //命中时特效ID
public var rgeEffect : String = ""; //打在地上的特效ID
public var useAction : int; //使用时的动作ID

public var effectType : int;
public var learnRequestMoney : int;

--------------------------------------------------------
UseConditionInfo 使用条件信息
public static const RANGE_TYPE_NEER : int = 0;
public static const RANGE_TYPE_FAR : int = 1;
public static const EFF_POINT : int = 0;
public static const EFF_LINE : int = 1;

public var rangeType : int;
/**
* 是否单体攻击,true 单体, false群攻
*/
public var monomer : Boolean;
public var eff : int;
public var radius : int;
public var affectRadius : int;
public var target : int;
public var targetAt : int;
public var armedType : int;
public var buff : int;
public var notAttackStatus : Boolean;
public var velocity : int;
public var deadTarget : Boolean;
public var notBattle : Boolean;
public var coolDownTime : int;
public var coolDownType : int;
--------------------------------------
AddFavCondition 收藏
----------------------
AtOnceQuestCondition  立即完成任务
-------------------------------------------
BuyPetCondition  购买宠物
-------------------------------------
CollectItemCondition  extends GotoSceneCondition
收集物品条件
public var systemID : int;
override protected function createDescription() : String {
return StringUtils.format("到{0}从[ms={1}][/ms]身上收集[cl=0xFFF100]{2}/{3}[/cl]个{4}", SceneConfig.instance.getSceneName(sceneID), getMonsterStr(), currentAmount, totalAmount, SystemItemInfoManager.instance.getSystemItemInfo(systemID).name);
}
--------------------------------
GotoSceneCondition 切换场景条件
/**
* 需要去的场景id
*/
public var sceneID : int;
/**
* 寻找怪物前先走到某位置再寻怪
*/
public var x : int;

/**
* 场景y坐标
*/
public var y : int;

/**
* 进场景需要物品ID
*/
public var toSceneNeedItemId : int;

/**
* 怪物或物品的系统id,可能有多个
*/
public var items : Vector.<int> = new Vector.<int>();

----------------------------------------
EnterBattleCondition  进入战斗条件

----------------------------------------
EnterGangCondition 进入公会条件
--------------------------------
EnterTrialCondition   extends QuestCondition 进入试炼条件
--------------------------------
GatherItemCondition 采集物品条件
-------------------
GoldShopCondition  商城购买条件
---------------
HasItemCondition    物品条件
----------------------
LevelUpCondition   升级条件
public var level : int;
-----------------------
MakeItemCondition 生产物品条件
-------------------------------------
KillMonsterCondition  杀死怪物条件
---------------------------------------
ItemUpgradeCondition  物品强化条件
-------------------------------------
QuestCondition  任务条件
/**
* 条件类型
*/
public var type : int;

/**
* 总数量
*/
private var _totalAmount : int = 1;

/**
* 完成数量
*/
private var _currentAmount : int;

/**
* 描述
*/
private var _description : String; //救{c}/{t}个春哥,c代表当前数量,t代表总数

---------------------------------
QuestConditionType  任务条件类型

public static const KILL_MONSTER : int = 1; //打怪
public static const USE_ITEM : int = 2; //使用物品
public static const AT_ONCE : int = 3; //对话
public static const COLLECT_ITEM : int = 4; //收集打怪物品
public static const HAS_ITEM : int = 5; //是否有物品
public static const SKILL_LEVEL : int = 6; //技能
public static const DUMMY : int = 7; //穿衣服
public static const ITEM_UPGRADE : int = 8; //装备升级
public static const GATHER_ITEM : int = 9; //收集物品
public static const VISIT_NPC : int = 11; //拜访npc
public static const LEVEL_UP : int = 12; //升级
public static const BUY_PET : int = 13; //招募战将
public static const ENTER_TRIAL : int = 14; //进入试炼(并完成第一轮)
public static const OPEN_STALL : int = 15; //摆摊
public static const ENTER_GANG : int = 16; //属于一个公会
public static const ENTER_BATTLE : int = 17; //进入战场
public static const MERGE_GEM : int = 18; //宝石合成
public static const APPRAISAL : int = 19; //装备鉴定
public static const ACTIVATION : int = 20; //装备激活
public static const MAKE_ITEM : int = 21; //生活,生产,打造
public static const GOLD_SHOP : int = 22; //商城购买物品
public static const WISH : int = 23; //许愿
public static const ADD_FAV : int = 24; //添加收藏夹
------------------------------------------------------

QuestAwardNumInfo 任务奖励数量信息
/**
* 类型
*/
public var type : int;
/**
* 数量
*/
public var value : int;
-------------------------------
QuestAwardItemInfo  任务奖励物品信息
/**
*
*/
public var id : int;
/**
*
*/
public var amount : int;

/**
* 根据id来获得物品信息
* 这个只是用于显示任务奖励的物品,并非真正的用户物品,请勿用于其他目的
*/
public function getItem() : ItemInfo {
return ItemInfoFactory.createItemInfo({"sp_id": id, "amount": amount});
}
----------------------------------------
OpenStallCondition   打开摆摊条件
override protected function createDescription() : String {
return "完成一次摆摊";
}
--------------------------------------------
VisitNPCCondition  访问npc条件
public var npcID : int;
override protected function createDescription() : String {
return StringUtils.format("将信件送给[np={0}][/np]", npcID);
}
---------------------------------------------
UseItemCondition   使用物品条件
/**
* 物品的系统id
*/
public var systemID : int;

------------------------------------------------
WishCondition 许愿条件
---------------------------------
TeacherQuestInfo   教学任务条件
override public function initialize() : void {
if (awardNums.length == 0)
awardNums.push(new TeacherQuestExpAwardNumInfo());
}
//第N次任务经验等于  玩 家等级*玩家等级*7*(1+(N-1)*5%)
var level : int = Hero.instance.heroAttribute.level;
value = level * level * 7 * (1 + (QuestType.TYPE_TEACHER.count - 1) * 0.05)
---------------------------------------
SyntheticGemCondition 宝石合成条件
------------------------------------------
SkillLevelCondition   技能条件
* 技能id
*/
public var skillID : int;

/**
* 技能等级
*/
public var level : int;
-----------------------------------
QuestType 任务类型
public static const TYPE_MAIN : QuestType = new QuestType(MAIN, MAIN_NAME, MAIN_SHORT_NAME);
public static const TYPE_BRANCH : QuestType = new QuestType(BRANCH, BRANCH_NAME, BRANCH_SHORT_NAME);
public static const TYPE_PARTY : QuestType = new QuestType(PARTY, PARTY_NAME, PARTY_SHORT_NAME, 10);
public static const TYPE_OTHER : QuestType = new QuestType(OTHER, OTHER_NAME, OTHER_SHORT_NAME);
public static const TYPE_ACTIVITY : QuestType = new QuestType(ACTIVITY, ACTIVITY_NAME, ACTIVITY_SHORT_NAME);
public static const TYPE_TEACHER : QuestType = new QuestType(TEACHER, TEACHER_NAME, TEACHER_SHORT_NAME, 20);

public static const MAIN : int = 1; //主线任务
public static const BRANCH : int = 2; //支线任务
public static const PARTY : int = 3; //帮会任务
public static const OTHER : int = 4; //其他任务
public static const ACTIVITY : int = 5; //活动任务
public static const TEACHER : int = 6; //师门任务

public static const MAIN_NAME : String = "主线任务";
public static const BRANCH_NAME : String = "支线任务";
public static const PARTY_NAME : String = "帮会任务";
public static const OTHER_NAME : String = "其他任务";
public static const TEACHER_NAME : String = "师门任务";
public static const ACTIVITY_NAME : String = "活动任务";

public static const MAIN_SHORT_NAME : String = "主线";
public static const BRANCH_SHORT_NAME : String = "支线";
public static const PARTY_SHORT_NAME : String = "帮会";
public static const TEACHER_SHORT_NAME : String = "师门";
public static const ACTIVITY_SHORT_NAME : String = "活动";
public static const OTHER_SHORT_NAME : String = "其他"
-----------------------------------
QuestInfo 任务信息
public static const STATE_NONE : int = 0;
public static const STATE_ACCEPTABLE : int = 1;
public static const STATE_RECEIVED : int = 2;
public static const STATE_FINISHED : int = 3;
public static const STATE_FAIL : int = 4;
/**
* 奖励物品
*/
public var awardItems : Vector.<QuestAwardItemInfo>;
/**
* 奖励金钱等
*/
public var awardNums : Vector.<QuestAwardNumInfo>;
/**
* 任务条件
*/
public var conditions : Vector.<QuestCondition>;

/**
* 完成后显示的内容
*/
private var _finishDesc : String = "";

/**
* 任务是否可追踪,默认可追踪
*/
public var needTrack : Boolean = true;

/**
* 任务描述
*/
public var content : String;
/**
* 任务标题
*/
public var title : String;
/**
* 任务类型
*/
public var type : int;
/**
* 任务id
*/
public var id : int;

/**
* 该任务所在npc
*/
public var npc : int;

/**
* 交还任务的npc
*/
public var finishNPC : int = -1;

/**
* 能否放弃
*/
public var canAbandon : Boolean = true;
-------------------------------------
QuestFactory 任务工厂
public static function createCondition(arr : Array) : QuestCondition {
switch (arr[0]) {
case QuestConditionType.KILL_MONSTER:
return new KillMonsterCondition(arr);
case QuestConditionType.USE_ITEM:
return new UseItemCondition(arr);
case QuestConditionType.AT_ONCE:
return new AtOnceQuestCondition(arr);
case QuestConditionType.COLLECT_ITEM:
return new CollectItemCondition(arr);
case QuestConditionType.HAS_ITEM:
。。。。。。。

猜你喜欢

转载自ilovezhurong.iteye.com/blog/1386016