Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- �サソ waken <- false;
- interval <- 0;
- function setup(){
- setNearDistance(4.0); // 霑題キ晞屬
- setFarDistance(15.0); // 驕�霍晞屬
- setFirstMode(modeWatchOut);
- }
- function modeWatchOut(){
- if( waken){
- turn(); // 荳�蠎ヲ隕夐�偵@縺溘Δ繝ウ繧ケ繧ソ繝シ縺ッ谺。縺九i縺ッ縺薙%繧帝�壹k縲�
- }else{
- watchOut(rndi(5)%3);
- }
- waken = true; // 縺薙%縺ァ隕夐��
- changeMode(modeFirst);
- }
- function modeFirst(){
- setIntervalTime()
- local mode = 0;
- if(getHPP() < 0.5)
- mode = 1;
- // 霑代>
- if( checkNear(getShortRange()) ){
- useSkill_s(mode);
- // 驕�縺�
- }else if( checkNear(getLongRange()) ){
- useSkill_l(mode)
- }else{
- useSkill_ll(mode);
- }
- local _time = rndir(interval / 2,interval);
- if( checkNear(getShortRange())){
- if(rndb(0.333))
- useSkill("s_step_b"); // 繝舌ャ繧ッ繧ケ繝�繝�繝�
- else
- useStepAttack(mode);
- // sleepAI(_time);
- }else if( checkNear(getLongRange()) ){
- spacing({near=getShortRange(),far=getLongRange(),run=true});
- waitAttackInterrupt(nearOrInTimeChecker(getShortRange(), _time));
- }else if(rndb(0.5)){
- spacing({near=getShortRange(),far=getLongRange(),run=true});
- waitAttackInterrupt(nearOrInTimeChecker(getShortRange(), _time));
- }else{
- while(!checkNear(getShortRange())){
- turn();
- useSkill("s_step_f");// 繝輔Ο繝ウ繝医せ繝�繝�繝�
- }
- }
- turn();
- }
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /**
- * 霑題キ晞屬謾サ謦�
- */
- function useSkill_s(mode = 0){
- if( rndb(0.25) ){
- turn();
- switch(mode){
- case 0:useSkill("s_diving1");break;
- case 1:useSkill("s_attr_diving1");break;
- }
- return;
- }
- combo(mode);
- }
- /**
- * 驕�霍晞屬謾サ謦�
- */
- function useSkill_l(mode = 0){
- turn();
- if( checkNear(getLongRange()) && rndb()){
- switch(mode){
- case 0:useSkill("s_diving2");break;
- case 1:useSkill("s_attr_diving2");break;
- }
- return;
- }
- useStepAttack(mode);
- }
- /**
- * 驕�驕�霍晞屬謾サ謦�
- */
- function useSkill_ll(mode = 0){
- turn();
- switch(mode){
- case 0:useSkill("s_diving3");break;
- case 1:useSkill("s_attr_diving3");break;
- }
- }
- /**
- *
- */
- function useStepAttack(mode){
- // 遘サ蜍輔→謾サ謦�縺ァ繝壹い
- turn();
- local i = rndi(3) + 3
- if(rndb())
- useSkill("s_step_r");
- else
- useSkill("s_step_l");
- turn();
- while(i--){
- if(checkNear(getShortRange()))
- break;
- if(rndb()){
- addDir(-0.4);
- useSkill("s_step_r");
- }else{
- addDir( 0.4);
- useSkill("s_step_l");
- }
- if(checkNear(getShortRange()))
- break;
- turn();
- }
- turn();
- // finish
- useSkill("s1_tear_fin1");
- }
- /**
- * 繧ウ繝ウ繝�
- * @param combo int 繧ウ繝ウ繝懃カ咏カ壼屓謨ー
- */
- function combo(mode){
- local _combo = rndi(3)
- while(_combo--){
- if(!isTargetToHead() && checkNear(getShortRange()))
- break;
- useSkill("s1_tear2");
- if(!isTargetToHead() && checkNear(getShortRange()))
- break;
- useSkill("s1_tear1");
- }
- if(isTargetToHead() && checkNear(getShortRange()))
- useSkill("s1_tear_fin1");
- }
- /**
- * 繝代Ρ繝シ繧「繝�繝�
- * @param mode int 繝「繝シ繝�
- */
- function powerUp(mode=0){
- if( !checkCT("s0_roar") ){
- turn();
- switch(mode){
- case 0: return;;
- case 1: useSkill("s0_roar"); setCT({name="s0_roar", ct=45000}); break;
- }
- }
- }
- function setIntervalTime(){
- switch(getDifficulty()){
- case 0:interval = ( 700 + getHPP() * 3000).tointeger();break;
- case 1:interval = ( 600 + getHPP() * 2000).tointeger();break;
- case 2:
- default:interval = ( 500 + getHPP() * 1000).tointeger();break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement