Dusk lycanrok evo script

Dusk lycanrok evo script 1

its just a litte edit to the time script and note the sprite i have provided is not mine


Go and find "PField_Time" in you scripts and replace it with this
Code:
#===============================================================================
# Day and night system
#===============================================================================
def pbGetTimeNow
  return Time.now
end



module PBDayNight
  HourlyTones=[
     Tone.new(-142.5,-142.5,-22.5,68),     # Midnight
     Tone.new(-135.5,-135.5,-24,  68),
     Tone.new(-127.5,-127.5,-25.5,68),
     Tone.new(-127.5,-127.5,-25.5,68),
     Tone.new(-119,  -96.3, -45.3,45.3),
     Tone.new(-51,   -73.7, -73.7,22.7),
     Tone.new(17,    -51,   -102, 0),      # 6AM
     Tone.new(14.2,  -42.5, -85,  0),
     Tone.new(11.3,  -34,   -68,  0),
     Tone.new(8.5,   -25.5, -51,  0),
     Tone.new(5.7,   -17,   -34,  0),
     Tone.new(2.8,   -8.5,  -17,  0),
     Tone.new(0,     0,     0,    0),      # Noon
     Tone.new(0,     0,     0,    0),
     Tone.new(0,     0,     0,    0),
     Tone.new(0,     0,     0,    0),
     Tone.new(-3,    -7,    -2,   0),
     Tone.new(-10,   -18,   -5,   0),
     Tone.new(-36,   -75,   -13,  0),      # 6PM
     Tone.new(-72,   -136,  -34,  3),
     Tone.new(-88.5, -133,  -31,  34),
     Tone.new(-108.5,-129,  -28,  68),
     Tone.new(-127.5,-127.5,-25.5,68),
     Tone.new(-142.5,-142.5,-22.5,68)
  ]
  @cachedTone=nil
  @dayNightToneLastUpdate=nil
  @oneOverSixty=1/60.0

# Returns true if it's day.
  def self.isDay?(time=nil)
    time=pbGetTimeNow if !time
    return (time.hour>=6 && time.hour<18)
  end

# Returns true if it's night.
  def self.isNight?(time=nil)
    time=pbGetTimeNow if !time
    return (time.hour>=19 || time.hour<6)
  end
 
# Returns true if it's morning.
  def self.isMorning?(time=nil)
    time=pbGetTimeNow if !time
    return (time.hour>=6 && time.hour<12)
  end

# Returns true if it's the afternoon.
  def self.isAfternoon?(time=nil)
    time=pbGetTimeNow if !time
    return (time.hour>=12 && time.hour<17)
  end

# Returns true if it's the evening.
  def self.isEvening?(time=nil)
    time=pbGetTimeNow if !time
    return (time.hour>=17 && time.hour<20)
  end

# Returns true if it's dusk.
  def self.isDusk?(time=nil)
    time=pbGetTimeNow if !time
    return (time.hour>=18 && time.hour<19)
  end
 
# Gets a number representing the amount of daylight (0=full night, 255=full day).
  def self.getShade
    time=pbGetDayNightMinutes
    time=(24*60)-time if time>(12*60)
    shade=255*time/(12*60)
  end

# Gets a Tone object representing a suggested shading
# tone for the current time of day.
  def self.getTone()
    @cachedTone=Tone.new(0,0,0) if !@cachedTone
    return @cachedTone if !ENABLESHADING
    if !@dayNightToneLastUpdate || @dayNightToneLastUpdate!=Graphics.frame_count       
      getToneInternal()
      @dayNightToneLastUpdate=Graphics.frame_count
    end
    return @cachedTone
  end

  def self.pbGetDayNightMinutes
    now=pbGetTimeNow   # Get the current in-game time
    return (now.hour*60)+now.min
  end

  private

# Internal function

  def self.getToneInternal()
    # Calculates the tone for the current frame, used for day/night effects
    realMinutes=pbGetDayNightMinutes
    hour=realMinutes/60
    minute=realMinutes%60
    tone=PBDayNight::HourlyTones[hour]
    nexthourtone=PBDayNight::HourlyTones[(hour+1)%24]
    # Calculate current tint according to current and next hour's tint and
    # depending on current minute
    @cachedTone.red=((nexthourtone.red-tone.red)*minute*@oneOverSixty)+tone.red
    @cachedTone.green=((nexthourtone.green-tone.green)*minute*@oneOverSixty)+tone.green
    @cachedTone.blue=((nexthourtone.blue-tone.blue)*minute*@oneOverSixty)+tone.blue
    @cachedTone.gray=((nexthourtone.gray-tone.gray)*minute*@oneOverSixty)+tone.gray
  end
end



def pbDayNightTint(object)
  if !$scene.is_a?(Scene_Map)
    return
  else
    if ENABLESHADING && $game_map && pbGetMetadata($game_map.map_id,MetadataOutdoor)
      tone=PBDayNight.getTone()
      object.tone.set(tone.red,tone.green,tone.blue,tone.gray)
    else
      object.tone.set(0,0,0,0) 
    end
  end 
end



#===============================================================================
# Moon phases and Zodiac
#===============================================================================
# Calculates the phase of the moon.
# 0 - New Moon
# 1 - Waxing Crescent
# 2 - First Quarter
# 3 - Waxing Gibbous
# 4 - Full Moon
# 5 - Waning Gibbous
# 6 - Last Quarter
# 7 - Waning Crescent
def moonphase(time=nil) # in UTC
  time=pbGetTimeNow if !time
  transitions=[
     1.8456618033125,
     5.5369854099375,
     9.2283090165625,
     12.9196326231875,
     16.6109562298125,
     20.3022798364375,
     23.9936034430625,
     27.6849270496875]
  yy=time.year-((12-time.mon)/10.0).floor
  j=(365.25*(4712+yy)).floor + (((time.mon+9)%12)*30.6+0.5).floor + time.day+59
  j-=(((yy/100.0)+49).floor*0.75).floor-38 if j>2299160
  j+=(((time.hour*60)+time.min*60)+time.sec)/86400.0
  v=(j-2451550.1)/29.530588853
  v=((v-v.floor)+(v<0 ? 1 : 0))
  ag=v*29.53
  for i in 0...transitions.length
    return i if ag<=transitions[i]
  end
  return 0
end

# Calculates the zodiac sign based on the given month and day:
# 0 is Aries, 11 is Pisces. Month is 1 if January, and so on.
def zodiac(month,day)
  time=[
     3,21,4,19,   # Aries
     4,20,5,20,   # Taurus
     5,21,6,20,   # Gemini
     6,21,7,20,   # Cancer
     7,23,8,22,   # Leo
     8,23,9,22,   # Virgo
     9,23,10,22,  # Libra
     10,23,11,21, # Scorpio
     11,22,12,21, # Sagittarius
     12,22,1,19,  # Capricorn
     1,20,2,18,   # Aquarius
     2,19,3,20    # Pisces
  ]
  for i in 0...12
    return i if month==time[i*4] && day>=time[i*4+1]
    return i if month==time[i*4+2] && day<=time[i*4+2]
  end
  return 0
end
 
# Returns the opposite of the given zodiac sign.
# 0 is Aries, 11 is Pisces.
def zodiacOpposite(sign)
  return (sign+6)%12
end

# 0 is Aries, 11 is Pisces.
def zodiacPartners(sign)
  return [(sign+4)%12,(sign+8)%12]
end

# 0 is Aries, 11 is Pisces.
def zodiacComplements(sign)
  return [(sign+1)%12,(sign+11)%12]
end

#===============================================================================
# Days of the week
#===============================================================================
def pbIsWeekday(wdayVariable,*arg)
  timenow=pbGetTimeNow
  wday=timenow.wday
  ret=false
  for wd in arg
    ret=true if wd==wday
  end
  if wdayVariable>0
    $game_variables[wdayVariable]=[
       _INTL("Sunday"),
       _INTL("Monday"),
       _INTL("Tuesday"),
       _INTL("Wednesday"),
       _INTL("Thursday"),
       _INTL("Friday"),
       _INTL("Saturday")][wday]
    $game_map.need_refresh = true if $game_map
  end
  return ret
end

#===============================================================================
# Months
#===============================================================================
def pbIsMonth(monVariable,*arg)
  timenow=pbGetTimeNow
  thismon=timenow.mon
  ret=false
  for wd in arg
    ret=true if wd==thismon
  end
  if monVariable>0
    $game_variables[monVariable]=[
       _INTL("January"),
       _INTL("February"),
       _INTL("March"),
       _INTL("April"),
       _INTL("May"),
       _INTL("June"),
       _INTL("July"),
       _INTL("August"),
       _INTL("September"),
       _INTL("October"),
       _INTL("November"),
       _INTL("December")][thismon-1]
    $game_map.need_refresh = true if $game_map
  end
  return ret
end

def pbGetAbbrevMonthName(month)
  return ["",
          _INTL("Jan."),
          _INTL("Feb."),
          _INTL("Mar."),
          _INTL("Apr."),
          _INTL("May"),
          _INTL("Jun."),
          _INTL("Jul."),
          _INTL("Aug."),
          _INTL("Sep."),
          _INTL("Oct."),
          _INTL("Nov."),
          _INTL("Dec.")][month]
end

#===============================================================================
# Seasons
#===============================================================================
def pbGetSeason
  return (pbGetTimeNow.mon-1)%4
end

def pbIsSeason(seasonVariable,*arg)
  thisseason=pbGetSeason
  ret=false
  for wd in arg
    ret=true if wd==thisseason
  end
  if seasonVariable>0
    $game_variables[seasonVariable]=[
       _INTL("Spring"),
       _INTL("Summer"),
       _INTL("Autumn"),
       _INTL("Winter")][thisseason]
    $game_map.need_refresh = true if $game_map
  end
  return ret
end

def pbIsSpring; return pbIsSeason(0,0); end # Jan, May, Sep
def pbIsSummer; return pbIsSeason(0,1); end # Feb, Jun, Oct
def pbIsAutumn; return pbIsSeason(0,2); end # Mar, Jul, Nov
def pbIsFall; return pbIsAutumn; end
def pbIsWinter; return pbIsSeason(0,3); end # Apr, Aug, Dec

def pbGetSeasonName(season)
  return [_INTL("Spring"),
          _INTL("Summer"),
          _INTL("Autumn"),
          _INTL("Winter")][season]
end
Now go to
"Pokemon_MultipleForm" and add this to the end of it

Code:
MultipleForms.register(:ROCKRUFF,{
"getForm"=>proc{|pokemon|
   if PBDayNight.isDay?
     next 0
   else
   if PBDayNight.isNight?
     next 1
   else
   if PBDayNight.isDusk?
     next 2
   end
 end
end
}
})

MultipleForms.register(:LYCANROC,{ # Lycanroc Day and Night and dusk.
"getBaseStats"=>proc{|pokemon|
   case pokemon.form
   when 1; next [85,115,75,82,55,75]
   when 2; next [75,117,65,55,65,110]
   else;   next
  end
},
"getAbilityList"=>proc{|pokemon|
   case pokemon.form
   when 1; next [[getID(PBAbilities,:KEENEYE),0]]     # MIDNIGHT
           next [[getID(PBAbilities,:VITALSPIRIT),1]] # MIDNIGHT
   when 2; next [[getID(PBAbilities,:TOUGHCLAWS),0]] # DUSK
   else;   next
  end
},
"height"=>proc{|pokemon|
   next if pokemon.form==0
   next 1.1
},
"getMoveList"=>proc{|pokemon|
   next if pokemon.form==0
   movelist=[]
   case pokemon.form
   when 1; movelist=[[1,:COUNTER],[1,:REVERSAL],[1,:TAUNT],[1,:TACKLE],[1,:LEER],
                     [4,:SANDATTACK],[7,:BITE],[12,:HOWL],[15,:ROCKTHROW],
                     [18,:ODORSLEUTH],[23,:ROCKTOMB],[26,:ROAR],[29,:STEALTHROCK],
                     [34,:ROCKSLIDE],[37,:SCARYFACE],[40,:CRUNCH],[45,:ROCKCLIMB],
                     [48,:STONEEDGE]]
   when 2; movelist=[[1,:THRASH],[1,:ACCELEROCK],[1,:COUNTER],[1,:TACKLE],[1,:LEER],
                     [1,:SANDATTACK],[1,:BITE],[4,:SANDATTACK],[7,:BITE],
                     [12,:HOWL],[15,:ROCKATTACK],[18,:ODORSLEUTH],[23,:ROCKTOMB],
                     [26,:ROAR],[29,:STEALTHROCK],[34,:ROCKSLIDE],[37,:SCARYFACE],
                     [40,:CRUNCH],[45,:ROCKCLIMB],[48,:STONEEDGE]]
   end
   for i in movelist
     i[1]=getConst(PBMoves,i[1])
   end
   next movelist
},
"getMoveCompatibility"=>proc{|pokemon|
   next if pokemon.form==0
   movelist=[]
   case pokemon.form
   when 1; movelist=[# TMs
                     :TOXIC,:VENOSHOCK,:HIDDENPOWER,:SUNNYDAY,:HYPERBEAM,
                     :PROTECT,:RAINDANCE,:SAFEGUARD,:FRUSTRATION,:EARTHQUAKE,
                     :RETURN,:DIG,:PSYCHIC,:SHADOWBALL,:DOUBLETEAM,
                     :SANDSTORM,:ROCKTOMB,:FACADE,:REST,:ATTRACT,
                     :THIEF,:ROUND,:GIGAIMPACT,:FLASH,:STRUGGLEBUG,
                     :PSYCHUP,:BULLDOZE,:DREAMEATER,:SWAGGER,:SUBSTITUTE,
                     # Move Tutors
                     :BUGBITE,:EARTHPOWER,:ELECTROWEB,:ENDEAVOR,:MUDSLAP,
                     :SIGNALBEAM,:SKILLSWAP,:SLEEPTALK,:SNORE,:STEALTHROCK,
                     :STRINGSHOT,:SUCKERPUNCH,:UPROAR]
   when 2; movelist=[# TMs
                     :TOXIC,:VENOSHOCK,:HIDDENPOWER,:SUNNYDAY,:HYPERBEAM,
                     :PROTECT,:RAINDANCE,:SAFEGUARD,:FRUSTRATION,:RETURN,
                     :PSYCHIC,:SHADOWBALL,:DOUBLETEAM,:FACADE,:REST,
                     :ATTRACT,:THIEF,:ROUND,:GIGAIMPACT,:FLASH,
                     :GYROBALL,:STRUGGLEBUG,:PSYCHUP,:DREAMEATER,:SWAGGER,
                     :SUBSTITUTE,:FLASHCANNON,
                     # Move Tutors
                     :BUGBITE,:ELECTROWEB,:ENDEAVOR,:GUNKSHOT,:IRONDEFENSE,
                     :IRONHEAD,:MAGNETRISE,:SIGNALBEAM,:SKILLSWAP,:SLEEPTALK,
                     :SNORE,:STEALTHROCK,:STRINGSHOT,:SUCKERPUNCH,:UPROAR]
                       end
   for i in 0...movelist.length
     movelist[i]=getConst(PBMoves,movelist[i])
   end
   next movelist
},                   
"dexEntry"=>proc{|pokemon|
   next if pokemon.form==0
   next _INTL("The more intimidating the opponent it faces, the more this Pokémon's blood boils. It will disregard its own safety.")
   next _INTL("The more intimidating the opponent it faces, the more this Pokémon's blood boils. It will disregard its own safety.")
} 
})

(some things like the movelist"tms and move tutors" and pokedex entry for dusk
needs to be tweaked)


here are some dusk lycanrok sprites

745b_2.png
745_2.png





and then add the Graphics and when your rokruff evoles between 6and7 pm it will be dusk you can also change that by tweking the time script
Credits
Dusk Sprites by:
Leparagon
Amethyst

Scripts by: Ash2louis
Likes: sprout
Author
Ash2louis
Downloads
52
First release
Last update
Rating
0.00 star(s) 0 ratings

Latest updates

  1. a littel fix

    i had mad some mistake in the script for u who know how to edit scripts i hoop you could do it...
Top