using NCMS;
using UnityEngine;
using Cultivation_Way;
using Cultivation_Way.Actions;
using Cultivation_Way.Library;
using Cultivation_Way.Animation;
using System;

namespace CW_Addon_Fantasy_Creatures.Code
{
	[ModEntry]
	public class Addon_Main_Class : CW_Addon
	{
		public override void awake(){
			// 不要在此处添加代码，除非你知道你在做什么
			// DO NOT code here.
			load_mod_info(System.Type.GetType("Mod"));
		}
		public override void initialize(){
			Log("添加奇幻生物");
			// 在这里初始化模组内容
			// Initalize your mod content here
			add_fantasy_creatures();
		}

        private void add_fantasy_creatures()
		{
                                                // ------半人鹿------添加一个id为half_deer_man_id的生物，并加入生物栏，设置其名为"Half Deer Man"交由文本替换，设置其图标为"iconHalf_Deer_Man"
			CW_ActorStats cw_actor_stats = Helper.add_fantasy_creature("half_deer_man_id", "Half Deer Man", "iconHalf_Deer_Man");
			// 该类生物的更多设定，相对东方人族五倍修炼速度
			cw_actor_stats.culti_velo = 5;
			// 原版设定，size设定为熊大小，反应为底下选定光圈
			cw_actor_stats.origin_stats.actorSize = ActorSize.S15_Bear;
                                                cw_actor_stats.origin_stats.defaultWeapons = new System.Collections.Generic.List<string>() { "bow" };
                                                cw_actor_stats.origin_stats.defaultWeaponsMaterial = new System.Collections.Generic.List<string>() { "wood" };
                                                cw_actor_stats.origin_stats.take_items = true;  
                                                cw_actor_stats.origin_stats.traits = new System.Collections.Generic.List<string>(){"regeneration","fast","flower_prints","eagle_eyed", "agile"};
                                                cw_actor_stats.origin_stats.kingdom = "nomads_elf";
                                                cw_actor_stats.origin_stats.inspectAvatarScale /=1.8f;                                              
                                                // ------半人马------添加一个id为centaur_id的生物，并加入生物栏，设置其名为"Centaur"交由文本替换，设置其图标为"iconCentaur"
			cw_actor_stats = Helper.add_fantasy_creature("centaur_id", "Centaur", "iconCentaur");
			// 该类生物的更多设定，相对东方人族五倍修炼速度
			cw_actor_stats.culti_velo = 5;
			// 原版设定，size设定为熊大小，反应为底下选定光圈
			cw_actor_stats.origin_stats.actorSize = ActorSize.S15_Bear;
                                                cw_actor_stats.origin_stats.defaultWeapons = new System.Collections.Generic.List<string>() { "spear" };
                                                cw_actor_stats.origin_stats.defaultWeaponsMaterial = new System.Collections.Generic.List<string>() { "copper" };
                                                cw_actor_stats.origin_stats.take_items = true;
                                                cw_actor_stats.origin_stats.traits = new System.Collections.Generic.List<string>(){"strong","fast","agile","savage","regeneration"};
                                                cw_actor_stats.origin_stats.inspectAvatarScale /=1.8f;     
                                                // ------骨骸骑士------添加一个id为skeleton_knight_id的生物，并加入生物栏，设置其名为"Skeleton Knight"交由文本替换，设置其图标为"iconSkeleton_Knight"
			cw_actor_stats = Helper.add_fantasy_creature("skeleton_knight_id", "Skeleton Knight", "iconSkeleton_Knight");
			// 该类生物的更多设定，相对东方人族五倍修炼速度
			cw_actor_stats.culti_velo = 5;
			// 原版设定，size设定为熊大小，反应为底下选定光圈
			cw_actor_stats.origin_stats.actorSize = ActorSize.S15_Bear;
                                                cw_actor_stats.origin_stats.defaultWeapons = new System.Collections.Generic.List<string>() { "white_staff" };
                                                cw_actor_stats.origin_stats.defaultWeaponsMaterial = new System.Collections.Generic.List<string>() { "base" };
                                                cw_actor_stats.origin_stats.take_items = true;
                                                cw_actor_stats.origin_stats.traits = new System.Collections.Generic.List<string>(){"evil","agile","fast","immortal","regeneration","bloodlust"};
                                                cw_actor_stats.origin_stats.diet_vegetation = false;
                                                cw_actor_stats.origin_stats.diet_berries = false;
                                                cw_actor_stats.origin_stats.diet_flowers = false;
                                                cw_actor_stats.origin_stats.diet_grass = false;
                                                cw_actor_stats.origin_stats.diet_crops = false;
                                                cw_actor_stats.origin_stats.diet_meat_insect = false;
                                                cw_actor_stats.origin_stats.diet_meat_same_race = false;
                                                cw_actor_stats.origin_stats.kingdom = "undead";
                                                cw_actor_stats.origin_stats.job = "skeleton_job";
                                                cw_actor_stats.origin_stats.attack_spells = new System.Collections.Generic.List<string>(){"spawnSkeleton" };
                                                cw_actor_stats.origin_stats.effect_cast_ground = "fx_cast_ground_blue";
                                                cw_actor_stats.origin_stats.effect_cast_top = "fx_cast_top_blue";
                                                cw_actor_stats.origin_stats.inspectAvatarScale /=1.8f;     
                                                // ------骨龙------添加一个id为ossaurus_id的生物，并加入生物栏，设置其名为"Ossaurus"交由文本替换，设置其图标为"iconOssaurus"
			cw_actor_stats = Helper.add_fantasy_creature("ossaurus_id", "Ossaurus", "iconOssaurus");
			// 该类生物的更多设定，相对东方人族五倍修炼速度
			cw_actor_stats.culti_velo = 5;
			// 原版设定，size设定为熊大小，反应为底下选定光圈
			cw_actor_stats.origin_stats.actorSize = ActorSize.S15_Bear;
                                                cw_actor_stats.origin_stats.defaultWeapons = new System.Collections.Generic.List<string>() { "white_staff" };
                                                cw_actor_stats.origin_stats.defaultWeaponsMaterial = new System.Collections.Generic.List<string>() { "base" };
                                                cw_actor_stats.origin_stats.take_items = true;
                                                cw_actor_stats.origin_stats.traits = new System.Collections.Generic.List<string>(){"evil","immortal","regeneration", "strong","greedy","freeze_proof","super_health"};
                                                cw_actor_stats.origin_stats.diet_vegetation = false;
                                                cw_actor_stats.origin_stats.diet_berries = false;
                                                cw_actor_stats.origin_stats.diet_flowers = false;
                                                cw_actor_stats.origin_stats.diet_grass = false;
                                                cw_actor_stats.origin_stats.diet_crops = false;
                                                cw_actor_stats.origin_stats.diet_meat_insect = false;
                                                cw_actor_stats.origin_stats.diet_meat_same_race = false;
                                                cw_actor_stats.origin_stats.kingdom = "undead";
                                                cw_actor_stats.origin_stats.job = "skeleton_job";
                                                cw_actor_stats.origin_stats.baseStats.scale *= 3f;
                                                cw_actor_stats.born_spells.Add("fen_fire");
                                                cw_actor_stats.origin_stats.attack_spells = new System.Collections.Generic.List<string>(){"spawnSkeleton" };
                                                cw_actor_stats.origin_stats.effect_cast_ground = "fx_cast_ground_blue";
                                                cw_actor_stats.origin_stats.effect_cast_top = "fx_cast_top_blue";
                                                cw_actor_stats.origin_stats.inspectAvatarScale /=2f;
                                                // ------斯芬克斯------添加一个id为sphinx_id的生物，并加入生物栏，设置其名为"Sphinx"交由文本替换，设置其图标为"iconSphinx"
			cw_actor_stats = Helper.add_fantasy_creature("sphinx_id", "Sphinx", "iconSphinx");
			// 该类生物的更多设定，相对东方人族五倍修炼速度
			cw_actor_stats.culti_velo = 5;
			// 原版设定，size设定为熊大小，反应为底下选定光圈
			cw_actor_stats.origin_stats.actorSize = ActorSize.S15_Bear;
                                                cw_actor_stats.origin_stats.defaultWeapons = new System.Collections.Generic.List<string>() { "white_staff" };
                                                cw_actor_stats.origin_stats.defaultWeaponsMaterial = new System.Collections.Generic.List<string>() { "base" };
                                                cw_actor_stats.origin_stats.take_items = true;
                                                cw_actor_stats.origin_stats.traits = new System.Collections.Generic.List<string>(){"evil","agile","fast","immortal","regeneration", "strong","super_health"};
                                                cw_actor_stats.origin_stats.diet_vegetation = false;
                                                cw_actor_stats.origin_stats.diet_berries = false;
                                                cw_actor_stats.origin_stats.diet_flowers = false;
                                                cw_actor_stats.origin_stats.diet_grass = false;
                                                cw_actor_stats.origin_stats.diet_crops = false;
                                                cw_actor_stats.origin_stats.diet_meat_insect = false;
                                                cw_actor_stats.origin_stats.diet_meat_same_race = false;
                                                cw_actor_stats.origin_stats.kingdom = "undead";
                                                cw_actor_stats.origin_stats.job = "skeleton_job";
                                                cw_actor_stats.origin_stats.baseStats.scale *= 3f;
                                                cw_actor_stats.born_spells.Add("fen_fire");
                                                cw_actor_stats.origin_stats.attack_spells = new System.Collections.Generic.List<string>(){"spawnSkeleton" };
                                                cw_actor_stats.origin_stats.effect_cast_ground = "fx_cast_ground_blue";
                                                cw_actor_stats.origin_stats.effect_cast_top = "fx_cast_top_blue";
                                                cw_actor_stats.origin_stats.inspectAvatarScale /=2f;
                                                // ------法老------添加一个id为pharaoh_id的生物，并加入生物栏，设置其名为"Pharaoh"交由文本替换，设置其图标为"iconPharaoh"
			cw_actor_stats = Helper.add_fantasy_creature("pharaoh_id", "Pharaoh", "iconPharaoh");
			// 该类生物的更多设定，相对东方人族五倍修炼速度
			cw_actor_stats.culti_velo = 5;
			// 原版设定，size设定为熊大小，反应为底下选定光圈
			cw_actor_stats.origin_stats.actorSize = ActorSize.S15_Bear;
                                                cw_actor_stats.origin_stats.defaultWeapons = new System.Collections.Generic.List<string>() { "white_staff" };
                                                cw_actor_stats.origin_stats.defaultWeaponsMaterial = new System.Collections.Generic.List<string>() { "base" };
                                                cw_actor_stats.origin_stats.take_items = true;
                                                cw_actor_stats.origin_stats.traits = new System.Collections.Generic.List<string>(){"evil","immortal","regeneration", "strong","wise","slow","super_health"};
                                                cw_actor_stats.origin_stats.diet_vegetation = false;
                                                cw_actor_stats.origin_stats.diet_berries = false;
                                                cw_actor_stats.origin_stats.diet_flowers = false;
                                                cw_actor_stats.origin_stats.diet_grass = false;
                                                cw_actor_stats.origin_stats.diet_crops = false;
                                                cw_actor_stats.origin_stats.diet_meat_insect = false;
                                                cw_actor_stats.origin_stats.diet_meat_same_race = false;
                                                cw_actor_stats.origin_stats.kingdom = "undead";
                                                cw_actor_stats.origin_stats.job = "skeleton_job";
                                                cw_actor_stats.origin_stats.baseStats.scale *= 3f;
                                                cw_actor_stats.born_spells.Add("fen_fire");
                                                cw_actor_stats.origin_stats.attack_spells = new System.Collections.Generic.List<string>(){"spawnSkeleton" };
                                                cw_actor_stats.origin_stats.effect_cast_ground = "fx_cast_ground_blue";
                                                cw_actor_stats.origin_stats.effect_cast_top = "fx_cast_top_blue";
                                                cw_actor_stats.origin_stats.inspectAvatarScale /=2f;
                                                // ------吸血鬼------添加一个id为bloodsucker_id的生物，并加入生物栏，设置其名为"Bloodsucker"交由文本替换，设置其图标为"iconBloodsucker"
			cw_actor_stats = Helper.add_fantasy_creature("bloodsucker_id", "Bloodsucker", "iconBloodsucker");
			// 该类生物的更多设定，相对东方人族五倍修炼速度
			cw_actor_stats.culti_velo = 5;
			// 原版设定，size设定为熊大小，反应为底下选定光圈
			cw_actor_stats.origin_stats.actorSize = ActorSize.S15_Bear;
                                                cw_actor_stats.origin_stats.defaultWeapons = new System.Collections.Generic.List<string>() { "sword" };
                                                cw_actor_stats.origin_stats.defaultWeaponsMaterial = new System.Collections.Generic.List<string>() { "iron" };
                                                cw_actor_stats.origin_stats.take_items = true;
                                                cw_actor_stats.origin_stats.traits = new System.Collections.Generic.List<string>(){"evil","agile","fast","immortal","regeneration", "bloodlust","attractive"};
                                                cw_actor_stats.origin_stats.diet_vegetation = false;
                                                cw_actor_stats.origin_stats.diet_berries = false;
                                                cw_actor_stats.origin_stats.diet_flowers = false;
                                                cw_actor_stats.origin_stats.diet_grass = false;
                                                cw_actor_stats.origin_stats.diet_crops = false;
                                                cw_actor_stats.origin_stats.diet_meat_insect = false;
                                                cw_actor_stats.origin_stats.diet_meat_same_race = false;
                                                cw_actor_stats.origin_stats.kingdom = "evil";
                                                // ------吸血鬼猎人------添加一个id为vampire_hunter_id的生物，并加入生物栏，设置其名为"Vampire Hunter"交由文本替换，设置其图标为"iconVampire_Hunter"
			cw_actor_stats = Helper.add_fantasy_creature("vampire_hunter_id", "Vampire Hunter", "iconVampire_Hunter");
			// 该类生物的更多设定，相对东方人族五倍修炼速度
			cw_actor_stats.culti_velo = 5;
			// 原版设定，size设定为熊大小，反应为底下选定光圈
			cw_actor_stats.origin_stats.actorSize = ActorSize.S15_Bear;
                                                cw_actor_stats.origin_stats.defaultWeapons = new System.Collections.Generic.List<string>() { "sword" };
                                                cw_actor_stats.origin_stats.defaultWeaponsMaterial = new System.Collections.Generic.List<string>() { "silver" };
                                                cw_actor_stats.origin_stats.take_items = true;
                                                cw_actor_stats.origin_stats.traits = new System.Collections.Generic.List<string>(){"genius","agile","strong_minded","blessed","tough", "strong","regeneration","fire_proof","eagle_eyed"};
                                                cw_actor_stats.origin_stats.diet_vegetation = false;
                                                cw_actor_stats.origin_stats.diet_berries = false;
                                                cw_actor_stats.origin_stats.diet_flowers = false;
                                                cw_actor_stats.origin_stats.diet_grass = false;
                                                cw_actor_stats.origin_stats.diet_crops = false;
                                                cw_actor_stats.origin_stats.diet_meat_insect = false;
                                                cw_actor_stats.origin_stats.diet_meat_same_race = false;
                                                cw_actor_stats.origin_stats.kingdom = "good";
                                                // ------狼人------添加一个id为werewolf_id的生物，并加入生物栏，设置其名为"Werewolf"交由文本替换，设置其图标为"iconWerewolf"
			cw_actor_stats = Helper.add_fantasy_creature("werewolf_id", "Werewolf", "iconWerewolf");
			// 该类生物的更多设定，相对东方人族五倍修炼速度
			cw_actor_stats.culti_velo = 5;
			// 原版设定，size设定为熊大小，反应为底下选定光圈
			cw_actor_stats.origin_stats.actorSize = ActorSize.S15_Bear;
                                                cw_actor_stats.origin_stats.take_items = true;
                                                cw_actor_stats.origin_stats.traits = new System.Collections.Generic.List<string>(){"evil","strong","tough","regeneration", "fast","eagle_eyed","agile","bloodlust","savage"};
                                                cw_actor_stats.origin_stats.diet_vegetation = false;
                                                cw_actor_stats.origin_stats.diet_berries = false;
                                                cw_actor_stats.origin_stats.diet_flowers = false;
                                                cw_actor_stats.origin_stats.diet_grass = false;
                                                cw_actor_stats.origin_stats.diet_crops = false;
                                                cw_actor_stats.origin_stats.diet_meat_insect = false;
                                                cw_actor_stats.origin_stats.diet_meat_same_race = false;
                                                cw_actor_stats.origin_stats.kingdom = "evil";
			  // ------麒麟------添加一个id为unicorn_id的生物，并加入生物栏，设置其名为"Unicorn"交由文本替换，设置其图标为"iconUnicorn"
			cw_actor_stats = Helper.add_fantasy_creature("unicorn_id", "Unicorn", "iconUnicorn");
			// 该类生物的更多设定，相对东方人族五倍修炼速度
			cw_actor_stats.culti_velo = 5;
			// 原版设定，size设定为熊大小，反应为底下选定光圈
			cw_actor_stats.origin_stats.actorSize = ActorSize.S15_Bear;
                                                cw_actor_stats.origin_stats.traits = new System.Collections.Generic.List<string>(){"shiny","wise","strong_minded","blessed","immortal", "strong","regeneration","attractive","agile","fast"};
                                                cw_actor_stats.origin_stats.inspectAvatarScale /=2f;
                                                // ------玄武------添加一个id为xuanwu_id的生物，并加入生物栏，设置其名为"Xuanwu"交由文本替换，设置其图标为"iconXuanwu"
			cw_actor_stats = Helper.add_fantasy_creature("xuanwu_id", "Xuanwu", "iconXuanwu");
			// 该类生物的更多设定，相对东方人族五倍修炼速度
			cw_actor_stats.culti_velo = 5;
			// 原版设定，size设定为熊大小，反应为底下选定光圈
			cw_actor_stats.origin_stats.actorSize = ActorSize.S15_Bear;
                                                cw_actor_stats.origin_stats.traits = new System.Collections.Generic.List<string>(){"shiny","wise","strong_minded","blessed","immortal", "strong","regeneration","attractive"};
                                                // ------白虎------添加一个id为white_tiger_id的生物，并加入生物栏，设置其名为"White Tiger"交由文本替换，设置其图标为"iconWhite_Tiger"
			cw_actor_stats = Helper.add_fantasy_creature("white_tiger_id", "White Tiger", "iconWhite_Tiger");
			// 该类生物的更多设定，相对东方人族五倍修炼速度
			cw_actor_stats.culti_velo = 5;
			// 原版设定，size设定为熊大小，反应为底下选定光圈
			cw_actor_stats.origin_stats.actorSize = ActorSize.S15_Bear;
                                                cw_actor_stats.origin_stats.traits = new System.Collections.Generic.List<string>(){"shiny","wise","strong_minded","blessed","immortal", "strong","regeneration","attractive","agile","fast"};
                                                // ------幽灵船------添加一个id为ghost_ship_id的生物，并加入生物栏，设置其名为"Ghost Ship"交由文本替换，设置其图标为"iconGhost_Ship"
			cw_actor_stats = Helper.add_fantasy_creature("ghost_ship_id", "Ghost Ship", "iconGhost_Ship");
			// 该类生物的更多设定，相对东方人族五倍修炼速度
			cw_actor_stats.culti_velo = 5;
			// 原版设定，size设定为熊大小，反应为底下选定光圈
			cw_actor_stats.origin_stats.actorSize = ActorSize.S15_Bear;
                                                cw_actor_stats.origin_stats.traits = new System.Collections.Generic.List<string>(){"boat","shiny","wise","strong_minded","blessed","immortal", "strong","regeneration","attractive","agile","fast"};
                                                cw_actor_stats.origin_stats.race="boat";
                                                cw_actor_stats.origin_stats.kingdom = "undead";
												cw_actor_stats.origin_stats.disablePunchAttackAnimation = true;
                                                cw_actor_stats.origin_stats.isBoat = true;
                                                cw_actor_stats.origin_stats.skipFightLogic = false;
                                                cw_actor_stats.origin_stats.prefab = "p_boat";
                                                cw_actor_stats.origin_stats.texture_atlas = UnitTextureAtlasID.Boats;
                                                cw_actor_stats.origin_stats.inspectAvatarScale = 1;
                                                cw_actor_stats.origin_stats.baseStats.scale = 0.25f;
                                                cw_actor_stats.origin_stats.job = "skeleton_job"; // 建议添加全新的职业作为战船的职业
												cw_actor_stats.origin_stats.drawBoatMark = true;
												cw_actor_stats.origin_stats.drawBoatMark_big = true;
												cw_actor_stats.origin_stats.defaultAttack = "shotgun";
												cw_actor_stats.origin_stats.use_items = false;
												cw_actor_stats.origin_stats.take_items = false;
												
                                                cw_actor_stats.origin_stats.oceanCreature = true;
                                                cw_actor_stats.origin_stats.landCreature = true;
                                                cw_actor_stats.origin_stats.dieOnGround = false;
                                                cw_actor_stats.origin_stats.specialAnimation = true;
                                                cw_actor_stats.origin_stats.sprite_group_renderer = true;
                                                cw_actor_stats.origin_stats.path_movement_timeout = 0.1f;

        }
    }
}